On Tue, Sep 29, 2015 at 01:40:31PM -0700, Joe Stringer wrote: > This patch adds a new 128-bit metadata field to the connection tracking > interface. When a label is specified as part of the ct action and the > connection is committed, the value is saved with the current connection. > Subsequent ct lookups with the table specified will expose this metadata > as the "ct_label" field in the flow. > > For example, to allow new TCP connections from port 1->2 and only allow > established connections from port 2->1, and to associate a label with > those connections: > > table=0,priority=1,action=drop > table=0,arp,action=normal > table=0,in_port=1,tcp,action=ct(commit,exec(set_field:1->ct_label)),2 > table=0,in_port=2,ct_state=-trk,tcp,action=ct(table=1) > table=1,in_port=2,ct_state=+trk,ct_label=1,tcp,action=1 > > Signed-off-by: Joe Stringer <joestrin...@nicira.com> > Acked-by: Jarno Rajahalme <jrajaha...@nicira.com> > --- > v3: > - Improve ct_label documentation > - Remove extraneous NXM mask checks > - Make get_u128_ptr check both MINIFLOW_IN_MAP for the label > - Convert wire format to use be128 > - Add dpctl,ofctl tests > v2: > - Address feedback from v1
It's late and I'm getting tired, so I'd better look again later. For now, one thing comes to mind. Would it be worth defining #define OVS_U128_MAX (union ovs_u128) { .u64 = { UINT64_MAX, UINT64_MAX } } #define OVS_BE128_MAX (union ovs_be128) { .be64 = { OVS_BE64_MAX, \ OVS_BE64_MAX } } _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev