[vpp-dev] help with review

2023-01-23 Thread Stanislav Zaikin
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

2023-01-23 Thread Chinmaya Aggarwal
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

2023-01-23 Thread Stanislav Zaikin
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

2023-01-23 Thread Florin Coras
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

2023-01-23 Thread Chinmaya Aggarwal
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

2023-01-23 Thread Pim van Pelt via lists.fd.io
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

2023-01-23 Thread agv100
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

2023-01-23 Thread Pim van Pelt via lists.fd.io
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

2023-01-23 Thread agv100
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):