help-grub
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: UEFI-PXE boot to grub2 with BIOS configured VLAN tagging?


From: Andrei Borzenkov
Subject: Re: UEFI-PXE boot to grub2 with BIOS configured VLAN tagging?
Date: Sun, 22 Jan 2017 23:30:47 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1

13.01.2017 21:35, Christian Rohmann пишет:
> Hey Andrei,
> 
> sorry for the late reply.
> 
> 
> On 11.01.2017 17:34, Andrei Borzenkov wrote:
>> You misunderstand. What is missing is the way to transport information
>> about VLAN from firmware (UEFI) to GRUB. How it is represented*inside*
>> GRUB is technical detail.
>>
>>> As this scenario is not uncommon, think hypervisor host with just one
>>> interface which is a VLAN trunk, how should I go about filing issues for
>>> this?
>>>
>> Sure you can, but please understand that someone who has access to
>> hardware in question needs to actually write a patch. You can help by at
>> least providing information about UEFI device tree here - start with
>> netbooting EFI Shell and providing output of "devtree" and "dh".
> 
> I configured a VLAN to be used for PXE but it doesn't appear anywhere in
> the devtree or dh output on the UEFI cli.
> There are variables like "VLAN" there, but all show "0".
> 
> Did I miss anything here or could it be that the VLAN used for the
> initial PXE is not populated / exposed to the NBE?
> 

For the record - here is what I see with OVMF after VLAN boot.

address@hidden:~/binaries$ cat typescript.shell
   Ctrl[A6] Virtio Network Device
     Ctrl[B3] Virtio Network Device
       Ctrl[B4] PciRoot(0x0)/Pci(0x3,0x0)/MAC(525400123456,0x1)/Vlan(2)
         Ctrl[B6] Unknown
           Ctrl[CF] PXE Controller
           Ctrl[F3] ARP Controller
             Ctrl[CB] IPv4 (SrcIP=192.168.11.23)
               Ctrl[CC] PXE Controller
             Ctrl[D0] PXE Controller
         ...
Shell> dh a6
A6: 7046318
UnknownDevice
PCIIO
DevicePath(PciRoot(0x0)/Pci(0x3,0x0))

Shell> dh b3
B3: 6FE3D98
UnknownDevice
VlanConfig
DevicePath(..3,0x0)/MAC(525400123456,0x1))

SimpleNetwork
Shell> dh b4
B4: 6EE2B98
Dns4ServiceBinding
Dns6ServiceBinding
UnknownDevice
HttpServiceBinding
UnknownDevice
UnknownDevice
UnknownDevice
Mtftp6ServiceBinding
Dhcp6ServiceBinding
Udp6ServiceBinding
Tcp6ServiceBinding
TCPv4ServiceBinding
Ip6Config
Ip6ServiceBinding
MTFTPv4ServiceBinding
DHCPv4ServiceBinding
UDPv4ServiceBinding
IPv4Config2
IPv4ServiceBinding
ARPServiceBinding
ManagedNetworkServiceBinding
DevicePath(..AC(525400123456,0x1)/Vlan(2))


So we may be able to fetch VLAN information from device path of
interface with DHCP. Indeed, loaded image device path in this case looks
like

ACPI(a0341d0,0)/PCI(0,3)/MacAddr(52:54:00:12:34:56,1)/Vlan(2)/IPv4(0.0.0.0,0.0.0.0,0,0,0,0)/EndEntire

(unfortunately, grub segfaults later in this case; I think I know the
reason).

So VLAN is available as part of device path.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]