Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
Conflicts: net/ipv6/xfrm6_output.c net/openvswitch/flow_netlink.c net/openvswitch/vport-gre.c net/openvswitch/vport-vxlan.c net/openvswitch/vport.c net/openvswitch/vport.h The openvswitch conflicts were overlapping changes. One was the egress tunnel info fix in 'net' and the other was the vport ->send() op simplification in 'net-next'. The xfrm6_output.c conflicts was also a simplification overlapping a bug fix. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -42,7 +42,8 @@
|
||||
#include "core.h"
|
||||
|
||||
#define MAX_PKT_DEFAULT_MCAST 1500 /* bcast link max packet size (fixed) */
|
||||
#define BCLINK_WIN_DEFAULT 20 /* bcast link window size (default) */
|
||||
#define BCLINK_WIN_DEFAULT 50 /* bcast link window size (default) */
|
||||
#define BCLINK_WIN_MIN 32 /* bcast minimum link window size */
|
||||
|
||||
const char tipc_bclink_name[] = "broadcast-link";
|
||||
|
||||
@@ -908,9 +909,10 @@ int tipc_bclink_set_queue_limits(struct net *net, u32 limit)
|
||||
|
||||
if (!bcl)
|
||||
return -ENOPROTOOPT;
|
||||
if ((limit < TIPC_MIN_LINK_WIN) || (limit > TIPC_MAX_LINK_WIN))
|
||||
if (limit < BCLINK_WIN_MIN)
|
||||
limit = BCLINK_WIN_MIN;
|
||||
if (limit > TIPC_MAX_LINK_WIN)
|
||||
return -EINVAL;
|
||||
|
||||
tipc_bclink_lock(net);
|
||||
tipc_link_set_queue_limits(bcl, limit);
|
||||
tipc_bclink_unlock(net);
|
||||
|
@@ -121,7 +121,7 @@ int tipc_buf_append(struct sk_buff **headbuf, struct sk_buff **buf)
|
||||
{
|
||||
struct sk_buff *head = *headbuf;
|
||||
struct sk_buff *frag = *buf;
|
||||
struct sk_buff *tail;
|
||||
struct sk_buff *tail = NULL;
|
||||
struct tipc_msg *msg;
|
||||
u32 fragid;
|
||||
int delta;
|
||||
@@ -141,9 +141,15 @@ int tipc_buf_append(struct sk_buff **headbuf, struct sk_buff **buf)
|
||||
if (unlikely(skb_unclone(frag, GFP_ATOMIC)))
|
||||
goto err;
|
||||
head = *headbuf = frag;
|
||||
skb_frag_list_init(head);
|
||||
TIPC_SKB_CB(head)->tail = NULL;
|
||||
*buf = NULL;
|
||||
TIPC_SKB_CB(head)->tail = NULL;
|
||||
if (skb_is_nonlinear(head)) {
|
||||
skb_walk_frags(head, tail) {
|
||||
TIPC_SKB_CB(head)->tail = tail;
|
||||
}
|
||||
} else {
|
||||
skb_frag_list_init(head);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@@ -52,6 +52,8 @@
|
||||
/* IANA assigned UDP port */
|
||||
#define UDP_PORT_DEFAULT 6118
|
||||
|
||||
#define UDP_MIN_HEADROOM 28
|
||||
|
||||
static const struct nla_policy tipc_nl_udp_policy[TIPC_NLA_UDP_MAX + 1] = {
|
||||
[TIPC_NLA_UDP_UNSPEC] = {.type = NLA_UNSPEC},
|
||||
[TIPC_NLA_UDP_LOCAL] = {.type = NLA_BINARY,
|
||||
@@ -156,6 +158,9 @@ static int tipc_udp_send_msg(struct net *net, struct sk_buff *skb,
|
||||
struct sk_buff *clone;
|
||||
struct rtable *rt;
|
||||
|
||||
if (skb_headroom(skb) < UDP_MIN_HEADROOM)
|
||||
pskb_expand_head(skb, UDP_MIN_HEADROOM, 0, GFP_ATOMIC);
|
||||
|
||||
clone = skb_clone(skb, GFP_ATOMIC);
|
||||
skb_set_inner_protocol(clone, htons(ETH_P_TIPC));
|
||||
ub = rcu_dereference_rtnl(b->media_ptr);
|
||||
|
Reference in New Issue
Block a user