On Wed, Oct 28, 2020 at 12:35:17PM -0700, Cong Wang wrote: > On Tue, Oct 27, 2020 at 2:39 PM Guillaume Nault <gna...@redhat.com> wrote: > > > > On Tue, Oct 27, 2020 at 10:28:29AM -0700, Cong Wang wrote: > > > On Mon, Oct 26, 2020 at 4:23 AM Guillaume Nault <gna...@redhat.com> wrote: > > > > > > > > TCA_MPLS_ACT_PUSH and TCA_MPLS_ACT_MAC_PUSH might be used on gso > > > > packets. Such packets will thus require mpls_gso.ko for segmentation. > > > > > > Any reason not to call request_module() at run time? > > > > So that mpls_gso would be loaded only when initialising the > > TCA_MPLS_ACT_PUSH or TCA_MPLS_ACT_MAC_PUSH modes? > > Yes, exactly. > > > > > That could be done, but the dependency on mpls_gso wouldn't be visible > > anymore with modinfo. I don't really mind, I just felt that such > > information could be important for the end user. > > I think the dependency is determined at run time based on > TCA_MPLS_ACT_*, so it should be reflected at run time, rather than at > compile time. > > If loading mpls_gso even when not needed is not a big deal, I am fine > with your patch too.
Loading mpls_gso looks harmless. It just registers GSO handlers for ETH_P_MPLS_UC and for ETH_P_MPLS_MC with a low priority. Since we're not adding a build dependency on mpls_gso for act_mpls, I have a slight preference for having the soft dependency being reported by modinfo. This gives a chance to the user to figure out that mpls_gso can be necessary. > Thanks. >