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