Hi, I tried a basic setup on GCP with two virtual machines. Each machine has two nics in two different networks. One for VPP and one for Linux. The trouble I'm running into is that it seems on GCP that you can't arping other nodes in your subnet. On linux the route looks like this:
$ ip route show default via 10.128.0.1 dev ens4 10.128.0.0/20 via 10.128.0.1 dev ens4 10.128.0.1 dev ens4 scope link 192.168.100.0/24 via 192.168.100.1 dev ens5 192.168.100.1 dev ens5 scope link The 192.168.100.0/24 subnet is the one I intend for VPP. The way I think this works on linux at least is that packets to other hosts in the same network are sent to 192.168.100.1 and the only arp entry lookup is for 192.168.100.1. I tried to replicate this in VPP with systemctl stop vpp ifconfig ens5 down vpp unix { interactive cli-listen 127.0.0.1:5002 } set int ip address GigabitEthernet0/5/0 192.168.100.7/24 set int state GigabitEthernet0/5/0 up ip route 192.168.100.0/24 via 192.168.100.1 GigabitEthernet0/5/0 But when I try to ping from my VM running linux, the packets are received but they go to ipv4-glean via 192.168.100.0/24 unicast-ip4-chain [@0]: dpo-load-balance: [proto:ip4 index:9 buckets:1 uRPF:15 to:[0:0] via:[2:168]] [0] [@4]: ipv4-glean: [src:192.168.100.0/24] GigabitEthernet0/5/0: mtu:8996 next:1 flags:[] ffffffffffff4201c0a864070806 And I think this sends an arp request to the source of the pings (192.168.0.2 in my case) instead of routing the response back through 192.168.100.1. As far as I can tell in GCP you can't perform arp lookups for other subnet local VMs, you don't get a response. You only get a response from the router. So my question is: Is there a combination of route commands and interface address setup that will route all packets back through the router and only perform arp lookups against the router? If I add a more specific route for the other VMs then I get ping responses back at the ping source (192.168.0.2): ip route 192.168.100.2/32 via 192.168.100.1 GigabitEthernet0/5/0 I guess I could put in two /23 routes, but I wonder if there is a better way. If I try a /32 address for the interface then incoming packets from the router on behalf of the ping source get dropped because I think they don't match the interface subnet. regards, Richard.
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#21430): https://lists.fd.io/g/vpp-dev/message/21430 Mute This Topic: https://lists.fd.io/mt/91275740/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-