[ovs-dev] [PATCH v3 2/2] TCP flags matching support.

Ben Pfaff blp at nicira.com
Tue Oct 8 20:12:02 UTC 2013


On Tue, Oct 08, 2013 at 11:37:02AM -0700, Jarno Rajahalme wrote:
>     tcp_flags=flags/mask
>         Bitwise  match on TCP flags.  The flags and mask are 16-bit num???
>         bers written in decimal or in hexadecimal prefixed by 0x.   Each
>         1-bit  in  mask requires that the corresponding bit in port must
>         match.  Each 0-bit in mask causes the corresponding  bit  to  be
>         ignored.
> 
>         TCP  protocol  currently  defines  9 flag bits, and additional 3
>         bits are reserved (must be transmitted as zero), see  RFCs  793,
>         3168, and 3540.  The flag bits are, numbering from the least
> 	significant bit:
> 
>         0: FIN No more data from sender.
> 
>         1: SYN Synchronize sequence numbers.
> 
>         2: RST Reset the connection.
> 
>         3: PSH Push function.
> 
>         4: ACK Acknowledgement field significant.
> 
>         5: URG Urgent pointer field significant.
> 
>         6: ECE ECN Echo.
> 
>         7: CWR Congestion Windows Reduced.
> 
>         8: NS  Nonce Sum.
> 
>         9-11:  Reserved.
> 
>         12-15: Not matchable, must be zero.
> 
> Signed-off-by: Jarno Rajahalme <jrajahalme at nicira.com>

I get numerous build assertion failures in flow.h, on both of these:

    BUILD_ASSERT_DECL(sizeof(struct flow) % 4 == 0);
    BUILD_ASSERT_DECL(sizeof(struct flow) == sizeof(struct flow_tnl) + 160 &&
                      FLOW_WC_SEQ == 22);

The only slightly unusual part of my setup is that I build for 32-bit
instead of 64-bit userspace.



More information about the dev mailing list