|
|
|
@ -4,6 +4,8 @@ from pickle import loads |
|
|
|
from pid.decorator import pidfile |
|
|
|
import socket |
|
|
|
import django |
|
|
|
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "djing.settings") |
|
|
|
from mydefs import LogicError |
|
|
|
|
|
|
|
|
|
|
|
''' |
|
|
|
@ -18,19 +20,23 @@ obj = { |
|
|
|
|
|
|
|
|
|
|
|
def on_new_data(client_sock, ip): |
|
|
|
data = client_sock.recv(16384) |
|
|
|
data = loads(data) |
|
|
|
action = data['cmd'] |
|
|
|
if action == 'commit': |
|
|
|
dhcp_commit( |
|
|
|
data['client_ip'], data['client_mac'], |
|
|
|
data['switch_mac'], data['switch_port'] |
|
|
|
) |
|
|
|
elif action == 'expiry': |
|
|
|
dhcp_expiry(data['client_ip']) |
|
|
|
elif action == 'release': |
|
|
|
dhcp_release(data['client_ip']) |
|
|
|
client_sock.close() |
|
|
|
try: |
|
|
|
data = client_sock.recv(16384) |
|
|
|
data = loads(data) |
|
|
|
action = data['cmd'] |
|
|
|
if action == 'commit': |
|
|
|
dhcp_commit( |
|
|
|
data['client_ip'], data['client_mac'], |
|
|
|
data['switch_mac'], data['switch_port'] |
|
|
|
) |
|
|
|
elif action == 'expiry': |
|
|
|
dhcp_expiry(data['client_ip']) |
|
|
|
elif action == 'release': |
|
|
|
dhcp_release(data['client_ip']) |
|
|
|
except LogicError as e: |
|
|
|
print('LogicError', e) |
|
|
|
finally: |
|
|
|
client_sock.close() |
|
|
|
|
|
|
|
|
|
|
|
@pidfile(pidname='queue_mngr.py.pid', piddir='/run') |
|
|
|
|