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

From: David S. Miller (davem@redhat.com)
Date: Thu Feb 28 2002 - 17:57:18 EST


   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 :-)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Feb 28 2002 - 21:00:45 EST