diff options
author | Jiri Pirko <jpirko@redhat.com> | 2011-08-16 02:29:00 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-08-17 23:21:27 -0400 |
commit | 01789349ee52e4a3faf376f1485303d9723c4f1f (patch) | |
tree | cea58b51337ffda221f67d47dd234e52f76f65cf /drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | |
parent | d03462b999307ec5c186851ec9c5751bd5a675f7 (diff) |
net: introduce IFF_UNICAST_FLT private flag
Use IFF_UNICAST_FTL to find out if driver handles unicast address
filtering. In case it does not, promisc mode is entered.
Patch also fixes following drivers:
stmmac, niu: support uc filtering and yet it propagated
ndo_set_multicast_list
bna, benet, pxa168_eth, ks8851, ks8851_mll, ksz884x : has set
ndo_set_rx_mode but do not support uc filtering
Signed-off-by: Jiri Pirko <jpirko@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/intel/ixgbe/ixgbe_main.c')
-rw-r--r-- | drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c index e86297b32733..8c70273b01bc 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | |||
@@ -42,6 +42,7 @@ | |||
42 | #include <net/checksum.h> | 42 | #include <net/checksum.h> |
43 | #include <net/ip6_checksum.h> | 43 | #include <net/ip6_checksum.h> |
44 | #include <linux/ethtool.h> | 44 | #include <linux/ethtool.h> |
45 | #include <linux/if.h> | ||
45 | #include <linux/if_vlan.h> | 46 | #include <linux/if_vlan.h> |
46 | #include <linux/prefetch.h> | 47 | #include <linux/prefetch.h> |
47 | #include <scsi/fc/fc_fcoe.h> | 48 | #include <scsi/fc/fc_fcoe.h> |
@@ -7527,6 +7528,8 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev, | |||
7527 | netdev->vlan_features |= NETIF_F_IPV6_CSUM; | 7528 | netdev->vlan_features |= NETIF_F_IPV6_CSUM; |
7528 | netdev->vlan_features |= NETIF_F_SG; | 7529 | netdev->vlan_features |= NETIF_F_SG; |
7529 | 7530 | ||
7531 | netdev->priv_flags |= IFF_UNICAST_FLT; | ||
7532 | |||
7530 | if (adapter->flags & IXGBE_FLAG_SRIOV_ENABLED) | 7533 | if (adapter->flags & IXGBE_FLAG_SRIOV_ENABLED) |
7531 | adapter->flags &= ~(IXGBE_FLAG_RSS_ENABLED | | 7534 | adapter->flags &= ~(IXGBE_FLAG_RSS_ENABLED | |
7532 | IXGBE_FLAG_DCB_ENABLED); | 7535 | IXGBE_FLAG_DCB_ENABLED); |