Historically, the bridge subsystem relied on CONFIG_INET to guard ARP and RARP proxy and suppression routines. As CONFIG_IPV4 is decoupled from the core stack and made optional, relying on CONFIG_INET is no longer accurate, as ARP and RARP are exclusively IPv4 protocols.
Signed-off-by: Fernando Fernandez Mancera <[email protected]> --- net/bridge/br_arp_nd_proxy.c | 2 +- net/bridge/br_device.c | 2 +- net/bridge/br_input.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/net/bridge/br_arp_nd_proxy.c b/net/bridge/br_arp_nd_proxy.c index da15f4d7c1ae..d739b8697429 100644 --- a/net/bridge/br_arp_nd_proxy.c +++ b/net/bridge/br_arp_nd_proxy.c @@ -39,7 +39,6 @@ void br_recalculate_neigh_suppress_enabled(struct net_bridge *br) br_opt_toggle(br, BROPT_NEIGH_SUPPRESS_ENABLED, neigh_suppress); } -#if IS_ENABLED(CONFIG_INET) static bool br_is_neigh_suppress_enabled_vid(const struct net_bridge_port *p, u16 vid) { @@ -57,6 +56,7 @@ br_is_neigh_suppress_enabled_vid(const struct net_bridge_port *p, u16 vid) return br_is_neigh_suppress_enabled(p, v); } +#if IS_ENABLED(CONFIG_IPV4) static void br_arp_send(struct net_bridge *br, struct net_bridge_port *p, struct net_device *dev, __be32 dest_ip, __be32 src_ip, const unsigned char *dest_hw, diff --git a/net/bridge/br_device.c b/net/bridge/br_device.c index ce9ea9ac3d0a..a3e5a521178f 100644 --- a/net/bridge/br_device.c +++ b/net/bridge/br_device.c @@ -69,7 +69,7 @@ netdev_tx_t br_dev_xmit(struct sk_buff *skb, struct net_device *dev) &state, &vlan)) goto out; - if (IS_ENABLED(CONFIG_INET) && + if (IS_ENABLED(CONFIG_IPV4) && (eth_hdr(skb)->h_proto == htons(ETH_P_ARP) || eth_hdr(skb)->h_proto == htons(ETH_P_RARP)) && br_opt_get(br, BROPT_NEIGH_SUPPRESS_ENABLED)) { diff --git a/net/bridge/br_input.c b/net/bridge/br_input.c index 4357d78524a6..584ac6c2215c 100644 --- a/net/bridge/br_input.c +++ b/net/bridge/br_input.c @@ -166,7 +166,7 @@ int br_handle_frame_finish(struct net *net, struct sock *sk, struct sk_buff *skb BR_INPUT_SKB_CB(skb)->brdev = br->dev; BR_INPUT_SKB_CB(skb)->src_port_isolated = test_bit(BR_ISOLATED_BIT, &p->flags); - if (IS_ENABLED(CONFIG_INET) && + if (IS_ENABLED(CONFIG_IPV4) && (skb->protocol == htons(ETH_P_ARP) || skb->protocol == htons(ETH_P_RARP))) { br_do_proxy_suppress_arp(skb, br, vid, p); -- 2.55.0

