IB/core: Remove ib_uverbs_flow_spec structure from userspace
authorYann Droneaud <ydroneaud@opteya.com>
Wed, 6 Nov 2013 22:21:48 +0000 (23:21 +0100)
committerRoland Dreier <roland@purestorage.com>
Sun, 17 Nov 2013 16:22:08 +0000 (08:22 -0800)
commit2490f20be496c2da14ae4632a8c60e0633e97fd0
tree4c80e3d5dc5004eebd5fc3dcccf4b26f2b16d644
parent58913efba9c3aa7992f2a4d630135ded833d988e
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>
drivers/infiniband/core/uverbs.h
include/uapi/rdma/ib_user_verbs.h