[vpp-dev] VPP and Mellanox 40 Gb/s NIC

2017-10-09 Thread Alessio Silvestro
Hi all,

I am working on VPP v17.04.2-2.

I use to work with 10Gb/s Intel NICs. Now, I would like to use a 40Gb/s
Mellanox ConnectX-3 NIC.

I read a previous thread on the topic (
https://lists.fd.io/pipermail/vpp-dev/2017-June/005540.html) however it
refers only to the new generation ConnectX-4.

When I perform the command

make dpdk-install-dev DPDK_MLX5_PMD=y
or

make dpdk-install-dev DPDK_MLX4_PMD=y


I have the following error:

make[5]: Entering directory '/root/vpp/dpdk'
Makefile:170: warning: overriding recipe for target '/root/vpp/dpdk/'
Makefile:164: warning: ignoring old recipe for target '/root/vpp/dpdk/'
Please run "make config" first
Makefile:227: recipe for target '/root/vpp/dpdk/deb/_build/.build.ok' failed
make[5]: *** [/root/vpp/dpdk/deb/_build/.build.ok] Error 1
make[5]: Leaving directory '/root/vpp/dpdk'
debian/rules:27: recipe for target 'override_dh_install' failed
make[4]: *** [override_dh_install] Error 2
make[4]: Leaving directory '/root/vpp/dpdk/deb'
debian/rules:18: recipe for target 'binary' failed
make[3]: *** [binary] Error 2
make[3]: Leaving directory '/root/vpp/dpdk/deb'
dpkg-buildpackage: error: debian/rules binary gave error exit status 2
Makefile:268: recipe for target 'vpp-dpdk-dev_17.02-vpp2_amd64.deb' failed
make[2]: *** [vpp-dpdk-dev_17.02-vpp2_amd64.deb] Error 2
make[2]: Leaving directory '/root/vpp/dpdk'
Makefile:275: recipe for target 'install-deb' failed
make[1]: *** [install-deb] Error 2
make[1]: Leaving directory '/root/vpp/dpdk'
Makefile:333: recipe for target 'dpdk-install-dev' failed
make: *** [dpdk-install-dev] Error 2



Any idea on this?

Thanks,
Alessio
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Re: [vpp-dev] VPP Multi-thread

2017-10-04 Thread Alessio Silvestro
Yeah you completely got the point.

Thanks for the hint ;)

Alessio

On Oct 4, 2017 12:11, "Damjan Marion" <dmarion.li...@gmail.com> wrote:

>
>
> On 2 Oct 2017, at 18:14, Alessio Silvestro <ale.silver...@gmail.com>
> wrote:
>
> Dear all,
>
> I am running VPP on a CPU with 2 sockets and 4 virtual cores. The startup
> configuration is the following:
>
> unix {
>>   interactive
>>   nodaemon
>> }
>>
>> cpu {
>> main-core 0
>> corelist-workers 2-3
>> *workers 2*
>> }
>>
>>  dpdk {
>> dev :07:00.0
>
>{
>> num-rx-queues 2
>> }
>> dev :07:00.1
>
> socket-mem 1024,1024
>> }
>
>
> The thread placement is the following:
>
>> Thread 1 (vpp_wk_0 at lcore 2):
>>   *TenGigabitEthernet7/0/0 queue 0*
>>   TenGigabitEthernet7/0/1 queue 0
>> Thread 2 (vpp_wk_1 at lcore 3):
>>  * TenGigabitEthernet7/0/0 queue 1*
>
>
> So, I can see that RSS is working because the first queue of the first
> interface is on lcore2 whereas the second queue is on lcore3.
>
> I am running a simple L2-xconnect with the following command:
>
>> set int l2 xconnect TenGigabitEthernet7/0/0 TenGigabitEthernet7/0/1
>
>
>
> I am expecting the second thread actually working when the first cannot
> handle all the traffic.
>
> Therefore, I am saturating the RX bandwidth of TenGigabitEthernet7/0/0 sending
> 14 Mpps (packets of 64B).
> I am receiving on TenGigabitEthernet7/0/1 only ~13Mpps which means that I
> am not able to process ~ 1Mpps.
>
> However, when I perform  "show run", the second thread does not work at
> all!
>
> Am I missing something in the configuration of VPP or what do you think
> can be the cause?
>
> Thanks for the help :)
>
>
> RSS is per-flow so likely your NIC thinks that all your traffic belongs to
> the same flow and sends it to the same queue.
> You need to make your traffic more diverse, i.e. by randomizing address or
> port values…
>
>
>
>
>
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

[vpp-dev] VPP Multi-thread

2017-10-02 Thread Alessio Silvestro
Dear all,

I am running VPP on a CPU with 2 sockets and 4 virtual cores. The startup
configuration is the following:

unix {
>   interactive
>   nodaemon
> }
>
> cpu {
> main-core 0
> corelist-workers 2-3
> *workers 2*
> }
>
>  dpdk {
> dev :07:00.0

   {
> num-rx-queues 2
> }
> dev :07:00.1

socket-mem 1024,1024
> }


The thread placement is the following:

> Thread 1 (vpp_wk_0 at lcore 2):
>   *TenGigabitEthernet7/0/0 queue 0*
>   TenGigabitEthernet7/0/1 queue 0
> Thread 2 (vpp_wk_1 at lcore 3):
>  * TenGigabitEthernet7/0/0 queue 1*


So, I can see that RSS is working because the first queue of the first
interface is on lcore2 whereas the second queue is on lcore3.

I am running a simple L2-xconnect with the following command:

> set int l2 xconnect TenGigabitEthernet7/0/0 TenGigabitEthernet7/0/1



I am expecting the second thread actually working when the first cannot
handle all the traffic.

Therefore, I am saturating the RX bandwidth of TenGigabitEthernet7/0/0 sending
14 Mpps (packets of 64B).
I am receiving on TenGigabitEthernet7/0/1 only ~13Mpps which means that I
am not able to process ~ 1Mpps.

However, when I perform  "show run", the second thread does not work at all!

Am I missing something in the configuration of VPP or what do you think can
be the cause?

Thanks for the help :)

Best regards,
Alessio
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

[vpp-dev] Poor L3/L4 Performance

2017-09-25 Thread Alessio Silvestro
Dear all,

I am performing some experiments on VPP in order to get some performance
metrics for specific applications.

I am working on vpp v17.04.2-2.

In order to have a baseline of my system, I run L2 XConnect (XC) as in [
https://perso.telecom-paristech.fr/~drossi/paper/vpp-bench-techrep.pdf].

In this case, I can achieve, similarly to the paper, ~13Mpps -- which
somehow confirm that the
current setup is correct.

I implemented 2 further experiments:

*1) L3-Xconnect *

I implemented a new node that listens for traffic with specific ether_type
with the following api:

ethernet_register_input_type(vm, ETHERNET_TYPE_X, my_node.index)

Once the traffic is received, the node sends the traffic directly to
l2_output without any further processing.

The achieved packet rate is less than 5 Mpps.

*2) L4-Xconnect*

I implemented another node that listens for UDP traffic on  a specific port
with the following api:


udp_register_dst_port (vm, UDP_DST_PORT_vxlan, vxlan_input_node.index, 1 /*
is_ip4 */);

Once the traffic is received, the node sends the traffic directly to
l2_output without any further processing.

The achieved packet rate is less than 4 Mpps.


The testbed is composed of 2 servers. The first server is running VPP
whereas the second server runs the traffic generator (packetgen). The
servers are equipped with Intel NICs capable of dual-port 10 Gbps
full-duplex link. Generated packets have the size of 64kb.

VPP is configured to run with one main thread and one worker thread.
Therefore, the previous values are meant for a single CPU-core.

In my opinion those values are a bit too low compared to other
state-of-the-art approaches.

Do you have any idea on why this is happening and, if this is my fault, how
I can fix it.

Thanks,
Alessio
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

[vpp-dev] Changing VLIB_FRAME_SIZE VPP v17.07

2017-07-29 Thread Alessio Silvestro
Dear all,

I am currently working on VPP v17.07.

I would like to do some measurement and change the size of the VLIB_FRAME_SIZE,
defined in

VPP_ROOT/src/vlib/node.h.

However, I face an issue similar to the post
(https://lists.fd.io/pipermail/vpp-dev/2017-March/004361.html).

More in detail, when I set up the VLIB_FRAME_SIZE to 128 at run time I
got the following error.


0: /root/vpp/build-data/../src/vlib/main.c:483 (vlib_put_next_frame)
assertion `n_vectors_left <= VLIB_FRAME_SIZE' fails



Whereas, when I set up the VLIB_FRAME_SIZE to 512 at run time I got the
following error.

 /root/vpp/build-data/../src/vlib/physmem.h:96 (vlib_physmem_at_offset)
assertion `offset < pm->virtual.size' fails



I tried both with the debug version and the build-release. Moreover when I
compile I do:

make wipe-release

make build-release

Is there something else that I should do in order to let VPP working with
other VLIB_FRAME_SIZE values?

Best regards,
Alessio
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Re: [vpp-dev] Capturing Packets with Particular Ethertypes

2017-07-28 Thread Alessio Silvestro
Thanks, that was the issue.

It would be nice to have such information in the wiki page.

It would help people to work with VPP :)

Alessio

On Thu, Jul 27, 2017 at 8:58 PM, John Lo (loj) <l...@cisco.com> wrote:

> Hi Alessio,
>
>
>
> The mechanism you are using to handle ethertype works only when the
> interface is in L3 mode which is the default, unless an interface is set to
> L2 bridging (or xconnect) mode. When an interface is in L2 mode, VPP will
> always get into l2-input mode to forward ethernet packet based on ethernet
> header and not care about ethertype of the packet. From your description,
> the interface appear to be in L2 mode.
>
>
>
> Regards,
>
> John
>
>
>
> *From:* vpp-dev-boun...@lists.fd.io [mailto:vpp-dev-boun...@lists.fd.io] *On
> Behalf Of *Alessio Silvestro
> *Sent:* Thursday, July 27, 2017 12:16 PM
> *To:* vpp-dev@lists.fd.io
> *Subject:* [vpp-dev] Capturing Packets with Particular Ethertypes
>
>
>
> Dear all,
>
>
>
> I am trying to capture packets with a particular Ethertype.
>
>
>
> Let's say I want the ethertype 0x2323.
>
>
>
> I first define the new protocol type in vpp/srv/vnet/ethernet/types.def
>
>
>
> ethernet_type (0x2323, MY_PROTOCOL)
>
> Thus, I created and registered a new node "my_node".
>
>
>
> In the init function of my_node I call the function:
>
>
>
> ethernet_register_input_type (vm, MY_PROTOCOL ,my_node.index);
>
>
>
>
>
> I compile and run vpp. When I send the packet with the new ethertype, my
> node is not invoked.
>
>
>
> In particular, the result of show trace tells me that the packet is
> arriving at the interface.The new procotol is recognized but the chain of
> node is dpdk-input -> ethernet-input -> l2-input -> l2-output
> -> TenGigabitEthernet7/0/1-output.
>
>
>
> The wiki page (https://wiki.fd.io/view/VPP/Modifying_The_Packet_
> Processing_Directed_Graph) does not mention anything else.
>
>
>
> Do you have an idea where could be the problem or what is missing?
>
>
>
> Thanks.
>
>
>
> Best regards,
>
> Alessio
>
>
>
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

[vpp-dev] Capturing Packets with Particular Ethertypes

2017-07-27 Thread Alessio Silvestro
Dear all,

I am trying to capture packets with a particular Ethertype.

Let's say I want the ethertype 0x2323.

I first define the new protocol type in vpp/srv/vnet/ethernet/types.def

ethernet_type (0x2323, MY_PROTOCOL)

Thus, I created and registered a new node "my_node".

In the init function of my_node I call the function:

ethernet_register_input_type (vm, MY_PROTOCOL ,my_node.index);


I compile and run vpp. When I send the packet with the new ethertype, my
node is not invoked.

In particular, the result of show trace tells me that the packet is
arriving at the interface.The new procotol is recognized but the chain of
node is dpdk-input -> ethernet-input -> l2-input -> l2-output
-> TenGigabitEthernet7/0/1-output.

The wiki page (
https://wiki.fd.io/view/VPP/Modifying_The_Packet_Processing_Directed_Graph)
does not mention anything else.

Do you have an idea where could be the problem or what is missing?

Thanks.

Best regards,
Alessio
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Re: [vpp-dev] VPP: Answer UDP Packets

2017-07-12 Thread Alessio Silvestro
Hi Neale,

can you please point me a code example of how to access the adjacency-DB in
order to get the adjacency index to use for the ip4-rewrite node?

Thanks,
Alessio

On Wed, Jun 21, 2017 at 12:53 PM, Neale Ranns (nranns) <nra...@cisco.com>
wrote:

> Hi Dharmaray,
>
> The short answer is that ip4-lookup performs the lookup in a FIB table of
> the packet’s destination address, the result of which is an adjacency. The
> ip4-rewrite node applies the ‘L2’ encap of an adjacency and transmits the
> packet on the output port*. So typically packets will go first to
> ip4-lookup, get the adjacency, then proceed to ip4-rewrite.
>
> When choosing between which of the two nodes to send your packet to, you
> should consider which of the pre-conditions for the required data you meet.
> In order to perform the IP lookup, the node needs to know which FIB table
> to use. In order to perform the rewrite, the node needs to know which
> adjacency to use.
> So if you want to send your packet to the ip4-rewrite node, then you must
> have already chosen which adjacency to use. For single-hop BFD this is a
> simple matter of getting the adjacency from the adjacency-DB based on the
> peer and interface – you can think of this as caching the result of the
> lookup. The advantage of this is that we bypass the ip4-lookup node and so
> don’t pay its performance cost.
>
> If you know the next-hop to send to, but not the interface (and so can’t
> use the adjacency-DB directly) then you can register with the FIB to track
> that next-hop and be informed of the changing adjacency to use.
>
> Hth,
> neale
>
> *typically. The exception being tunnels.
>
> -Original Message-
> From: <vpp-dev-boun...@lists.fd.io> on behalf of Dharmaray Kundargi <
> dharmaray.kunda...@mavenir.com>
> Date: Wednesday, 21 June 2017 at 10:48
> To: "Klement Sekera -X (ksekera - PANTHEON TECHNOLOGIES at Cisco)" <
> ksek...@cisco.com>, Alessio Silvestro <ale.silver...@gmail.com>
> Cc: "vpp-dev@lists.fd.io" <vpp-dev@lists.fd.io>
> Subject: Re: [vpp-dev] VPP: Answer UDP Packets
>
> BFD UDP code is interesting example.
>
> I was looking at bfd_udp_input rather and one question in relation to
> this.
> Though both ' bfd_udp_input ()' and ' bfd_send_periodic()' form the IP
> and UDP headers using ' bfd_add_transport_layer', they pass the packet to
> different next nodes.
> bfd_udp_input uses "ip4-lookup" as the next node whereas '
> bfd_send_periodic()' uses "ip4-rewrite".
>
> So what's the difference between these two nodes? (ip4-rewrite vs ip4-
> lookup) and when to use what ?
>
> Regards
> Dharmaray
>
>
>
>
> -Original Message-
> From: vpp-dev-boun...@lists.fd.io [mailto:vpp-dev-boun...@lists.fd.io]
> On Behalf Of Klement Sekera -X (ksekera - PANTHEON TECHNOLOGIES at Cisco)
> Sent: Monday, June 19, 2017 12:09 PM
> To: Alessio Silvestro <ale.silver...@gmail.com>
> Cc: vpp-dev@lists.fd.io
> Subject: Re: [vpp-dev] VPP: Answer UDP Packets
>
> Couple of potential issues which I see:
>
> 1.) if this buffer is generated by vpp, it should be flagged as such
> (b->flags |= VNET_BUFFER_LOCALLY_ORIGINATED;)
>
> 2.) I don't see it passed to another node - you need to create a frame
> and associate the buffer with it, then pass the frame to the next node,
> which would be either ip4-arp or ip4-rewrite for ipv4 case depending on
> whether the arp resolution has taken place or not...
>
>     take a look at functions
>
> bfd_udp_init() - where the next nodes are resolved
> bfd_transport_udp4() - where the next node is decided and frame created
>
> You can take a look at show error and show trace to see what happens
> to the packet..
>
> HTH,
> Klement
>
>
> Quoting Alessio Silvestro (2017-06-16 17:20:30)
> >Dear Klement,
> >
> >thanks for the hint. I had a look at the code bfd_main.c and in
> particular
> >at the function bfd_send_periodic().
> >
> >I wrote the function send_udp_packet()  -- see below -- in order
> to send
> >out UDP packets.
> >
> >The function is executed (I can see from the VPP terminal) and no
> >exception is raised, however I do not see any packet out.
> >
> >1 -- is the function correct or I am missing something?
> >
> >2 -- if it is not correct, how I can see where the problem is?
> >
> >Thanks,
> >
> >Alessio
> >
> >static void send_udp_packet(vl

Re: [vpp-dev] Buffer allocation failure

2017-06-30 Thread Alessio Silvestro
Thanks for the help, it works!

Alessio

On Fri, Jun 30, 2017 at 3:29 PM, Dave Barach (dbarach) <dbar...@cisco.com>
wrote:

> +1... Thanks… Dave
>
>
>
> *From:* vpp-dev-boun...@lists.fd.io [mailto:vpp-dev-boun...@lists.fd.io] *On
> Behalf Of *Luke, Chris
> *Sent:* Friday, June 30, 2017 8:29 AM
> *To:* Alessio Silvestro <ale.silver...@gmail.com>; vpp-dev@lists.fd.io
> *Subject:* Re: [vpp-dev] Buffer allocation failure
>
>
>
> The packet you receive, what do you do with it?
>
>
>
> If you don’t forward it, you have two choices:
>
>
>
>- You could deallocate its buffer.
>- Or, better, recycle it and use that packets buffer for your outgoing
>packet. That way you avoid the expense of allocating a new one.
>
>
>
> Chris.
>
>
>
> *From:* vpp-dev-boun...@lists.fd.io [mailto:vpp-dev-boun...@lists.fd.io
> <vpp-dev-boun...@lists.fd.io>] *On Behalf Of *Alessio Silvestro
> *Sent:* Friday, June 30, 2017 8:25
> *To:* vpp-dev@lists.fd.io
> *Subject:* [vpp-dev] Buffer allocation failure
>
>
>
> Dear vvp-dev,
>
>
>
> I developed a new vpp node that listen for UDP traffic on a specific port,
> then, for each received packet, create a new buffer and send an UDP packet
> to the source IP address.
>
>
>
> The application is running fine, but when I send some thousands of
> packets, at some point vpp starts to give "buffer allocation failure" error.
>
>
>
> Where do you think could be the problem.
>
>
>
> Is the node not correctly de-allocating the buffer or there is some
> specific vpp and/or system configuration that can cause this problem?
>
>
>
> Best regards,
>
> Alessio
>
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Re: [vpp-dev] VPP: Answer UDP Packets

2017-06-16 Thread Alessio Silvestro
Dear Klement,

thanks for the hint. I had a look at the code bfd_main.c and in particular
at the function bfd_send_periodic().

I wrote the function send_udp_packet()  -- see below -- in order to send
out UDP packets.

The function is executed (I can see from the VPP terminal) and no exception
is raised, however I do not see any packet out.

1 -- is the function correct or I am missing something?

2 -- if it is not correct, how I can see where the problem is?


Thanks,

Alessio



static void send_udp_packet(vlib_main_t * vm, vlib_node_runtime_t * rt){
u32 bi;
vlib_buffer_alloc (vm, , 1)
vlib_buffer_t *b = vlib_get_buffer (vm, bi);
ASSERT (b->current_data == 0);
memset (vnet_buffer (b), 0, sizeof (*vnet_buffer (b)));
VLIB_BUFFER_TRACE_TRAJECTORY_INIT (b);
add_udp4_transport (vm,b);
}
int add_udp4_transport (vlib_main_t * vm, vlib_buffer_t * b)
{
vnet_buffer (b)->ip.adj_index[VLIB_RX] =  ~0;
vnet_buffer (b)->ip.adj_index[VLIB_TX]=  ~0;
vnet_buffer (b)->sw_if_index[VLIB_RX] = 0;
vnet_buffer (b)->sw_if_index[VLIB_TX] = ~0;
u8 *data;
udp_header_t *udp;
ip4_header_t *ip;
data = vlib_buffer_get_current (b);
udp = (udp_header_t *) (data - sizeof (udp_header_t));
ip = (ip4_header_t *) ((u8 *) udp - sizeof (ip4_header_t));
// Build packet header
u32 src_address = 167772161; //10.0.0.1  u32 version
u32 dst_address = 167772162; // 10.0.0.2 u32 version
ip->src_address.as_u32 = src_address;
ip->dst_address.as_u32 = dst_address;
ip->ip_version_and_header_length = 0x45;
ip->ttl = 254;
ip->protocol = IP_PROTOCOL_UDP; //0x45 == IP_PROTOCOL_UDP
ip->length = clib_host_to_net_u16 (b->current_length + sizeof (*udp));
ip->checksum = ip4_header_checksum (ip);
udp->src_port = DNS_SERVER_PORT;
udp->dst_port = DNS_DST_PORT;
udp->length = clib_host_to_net_u16 (b->current_length);
udp->checksum = 0;
b->current_length = sizeof (*ip) + sizeof (*udp);
return 1;
}









On Wed, Jun 14, 2017 at 6:56 PM, Klement Sekera -X (ksekera - PANTHEON
TECHNOLOGIES at Cisco) <ksek...@cisco.com> wrote:

> Hi Alessio,
>
> you can take a look at BFD code which
>
> a.) creates and sends its own UDP packets - bfd_main.c -
> bfd_send_periodic() creates, encapsulates (UDP) and sends a packet out
> b.) loops back packets received - bfd_udp.c - bfd_udp_echo_input()
>
> I'm not sure what's your use case, whether you are trying to reuse
> existing buffer, but one of these should fit it.
>
> Regards,
> Klement
>
> Quoting Alessio Silvestro (2017-06-14 17:22:14)
> >Dear all,
> >I implemented a new VPP node that receives UDP traffic using the
> following
> >function:
> >
> >udp_register_dst_port (vm, PORT, my_node.index , 1 /* is_ip4 */);
> >
> >I am able to parse the packet and I would like to be able to send
> back an
> >UDP packet.
> >
> >Looking at the source code, the only function that seems fit my scope
> is
> >the following (in ~/vpp/src/vnet/udp/udp.h)
> >
> >ip_udp_encap_one (vlib_main_t * vm, vlib_buffer_t * b0, u8 * ec0, word
> >ec_len,
> >
> >  u8 is_ip4)
> >
> >Is that correct or there is another function for this purpose?
> >
> >Thanks in advance for any help.
> >
> >Best regards,
> >
> >Alessio
>
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

