Thread (14 messages) 14 messages, 5 authors, 2013-02-27

Re: [RFC PATCH] core: Add ioctls to control device unicast hw addresses

From: John Fastabend <hidden>
Date: 2013-02-26 21:58:40

[...]
quoted
quoted

[RFC PATCH] rtnetlink: Add support for adding/removing additional hw
addresses.

Add an ability to add and remove HW addresses to the device
unicast and multicast address lists.  Right now, we only have
an ioctl() to manage the multicast addresses and there is no
way the manage the unicast list.

Signed-off-by: Vlad Yasevich <redacted>
This is a step in the right direction, and you're right that there is
a difficulty in detecting whether support exists or not.

I am so surprised that we've have ->set_rx_mode() support for multiple
unicast MAC addresses in so many drivers all this time, yet no way
outside of FDB to make use of it at all.
And even that is not always available.  In most drivers it requires
module parameters or other explicit configuration steps.  Meanwhile
set_rx_mode() doesn't seem to depend on any of those and just does the
right thing.

For what I was trying to do ioctl() was a really easy way out for both
kernel and user space implementation, so I gave is shot.

-vlad
Don't we already support this with


         int                     (*ndo_fdb_add)(struct ndmsg *ndm,
                                                 struct nlattr *tb[],
                                                 struct net_device *dev,
                                                 const unsigned char *addr,
                                                 u16 flags);
          int                     (*ndo_fdb_del)(struct ndmsg *ndm,
                                                 struct nlattr *tb[],
                                                 struct net_device *dev,
                                                 const unsigned char *addr);
          int                     (*ndo_fdb_dump)(struct sk_buff *skb,
                                                  struct 
netlink_callback *cb,
                                                  struct net_device *dev,
                                                  int idx);
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help