Re: [BETA-0.92] Third test release of Tigon3 driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



   From: "Leech, Christopher" <christopher.leech@intel.com>
   Date: Thu, 28 Feb 2002 13:57:07 -0800

   > e1000 has a VLAN filter type on-chip, which complicates things a tiny bit.
   
   The filtering is separate from the tagging.  Filtering lets the hardware
   ignore tagged packets for VLANs that it's not a member of.  The vlan_group
   structure isn't well laid out for this, but it would be possible to search
   for non-NULL values in the vlan_devices array to get the VLAN IDs for
   filtering.  The driver would need to know when new VLAN IDs were added to
   the group.
   
This is exactly the kind of thing I wanted people to discover
and discuss.  Thanks for bringing this up.

It would be quite simple to hook back into your driver for this
purpose, proposed API:

/* For netdev->features */
#define NETIF_F_HW_VLAN_FILTER		1024

/* For NETIF_F_VLAN_RX_FILTER devices */
	void (*vlan_rx_new_vid)(struct net_device *dev,
				unsigned short vid);

We call dev->vlan_rx_kill_vid() in all cases because it has to
deal with interlocking, as described in an earlier email.

But if NETIF_F_HW_VLAN_FILTER is set, when new VLAN devices are
registered that go through your card, you will get a
dev->vlan_rx_new_vid() call.

I do not think you would need any more informatin than the
VID itself.  If this is wrong, tell me now :-)
-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux