The IPVlan module currently depends on IPv6 and L3 Master dev. Refactor the code to allow building IPVlan module regardless of the value of CONFIG_IPV6 and CONFIG_NETFILTER, and change the CONFIG_NET_L3_MASTER_DEV dependency into a select, as compiling L3 Master device alone has no sense.
$ grep -wE 'CONFIG_(IPV6|IPVLAN)' .config CONFIG_IPV6=y CONFIG_IPVLAN=m $ ll drivers/net/ipvlan/ipvlan.ko 48K drivers/net/ipvlan/ipvlan.ko $ grep -wE 'CONFIG_(IPV6|IPVLAN)' .config # CONFIG_IPV6 is not set CONFIG_IPVLAN=m $ ll drivers/net/ipvlan/ipvlan.ko 44K drivers/net/ipvlan/ipvlan.ko Matteo Croce (2): ipvlan: drop ipv6 dependency ipvlan: selects master_l3 device instead of depending on it drivers/net/Kconfig | 3 +- drivers/net/ipvlan/ipvlan_core.c | 71 ++++++++++++++++++++++++++++++---------- drivers/net/ipvlan/ipvlan_main.c | 48 +++++++++++++++++---------- 3 files changed, 85 insertions(+), 37 deletions(-) -- 2.14.3