diff options
author | Vlad Yasevich <vyasevic@redhat.com> | 2013-03-06 10:39:42 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-03-07 15:29:45 -0500 |
commit | 090096bf3db1c281ddd034573260045888a68fea (patch) | |
tree | abadf4a4ebdc4177ac59c32818fc73a9ba2a492b /include/linux/rtnetlink.h | |
parent | 6906f4ed6f85b2d72fd944e15da6a905fdde8b40 (diff) |
net: generic fdb support for drivers without ndo_fdb_<op>
If the driver does not support the ndo_op use the generic
handler for it. This should work in the majority of cases.
Eventually the fdb_dflt_add call gets translated into a
__dev_set_rx_mode() call which should handle hardware
support for filtering via the IFF_UNICAST_FLT flag.
Namely IFF_UNICAST_FLT indicates if the hardware can do
unicast address filtering. If no support is available
the device is put into promisc mode.
Signed-off-by: Vlad Yasevich <vyasevic@redhat.com>
Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/rtnetlink.h')
-rw-r--r-- | include/linux/rtnetlink.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/rtnetlink.h b/include/linux/rtnetlink.h index 489dd7bb28ec..f28544b2f9af 100644 --- a/include/linux/rtnetlink.h +++ b/include/linux/rtnetlink.h | |||
@@ -69,6 +69,15 @@ extern int ndo_dflt_fdb_dump(struct sk_buff *skb, | |||
69 | struct netlink_callback *cb, | 69 | struct netlink_callback *cb, |
70 | struct net_device *dev, | 70 | struct net_device *dev, |
71 | int idx); | 71 | int idx); |
72 | extern int ndo_dflt_fdb_add(struct ndmsg *ndm, | ||
73 | struct nlattr *tb[], | ||
74 | struct net_device *dev, | ||
75 | const unsigned char *addr, | ||
76 | u16 flags); | ||
77 | extern int ndo_dflt_fdb_del(struct ndmsg *ndm, | ||
78 | struct nlattr *tb[], | ||
79 | struct net_device *dev, | ||
80 | const unsigned char *addr); | ||
72 | 81 | ||
73 | extern int ndo_dflt_bridge_getlink(struct sk_buff *skb, u32 pid, u32 seq, | 82 | extern int ndo_dflt_bridge_getlink(struct sk_buff *skb, u32 pid, u32 seq, |
74 | struct net_device *dev, u16 mode); | 83 | struct net_device *dev, u16 mode); |