If I pass packet.arr that still doesn't work. I don't get an Error
message but tcpdump says:

19:16:26.829891 IP truncated-ip - 730 bytes missing!
130.127.39.173.58832 > 130.127.39.235.ssh: P
2569410772:2569411564(792) ack 3106665167 win 12 <nop,nop,timestamp
10172901 47037426>

Also adding that +str(self.type) their doesn't seem to print out the
type at that point.


00132|pyrt|ERR:unable to invoke a Python event handler:
Traceback (most recent call last):
  File "./nox/lib/util.py", line 113, in f
    event.total_len, buffer_id, packet)
  File "./nox/coreapps/examples/aaronswitch.py", line 182, in packet_in_callback
    self.forward(dpid, inport, packet, packet.arr, bufid)
  File "./nox/coreapps/examples/aaronswitch.py", line 67, in forward
    self.send_openflow_packet(dpid,
packet.tostring(),openflow.OFPP_FLOOD , inport)
  File "./nox/lib/packet/packet_base.py", line 114, in tostring
    return ''.join((buf, self.next.tostring()))
  File "./nox/lib/packet/packet_base.py", line 114, in tostring
    return ''.join((buf, self.next.tostring()))
  File "./nox/lib/packet/packet_base.py", line 109, in tostring
    buf = self.hdr()
  File "./nox/lib/packet/tcp.py", line 215, in hdr
    packet += option.to_bytes()
  File "./nox/lib/packet/tcp.py", line 78, in to_bytes
    self.msg('(tcp_opt to_bytes) warning, unknown option') + str(self.type)
AttributeError: tcp_opt instance has no attribute 'msg'



