On Oct 8, 2013, at 1:12 PM, Ben Pfaff <b...@nicira.com> wrote: > 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 <jrajaha...@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.
This incremental should work, I'll send a new patch: diff --git a/lib/flow.h b/lib/flow.h index b1487c1..f1d3aad 100644 --- a/lib/flow.h +++ b/lib/flow.h @@ -112,7 +112,7 @@ struct flow { uint8_t arp_tha[6]; /* ARP/ND target hardware address. */ uint8_t nw_ttl; /* IP TTL/Hop Limit. */ uint8_t nw_frag; /* FLOW_FRAG_* flags. */ - uint8_t zeros[2]; + uint8_t zeros[6]; }; BUILD_ASSERT_DECL(sizeof(struct flow) % 4 == 0); Jarno _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev