@@ -921,6 +921,28 @@ struct net_device
#define NETDEV_ALIGN 32
+static inline int netdev_mc_count(struct net_device *dev)
+{
+ return dev->mc_count;
+}
+
+static inline bool netdev_mc_empty(struct net_device *dev)
+{
+ return netdev_mc_count(dev) == 0;
+}
+
+static inline void netdev_mc_walk(struct net_device *dev,
+ void (*func)(void *, unsigned char *),
+ void *data)
+{
+ struct dev_addr_list *mclist;
+ int i;
+
+ for (i = 0, mclist = dev->mc_list; mclist && i < dev->mc_count;
+ i++, mclist = mclist->next)
+ func(data, mclist->dmi_addr);
+}
+
static inline
struct netdev_queue *netdev_get_tx_queue(const struct net_device *dev,
unsigned int index)