From: Stephen Hemminger <stephen@networkplumber.org>
To: David Miller <davem@davemloft.net>,
Kyeyoon Park <kyeyoonp@codeaurora.org>
Cc: netdev@vger.kernel.org
Subject: [PATCH net-next v2] bridge: make proxy arp configurable
Date: Sun, 30 Nov 2014 09:20:01 -0800 [thread overview]
Message-ID: <20141130092001.7168dc72@urahara> (raw)
This solves kernel build without INET enabled, and allows user
to control enabling this feature.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
net/bridge/Kconfig | 15 +++++++++++++++
net/bridge/br_input.c | 4 ++++
net/bridge/br_sysfs_if.c | 4 ++++
3 files changed, 23 insertions(+)
--- a/net/bridge/Kconfig 2014-11-25 09:42:34.687891662 -0800
+++ b/net/bridge/Kconfig 2014-11-25 09:42:34.683891643 -0800
@@ -60,3 +60,18 @@ config BRIDGE_VLAN_FILTERING
Say N to exclude this support and reduce the binary size.
If unsure, say Y.
+
+config BRIDGE_ARP_PROXY
+ bool "ARP proxying"
+ depends on BRIDGE
+ depends on INET
+ default y
+ ---help---
+ If you say Y here, then the Ethernet bridge to keep track of
+ the hardware address to IP address mapping.
+
+ It is most useful when used as a wireless AP.
+
+ Say N to exclude this support and reduce the binary size.
+
+ If unsure, say Y.
--- a/net/bridge/br_input.c 2014-11-25 09:42:34.687891662 -0800
+++ b/net/bridge/br_input.c 2014-11-25 09:42:34.683891643 -0800
@@ -59,6 +59,7 @@ static int br_pass_frame_up(struct sk_bu
netif_receive_skb);
}
+#ifdef CONFIG_BRIDGE_PROXY_ARP
static void br_do_proxy_arp(struct sk_buff *skb, struct net_bridge *br,
u16 vid)
{
@@ -112,6 +113,7 @@ static void br_do_proxy_arp(struct sk_bu
neigh_release(n);
}
}
+#endif
/* note: already called with rcu_read_lock */
int br_handle_frame_finish(struct sk_buff *skb)
@@ -154,9 +156,11 @@ int br_handle_frame_finish(struct sk_buf
dst = NULL;
if (is_broadcast_ether_addr(dest)) {
+#ifdef CONFIG_BRIDGE_PROXY_ARP
if (p->flags & BR_PROXYARP &&
skb->protocol == htons(ETH_P_ARP))
br_do_proxy_arp(skb, br, vid);
+#endif
skb2 = skb;
unicast = false;
--- a/net/bridge/br_sysfs_if.c 2014-11-25 09:42:34.687891662 -0800
+++ b/net/bridge/br_sysfs_if.c 2014-11-25 09:42:34.687891662 -0800
@@ -170,7 +170,9 @@ BRPORT_ATTR_FLAG(bpdu_guard, BR_BPDU_GUA
BRPORT_ATTR_FLAG(root_block, BR_ROOT_BLOCK);
BRPORT_ATTR_FLAG(learning, BR_LEARNING);
BRPORT_ATTR_FLAG(unicast_flood, BR_FLOOD);
+#ifdef CONFIG_BRIDGE_PROXY_ARP
BRPORT_ATTR_FLAG(proxyarp, BR_PROXYARP);
+#endif
#ifdef CONFIG_BRIDGE_IGMP_SNOOPING
static ssize_t show_multicast_router(struct net_bridge_port *p, char *buf)
@@ -214,7 +216,9 @@ static const struct brport_attribute *br
&brport_attr_multicast_router,
&brport_attr_multicast_fast_leave,
#endif
+#ifdef CONFIG_BRIDGE_PROXY_ARP
&brport_attr_proxyarp,
+#endif
NULL
};
next reply other threads:[~2014-11-30 17:20 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-30 17:20 Stephen Hemminger [this message]
2014-11-30 18:20 ` [PATCH net-next v2] bridge: make proxy arp configurable Sabrina Dubroca
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20141130092001.7168dc72@urahara \
--to=stephen@networkplumber.org \
--cc=davem@davemloft.net \
--cc=kyeyoonp@codeaurora.org \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.