hI Nikhil,

I don't know why the VM did not receive icmp reply packet, 
But I am sure it is not caused by fib because icmp reply, because the packet will not go through the ip4-lookup again.
The reason you see "fib 0" is because the value of sw_if_index[VLIB_RX] was set to vnet_main.local_interface_sw_if_index in ip4-icmp-echo-reply node

BTW, This trace information once also confused me...

Best regards,
yacan   
On 3/12/2021 02:12nikhil subhedar<subhedarnik...@gmail.com> wrote:
Hi All,

Today i found a strange thing on my  POD on which VPP is running.  Can anyone please shed some light on this?
Thanks.
Config:

1) I created a loopback interface on VPP using confd CLI. on fib-index 1
loop2 (up):
  L3 50.50.50.50/32 ip4 table-id 1 fib-idx 1
Also , on the top of this i  am having physical/ connected interface.
VirtualFuncEthernet0/6/0.900 (up):
  L3 20.20.146.226/24 ip4 table-id 1 fib-idx 1



2)
On ubuntu VM i have created a loopback,
lo:mobile: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 60.60.60.60  netmask 255.255.255.255
        loop  txqueuelen 1000  (Local Loopback)

And i have a connected interface
ens5.900: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 20.20.146.216

route on VM.
root@vmsrvrlnx-strongswan-216:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.163.64.1     0.0.0.0         UG    0      0        0 ens3
2.1.75.0        0.0.0.0         255.255.255.252 U     0      0        0 gre1
10.163.64.0     0.0.0.0         255.255.224.0   U     0      0        0 ens3
20.20.146.0     0.0.0.0         255.255.255.0   U     0      0        0 ens5.900
50.50.50.50     20.20.146.226   255.255.255.255 UGH   0      0        0 ens5.900



3) I am  trying to ping from VM to vpp.
using command ping 50.50.50.50 -I  ens5.900.

4)  This icmp packet is reached to VPP on fib index 1, but when VPP is trying to send the echo-reply it is using fib index 0  and because of this icmp reply packet
is not reaching to my VM.
Below is o/p of show trace command.

Packet 1

03:50:52:603829: dpdk-input
  VirtualFuncEthernet0/6/0 rx queue 0
  buffer 0x4c2f16: current data 0, length 102, buffer-pool 0, ref-count 1, totlen-nifb 0, trace handle 0x1000000
                   ext-hdr-valid
                   l4-cksum-computed l4-cksum-correct
  PKT MBUF: port 0, nb_segs 1, pkt_len 102
    buf_len 2176, data_len 102, ol_flags 0x180, data_off 128, phys_addr 0x7b0bc600
    packet_type 0x591 l2_len 0 l3_len 0 outer_l2_len 0 outer_l3_len 0
    rss 0x0 fdir.hi 0x0 fdir.lo 0x0
    Packet Offload Flags
      PKT_RX_IP_CKSUM_GOOD (0x0080) IP cksum of RX pkt. is valid
      PKT_RX_L4_CKSUM_GOOD (0x0100) L4 cksum of RX pkt. is valid
    Packet Types
      RTE_PTYPE_L2_ETHER (0x0001) Ethernet packet
      RTE_PTYPE_L3_IPV4_EXT_UNKNOWN (0x0090) IPv4 packet with or without extension headers
      RTE_PTYPE_L4_ICMP (0x0500) ICMP packet
  IP4: fa:16:3e:08:4c:1d -> fa:16:3e:78:ca:96 802.1q vlan 900
  ICMP: 20.20.146.216 -> 50.50.50.50
    tos 0x00, ttl 64, length 84, checksum 0x3d88 dscp CS0 ecn NON_ECN
    fragment id 0xf1d0, flags DONT_FRAGMENT
  ICMP echo_request checksum 0x4303
03:50:52:603840: ethernet-input
  frame: flags 0x3, hw-if-index 3, sw-if-index 3
  IP4: fa:16:3e:08:4c:1d -> fa:16:3e:78:ca:96 802.1q vlan 900
03:50:52:603847: ip4-input
  ICMP: 20.20.146.216 -> 50.50.50.50
    tos 0x00, ttl 64, length 84, checksum 0x3d88 dscp CS0 ecn NON_ECN
    fragment id 0xf1d0, flags DONT_FRAGMENT
  ICMP echo_request checksum 0x4303
03:50:52:603853: ip4-lookup
  fib 1 dpo-idx 22 flow hash: 0x00000000
  ICMP: 20.20.146.216 -> 50.50.50.50
    tos 0x00, ttl 64, length 84, checksum 0x3d88 dscp CS0 ecn NON_ECN
    fragment id 0xf1d0, flags DONT_FRAGMENT
  ICMP echo_request checksum 0x4303
03:50:52:603857: ip4-local
    ICMP: 20.20.146.216 -> 50.50.50.50
      tos 0x00, ttl 64, length 84, checksum 0x3d88 dscp CS0 ecn NON_ECN



 ICMP echo_request checksum 0x4303
03:50:52:603859: ip4-icmp-input
  ICMP: 20.20.146.216 -> 50.50.50.50
    tos 0x00, ttl 64, length 84, checksum 0x3d88 dscp CS0 ecn NON_ECN
    fragment id 0xf1d0, flags DONT_FRAGMENT
  ICMP echo_request checksum 0x4303
03:50:52:603860: ip4-icmp-echo-request
  ICMP: 20.20.146.216 -> 50.50.50.50
    tos 0x00, ttl 64, length 84, checksum 0x3d88 dscp CS0 ecn NON_ECN
    fragment id 0xf1d0, flags DONT_FRAGMENT
  ICMP echo_request checksum 0x4303
03:50:52:603863: ip4-load-balance
  fib 0 dpo-idx 9 flow hash: 0x00000000
  ICMP: 50.50.50.50 -> 20.20.146.216
    tos 0x00, ttl 64, length 84, checksum 0x246c dscp CS0 ecn NON_ECN
    fragment id 0x0aed, flags DONT_FRAGMENT
  ICMP echo_reply checksum 0x4b03
03:50:52:603865: ip4-rewrite
  tx_sw_if_index 11 dpo-idx 9 : ipv4 via 20.20.146.216 VirtualFuncEthernet0/6/0.900: mtu:9000 next:9 fa163e084c1dfa163e78ca96810003840800 flow hash: 0x000000
00
  00000000: fa163e084c1dfa163e78ca96810003840800450000540aed40004001246c3232
  00000020: 3232141492d800004b03000a0001795c4a60000000002a6208000000
03:50:52:603867: VirtualFuncEthernet0/6/0-output
  VirtualFuncEthernet0/6/0.900
  IP4: fa:16:3e:78:ca:96 -> fa:16:3e:08:4c:1d 802.1q vlan 900
  ICMP: 50.50.50.50 -> 20.20.146.216
    tos 0x00, ttl 64, length 84, checksum 0x246c dscp CS0 ecn NON_ECN
    fragment id 0x0aed, flags DONT_FRAGMENT
  ICMP echo_reply checksum 0x4b03

Below is o/p of show ip fib index 1 command


20.20.146.216/32
  unicast-ip4-chain
  [@0]: dpo-load-balance: [proto:ip4 index:55 buckets:1 uRPF:71 to:[0:0] via:[7953:668052]]
    [0] [@5]: ipv4 via 20.20.146.216 VirtualFuncEthernet0/6/0.900: mtu:9000 next:9 fa163e084c1dfa163e78ca96810003840800
20.20.146.0/24
  unicast-ip4-chain
  [@0]: dpo-load-balance: [proto:ip4 index:50 buckets:1 uRPF:67 to:[0:0]]
    [0] [@4]: ipv4-glean: VirtualFuncEthernet0/6/0.900: mtu:9000 next:3 fffffffffffffa163e78ca96810003840806
20.20.146.226/32
  unicast-ip4-chain
  [@0]: dpo-load-balance: [proto:ip4 index:53 buckets:1 uRPF:72 to:[4:336]]
    [0] [@2]: dpo-receive: 20.20.146.226 on VirtualFuncEthernet0/6/0.900
20.20.146.255/32
  unicast-ip4-chain
  [@0]: dpo-load-balance: [proto:ip4 index:52 buckets:1 uRPF:70 to:[0:0]]
    [0] [@0]: dpo-drop ip4
50.50.50.50/32
  unicast-ip4-chain
  [@0]: dpo-load-balance: [proto:ip4 index:56 buckets:1 uRPF:75 to:[7953:668036]]
    [0] [@2]: dpo-receive: 50.50.50.50 on loop2
60.60.60.60/32
  unicast-ip4-chain
  [@0]: dpo-load-balance: [proto:ip4 index:54 buckets:1 uRPF:74 to:[5:480]]
    [0] [@5]: ipv4 via 20.20.146.216 VirtualFuncEthernet0/6/0.900: mtu:9000 next:9 fa163e084c1dfa163e78ca96810003840800
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#18903): https://lists.fd.io/g/vpp-dev/message/18903
Mute This Topic: https://lists.fd.io/mt/81259898/21656
Mute #vpp:https://lists.fd.io/g/vpp-dev/mutehashtag/vpp
Mute #vpp-dev:https://lists.fd.io/g/vpp-dev/mutehashtag/vpp-dev
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to