IB/core: Add flow control to the portmapper netlink calls

During connection establishment with a large number of
connections, it is possible that the connection requests
might fail. Adding flow control prevents this failure.
Change ibnl_unicast to use blocking to enable flow control.

Signed-off-by: Mustafa Ismail <mustafa.ismail@intel.com>
Signed-off-by: Faisal Latif <faisal.latif@intel.com>
Signed-off-by: Shiraz Saleem <shiraz.saleem@intel.com>
Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:
Mustafa Ismail 2016-07-28 15:02:26 -05:00 committed by Doug Ledford
parent 3b8fb4b86c
commit cea05eadde

View File

@ -229,7 +229,10 @@ static void ibnl_rcv(struct sk_buff *skb)
int ibnl_unicast(struct sk_buff *skb, struct nlmsghdr *nlh, int ibnl_unicast(struct sk_buff *skb, struct nlmsghdr *nlh,
__u32 pid) __u32 pid)
{ {
return nlmsg_unicast(nls, skb, pid); int err;
err = netlink_unicast(nls, skb, pid, 0);
return (err < 0) ? err : 0;
} }
EXPORT_SYMBOL(ibnl_unicast); EXPORT_SYMBOL(ibnl_unicast);
@ -252,6 +255,7 @@ int __init ibnl_init(void)
return -ENOMEM; return -ENOMEM;
} }
nls->sk_sndtimeo = 10 * HZ;
return 0; return 0;
} }