On Thu, Sep 26, 2019 at 11:59 PM Haishuang Yan <yanhaishu...@cmss.chinamobile.com> wrote: > > erspan driver calls ether_setup(), after commit 61e84623ace3 > ("net: centralize net_device min/max MTU checking"), the range > of mtu is [min_mtu, max_mtu], which is [68, 1500] by default. > > It causes the dev mtu of the erspan device to not be greater > than 1500, this limit value is not correct for ipgre tap device. > > Tested: > Before patch: > # ip link set erspan0 mtu 1600 > Error: mtu greater than device maximum. > After patch: > # ip link set erspan0 mtu 1600 > # ip -d link show erspan0 > 21: erspan0@NONE: <BROADCAST,MULTICAST> mtu 1600 qdisc noop state DOWN > mode DEFAULT group default qlen 1000 > link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff promiscuity 0 minmtu > 68 maxmtu 0 > > Fixes: 61e84623ace3 ("net: centralize net_device min/max MTU checking") > Signed-off-by: Haishuang Yan <yanhaishu...@cmss.chinamobile.com> > ---
Thanks for the patch! Acked-by: William Tu <u9012...@gmail.com> > net/ipv4/ip_gre.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c > index a53a543..52690bb 100644 > --- a/net/ipv4/ip_gre.c > +++ b/net/ipv4/ip_gre.c > @@ -1446,6 +1446,7 @@ static void erspan_setup(struct net_device *dev) > struct ip_tunnel *t = netdev_priv(dev); > > ether_setup(dev); > + dev->max_mtu = 0; > dev->netdev_ops = &erspan_netdev_ops; > dev->priv_flags &= ~IFF_TX_SKB_SHARING; > dev->priv_flags |= IFF_LIVE_ADDR_CHANGE; > -- > 1.8.3.1 > > >