87
87
IB_USER_VERBS_CMD_CLOSE_XRCD,
88
88
IB_USER_VERBS_CMD_CREATE_XSRQ,
89
89
IB_USER_VERBS_CMD_OPEN_QP,
90
#ifdef CONFIG_INFINIBAND_EXPERIMENTAL_UVERBS_FLOW_STEERING
91
IB_USER_VERBS_CMD_CREATE_FLOW = IB_USER_VERBS_CMD_THRESHOLD,
92
IB_USER_VERBS_CMD_DESTROY_FLOW
93
#endif /* CONFIG_INFINIBAND_EXPERIMENTAL_UVERBS_FLOW_STEERING */
93
IB_USER_VERBS_EX_CMD_CREATE_FLOW = IB_USER_VERBS_CMD_THRESHOLD,
94
IB_USER_VERBS_EX_CMD_DESTROY_FLOW
122
123
* the rest of the command struct based on these value.
126
#define IB_USER_VERBS_CMD_COMMAND_MASK 0xff
127
#define IB_USER_VERBS_CMD_FLAGS_MASK 0xff000000u
128
#define IB_USER_VERBS_CMD_FLAGS_SHIFT 24
130
#define IB_USER_VERBS_CMD_FLAG_EXTENDED 0x80
125
132
struct ib_uverbs_cmd_hdr {
131
#ifdef CONFIG_INFINIBAND_EXPERIMENTAL_UVERBS_FLOW_STEERING
132
struct ib_uverbs_cmd_hdr_ex {
138
struct ib_uverbs_ex_cmd_hdr {
136
140
__u16 provider_in_words;
137
141
__u16 provider_out_words;
138
142
__u32 cmd_hdr_reserved;
140
#endif /* CONFIG_INFINIBAND_EXPERIMENTAL_UVERBS_FLOW_STEERING */
142
145
struct ib_uverbs_get_context {
700
703
__u64 driver_data[0];
703
#ifdef CONFIG_INFINIBAND_EXPERIMENTAL_UVERBS_FLOW_STEERING
704
struct ib_kern_eth_filter {
706
struct ib_uverbs_flow_spec_hdr {
710
/* followed by flow_spec */
711
__u64 flow_spec_data[0];
714
struct ib_uverbs_flow_eth_filter {
707
717
__be16 ether_type;
711
struct ib_kern_spec_eth {
715
struct ib_kern_eth_filter val;
716
struct ib_kern_eth_filter mask;
721
struct ib_uverbs_flow_spec_eth {
723
struct ib_uverbs_flow_spec_hdr hdr;
730
struct ib_uverbs_flow_eth_filter val;
731
struct ib_uverbs_flow_eth_filter mask;
719
struct ib_kern_ipv4_filter {
734
struct ib_uverbs_flow_ipv4_filter {
724
struct ib_kern_spec_ipv4 {
728
struct ib_kern_ipv4_filter val;
729
struct ib_kern_ipv4_filter mask;
739
struct ib_uverbs_flow_spec_ipv4 {
741
struct ib_uverbs_flow_spec_hdr hdr;
748
struct ib_uverbs_flow_ipv4_filter val;
749
struct ib_uverbs_flow_ipv4_filter mask;
732
struct ib_kern_tcp_udp_filter {
752
struct ib_uverbs_flow_tcp_udp_filter {
737
struct ib_kern_spec_tcp_udp {
741
struct ib_kern_tcp_udp_filter val;
742
struct ib_kern_tcp_udp_filter mask;
745
struct ib_kern_spec {
757
struct ib_uverbs_flow_spec_tcp_udp {
759
struct ib_uverbs_flow_spec_hdr hdr;
752
struct ib_kern_spec_eth eth;
753
struct ib_kern_spec_ipv4 ipv4;
754
struct ib_kern_spec_tcp_udp tcp_udp;
766
struct ib_uverbs_flow_tcp_udp_filter val;
767
struct ib_uverbs_flow_tcp_udp_filter mask;
758
struct ib_kern_flow_attr {
770
struct ib_uverbs_flow_attr {
767
779
* struct ib_flow_spec_xxx
768
780
* struct ib_flow_spec_yyy
782
struct ib_uverbs_flow_spec_hdr flow_specs[0];
772
785
struct ib_uverbs_create_flow {
776
struct ib_kern_flow_attr flow_attr;
788
struct ib_uverbs_flow_attr flow_attr;
779
791
struct ib_uverbs_create_flow_resp {