[vpp-dev] API trace memory
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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] -=-=-=-=-=-=-=-=-=-=-=-