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 <o...@yandex-team.ru> > Acked-by: Dmitry Yakunin <z...@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).