[vpp-dev] API trace memory

2022-04-12 Thread Chandra Mohan, Vijay Mohan via lists.fd.io
Hello,

I am on 21.01 version and looking to understand the memory allocation around 
API tracing. I’ve got both Rx and Tx API trace enabled. The heap memory is 
continuously going up which, I guess, is expected. “nitems” is configured to 
1024 which is the default.  I do see that the trace wraps around but the 
heap-memory still keeps growing and eventually process crashes as the memory 
runs out. Was expecting the memory to be reused after the trace limit of 1024 
items has reached.

root@cnfp:/# cnfp-dbg vpp show api trace-status
RX Trace enabled
RX trace: used 1024 of 1024 items, is enabled, has wrapped
TX Trace enabled
TX trace: used 1024 of 1024 items, is enabled, has wrapped


Seeing this behavior as part of calling vl_msg_api_trace() nested in the below 
macro:

  REPLY_MACRO3(VL_API_CLI_INBAND_REPLY, vec_len (out_vec),
  ({
vl_api_vec_to_api_string(out_vec, &rmp->reply);
  }));

Thanks,
Vijay

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#21243): https://lists.fd.io/g/vpp-dev/message/21243
Mute This Topic: https://lists.fd.io/mt/90425185/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[vpp-dev] Increase in memory footprint from 19.08 to 21.01 version

2021-12-16 Thread Chandra Mohan, Vijay Mohan via lists.fd.io
Hello,

I am looking to understand a recent observation after upgrading to 21.01 
version. Below are the outputs of top command for 19.08 and 21.01 versions and 
it seems that the memory footprint of “vpp_main” has increased in 21.01. Is 
this normal to be seen with the new version ?


21.01

MiB Mem :  32059.9 total,387.5 free,  26106.2 used,   5566.1 buff/cache

MiB Swap:  0.0 total,  0.0 free,  0.0 used.   5430.1 avail Mem



PID USER  PR  NIVIRTRESSHR S  %CPU  %MEM TIME+ COMMAND

  1 root  20   04240   3384   3008 S   0.0   0.0   0:00.08 bash

  49286 root  20   04240   3508   2952 S   0.0   0.0   0:00.01 bash

  49299 root  20   02876   2064   1820 S   0.0   0.0   0:00.00 make

  49365 root  20   02608608540 S   0.0   0.0   0:00.00 sh

  49366 root  20   05500   3664   3244 S   0.0   0.0   0:00.00 sudo

  49367 root  20   0  145.2g 284368  17444 R   0.0   0.9   1:36.67 vpp_main

  49369 root  20   06164   3472   2948 R   0.0   0.0   0:00.01 top


19.08

KiB Mem : 32829304 total,  1268952 free, 26454884 used,  5105468 buff/cache

KiB Swap:0 total,0 free,0 used.  5728596 avail Mem



PID USER  PR  NIVIRTRESSHR S  %CPU %MEM TIME+ COMMAND

  1 root  20   0   18388   3416   2820 S   0.0  0.0   0:00.04 bash

 15 root  20   0   18372   3328   2724 S   0.0  0.0   0:00.06 bash

 156114 root  20   06784   1960   1672 S   0.0  0.0   0:00.00 make

 156199 root  20   04500756684 S   0.0  0.0   0:00.00 sh

 156200 root  20   0   49600   3444   2984 S   0.0  0.0   0:00.00 sudo

 156201 root  20   0  0.204t 114020  15832 R   0.0  0.3   0:08.48 vpp_main

 156203 root  20   0   38752   3156   2688 R   0.0  0.0   0:00.00 top

Thanks,
Vijay

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#20644): https://lists.fd.io/g/vpp-dev/message/20644
Mute This Topic: https://lists.fd.io/mt/87785108/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [**EXTERNAL**] Re: [vpp-dev] Deterministic NAT - VPP 19.08

2020-03-30 Thread Chandra Mohan, Vijay Mohan via Lists.Fd.Io
Hi Ole,

If that is the case, then why is the following configuration allowed ?

nat44 deterministic add in 20.20.20.2/32 out 10.10.10.15/32
nat44 deterministic add in 40.40.40.2/32 out 10.10.10.15/32

With the above two commands, I am trying to map two internal-src-ip-addresses 
to one external-src-ip-address (10.10.10.15) . This configuration takes affect 
and in2out translations are successful. May be I am missing some understanding 
here. Trying to see what that may be.

Thanks,
Vijay

On 3/30/20, 3:38 AM, "vpp-dev@lists.fd.io on behalf of Ole Troan" 
 wrote:

Hi Vijay,



> On 29 Mar 2020, at 08:42, Chandra Mohan, Vijay Mohan via Lists.Fd.Io 
 wrote:
> 
> Hello,
>  
> Looking to understand the behavior of NAT in deterministic mode. The 
issue is, while in2out translations work fine and sessions are being created 
successfully, frames are getting dropped in out2in direction though a session 
is present for translation. Following are configurations :
>  
> DBGvpp# show interface address 
> GigabitEthernet5/0/0 (up):
>   L3 20.20.20.15/24
> GigabitEthernet5/0/1 (up):
>   L3 10.10.10.15/24
> TenGigabitEthernet3/0/0 (dn):
> TenGigabitEthernet3/0/1 (up):
>   L3 40.40.40.15/24
> local0 (dn):
>  
> DBGvpp# show nat44 interfaces 
  
> NAT44 interfaces:
> GigabitEthernet5/0/0 in
> GigabitEthernet5/0/1 out
> TenGigabitEthernet3/0/1 in
>  
> DBGvpp# show nat44 deterministic mappings
> NAT44 deterministic mappings:
> in 20.20.20.2/32 out 10.10.10.15/32
>   outside address sharing ratio: 1
>   number of ports per inside host: 64512
>   sessions number: 0
> in 40.40.40.2/32 out 10.10.10.15/32
>   outside address sharing ratio: 1
>   number of ports per inside host: 64512
>   sessions number: 0
>  
> in2out works fine for both the mappings. Here are the created sessions:
> DBGvpp# show nat44 deterministic sessions
> NAT44 deterministic sessions:
>   in 20.20.20.2:700 out 10.10.10.15:1724 external host 10.10.10.2:600 
state: udp-active expire: 13344
>   in 40.40.40.2:800 out 10.10.10.15:1824 external host 10.10.10.2:600 
state: udp-active expire: 13368
>  
> In the out2in direction, frame with dst-port : 1724 gets successfully 
NAT’ed but the frame with dst-port : 1824 gets dropped with error “No 
translation” when there is a session already present (second session above). Is 
this an expected behavior with deterministic NAT ? Can we map multiple 
internal-src-ip-addresses to one external-src-ip-address ? 

No, you cannot. In deterministic NAT an inside address block gets 
statically assigned to an external address/port block.
That mapping has to be 1:1. Otherwise how would the out2in direction figure 
out which inside address block to use?

Best regards,
Ole


>  
> It looks like, from the code, only the first mapping entry is being 
matched all the time when the external-src-ip-address is same for the 
configured mapping entries above. 
>  
> always_inline snat_det_map_t *
> snat_det_map_by_out (snat_main_t * sm, ip4_address_t * out_addr)
> {
>   snat_det_map_t *dm;
>  
>   /* *INDENT-OFF* */
>   pool_foreach (dm, sm->det_maps,
>   ({
> if (is_addr_in_net(out_addr, &dm->out_addr, dm->out_plen))
>   return dm;
>   }));
>   /* *INDENT-ON* */
>   return 0;
> }
>  
> The above function is called from snat_det_out2in_node. Only the out_addr 
is being checked while looking for the matching mapping entry. This may result 
in the first added mapping entry to be matched all the time in the case where  
dm->out_addr is same for both the mapping entries, right ? Looks like we need 
more checks to identify the session correctly.
>  
> Here is the node trace for out2in processing:
> Packet 3
>  
> 03:09:18:893987: dpdk-input
>   GigabitEthernet5/0/1 rx queue 0
>   buffer 0x9b3a8: current data 0, length 508, buffer-pool 0, ref-count 1, 
totlen-nifb 0, trace handle 0x2
>   ext-hdr-valid
>   l4-cksum-computed l4-cksum-correct
>   PKT MBUF: port 3, nb_segs 1, pkt_len 508
> buf_len 2176, data_len 508, ol_flags 0x180, data_off 128, phys_addr 
0x26cea80
> packet_type 0x211 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 

[vpp-dev] Deterministic NAT - VPP 19.08

