def indication(self, adapter, npdu): if isinstance(npdu, IAmRouterToNetwork): if isinstance(self._request, WhoIsRouterToNetwork): address, netlist = str(npdu.pduSource), npdu.iartnNetworkList self._log.info("{} router to {}".format(address, netlist)) self._iartn.append(address) self._routing_table[address] = netlist for each in npdu.iartnNetworkList: self._learnedNetworks.add(int(each)) elif isinstance(npdu, InitializeRoutingTableAck): self._log.info("{} routing table".format(npdu.pduSource)) for rte in npdu.irtaTable: self._log.info(" {} {} {}".format(rte.rtDNET, rte.rtPortID, rte.rtPortInfo)) elif isinstance(npdu, NetworkNumberIs): self._log.info("{} network number is {}".format( npdu.pduSource, npdu.nniNet)) self._learnedNetworks.add(int(npdu.nniNet)) elif isinstance(npdu, RejectMessageToNetwork): self._log.warning( "{} Rejected message to network (reason : {})".format( npdu.pduSource, rejectMessageToNetworkReasons[npdu.rmtnRejectionReason], )) # forward it along NetworkServiceElement.indication(self, adapter, npdu)
def indication(self, adapter, npdu): if _debug: DiscoverNetworkServiceElement._debug("indication %r %r", adapter, npdu) if isinstance(npdu, IAmRouterToNetwork): if interactive: print("{} router to {}".format(npdu.pduSource, npdu.iartnNetworkList)) elif isinstance(npdu, InitializeRoutingTableAck): if interactive: print("{} routing table".format(npdu.pduSource)) for rte in npdu.irtaTable: print(" {} {} {}".format(rte.rtDNET, rte.rtPortID, rte.rtPortInfo)) elif isinstance(npdu, NetworkNumberIs): if interactive: print("{} network number is {}".format(npdu.pduSource, npdu.nniNet)) # forward it along NetworkServiceElement.indication(self, adapter, npdu)