Re: [edk2] [Patch 1/2] MdeModulePkg/Network: Add 32bit subnet mask support for IP4 PXE boot.

2018-08-28 Thread Wu, Jiaxin
Against the below condition code in Ip4Route(): // // We will always try to use the direct destination address when /32 subnet mask is used. // if (RtEntry == NULL && SubnetMask != IP4_ALLONE_ADDRESS) { return NULL; } If there is no default route { Dest: 0.0.0.0, Mask:

Re: [edk2] [Patch 1/2] MdeModulePkg/Network: Add 32bit subnet mask support for IP4 PXE boot.

2018-08-28 Thread Fu, Siyuan
Hi, Jiaxin The IP4 routing logic for /32 subnet mask can be explain as below, maybe I need to add it to the commit log or in code comments. Ip4Output() is called to send a packet If a matching route cache (src, dest -> xxx) can be find, send the packet to address xxx

Re: [edk2] [Patch 1/2] MdeModulePkg/Network: Add 32bit subnet mask support for IP4 PXE boot.

2018-08-28 Thread Wu, Jiaxin
Hi Siyuan, Below is my code review understanding, maybe something is wrong, please correct me. > The "default route" means a route entry with zero SubnetAddress and zero > SubnetMask, which will match all the dest address that can't match any other > non-zero Subnet* route entry. > The

Re: [edk2] [Patch 1/2] MdeModulePkg/Network: Add 32bit subnet mask support for IP4 PXE boot.

2018-08-28 Thread Fu, Siyuan
Hi, Jiaxin The "default route" means a route entry with zero SubnetAddress and zero SubnetMask, which will match all the dest address that can't match any other non-zero Subnet* route entry. The "instance route table" is a list of route entries which belong to an IP child instance. The

Re: [edk2] [Patch 1/2] MdeModulePkg/Network: Add 32bit subnet mask support for IP4 PXE boot.

2018-08-28 Thread Wu, Jiaxin
Hi Siyuan, In Ip4SendFrameToDefaultRoute(), you tried to find the default gateway IP address by using the found RtCacheEntry->Tag, I'm confused why it's the default gateway? In my understanding, tag is the cache's corresponding route entry. Besides, why we must send the frame to

[edk2] [Patch 1/2] MdeModulePkg/Network: Add 32bit subnet mask support for IP4 PXE boot.

2018-08-27 Thread Fu Siyuan
This patch updates IP4 stack to support 32bit subnet mask in PXE boot process. When 32bit subnet mask is used, the IP4 driver couldn't use the subnet mask to determine whether destination IP address is on-link or not, so it will always try to send all the packets to the destination IP address