[ovs-dev,1/3] datapath: Fix max MTU size on RHEL 7.5 kernel

Message ID 1528764623-19974-1-git-send-email-yihung.wei@gmail.com
State Accepted
Headers show
Series
  • [ovs-dev,1/3] datapath: Fix max MTU size on RHEL 7.5 kernel
Related show

Commit Message

Yi-Hung Wei June 12, 2018, 12:50 a.m.
Without the patch, in RHEL 7.5, the maximum configurable MTU of vport
internal device is 1500, which shall be 65535.  This patch fixes this
issue.

Fixes: 39ca338374ab ("datapath: compat: Fix build on RHEL 7.5")
Reported-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
Signed-off-by: Yi-Hung Wei <yihung.wei@gmail.com>
---
 datapath/vport-internal_dev.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Gregory Rose June 12, 2018, 10:25 p.m. | #1
On 6/11/2018 5:50 PM, Yi-Hung Wei wrote:
> Without the patch, in RHEL 7.5, the maximum configurable MTU of vport
> internal device is 1500, which shall be 65535.  This patch fixes this
> issue.
>
> Fixes: 39ca338374ab ("datapath: compat: Fix build on RHEL 7.5")
> Reported-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
> Signed-off-by: Yi-Hung Wei <yihung.wei@gmail.com>
> ---
>   datapath/vport-internal_dev.c | 2 ++
>   1 file changed, 2 insertions(+)
>
> diff --git a/datapath/vport-internal_dev.c b/datapath/vport-internal_dev.c
> index 3cb8d06b2475..3fa86815c7fa 100644
> --- a/datapath/vport-internal_dev.c
> +++ b/datapath/vport-internal_dev.c
> @@ -169,6 +169,8 @@ static void do_setup(struct net_device *netdev)
>   
>   #ifdef HAVE_NET_DEVICE_WITH_MAX_MTU
>   	netdev->max_mtu = ETH_MAX_MTU;
> +#elif HAVE_RHEL7_MAX_MTU
> +	netdev->extended->max_mtu = ETH_MAX_MTU;
>   #endif
>   	netdev->netdev_ops = &internal_dev_netdev_ops;
>   
Works as advertised.

Reviewed-by: Greg Rose <gvrose8192@gmail.com>
Tested-by: Greg Rose <gvrose8192@gmail.com>
Lucas Alvares Gomes June 14, 2018, 12:18 p.m. | #2
On Tue, Jun 12, 2018 at 1:50 AM, Yi-Hung Wei <yihung.wei@gmail.com> wrote:
> Without the patch, in RHEL 7.5, the maximum configurable MTU of vport
> internal device is 1500, which shall be 65535.  This patch fixes this
> issue.
>
> Fixes: 39ca338374ab ("datapath: compat: Fix build on RHEL 7.5")
> Reported-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
> Signed-off-by: Yi-Hung Wei <yihung.wei@gmail.com>
> ---
>  datapath/vport-internal_dev.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/datapath/vport-internal_dev.c b/datapath/vport-internal_dev.c
> index 3cb8d06b2475..3fa86815c7fa 100644
> --- a/datapath/vport-internal_dev.c
> +++ b/datapath/vport-internal_dev.c
> @@ -169,6 +169,8 @@ static void do_setup(struct net_device *netdev)
>
>  #ifdef HAVE_NET_DEVICE_WITH_MAX_MTU
>         netdev->max_mtu = ETH_MAX_MTU;
> +#elif HAVE_RHEL7_MAX_MTU
> +       netdev->extended->max_mtu = ETH_MAX_MTU;
>  #endif
>         netdev->netdev_ops = &internal_dev_netdev_ops;
>
> --
> 2.7.4
>
> _______________________________________________
> dev mailing list
> dev@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Acked-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
Ben Pfaff June 14, 2018, 7:57 p.m. | #3
Thanks Yi-Hung (and Greg).  I applied these to master.  If they need
backports, let me know.

Patch

diff --git a/datapath/vport-internal_dev.c b/datapath/vport-internal_dev.c
index 3cb8d06b2475..3fa86815c7fa 100644
--- a/datapath/vport-internal_dev.c
+++ b/datapath/vport-internal_dev.c
@@ -169,6 +169,8 @@  static void do_setup(struct net_device *netdev)
 
 #ifdef HAVE_NET_DEVICE_WITH_MAX_MTU
 	netdev->max_mtu = ETH_MAX_MTU;
+#elif HAVE_RHEL7_MAX_MTU
+	netdev->extended->max_mtu = ETH_MAX_MTU;
 #endif
 	netdev->netdev_ops = &internal_dev_netdev_ops;