diff mbox series

[net,v2] mpls: load mpls_gso after mpls_iptunnel

Message ID 20201020114333.26866-1-ovov@yandex-team.ru (mailing list archive)
State Not Applicable
Delegated to: Netdev Maintainers
Headers show
Series [net,v2] mpls: load mpls_gso after mpls_iptunnel | expand

Commit Message

Alexander Ovechkin Oct. 20, 2020, 11:43 a.m. UTC
mpls_iptunnel is used only for mpls encapsuation, and if encaplusated
packet is larger than MTU we need mpls_gso for segmentation.

Signed-off-by: Alexander Ovechkin <ovov@yandex-team.ru>
Acked-by: Dmitry Yakunin <zeil@yandex-team.ru>
---
 net/mpls/mpls_iptunnel.c | 1 +
 1 file changed, 1 insertion(+)

Comments

David Ahern Oct. 21, 2020, 2:28 a.m. UTC | #1
On 10/20/20 5:43 AM, Alexander Ovechkin wrote:
> mpls_iptunnel is used only for mpls encapsuation, and if encaplusated
> packet is larger than MTU we need mpls_gso for segmentation.
> 
> Signed-off-by: Alexander Ovechkin <ovov@yandex-team.ru>
> Acked-by: Dmitry Yakunin <zeil@yandex-team.ru>
> ---
>  net/mpls/mpls_iptunnel.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/net/mpls/mpls_iptunnel.c b/net/mpls/mpls_iptunnel.c
> index 2def85718d94..ef59e25dc482 100644
> --- a/net/mpls/mpls_iptunnel.c
> +++ b/net/mpls/mpls_iptunnel.c
> @@ -300,5 +300,6 @@ static void __exit mpls_iptunnel_exit(void)
>  module_exit(mpls_iptunnel_exit);
>  
>  MODULE_ALIAS_RTNL_LWT(MPLS);
> +MODULE_SOFTDEP("post: mpls_gso");
>  MODULE_DESCRIPTION("MultiProtocol Label Switching IP Tunnels");
>  MODULE_LICENSE("GPL v2");
> 

Reviewed-by: David Ahern <dsahern@gmail.com>
Jakub Kicinski Oct. 21, 2020, 4:18 a.m. UTC | #2
On Tue, 20 Oct 2020 20:28:25 -0600 David Ahern wrote:
> On 10/20/20 5:43 AM, Alexander Ovechkin wrote:
> > mpls_iptunnel is used only for mpls encapsuation, and if encaplusated
> > packet is larger than MTU we need mpls_gso for segmentation.
> > 
> > Signed-off-by: Alexander Ovechkin <ovov@yandex-team.ru>
> > Acked-by: Dmitry Yakunin <zeil@yandex-team.ru>
> 
> Reviewed-by: David Ahern <dsahern@gmail.com>

Applied, thank you!
Guillaume Nault Oct. 21, 2020, 9:30 a.m. UTC | #3
On Tue, Oct 20, 2020 at 02:43:33PM +0300, Alexander Ovechkin wrote:
> mpls_iptunnel is used only for mpls encapsuation, and if encaplusated
> packet is larger than MTU we need mpls_gso for segmentation.
> 
> Signed-off-by: Alexander Ovechkin <ovov@yandex-team.ru>
> Acked-by: Dmitry Yakunin <zeil@yandex-team.ru>
> ---
>  net/mpls/mpls_iptunnel.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/net/mpls/mpls_iptunnel.c b/net/mpls/mpls_iptunnel.c
> index 2def85718d94..ef59e25dc482 100644
> --- a/net/mpls/mpls_iptunnel.c
> +++ b/net/mpls/mpls_iptunnel.c
> @@ -300,5 +300,6 @@ static void __exit mpls_iptunnel_exit(void)
>  module_exit(mpls_iptunnel_exit);
>  
>  MODULE_ALIAS_RTNL_LWT(MPLS);
> +MODULE_SOFTDEP("post: mpls_gso");
>  MODULE_DESCRIPTION("MultiProtocol Label Switching IP Tunnels");
>  MODULE_LICENSE("GPL v2");

Then CONFIG_MPLS_IPTUNNEL should probably select CONFIG_NET_MPLS_GSO.
Currently, one can build mpls_iptunnel.ko without mpls_gso.ko.

Also, MPLS encapsulation can also be done with act_mpls.ko. So this
module should probably have this softdep too (and the Kconfig
dependency).
diff mbox series

Patch

diff --git a/net/mpls/mpls_iptunnel.c b/net/mpls/mpls_iptunnel.c
index 2def85718d94..ef59e25dc482 100644
--- a/net/mpls/mpls_iptunnel.c
+++ b/net/mpls/mpls_iptunnel.c
@@ -300,5 +300,6 @@  static void __exit mpls_iptunnel_exit(void)
 module_exit(mpls_iptunnel_exit);
 
 MODULE_ALIAS_RTNL_LWT(MPLS);
+MODULE_SOFTDEP("post: mpls_gso");
 MODULE_DESCRIPTION("MultiProtocol Label Switching IP Tunnels");
 MODULE_LICENSE("GPL v2");