You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If host_tracker receives a packet_in from an unknown host, it raises an event without the host's IP address. The packet_in handler will eventually call updateIPInfo, but that method won't raise a new event. If (dpid,inport,packet.src) never changes, host_tracker listeners will never learn the host's IP address.
I don't think this is a really serious issue because other pox components don't seem to need IP addresses, but external modules (like the one i'm currently writing) might like to use this information.
The correct fix is probably more complex, but here is a one-line-long workaround:
diff --git a/pox/host_tracker/host_tracker.py b/pox/host_tracker/host_tracker.py
index f7fd60c..87dad77 100644
--- a/pox/host_tracker/host_tracker.py
+++ b/pox/host_tracker/host_tracker.py
@@ -309,6 +309,7 @@ class host_tracker (EventMixin):
ipEntry = IpEntry(hasARP)
macEntry.ipAddrs[pckt_srcip] = ipEntry
log.info("Learned %s got IP %s", str(macEntry), str(pckt_srcip) )
+ self.raiseEventNoErrors(HostEvent, macEntry, move=True)
if hasARP:
ipEntry.pings.received()
If host_tracker receives a packet_in from an unknown host, it raises an event without the host's IP address. The packet_in handler will eventually call updateIPInfo, but that method won't raise a new event. If (dpid,inport,packet.src) never changes, host_tracker listeners will never learn the host's IP address.
I don't think this is a really serious issue because other pox components don't seem to need IP addresses, but external modules (like the one i'm currently writing) might like to use this information.
The correct fix is probably more complex, but here is a one-line-long workaround:
(I think this issue is independent of #125)
The text was updated successfully, but these errors were encountered: