Add flow tag support to flow specification
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest5 patches 1 replyIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/5 | net/mlx5: Consolidate flow rules regardless their flow tagdrivers/ | +10 | 0 replies | |
| 2/5 | IB/core: Introduce flow tag specificationinclude/ | +9 | 0 replies | |
| 3/5 | IB/uverbs: Add support for flow tagdrivers/ drivers/ include/ | +47 | 0 replies | |
| 4/5 | IB/mlx5: Add flow tag supportdrivers/ | +23 | 0 replies | |
| 5/5 | IB/mlx5: Replace ENOTSUPP usage with EOPNOTSUPPdrivers/ | +6 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [PATCH rdma-next 0/5] Add flow tag support to flow specification
Hi Doug,
The flow tag feature allows an application to request to add an action to tag all the packets that matches this rule.
The tag is a number that will came as a metadata with every packet in the CQE.
The tag rule == 0 is chosen as the default tag and application can use it in order to avoid the need to classify the packets that came with a tag while continuing to benefit from this tag mechanism.
struct definition:
struct ib_uverbs_flow_spec_action_tag {
union {
struct ib_uverbs_flow_spec_hdr hdr;
struct {
__u32 type;
__u16 size;
__u16 reserved;
};
};
__be32 tag_id;
__u32 reserved1;
};struct ib_uverbs_flow_spec {
union {
union {
struct ib_uverbs_flow_spec_hdr hdr;
struct {
__u32 type;
__u16 size;
__u16 reserved;
};
};
struct ib_uverbs_flow_spec_eth eth;
struct ib_uverbs_flow_spec_ipv4 ipv4;
struct ib_uverbs_flow_spec_tcp_udp tcp_udp;
struct ib_uverbs_flow_spec_ipv6 ipv6;
struct ib_uverbs_flow_spec_action_tag flow_tag;
};
};Where:
* type, size, reserved fields are identical to the rest of the
* protocols,
and are used to identify the spec.
* flow_tag is a spec of type 'action'
* the ib_uverbs_flow_spec_hdr is identical to the rest of the specs.
* tag_id - is the value of the stream defined by the specs.
Thanks,
Moses
CC: Rony Efraim <ronye-VPRAkNaXOzVWk0Htik3J/[email protected]>
----
Doug,
I used this opportunity and fixed parse_flow_attr(..) return values. Adjusting this fix to this series minimizes chances of possible merge conflicts between different series.
This patchset was generated against commitf502d834950a ("net/mlx5: Activate support for 4K UARs") and it applies cleanly on k.o/for-4.11 branch.
Available in the "topic/flow-tag" topic branch of this git repo:git://git.kernel.org/pub/scm/linux/kernel/git/leon/linux-rdma.git
Or for browsing:
https://git.kernel.org/cgit/linux/kernel/git/leon/linux-rdma.git/log/?h=topic/flow-tag
Leon Romanovsky (1):
IB/mlx5: Replace ENOTSUPP usage with EOPNOTSUPP
Maor Gottlieb (1):
net/mlx5: Consolidate flow rules regardless their flow tag
Moses Reuben (3):
IB/core: Introduce flow tag specification
IB/uverbs: Add support for flow tag
IB/mlx5: Add flow tag support
drivers/infiniband/core/uverbs.h | 1 + drivers/infiniband/core/uverbs_cmd.c | 35 +++++++++++++++++++-- drivers/infiniband/hw/mlx5/main.c | 38 +++++++++++++++++------ drivers/net/ethernet/mellanox/mlx5/core/fs_core.c | 12 +++++-- include/rdma/ib_verbs.h | 9 ++++++ include/uapi/rdma/ib_user_verbs.h | 13 ++++++++ 6 files changed, 95 insertions(+), 13 deletions(-)
--
2.10.2
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html