Rollback popped innermost headers?

Morten Brørup mb at smartsharesystems.com
Thu May 28 13:04:34 CEST 2026


When the built-in DHCP client is disabled, packets to UDP port 68 (IPPORT_BOOTPC) are forwarded to the control plane.

I noticed that Ethernet addresses in the L2 header are not copied from the original packet:
https://github.com/DPDK/grout/blob/main/modules/dhcp/datapath/dhcp_input.c#L101

There may be outer headers (if the DHCP packet ingressed on a tunnel interface), so the Ethernet addresses should come from the innermost L2 header.

Is it impossible to unpop / roll back the L3 and L2 headers that were popped from the mbuf?


I assume any packet to UDP port 68 will end up in dhcp_input_process, even if it ingressed on a non-Ethernet interface.

Would it possible to identify the type of the interface that forwarded the packet to dhcp_input_process?
Then, for interface types with Ethernet headers (Ethernet interfaces, Bond interfaces, Tunneled Ethernet interfaces, etc.), the original Ethernet addresses could be copied into the packet forwarded to the control plane.


Venlig hilsen / Kind regards,
-Morten Brørup



More information about the grout mailing list