[ipxe-devel] REG: Query on 9K MTU Testing flow

Michael Brown mcb30 at ipxe.org
Mon Mar 13 21:31:54 UTC 2023

On 13/03/2023 17:48, MohamedShah R wrote:
> Hi Michael,
>   Thanks for your response. Below is the flow- I have seen in the 
> execution- it hits the intf_close as part of netdev_close called from 
> apply_netdev_settings,.
> https://github.com/ipxe/ipxe/blob/c4c03e5be867a9b7be4dc48fe6576deca1dce8d8/src/net/netdevice.c#L868 <https://github.com/ipxe/ipxe/blob/c4c03e5be867a9b7be4dc48fe6576deca1dce8d8/src/net/netdevice.c#L868>.

OK, now your original message makes sense to me.

The call to intf_close() that you see is closing any net device 
configuration methods (such as DHCP) that may still be running when the 
interface is closed.

The intf_close() call is simply sending a "close" message to the remote 
side of the interface (e.g. the DHCP protocol code).  As per the comment 
in the code, it does not actually close the interface at that point.

There is what looks like a bug when using DHCP to change MTU: the change 
of MTU requires the interface to be closed and reopened, but closing the 
interface will cause the initiating DHCP transaction itself to be aborted.

This probably requires the code in netdevice.c to be refactored slightly 
to allow for a netdev_reopen() call, which skips the intf_close() calls.


More information about the ipxe-devel mailing list