]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Driver.c
Add VLAN support.
[mirror_edk2.git] / MdeModulePkg / Universal / Network / Ip4Dxe / Ip4Driver.c
index 1b7fa4e60345009c1ec71ab9d37651ef1e500744..5e297821a2cf028f66906166c87eec5f15814955 100644 (file)
@@ -291,6 +291,12 @@ Ip4CreateService (
   InsertHeadList (&IpSb->Interfaces, &IpSb->DefaultInterface->Link);\r
 \r
   IpSb->MaxPacketSize = IpSb->SnpMode.MaxPacketSize - sizeof (IP4_HEAD);\r
+  if (NetLibGetVlanId (IpSb->Controller) != 0) {\r
+    //\r
+    // This is a VLAN device, reduce MTU by VLAN tag length\r
+    //\r
+    IpSb->MaxPacketSize -= NET_VLAN_TAG_LEN;\r
+  }\r
   IpSb->MacString = NULL;\r
 \r
   *Service = IpSb;\r