On Fri, Apr 08, 2016 at 01:26:48PM +0800, Jason Wang wrote: > After commit f84bb1eac027 ("net: fix IFF_NO_QUEUE for drivers using > alloc_netdev"), default qdisc was changed to noqueue because > tuntap does not set tx_queue_len during .setup(). This patch restores > default qdisc by setting tx_queue_len in tun_setup(). > > Fixes: f84bb1eac027 ("net: fix IFF_NO_QUEUE for drivers using alloc_netdev") > Cc: Phil Sutter <p...@nwl.cc> > Signed-off-by: Jason Wang <jasow...@redhat.com>
Acked-by: Michael S. Tsirkin <m...@redhat.com> > --- > drivers/net/tun.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/tun.c b/drivers/net/tun.c > index 510e90a..2c9e45f5 100644 > --- a/drivers/net/tun.c > +++ b/drivers/net/tun.c > @@ -1015,7 +1015,6 @@ static void tun_net_init(struct net_device *dev) > /* Zero header length */ > dev->type = ARPHRD_NONE; > dev->flags = IFF_POINTOPOINT | IFF_NOARP | IFF_MULTICAST; > - dev->tx_queue_len = TUN_READQ_SIZE; /* We prefer our own queue > length */ > break; > > case IFF_TAP: > @@ -1027,7 +1026,6 @@ static void tun_net_init(struct net_device *dev) > > eth_hw_addr_random(dev); > > - dev->tx_queue_len = TUN_READQ_SIZE; /* We prefer our own queue > length */ > break; > } > } > @@ -1481,6 +1479,8 @@ static void tun_setup(struct net_device *dev) > > dev->ethtool_ops = &tun_ethtool_ops; > dev->destructor = tun_free_netdev; > + /* We prefer our own queue length */ > + dev->tx_queue_len = TUN_READQ_SIZE; > } > > /* Trivial set of netlink ops to allow deleting tun or tap > -- > 2.5.0