2020-03-28 Thread Chandra Mohan, Vijay Mohan via Lists.Fd.Io
Hello,

Looking to understand the behavior of NAT in deterministic mode. The issue is, 
while in2out translations work fine and sessions are being created 
successfully, frames are getting dropped in out2in direction though a session 
is present for translation. Following are configurations :


DBGvpp# show interface address

GigabitEthernet5/0/0 (up):

  L3 20.20.20.15/24

GigabitEthernet5/0/1 (up):

  L3 10.10.10.15/24

TenGigabitEthernet3/0/0 (dn):

TenGigabitEthernet3/0/1 (up):

  L3 40.40.40.15/24

local0 (dn):

DBGvpp# show nat44 interfaces
NAT44 interfaces:
GigabitEthernet5/0/0 in
GigabitEthernet5/0/1 out
TenGigabitEthernet3/0/1 in

DBGvpp# show nat44 deterministic mappings
NAT44 deterministic mappings:
in 20.20.20.2/32 out 10.10.10.15/32
  outside address sharing ratio: 1
  number of ports per inside host: 64512
  sessions number: 0
in 40.40.40.2/32 out 10.10.10.15/32
  outside address sharing ratio: 1
  number of ports per inside host: 64512
  sessions number: 0

in2out works fine for both the mappings. Here are the created sessions:
DBGvpp# show nat44 deterministic sessions
NAT44 deterministic sessions:
  in 20.20.20.2:700 out 10.10.10.15:1724 external host 10.10.10.2:600 state: 
udp-active expire: 13344
  in 40.40.40.2:800 out 10.10.10.15:1824 external host 10.10.10.2:600 state: 
udp-active expire: 13368

In the out2in direction, frame with dst-port : 1724 gets successfully NAT’ed 
but the frame with dst-port : 1824 gets dropped with error “No translation” 
when there is a session already present (second session above). Is this an 
expected behavior with deterministic NAT ? Can we map multiple 
internal-src-ip-addresses to one external-src-ip-address ?

It looks like, from the code, only the first mapping entry is being matched all 
the time when the external-src-ip-address is same for the configured mapping 
entries above.

always_inline snat_det_map_t *
snat_det_map_by_out (snat_main_t * sm, ip4_address_t * out_addr)
{
  snat_det_map_t *dm;

  /* *INDENT-OFF* */
  pool_foreach (dm, sm->det_maps,
  ({
if (is_addr_in_net(out_addr, &dm->out_addr, dm->out_plen))
  return dm;
  }));
  /* *INDENT-ON* */
  return 0;
}

The above function is called from snat_det_out2in_node. Only the out_addr is 
being checked while looking for the matching mapping entry. This may result in 
the first added mapping entry to be matched all the time in the case where  
dm->out_addr is same for both the mapping entries, right ? Looks like we need 
more checks to identify the session correctly.

Here is the node trace for out2in processing:

Packet 3



03:09:18:893987: dpdk-input

  GigabitEthernet5/0/1 rx queue 0

  buffer 0x9b3a8: current data 0, length 508, buffer-pool 0, ref-count 1, 
totlen-nifb 0, trace handle 0x2

  ext-hdr-valid

  l4-cksum-computed l4-cksum-correct

  PKT MBUF: port 3, nb_segs 1, pkt_len 508

buf_len 2176, data_len 508, ol_flags 0x180, data_off 128, phys_addr 
0x26cea80

packet_type 0x211 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 (0x0010) IPv4 packet without extension headers

  RTE_PTYPE_L4_UDP (0x0200) UDP packet

  IP4: 00:00:00:1a:9a:7e -> 0c:c4:7a:c2:f6:f5

  UDP: 10.10.10.2 -> 10.10.10.15

tos 0x00, ttl 64, length 494, checksum 0x50db

fragment id 0x

  UDP: 600 -> 1724

length 474, checksum 0x3786

03:09:18:894003: ethernet-input

  frame: flags 0x3, hw-if-index 4, sw-if-index 4

  IP4: 00:00:00:1a:9a:7e -> 0c:c4:7a:c2:f6:f5

03:09:18:894016: ip4-input-no-checksum

  UDP: 10.10.10.2 -> 10.10.10.15

tos 0x00, ttl 64, length 494, checksum 0x50db

fragment id 0x

  UDP: 600 -> 1724

length 474, checksum 0x3786

03:09:18:894023: nat44-det-out2in

  NAT_DET_OUT2IN: sw_if_index 4, next index 1, session index 0

03:09:22:826468: ip4-lookup

  fib 0 dpo-idx 3 flow hash: 0x

  UDP: 10.10.10.2 -> 20.20.20.2

tos 0x00, ttl 64, length 494, checksum 0x3cde

fragment id 0x

  UDP: 600 -> 700

length 474, checksum 0x

03:09:22:826487: ip4-rewrite

  tx_sw_if_index 3 dpo-idx 3 : ipv4 via 20.20.20.2 GigabitEthernet5/0/0: 
mtu:9000 001a9a7c0cc47ac2f6f40800 flow hash: 0x

  : 001a9a7c0cc47ac2f6f40800450001ee3f113dde0a0a0a021414

  0020: 1402025802bc01da000102030405060708090a0b0c0d0e0f1011

03:09:22:826497: GigabitEthernet5/0/0-output

  GigabitEthernet5/0/0 l4-cksum-computed l4-cksum-correct l2_hdr_offset_valid 
l3_hdr_offset_valid

  IP4: 0c:c4:7a:c2:f6:f4 -> 00:00:00:1a:9a:7c

  UDP: 10.10.10.2 -> 20.20.20.2

tos 0x00, ttl 63, length 494, checksum 0x3dde

fragment id 0x

  UDP: 600 -> 700

length 474, checksum 0x

03:09:22:826520: GigabitEthernet5

[vpp-dev] Role of vpp_main thread

2019-04-02 Thread Chandra Mohan, Vijay Mohan
Hi Everyone,

I have been running performance tests and have some questions on the 
observations made in that process, especially with the role of vpp_main thread.


  1.  Noticed good performance when running vpp_main and vpp_worker_0 (polling 
on two 10G ports) on the same physical core (different logical cores). When 
vpp_worker_0 was moved to a different physical core altogether, started 
observing rx_queue tail drops. What is the relation of having vpp_main and 
vpp_worker_0 on the same physical core ? Why would moving a worker (which is 
processing the frames) to different core cause rx_queue tail drops ?



  1.  The device has two 10G and two 1G ports. Having 1G ports rx-queue polled 
by a different worker, vpp_worker_1 and keeping vpp_worker_0 polling on 10G 
ports gives good performance. When 1G ports are moved such that its rx queue’s 
is polled by vpp_main, there  are rx_queue tail drops.


I am looking to understand the relation between vpp_main and the workers ? Does 
vpp_main or any request from vpp_main thread stall the worker threads ?


Thanks,
Vijay
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#12689): https://lists.fd.io/g/vpp-dev/message/12689
Mute This Topic: https://lists.fd.io/mt/30869592/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [**EXTERNAL**] Re: [vpp-dev] VPP Performance question

2019-03-28 Thread Chandra Mohan, Vijay Mohan
Was expecting to see close to 1Mpps but with 95% traffic of 1500 byte frames, 
seeing 785,000 pps. Here is the CPU and NIC info:
CPU :
Intel(R) Xeon(R) CPU D-1548 @ 2.00GHz
Number of physical cores is 8.
NIC Info:
Intel Corporation Ethernet Connection X552/X557-AT 10GBASE-T (2 port, 10G)
Intel Corporation I350 Gigabit Network Connection (rev 01) (2 port, 1G)

Hyperthreading is enabled. I am running main_thread and worker-1 on the same 
physical core but different logical cores.

Thanks,
Vijay

From:  on behalf of "Damjan Marion via Lists.Fd.Io" 

Reply-To: "dmar...@me.com" 
Date: Thursday, March 28, 2019 at 1:10 AM
To: "Chandra Mohan, Vijay Mohan" 
Cc: "vpp-dev@lists.fd.io" 
Subject: Re: [**EXTERNAL**] Re: [vpp-dev] VPP Performance question


Your nunbers are quite low, 1500 byte packets means you are bellow 1 Mpps.

I saw in the past situations where DPDK 1G intel nic driver was causing 
problems,
but hard to say if this is the same case.

What is your CPU speed and type? NIC type?


On 28 Mar 2019, at 05:22, Chandra Mohan, Vijay Mohan 
mailto:vijch...@ciena.com>> wrote:

To add to the previous email, I am testing with single-tagged traffic.

-VIjay

From: mailto:vpp-dev@lists.fd.io>> on behalf of "Chandra 
Mohan, Vijay Mohan" mailto:vijch...@ciena.com>>
Date: Wednesday, March 27, 2019 at 8:41 PM
To: Damjan Marion mailto:dmar...@me.com>>
Cc: "vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io>" 
mailto:vpp-dev@lists.fd.io>>
Subject: Re: [**EXTERNAL**] Re: [vpp-dev] VPP Performance question

Thanks, Damjan for the hints. The 2nd point that you mentioned looks 
interesting. I did see drops on rx queue, especially with command “show 
hardware”.

I was able to see a significant performance improvement with multiple worker 
threads pinned to a dedicated logical core. There are 4 worker threads, each 
polling on 10G ports and 1G ports. There is one Rx queue configured / port. 1G 
ports are admin down. Below is the rx-placement and thread placement. With 
below config, I am able to send/receive 95% of 10G traffic (1500 byte frame) in 
both directions without any drops. However, when I admin-enable 1G ports, “rx 
miss” and “tx-error” drops start to appear on 10G ports. Had to bring down the 
traffic to 85% of 10G to see no drops Any thoughts on why this could be 
happening ?  There is separate worker thread polling on the 1G port queues and 
there is no traffic on 1G ports. So, looking to understand what is the relation.

vpp# show interface rx-placement
Thread 1 (vpp_wk_0):
  node dpdk-input:
TenGigabitEthernet3/0/0 queue 0 (polling)
Thread 2 (vpp_wk_1):
  node dpdk-input:
TenGigabitEthernet3/0/1 queue 0 (polling)
Thread 3 (vpp_wk_2):
  node dpdk-input:
GigabitEthernet5/0/0 queue 0 (polling)
Thread 4 (vpp_wk_3):
  node dpdk-input:
GigabitEthernet5/0/1 queue 0 (polling)

vpp# show threads
ID NameTypeLWP Sched Policy (Priority)  lcore  
Core   Socket State
0  vpp_main1454other (0)2  
2  0
1  vpp_wk_0workers 1458other (0)10 
2  0
2  vpp_wk_1workers 1459other (0)11 
3  0
3  vpp_wk_2workers 1460other (0)12 
4  0
4  vpp_wk_3workers 1461other (0)13 
5  0
5  stats   1462other (0)0  
0  0

Thanks,
Vijay

From: Damjan Marion mailto:dmar...@me.com>>
Date: Tuesday, March 26, 2019 at 2:30 AM
To: "Chandra Mohan, Vijay Mohan" mailto:vijch...@ciena.com>>
Cc: "vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io>" 
mailto:vpp-dev@lists.fd.io>>
Subject: [**EXTERNAL**] Re: [vpp-dev] VPP Performance question


Few hints:

1. When you observe “show run” statistics, you always do:

1. start traffic
2. clear run
3. wait a bit
4 show run

Otherwise statistics will show you average which includes period without 
traffic.


2. debug CLI commands are typically causing barrier sync (unless handler is 
explicitly marked as thread safe),
and that can stop worker threads for more than 500 usec. In such situations it 
is normal and expected that you will observe
small amount of rx tail drops as simply worker is not servicing specific NIC 
queue for significant amount of time.





On 26 Mar 2019, at 04:04, Chandra Mohan, Vijay Mohan 
mailto:vijch...@ciena.com>> wrote:

Hi Everyone,

I am working on measuring the performance with a xconnect of two 
sub-interfaces. I did see quite a few performance related questions & answers 
in the community which were very helpful to get to this point. However, I’m 
still facing rx and tx queue drops (“rx misses” and “tx-error”).

Here is the config :
l2 xconnect TenGigabitEthernet3/0/0.1 TenGigabitEthernet3/0/1.1
l2 xconnect

Re: [**EXTERNAL**] Re: [vpp-dev] VPP Performance question

2019-03-27 Thread Chandra Mohan, Vijay Mohan
To add to the previous email, I am testing with single-tagged traffic.

-VIjay

From:  on behalf of "Chandra Mohan, Vijay Mohan" 

Date: Wednesday, March 27, 2019 at 8:41 PM
To: Damjan Marion 
Cc: "vpp-dev@lists.fd.io" 
Subject: Re: [**EXTERNAL**] Re: [vpp-dev] VPP Performance question

Thanks, Damjan for the hints. The 2nd point that you mentioned looks 
interesting. I did see drops on rx queue, especially with command “show 
hardware”.

I was able to see a significant performance improvement with multiple worker 
threads pinned to a dedicated logical core. There are 4 worker threads, each 
polling on 10G ports and 1G ports. There is one Rx queue configured / port. 1G 
ports are admin down. Below is the rx-placement and thread placement. With 
below config, I am able to send/receive 95% of 10G traffic (1500 byte frame) in 
both directions without any drops. However, when I admin-enable 1G ports, “rx 
miss” and “tx-error” drops start to appear on 10G ports. Had to bring down the 
traffic to 85% of 10G to see no drops Any thoughts on why this could be 
happening ?  There is separate worker thread polling on the 1G port queues and 
there is no traffic on 1G ports. So, looking to understand what is the relation.

vpp# show interface rx-placement
Thread 1 (vpp_wk_0):
  node dpdk-input:
TenGigabitEthernet3/0/0 queue 0 (polling)
Thread 2 (vpp_wk_1):
  node dpdk-input:
TenGigabitEthernet3/0/1 queue 0 (polling)
Thread 3 (vpp_wk_2):
  node dpdk-input:
GigabitEthernet5/0/0 queue 0 (polling)
Thread 4 (vpp_wk_3):
  node dpdk-input:
GigabitEthernet5/0/1 queue 0 (polling)

vpp# show threads
ID NameTypeLWP Sched Policy (Priority)  lcore  
Core   Socket State
0  vpp_main1454other (0)2  
2  0
1  vpp_wk_0workers 1458other (0)10 
2  0
2  vpp_wk_1workers 1459other (0)11 
3  0
3  vpp_wk_2workers 1460other (0)12 
4  0
4  vpp_wk_3workers 1461other (0)13 
5  0
5  stats   1462other (0)0  
0  0

Thanks,
Vijay

From: Damjan Marion 
Date: Tuesday, March 26, 2019 at 2:30 AM
To: "Chandra Mohan, Vijay Mohan" 
Cc: "vpp-dev@lists.fd.io" 
Subject: [**EXTERNAL**] Re: [vpp-dev] VPP Performance question


Few hints:

1. When you observe “show run” statistics, you always do:

1. start traffic
2. clear run
3. wait a bit
4 show run

Otherwise statistics will show you average which includes period without 
traffic.


2. debug CLI commands are typically causing barrier sync (unless handler is 
explicitly marked as thread safe),
and that can stop worker threads for more than 500 usec. In such situations it 
is normal and expected that you will observe
small amount of rx tail drops as simply worker is not servicing specific NIC 
queue for significant amount of time.




On 26 Mar 2019, at 04:04, Chandra Mohan, Vijay Mohan 
mailto:vijch...@ciena.com>> wrote:

Hi Everyone,

I am working on measuring the performance with a xconnect of two 
sub-interfaces. I did see quite a few performance related questions & answers 
in the community which were very helpful to get to this point. However, I’m 
still facing rx and tx queue drops (“rx misses” and “tx-error”).

Here is the config :
l2 xconnect TenGigabitEthernet3/0/0.1 TenGigabitEthernet3/0/1.1
l2 xconnect TenGigabitEthernet3/0/1.1 TenGigabitEthernet3/0/0.1

I’m passing traffic which is 70% of the line rate (10G) in both directions and 
I do not see any drops. Ran the traffic for 30 Min with no drops. Below is the 
runtime stats. Have CPU affinity in place and “vpp_wk_0” is on dedicated 
logical core 9. However, I see that the “vectors/node” is 26.03 . I was 
expecting to see 255.99. Is it something that can be seen only with high burst 
of traffic ?  I may be missing something here and looking to understand what 
that may be.
Thread 1 vpp_wk_0 (lcore 9)
Time 531.8, average vectors/node 26.03, last 128 main loops 1.31 per node 21.00
  vector rates in 1.1539e6, out 1.1539e6, drop 0.e0, punt 0.e0
 Name State Calls  Vectors
Suspends Clocks   Vectors/Call
TenGigabitEthernet3/0/0-output   active   18857661   306865019  
 0  1.54e2   16.27
TenGigabitEthernet3/0/0-tx   active   18857661   306865019  
 0  2.62e2   16.27
TenGigabitEthernet3/0/1-output   active   18857661   306865172  
 0  1.63e2   16.27
TenGigabitEthernet3/0/1-tx   active   18857661   306865172  
 0  2.67e2   16.27
dpdk-input   polling  18857661   613730191  
   

Re: [**EXTERNAL**] Re: [vpp-dev] VPP Performance question

2019-03-27 Thread Chandra Mohan, Vijay Mohan
Thanks, Damjan for the hints. The 2nd point that you mentioned looks 
interesting. I did see drops on rx queue, especially with command “show 
hardware”.

I was able to see a significant performance improvement with multiple worker 
threads pinned to a dedicated logical core. There are 4 worker threads, each 
polling on 10G ports and 1G ports. There is one Rx queue configured / port. 1G 
ports are admin down. Below is the rx-placement and thread placement. With 
below config, I am able to send/receive 95% of 10G traffic (1500 byte frame) in 
both directions without any drops. However, when I admin-enable 1G ports, “rx 
miss” and “tx-error” drops start to appear on 10G ports. Had to bring down the 
traffic to 85% of 10G to see no drops Any thoughts on why this could be 
happening ?  There is separate worker thread polling on the 1G port queues and 
there is no traffic on 1G ports. So, looking to understand what is the relation.

vpp# show interface rx-placement
Thread 1 (vpp_wk_0):
  node dpdk-input:
TenGigabitEthernet3/0/0 queue 0 (polling)
Thread 2 (vpp_wk_1):
  node dpdk-input:
TenGigabitEthernet3/0/1 queue 0 (polling)
Thread 3 (vpp_wk_2):
  node dpdk-input:
GigabitEthernet5/0/0 queue 0 (polling)
Thread 4 (vpp_wk_3):
  node dpdk-input:
GigabitEthernet5/0/1 queue 0 (polling)

vpp# show threads
ID NameTypeLWP Sched Policy (Priority)  lcore  
Core   Socket State
0  vpp_main1454other (0)2  
2  0
1  vpp_wk_0workers 1458other (0)10 
2  0
2  vpp_wk_1workers 1459other (0)11 
3  0
3  vpp_wk_2workers 1460other (0)12 
4  0
4  vpp_wk_3workers 1461other (0)13 
5  0
5  stats   1462other (0)0  
0  0

Thanks,
Vijay

From: Damjan Marion 
Date: Tuesday, March 26, 2019 at 2:30 AM
To: "Chandra Mohan, Vijay Mohan" 
Cc: "vpp-dev@lists.fd.io" 
Subject: [**EXTERNAL**] Re: [vpp-dev] VPP Performance question


Few hints:

1. When you observe “show run” statistics, you always do:

1. start traffic
2. clear run
3. wait a bit
4 show run

Otherwise statistics will show you average which includes period without 
traffic.


2. debug CLI commands are typically causing barrier sync (unless handler is 
explicitly marked as thread safe),
and that can stop worker threads for more than 500 usec. In such situations it 
is normal and expected that you will observe
small amount of rx tail drops as simply worker is not servicing specific NIC 
queue for significant amount of time.



On 26 Mar 2019, at 04:04, Chandra Mohan, Vijay Mohan 
mailto:vijch...@ciena.com>> wrote:

Hi Everyone,

I am working on measuring the performance with a xconnect of two 
sub-interfaces. I did see quite a few performance related questions & answers 
in the community which were very helpful to get to this point. However, I’m 
still facing rx and tx queue drops (“rx misses” and “tx-error”).

Here is the config :
l2 xconnect TenGigabitEthernet3/0/0.1 TenGigabitEthernet3/0/1.1
l2 xconnect TenGigabitEthernet3/0/1.1 TenGigabitEthernet3/0/0.1

I’m passing traffic which is 70% of the line rate (10G) in both directions and 
I do not see any drops. Ran the traffic for 30 Min with no drops. Below is the 
runtime stats. Have CPU affinity in place and “vpp_wk_0” is on dedicated 
logical core 9. However, I see that the “vectors/node” is 26.03 . I was 
expecting to see 255.99. Is it something that can be seen only with high burst 
of traffic ?  I may be missing something here and looking to understand what 
that may be.
Thread 1 vpp_wk_0 (lcore 9)
Time 531.8, average vectors/node 26.03, last 128 main loops 1.31 per node 21.00
  vector rates in 1.1539e6, out 1.1539e6, drop 0.e0, punt 0.e0
 Name State Calls  Vectors
Suspends Clocks   Vectors/Call
TenGigabitEthernet3/0/0-output   active   18857661   306865019  
 0  1.54e2   16.27
TenGigabitEthernet3/0/0-tx   active   18857661   306865019  
 0  2.62e2   16.27
TenGigabitEthernet3/0/1-output   active   18857661   306865172  
 0  1.63e2   16.27
TenGigabitEthernet3/0/1-tx   active   18857661   306865172  
 0  2.67e2   16.27
dpdk-input   polling  18857661   613730191  
 0  4.48e2   32.55
ethernet-input   active   18864470   613730191  
 0  6.92e2   32.53
l2-input active   18864470   613730191  
 0  1.15e2   32.53
l2-output   

[vpp-dev] VPP Performance question

2019-03-25 Thread Chandra Mohan, Vijay Mohan
Hi Everyone,

I am working on measuring the performance with a xconnect of two 
sub-interfaces. I did see quite a few performance related questions & answers 
in the community which were very helpful to get to this point. However, I’m 
still facing rx and tx queue drops (“rx misses” and “tx-error”).

Here is the config :
l2 xconnect TenGigabitEthernet3/0/0.1 TenGigabitEthernet3/0/1.1
l2 xconnect TenGigabitEthernet3/0/1.1 TenGigabitEthernet3/0/0.1

I’m passing traffic which is 70% of the line rate (10G) in both directions and 
I do not see any drops. Ran the traffic for 30 Min with no drops. Below is the 
runtime stats. Have CPU affinity in place and “vpp_wk_0” is on dedicated 
logical core 9. However, I see that the “vectors/node” is 26.03 . I was 
expecting to see 255.99. Is it something that can be seen only with high burst 
of traffic ?  I may be missing something here and looking to understand what 
that may be.
Thread 1 vpp_wk_0 (lcore 9)
Time 531.8, average vectors/node 26.03, last 128 main loops 1.31 per node 21.00
  vector rates in 1.1539e6, out 1.1539e6, drop 0.e0, punt 0.e0
 Name State Calls  Vectors
Suspends Clocks   Vectors/Call
TenGigabitEthernet3/0/0-output   active   18857661   306865019  
 0  1.54e2   16.27
TenGigabitEthernet3/0/0-tx   active   18857661   306865019  
 0  2.62e2   16.27
TenGigabitEthernet3/0/1-output   active   18857661   306865172  
 0  1.63e2   16.27
TenGigabitEthernet3/0/1-tx   active   18857661   306865172  
 0  2.67e2   16.27
dpdk-input   polling  18857661   613730191  
 0  4.48e2   32.55
ethernet-input   active   18864470   613730191  
 0  6.92e2   32.53
l2-input active   18864470   613730191  
 0  1.15e2   32.53
l2-outputactive   18864470   613730191  
 0  1.31e2   32.53

There are two rx-queues and two tx-queues assigned to each of the 10 Gig ports. 
Queue depth is 1024. Following is the queue placement:
Thread 1 (vpp_wk_0):
  node dpdk-input:
TenGigabitEthernet3/0/0 queue 0 (polling)
TenGigabitEthernet3/0/0 queue 1 (polling)
TenGigabitEthernet3/0/1 queue 0 (polling)
TenGigabitEthernet3/0/1 queue 1 (polling)

Now, when I increase the rate to 75% of 10G, I am seeing drops due to “rx-miss”
DBGvpp# sho int
  Name   IdxState  MTU (L3/IP4/IP6/MPLS) 
Counter  Count
TenGigabitEthernet3/0/0   1  up  9000/0/0/0 rx packets  
26235935
rx bytes
 39248958760
tx packets  
26236104
tx bytes
 39249211584
rx-miss 
 697
TenGigabitEthernet3/0/0.1 3  up   0/0/0/0   rx packets  
26235935
rx bytes
 39248958760
tx packets  
26236104
tx bytes
 39249211584
TenGigabitEthernet3/0/1   2  up  9000/0/0/0 rx packets  
26236104
rx bytes
 39249211584
tx packets  
26235935
tx bytes
 39248958760
rx-miss 
 711
TenGigabitEthernet3/0/1.1 4  up   0/0/0/0   rx packets  
26236104
rx bytes
 39249211584
tx packets  
26235935
tx bytes
 39248958760
local00 down  0/0/0/0

Here is the runtime stats when that happens:
Thread 1 vpp_wk_0 (lcore 9)
Time 59.0, average vectors/node 34.58, last 128 main loops 1.69 per node 27.00
  vector rates in 1.2365e6, out 1.2365e6, drop 0.e0, punt 0.e0
 Name State Calls  Vectors
Suspends Clo

Re: [vpp-dev] Failing to create untagged sub-interface

2018-09-18 Thread Chandra Mohan, Vijay Mohan


typedef struct

{

  u32 sw_if_index;

  u32 flags;

  // config entry is-valid flag

  // exact match flags (valid if packet has 0/1/2/3 tags)

  // L2 vs L3 forwarding mode

#define SUBINT_CONFIG_MATCH_0_TAG (1<<0)

#define SUBINT_CONFIG_MATCH_1_TAG (1<<1)

#define SUBINT_CONFIG_MATCH_2_TAG (1<<2)

#define SUBINT_CONFIG_MATCH_3_TAG (1<<3)

#define SUBINT_CONFIG_VALID   (1<<4)

#define SUBINT_CONFIG_L2  (1<<5)

#define SUBINT_CONFIG_P2P (1<<6)



} subint_config_t;





typedef struct

{

  subint_config_t untagged_subint;

  subint_config_t default_subint;

  u16 dot1q_vlans;  // pool id for vlan table

  u16 dot1ad_vlans; // pool id for vlan table

} main_intf_t;

Each main interface has untagged_subint and default_subint. The sw_if_index in 
untagged_subint is same as the sw_if_index of the physical interface and the 
‘flags’ has ‘SUBINT_CONFIG_VALID’ set. Since, by default, physical interface 
forwards untagged traffic, is the physical interface itself is being treated as 
untagged sub-interface ? is my understanding correct ?

-vijay



From: "Chandra Mohan, Vijay Mohan" 
Date: Tuesday, September 18, 2018 at 3:52 PM
To: "vpp-dev@lists.fd.io" 
Subject: Re: Failing to create untagged sub-interface

Fd.io pages states following in the “create sub-interfaces” section:
Example of how to created a subinterface to process untagged packets:
vpp# create sub-interfaces GigabitEthernet2/0/0 5 untagged

I am trying to do exactly same thing mentioned above and it fails. Is this a 
known issue (a bug) ??

-vijay


From: "Chandra Mohan, Vijay Mohan" 
Date: Tuesday, September 18, 2018 at 2:37 PM
To: "vpp-dev@lists.fd.io" 
Subject: Failing to create untagged sub-interface

Was not sure if this email is being delivered properly or not, so, sending a 
new email with the old email trail:


Looking to understand the significance of “SUBINT_CONFIG_VALID” flag. When is 
it set and why ? untagged sub-interface creation fails when this flag is set. 
Question is when is this flag being set at first place ?? Does this flag 
indicate that a valid vlan is configured on this interface ? Still looking in 
to the code but, so far,  did not find any instance in the configuration code 
path (up until “ethernet_sw_interface_add_del”)  where this flag is being set.

-vijay

From: "Chandra Mohan, Vijay Mohan" 
mailto:vijch...@ciena.com>>
Date: Wednesday, September 12, 2018 at 10:16 AM
To: "vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io>" 
mailto:vpp-dev@lists.fd.io>>
Subject: Re: Unable to create sub-interface with 'untagged' option

Just wanted to check if you anyone got a chance to look at this ? Am I missing 
some configuration here before creating a sub-interface for untagged frames ?

-Vijay
From: "Chandra Mohan, Vijay Mohan" 
mailto:vijch...@ciena.com>>
Date: Thursday, September 6, 2018 at 3:57 PM
To: "vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io>" 
mailto:vpp-dev@lists.fd.io>>
Subject: Re: Unable to create sub-interface with 'untagged' option

Did anyone get a chance to take a look at this ?

-vijay

From: "Chandra Mohan, Vijay Mohan" 
mailto:vijch...@ciena.com>>
Date: Wednesday, September 5, 2018 at 1:35 PM
To: "vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io>" 
mailto:vpp-dev@lists.fd.io>>
Subject: Unable to create sub-interface with 'untagged' option

Hi All,

Creation of a sub-interface with ‘untagged’ option fails with the message “ 
create sub-interfaces: vlan is already in use” . Any idea what I am missing 
here ? There is no other configs present and trying to create sub-interface for 
the first time.

vpp# create sub-interfaces GigabitEthernet5/0/0 1 untagged
create sub-interfaces: vlan is already in use


Thanks,
Vijay

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#10559): https://lists.fd.io/g/vpp-dev/message/10559
Mute This Topic: https://lists.fd.io/mt/25750421/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [vpp-dev] Failing to create untagged sub-interface

2018-09-18 Thread Chandra Mohan, Vijay Mohan
Fd.io pages states following in the “create sub-interfaces” section:
Example of how to created a subinterface to process untagged packets:
vpp# create sub-interfaces GigabitEthernet2/0/0 5 untagged

I am trying to do exactly same thing mentioned above and it fails. Is this a 
known issue (a bug) ??

-vijay


From: "Chandra Mohan, Vijay Mohan" 
Date: Tuesday, September 18, 2018 at 2:37 PM
To: "vpp-dev@lists.fd.io" 
Subject: Failing to create untagged sub-interface

Was not sure if this email is being delivered properly or not, so, sending a 
new email with the old email trail:


Looking to understand the significance of “SUBINT_CONFIG_VALID” flag. When is 
it set and why ? untagged sub-interface creation fails when this flag is set. 
Question is when is this flag being set at first place ?? Does this flag 
indicate that a valid vlan is configured on this interface ? Still looking in 
to the code but, so far,  did not find any instance in the configuration code 
path (up until “ethernet_sw_interface_add_del”)  where this flag is being set.

-vijay

From: "Chandra Mohan, Vijay Mohan" 
mailto:vijch...@ciena.com>>
Date: Wednesday, September 12, 2018 at 10:16 AM
To: "vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io>" 
mailto:vpp-dev@lists.fd.io>>
Subject: Re: Unable to create sub-interface with 'untagged' option

Just wanted to check if you anyone got a chance to look at this ? Am I missing 
some configuration here before creating a sub-interface for untagged frames ?

-Vijay
From: "Chandra Mohan, Vijay Mohan" 
mailto:vijch...@ciena.com>>
Date: Thursday, September 6, 2018 at 3:57 PM
To: "vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io>" 
mailto:vpp-dev@lists.fd.io>>
Subject: Re: Unable to create sub-interface with 'untagged' option

Did anyone get a chance to take a look at this ?

-vijay

From: "Chandra Mohan, Vijay Mohan" 
mailto:vijch...@ciena.com>>
Date: Wednesday, September 5, 2018 at 1:35 PM
To: "vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io>" 
mailto:vpp-dev@lists.fd.io>>
Subject: Unable to create sub-interface with 'untagged' option

Hi All,

Creation of a sub-interface with ‘untagged’ option fails with the message “ 
create sub-interfaces: vlan is already in use” . Any idea what I am missing 
here ? There is no other configs present and trying to create sub-interface for 
the first time.

vpp# create sub-interfaces GigabitEthernet5/0/0 1 untagged
create sub-interfaces: vlan is already in use


Thanks,
Vijay

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#10557): https://lists.fd.io/g/vpp-dev/message/10557
Mute This Topic: https://lists.fd.io/mt/25750421/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


[vpp-dev] Failing to create untagged sub-interface

2018-09-18 Thread Chandra Mohan, Vijay Mohan
Was not sure if this email is being delivered properly or not, so, sending a 
new email with the old email trail:


Looking to understand the significance of “SUBINT_CONFIG_VALID” flag. When is 
it set and why ? untagged sub-interface creation fails when this flag is set. 
Question is when is this flag being set at first place ?? Does this flag 
indicate that a valid vlan is configured on this interface ? Still looking in 
to the code but, so far,  did not find any instance in the configuration code 
path (up until “ethernet_sw_interface_add_del”)  where this flag is being set.

-vijay

From: "Chandra Mohan, Vijay Mohan" 
mailto:vijch...@ciena.com>>
Date: Wednesday, September 12, 2018 at 10:16 AM
To: "vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io>" 
mailto:vpp-dev@lists.fd.io>>
Subject: Re: Unable to create sub-interface with 'untagged' option

Just wanted to check if you anyone got a chance to look at this ? Am I missing 
some configuration here before creating a sub-interface for untagged frames ?

-Vijay
From: "Chandra Mohan, Vijay Mohan" 
mailto:vijch...@ciena.com>>
Date: Thursday, September 6, 2018 at 3:57 PM
To: "vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io>" 
mailto:vpp-dev@lists.fd.io>>
Subject: Re: Unable to create sub-interface with 'untagged' option

Did anyone get a chance to take a look at this ?

-vijay

From: "Chandra Mohan, Vijay Mohan" 
mailto:vijch...@ciena.com>>
Date: Wednesday, September 5, 2018 at 1:35 PM
To: "vpp-dev@lists.fd.io<mailto:vpp-dev@lists.fd.io>" 
mailto:vpp-dev@lists.fd.io>>
Subject: Unable to create sub-interface with 'untagged' option

Hi All,

Creation of a sub-interface with ‘untagged’ option fails with the message “ 
create sub-interfaces: vlan is already in use” . Any idea what I am missing 
here ? There is no other configs present and trying to create sub-interface for 
the first time.

vpp# create sub-interfaces GigabitEthernet5/0/0 1 untagged
create sub-interfaces: vlan is already in use


Thanks,
Vijay

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#10552): https://lists.fd.io/g/vpp-dev/message/10552
Mute This Topic: https://lists.fd.io/mt/25750421/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [vpp-dev] Unable to create sub-interface with 'untagged' option

2018-09-18 Thread Chandra Mohan, Vijay Mohan
Looking to understand the significance of “SUBINT_CONFIG_VALID” flag. When is 
it set and why ? untagged sub-interface creation fails when this flag is set. 
Question is when is this flag being set at first place ?? Does this flag 
indicate that a valid vlan is configured on this interface ? Still looking in 
to the code but, so far,  did not find any instance in the configuration code 
path (up until “ethernet_sw_interface_add_del”)  where this flag is being set.

-vijay

From: "Chandra Mohan, Vijay Mohan" 
Date: Wednesday, September 12, 2018 at 10:16 AM
To: "vpp-dev@lists.fd.io" 
Subject: Re: Unable to create sub-interface with 'untagged' option

Just wanted to check if you anyone got a chance to look at this ? Am I missing 
some configuration here before creating a sub-interface for untagged frames ?

-Vijay
From: "Chandra Mohan, Vijay Mohan" 
Date: Thursday, September 6, 2018 at 3:57 PM
To: "vpp-dev@lists.fd.io" 
Subject: Re: Unable to create sub-interface with 'untagged' option

Did anyone get a chance to take a look at this ?

-vijay

From: "Chandra Mohan, Vijay Mohan" 
Date: Wednesday, September 5, 2018 at 1:35 PM
To: "vpp-dev@lists.fd.io" 
Subject: Unable to create sub-interface with 'untagged' option

Hi All,

Creation of a sub-interface with ‘untagged’ option fails with the message “ 
create sub-interfaces: vlan is already in use” . Any idea what I am missing 
here ? There is no other configs present and trying to create sub-interface for 
the first time.

vpp# create sub-interfaces GigabitEthernet5/0/0 1 untagged
create sub-interfaces: vlan is already in use


Thanks,
Vijay
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#10550): https://lists.fd.io/g/vpp-dev/message/10550
Mute This Topic: https://lists.fd.io/mt/25213908/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [vpp-dev] Unable to create sub-interface with 'untagged' option

2018-09-12 Thread Chandra Mohan, Vijay Mohan
Just wanted to check if you anyone got a chance to look at this ? Am I missing 
some configuration here before creating a sub-interface for untagged frames ?

-Vijay
From: "Chandra Mohan, Vijay Mohan" 
Date: Thursday, September 6, 2018 at 3:57 PM
To: "vpp-dev@lists.fd.io" 
Subject: Re: Unable to create sub-interface with 'untagged' option

Did anyone get a chance to take a look at this ?

-vijay

From: "Chandra Mohan, Vijay Mohan" 
Date: Wednesday, September 5, 2018 at 1:35 PM
To: "vpp-dev@lists.fd.io" 
Subject: Unable to create sub-interface with 'untagged' option

Hi All,

Creation of a sub-interface with ‘untagged’ option fails with the message “ 
create sub-interfaces: vlan is already in use” . Any idea what I am missing 
here ? There is no other configs present and trying to create sub-interface for 
the first time.

vpp# create sub-interfaces GigabitEthernet5/0/0 1 untagged
create sub-interfaces: vlan is already in use


Thanks,
Vijay
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#10477): https://lists.fd.io/g/vpp-dev/message/10477
Mute This Topic: https://lists.fd.io/mt/25213908/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [vpp-dev] Unable to create sub-interface with 'untagged' option

2018-09-06 Thread Chandra Mohan, Vijay Mohan
Did anyone get a chance to take a look at this ?

-vijay

From: "Chandra Mohan, Vijay Mohan" 
Date: Wednesday, September 5, 2018 at 1:35 PM
To: "vpp-dev@lists.fd.io" 
Subject: Unable to create sub-interface with 'untagged' option

Hi All,

Creation of a sub-interface with ‘untagged’ option fails with the message “ 
create sub-interfaces: vlan is already in use” . Any idea what I am missing 
here ? There is no other configs present and trying to create sub-interface for 
the first time.

vpp# create sub-interfaces GigabitEthernet5/0/0 1 untagged
create sub-interfaces: vlan is already in use


Thanks,
Vijay
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#10419): https://lists.fd.io/g/vpp-dev/message/10419
Mute This Topic: https://lists.fd.io/mt/25213908/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [**EXTERNAL**] Re: [vpp-dev] What is 'punt' in 'set interface' command

2018-09-06 Thread Chandra Mohan, Vijay Mohan
Thanks for the response. 

I created a sub-interface on a physical interface and am trying to set the 
interface state of that sub-interface as 'punt' . Its failing with a message :

vpp# set interface state TenGigabitEthernet3/0/0.1 punt
set interface state: super-interface TenGigabitEthernet3/0/0 must be down/punt

Question is, the physical interface must be 'down/punt' in order to 
successfully set 'punt' on the corresponding sub-interface whose state would 
eventually become 'down/punt' . Was wondering what's the real purpose of this 
configuration ? If the physical interface is down it wouldn’t receive any 
frames.  

I am missing something here and trying to figure what that is. 

-vijay

On 9/5/18, 5:34 PM, "Jim Thompson"  wrote:

https://github.com/FDio/vpp/blob/master/src/vnet/ip/punt.c#L18-L22

  @brief Local TCP/IP stack punt infrastructure.
 
  Provides a set of VPP nodes together with the relevant APIs and CLI
  commands in order to adjust and dispatch packets from the VPP data plane
  to the local TCP/IP stack
    

> On Sep 6, 2018, at 1:19 AM, Chandra Mohan, Vijay Mohan 
 wrote:
