diff options
Diffstat (limited to 'include/uapi/linux/openvswitch.h')
-rw-r--r-- | include/uapi/linux/openvswitch.h | 39 |
1 files changed, 18 insertions, 21 deletions
diff --git a/include/uapi/linux/openvswitch.h b/include/uapi/linux/openvswitch.h index 32e07d8cbaf4..28ccedd000f5 100644 --- a/include/uapi/linux/openvswitch.h +++ b/include/uapi/linux/openvswitch.h | |||
@@ -323,10 +323,10 @@ enum ovs_key_attr { | |||
323 | OVS_KEY_ATTR_MPLS, /* array of struct ovs_key_mpls. | 323 | OVS_KEY_ATTR_MPLS, /* array of struct ovs_key_mpls. |
324 | * The implementation may restrict | 324 | * The implementation may restrict |
325 | * the accepted length of the array. */ | 325 | * the accepted length of the array. */ |
326 | OVS_KEY_ATTR_CT_STATE, /* u8 bitmask of OVS_CS_F_* */ | 326 | OVS_KEY_ATTR_CT_STATE, /* u32 bitmask of OVS_CS_F_* */ |
327 | OVS_KEY_ATTR_CT_ZONE, /* u16 connection tracking zone. */ | 327 | OVS_KEY_ATTR_CT_ZONE, /* u16 connection tracking zone. */ |
328 | OVS_KEY_ATTR_CT_MARK, /* u32 connection tracking mark */ | 328 | OVS_KEY_ATTR_CT_MARK, /* u32 connection tracking mark */ |
329 | OVS_KEY_ATTR_CT_LABEL, /* 16-octet connection tracking label */ | 329 | OVS_KEY_ATTR_CT_LABELS, /* 16-octet connection tracking label */ |
330 | 330 | ||
331 | #ifdef __KERNEL__ | 331 | #ifdef __KERNEL__ |
332 | OVS_KEY_ATTR_TUNNEL_INFO, /* struct ip_tunnel_info */ | 332 | OVS_KEY_ATTR_TUNNEL_INFO, /* struct ip_tunnel_info */ |
@@ -349,6 +349,8 @@ enum ovs_tunnel_key_attr { | |||
349 | OVS_TUNNEL_KEY_ATTR_TP_SRC, /* be16 src Transport Port. */ | 349 | OVS_TUNNEL_KEY_ATTR_TP_SRC, /* be16 src Transport Port. */ |
350 | OVS_TUNNEL_KEY_ATTR_TP_DST, /* be16 dst Transport Port. */ | 350 | OVS_TUNNEL_KEY_ATTR_TP_DST, /* be16 dst Transport Port. */ |
351 | OVS_TUNNEL_KEY_ATTR_VXLAN_OPTS, /* Nested OVS_VXLAN_EXT_* */ | 351 | OVS_TUNNEL_KEY_ATTR_VXLAN_OPTS, /* Nested OVS_VXLAN_EXT_* */ |
352 | OVS_TUNNEL_KEY_ATTR_IPV6_SRC, /* struct in6_addr src IPv6 address. */ | ||
353 | OVS_TUNNEL_KEY_ATTR_IPV6_DST, /* struct in6_addr dst IPv6 address. */ | ||
352 | __OVS_TUNNEL_KEY_ATTR_MAX | 354 | __OVS_TUNNEL_KEY_ATTR_MAX |
353 | }; | 355 | }; |
354 | 356 | ||
@@ -439,9 +441,9 @@ struct ovs_key_nd { | |||
439 | __u8 nd_tll[ETH_ALEN]; | 441 | __u8 nd_tll[ETH_ALEN]; |
440 | }; | 442 | }; |
441 | 443 | ||
442 | #define OVS_CT_LABEL_LEN 16 | 444 | #define OVS_CT_LABELS_LEN 16 |
443 | struct ovs_key_ct_label { | 445 | struct ovs_key_ct_labels { |
444 | __u8 ct_label[OVS_CT_LABEL_LEN]; | 446 | __u8 ct_labels[OVS_CT_LABELS_LEN]; |
445 | }; | 447 | }; |
446 | 448 | ||
447 | /* OVS_KEY_ATTR_CT_STATE flags */ | 449 | /* OVS_KEY_ATTR_CT_STATE flags */ |
@@ -449,9 +451,9 @@ struct ovs_key_ct_label { | |||
449 | #define OVS_CS_F_ESTABLISHED 0x02 /* Part of an existing connection. */ | 451 | #define OVS_CS_F_ESTABLISHED 0x02 /* Part of an existing connection. */ |
450 | #define OVS_CS_F_RELATED 0x04 /* Related to an established | 452 | #define OVS_CS_F_RELATED 0x04 /* Related to an established |
451 | * connection. */ | 453 | * connection. */ |
452 | #define OVS_CS_F_INVALID 0x20 /* Could not track connection. */ | 454 | #define OVS_CS_F_REPLY_DIR 0x08 /* Flow is in the reply direction. */ |
453 | #define OVS_CS_F_REPLY_DIR 0x40 /* Flow is in the reply direction. */ | 455 | #define OVS_CS_F_INVALID 0x10 /* Could not track connection. */ |
454 | #define OVS_CS_F_TRACKED 0x80 /* Conntrack has occurred. */ | 456 | #define OVS_CS_F_TRACKED 0x20 /* Conntrack has occurred. */ |
455 | 457 | ||
456 | /** | 458 | /** |
457 | * enum ovs_flow_attr - attributes for %OVS_FLOW_* commands. | 459 | * enum ovs_flow_attr - attributes for %OVS_FLOW_* commands. |
@@ -618,22 +620,25 @@ struct ovs_action_hash { | |||
618 | 620 | ||
619 | /** | 621 | /** |
620 | * enum ovs_ct_attr - Attributes for %OVS_ACTION_ATTR_CT action. | 622 | * enum ovs_ct_attr - Attributes for %OVS_ACTION_ATTR_CT action. |
621 | * @OVS_CT_ATTR_FLAGS: u32 connection tracking flags. | 623 | * @OVS_CT_ATTR_COMMIT: If present, commits the connection to the conntrack |
624 | * table. This allows future packets for the same connection to be identified | ||
625 | * as 'established' or 'related'. The flow key for the current packet will | ||
626 | * retain the pre-commit connection state. | ||
622 | * @OVS_CT_ATTR_ZONE: u16 connection tracking zone. | 627 | * @OVS_CT_ATTR_ZONE: u16 connection tracking zone. |
623 | * @OVS_CT_ATTR_MARK: u32 value followed by u32 mask. For each bit set in the | 628 | * @OVS_CT_ATTR_MARK: u32 value followed by u32 mask. For each bit set in the |
624 | * mask, the corresponding bit in the value is copied to the connection | 629 | * mask, the corresponding bit in the value is copied to the connection |
625 | * tracking mark field in the connection. | 630 | * tracking mark field in the connection. |
626 | * @OVS_CT_ATTR_LABEL: %OVS_CT_LABEL_LEN value followed by %OVS_CT_LABEL_LEN | 631 | * @OVS_CT_ATTR_LABEL: %OVS_CT_LABELS_LEN value followed by %OVS_CT_LABELS_LEN |
627 | * mask. For each bit set in the mask, the corresponding bit in the value is | 632 | * mask. For each bit set in the mask, the corresponding bit in the value is |
628 | * copied to the connection tracking label field in the connection. | 633 | * copied to the connection tracking label field in the connection. |
629 | * @OVS_CT_ATTR_HELPER: variable length string defining conntrack ALG. | 634 | * @OVS_CT_ATTR_HELPER: variable length string defining conntrack ALG. |
630 | */ | 635 | */ |
631 | enum ovs_ct_attr { | 636 | enum ovs_ct_attr { |
632 | OVS_CT_ATTR_UNSPEC, | 637 | OVS_CT_ATTR_UNSPEC, |
633 | OVS_CT_ATTR_FLAGS, /* u8 bitmask of OVS_CT_F_*. */ | 638 | OVS_CT_ATTR_COMMIT, /* No argument, commits connection. */ |
634 | OVS_CT_ATTR_ZONE, /* u16 zone id. */ | 639 | OVS_CT_ATTR_ZONE, /* u16 zone id. */ |
635 | OVS_CT_ATTR_MARK, /* mark to associate with this connection. */ | 640 | OVS_CT_ATTR_MARK, /* mark to associate with this connection. */ |
636 | OVS_CT_ATTR_LABEL, /* label to associate with this connection. */ | 641 | OVS_CT_ATTR_LABELS, /* labels to associate with this connection. */ |
637 | OVS_CT_ATTR_HELPER, /* netlink helper to assist detection of | 642 | OVS_CT_ATTR_HELPER, /* netlink helper to assist detection of |
638 | related connections. */ | 643 | related connections. */ |
639 | __OVS_CT_ATTR_MAX | 644 | __OVS_CT_ATTR_MAX |
@@ -641,14 +646,6 @@ enum ovs_ct_attr { | |||
641 | 646 | ||
642 | #define OVS_CT_ATTR_MAX (__OVS_CT_ATTR_MAX - 1) | 647 | #define OVS_CT_ATTR_MAX (__OVS_CT_ATTR_MAX - 1) |
643 | 648 | ||
644 | /* | ||
645 | * OVS_CT_ATTR_FLAGS flags - bitmask of %OVS_CT_F_* | ||
646 | * @OVS_CT_F_COMMIT: Commits the flow to the conntrack table. This allows | ||
647 | * future packets for the same connection to be identified as 'established' | ||
648 | * or 'related'. | ||
649 | */ | ||
650 | #define OVS_CT_F_COMMIT 0x01 | ||
651 | |||
652 | /** | 649 | /** |
653 | * enum ovs_action_attr - Action types. | 650 | * enum ovs_action_attr - Action types. |
654 | * | 651 | * |
@@ -705,7 +702,7 @@ enum ovs_action_attr { | |||
705 | * data immediately followed by a mask. | 702 | * data immediately followed by a mask. |
706 | * The data must be zero for the unmasked | 703 | * The data must be zero for the unmasked |
707 | * bits. */ | 704 | * bits. */ |
708 | OVS_ACTION_ATTR_CT, /* One nested OVS_CT_ATTR_* . */ | 705 | OVS_ACTION_ATTR_CT, /* Nested OVS_CT_ATTR_* . */ |
709 | 706 | ||
710 | __OVS_ACTION_ATTR_MAX, /* Nothing past this will be accepted | 707 | __OVS_ACTION_ATTR_MAX, /* Nothing past this will be accepted |
711 | * from userspace. */ | 708 | * from userspace. */ |