Allow matching and setting the ct_mark field. As with ct_state and ct_zone, these fields are populated when the CT action is executed. To write to this field, a value and mask can be specified as a nested attribute under the CT action. This data is stored with the conntrack entry, and is executed after the lookup occurs for the CT action. The conntrack entry itself must be committed using the COMMIT flag in the CT action flags for this change to persist.
Showing the changes to include/uapi (1 of 6 files). Show all
Unified · Split
| @@ -325,6 +325,7 @@ enum ovs_key_attr { · 324 unmodified lines | |||
| 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, /* u8 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 | 329 | ||
| 329 | #ifdef __KERNEL__ | 330 | #ifdef __KERNEL__ |
| 330 | OVS_KEY_ATTR_TUNNEL_INFO, /* struct ip_tunnel_info */ | 331 | OVS_KEY_ATTR_TUNNEL_INFO, /* struct ip_tunnel_info */ |
| @@ -613,11 +614,15 @@ struct ovs_action_hash { · 282 unmodified lines | |||
| 613 | * enum ovs_ct_attr - Attributes for %OVS_ACTION_ATTR_CT action. | 614 | * enum ovs_ct_attr - Attributes for %OVS_ACTION_ATTR_CT action. |
| 614 | * @OVS_CT_ATTR_FLAGS: u32 connection tracking flags. | 615 | * @OVS_CT_ATTR_FLAGS: u32 connection tracking flags. |
| 615 | * @OVS_CT_ATTR_ZONE: u16 connection tracking zone. | 616 | * @OVS_CT_ATTR_ZONE: u16 connection tracking zone. |
| 617 | * @OVS_CT_ATTR_MARK: u32 value followed by u32 mask. For each bit set in the | ||
| 618 | * mask, the corresponding bit in the value is copied to the connection | ||
| 619 | * tracking mark field in the connection. | ||
| 616 | */ | 620 | */ |
| 617 | enum ovs_ct_attr { | 621 | enum ovs_ct_attr { |
| 618 | OVS_CT_ATTR_UNSPEC, | 622 | OVS_CT_ATTR_UNSPEC, |
| 619 | OVS_CT_ATTR_FLAGS, /* u8 bitmask of OVS_CT_F_*. */ | 623 | OVS_CT_ATTR_FLAGS, /* u8 bitmask of OVS_CT_F_*. */ |
| 620 | OVS_CT_ATTR_ZONE, /* u16 zone id. */ | 624 | OVS_CT_ATTR_ZONE, /* u16 zone id. */ |
| 625 | OVS_CT_ATTR_MARK, /* mark to associate with this connection. */ | ||
| 621 | __OVS_CT_ATTR_MAX | 626 | __OVS_CT_ATTR_MAX |
| 622 | }; | 627 | }; |
| 623 | 628 | ||