<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><div><div>On May 19, 2013, at 2:57 AM, chenli wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>Thanks again for your kindly clarifying.</div><div><br></div><div>But sometimes I got error message when I delete flows from controller using the <span style="background-color:rgb(255,255,255);font-family:Arial,Helvetica,FreeSans,sans-serif;font-size:13.333333015441895px;line-height:17.33333396911621px">OFPFC_DELETE </span><span style="font-size:13.333333015441895px;background-color:rgb(255,255,255);font-family:Arial,Helvetica,FreeSans,sans-serif;line-height:17.33333396911621px">in </span><font face="Arial, Helvetica, FreeSans, sans-serif"><span style="line-height:17.33333396911621px">ofp_flow_mod object</span></font> like below:</div>
<div><br></div><div><div>Exception while handling Connection!PacketIn...</div><div><br></div><div>Traceback (most recent call last):</div><div>  File "/pox/pox/lib/revent/revent.py", line 233, in raiseEventNoErrors</div>
<div>    return self.raiseEvent(event, *args, **kw)</div><div>  File "/pox/pox/lib/revent/revent.py", line 280, in raiseEvent</div><div>    rv = event._invoke(handler, *args, **kw)</div><div>  File "/pox/pox/lib/revent/revent.py", line 158, in _invoke</div>
<div>    return handler(self, *args, **kw)</div><div>  File "/pox/pox/forwarding/test_wayne2.py", line 97, in _handle_PacketIn</div><div>    packet = event.parse()</div><div>  File "/pox/pox/openflow/__init__.py", line 162, in parse</div>
<div>    self._parsed = ethernet(self.data)</div><div>  File "/pox/pox/lib/packet/ethernet.py", line 102, in __init__</div><div>    self.parse(raw)</div><div>  File "/pox/pox/lib/packet/ethernet.py", line 124, in parse</div>
<div>    self.next = ethernet.type_parsers[self.type](raw[ethernet.MIN_LEN:], self)</div><div>  File "/pox/pox/lib/packet/ipv4.py", line 96, in __init__</div><div>    self.parse(raw)</div><div>  File "/pox/pox/lib/packet/ipv4.py", line 153, in parse</div>
<div>    self.next = udp(raw=raw[self.hl*4:length], prev=self)</div><div>  File "/pox/pox/lib/packet/udp.py", line 70, in __init__</div><div>    self.parse(raw)</div><div>  File "/pox/pox/lib/packet/udp.py", line 100, in parse</div>
<div>    self.next = dhcp(raw=raw[udp.MIN_LEN:],prev=self)</div><div>  File "/pox/pox/lib/packet/dhcp.py", line 135, in __init__</div><div>    self.parse(raw)</div><div>  File "/pox/pox/lib/packet/dhcp.py", line 205, in parse</div>
<div>    self.parseOptions()</div><div>  File "/pox/pox/lib/packet/dhcp.py", line 215, in parseOptions</div><div>    (opt_val[0],))</div><div>TypeError: %u format: a number is required, not str</div></div><div><br>
</div><div>Did this error caused by the interlaced time between packet come to controller and delete flows from controller?</div></blockquote><br></div></div><div>Your POX code is more than three months out of date and the DHCP code has changed significantly since then.</div><div>I propose that you using a more up to date version of the POX code is a better usage of everyone's time than me tracking down problems that might not have existed since February.</div><div><br></div><div>If you continue to run into problems with the up to date code, please let me know!</div><div><br></div><div>-- Murphy</div></body></html>