diff options
author | Joe Stringer <joestringer@nicira.com> | 2015-08-26 11:31:52 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-08-27 11:40:43 -0700 |
commit | c2ac667358708d7cce64c78f58af6adf4c1e848b (patch) | |
tree | f24ccd3b0e54fe0ba09ecadb837eef3ecaa014c8 /net/openvswitch/flow_netlink.h | |
parent | 86ca02e77408bb58ba596c1a411ec7f631733690 (diff) | |
download | op-kernel-dev-c2ac667358708d7cce64c78f58af6adf4c1e848b.zip op-kernel-dev-c2ac667358708d7cce64c78f58af6adf4c1e848b.tar.gz |
openvswitch: Allow matching on conntrack label
Allow matching and setting the ct_label field. As with ct_mark, this is
populated by executing the CT action. The label field may be modified by
specifying a label and mask nested under the CT action. It is stored as
metadata attached to the connection. Label modification occurs after
lookup, and will only persist when the conntrack entry is committed by
providing the COMMIT flag to the CT action. Labels are currently fixed
to 128 bits in size.
Signed-off-by: Joe Stringer <joestringer@nicira.com>
Acked-by: Thomas Graf <tgraf@suug.ch>
Acked-by: Pravin B Shelar <pshelar@nicira.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/openvswitch/flow_netlink.h')
-rw-r--r-- | net/openvswitch/flow_netlink.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/net/openvswitch/flow_netlink.h b/net/openvswitch/flow_netlink.h index c0b484b..07878e2 100644 --- a/net/openvswitch/flow_netlink.h +++ b/net/openvswitch/flow_netlink.h @@ -45,15 +45,16 @@ void ovs_match_init(struct sw_flow_match *match, int ovs_nla_put_key(const struct sw_flow_key *, const struct sw_flow_key *, int attr, bool is_mask, struct sk_buff *); -int ovs_nla_get_flow_metadata(const struct nlattr *, struct sw_flow_key *, - bool log); +int ovs_nla_get_flow_metadata(struct net *, const struct nlattr *, + struct sw_flow_key *, bool log); int ovs_nla_put_identifier(const struct sw_flow *flow, struct sk_buff *skb); int ovs_nla_put_masked_key(const struct sw_flow *flow, struct sk_buff *skb); int ovs_nla_put_mask(const struct sw_flow *flow, struct sk_buff *skb); -int ovs_nla_get_match(struct sw_flow_match *, const struct nlattr *key, - const struct nlattr *mask, bool log); +int ovs_nla_get_match(struct net *, struct sw_flow_match *, + const struct nlattr *key, const struct nlattr *mask, + bool log); int ovs_nla_put_egress_tunnel_key(struct sk_buff *, const struct ip_tunnel_info *); |