> 
> Did anyone get a chance to look at this ?
>  
> -Vijay
>  
> From: "Chandra Mohan, Vijay Mohan" 
> Date: Tuesday, September 4, 2018 at 3:41 PM
> To: "vpp-dev@lists.fd.io" 
> Subject: What is 'punt' in 'set interface' command
>  
> Hi,
>  
> I am looking to understand when ‘punt’ option is used in “ set interface 
state  [up | down | punt | enable] “  . The command description says 
that it is used to punt traffic to slow-path and not used for forwarding. 
Looking to understand more about what this means. I am trying to explore if 
there is a way by which control frames can be forwarded to CPU and was 
wondering if ‘punt’ is that way to do this.
>  
> Thanks,
> Vijay
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> 
> View/Reply Online (#10390): https://lists.fd.io/g/vpp-dev/message/10390
> Mute This Topic: https://lists.fd.io/mt/25192021/675164
> Group Owner: vpp-dev+ow...@lists.fd.io
> Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [j...@netgate.com]
> -=-=-=-=-=-=-=-=-=-=-=-



-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#10418): https://lists.fd.io/g/vpp-dev/message/10418
Mute This Topic: https://lists.fd.io/mt/25266038/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [vpp-dev] What is 'punt' in 'set interface' command

2018-09-05 Thread Chandra Mohan, Vijay Mohan
Did anyone get a chance to look at this ?

-Vijay

From: "Chandra Mohan, Vijay Mohan" 
Date: Tuesday, September 4, 2018 at 3:41 PM
To: "vpp-dev@lists.fd.io" 
Subject: What is 'punt' in 'set interface' command

Hi,

I am looking to understand when ‘punt’ option is used in “ set interface state 
 [up | down | punt | enable] “  . The command description says that 
it is used to punt traffic to slow-path and not used for forwarding. Looking to 
understand more about what this means. I am trying to explore if there is a way 
by which control frames can be forwarded to CPU and was wondering if ‘punt’ is 
that way to do this.

Thanks,
Vijay
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#10390): https://lists.fd.io/g/vpp-dev/message/10390
Mute This Topic: https://lists.fd.io/mt/25192021/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


[vpp-dev] Unable to create sub-interface with 'untagged' option

2018-09-05 Thread Chandra Mohan, Vijay Mohan
Hi All,

Creation of a sub-interface with ‘untagged’ option fails with the message “ 
create sub-interfaces: vlan is already in use” . Any idea what I am missing 
here ? There is no other configs present and trying to create sub-interface for 
the first time.

vpp# create sub-interfaces GigabitEthernet5/0/0 1 untagged
create sub-interfaces: vlan is already in use


Thanks,
Vijay
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#10389): https://lists.fd.io/g/vpp-dev/message/10389
Mute This Topic: https://lists.fd.io/mt/25213908/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


[vpp-dev] What is 'punt' in 'set interface' command

2018-09-04 Thread Chandra Mohan, Vijay Mohan
Hi,

I am looking to understand when ‘punt’ option is used in “ set interface state 
 [up | down | punt | enable] “  . The command description says that 
it is used to punt traffic to slow-path and not used for forwarding. Looking to 
understand more about what this means. I am trying to explore if there is a way 
by which control frames can be forwarded to CPU and was wondering if ‘punt’ is 
that way to do this.

Thanks,
Vijay
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#10365): https://lists.fd.io/g/vpp-dev/message/10365
Mute This Topic: https://lists.fd.io/mt/25192021/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [**EXTERNAL**] Re: [vpp-dev] tx-drops with vhost-user interface

2018-08-30 Thread Chandra Mohan, Vijay Mohan
This was my test setup issue which is resolved now able to pass traffic. Thanks 
for all the inputs.

-Vijay


From: "Chandra Mohan, Vijay Mohan" 
Date: Tuesday, August 7, 2018 at 10:01 AM
To: "Yichen Wang (yicwang)" , "Steven Luong (sluong)" 
, "vpp-dev@lists.fd.io" 
Subject: Re: [**EXTERNAL**] Re: [vpp-dev] tx-drops with vhost-user interface

Hi Yichen,

It’s a good question. First thing I checked was if the interface is ‘up’ in VM 
and its up.

Steven,
Thanks for responding back quickly. I am trying to reproduce this issue without 
any changes from my side, just to isolate the issue. Will update the thread 
soon.

-Vijay

From: "Yichen Wang (yicwang)" 
Date: Monday, August 6, 2018 at 2:17 PM
To: "Steven Luong (sluong)" , "Chandra Mohan, Vijay Mohan" 
, "vpp-dev@lists.fd.io" 
Subject: [**EXTERNAL**] Re: [vpp-dev] tx-drops with vhost-user interface

Hi, Vijay,

Sorry to ask dumb question, can you make sure the interface in your VM (either 
Linux Kernel or DPDK) is “UP”?

Regards,
Yichen

From:  on behalf of "steven luong via Lists.Fd.Io" 

Reply-To: "Steven Luong (sluong)" 
Date: Monday, August 6, 2018 at 12:10 PM
To: "Chandra Mohan, Vijay Mohan" , "vpp-dev@lists.fd.io" 

Cc: "vpp-dev@lists.fd.io" 
Subject: Re: [vpp-dev] tx-drops with vhost-user interface

Vijay,

From the show output, I can’t really tell what your problem is. If you could 
provide additional information about your environment, I could try setting it 
up and see what’s wrong. Things I need from you are exact VPP version, VPP 
configuration, qemu startup command line or the XML startup file if you use 
virsh, and the version of the VM distro.

Steven

From:  on behalf of "Chandra Mohan, Vijay Mohan" 

Date: Monday, August 6, 2018 at 10:31 AM
To: "vpp-dev@lists.fd.io" 
Subject: [vpp-dev] tx-drops with vhost-user interface

Hi,

I am trying to pass traffic with vhost-user interface and seeing tx-drops on 
virtual interface. Here is the setup: created a bridge domain with a physical 
interface and a vhost-user interface. Physical interface GigabitEthernet5/0/0 
is connected to traffic generator. As shown below, observing drops on  
VirtualEthernet0/0/0 .

Following is the config and vhost-user commands o/p:

DBGvpp# show bridge-domain 1 detail
  BD-ID   Index   BSN  Age(min)  Learning  U-Forwrd  UU-Flood  Flooding  
ARP-Term  BVI-Intf
1   1  0 offonononon   off  
 N/A

   Interface   If-idx ISN  SHG  BVI  TxFlood
VLAN-Tag-Rewrite
 GigabitEthernet5/0/03 10-  * none
 GigabitEthernet5/0/14 10-  * none
 VirtualEthernet0/0/05 10-  * none

Virtual interface is operationally up. Connected to virtual interface server in 
VM.

DBGvpp# show hardware-interfaces VirtualEthernet0/0/0
  NameIdx   Link  Hardware
VirtualEthernet0/0/0   5 up   VirtualEthernet0/0/0
  Ethernet address 02:fe:98:19:c2:6b

DBGvpp# show interface VirtualEthernet0/0/0

  Name   Idx   State  Counter  Count

VirtualEthernet0/0/0  5 up   tx packets 
1

 tx bytes   
   60

 drops  
1





DBGvpp# show errors

   CountNode  Reason

 3l2-output   L2 output packets

 2l2-learnL2 learn packets

 2l2-learnL2 learn misses

 2l2-inputL2 input packets

 3l2-floodL2 flood packets

 1 VirtualEthernet0/0/0-txtx packet drops (no available 
descriptors)


DBGvpp# show vhost-user VirtualEthernet0/0/0
Virtio vhost-user interfaces
Global:
  coalesce frames 32 time 1e-3
  number of rx virtqueues in interrupt mode: 0
Interface: VirtualEthernet0/0/0 (ifindex 5)
virtio_net_hdr_sz 12
features mask (0x):
 features (0x150208000):
   VIRTIO_NET_F_MRG_RXBUF (15)
   VIRTIO_NET_F_GUEST_ANNOUNCE (21)
   VIRTIO_F_INDIRECT_DESC (28)
   VHOST_USER_F_PROTOCOL_FEATURES (30)
   VIRTIO_F_VERSION_1 (32)
  protocol features (0x3)
   VHOST_USER_PROTOCOL_F_MQ (0)
   VHOST_USER_PROTOCOL_F_LOG_SHMFD (1)

socket filename /socket/vnet-0 type client errno "Success"

rx placement:
   thread 0 on vring 1, polling
tx placement: lock-free
   thread 0 on vring 0

Memory regions (total 3)
region fdguest_phys_addrmemory_sizeuserspace_addr 
mmap_offsetmmap_addr
== = == ===

[vpp-dev] sub-interface question

2018-08-29 Thread Chandra Mohan, Vijay Mohan
Hi,

I am trying to understand the creation of sub-interfaces with respect to 
incoming untagged traffic and all tagged traffic.

How can we create sub-interfaces to associate with these two kinds of traffic ?
vpp-cli provides commands to create a sub-interface (with ‘default’ option) 
which can be associated with all tagged traffic which do not match any 
classifiers configured, and sub-interface (with ‘untagged’ option) which can be 
associated with all untagged traffic.

Question is should I be creating two sub-interfaces to classify untagged and 
all-tagged or is there any other way where this can be achieved with just one 
sub-interface ?

Thanks,
Vijay
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#10330): https://lists.fd.io/g/vpp-dev/message/10330
Mute This Topic: https://lists.fd.io/mt/25077665/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [**EXTERNAL**] Re: [vpp-dev] tx-drops with vhost-user interface

2018-08-07 Thread Chandra Mohan, Vijay Mohan
Hi Yichen,

It’s a good question. First thing I checked was if the interface is ‘up’ in VM 
and its up.

Steven,
Thanks for responding back quickly. I am trying to reproduce this issue without 
any changes from my side, just to isolate the issue. Will update the thread 
soon.

-Vijay

From: "Yichen Wang (yicwang)" 
Date: Monday, August 6, 2018 at 2:17 PM
To: "Steven Luong (sluong)" , "Chandra Mohan, Vijay Mohan" 
, "vpp-dev@lists.fd.io" 
Subject: [**EXTERNAL**] Re: [vpp-dev] tx-drops with vhost-user interface

Hi, Vijay,

Sorry to ask dumb question, can you make sure the interface in your VM (either 
Linux Kernel or DPDK) is “UP”?

Regards,
Yichen

From:  on behalf of "steven luong via Lists.Fd.Io" 

Reply-To: "Steven Luong (sluong)" 
Date: Monday, August 6, 2018 at 12:10 PM
To: "Chandra Mohan, Vijay Mohan" , "vpp-dev@lists.fd.io" 

Cc: "vpp-dev@lists.fd.io" 
Subject: Re: [vpp-dev] tx-drops with vhost-user interface

Vijay,

From the show output, I can’t really tell what your problem is. If you could 
provide additional information about your environment, I could try setting it 
up and see what’s wrong. Things I need from you are exact VPP version, VPP 
configuration, qemu startup command line or the XML startup file if you use 
virsh, and the version of the VM distro.

Steven

From:  on behalf of "Chandra Mohan, Vijay Mohan" 

Date: Monday, August 6, 2018 at 10:31 AM
To: "vpp-dev@lists.fd.io" 
Subject: [vpp-dev] tx-drops with vhost-user interface

Hi,

I am trying to pass traffic with vhost-user interface and seeing tx-drops on 
virtual interface. Here is the setup: created a bridge domain with a physical 
interface and a vhost-user interface. Physical interface GigabitEthernet5/0/0 
is connected to traffic generator. As shown below, observing drops on  
VirtualEthernet0/0/0 .

Following is the config and vhost-user commands o/p:

DBGvpp# show bridge-domain 1 detail
  BD-ID   Index   BSN  Age(min)  Learning  U-Forwrd  UU-Flood  Flooding  
ARP-Term  BVI-Intf
1   1  0 offonononon   off  
 N/A

   Interface   If-idx ISN  SHG  BVI  TxFlood
VLAN-Tag-Rewrite
 GigabitEthernet5/0/03 10-  * none
 GigabitEthernet5/0/14 10-  * none
 VirtualEthernet0/0/05 10-  * none

Virtual interface is operationally up. Connected to virtual interface server in 
VM.

DBGvpp# show hardware-interfaces VirtualEthernet0/0/0
  NameIdx   Link  Hardware
VirtualEthernet0/0/0   5 up   VirtualEthernet0/0/0
  Ethernet address 02:fe:98:19:c2:6b

DBGvpp# show interface VirtualEthernet0/0/0

  Name   Idx   State  Counter  Count

VirtualEthernet0/0/0  5 up   tx packets 
1

 tx bytes   
   60

 drops  
1





DBGvpp# show errors

   CountNode  Reason

 3l2-output   L2 output packets

 2l2-learnL2 learn packets

 2l2-learnL2 learn misses

 2l2-inputL2 input packets

 3l2-floodL2 flood packets

 1 VirtualEthernet0/0/0-txtx packet drops (no available 
descriptors)


DBGvpp# show vhost-user VirtualEthernet0/0/0
Virtio vhost-user interfaces
Global:
  coalesce frames 32 time 1e-3
  number of rx virtqueues in interrupt mode: 0
Interface: VirtualEthernet0/0/0 (ifindex 5)
virtio_net_hdr_sz 12
features mask (0x):
 features (0x150208000):
   VIRTIO_NET_F_MRG_RXBUF (15)
   VIRTIO_NET_F_GUEST_ANNOUNCE (21)
   VIRTIO_F_INDIRECT_DESC (28)
   VHOST_USER_F_PROTOCOL_FEATURES (30)
   VIRTIO_F_VERSION_1 (32)
  protocol features (0x3)
   VHOST_USER_PROTOCOL_F_MQ (0)
   VHOST_USER_PROTOCOL_F_LOG_SHMFD (1)

socket filename /socket/vnet-0 type client errno "Success"

rx placement:
   thread 0 on vring 1, polling
tx placement: lock-free
   thread 0 on vring 0

Memory regions (total 3)
region fdguest_phys_addrmemory_sizeuserspace_addr 
mmap_offsetmmap_addr
== = == == == 
== ==
  0 500x0001 0x0001c000 0x7fe39360 
0xc000 0x7fc0e4a0
  1 510x 0x000a 0x7fe2d360 
0x 0x7fc02480
  2 520x000c 0xbff4 0x7fe2d36c 
0x000c 0x7fbf6

[vpp-dev] tx-drops with vhost-user interface

2018-08-06 Thread Chandra Mohan, Vijay Mohan
Hi,

I am trying to pass traffic with vhost-user interface and seeing tx-drops on 
virtual interface. Here is the setup: created a bridge domain with a physical 
interface and a vhost-user interface. Physical interface GigabitEthernet5/0/0 
is connected to traffic generator. As shown below, observing drops on  
VirtualEthernet0/0/0 .

Following is the config and vhost-user commands o/p:


DBGvpp# show bridge-domain 1 detail

  BD-ID   Index   BSN  Age(min)  Learning  U-Forwrd  UU-Flood  Flooding  
ARP-Term  BVI-Intf

1   1  0 offonononon   off  
 N/A



   Interface   If-idx ISN  SHG  BVI  TxFlood
VLAN-Tag-Rewrite

 GigabitEthernet5/0/03 10-  * none

 GigabitEthernet5/0/14 10-  * none

 VirtualEthernet0/0/05 10-  * none


Virtual interface is operationally up. Connected to virtual interface server in 
VM.


DBGvpp# show hardware-interfaces VirtualEthernet0/0/0

  NameIdx   Link  Hardware

VirtualEthernet0/0/0   5 up   VirtualEthernet0/0/0

  Ethernet address 02:fe:98:19:c2:6b

DBGvpp# show interface VirtualEthernet0/0/0

  Name   Idx   State  Counter  Count

VirtualEthernet0/0/0  5 up   tx packets 
1

 tx bytes   
   60

 drops  
1





DBGvpp# show errors

   CountNode  Reason

 3l2-output   L2 output packets

 2l2-learnL2 learn packets

 2l2-learnL2 learn misses

 2l2-inputL2 input packets

 3l2-floodL2 flood packets

 1 VirtualEthernet0/0/0-txtx packet drops (no available 
descriptors)


DBGvpp# show vhost-user VirtualEthernet0/0/0
Virtio vhost-user interfaces
Global:
  coalesce frames 32 time 1e-3
  number of rx virtqueues in interrupt mode: 0
Interface: VirtualEthernet0/0/0 (ifindex 5)
virtio_net_hdr_sz 12
features mask (0x):
 features (0x150208000):
   VIRTIO_NET_F_MRG_RXBUF (15)
   VIRTIO_NET_F_GUEST_ANNOUNCE (21)
   VIRTIO_F_INDIRECT_DESC (28)
   VHOST_USER_F_PROTOCOL_FEATURES (30)
   VIRTIO_F_VERSION_1 (32)
  protocol features (0x3)
   VHOST_USER_PROTOCOL_F_MQ (0)
   VHOST_USER_PROTOCOL_F_LOG_SHMFD (1)

socket filename /socket/vnet-0 type client errno "Success"

rx placement:
   thread 0 on vring 1, polling
tx placement: lock-free
   thread 0 on vring 0

Memory regions (total 3)
region fdguest_phys_addrmemory_sizeuserspace_addr 
mmap_offsetmmap_addr
== = == == == 
== ==
  0 500x0001 0x0001c000 0x7fe39360 
0xc000 0x7fc0e4a0
  1 510x 0x000a 0x7fe2d360 
0x 0x7fc02480
  2 520x000c 0xbff4 0x7fe2d36c 
0x000c 0x7fbf648c

Virtqueue 0 (TX)
  qsz 256 last_avail_idx 0 last_used_idx 0
  avail.flags 0 avail.idx 0 used.flags 1 used.idx 0
  kickfd 53 callfd 54 errfd -1

Virtqueue 1 (RX)
  qsz 256 last_avail_idx 0 last_used_idx 0
  avail.flags 0 avail.idx 0 used.flags 1 used.idx 0
  kickfd 46 callfd 55 errfd -1

Tried dumping descriptors from Rx queue and didn’t find any entries. It’s all 
zeros.

Any idea what is going on here ?

Thanks,
Vijay

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#10052): https://lists.fd.io/g/vpp-dev/message/10052
Mute This Topic: https://lists.fd.io/mt/24211191/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-