mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-28 17:41:50 +00:00
IB/core: Remove ib_uverbs_flow_spec structure from userspace
The structure holding any types of flow_spec is of no use to userspace. It would be wrong for userspace to do: struct ib_uverbs_flow_spec flow_spec; flow_spec.type = IB_FLOW_SPEC_TCP; flow_spec.size = sizeof(flow_spec); Instead, userspace should use the dedicated flow_spec structure for - Ethernet : struct ib_uverbs_flow_spec_eth, - IPv4 : struct ib_uverbs_flow_spec_ipv4, - TCP/UDP : struct ib_uverbs_flow_spec_tcp_udp. In other words, struct ib_uverbs_flow_spec is a "virtual" data structure that can only be use by the kernel as an alias to the other. Signed-off-by: Yann Droneaud <ydroneaud@opteya.com> Link: http://marc.info/?i=cover.1383773832.git.ydroneaud@opteya.com Signed-off-by: Roland Dreier <roland@purestorage.com>
This commit is contained in:
parent
58913efba9
commit
2490f20be4
2 changed files with 16 additions and 16 deletions
|
@ -178,6 +178,22 @@ void ib_uverbs_event_handler(struct ib_event_handler *handler,
|
||||||
struct ib_event *event);
|
struct ib_event *event);
|
||||||
void ib_uverbs_dealloc_xrcd(struct ib_uverbs_device *dev, struct ib_xrcd *xrcd);
|
void ib_uverbs_dealloc_xrcd(struct ib_uverbs_device *dev, struct ib_xrcd *xrcd);
|
||||||
|
|
||||||
|
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;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
#define IB_UVERBS_DECLARE_CMD(name) \
|
#define IB_UVERBS_DECLARE_CMD(name) \
|
||||||
ssize_t ib_uverbs_##name(struct ib_uverbs_file *file, \
|
ssize_t ib_uverbs_##name(struct ib_uverbs_file *file, \
|
||||||
const char __user *buf, int in_len, \
|
const char __user *buf, int in_len, \
|
||||||
|
|
|
@ -765,22 +765,6 @@ struct ib_uverbs_flow_spec_tcp_udp {
|
||||||
struct ib_uverbs_flow_tcp_udp_filter mask;
|
struct ib_uverbs_flow_tcp_udp_filter mask;
|
||||||
};
|
};
|
||||||
|
|
||||||
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_attr {
|
struct ib_uverbs_flow_attr {
|
||||||
__u32 type;
|
__u32 type;
|
||||||
__u16 size;
|
__u16 size;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue