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.

Michael

_______________________________________________
ipxe-devel mailing list
ipxe-devel@lists.ipxe.org
https://lists.ipxe.org/mailman/listinfo/ipxe-devel

Reply via email to