Hey Wei, Good to see that it works for you now. For what it's worth, the TAP (and accompanying interface in VPP) is only the transport between the VPP device *tn-eth2* and the Linux device representation *vpp2* - it doesn't carry any IP address, but tn-eth2 and vpp2 should be mirror copies of one another. Good to see that things are working.
groet, Pim On Thu, Feb 24, 2022 at 8:30 PM Wei Huang <wei.hu.hu...@oracle.com> wrote: > Pim, > Thanks for the reply. I pulled in https://gerrit.fd.io/r/c/vpp/+/31122 > <https://urldefense.com/v3/__https://gerrit.fd.io/r/c/vpp/*/31122__;Kw!!ACWV5N9M2RV99hQ!cyVTSFNEzYVndco9Q2FNzR7L7kG9EPVImqdNMLQQTqKLS5A1eTzckOmvFR_ajOu2_A$>. > Set the default netns in startup.conf. Now it works. tap3 doesn't have the > IP address in Linux. > > vpp# show int addr > host-vpp-veth (up): > L3 192.168.3.3/31 > ipip0 (up): > unnumbered, use tn-eth0 > L3 192.168.1.6/24 > ipip1 (up): > unnumbered, use tn-eth1 > L3 192.168.10.6/24 > local0 (dn): > tap3 (up): > tn-eth0 (up): > L3 192.168.1.6/24 > tn-eth1 (up): > L3 192.168.10.6/24 > tn-eth2 (up): > L3 192.168.100.5/24 > > > Wei > ------------------------------ > *From:* vpp-dev@lists.fd.io <vpp-dev@lists.fd.io> on behalf of Pim van > Pelt <p...@ipng.nl> > *Sent:* Thursday, February 24, 2022 5:17 AM > *To:* Wei Huang <wei.hu.hu...@oracle.com> > *Cc:* vpp-dev@lists.fd.io <vpp-dev@lists.fd.io> > *Subject:* [External] : Re: [vpp-dev] linux-cp created tap interface send > out packets issue > > Wei, > > I think Linux CP starts a netlink listener in what is configured as the > default netns (in your case, <unset> implies this is the default > namespace). This means any 'ip' command you issue from Linux side won't be > seen by VPP. A few comments: > > - You are running 21.06 which is not complete. Please build from HEAD or > use the 22.02 release that was published this week. > - We merged a more (but not yet fully) complete Linux CP in > https://gerrit.fd.io/r/c/vpp/+/31122 > <https://urldefense.com/v3/__https://gerrit.fd.io/r/c/vpp/*/31122__;Kw!!ACWV5N9M2RV99hQ!cyVTSFNEzYVndco9Q2FNzR7L7kG9EPVImqdNMLQQTqKLS5A1eTzckOmvFR_ajOu2_A$> > for 22.02 release > - The current implementation can only service linux interfaces in one (1) > network namespace > - I recommend you actually do set the default namespace /before/ creating > your first LIP; either in startup.conf under linux-cp { default > netns inline_mgt_net }; or on the CLI with lcp default netns > inline_mgmt_net. > > Can you share as well 'show int addr' to see if the IP address you set on > the Linux side, made its way into the VPP dataplane ? > > groet, > Pim > > On Thu, Feb 24, 2022 at 2:49 AM Wei Huang <wei.hu.hu...@oracle.com> wrote: > > I am using VPP v21.06. Enabled linux-cp plugin. Created lcp as follows: > > vppctl lcp create *tn-eth2* host-if vpp2 netns inline_mgt_net > > vppctl ip mroute add 224.0.0.0/24 > <https://urldefense.com/v3/__http://224.0.0.0/24__;!!ACWV5N9M2RV99hQ!cyVTSFNEzYVndco9Q2FNzR7L7kG9EPVImqdNMLQQTqKLS5A1eTzckOmvFR9cOFbXAw$> > via local Forward > > vppctl ip mroute add 224.0.0.0/24 > <https://urldefense.com/v3/__http://224.0.0.0/24__;!!ACWV5N9M2RV99hQ!cyVTSFNEzYVndco9Q2FNzR7L7kG9EPVImqdNMLQQTqKLS5A1eTzckOmvFR9cOFbXAw$> > via *tn-eth2* Accept > Then bring up vpp2 in Linux: > > ip netns exec inline_mgt_net ip addr add 192.168.100.5/24 > <https://urldefense.com/v3/__http://192.168.100.5/24__;!!ACWV5N9M2RV99hQ!cyVTSFNEzYVndco9Q2FNzR7L7kG9EPVImqdNMLQQTqKLS5A1eTzckOmvFR89NbEMfw$> > dev vpp2 > > ip netns exec inline_mgt_net ip link set dev vpp2 up > > When I ping from my host (192.168.100.20) to 192.168.100.5 via tn-eth2, I > can see packets get sent out via tap3, but using tshark in Linux trying to > see packets on vpp2, I don't see any packets received on vpp2. ifconfig > also show vpp2 has no Rx packets: > bash-4.2# ip netns exec inline_mgt_net ifconfig > lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 > inet 127.0.0.1 netmask 255.0.0.0 > inet6 ::1 prefixlen 128 scopeid 0x10<host> > loop txqueuelen 1000 (Local Loopback) > RX packets 57333 bytes 3304558 (3.1 MiB) > RX errors 0 dropped 0 overruns 0 frame 0 > TX packets 57333 bytes 3304558 (3.1 MiB) > TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 > > > vpp2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 2004 > inet 192.168.100.5 netmask 255.255.255.0 broadcast 0.0.0.0 > inet6 fe80::f816:3fff:fe3a:2883 prefixlen 64 scopeid 0x20<link> > ether fa:16:3f:3a:28:83 txqueuelen 1000 (Ethernet) > RX packets 0 bytes 0 (0.0 B) > RX errors 0 dropped 1 overruns 0 frame 0 > TX packets 842 bytes 65492 (63.9 KiB) > TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 > > Packet trace in VPP: > Packet 1 > > 02:16:23:738692: dpdk-input > tn-eth2 rx queue 0 > buffer 0x9a8d7: current data 0, length 98, buffer-pool 0, ref-count 1, > totlen-nifb 0, trace handle 0x0 > ext-hdr-valid > l4-cksum-computed l4-cksum-correct > PKT MBUF: port 2, nb_segs 1, pkt_len 98 > buf_len 2176, data_len 98, ol_flags 0x0, data_off 128, phys_addr > 0xaaaa3640 > packet_type 0x0 l2_len 0 l3_len 0 outer_l2_len 0 outer_l3_len 0 > rss 0x0 fdir.hi 0x0 fdir.lo 0x0 > IP4: fa:16:3f:53:ad:d6 -> fa:16:3f:3a:28:83 > ICMP: 192.168.100.20 -> 192.168.100.5 > tos 0x00, ttl 64, length 84, checksum 0xf6a3 dscp CS0 ecn NON_ECN > fragment id 0xfa9a, flags DONT_FRAGMENT > ICMP echo_request checksum 0x9a6a id 15858 > 02:16:23:738719: ethernet-input > frame: flags 0x1, hw-if-index 3, sw-if-index 3 > IP4: fa:16:3f:53:ad:d6 -> fa:16:3f:3a:28:83 > 02:16:23:738730: ip4-input > ICMP: 192.168.100.20 -> 192.168.100.5 > tos 0x00, ttl 64, length 84, checksum 0xf6a3 dscp CS0 ecn NON_ECN > fragment id 0xfa9a, flags DONT_FRAGMENT > ICMP echo_request checksum 0x9a6a id 15858 > 02:16:23:738737: ip4-lookup > fib 0 dpo-idx 10 flow hash: 0x00000000 > ICMP: 192.168.100.20 -> 192.168.100.5 > tos 0x00, ttl 64, length 84, checksum 0xf6a3 dscp CS0 ecn NON_ECN > fragment id 0xfa9a, flags DONT_FRAGMENT > ICMP echo_request checksum 0x9a6a id 15858 > 02:16:23:738742: ip4-local > ICMP: 192.168.100.20 -> 192.168.100.5 > tos 0x00, ttl 64, length 84, checksum 0xf6a3 dscp CS0 ecn NON_ECN > fragment id 0xfa9a, flags DONT_FRAGMENT > ICMP echo_request checksum 0x9a6a id 15858 > 02:16:23:738745: ip4-icmp-input > ICMP: 192.168.100.20 -> 192.168.100.5 > tos 0x00, ttl 64, length 84, checksum 0xf6a3 dscp CS0 ecn NON_ECN > fragment id 0xfa9a, flags DONT_FRAGMENT > ICMP echo_request checksum 0x9a6a id 15858 > 02:16:23:738746: ip4-punt > ICMP: 192.168.100.20 -> 192.168.100.5 > tos 0x00, ttl 64, length 84, checksum 0xf6a3 dscp CS0 ecn NON_ECN > fragment id 0xfa9a, flags DONT_FRAGMENT > ICMP echo_request checksum 0x9a6a id 15858 > 02:16:23:738749: ip4-punt-redirect > via redirect:0 > 02:16:23:738751: ip4-dvr-dpo > sw_if_index:7 > 02:16:23:738753: ip4-dvr-reinject > sw_if_index:7 > 02:16:23:738754: tap3-output > tap3 qos_class: 0 qos_type : 0 > IP4: fa:16:3f:53:ad:d6 -> fa:16:3f:3a:28:83 > ICMP: 192.168.100.20 -> 192.168.100.5 > tos 0x00, ttl 64, length 84, checksum 0xf6a3 dscp CS0 ecn NON_ECN > fragment id 0xfa9a, flags DONT_FRAGMENT > ICMP echo_request checksum 0x9a6a id 15858 > > > vpp# show lcp > lcp default netns '<unset>' > itf-pair: [0] tn-eth2 tap3 vpp2 11 type tap netns inline_mgt_net > vpp# show int > Name Idx State MTU (L3/IP4/IP6/MPLS) > Counter Count > host-vpp-veth 4 up 9000/0/0/0 rx > packets 318 > rx > bytes 20450 > tx > packets 410 > tx > bytes 26380 > drops > 3 > ip4 > 181 > ip6 > 2 > ipip0 5 up 9000/0/0/0 rx > packets 274 > rx > bytes 26832 > ip4 > 274 > ipip1 6 up 9000/0/0/0 tx > packets 180 > tx > bytes 22244 > local0 0 down 0/0/0/0 > tap3 7 up 9000/0/0/0 rx > packets 832 > rx > bytes 64712 > tx > packets 7954 > tx > bytes 766484 > drops > 7704 > ip4 > 815 > ip6 > 17 > tn-eth0 1 up 9000/0/0/0 rx > packets 1033 > rx > bytes 113410 > tx > packets 748 > tx > bytes 75784 > drops > 275 > ip4 > 829 > ip6 > 2 > tn-eth1 2 up 9000/0/0/0 rx > packets 733 > rx > bytes 75370 > tx > packets 910 > tx > bytes 99792 > drops > 274 > ip4 > 547 > ip6 > 2 > tn-eth2 3 up 9000/0/0/0 rx > packets 8183 > rx > bytes 776322 > tx > packets 1048 > tx > bytes 73712 > drops > 7 > ip4 > 7957 > ip6 > 4 > vpp# show error > Count Node Reason > Severity > 1094 ikev2-ip4 processed > info > 2 ikev2-ip4 ike_sa_init_retransmit > info > 542 ikev2-ip4 keepalive > info > 4 ikev2-ip4 rekey_req > info > 4 ikev2-ip4 init_sa_req > info > 2 ikev2-ip4 ike_auth_req > info > 11 dpdk-input no error > error > 741 arp-reply ARP replies sent > error > 542 ip4-udp-lookup No error > error > 274 esp4-decrypt-tun ESP pkts received > error > 180 esp4-encrypt-tun ESP pkts received > error > 274 ipsec4-tun-input good packets received > error > 7 ipsec4-tun-input no matching tunnel > error > 181 ip4-inacl input ACL misses > error > 1 ip4-input valid ip4 packets > error > 3 ip4-input Multicast RPF check > failed error > 6 ip4-local ip4 spoofed local-address > packet dr error > 2 ethernet-input no error > error > 7 punt-dispatch No registrations > error > 7702 tap3-tx no free tx slots > error > > I don't know if the tap3-tx error "no free tx slots" is the reason why > vpp2 not receiving any packets. If it is the cause, how can I fix it? > Thanks for your attention. > > Wei > > > > > > -- > Pim van Pelt <p...@ipng.nl> > PBVP1-RIPE - http://www.ipng.nl/ > <https://urldefense.com/v3/__http://www.ipng.nl/__;!!ACWV5N9M2RV99hQ!cyVTSFNEzYVndco9Q2FNzR7L7kG9EPVImqdNMLQQTqKLS5A1eTzckOmvFR_K2BIClw$> > -- Pim van Pelt <p...@ipng.nl> PBVP1-RIPE - http://www.ipng.nl/
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#20913): https://lists.fd.io/g/vpp-dev/message/20913 Mute This Topic: https://lists.fd.io/mt/89372815/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-