[vpp-dev] VPP: Answer UDP Packets

2017-06-14 Thread Alessio Silvestro
Dear all,

I implemented a new VPP node that receives UDP traffic using the following
function:

udp_register_dst_port (vm, PORT, my_node.index , 1 /* is_ip4 */);


I am able to parse the packet and I would like to be able to send back an
UDP packet.


Looking at the source code, the only function that seems fit my scope is
the following (in ~/vpp/src/vnet/udp/udp.h)
ip_udp_encap_one (vlib_main_t * vm, vlib_buffer_t * b0, u8 * ec0, word
ec_len,

  u8 is_ip4)


Is that correct or there is another function for this purpose?


Thanks in advance for any help.

Best regards,

Alessio
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Re: [vpp-dev] New vpp node

2017-06-14 Thread Alessio Silvestro
Hi Neale,

thanks for the info.

Just to further clarify for the community.

To start vpp with gdb run:

~/vpp/make build && make debug

then run:

(gdb) r -c /etc/vpp/startup.conf

(gdb) bt

Best regards,
Alessio


On Mon, Jun 12, 2017 at 7:55 PM, Neale Ranns (nranns) <nra...@cisco.com>
wrote:

> Hi Alessio,
>
>
>
> Nothing wrong with your method of compiling/running. Time to break out the
> debugger;
>
> sudo gdb ~/vpp/build-root/build-vpp_debug-native/vpp/bin/vpp
>
> (gdb) r -c /etc/vpp/startup.conf
>
> (gdb) bt
>
>
>
>
>
> /neale
>
>
>
> *From: *<vpp-dev-boun...@lists.fd.io> on behalf of Alessio Silvestro <
> ale.silver...@gmail.com>
> *Date: *Monday, 12 June 2017 at 17:42
> *To: *"vpp-dev@lists.fd.io" <vpp-dev@lists.fd.io>
> *Subject: *[vpp-dev] New vpp node
>
>
>
> Dear all,
>
>
>
> I am implementing a new node in VPP.
>
>
>
> The code is in ~/vpp/src/vnet/mynode/
>
>
>
> In order to compile the code, I added the following lines to the file
> ~/vpp/src/vnet.am
>
>
>
> libvnet_la_SOURCES +=   \
>
>  vnet/mynode/my_file.c
>
> nobase_include_HEADERS +=   \
>
>  vnet/mynode/my_file.h
>
>
>
> When I do from the top directory
>
> make build
>
>
>
> it compiles also my code, without any error.
>
>
>
> Now when I try to run vpp with the command
>
> ~/vpp/build-root/build-vpp_debug-native/vpp/bin/vpp -c
> /etc/vpp/startup.conf
>
> I have the following output:
>
> vlib_plugin_early_init:356: plugin path /usr/lib/vpp_plugins
>
> load_one_plugin:184: Loaded plugin: acl_plugin.so (Access Control Lists)
>
> load_one_plugin:184: Loaded plugin: dpdk_plugin.so (Data Plane Development
> Kit (DPDK))
>
> load_one_plugin:184: Loaded plugin: flowprobe_plugin.so (Flow per Packet)
>
> load_one_plugin:184: Loaded plugin: gtpu_plugin.so (GTPv1-U)
>
> load_one_plugin:184: Loaded plugin: ila_plugin.so (Identifier-locator
> addressing for IPv6)
>
> load_one_plugin:184: Loaded plugin: ioam_plugin.so (Inbound OAM)
>
> load_one_plugin:114: Plugin disabled (default): ixge_plugin.so
>
> load_one_plugin:184: Loaded plugin: lb_plugin.so (Load Balancer)
>
> load_one_plugin:184: Loaded plugin: libsixrd_plugin.so (IPv6 Rapid
> Deployment on IPv4 Infrastructure (RFC5969))
>
> load_one_plugin:184: Loaded plugin: memif_plugin.so (Packet Memory
> Interface (experimetal))
>
> load_one_plugin:184: Loaded plugin: snat_plugin.so (Network Address
> Translation)
>
> Segmentation fault
>
>
>
>
>
> My questions is the following: is there a segmentation fault because of my
> code or because of the set of operation I am doing?
>
>
>
> Best regards,
>
> Alessio
>
>
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

