Hi,
I hope I finally figured it out, but if somebody with experience can confirm I will appreciate it a lot.
Here is my idea based on link text - L2 nPath routing.
- Incoming packet, src.ip some external client, dst.ip 172.16.1.1
- Router has route setting 10.1.1.10 as gateway for 172.16.1.1
- Router is doing ARP for 10.1.1.10 and sending packet to selfIP on BIG-IP
- Internally BIG-IP routes packet to VIP 172.16.1.1 (address and port translation disabled)
- Now I am not sure what IPs are defined for pool members, but I assume that 10.1.1.11 and 10.1.1.12
- If above is true BIG-IP is treating both pool members as gateway and based on IP-MAC address mapping is sending packet to one of pool members using defined LB method - so src.ip and dst.ip is still as in original packet but dst.mac is one of mac used by pool member
- Receiving server is internally routing packet to loopback with 172.16.1.1 assigned
- Then server is responding using 172.16.1.1 as src.ip (dst.ip from incoming packet) and client ip as des.ip (src.ip from original packet)
- So for client, traffic is coming from correct source address and connection is established
What I do not understand in the mentioned docs is:
-
Is really loopback interface not participating in ARP protocol - from docs I found on the Internet it looks like physical interface receiving ARP request for ip defined on loopback will reply with it's own MAC
-
Why Auto Last Hop should be enabled (Connection.Autolasthop enable) - my understanding is that this setting is related to returning packets and for nPath returning packets are not going back via BIG-IP
-
Is that possible to configure nPath when VIP and router are on the same network (then target serves has to be as well on the same network) - there is such note in docs. But I can't imagine how dst.ip of original packet can be preserved as src.ip for returning packet?
Piotr