On Tue, Mar 1, 2011 at 6:48 PM, James "Murphy" McCauley <[email protected]> wrote:
> Yeah, that's a bug too.
>
> Change line 78 in tcp.py to like...
> print '(tcp_opt to_bytes) warning, unknown option type ' +
> str(self.type)
>
> .. I'd actually be interested in knowing which option it is, because
> maybe we should be handling it.
>
> You could also probably pass packet.arr instead of packet.tostring()
> which would get around the fact that the parsing library has not been
> extensively tested for packet assembly (mostly it's used for parsing).
>
> -- Murphy
>
> On Tue, 2011-03-01 at 18:21 -0500, Aaron Rosen wrote:
>> Oh Nox is also telling me this:
>>
>> Traceback (most recent call last):
>>   File "./nox/lib/util.py", line 113, in f
>>     event.total_len, buffer_id, packet)
>>   File "./nox/coreapps/examples/aaronswitch.py", line 182, in
>> packet_in_callback
>>     self.forward(dpid, inport, packet, packet.arr, bufid)
>>   File "./nox/coreapps/examples/aaronswitch.py", line 67, in forward
>>     self.send_openflow_packet(dpid,
>> packet.tostring(),openflow.OFPP_FLOOD , inport)
>>   File "./nox/lib/packet/packet_base.py", line 114, in tostring
>>     return ''.join((buf, self.next.tostring()))
>>   File "./nox/lib/packet/packet_base.py", line 114, in tostring
>>     return ''.join((buf, self.next.tostring()))
>>   File "./nox/lib/packet/packet_base.py", line 109, in tostring
>>     buf = self.hdr()
>>   File "./nox/lib/packet/tcp.py", line 215, in hdr
>>     packet += option.to_bytes()
>>   File "./nox/lib/packet/tcp.py", line 78, in to_bytes
>>     self.msg('(tcp_opt to_bytes) warning, unknown option')
>> AttributeError: tcp_opt instance has no attribute 'msg'
>>
>>
>>
>>
>> On Tue, Mar 1, 2011 at 6:18 PM, Aaron Rosen <[email protected]>
>> wrote:
>>         Thanks Murphy that fixes the typeerror but I'm still not sure
>>         if the packets are correct because I'm not able to make a
>>         connection. In Wireshark for this ssh packet_in's it's saying
>>         "This frame is a suspected retransmission" and in tcpdump at
>>         the host that is getting these packets its saying:
>>
>>
>>         18:13:48.227362 IP truncated-ip - 730 bytes missing!
>>         130.127.39.173.59276 > 130.127.39.235.ssh: P 40:832(792) ack
>>         33 win 12 <nop,nop,timestamp 9797038 46103242>
>>
>>
>>         Thanks,
>>
>>         Aaron
>>
>>
>>
>>
>>         On Tue, Mar 1, 2011 at 5:39 PM, James "Murphy" McCauley
>>         <[email protected]> wrote:
>>                 Looks like the problem is in the parsing.  Here's a
>>                 patch:
>>
>>                 --- a/src/nox/lib/packet/tcp.py
>>                 +++ b/src/nox/lib/packet/tcp.py
>>                 @@ -150,7 +150,7 @@ class tcp(packet_base):
>>                             elif arr[i] == tcp_opt.MSS:
>>                                 if arr[i+1] != 4:
>>                                     raise Exception()
>>                 -                val = struct.unpack('!H',arr[i+2:i
>>                 +4])
>>                 +                val = struct.unpack('!H',arr[i+2:i
>>                 +4])[0]
>>
>>                 self.options.append(tcp_opt(tcp_opt.MSS,val))
>>                             elif arr[i] == tcp_opt.WSOPT:
>>                                 if arr[i+1] != 3:
>>
>>                 -- Murphy
>>
>>
>>                 On Tue, 2011-03-01 at 17:29 -0500, Aaron Rosen wrote:
>>                 > Hi Murphy,
>>                 >
>>                 > I'm just trying to connect to a computer using ssh
>>                  so when I do ssh
>>                 > 130.127.39.235 I see these typeerror messages. I do
>>                 not to anything
>>                 > with the packet when it gets to the controller
>>                 except tell it to
>>                 > flood.
>>                 >
>>                 > The MSS of these packets are 1460 in the packet_in
>>                 event.
>>                 >
>>                 > Any idea?
>>                 >
>>                 > Thanks,
>>                 >
>>                 > Aaron
>>                 >
>>                 >
>>                 > On Tue, Mar 1, 2011 at 3:51 PM, James "Murphy"
>>                 McCauley
>>                 > <[email protected]> wrote:
>>                 >         You're not doing anything wrong here.  You
>>                 seem to be doing
>>                 >         something
>>                 >         wrong elsewhere.  Specifically, you seem to
>>                 have constructed
>>                 >         an MSS TCP
>>                 >         option with a tuple as its value, when the
>>                 value should be
>>                 >         some sort of
>>                 >         integer.
>>                 >
>>                 >         -- Murphy
>>                 >
>>                 >
>>                 >         On Tue, 2011-03-01 at 15:22 -0500, Aaron
>>                 Rosen wrote:
>>                 >         > Hello I was wondering if someone could
>>                 explain where I'm
>>                 >         going wrong
>>                 >         > here:
>>                 >         > I'm receiving a packet and then trying to
>>                 send it back out
>>                 >         with
>>                 >         >
>>                 >         > self.send_openflow_packet(dpid,
>>                 >         > packet.tostring(),openflow.OFPP_FLOOD ,
>>                 inport)
>>                 >         >
>>                 >         > When I do this I'm getting the following
>>                 exception:
>>                 >         >
>>                 >         > 00290|pyrt|ERR:unable to invoke a Python
>>                 event handler:
>>                 >         > Traceback (most recent call last):
>>                 >         >   File "./nox/lib/util.py", line 113, in f
>>                 >         >     event.total_len, buffer_id, packet)
>>                 >         >   File
>>                 "./nox/coreapps/examples/aaronswitch.py", line 177,
>>                 >         in
>>                 >         > packet_in_callback
>>                 >         >     self.forward(dpid, inport, packet,
>>                 packet.arr, bufid)
>>                 >         >   File
>>                 "./nox/coreapps/examples/aaronswitch.py", line 96, in
>>                 >         forward
>>                 >         >     self.send_openflow_packet(dpid,
>>                 >         > packet.tostring(),openflow.OFPP_FLOOD ,
>>                 inport)
>>                 >         >   File "./nox/lib/packet/packet_base.py",
>>                 line 114, in
>>                 >         tostring
>>                 >         >     return ''.join((buf,
>>                 self.next.tostring()))
>>                 >         >   File "./nox/lib/packet/packet_base.py",
>>                 line 114, in
>>                 >         tostring
>>                 >         >     return ''.join((buf,
>>                 self.next.tostring()))
>>                 >         >   File "./nox/lib/packet/packet_base.py",
>>                 line 109, in
>>                 >         tostring
>>                 >         >     buf = self.hdr()
>>                 >         >   File "./nox/lib/packet/tcp.py", line
>>                 215, in hdr
>>                 >         >     packet += option.to_bytes()
>>                 >         >   File "./nox/lib/packet/tcp.py", line 70,
>>                 in to_bytes
>>                 >         >     return struct.pack('!
>>                 BBH',self.type,4,self.val)
>>                 >         > TypeError: unsupported operand type(s) for
>>                 &: 'tuple' and
>>                 >         'long'
>>                 >         >
>>                 >         > Thanks,
>>                 >         >
>>                 >         > Aaron
>>                 >         >
>>                 >         >
>>                 >         > --
>>                 >         > Aaron O. Rosen
>>                 >         > Masters Student - Network Communication
>>                 >         > 306B Fluor Daniel
>>                 >         > 843.425.9777
>>                 >         >
>>                 >
>>                 >         >
>>                 _______________________________________________
>>                 >         > nox-dev mailing list
>>                 >         > [email protected]
>>                 >         >
>>                 http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
>>                 >
>>                 >
>>                 >
>>                 >
>>                 >
>>                 > --
>>                 > Aaron O. Rosen
>>                 > Masters Student - Network Communication
>>                 > 306B Fluor Daniel
>>                 > 843.425.9777
>>                 >
>>
>>
>>
>>
>>
>>
>>
>>         --
>>
>>         Aaron O. Rosen
>>         Masters Student - Network Communication
>>         306B Fluor Daniel
>>         843.425.9777
>>
>>
>>
>>
>>
>> --
>> Aaron O. Rosen
>> Masters Student - Network Communication
>> 306B Fluor Daniel
>> 843.425.9777
>>
>
>
>



-- 
Aaron O. Rosen
Masters Student - Network Communication
306B Fluor Daniel
843.425.9777

_______________________________________________
nox-dev mailing list
[email protected]
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org

Reply via email to