summaryrefslogtreecommitdiffstats
path: root/src/net/netdevice.c
diff options
context:
space:
mode:
authorStefan Hajnoczi2013-03-01 16:32:15 +0100
committerMichael Brown2013-03-01 17:11:40 +0100
commit7426177d631c0fd8b2ef3ffae4449637d5bca32a (patch)
tree5d1fd4375b0b51ebcf4278be7974ad2268ba6748 /src/net/netdevice.c
parent[efi] Ensure EFI binaries comply with Authenticode requirements (diff)
downloadipxe-7426177d631c0fd8b2ef3ffae4449637d5bca32a.tar.gz
ipxe-7426177d631c0fd8b2ef3ffae4449637d5bca32a.tar.xz
ipxe-7426177d631c0fd8b2ef3ffae4449637d5bca32a.zip
[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>
Diffstat (limited to 'src/net/netdevice.c')
-rw-r--r--src/net/netdevice.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/net/netdevice.c b/src/net/netdevice.c
index ec3456a9..a7166630 100644
--- a/src/net/netdevice.c
+++ b/src/net/netdevice.c
@@ -33,6 +33,7 @@ FILE_LICENCE ( GPL2_OR_LATER );
#include <ipxe/init.h>
#include <ipxe/device.h>
#include <ipxe/errortab.h>
+#include <ipxe/vlan.h>
#include <ipxe/netdevice.h>
/** @file
@@ -783,5 +784,15 @@ static void net_step ( struct process *process __unused ) {
net_poll();
}
+/**
+ * Get the VLAN tag (when VLAN support is not present)
+ *
+ * @v netdev Network device
+ * @ret tag 0, indicating that device is not a VLAN device
+ */
+__weak unsigned int vlan_tag ( struct net_device *netdev __unused ) {
+ return 0;
+}
+
/** Networking stack process */
PERMANENT_PROCESS ( net_process, net_step );