diff options
author | Moses Reuben <mosesr@mellanox.com> | 2016-11-14 19:04:49 +0200 |
---|---|---|
committer | Doug Ledford <dledford@redhat.com> | 2016-12-13 13:34:22 -0500 |
commit | a0cb4c759af12943806564294fa53ab08cb7cf93 (patch) | |
tree | 35819ed1af3e41403a266075353c37063abb7601 /include/uapi/rdma | |
parent | 76bd23b34204cad78f48aec4cef38869a66aa594 (diff) | |
download | linux-stable-a0cb4c759af12943806564294fa53ab08cb7cf93.tar.gz linux-stable-a0cb4c759af12943806564294fa53ab08cb7cf93.tar.bz2 linux-stable-a0cb4c759af12943806564294fa53ab08cb7cf93.zip |
IB/uverbs: Add support for Vxlan protocol
Add ib_uverbs_flow_spec_tunnel to define the rule to match Vxlan,
the type, size, reserved fields are identical to rest of the protocols,
and are used to identify the spec.
The tunnel id is the vni value of the Vxlan protocol, and it is used
as part of the steering rule, it is limited by the mask.
The steering rule configured on the hardware does a match
according to vni and other protocols.
In the same way as rest of the protocols that we match,
the uniq field's of each protocol are represented on
the val and the mask.
Signed-off-by: Moses Reuben <mosesr@mellanox.com>
Reviewed-by: Maor Gottlieb <maorg@mellanox.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'include/uapi/rdma')
-rw-r--r-- | include/uapi/rdma/ib_user_verbs.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/include/uapi/rdma/ib_user_verbs.h b/include/uapi/rdma/ib_user_verbs.h index 25225ebbc7d5..90ba5e88ec00 100644 --- a/include/uapi/rdma/ib_user_verbs.h +++ b/include/uapi/rdma/ib_user_verbs.h @@ -908,6 +908,23 @@ struct ib_uverbs_flow_spec_ipv6 { struct ib_uverbs_flow_ipv6_filter mask; }; +struct ib_uverbs_flow_tunnel_filter { + __be32 tunnel_id; +}; + +struct ib_uverbs_flow_spec_tunnel { + union { + struct ib_uverbs_flow_spec_hdr hdr; + struct { + __u32 type; + __u16 size; + __u16 reserved; + }; + }; + struct ib_uverbs_flow_tunnel_filter val; + struct ib_uverbs_flow_tunnel_filter mask; +}; + struct ib_uverbs_flow_attr { __u32 type; __u16 size; |