[vpp-dev] New vpp node

2017-06-12 Thread Alessio Silvestro
Dear all,

I am implementing a new node in VPP.

The code is in ~/vpp/src/vnet/mynode/

In order to compile the code, I added the following lines to the file
~/vpp/src/vnet.am

libvnet_la_SOURCES +=   \

 vnet/mynode/my_file.c

nobase_include_HEADERS +=   \

 vnet/mynode/my_file.h


When I do from the top directory

make build


it compiles also my code, without any error.


Now when I try to run vpp with the command

~/vpp/build-root/build-vpp_debug-native/vpp/bin/vpp -c /etc/vpp/startup.conf

I have the following output:

vlib_plugin_early_init:356: plugin path /usr/lib/vpp_plugins

load_one_plugin:184: Loaded plugin: acl_plugin.so (Access Control Lists)

load_one_plugin:184: Loaded plugin: dpdk_plugin.so (Data Plane Development
Kit (DPDK))

load_one_plugin:184: Loaded plugin: flowprobe_plugin.so (Flow per Packet)

load_one_plugin:184: Loaded plugin: gtpu_plugin.so (GTPv1-U)

load_one_plugin:184: Loaded plugin: ila_plugin.so (Identifier-locator
addressing for IPv6)

load_one_plugin:184: Loaded plugin: ioam_plugin.so (Inbound OAM)

load_one_plugin:114: Plugin disabled (default): ixge_plugin.so

load_one_plugin:184: Loaded plugin: lb_plugin.so (Load Balancer)

load_one_plugin:184: Loaded plugin: libsixrd_plugin.so (IPv6 Rapid
Deployment on IPv4 Infrastructure (RFC5969))

load_one_plugin:184: Loaded plugin: memif_plugin.so (Packet Memory
Interface (experimetal))

load_one_plugin:184: Loaded plugin: snat_plugin.so (Network Address
Translation)

Segmentation fault



My questions is the following: is there a segmentation fault because of my
code or because of the set of operation I am doing?


Best regards,

Alessio
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Re: [vpp-dev] VPP Node Debug

2017-06-06 Thread Alessio Silvestro
Dear Ole,

when you say

"You need to also start VPP with:
punt { socket }"

do you mean to insert the above line in the /etc/vpp/startup.conf  ?


What about the socket. Should I bind it to the NIC I am using for vpp or it
is a generic socket?

Thanks for the help. In case I will let it work I guess I will publish a
guide on it explaining all the trouble I passed through.

Best regards,
Alessio


On Tue, Jun 6, 2017 at 10:19 AM, <otr...@employees.org> wrote:

> Hi Alessio,
>
> If you want to extend what I did (with the punt socket.
>
> You need to also start VPP with:
> punt { socket }
>
> Then you should see the print messages you added in on the VPP console /
> cli.
>
> Best regards,
> Ole
>
> > On 5 Jun 2017, at 19:49, Alessio Silvestro <ale.silver...@gmail.com>
> wrote:
> >
> > Dear Ole,
> >
> > In order to avoid problems with vagrant, I installed VPP on ubuntu
> server 16.04.
> >
> > I start vpp with the command! $ sudo vpp unix interactive.
> >
> > After configuring correctly the interface I do $ set punt udp  in
> order to accept UDP traffic on the port .
> >
> > When I send 1 UDP packet I see the following trace:
> >
> > "
> >
> > vpp# show trace
> >
> > --- Start of thread 0 vpp_main ---
> >
> > Packet 1
> >
> > 00:00:49:978247: dpdk-input
> >
> >   GigabitEthernet0/9/0 rx queue 0
> >
> >   buffer 0x4db5: current data 14, length 46, free-list 0, clone-count 0,
> totlen-nifb 0, trace 0x0
> >
> >   PKT MBUF: port 0, nb_segs 1, pkt_len 60
> >
> > buf_len 2176, data_len 60, ol_flags 0x0, data_off 128, phys_addr
> 0x8ec36d80
> >
> > packet_type 0x0
> >
> >   IP4: 08:00:27:42:3e:65 -> 08:00:27:93:9a:be
> >
> >   UDP: 172.28.128.6 -> 172.28.128.5
> >
> > tos 0x00, ttl 64, length 35, checksum 0x49dc
> >
> > fragment id 0x98a9, flags DONT_FRAGMENT
> >
> >   UDP: 47743 -> 
> >
> > length 15, checksum 0x8a50
> >
> > 00:00:49:978287: ip4-input
> >
> >   UDP: 172.28.128.6 -> 172.28.128.5
> >
> > tos 0x00, ttl 64, length 35, checksum 0x49dc
> >
> > fragment id 0x98a9, flags DONT_FRAGMENT
> >
> >   UDP: 47743 -> 
> >
> > length 15, checksum 0x8a50
> >
> > 00:00:49:978292: ip4-lookup
> >
> >   fib 0 dpo-idx 6 flow hash: 0x
> >
> >   UDP: 172.28.128.6 -> 172.28.128.5
> >
> > tos 0x00, ttl 64, length 35, checksum 0x49dc
> >
> > fragment id 0x98a9, flags DONT_FRAGMENT
> >
> >   UDP: 47743 -> 
> >
> > length 15, checksum 0x8a50
> >
> > 00:00:49:978297: ip4-local
> >
> > UDP: 172.28.128.6 -> 172.28.128.5
> >
> >   tos 0x00, ttl 64, length 35, checksum 0x49dc
> >
> >   fragment id 0x98a9, flags DONT_FRAGMENT
> >
> > UDP: 47743 -> 
> >
> >   length 15, checksum 0x8a50
> >
> > 00:00:49:978299: ip4-udp-lookup
> >
> >   UDP: src-port 47743 dst-port 
> >
> > 00:00:49:978302: error-punt
> >
> >   ip4-udp-punt: udp port punt
> >
> > "
> >
> > which to me looks like the UDP traffic has been correctly received.
> >
> > My goal is to modify your code, which is at $TOPDIR/vpp/src/vnet/ip/punt.c,
> in order to start and understand how to deploy new code with VPP.
> >
> > I inserted several clib_warning("I am here") in the code. Then I run
> $TOPDIR/vpp make build-release to compile the new code. However, even if I
> am pretty sure the your code runs because of the trace above, I cannot see
> any output in /var/log/syslog as suggested by Chris nor in the console (I
> run with unix interactive).
> >
> > Do you have any idea why I cannot see any message in the log and/or how
> I can modify/debug your code with some prints and look at them somewhere?
> >
> > Thanks for the help.
> >
> > Best regards,
> > Alessio
> >
> >
> >
> > On Fri, Jun 2, 2017 at 4:48 PM, <otr...@employees.org> wrote:
> > Alessio,
> >
> > Run in the foreground with unix { interactive }.
> > And directly from a the build directory.
> > The vagrant stuff is mostly useful for demo and first look. Sounds like
> you really want to do some development.
> >
> > Cheers,
> > Ole
> >
> > > On 2 Jun 2017, at 13:31, Alessio Silvestro <ale.silver...@gmail.com>
> wrote:
> > >
>

Re: [vpp-dev] VPP Node Debug

2017-06-05 Thread Alessio Silvestro
Dear Ole,

In order to avoid problems with vagrant, I installed VPP on ubuntu server
16.04.

I start vpp with the command! $ sudo vpp unix interactive.

After configuring correctly the interface I do $ set punt udp  in order
to accept UDP traffic on the port .

When I send 1 UDP packet I see the following trace:

"

vpp# show trace

--- Start of thread 0 vpp_main ---

Packet 1

00:00:49:978247: dpdk-input

  GigabitEthernet0/9/0 rx queue 0

  buffer 0x4db5: current data 14, length 46, free-list 0, clone-count 0,
totlen-nifb 0, trace 0x0

  PKT MBUF: port 0, nb_segs 1, pkt_len 60

buf_len 2176, data_len 60, ol_flags 0x0, data_off 128, phys_addr
0x8ec36d80

packet_type 0x0

  IP4: 08:00:27:42:3e:65 -> 08:00:27:93:9a:be

  UDP: 172.28.128.6 -> 172.28.128.5

tos 0x00, ttl 64, length 35, checksum 0x49dc

fragment id 0x98a9, flags DONT_FRAGMENT

  UDP: 47743 -> 

length 15, checksum 0x8a50

00:00:49:978287: ip4-input

  UDP: 172.28.128.6 -> 172.28.128.5

tos 0x00, ttl 64, length 35, checksum 0x49dc

fragment id 0x98a9, flags DONT_FRAGMENT

  UDP: 47743 -> 

length 15, checksum 0x8a50

00:00:49:978292: ip4-lookup

  fib 0 dpo-idx 6 flow hash: 0x

  UDP: 172.28.128.6 -> 172.28.128.5

tos 0x00, ttl 64, length 35, checksum 0x49dc

fragment id 0x98a9, flags DONT_FRAGMENT

  UDP: 47743 -> 

length 15, checksum 0x8a50

00:00:49:978297: ip4-local

UDP: 172.28.128.6 -> 172.28.128.5

  tos 0x00, ttl 64, length 35, checksum 0x49dc

  fragment id 0x98a9, flags DONT_FRAGMENT

UDP: 47743 -> 

  length 15, checksum 0x8a50

00:00:49:978299: ip4-udp-lookup

  UDP: src-port 47743 dst-port 

00:00:49:978302: error-punt

  ip4-udp-punt: udp port punt
"

which to me looks like the UDP traffic has been correctly received.

My goal is to modify your code, which is at $TOPDIR/vpp/src/vnet/ip/punt.c,
in order to start and understand how to deploy new code with VPP.

I inserted several clib_warning("I am here") in the code. Then I run
$TOPDIR/vpp make build-release to compile the new code. However, even if I
am pretty sure the your code runs because of the trace above, I cannot see
any output in /var/log/syslog as suggested by Chris nor in the console (I
run with unix interactive).

Do you have any idea why I cannot see any message in the log and/or how I
can modify/debug your code with some prints and look at them somewhere?

Thanks for the help.

Best regards,
Alessio



On Fri, Jun 2, 2017 at 4:48 PM, <otr...@employees.org> wrote:

> Alessio,
>
> Run in the foreground with unix { interactive }.
> And directly from a the build directory.
> The vagrant stuff is mostly useful for demo and first look. Sounds like
> you really want to do some development.
>
> Cheers,
> Ole
>
> > On 2 Jun 2017, at 13:31, Alessio Silvestro <ale.silver...@gmail.com>
> wrote:
> >
> > I am running the vagrant machine provided, so I run on Ubuntu 16.04.02
> TLS.
> >
> > I tried clib_warning(), clib_unix_warning(), clib_error() and
> clib_unix_error().
> >
> > I inserted that line in both vvp/src/vnet/ip/punt.c and
> vpp/src/vnet/ip/ip4_forward.c  in order to be sure that the packet was
> actually reaching the node.
> >
> > However, there is no sign in /var/log/syslog or anywhere else I can
> think of about that message
> >
> > Are you sure there is no other place where they can be printed?
> >
> > Thanks for the cooperation,
> > Alessio
> >
> > On Thu, Jun 1, 2017 at 7:26 PM, John Lo (loj) <l...@cisco.com> wrote:
> > The output of clib_warning() call should be in the syslog. If running
> vpp in Ubuntu, take a look in /var/log/syslog.  -John
> >
> >
> >
> > From: vpp-dev-boun...@lists.fd.io [mailto:vpp-dev-boun...@lists.fd.io]
> On Behalf Of Alessio Silvestro
> > Sent: Thursday, June 01, 2017 12:11 PM
> > To: Luke, Chris <chris_l...@comcast.com>
> > Cc: vpp-dev@lists.fd.io
> > Subject: Re: [vpp-dev] VPP Node Debug
> >
> >
> >
> > I knew VPP run in user space and that printk is not the best option,
> however from the documentation it is not clear to me how to do that.
> >
> >
> >
> > For example now I inserted the command clib_warning("I am here!") in the
> node I create -- that from vppctl show trace I can see processes the
> packets.
> >
> >
> >
> > Where does it prints?
> >
> >
> >
> > Still I cannot figure it out.
> >
> >
> >
> > Thanks,
> >
> > Alessio
> >
> >
> >
> > On Thu, Jun 1, 2017 at 6:00 PM, Luke, Chris <chris_l...@comcast.com>
> wrote:
> >
> > pr

Re: [vpp-dev] VPP Node Debug

2017-06-02 Thread Alessio Silvestro
I am running the vagrant machine provided, so I run on Ubuntu 16.04.02 TLS.

I tried clib_warning(), clib_unix_warning(), clib_error() and
clib_unix_error().

I inserted that line in both vvp/src/vnet/ip/punt.c and
vpp/src/vnet/ip/ip4_forward.c  in order to be sure that the packet was
actually reaching the node.

However, there is no sign in /var/log/syslog or anywhere else I can think
of about that message

Are you sure there is no other place where they can be printed?

Thanks for the cooperation,
Alessio

On Thu, Jun 1, 2017 at 7:26 PM, John Lo (loj) <l...@cisco.com> wrote:

> The output of clib_warning() call should be in the syslog. If running vpp
> in Ubuntu, take a look in /var/log/syslog.  -John
>
>
>
> *From:* vpp-dev-boun...@lists.fd.io [mailto:vpp-dev-boun...@lists.fd.io] *On
> Behalf Of *Alessio Silvestro
> *Sent:* Thursday, June 01, 2017 12:11 PM
> *To:* Luke, Chris <chris_l...@comcast.com>
> *Cc:* vpp-dev@lists.fd.io
> *Subject:* Re: [vpp-dev] VPP Node Debug
>
>
>
> I knew VPP run in user space and that printk is not the best option,
> however from the documentation it is not clear to me how to do that.
>
>
>
> For example now I inserted the command clib_warning("I am here!") in the
> node I create -- that from vppctl show trace I can see processes the
> packets.
>
>
>
> Where does it prints?
>
>
>
> Still I cannot figure it out.
>
>
>
> Thanks,
>
> Alessio
>
>
>
> On Thu, Jun 1, 2017 at 6:00 PM, Luke, Chris <chris_l...@comcast.com>
> wrote:
>
> printk() is typically a kernel thing, no? This isn’t kernel code. 
>
>
>
> If you just want stuff on the console when running in a debugger, or
> interactively, clib_warning() may be what you are looking for.
>
>
>
> Chris.
>
>
>
>
>
> *From:* vpp-dev-boun...@lists.fd.io [mailto:vpp-dev-boun...@lists.fd.io] *On
> Behalf Of *Alessio Silvestro
> *Sent:* Thursday, June 1, 2017 10:35
> *To:* vpp-dev@lists.fd.io
> *Subject:* [vpp-dev] VPP Node Debug
>
>
>
> Hi all,
>
>
>
> I am using this code "https://gerrit.fd.io/r/#/c/6721/; to in order to
> enable an external process to receive UDP packets.
>
>
>
> I tried to use printk -- including module.h in the c file.
>
>
>
> When I compile VPP with:
>
>
>
> TOPDIR/vpp make build-release
>
>
>
> I got the following error
>
>
>
> fatal error: linux/module.h: No such file or directory
>
> compilation terminated.
>
>
>
> Do you have any idea why?
>
>
>
> Is there a better way to debug the code of a node in VPP?
>
>
>
> Thanks,
>
> Alessio
>
>
>
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

Re: [vpp-dev] VPP Node Debug

2017-06-01 Thread Alessio Silvestro
I knew VPP run in user space and that printk is not the best option,
however from the documentation it is not clear to me how to do that.

For example now I inserted the command clib_warning("I am here!") in the
node I create -- that from vppctl show trace I can see processes the
packets.

Where does it prints?

Still I cannot figure it out.

Thanks,
Alessio

On Thu, Jun 1, 2017 at 6:00 PM, Luke, Chris <chris_l...@comcast.com> wrote:

> printk() is typically a kernel thing, no? This isn’t kernel code. 
>
>
>
> If you just want stuff on the console when running in a debugger, or
> interactively, clib_warning() may be what you are looking for.
>
>
>
> Chris.
>
>
>
>
>
> *From:* vpp-dev-boun...@lists.fd.io [mailto:vpp-dev-boun...@lists.fd.io] *On
> Behalf Of *Alessio Silvestro
> *Sent:* Thursday, June 1, 2017 10:35
> *To:* vpp-dev@lists.fd.io
> *Subject:* [vpp-dev] VPP Node Debug
>
>
>
> Hi all,
>
>
>
> I am using this code "https://gerrit.fd.io/r/#/c/6721/; to in order to
> enable an external process to receive UDP packets.
>
>
>
> I tried to use printk -- including module.h in the c file.
>
>
>
> When I compile VPP with:
>
>
>
> TOPDIR/vpp make build-release
>
>
>
> I got the following error
>
>
>
> fatal error: linux/module.h: No such file or directory
>
> compilation terminated.
>
>
>
> Do you have any idea why?
>
>
>
> Is there a better way to debug the code of a node in VPP?
>
>
>
> Thanks,
>
> Alessio
>
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

[vpp-dev] VPP Node Debug

2017-06-01 Thread Alessio Silvestro
Hi all,

I am using this code "https://gerrit.fd.io/r/#/c/6721/; to in order to
enable an external process to receive UDP packets.

I tried to use printk -- including module.h in the c file.

When I compile VPP with:

TOPDIR/vpp make build-release

I got the following error

fatal error: linux/module.h: No such file or directory
compilation terminated.

Do you have any idea why?

Is there a better way to debug the code of a node in VPP?

Thanks,
Alessio
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

[vpp-dev] VPP & UDP Traffic

2017-05-30 Thread Alessio Silvestro
Dear all,

I am currently working on VPP and I am interested in receiving UDP traffic
at a specific port.

However, I have seen that the project regarding L4 protocols (e.g., TCP,
UDP) namely TLDK (Transport Layer Development Kit), is still a project
proposal.

Is there a simple way to listen to UDP traffic on the current VPP
implementation -- considering that UDP does not need any special treatment
(e.g., re-ordering, sequence number, etc.)?

Thanks for any help!

Best regards,
Alessio
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

[vpp-dev] VPP/How To Build The Sample Plugin

2017-05-26 Thread Alessio Silvestro
Hi all,

I am trying to build the sample vpp-engine plug-in as explained here (
https://wiki.fd.io/view/VPP/How_To_Build_The_Sample_Plugin).

I already tested my vpp installation, for instance it works when I created
a Source NAT.

I downloaded the most updated version of the sample-plugin and run the
following commands:

   sudo sh
   cd /usr/share/doc/vpp/examples
   cd /tmp/sample-plugin
   libtoolize
   aclocal
   autoconf
   autoheader

ERROR 1: autoheader: error: AC_CONFIG_HEADERS not found in configure.ac

   automake --add-missing
   chmod +x configure
   vpp_plugin_configure

ERROR 2: vpp_plugin_configure: command not found


So, first I have an error from the command autoheader.

Second, I do not have the command vpp_plugin_configure.

Any hints?

Best regards,
Alessio
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev

[vpp-dev] VPP interface configuration problem

2017-05-24 Thread Alessio Silvestro
Dear all,

I use the vagrant installation.

I can start the VM, build the packages and start vpp process.

I am stuck at the step (Step 1: Configure and enable an interface) of the
guide available at
https://wiki.fd.io/view/VPP/Build,_install,_and_test_images.

At the first boot I have:

vagrant@localhost:/$ ifconfig
enp0s3Link encap:Ethernet  HWaddr 08:00:27:33:82:8a
  inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
  inet6 addr: fe80::a00:27ff:fe33:828a/64 Scope:Link
  UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
  RX packets:376 errors:0 dropped:0 overruns:0 frame:0
  TX packets:290 errors:0 dropped:0 overruns:0 carrier:0
  collisions:0 txqueuelen:1000
  RX bytes:34649 (34.6 KB)  TX bytes:29047 (29.0 KB)

enp0s8Link encap:Ethernet  HWaddr 08:00:27:1e:20:8b
  inet addr:172.28.128.5  Bcast:172.28.128.255  Mask:255.255.255.0
  inet6 addr: fe80::a00:27ff:fe1e:208b/64 Scope:Link
  UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
  RX packets:20 errors:0 dropped:0 overruns:0 frame:0
  TX packets:11 errors:0 dropped:0 overruns:0 carrier:0
  collisions:0 txqueuelen:1000
  RX bytes:5907 (5.9 KB)  TX bytes:1482 (1.4 KB)

enp0s9Link encap:Ethernet  HWaddr 08:00:27:da:51:35
  inet addr:172.28.128.6  Bcast:172.28.128.255  Mask:255.255.255.0
  inet6 addr: fe80::a00:27ff:feda:5135/64 Scope:Link
  UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
  RX packets:20 errors:0 dropped:0 overruns:0 frame:0
  TX packets:11 errors:0 dropped:0 overruns:0 carrier:0
  collisions:0 txqueuelen:1000
  RX bytes:5907 (5.9 KB)  TX bytes:1482 (1.4 KB)

loLink encap:Local Loopback
  inet addr:127.0.0.1  Mask:255.0.0.0
  inet6 addr: ::1/128 Scope:Host
  UP LOOPBACK RUNNING  MTU:65536  Metric:1
  RX packets:0 errors:0 dropped:0 overruns:0 frame:0
  TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
  collisions:0 txqueuelen:1
  RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)


I selected enp0s9 as target interface, thus:

sudo ifconfig enp0s9 down
sudo ip addr flush dev enp0s9
sudo stop vpp
sudo start vpp

Therefore, I configure the interface for VPP. Its name is
GigabitEthernet0/9/0.

sudo vppctl set int ip address GigabitEthernet0/9/0 172.28.128.6/24   (the
IP address is the same of the one shown by ifconfig in the beginning)
sudo vppctl set int state GigabitEthernet0/9/0 up

Now I can see this:

vagrant@localhost:/$ sudo vppctl show int address
GigabitEthernet0/9/0 (up):
  172.28.128.6/24
local0 (dn):


So, it looks to me that it is correctly configured.

However when I do this:

sudo vppctl ip probe 172.28.128.6 GigabitEthernet0/9/0
exec error: Misc

I got this error and the interface is down and without an IP address
assigned.
sudo vppctl show int address
 GigabitEthernet0/9/0 (dn):
 local0 (dn):


Do I do something wrong, or what is it happening?

Thanks in advance for any help.

Best regards,
Alessio
___
vpp-dev mailing list
vpp-dev@lists.fd.io
https://lists.fd.io/mailman/listinfo/vpp-dev