diff mbox series

[1/1] qmi_wwan: add MTU default to qmap network interface

Message ID 1546604770-31149-1-git-send-email-dnlplm@gmail.com
State Accepted
Delegated to: David Miller
Headers show
Series [1/1] qmi_wwan: add MTU default to qmap network interface | expand

Commit Message

Daniele Palmas Jan. 4, 2019, 12:26 p.m. UTC
This patch adds MTU default value to qmap network interface in
order to avoid "RTNETLINK answers: No buffer space available"
error when setting an ipv6 address.

Signed-off-by: Daniele Palmas <dnlplm@gmail.com>
---
 drivers/net/usb/qmi_wwan.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Bjørn Mork Jan. 4, 2019, 1:24 p.m. UTC | #1
Daniele Palmas <dnlplm@gmail.com> writes:

> This patch adds MTU default value to qmap network interface in
> order to avoid "RTNETLINK answers: No buffer space available"
> error when setting an ipv6 address.
>
> Signed-off-by: Daniele Palmas <dnlplm@gmail.com>
> ---
>  drivers/net/usb/qmi_wwan.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c
> index 774e1ff..735ad83 100644
> --- a/drivers/net/usb/qmi_wwan.c
> +++ b/drivers/net/usb/qmi_wwan.c
> @@ -123,6 +123,7 @@ static void qmimux_setup(struct net_device *dev)
>  	dev->addr_len        = 0;
>  	dev->flags           = IFF_POINTOPOINT | IFF_NOARP | IFF_MULTICAST;
>  	dev->netdev_ops      = &qmimux_netdev_ops;
> +	dev->mtu             = 1500;
>  	dev->needs_free_netdev = true;
>  }

Setting some value makes sense, but hard coding 1500 feels wrong.
Should this relate to the real device mtu somehow?  Do we need a
ndo_change_mtu to enforce this relationship?  Should qmimux_rx_fixup()
respect the qmap device mtu?

I'm fine with this patch as a first step and immediate fix, so

Acked-by: Bjørn Mork <bjorn@mork.no>
Daniele Palmas Jan. 4, 2019, 4:06 p.m. UTC | #2
Hi Bjørn,

Il giorno ven 4 gen 2019 alle ore 14:24 Bjørn Mork <bjorn@mork.no> ha scritto:
>
> Daniele Palmas <dnlplm@gmail.com> writes:
>
> > This patch adds MTU default value to qmap network interface in
> > order to avoid "RTNETLINK answers: No buffer space available"
> > error when setting an ipv6 address.
> >
> > Signed-off-by: Daniele Palmas <dnlplm@gmail.com>
> > ---
> >  drivers/net/usb/qmi_wwan.c | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c
> > index 774e1ff..735ad83 100644
> > --- a/drivers/net/usb/qmi_wwan.c
> > +++ b/drivers/net/usb/qmi_wwan.c
> > @@ -123,6 +123,7 @@ static void qmimux_setup(struct net_device *dev)
> >       dev->addr_len        = 0;
> >       dev->flags           = IFF_POINTOPOINT | IFF_NOARP | IFF_MULTICAST;
> >       dev->netdev_ops      = &qmimux_netdev_ops;
> > +     dev->mtu             = 1500;
> >       dev->needs_free_netdev = true;
> >  }
>
> Setting some value makes sense, but hard coding 1500 feels wrong.
> Should this relate to the real device mtu somehow?  Do we need a
> ndo_change_mtu to enforce this relationship?  Should qmimux_rx_fixup()
> respect the qmap device mtu?
>

yes, all your questions seem relevant to me: in the the first draft of
my patch qmap mtu was related to the real dev mtu, considering also
the qmap header, but then I took a look at how the rmnet driver is
managing mtu.

If I'm not wrong, it seems that mtu is hardcoded also for rmnet
(RMNET_DFLT_PACKET_SIZE = 1500 defined in
drivers/net/ethernet/qualcomm/rmnet/rmnet_private.h and applied in
rmnet_vnd_setup function at rmnet_vnd.c).

I do not see any part of code in which the rmnet mtu is related to the
mtu of the underlying device (but maybe it's me that is missing
something obvious) so I used the same approach, hard coding the value.

Maybe should  usbnet_change_mtu be called with the qmap network
interface mtu (+ qmap header size ?) when creating a qmap device, like
in qmi_wwan_netdev_setup?

Sorry in advance if I'm writing silly things...

Thanks,
Daniele

> I'm fine with this patch as a first step and immediate fix, so
>
> Acked-by: Bjørn Mork <bjorn@mork.no>
David Miller Jan. 4, 2019, 9:36 p.m. UTC | #3
From: Daniele Palmas <dnlplm@gmail.com>
Date: Fri,  4 Jan 2019 13:26:10 +0100

> This patch adds MTU default value to qmap network interface in
> order to avoid "RTNETLINK answers: No buffer space available"
> error when setting an ipv6 address.
> 
> Signed-off-by: Daniele Palmas <dnlplm@gmail.com>

Applied.
diff mbox series

Patch

diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c
index 774e1ff..735ad83 100644
--- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c
@@ -123,6 +123,7 @@  static void qmimux_setup(struct net_device *dev)
 	dev->addr_len        = 0;
 	dev->flags           = IFF_POINTOPOINT | IFF_NOARP | IFF_MULTICAST;
 	dev->netdev_ops      = &qmimux_netdev_ops;
+	dev->mtu             = 1500;
 	dev->needs_free_netdev = true;
 }