This is the match structure embedded in the pcap.  It is 48 bytes long.
I've added spaces and line numbers to allow for commentary:

    1. 0001 002b
    2. 80000806 fa163ed9fbfd
    3. 80000a02 0800
    4. 80001401 06
    5. 80001908 00000000ffffff00
    6. 00001504 014d0000
    7. 000000

Line 1 is an ofp_match_header.  0001 means OXM, 002b means that the
match is 0x2b (43) bytes long.  Because a match structure is always a
multiple of 8 bytes in length, this means that there should be 5 bytes
of 0-padding at the end, bringing us to the desired total of 48 bytes.

Lines 2 through 6 are the individual fields being matched.  The last
byte of the first cluster on each line is the number of bytes of field
value that follows.

Line 6 is the match on TCP dst.  It indicates a length of 4 bytes.
However this means that line 7, which should have 5 bytes of padding, is
only 3 bytes long.  The 002b on line 1 should evidently be 002d to
indicate that the match is 2 bytes longer than necessary.  However, even
then, this is an invalid match because it says to match on tcp_dst as
0x014d/0x0000 and that simply doesn't make sense and OVS rightly rejects
it:

2016-07-26T17:00:38Z|00011|nx_match|WARN|Rejecting NXM/OXM entry 0:0:10:1:4 
with 1-bits in value for bits wildcarded by the mask.

Whatever is generated this match should be fixed.

On Tue, Jul 26, 2016 at 05:30:15PM +0530, Aswin S wrote:
> HI Ben,
> 
> I have attached the pcap. ( Sl No 3052 and 3053 is one such message).
> 
> Thanks
> Aswin
> 
> ​​
> 
> On Mon, Jul 25, 2016 at 8:20 PM, Ben Pfaff <b...@ovn.org> wrote:
> 
> > Hmm, there's no change in this area since 2.4.  Can you give an example
> > of an OpenFlow message that provokes the error?  A hexdump or pcap of
> > the message would be ideal.
> >
> > On Mon, Jul 25, 2016 at 12:19:43PM +0530, Aswin S wrote:
> > > Hi Ben
> > >
> > > The below extension were used.
> > >
> > > #define NXM_OF_TCP_SRC    NXM_HEADER  (0x0000,  9, 2)
> > > #define NXM_OF_TCP_DST    NXM_HEADER  (0x0000, 10, 2)
> > > #define NXM_OF_UDP_SRC    NXM_HEADER  (0x0000, 11, 2)
> > > #define NXM_OF_UDP_DST    NXM_HEADER  (0x0000, 12, 2)
> > >
> > > It was working in OVS 2.4(not the latest). But now it seems to be
> > throwing
> > > an error BAD_LENGTH with latest 2.4 and 2.5
> > >
> > > Thanks
> > > Aswin
> > >
> > > On Sun, Jul 24, 2016 at 11:30 PM, Ben Pfaff <b...@ovn.org> wrote:
> > >
> > > > On Sun, Jul 24, 2016 at 11:28:27AM +0530, Aswin S wrote:
> > > > > In opendaylight we used Nicira Extention to support TCP and UDP
> > mask. But
> > > > > now I observe that in ovs it is a part of standard openflow
> > > > implementation
> > > > > and the nicira extension code we used is reporting error. Was there a
> > > > > change in ovs? But openflow plugin spec is yet to support TCP/UDP
> > mask.
> > > >
> > > > I don't know of a backward-incompatible change to OVS in this area.
> > > > What Nicira extension were you using?  What version of OVS worked, and
> > > > what version of OVS does not?
> > > >
> >


_______________________________________________
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss

Reply via email to