This is a note to let you know that I've just added the patch titled macvlan: allow to enqueue broadcast pkt on virtual device to the 3.16-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: macvlan-allow-to-enqueue-broadcast-pkt-on-virtual-device.patch and it can be found in the queue-3.16 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From foo@baz Sun Oct 12 20:11:55 CEST 2014 From: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Date: Wed, 17 Sep 2014 10:08:08 +0200 Subject: macvlan: allow to enqueue broadcast pkt on virtual device From: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> [ Upstream commit 07d92d5cc977a7fe1e683e1d4a6f723f7f2778cb ] Since commit 412ca1550cbe ("macvlan: Move broadcasts into a work queue"), the driver uses tx_queue_len of the master device as the limit of packets enqueuing. Problem is that virtual drivers have this value set to 0, thus all broadcast packets were rejected. Because tx_queue_len was arbitrarily chosen, I replace it with a static limit of 1000 (also arbitrarily chosen). CC: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Reported-by: Thibaut Collet <thibaut.collet@xxxxxxxxx> Suggested-by: Thibaut Collet <thibaut.collet@xxxxxxxxx> Tested-by: Thibaut Collet <thibaut.collet@xxxxxxxxx> Signed-off-by: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx> Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/net/macvlan.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) --- a/drivers/net/macvlan.c +++ b/drivers/net/macvlan.c @@ -36,6 +36,7 @@ #include <linux/netpoll.h> #define MACVLAN_HASH_SIZE (1 << BITS_PER_BYTE) +#define MACVLAN_BC_QUEUE_LEN 1000 struct macvlan_port { struct net_device *dev; @@ -248,7 +249,7 @@ static void macvlan_broadcast_enqueue(st goto err; spin_lock(&port->bc_queue.lock); - if (skb_queue_len(&port->bc_queue) < skb->dev->tx_queue_len) { + if (skb_queue_len(&port->bc_queue) < MACVLAN_BC_QUEUE_LEN) { __skb_queue_tail(&port->bc_queue, nskb); err = 0; } Patches currently in stable-queue which might be from nicolas.dichtel@xxxxxxxxx are queue-3.16/ipv6-remove-rt6i_genid.patch queue-3.16/sit-fix-ipip6_tunnel_lookup-device-matching-criteria.patch queue-3.16/macvlan-allow-to-enqueue-broadcast-pkt-on-virtual-device.patch queue-3.16/ip6_gre-fix-flowi6_proto-value-in-xmit-path.patch -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html