On Sat, Nov 9, 2013 at 9:22 AM, Jason Matthews <jason.david.matthews at gmail.com> wrote:> The setup I was using was in a chassis. Slot 8 of the chassis is the client > machine. It goes through Switch 1 (a Brocade switch) to the top of rack > (BNT). The mirror is in the chassis switch. Slot 3 of the same chassis is > connected to the mirror port in Switch 1. > > client = 1/0/8 > tcpdump = 1/0/3 > to TOR = 1/0/43 > 1/0/8 mirrored both directions to 1/0/3 > > Unfortunately, I don't have access to the switch configs of the TOR > switches so I can't say how many gateways it's going through. 10.16.233.20 > goes through 10.16.233.1 and 10.16.195.178 goes through 10.16.194.1. All > the switch magic after that is hidden from me.Any chance you could try this git branch: git://github.com/geneC/syslinux.git efi-fixes-2-for-mfleming -- -Gene
Jason Matthews
2013-Nov-11 21:53 UTC
[syslinux] syslinux.efi pxeboot across multiple subnets
On Sun, Nov 10, 2013 at 12:23 PM, Gene Cumm <gene.cumm at gmail.com> wrote:> On Sat, Nov 9, 2013 at 9:22 AM, Jason Matthews > <jason.david.matthews at gmail.com> wrote: > > The setup I was using was in a chassis. Slot 8 of the chassis is the > client > > machine. It goes through Switch 1 (a Brocade switch) to the top of rack > > (BNT). The mirror is in the chassis switch. Slot 3 of the same chassis is > > connected to the mirror port in Switch 1. > > > > client = 1/0/8 > > tcpdump = 1/0/3 > > to TOR = 1/0/43 > > 1/0/8 mirrored both directions to 1/0/3 > > > > Unfortunately, I don't have access to the switch configs of the TOR > > switches so I can't say how many gateways it's going through. > 10.16.233.20 > > goes through 10.16.233.1 and 10.16.195.178 goes through 10.16.194.1. All > > the switch magic after that is hidden from me. > > Any chance you could try this git branch: > > git://github.com/geneC/syslinux.git efi-fixes-2-for-mfleming > > -- > -Gene >I took a clone of that, but it confuses me. The only reference I can find to efi are in gpxe and I can't get that to build (syntax errors in util/geniso). The version is listed as 4.07. I was under the impression 6.00 was the first version that supported efi.> core_udp_open() should bind to the local IP address and obtain a local > UDP port allocation. core_udp_close() should release the UDP port > allocation. > > core_udp_sendto() knows the remote IP address and remote UDP port and > must calculate the GatewayAddress. core_udp_connect() is passed the > remote IP address and UDP port, calculates the GatewayAddress and > stores all three for core_udp_send(). core_udp_send() should only > copy the local/remote IP address/UDP port and GatewayAddress, then set > the other flags/values as needed. > > Now to get core_udp_connect() to calculate/store the values for reuse.It looks like it's going into core_udp_open, giving station port to socket->net.efi.localport. core_udp_sendto sets the remote port. From there, I'm never getting into core_udp_send or core_udp_connect. After core_udp_sendto, I go into core_udp_recv, hit the jiffies() loop, time out and bail to repeat the same process until reset. Thanks for pointing out the UEFI_Spec_2_3_1.pdf. It help me get a little more grasp on what's happening. I set it to use the Default Address. If you set UseDefaultAddress to true and comment out the lines setting StationAddress and SubnetMask, it takes a second to pull the dhcp info so I had to put the udp->Configure line in a loop until it's status is not EFI_NO_MAPPING. Once it's set, It looks like it takes the StationAddress, SubnetMask and Gateway from the dhcp.
On Mon, Nov 11, 2013 at 4:53 PM, Jason Matthews <jason.david.matthews at gmail.com> wrote:> On Sun, Nov 10, 2013 at 12:23 PM, Gene Cumm <gene.cumm at gmail.com> wrote: > >> On Sat, Nov 9, 2013 at 9:22 AM, Jason Matthews >> <jason.david.matthews at gmail.com> wrote: >> > The setup I was using was in a chassis. Slot 8 of the chassis is the >> client >> > machine. It goes through Switch 1 (a Brocade switch) to the top of rack >> > (BNT). The mirror is in the chassis switch. Slot 3 of the same chassis is >> > connected to the mirror port in Switch 1. >> > >> > client = 1/0/8 >> > tcpdump = 1/0/3 >> > to TOR = 1/0/43 >> > 1/0/8 mirrored both directions to 1/0/3 >> > >> > Unfortunately, I don't have access to the switch configs of the TOR >> > switches so I can't say how many gateways it's going through. >> 10.16.233.20 >> > goes through 10.16.233.1 and 10.16.195.178 goes through 10.16.194.1. All >> > the switch magic after that is hidden from me. >> >> Any chance you could try this git branch: >> >> git://github.com/geneC/syslinux.git efi-fixes-2-for-mfleming >> >> -- >> -Gene >> > > I took a clone of that, but it confuses me. The only reference I can find > to efi are in gpxe and I can't get that to build (syntax errors in > util/geniso). The version is listed as 4.07. I was under the impression > 6.00 was the first version that supported efi.On an existing repo: git remote add genec-gh git://github.com/geneC/syslinux.git git fetch genec-gh git checkout -b genec-efi-fixes-2-for-mfleming genec-gh/efi-fixes-2-for-mfleming On a newly cloned repo: git checkout -b genec-efi-fixes-2-for-mfleming origin/efi-fixes-2-for-mfleming>> core_udp_open() should bind to the local IP address and obtain a local >> UDP port allocation. core_udp_close() should release the UDP port >> allocation. >> >> core_udp_sendto() knows the remote IP address and remote UDP port and >> must calculate the GatewayAddress. core_udp_connect() is passed the >> remote IP address and UDP port, calculates the GatewayAddress and >> stores all three for core_udp_send(). core_udp_send() should only >> copy the local/remote IP address/UDP port and GatewayAddress, then set >> the other flags/values as needed. >> >> Now to get core_udp_connect() to calculate/store the values for reuse. > > It looks like it's going into core_udp_open, giving station port to > socket->net.efi.localport. core_udp_sendto sets the remote port. From > there, I'm never getting into core_udp_send or core_udp_connect. After > core_udp_sendto, I go into core_udp_recv, hit the jiffies() loop, time out > and bail to repeat the same process until reset. > > Thanks for pointing out the UEFI_Spec_2_3_1.pdf. It help me get a little > more grasp on what's happening. I set it to use the Default Address. If you > set UseDefaultAddress to true and comment out the lines setting > StationAddress and SubnetMask, it takes a second to pull the dhcp info so I > had to put the udp->Configure line in a loop until it's status is not > EFI_NO_MAPPING. Once it's set, It looks like it takes the StationAddress, > SubnetMask and Gateway from the dhcp.Excellent info! I can put another commit on (hopefully tonight) to cover that. -- -Gene