[vpp-dev] help with review
Hello folks, Any help with review is much appreciated. Both patches are waiting for quite a long time. - https://gerrit.fd.io/r/c/vpp/+/36721 Short description: "autoendian" was broken for streaming message types like: service { rpc lcp_itf_pair_get returns lcp_itf_pair_get_reply *stream lcp_itf_pair_details*; }; vppapigen_c.py isn't generating boilerplate (endian handler, json handler, format handler, erc) for such types (both for vpp side and for vapi). There's currently also no support for streaming services in VAPI/C++, I have a patch for that, I will send it after this one will be merged (if it will be merged in the end). - https://gerrit.fd.io/r/c/vpp/+/36110 Short description: there is a fast path in "ethernet-input" for whole frames with ETH_INPUT_FRAME_F_SINGLE_SW_IF_IDX flag. The rest input nodes have this snippet to allocate a frame per interface when receiving the packets (at least in dpdk-input and memif-input). I thought it'd be useful to have this fast path for tap interfaces. Theoretically it can be even measured with csit but I didn't succeed at that :) -- Best regards Stanislav Zaikin -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#22496): https://lists.fd.io/g/vpp-dev/message/22496 Mute This Topic: https://lists.fd.io/mt/96493146/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/leave/1480452/21656/631435203/xyzzy [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[vpp-dev] Compilation errors seen in VPP v23.02-rc1 on Centos 8
Hi, I am trying to compile VPP v23.02-rc1 on Centos 8, but saw below compilation issues:- a) In command "make install-ext-deps" :- patching file lib/common.mk --- configuring xdp-tools 1.2.9 - log: /opt/vpp/build/external/rpm/tmp/xdp-tools.config.log --- building xdp-tools 1.2.9 - log: /opt/vpp/build/external/rpm/tmp/xdp-tools.build.log make[4]: *** [Makefile:49: config.mk] Error 1 make[3]: *** [packages/xdp-tools.mk:39: /opt/vpp/build/external/rpm/tmp/.xdp-tools.build.ok] Error 2 make[3]: Leaving directory '/opt/vpp/build/external' error: Bad exit status from /var/tmp/rpm-tmp.nYK5Y4 (%install) RPM build errors: Bad exit status from /var/tmp/rpm-tmp.nYK5Y4 (%install) make[2]: *** [Makefile:113: vpp-ext-deps-23.02-8.x86_64.rpm] Error 1 make[2]: Leaving directory '/opt/vpp/build/external' make[1]: *** [Makefile:125: install-rpm] Error 2 make[1]: Leaving directory '/opt/vpp/build/external' make: *** [Makefile:627: install-ext-deps] Error 2 I checked "/opt/vpp/build/external/rpm/tmp/xdp-tools.build.log" and found below logs:- make[4]: Entering directory '/opt/vpp/build/external/rpm/tmp/src-xdp-tools' sh configure *** ERROR: Cannot find tool clang make[4]: Leaving directory '/opt/vpp/build/external/rpm/tmp/src-xdp-tools' I then did "yum module install llvm-toolset" to resolve this. b) After a) I again executed "make install-ext-deps", but now I see below error:- In file included from ../src-dpdk/drivers/common/mlx5/mlx5_common_mr.c:14: ../src-dpdk/drivers/common/mlx5/linux/mlx5_glue.h:15:10: fatal error: infiniband/mlx5dv.h: No such file or directory #include ^ compilation terminated. ninja: build stopped: subcommand failed. Could not rebuild . make[3]: *** [packages/dpdk.mk:218: /opt/vpp/build/external/rpm/tmp/.dpdk.install.ok] Error 255 make[3]: Leaving directory '/opt/vpp/build/external' error: Bad exit status from /var/tmp/rpm-tmp.whpNsT (%install) RPM build errors: Bad exit status from /var/tmp/rpm-tmp.whpNsT (%install) make[2]: *** [Makefile:113: vpp-ext-deps-23.02-8.x86_64.rpm] Error 1 make[2]: Leaving directory '/opt/vpp/build/external' make[1]: *** [Makefile:125: install-rpm] Error 2 make[1]: Leaving directory '/opt/vpp/build/external' make: *** [Makefile:627: install-ext-deps] Error 2 It is not able to find "infiniband/mlx5dv.h". I see that packages rdma-core and libibverbs are already installed. What could be the reason for this issue? Thanks and Regards, Chinmaya Agarwal. -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#22495): https://lists.fd.io/g/vpp-dev/message/22495 Mute This Topic: https://lists.fd.io/mt/96486179/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/leave/1480452/21656/631435203/xyzzy [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [vpp-dev] VPP LCP: IS-IS does not work
Hello folks, In old router plugin it was done with the following snippet: ``` #include ... osi_register_input_protocol (OSI_PROTOCOL_isis, im->tx_node_index); ``` So, I'd give it a try to register this protocol for `lip_punt_node` (`lcp_router_init` seems quite suitable). Something like this: diff --git a/src/plugins/linux-cp/lcp.h b/src/plugins/linux-cp/lcp.h index 4ddaa3898..51f6b1b3e 100644 --- a/src/plugins/linux-cp/lcp.h +++ b/src/plugins/linux-cp/lcp.h @@ -52,6 +52,8 @@ u8 lcp_get_del_static_on_link_down (void); void lcp_set_del_dynamic_on_link_down (u8 is_del); u8 lcp_get_del_dynamic_on_link_down (void); +extern vlib_node_registration_t lip_punt_node; + #endif /* diff --git a/src/plugins/linux-cp/lcp_router.c b/src/plugins/linux-cp/lcp_router.c index 3534b597e..1f2c126d9 100644 --- a/src/plugins/linux-cp/lcp_router.c +++ b/src/plugins/linux-cp/lcp_router.c @@ -37,6 +37,7 @@ #include #include "lcp_nl_evpn.h" +#include "vnet/osi/osi.h" typedef struct lcp_router_table_t_ { @@ -1416,6 +1417,8 @@ lcp_router_init (vlib_main_t *vm) lcp_rt_fib_src_dynamic = fib_source_allocate ( "lcp-rt-dynamic", FIB_SOURCE_PRIORITY_HI + 1, FIB_SOURCE_BH_API); + osi_register_input_protocol( OSI_PROTOCOL_isis, lip_punt_node.index); + return (NULL); } It compiles, but I haven't checked anything since I'm too lazy to configure ISIS. On Mon, 23 Jan 2023 at 18:14, Pim van Pelt via lists.fd.io wrote: > Hoi, > > I would suggest not matching (only) MAC but (foremost) the ethertype, and > then punting those packets into the TAP, take a look at VLIB_REGISTER_NODE > (lip_punt_node) in src/plugins/linux-cp/lcp_node.c, contributions are > welcome. > > groet, > Pim > > On Mon, Jan 23, 2023 at 6:06 PM wrote: > >> Hoi Pim, >> >> As for distinguishing IS-IS packets, I think that should not be really >> difficult, it's just all the packets with specific DST MACs: >> 09:00:2b:00:00:05, 09:00:2b:00:00:14,09:00:2b:00:00:15. >> It's hard to imagine situation when they are needed to be processed by >> DataPlane. >> >> >> > > -- > Pim van Pelt > PBVP1-RIPE - http://www.ipng.nl/ > > > > -- Best regards Stanislav Zaikin -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#22494): https://lists.fd.io/g/vpp-dev/message/22494 Mute This Topic: https://lists.fd.io/mt/96476162/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/leave/1480452/21656/631435203/xyzzy [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [vpp-dev] VPP 22.10 : VCL not accepting UDP connections
Hi Chinmaya, Given that you’re getting packets in the listener’s rx fifo, I suspect the request to make it a connected listener didn’t work. We’ve had a number of changes in vcl/session layer so hard to say what exactly might be affecting your app. Just did an iperf udp test on master and everything seems to be fine. Maybe try it with your current vpp version to make sure that everything is okay or try running the udp iperf make test [2] Regards, Florin [1] https://wiki.fd.io/view/VPP/HostStack/LDP/iperf#UDP_testing [2] https://git.fd.io/vpp/tree/test/asf/test_vcl.py#n978 > On Jan 23, 2023, at 10:04 AM, Chinmaya Aggarwal > wrote: > > Hi, > > We are using connected socket (setting VPPCOM_ATTR_SET_CONNECTED) but still > facing this issue. Has something changed between VPP v21.06 and the new > release for the connected udp socket? > > Thanks and Regards, > Chinmaya Agarwal. > > -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#22493): https://lists.fd.io/g/vpp-dev/message/22493 Mute This Topic: https://lists.fd.io/mt/96363933/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/leave/1480452/21656/631435203/xyzzy [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [vpp-dev] VPP 22.10 : VCL not accepting UDP connections
Hi, We are using connected socket (setting VPPCOM_ATTR_SET_CONNECTED) but still facing this issue. Has something changed between VPP v21.06 and the new release for the connected udp socket? Thanks and Regards, Chinmaya Agarwal. -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#22492): https://lists.fd.io/g/vpp-dev/message/22492 Mute This Topic: https://lists.fd.io/mt/96363933/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/leave/1480452/21656/631435203/xyzzy [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [vpp-dev] VPP LCP: IS-IS does not work
Hoi, I would suggest not matching (only) MAC but (foremost) the ethertype, and then punting those packets into the TAP, take a look at VLIB_REGISTER_NODE (lip_punt_node) in src/plugins/linux-cp/lcp_node.c, contributions are welcome. groet, Pim On Mon, Jan 23, 2023 at 6:06 PM wrote: > Hoi Pim, > > As for distinguishing IS-IS packets, I think that should not be really > difficult, it's just all the packets with specific DST MACs: > 09:00:2b:00:00:05, 09:00:2b:00:00:14,09:00:2b:00:00:15. > It's hard to imagine situation when they are needed to be processed by > DataPlane. > > > -- Pim van Pelt PBVP1-RIPE - http://www.ipng.nl/ -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#22491): https://lists.fd.io/g/vpp-dev/message/22491 Mute This Topic: https://lists.fd.io/mt/96476162/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/leave/1480452/21656/631435203/xyzzy [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [vpp-dev] VPP LCP: IS-IS does not work
Hoi Pim, As for distinguishing IS-IS packets, I think that should not be really difficult, it's just all the packets with specific DST MACs: 09:00:2b:00:00:05, 09:00:2b:00:00:14,09:00:2b:00:00:15. It's hard to imagine situation when they are needed to be processed by DataPlane. -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#22490): https://lists.fd.io/g/vpp-dev/message/22490 Mute This Topic: https://lists.fd.io/mt/96476162/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/leave/1480452/21656/631435203/xyzzy [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [vpp-dev] VPP LCP: IS-IS does not work
Hoi, Linux CP supports ARP, IPv4 and IPv6. ISIS uses its its own ethertype, as do other protocols (like LLDP for example). Those will not be punted into the TAP by the plugin (and it's difficult to uniquely identify the ethernet frames that should be punted as compared to being handled entirely in the dataplane). groet, Pim On Mon, Jan 23, 2023 at 4:36 PM wrote: > Dear VPP community, > > I'm trying to set up IS-IS neighborship with node running VPP22.10 + LCP > plugin + FRR as control plane software, with no results. > > What I can see, looks like VPP does not pass IIH packet between network > and TAP interface, both directions. > On node running VPP, when tcpdumping host TAP interface I see outgoing > IS-IS IIHs: > 15:12:27.195439 3c:ec:ef:5f:77:8f > 09:00:2b:00:00:05, 802.3, length 1500: > LLC, dsap OSI (0xfe) Individual, ssap OSI (0xfe) Command, ctrl 0x03: OSI > NLPID IS-IS (0x83): p2p IIH, src-id ..0001, length 1497 > They are not appears on opposite node (it runs frr/isisd without VPP). > Only outgoing IIH packets are seen. > 15:29:13.192912 3c:ec:ef:5f:78:7a > 09:00:2b:00:00:05, 802.3, length 1500: > LLC, dsap OSI (0xfe) Individual, ssap OSI (0xfe) Command, ctrl 0x03: OSI > NLPID IS-IS (0x83): p2p IIH, src-id ..0002, length 1497 > 15:29:15.942959 3c:ec:ef:5f:78:7a > 09:00:2b:00:00:05, 802.3, length 1500: > LLC, dsap OSI (0xfe) Individual, ssap OSI (0xfe) Command, ctrl 0x03: OSI > NLPID IS-IS (0x83): p2p IIH, src-id ..0002, length 1497 > > Meanwhile, IP connectivity between the nodes exist. Here you can see ICMP > exchane, as we can see it on TAP interface of VPP host > 15:24:15.169021 3c:ec:ef:5f:77:8f > 3c:ec:ef:5f:78:7a, ethertype IPv4 > (0x0800), length 98: 10.114.1.1 > 10.114.1.100: ICMP echo request, id > 144, seq 12, length 64 > 15:24:15.169275 3c:ec:ef:5f:78:7a > 3c:ec:ef:5f:77:8f, ethertype IPv4 > (0x0800), length 98: 10.114.1.100 > 10.114.1.1: ICMP echo reply, id 144, > seq 12, length 64 > 15:24:15.329025 3c:ec:ef:5f:77:8f > 3c:ec:ef:5f:78:7a, ethertype IPv4 > (0x0800), length 98: 10.114.1.1 > 10.114.1.100: ICMP echo request, id > 122, seq 61503, length 64 > 15:24:15.329304 3c:ec:ef:5f:78:7a > 3c:ec:ef:5f:77:8f, ethertype IPv4 > (0x0800), length 98: 10.114.1.100 > 10.114.1.1: ICMP echo reply, id 122, > seq 61503, length 64 > > OSPF neighborship also can be established, so problem is IS-IS related. > tn3# show ipv6 ospf6 neighbor > Neighbor ID PriDeadTimeState/IfState Duration > I/F[State] > 20.20.20.1100:00:38 Full/DR 00:07:21 > Ten0.1914[BDR] > tn3# > > What I found, show node counters says osi-input unknown osi protocol > increasing. > >Count Node > Reason Severity > 84 lldp-inputlldp packets received on > disabled i error > 4364 dpdk-input no > errorerror > 20 arp-reply ARP replies > sentinfo > 9 arp-reply IP4 source address matches > local in error > 19 arp-reply ARP request IP4 source > address lear info > 43arp-disabled ARP > Disabled error > 1252 osi-input unknown osi > protocol error > 4 ip6-inputip6 source lookup > miss error > 19ip6-local-hop-by-hop Unknown protocol ip6 local > h-b-h pa error > 10 ip4-localip4 source lookup > miss error > 4 ip6-icmp-input neighbor solicitations for > unknownerror > 4 ip6-icmp-input neighbor advertisements > sent info >106 ip6-icmp-input neighbor discovery not > configurederror > 42 snap-input unknown oui/snap > protocolerror > 49 ethernet-input unknown ethernet > type error > 623375 ethernet-input unknown > vlan error > 1 ethernet-input subinterface > downerror > > On the other hand, I can see IS-IS protocol in src/vnet/osi/osi.h > > > #define foreach_osi_protocol\ > _ (null, 0x0) \ > _ (x_29, 0x01)\ > _ (x_633, 0x03) \ > _ (q_931, 0x08) \ > _ (q_933, 0x08) \ > _ (q_2931, 0x09) \ > _ (q_2119, 0x0c) \ > _ (snap, 0x80)\ > _ (clnp, 0x81)\ > _ (esis, 0x82)\ > _ (isis, 0x83)
[vpp-dev] VPP LCP: IS-IS does not work
Dear VPP community, I'm trying to set up IS-IS neighborship with node running VPP22.10 + LCP plugin + FRR as control plane software, with no results. What I can see, looks like VPP does not pass IIH packet between network and TAP interface, both directions. On node running VPP, when tcpdumping host TAP interface I see outgoing IS-IS IIHs: 15:12:27.195439 3c:ec:ef:5f:77:8f > 09:00:2b:00:00:05, 802.3, length 1500: LLC, dsap OSI (0xfe) Individual, ssap OSI (0xfe) Command, ctrl 0x03: OSI NLPID IS-IS (0x83): p2p IIH, src-id ..0001, length 1497 They are not appears on opposite node (it runs frr/isisd without VPP). Only outgoing IIH packets are seen. 15:29:13.192912 3c:ec:ef:5f:78:7a > 09:00:2b:00:00:05, 802.3, length 1500: LLC, dsap OSI (0xfe) Individual, ssap OSI (0xfe) Command, ctrl 0x03: OSI NLPID IS-IS (0x83): p2p IIH, src-id ..0002, length 1497 15:29:15.942959 3c:ec:ef:5f:78:7a > 09:00:2b:00:00:05, 802.3, length 1500: LLC, dsap OSI (0xfe) Individual, ssap OSI (0xfe) Command, ctrl 0x03: OSI NLPID IS-IS (0x83): p2p IIH, src-id ..0002, length 1497 Meanwhile, IP connectivity between the nodes exist. Here you can see ICMP exchane, as we can see it on TAP interface of VPP host 15:24:15.169021 3c:ec:ef:5f:77:8f > 3c:ec:ef:5f:78:7a, ethertype IPv4 (0x0800), length 98: 10.114.1.1 > 10.114.1.100: ICMP echo request, id 144, seq 12, length 64 15:24:15.169275 3c:ec:ef:5f:78:7a > 3c:ec:ef:5f:77:8f, ethertype IPv4 (0x0800), length 98: 10.114.1.100 > 10.114.1.1: ICMP echo reply, id 144, seq 12, length 64 15:24:15.329025 3c:ec:ef:5f:77:8f > 3c:ec:ef:5f:78:7a, ethertype IPv4 (0x0800), length 98: 10.114.1.1 > 10.114.1.100: ICMP echo request, id 122, seq 61503, length 64 15:24:15.329304 3c:ec:ef:5f:78:7a > 3c:ec:ef:5f:77:8f, ethertype IPv4 (0x0800), length 98: 10.114.1.100 > 10.114.1.1: ICMP echo reply, id 122, seq 61503, length 64 OSPF neighborship also can be established, so problem is IS-IS related. tn3# show ipv6 ospf6 neighbor Neighbor ID Pri DeadTime State/IfState Duration I/F[State] 20.20.20.1 1 00:00:38 Full/DR 00:07:21 Ten0.1914[BDR] tn3# What I found, show node counters says osi-input unknown osi protocol increasing. Count Node Reason Severity 84 lldp-input lldp packets received on disabled i error 4364 dpdk-input no error error 20 arp-reply ARP replies sent info 9 arp-reply IP4 source address matches local in error 19 arp-reply ARP request IP4 source address lear info 43 arp-disabled ARP Disabled error 1252 osi-input unknown osi protocol error 4 ip6-input ip6 source lookup miss error 19 ip6-local-hop-by-hop Unknown protocol ip6 local h-b-h pa error 10 ip4-local ip4 source lookup miss error 4 ip6-icmp-input neighbor solicitations for unknown error 4 ip6-icmp-input neighbor advertisements sent info 106 ip6-icmp-input neighbor discovery not configured error 42 snap-input unknown oui/snap protocol error 49 ethernet-input unknown ethernet type error 623375 ethernet-input unknown vlan error 1 ethernet-input subinterface down error On the other hand, I can see IS-IS protocol in src/vnet/osi/osi.h #define foreach_osi_protocol \ _ (null, 0x0) \ _ (x_29, 0x01) \ _ (x_633, 0x03) \ _ (q_931, 0x08) \ _ (q_933, 0x08) \ _ (q_2931, 0x09) \ _ (q_2119, 0x0c) \ _ (snap, 0x80) \ _ (clnp, 0x81) \ _ (esis, 0x82) \ _ (isis, 0x83) \ _ (idrp, 0x85) \ _ (x25_esis, 0x8a) \ _ (iso10030, 0x8c) \ _ (iso11577, 0x8d) \ _ (ip6, 0x8e) \ _ (compressed, 0xb0) \ _ (sndcf, 0xc1) \ _ (ip4, 0xcc) \ _ (ppp, 0xcf) So protocol should not be "unknown". Any ideas where I need to look at to fix the issue with IS-IS? -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#22488):