Forgot to say that I confirmed that Ryu can connect to OVS via OF1.3, add flows, and get packet_in. Seems OVS OF1.3 support works.
On Sat, 1 Dec 2012 00:16:59 +0900 FUJITA Tomonori <[email protected]> wrote: > > Signed-off-by: FUJITA Tomonori <[email protected]> > --- > ryu/ofproto/ofproto_v1_3.py | 4 ++-- > ryu/ofproto/ofproto_v1_3_parser.py | 13 +++++++++++-- > 2 files changed, 13 insertions(+), 4 deletions(-) > > diff --git a/ryu/ofproto/ofproto_v1_3.py b/ryu/ofproto/ofproto_v1_3.py > index ec54ef8..e2869df 100644 > --- a/ryu/ofproto/ofproto_v1_3.py > +++ b/ryu/ofproto/ofproto_v1_3.py > @@ -763,10 +763,10 @@ assert (calcsize(OFP_ASYNC_CONFIG_PACK_STR) + > OFP_HEADER_SIZE == > OFP_ASYNC_CONFIG_SIZE) > > # struct ofp_packet_in > -OFP_PACKET_IN_PACK_STR = '!IHBBQ' + _OFP_MATCH_PACK_STR > +OFP_PACKET_IN_PACK_STR = '!IHBBQ' > OFP_PACKET_IN_SIZE = 32 > OFP_PACKET_IN_DATA_OFFSET = 18 > -assert (calcsize(OFP_PACKET_IN_PACK_STR) + OFP_HEADER_SIZE == > +assert (calcsize(OFP_PACKET_IN_PACK_STR) + OFP_MATCH_SIZE + OFP_HEADER_SIZE > == > OFP_PACKET_IN_SIZE) > > # enum ofp_packet_in_reason > diff --git a/ryu/ofproto/ofproto_v1_3_parser.py > b/ryu/ofproto/ofproto_v1_3_parser.py > index 1499ce9..db31dea 100644 > --- a/ryu/ofproto/ofproto_v1_3_parser.py > +++ b/ryu/ofproto/ofproto_v1_3_parser.py > @@ -1286,8 +1286,17 @@ class OFPPacketIn(MsgBase): > ofproto_v1_3.OFP_PACKET_IN_PACK_STR, > msg.buf, ofproto_v1_3.OFP_HEADER_SIZE) > > - offset = ofproto_v1_3.OFP_HEADER_SIZE + > ofproto_v1_3.OFP_PACKET_IN_SIZE > - msg.match = OFPMatch.parser(buf, offset - > ofproto_v1_3.OFP_MATCH_SIZE) > + msg.match = OFPMatch.parser(msg.buf, ofproto_v1_3.OFP_PACKET_IN_SIZE > - > + ofproto_v1_3.OFP_MATCH_SIZE) > + > + match_len = utils.round_up(msg.match.length, 8) > + msg.data = msg.buf[(ofproto_v1_3.OFP_PACKET_IN_SIZE - > + ofproto_v1_3.OFP_MATCH_SIZE + match_len + 2):] > + > + if msg.total_len < len(msg.data): > + # discard padding for 8-byte alignment of OFP packet > + msg.data = msg.data[:msg.total_len] > + > return msg > > > -- > 1.7.4.4 > > > ------------------------------------------------------------------------------ > Keep yourself connected to Go Parallel: > TUNE You got it built. Now make it sing. Tune shows you how. > http://goparallel.sourceforge.net > _______________________________________________ > Ryu-devel mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/ryu-devel ------------------------------------------------------------------------------ Keep yourself connected to Go Parallel: TUNE You got it built. Now make it sing. Tune shows you how. http://goparallel.sourceforge.net _______________________________________________ Ryu-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ryu-devel
