diff options
author | Michael Brown | 2010-12-01 19:46:50 +0100 |
---|---|---|
committer | Michael Brown | 2010-12-01 19:46:50 +0100 |
commit | 5273c2748cbe48ad1fdc19d5f3026b3f10fa5057 (patch) | |
tree | d716108217b1d20338eb36697cab42b49553543e | |
parent | [vlan] Use "-" instead of "." as separator in VLAN device names (diff) | |
download | ipxe-5273c2748cbe48ad1fdc19d5f3026b3f10fa5057.tar.gz ipxe-5273c2748cbe48ad1fdc19d5f3026b3f10fa5057.tar.xz ipxe-5273c2748cbe48ad1fdc19d5f3026b3f10fa5057.zip |
[vlan] Expose vlan_find() to network card drivers
Some network cards automatically strip the VLAN header, providing the
VLAN tag via a side channel such as a completion queue entry. These
cards need to be able to report receive completions directly against
the relevant VLAN device.
Signed-off-by: Michael Brown <mcb30@ipxe.org>
-rw-r--r-- | src/include/ipxe/vlan.h | 2 | ||||
-rw-r--r-- | src/net/vlan.c | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/src/include/ipxe/vlan.h b/src/include/ipxe/vlan.h index c9a9821a..d9f4484e 100644 --- a/src/include/ipxe/vlan.h +++ b/src/include/ipxe/vlan.h @@ -59,6 +59,8 @@ struct vlan_header { */ #define VLAN_PRIORITY_IS_VALID( priority ) ( (priority) <= 7 ) +extern struct net_device * vlan_find ( struct net_device *trunk, + unsigned int tag ); extern int vlan_can_be_trunk ( struct net_device *trunk ); extern int vlan_create ( struct net_device *trunk, unsigned int tag, unsigned int priority ); diff --git a/src/net/vlan.c b/src/net/vlan.c index 4440fd84..9ac560f1 100644 --- a/src/net/vlan.c +++ b/src/net/vlan.c @@ -193,8 +193,7 @@ static void vlan_sync ( struct net_device *netdev ) { * @v tag VLAN tag * @ret netdev VLAN device, if any */ -static struct net_device * vlan_find ( struct net_device *trunk, - uint16_t tag ) { +struct net_device * vlan_find ( struct net_device *trunk, unsigned int tag ) { struct net_device *netdev; struct vlan_device *vlan; |