mirror of
https://github.com/ipxe/ipxe
synced 2025-12-22 04:50:25 +03:00
[netdevice] Add vlan_tag() to get the VLAN tag of a network device
The iBFT has a VLAN field that should be filled in. Add the vlan_tag() function to extract the VLAN tag of a network device. Since VLAN support is optional, define a weak function that returns 0 when iPXE is built without VLAN support. Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Modified-by: Michael Brown <mcb30@ipxe.org> Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
committed by
Michael Brown
parent
09c5109b85
commit
7426177d63
@@ -282,6 +282,23 @@ struct net_protocol vlan_protocol __net_protocol = {
|
||||
.rx = vlan_rx,
|
||||
};
|
||||
|
||||
/**
|
||||
* Get the VLAN tag
|
||||
*
|
||||
* @v netdev Network device
|
||||
* @ret tag VLAN tag, or 0 if device is not a VLAN device
|
||||
*/
|
||||
unsigned int vlan_tag ( struct net_device *netdev ) {
|
||||
struct vlan_device *vlan;
|
||||
|
||||
if ( netdev->op == &vlan_operations ) {
|
||||
vlan = netdev->priv;
|
||||
return vlan->tag;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if network device can be used as a VLAN trunk device
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user