linux/net
Roland Dreier 0f39cf3d54 IB/core: Add support for "send with invalidate" work requests
Add a new IB_WR_SEND_WITH_INV send opcode that can be used to mark a
"send with invalidate" work request as defined in the iWARP verbs and
the InfiniBand base memory management extensions.  Also put "imm_data"
and a new "invalidate_rkey" member in a new "ex" union in struct
ib_send_wr. The invalidate_rkey member can be used to pass in an
R_Key/STag to be invalidated.  Add this new union to struct
ib_uverbs_send_wr.  Add code to copy the invalidate_rkey field in
ib_uverbs_post_send().

Fix up low-level drivers to deal with the change to struct ib_send_wr,
and just remove the imm_data initialization from net/sunrpc/xprtrdma/,
since that code never does any send with immediate operations.

Also, move the existing IB_DEVICE_SEND_W_INV flag to a new bit, since
the iWARP drivers currently in the tree set the bit.  The amso1100
driver at least will silently fail to honor the IB_SEND_INVALIDATE bit
if passed in as part of userspace send requests (since it does not
implement kernel bypass work request queueing).  Remove the flag from
all existing drivers that set it until we know which ones are OK.

The values chosen for the new flag is not consecutive to avoid clashing
with flags defined in the XRC patches, which are not merged yet but
which are already in use and are likely to be merged soon.

This resurrects a patch sent long ago by Mikkel Hagen <mhagen@iol.unh.edu>.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
2008-04-16 21:09:32 -07:00
..
9p net/9p/trans_fd.c:p9_trans_fd_init(): module_init functions should return 0 on success 2008-03-28 14:45:22 -07:00
802 [TR] net/802/tr.c: sysctl_tr_rif_timeout static 2008-01-31 19:28:31 -08:00
8021q [VLAN]: Fix egress priority mappings leak. 2008-04-04 12:45:12 -07:00
appletalk [APPLETALK]: Use proc_create() to setup ->proc_fops first 2008-02-28 12:53:32 -08:00
atm [NET]: Undo code bloat in hot paths due to print_mac(). 2008-04-08 16:50:44 -07:00
ax25 [AX25]: Potential ax25_uid_assoc-s leaks on module unload. 2008-04-12 18:33:50 -07:00
bluetooth bluetooth : __rfcomm_dlc_close lock fix 2008-04-01 23:59:06 -07:00
bridge [BRIDGE]: Fix crash in __ip_route_output_key with bridge netfilter 2008-04-14 00:46:01 -07:00
can [CAN]: Minor clean-ups 2008-02-07 18:05:04 -08:00
core [NET]: Fix kernel-doc for skb_segment 2008-04-13 21:52:48 -07:00
dccp [DCCP]: Fix skb->cb conflicts with IP 2008-04-12 18:35:41 -07:00
decnet [DECNET] ROUTE: remove unecessary alignment 2008-02-07 23:29:57 -08:00
econet [NET]: Convert init_timer into setup_timer 2008-01-28 14:53:35 -08:00
ethernet [NET]: Return more appropriate error from eth_validate_addr(). 2008-04-13 22:45:40 -07:00
ieee80211 [NET]: Undo code bloat in hot paths due to print_mac(). 2008-04-08 16:50:44 -07:00
ipv4 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-04-16 07:44:27 -07:00
ipv6 [IPV6] ADDRCONF: Don't generate temporary address for ip6-ip6 interface. 2008-04-13 23:47:11 -07:00
ipx [IPX]: Use proc_create() to setup ->proc_fops first 2008-02-28 14:06:14 -08:00
irda [IRDA]: Store irnet_socket termios properly. 2008-03-26 00:55:50 -07:00
iucv iucv: fix build error on !SMP 2008-03-03 12:12:33 -08:00
key [IPSEC]: Fix inter address family IPsec tunnel handling. 2008-03-24 14:51:51 -07:00
lapb [LAPB] net/lapb/lapb_iface.c: use LIST_HEAD instead of LIST_HEAD_INIT 2008-01-28 14:56:52 -08:00
llc [LLC]: skb allocation size for responses 2008-03-31 21:02:47 -07:00
mac80211 mac80211: remove message on receiving unexpected unencrypted frames 2008-04-15 15:04:36 -04:00
netfilter [NETFILTER]: xt_hashlimit: fix mask calculation 2008-04-09 15:14:18 -07:00
netlabel [NETLABEL]: Move some initialization code into __init section. 2008-02-17 22:33:57 -08:00
netlink [GENETLINK]: Relax dances with genl_lock. 2008-02-12 22:16:33 -08:00
netrom [NET]: Simple ctl_table to ctl_path conversions. 2008-01-28 15:01:07 -08:00
packet [PACKET]: Fix sparse warnings in af_packet.c 2008-01-28 15:00:48 -08:00
rfkill rfkill: Fix device type check when toggling states 2008-04-15 15:04:35 -04:00
rose [ROSE/AX25] af_rose: rose_release() fix 2008-04-01 23:56:17 -07:00
rxrpc AFS: Do not describe debug parameters with their value 2008-04-16 07:43:48 -07:00
sched [NET_SCHED] sch_api: fix qdisc_tree_decrease_qlen() loop 2008-04-14 15:10:42 -07:00
sctp [SCTP]: IPv4 vs IPv6 addresses mess in sctp_inet[6]addr_event. 2008-04-12 18:40:38 -07:00
sunrpc IB/core: Add support for "send with invalidate" work requests 2008-04-16 21:09:32 -07:00
tipc tipc: fix integer as NULL pointer sparse warnings in tipc 2008-02-24 18:38:31 -08:00
unix Introduce path_put() 2008-02-14 21:13:33 -08:00
wanrouter [WANROUTER]: Use proc_create() to setup ->proc_fops first 2008-02-28 14:15:56 -08:00
wireless nl80211: fix STA AID bug 2008-04-07 22:19:30 -04:00
x25 [X25]: Use proc_create() to setup ->proc_fops first 2008-02-28 14:16:33 -08:00
xfrm [XFRM]: xfrm_user: fix selector family initialization 2008-04-09 15:08:24 -07:00
Kconfig namespaces: mark NET_NS with "depends on NAMESPACES" 2008-02-08 09:22:23 -08:00
Makefile [CAN]: Add PF_CAN core module 2008-01-28 14:54:10 -08:00
TUNABLE
compat.c [NETFILTER]: ip6_tables: add compat support 2008-01-28 14:58:36 -08:00
nonet.c
socket.c [DLCI]: Fix tiny race between module unload and sock_ioctl. 2008-03-21 15:58:52 -07:00
sysctl_net.c [NET]: Remove the empty net_table 2008-01-28 14:56:29 -08:00