diff --git a/hb_router.py b/hb_router.py index df3266f..3f87f4a 100755 --- a/hb_router.py +++ b/hb_router.py @@ -88,20 +88,17 @@ class routerMASTER(HBMASTER): _target = rule['DST_NET'] if _target in RULES['MASTERS']: _tmp_data = _data - _tmp_data = _tmp_data.replace(_radio_id, CONFIG['MASTERS'][_target]['RADIO_ID']) - for _client in CONFIG['MASTERS'][_target]._clients: - if _client != _radio_id: - masters[_target].send_packet(_client, _tmp_data) - logger.debug('(%s) Packet bridged to client: %s', self._master, _target) + masters[_target].send_clients(_client, _tmp_data) + logger.debug('(%s) Packet routed to master instance: %s', self._master, _target) elif _target in RULES['CLIENTS']: _tmp_data = _data _tmp_data = _tmp_data.replace(_radio_id, CONFIG['CLIENTS'][_target]['RADIO_ID']) clients[_target].send_packet(_tmp_data) - logger.debug('(%s) Packet bridged to master: %s', self._master, _target) + logger.debug('(%s) Packet routed to client instance: %s', self._master, _target) else: - print('no luck') + logger.debug('(%s) Packet router found no target for packet. Destination was: %s on target network %s', self._master, _dst_id, _target) continue @@ -112,20 +109,17 @@ class routerCLIENT(HBCLIENT): _target = rule['DST_NET'] if _target in RULES['MASTERS']: _tmp_data = _data - #_tmp_data = _tmp_data.replace(_radio_id, CONFIG['MASTERS'][_target]['RADIO_ID']) - for _client in CONFIG['MASTERS'][_target]['CLIENTS']: - if _client != _radio_id: - masters[_target].send_packet(_client, _tmp_data) - logger.debug('(%s) Packet bridged to client: %s', self._client, _target) + masters[_target].send_packet(_client, _tmp_data) + logger.debug('(%s) Packet routed to master instance: %s', self._client, _target) elif _target in RULES['CLIENTS']: _tmp_data = _data _tmp_data = _tmp_data.replace(_radio_id, CONFIG['CLIENTS'][_target]['RADIO_ID']) clients[_target].send_packet(_tmp_data) - logger.debug('(%s) Packet bridged to master: %s', self._client, _target) + logger.debug('(%s) Packet routed to client instance: %s', self._client, _target) else: - print('no luck') + logger.debug('(%s) Packet router found no target for packet. Destination was: %s on target network %s', self._client, _dst_id, _target) continue #************************************************ diff --git a/hblink.py b/hblink.py index c787eee..f417b1c 100755 --- a/hblink.py +++ b/hblink.py @@ -188,6 +188,13 @@ class HBMASTER(DatagramProtocol): # Remove any timed out clients from the configuration del CONFIG['MASTERS'][self._master]['CLIENTS'][client] + def send_clients(self, _packet): + for _client in self._clients: + #add destiantion re-writer here split _data and insert target client radio_id at: _data[11:15] + _tmp_data = _data[:11] + _client + _data[15:] + self.send_packet(_client, _data) + logger.debug('(%s) Packet sent to all connected clients', self._master) + def send_packet(self, _client, _packet): _ip = self._clients[_client]['IP'] _port = self._clients[_client]['PORT']