frenetic-lang / pyretic

The Pyretic language and runtime system
http://frenetic-lang.org/pyretic/
159 stars 99 forks source link

monitor_packets.py #8

Closed monsanto closed 11 years ago

monsanto commented 11 years ago
Traceback (most recent call last):
  File "/media/sf_pox/pox/lib/revent/revent.py", line 233, in raiseEventNoErrors
    return self.raiseEvent(event, *args, **kw)
  File "/media/sf_pox/pox/lib/revent/revent.py", line 280, in raiseEvent
    rv = event._invoke(handler, *args, **kw)
  File "/media/sf_pox/pox/lib/revent/revent.py", line 158, in _invoke
    return handler(self, *args, **kw)
  File "/home/mininet/pyretic/frenetic/pox_backend.py", line 209, in _handle_PacketIn
    bucket.signal(pkt)
  File "/home/mininet/pyretic/frenetic/generators.py", line 49, in signal
    listener(item)
  File "/home/mininet/pyretic/frenetic/network.py", line 629, in inc
    pred = match([(field,pkt[field]) for field in self.group_by])
  File "/home/mininet/pyretic/frenetic/network.py", line 215, in __getitem__
    raise KeyError
KeyError
joshreich commented 11 years ago

Ah, I'd guess this happened b/c some packet didn't have one of the specified group_by fields (e.g., dstport was in group_by but the packet was ICMP). I'll add some error-handling code for this situation.

Can you let me know what mininet setup, controller program, and input you were using?

On Jan 18, 2013, at 11:42 PM, Christopher Monsanto notifications@github.com wrote:

Traceback (most recent call last): File "/media/sf_pox/pox/lib/revent/revent.py", line 233, in raiseEventNoErrors return self.raiseEvent(event, _args, _kw) File "/media/sf_pox/pox/lib/revent/revent.py", line 280, in raiseEvent rv = event._invoke(handler, _args, _kw) File "/media/sf_pox/pox/lib/revent/revent.py", line 158, in invoke return handler(self, _args, *_kw) File "/home/mininet/pyretic/frenetic/pox_backend.py", line 209, in _handle_PacketIn bucket.signal(pkt) File "/home/mininet/pyretic/frenetic/generators.py", line 49, in signal listener(item) File "/home/mininet/pyretic/frenetic/network.py", line 629, in inc pred = match([(field,pkt[field]) for field in self.group_by]) File "/home/mininet/pyretic/frenetic/network.py", line 215, in _getitem raise KeyError KeyError

— Reply to this email directly or view it on GitHub.

joshreich commented 11 years ago

should be fixed now.