Hi Vyshakh,

This is only configurable in the startup config file. For performance reasons, 
we do not want the VPP threads to move across CPUs.

Thanks
Aloÿs

> On 17 Mar 2020, at 06:29, Vyshakh Krishnan <vysh...@rtbrick.com> wrote:
> 
> Thanks Aloys. Setting the main-core to different CPUs helped. ping is taking 
> less than a ms now.
> Is there a way to do it from the code rather than from configuration file? or 
> a way to let linux scheduling decide the CPU?
> 
> Thanks
> Vyshakh
> 
> On Thu, Mar 12, 2020 at 7:24 PM Aloys Augustin (aloaugus) <aloau...@cisco.com 
> <mailto:aloau...@cisco.com>> wrote:
> Hello,
> 
> For what it’s worth, I observed ~10ms memif pings when both VPPs were 
> scheduled on the same CPU, which happens with the default configuration (VPP 
> takes CPU 1 by default). You can try changing the configuration of one of 
> your VPPs by setting the main-core in the cpu section: 
> https://fd.io/docs/vpp/master/gettingstarted/users/configuring/startup.html 
> <https://fd.io/docs/vpp/master/gettingstarted/users/configuring/startup.html> 
> 
> Cheers,
> Aloÿs
> 
>> On 12 Mar 2020, at 14:30, vyshakh krishnan <vysh...@rtbrick.com 
>> <mailto:vysh...@rtbrick.com>> wrote:
>> 
>> Hi Damjan,
>> 
>> Please find the trace on both side
>> 
>> vpp1 (10.1.1.1) ---- (10.1.1.2) vpp2
>> 
>> DBGvpp# ping 10.1.1.2
>> 116 bytes from 10.1.1.2 <http://10.1.1.2/>: icmp_seq=1 ttl=64 time=31.8174 ms
>> 116 bytes from 10.1.1.2 <http://10.1.1.2/>: icmp_seq=2 ttl=64 time=47.9716 ms
>> 116 bytes from 10.1.1.2 <http://10.1.1.2/>: icmp_seq=3 ttl=64 time=40.0259 ms
>> 116 bytes from 10.1.1.2 <http://10.1.1.2/>: icmp_seq=4 ttl=64 time=19.9210 ms
>> 116 bytes from 10.1.1.2 <http://10.1.1.2/>: icmp_seq=5 ttl=64 time=39.9568 ms
>> 
>> Statistics: 5 sent, 5 received, 0% packet loss
>> 
>> 
>> VPP1:
>> ******
>> 
>> Packet 3
>> 
>> 01:35:02:872114: memif-input
>>   memif: hw_if_index 1 next-index 4
>>     slot: ring 0
>> 01:35:02:872132: ethernet-input
>>   frame: flags 0x1, hw-if-index 1, sw-if-index 1
>>   IP4: 02:dc:5c:30:00:00 -> 02:dc:5c:30:00:00
>> 01:35:02:872142: ip4-input
>>   ICMP: 10.1.1.2 -> 10.1.1.1
>>     tos 0x00, ttl 64, length 96, checksum 0x36e4
>>     fragment id 0x2db5
>>   ICMP echo_reply checksum 0xf86f
>> 01:35:02:872153: ip4-lookup
>>   fib 0 dpo-idx 8 flow hash: 0x00000000
>>   ICMP: 10.1.1.2 -> 10.1.1.1
>>     tos 0x00, ttl 64, length 96, checksum 0x36e4
>>     fragment id 0x2db5
>>   ICMP echo_reply checksum 0xf86f
>> 01:35:02:872206: ip4-local
>>     ICMP: 10.1.1.2 -> 10.1.1.1
>>       tos 0x00, ttl 64, length 96, checksum 0x36e4
>>       fragment id 0x2db5
>>     ICMP echo_reply checksum 0xf86f
>> 01:35:02:872215: ip4-icmp-input
>>   ICMP: 10.1.1.2 -> 10.1.1.1
>>     tos 0x00, ttl 64, length 96, checksum 0x36e4
>>     fragment id 0x2db5
>>   ICMP echo_reply checksum 0xf86f
>> 01:35:02:872224: ip4-icmp-echo-reply
>>   ICMP4 echo id 50293 seq 1 send to cli node 620
>> 
>> Packet 4
>> 
>> 01:35:02:872114: memif-input
>>   memif: hw_if_index 1 next-index 4
>>     slot: ring 0
>> 01:35:02:872132: ethernet-input
>>   frame: flags 0x1, hw-if-index 1, sw-if-index 1
>>   ARP: 02:dc:5c:30:00:00 -> ff:ff:ff:ff:ff:ff
>> 01:35:02:872150: arp-input
>>   request, type ethernet/IP4, address size 6/4
>>   02:dc:5c:30:00:00/10.1.1.2 <http://10.1.1.2/> -> 
>> 00:00:00:00:00:00/10.1.1.1 <http://10.1.1.1/>
>> 01:35:02:872163: arp-reply
>>   request, type ethernet/IP4, address size 6/4
>>   02:dc:5c:30:00:00/10.1.1.2 <http://10.1.1.2/> -> 
>> 00:00:00:00:00:00/10.1.1.1 <http://10.1.1.1/>
>> 01:35:02:872219: memif11/11-output
>>   memif11/11 l2_hdr_offset_valid l3_hdr_offset_valid 
>>   ARP: 02:dc:5c:30:00:00 -> 02:dc:5c:30:00:00
>>   reply, type ethernet/IP4, address size 6/4
>>   02:dc:5c:30:00:00/10.1.1.1 <http://10.1.1.1/> -> 
>> 02:dc:5c:30:00:00/10.1.1.2 <http://10.1.1.2/>
>> 
>> Packet 5
>> 
>> 01:35:03:136170: memif-input
>>   memif: hw_if_index 1 next-index 4
>>     slot: ring 0
>> 01:35:03:136186: ethernet-input
>>   frame: flags 0x1, hw-if-index 1, sw-if-index 1
>>   IP6: 02:dc:5c:30:00:00 -> 33:33:00:00:00:01
>> 01:35:03:136195: ip6-input
>>   ICMP6: fe80::dc:5cff:fe30:0 -> ff02::1
>>     tos 0x00, flow label 0x0, hop limit 255, payload length 32
>>   ICMP router_advertisement checksum 0x57bf
>> 01:35:03:136201: ip6-mfib-forward-lookup
>>   fib 0 entry 4
>> 01:35:03:136209: ip6-mfib-forward-rpf
>>   entry 4 itf 1 flags Accept,
>> 01:35:03:136212: ip6-replicate
>>   replicate: 2 via [@1]: dpo-receive
>> 01:35:03:136217: ip6-local
>>     ICMP6: fe80::dc:5cff:fe30:0 -> ff02::1
>>       tos 0x00, flow label 0x0, hop limit 255, payload length 32
>>     ICMP router_advertisement checksum 0x57bf
>> 01:35:03:136225: ip6-icmp-input
>>   ICMP6: fe80::dc:5cff:fe30:0 -> ff02::1
>>     tos 0x00, flow label 0x0, hop limit 255, payload length 32
>>   ICMP router_advertisement checksum 0x57bf
>> 01:35:03:136228: icmp6-router-advertisement
>>   ICMP6: fe80::dc:5cff:fe30:0 -> ff02::1
>>     tos 0x00, flow label 0x0, hop limit 255, payload length 32
>>   ICMP router_advertisement checksum 0x57bf
>> 01:35:03:136237: ip6-drop
>>     ICMP6: fe80::dc:5cff:fe30:0 -> ff02::1
>>       tos 0x00, flow label 0x0, hop limit 255, payload length 32
>>     ICMP router_advertisement checksum 0x57bf
>> 01:35:03:136242: error-drop
>>   rx:memif11/11
>> 01:35:03:136246: drop
>>   ip6-icmp-input: valid packets
>> 
>> Packet 6
>> 
>> 01:35:03:860055: memif-input
>>   memif: hw_if_index 1 next-index 4
>>     slot: ring 0
>> 01:35:03:880103: ethernet-input
>>   frame: flags 0x1, hw-if-index 1, sw-if-index 1
>>   IP4: 02:dc:5c:30:00:00 -> 02:dc:5c:30:00:00
>> 01:35:03:880114: ip4-input
>>   ICMP: 10.1.1.2 -> 10.1.1.1
>>     tos 0x00, ttl 64, length 96, checksum 0xb43f
>>     fragment id 0xb059
>>   ICMP echo_reply checksum 0x3092
>> 01:35:03:880124: ip4-lookup
>>   fib 0 dpo-idx 8 flow hash: 0x00000000
>>   ICMP: 10.1.1.2 -> 10.1.1.1
>>     tos 0x00, ttl 64, length 96, checksum 0xb43f
>>     fragment id 0xb059
>>   ICMP echo_reply checksum 0x3092
>> 01:35:03:880178: ip4-local
>>     ICMP: 10.1.1.2 -> 10.1.1.1
>>       tos 0x00, ttl 64, length 96, checksum 0xb43f
>>       fragment id 0xb059
>>     ICMP echo_reply checksum 0x3092
>> 01:35:03:880185: ip4-icmp-input
>>   ICMP: 10.1.1.2 -> 10.1.1.1
>>     tos 0x00, ttl 64, length 96, checksum 0xb43f
>>     fragment id 0xb059
>>   ICMP echo_reply checksum 0x3092
>> 01:35:03:880192: ip4-icmp-echo-reply
>>   ICMP4 echo id 50293 seq 2 send to cli node 620
>> 
>> Packet 7
>> 
>> 01:35:03:860055: memif-input
>>   memif: hw_if_index 1 next-index 4
>>     slot: ring 0
>> 01:35:03:880103: ethernet-input
>>   frame: flags 0x1, hw-if-index 1, sw-if-index 1
>>   ARP: 02:dc:5c:30:00:00 -> ff:ff:ff:ff:ff:ff
>> 01:35:03:880120: arp-input
>>   request, type ethernet/IP4, address size 6/4
>>   02:dc:5c:30:00:00/10.1.1.2 <http://10.1.1.2/> -> 
>> 00:00:00:00:00:00/10.1.1.1 <http://10.1.1.1/>
>> 01:35:03:880130: arp-reply
>>   request, type ethernet/IP4, address size 6/4
>>   02:dc:5c:30:00:00/10.1.1.2 <http://10.1.1.2/> -> 
>> 00:00:00:00:00:00/10.1.1.1 <http://10.1.1.1/>
>> 01:35:03:880187: memif11/11-output
>>   memif11/11 l2_hdr_offset_valid l3_hdr_offset_valid 
>>   ARP: 02:dc:5c:30:00:00 -> 02:dc:5c:30:00:00
>>   reply, type ethernet/IP4, address size 6/4
>>   02:dc:5c:30:00:00/10.1.1.1 <http://10.1.1.1/> -> 
>> 02:dc:5c:30:00:00/10.1.1.2 <http://10.1.1.2/>
>> 
>> Packet 8
>> 
>> 01:35:04:877964: memif-input
>>   memif: hw_if_index 1 next-index 4
>>     slot: ring 0
>> 01:35:04:877984: ethernet-input
>>   frame: flags 0x1, hw-if-index 1, sw-if-index 1
>>   IP4: 02:dc:5c:30:00:00 -> 02:dc:5c:30:00:00
>> 01:35:04:877995: ip4-input
>>   ICMP: 10.1.1.2 -> 10.1.1.1
>>     tos 0x00, ttl 64, length 96, checksum 0xc71b
>>     fragment id 0x9d7d
>>   ICMP echo_reply checksum 0x6684
>> 01:35:04:878002: ip4-lookup
>>   fib 0 dpo-idx 8 flow hash: 0x00000000
>>   ICMP: 10.1.1.2 -> 10.1.1.1
>>     tos 0x00, ttl 64, length 96, checksum 0xc71b
>>     fragment id 0x9d7d
>>   ICMP echo_reply checksum 0x6684
>> 01:35:04:878011: ip4-local
>>     ICMP: 10.1.1.2 -> 10.1.1.1
>>       tos 0x00, ttl 64, length 96, checksum 0xc71b
>>       fragment id 0x9d7d
>>     ICMP echo_reply checksum 0x6684
>> 01:35:04:878015: ip4-icmp-input
>>   ICMP: 10.1.1.2 -> 10.1.1.1
>>     tos 0x00, ttl 64, length 96, checksum 0xc71b
>>     fragment id 0x9d7d
>>   ICMP echo_reply checksum 0x6684
>> 01:35:04:878018: ip4-icmp-echo-reply
>>   ICMP4 echo id 50293 seq 3 send to cli node 620
>> 
>> Packet 9
>> 
>> 01:35:04:896207: memif-input
>>   memif: hw_if_index 1 next-index 4
>>     slot: ring 0
>> 01:35:04:896223: ethernet-input
>>   frame: flags 0x1, hw-if-index 1, sw-if-index 1
>>   ARP: 02:dc:5c:30:00:00 -> ff:ff:ff:ff:ff:ff
>> 01:35:04:896233: arp-input
>>   request, type ethernet/IP4, address size 6/4
>>   02:dc:5c:30:00:00/10.1.1.2 <http://10.1.1.2/> -> 
>> 00:00:00:00:00:00/10.1.1.1 <http://10.1.1.1/>
>> 01:35:04:896239: arp-reply
>>   request, type ethernet/IP4, address size 6/4
>>   02:dc:5c:30:00:00/10.1.1.2 <http://10.1.1.2/> -> 
>> 00:00:00:00:00:00/10.1.1.1 <http://10.1.1.1/>
>> 01:35:04:896341: memif11/11-output
>>   memif11/11 l2_hdr_offset_valid l3_hdr_offset_valid 
>>   ARP: 02:dc:5c:30:00:00 -> 02:dc:5c:30:00:00
>>   reply, type ethernet/IP4, address size 6/4
>>   02:dc:5c:30:00:00/10.1.1.1 <http://10.1.1.1/> -> 
>> 02:dc:5c:30:00:00/10.1.1.2 <http://10.1.1.2/>
>> 
>> Packet 10
>> 
>> 01:35:05:912057: memif-input
>>   memif: hw_if_index 1 next-index 4
>>     slot: ring 0
>> 01:35:05:912086: ethernet-input
>>   frame: flags 0x1, hw-if-index 1, sw-if-index 1
>>   ARP: 02:dc:5c:30:00:00 -> ff:ff:ff:ff:ff:ff
>> 01:35:05:912104: arp-input
>>   request, type ethernet/IP4, address size 6/4
>>   02:dc:5c:30:00:00/10.1.1.2 <http://10.1.1.2/> -> 
>> 00:00:00:00:00:00/10.1.1.1 <http://10.1.1.1/>
>> 01:35:05:912120: arp-reply
>>   request, type ethernet/IP4, address size 6/4
>>   02:dc:5c:30:00:00/10.1.1.2 <http://10.1.1.2/> -> 
>> 00:00:00:00:00:00/10.1.1.1 <http://10.1.1.1/>
>> 01:35:05:912201: memif11/11-output
>>   memif11/11 l2_hdr_offset_valid l3_hdr_offset_valid 
>>   ARP: 02:dc:5c:30:00:00 -> 02:dc:5c:30:00:00
>>   reply, type ethernet/IP4, address size 6/4
>>   02:dc:5c:30:00:00/10.1.1.1 <http://10.1.1.1/> -> 
>> 02:dc:5c:30:00:00/10.1.1.2 <http://10.1.1.2/>
>> 
>> Packet 11
>> 
>> 01:35:05:912057: memif-input
>>   memif: hw_if_index 1 next-index 4
>>     slot: ring 0
>> 01:35:05:912086: ethernet-input
>>   frame: flags 0x1, hw-if-index 1, sw-if-index 1
>>   IP4: 02:dc:5c:30:00:00 -> 02:dc:5c:30:00:00
>> 01:35:05:912112: ip4-input
>>   ICMP: 10.1.1.2 -> 10.1.1.1
>>     tos 0x00, ttl 64, length 96, checksum 0x2efb
>>     fragment id 0x359e
>>   ICMP echo_reply checksum 0x9f5d
>> 01:35:05:912181: ip4-lookup
>>   fib 0 dpo-idx 8 flow hash: 0x00000000
>>   ICMP: 10.1.1.2 -> 10.1.1.1
>>     tos 0x00, ttl 64, length 96, checksum 0x2efb
>>     fragment id 0x359e
>>   ICMP echo_reply checksum 0x9f5d
>> 01:35:05:912196: ip4-local
>>     ICMP: 10.1.1.2 -> 10.1.1.1
>>       tos 0x00, ttl 64, length 96, checksum 0x2efb
>>       fragment id 0x359e
>>     ICMP echo_reply checksum 0x9f5d
>> 01:35:05:912209: ip4-icmp-input
>>   ICMP: 10.1.1.2 -> 10.1.1.1
>>     tos 0x00, ttl 64, length 96, checksum 0x2efb
>>     fragment id 0x359e
>>   ICMP echo_reply checksum 0x9f5d
>> 01:35:05:912218: ip4-icmp-echo-reply
>>   ICMP4 echo id 50293 seq 4 send to cli node 620
>> 
>> 
>> 
>> VPP2:
>> *******
>> 
>> Packet 14
>> 
>> 01:35:02:546138: memif-input
>>   memif: hw_if_index 1 next-index 4
>>     slot: ring 0
>> 01:35:02:566721: ethernet-input
>>   frame: flags 0x1, hw-if-index 1, sw-if-index 1
>>   IP4: 02:dc:5c:30:00:00 -> 02:dc:5c:30:00:00
>> 01:35:02:566740: ip4-input
>>   ICMP: 10.1.1.1 -> 10.1.1.2
>>     tos 0x00, ttl 255, length 96, checksum 0xa598
>>     fragment id 0x0000
>>   ICMP echo_request checksum 0xf06f
>> 01:35:02:566751: ip4-lookup
>>   fib 0 dpo-idx 8 flow hash: 0x00000000
>>   ICMP: 10.1.1.1 -> 10.1.1.2
>>     tos 0x00, ttl 255, length 96, checksum 0xa598
>>     fragment id 0x0000
>>   ICMP echo_request checksum 0xf06f
>> 01:35:02:566767: ip4-local
>>     ICMP: 10.1.1.1 -> 10.1.1.2
>>       tos 0x00, ttl 255, length 96, checksum 0xa598
>>       fragment id 0x0000
>>     ICMP echo_request checksum 0xf06f
>> 01:35:02:566774: ip4-icmp-input
>>   ICMP: 10.1.1.1 -> 10.1.1.2
>>     tos 0x00, ttl 255, length 96, checksum 0xa598
>>     fragment id 0x0000
>>   ICMP echo_request checksum 0xf06f
>> 01:35:02:566778: ip4-icmp-echo-request
>>   ICMP: 10.1.1.1 -> 10.1.1.2
>>     tos 0x00, ttl 255, length 96, checksum 0xa598
>>     fragment id 0x0000
>>   ICMP echo_request checksum 0xf06f
>> 01:35:02:566784: ip4-load-balance
>>   fib 0 dpo-idx 8 flow hash: 0x00000000
>>   ICMP: 10.1.1.2 -> 10.1.1.1
>>     tos 0x00, ttl 64, length 96, checksum 0x36e4
>>     fragment id 0x2db5
>>   ICMP echo_reply checksum 0xf86f
>> 01:35:02:566787: ip4-rewrite
>>   tx_sw_if_index 1 dpo-idx 8 : ipv4 via 10.1.1.1 memif11/11: mtu:1500 
>> 02dc5c30000002dc5c3000000800 flow hash: 0x00000000
>>   00000000: 02dc5c30000002dc5c3000000800450000602db50000400136e40a0101020a01
>>   00000020: 01010000f86fc4750001301fb34af627000000010203040506070809
>> 01:35:02:566792: memif11/11-output
>>   memif11/11 l2_hdr_offset_valid l3_hdr_offset_valid 
>>   IP4: 02:dc:5c:30:00:00 -> 02:dc:5c:30:00:00
>>   ICMP: 10.1.1.2 -> 10.1.1.1
>>     tos 0x00, ttl 64, length 96, checksum 0x36e4
>>     fragment id 0x2db5
>>   ICMP echo_reply checksum 0xf86f
>> 
>> Packet 15
>> 
>> 01:35:02:574138: memif-input
>>   memif: hw_if_index 1 next-index 4
>>     slot: ring 0
>> 01:35:02:586875: ethernet-input
>>   frame: flags 0x1, hw-if-index 1, sw-if-index 1
>>   ARP: 02:dc:5c:30:00:00 -> 02:dc:5c:30:00:00
>> 01:35:02:586911: arp-input
>>   reply, type ethernet/IP4, address size 6/4
>>   02:dc:5c:30:00:00/10.1.1.1 <http://10.1.1.1/> -> 
>> 02:dc:5c:30:00:00/10.1.1.2 <http://10.1.1.2/>
>> 01:35:02:586921: arp-reply
>>   reply, type ethernet/IP4, address size 6/4
>>   02:dc:5c:30:00:00/10.1.1.1 <http://10.1.1.1/> -> 
>> 02:dc:5c:30:00:00/10.1.1.2 <http://10.1.1.2/>
>> 01:35:02:587026: error-drop
>>   rx:memif11/11
>> 01:35:02:587037: drop
>>   null-node: blackholed packets
>> 
>> Packet 16
>> 
>> 01:35:02:574138: memif-input
>>   memif: hw_if_index 2 next-index 4
>>     slot: ring 0
>> 01:35:02:586911: arp-input
>>   reply, type ethernet/IP4, address size 6/4
>>   02:dc:5c:30:00:40/20.1.1.1 <http://20.1.1.1/> -> 
>> 02:dc:5c:30:00:40/20.1.1.2 <http://20.1.1.2/>
>> 01:35:02:586921: arp-reply
>>   reply, type ethernet/IP4, address size 6/4
>>   02:dc:5c:30:00:40/20.1.1.1 <http://20.1.1.1/> -> 
>> 02:dc:5c:30:00:40/20.1.1.2 <http://20.1.1.2/>
>> 01:35:02:587026: error-drop
>>   rx:memif222/222
>> 01:35:02:587037: drop
>>   null-node: blackholed packets
>> 
>> Packet 17
>> 
>> 01:35:03:550132: memif-input
>>   memif: hw_if_index 1 next-index 4
>>     slot: ring 0
>> 01:35:03:570202: ethernet-input
>>   frame: flags 0x1, hw-if-index 1, sw-if-index 1
>>   IP4: 02:dc:5c:30:00:00 -> 02:dc:5c:30:00:00
>> 01:35:03:570212: ip4-input
>>   ICMP: 10.1.1.1 -> 10.1.1.2
>>     tos 0x00, ttl 255, length 96, checksum 0xa598
>>     fragment id 0x0000
>>   ICMP echo_request checksum 0x2892
>> 01:35:03:570218: ip4-lookup
>>   fib 0 dpo-idx 8 flow hash: 0x00000000
>>   ICMP: 10.1.1.1 -> 10.1.1.2
>>     tos 0x00, ttl 255, length 96, checksum 0xa598
>>     fragment id 0x0000
>>   ICMP echo_request checksum 0x2892
>> 01:35:03:570227: ip4-local
>>     ICMP: 10.1.1.1 -> 10.1.1.2
>>       tos 0x00, ttl 255, length 96, checksum 0xa598
>>       fragment id 0x0000
>>     ICMP echo_request checksum 0x2892
>> 01:35:03:570231: ip4-icmp-input
>>   ICMP: 10.1.1.1 -> 10.1.1.2
>>     tos 0x00, ttl 255, length 96, checksum 0xa598
>>     fragment id 0x0000
>>   ICMP echo_request checksum 0x2892
>> 01:35:03:570233: ip4-icmp-echo-request
>>   ICMP: 10.1.1.1 -> 10.1.1.2
>>     tos 0x00, ttl 255, length 96, checksum 0xa598
>>     fragment id 0x0000
>>   ICMP echo_request checksum 0x2892
>> 01:35:03:570237: ip4-load-balance
>>   fib 0 dpo-idx 8 flow hash: 0x00000000
>>   ICMP: 10.1.1.2 -> 10.1.1.1
>>     tos 0x00, ttl 64, length 96, checksum 0xb43f
>>     fragment id 0xb059
>>   ICMP echo_reply checksum 0x3092
>> 01:35:03:570239: ip4-rewrite
>>   tx_sw_if_index 1 dpo-idx 8 : ipv4 via 10.1.1.1 memif11/11: mtu:1500 
>> 02dc5c30000002dc5c3000000800 flow hash: 0x00000000
>>   00000000: 02dc5c30000002dc5c300000080045000060b05900004001b43f0a0101020a01
>>   00000020: 010100003092c4750002ea6cc0d9f627000000010203040506070809
>> 01:35:03:570242: memif11/11-output
>>   memif11/11 l2_hdr_offset_valid l3_hdr_offset_valid 
>>   IP4: 02:dc:5c:30:00:00 -> 02:dc:5c:30:00:00
>>   ICMP: 10.1.1.2 -> 10.1.1.1
>>     tos 0x00, ttl 64, length 96, checksum 0xb43f
>>     fragment id 0xb059
>>   ICMP echo_reply checksum 0x3092
>> 
>> Packet 18
>> 
>> 01:35:03:582132: memif-input
>>   memif: hw_if_index 1 next-index 4
>>     slot: ring 0
>> 01:35:03:602210: ethernet-input
>>   frame: flags 0x1, hw-if-index 1, sw-if-index 1
>>   ARP: 02:dc:5c:30:00:00 -> 02:dc:5c:30:00:00
>> 01:35:03:602229: arp-input
>>   reply, type ethernet/IP4, address size 6/4
>>   02:dc:5c:30:00:00/10.1.1.1 <http://10.1.1.1/> -> 
>> 02:dc:5c:30:00:00/10.1.1.2 <http://10.1.1.2/>
>> 01:35:03:602236: arp-reply
>>   reply, type ethernet/IP4, address size 6/4
>>   02:dc:5c:30:00:00/10.1.1.1 <http://10.1.1.1/> -> 
>> 02:dc:5c:30:00:00/10.1.1.2 <http://10.1.1.2/>
>> 01:35:03:602297: error-drop
>>   rx:memif11/11
>> 01:35:03:602302: drop
>>   null-node: blackholed packets
>> 
>> Packet 19
>> 
>> 01:35:03:582132: memif-input
>>   memif: hw_if_index 2 next-index 4
>>     slot: ring 0
>> 01:35:03:602229: arp-input
>>   reply, type ethernet/IP4, address size 6/4
>>   02:dc:5c:30:00:40/20.1.1.1 <http://20.1.1.1/> -> 
>> 02:dc:5c:30:00:40/20.1.1.2 <http://20.1.1.2/>
>> 01:35:03:602236: arp-reply
>>   reply, type ethernet/IP4, address size 6/4
>>   02:dc:5c:30:00:40/20.1.1.1 <http://20.1.1.1/> -> 
>> 02:dc:5c:30:00:40/20.1.1.2 <http://20.1.1.2/>
>> 01:35:03:602297: error-drop
>>   rx:memif222/222
>> 01:35:03:602302: drop
>>   null-node: blackholed packets
>> 
>> Packet 20
>> 
>> 01:35:04:559990: memif-input
>>   memif: hw_if_index 1 next-index 4
>>     slot: ring 0
>> 01:35:04:560005: ethernet-input
>>   frame: flags 0x1, hw-if-index 1, sw-if-index 1
>>   IP4: 02:dc:5c:30:00:00 -> 02:dc:5c:30:00:00
>> 01:35:04:560013: ip4-input
>>   ICMP: 10.1.1.1 -> 10.1.1.2
>>     tos 0x00, ttl 255, length 96, checksum 0xa598
>>     fragment id 0x0000
>>   ICMP echo_request checksum 0x5e84
>> 01:35:04:560019: ip4-lookup
>>   fib 0 dpo-idx 8 flow hash: 0x00000000
>>   ICMP: 10.1.1.1 -> 10.1.1.2
>>     tos 0x00, ttl 255, length 96, checksum 0xa598
>>     fragment id 0x0000
>>   ICMP echo_request checksum 0x5e84
>> 01:35:04:560026: ip4-local
>>     ICMP: 10.1.1.1 -> 10.1.1.2
>>       tos 0x00, ttl 255, length 96, checksum 0xa598
>>       fragment id 0x0000
>>     ICMP echo_request checksum 0x5e84
>> 01:35:04:560030: ip4-icmp-input
>>   ICMP: 10.1.1.1 -> 10.1.1.2
>>     tos 0x00, ttl 255, length 96, checksum 0xa598
>>     fragment id 0x0000
>>   ICMP echo_request checksum 0x5e84
>> 01:35:04:560032: ip4-icmp-echo-request
>>   ICMP: 10.1.1.1 -> 10.1.1.2
>>     tos 0x00, ttl 255, length 96, checksum 0xa598
>>     fragment id 0x0000
>>   ICMP echo_request checksum 0x5e84
>> 01:35:04:560036: ip4-load-balance
>>   fib 0 dpo-idx 8 flow hash: 0x00000000
>>   ICMP: 10.1.1.2 -> 10.1.1.1
>>     tos 0x00, ttl 64, length 96, checksum 0xc71b
>>     fragment id 0x9d7d
>>   ICMP echo_reply checksum 0x6684
>> 01:35:04:560037: ip4-rewrite
>>   tx_sw_if_index 1 dpo-idx 8 : ipv4 via 10.1.1.1 memif11/11: mtu:1500 
>> 02dc5c30000002dc5c3000000800 flow hash: 0x00000000
>>   00000000: 02dc5c30000002dc5c3000000800450000609d7d00004001c71b0a0101020a01
>>   00000020: 010100006684c4750003a6eacd68f727000000010203040506070809
>> 01:35:04:560040: memif11/11-output
>>   memif11/11 l2_hdr_offset_valid l3_hdr_offset_valid 
>>   IP4: 02:dc:5c:30:00:00 -> 02:dc:5c:30:00:00
>>   ICMP: 10.1.1.2 -> 10.1.1.1
>>     tos 0x00, ttl 64, length 96, checksum 0xc71b
>>     fragment id 0x9d7d
>>   ICMP echo_reply checksum 0x6684
>> 
>> Packet 21
>> 
>> 01:35:04:618290: memif-input
>>   memif: hw_if_index 1 next-index 4
>>     slot: ring 0
>> 01:35:04:618327: ethernet-input
>>   frame: flags 0x1, hw-if-index 1, sw-if-index 1
>>   ARP: 02:dc:5c:30:00:00 -> 02:dc:5c:30:00:00
>> 01:35:04:618347: arp-input
>>   reply, type ethernet/IP4, address size 6/4
>>   02:dc:5c:30:00:00/10.1.1.1 <http://10.1.1.1/> -> 
>> 02:dc:5c:30:00:00/10.1.1.2 <http://10.1.1.2/>
>> 01:35:04:618354: arp-reply
>>   reply, type ethernet/IP4, address size 6/4
>>   02:dc:5c:30:00:00/10.1.1.1 <http://10.1.1.1/> -> 
>> 02:dc:5c:30:00:00/10.1.1.2 <http://10.1.1.2/>
>> 01:35:04:618402: error-drop
>>   rx:memif11/11
>> 01:35:04:618409: drop
>>   null-node: blackholed packets
>> 
>> Packet 22
>> 
>> 01:35:04:618290: memif-input
>>   memif: hw_if_index 2 next-index 4
>>     slot: ring 0
>> 01:35:04:618347: arp-input
>>   reply, type ethernet/IP4, address size 6/4
>>   02:dc:5c:30:00:40/20.1.1.1 <http://20.1.1.1/> -> 
>> 02:dc:5c:30:00:40/20.1.1.2 <http://20.1.1.2/>
>> 01:35:04:618354: arp-reply
>>   reply, type ethernet/IP4, address size 6/4
>>   02:dc:5c:30:00:40/20.1.1.1 <http://20.1.1.1/> -> 
>> 02:dc:5c:30:00:40/20.1.1.2 <http://20.1.1.2/>
>> 01:35:04:618402: error-drop
>>   rx:memif222/222
>> 01:35:04:618409: drop
>>   null-node: blackholed packets
>> 
>> Packet 23
>> 
>> 01:35:05:594891: memif-input
>>   memif: hw_if_index 1 next-index 4
>>     slot: ring 0
>> 01:35:05:594915: ethernet-input
>>   frame: flags 0x1, hw-if-index 1, sw-if-index 1
>>   IP4: 02:dc:5c:30:00:00 -> 02:dc:5c:30:00:00
>> 01:35:05:594935: ip4-input
>>   ICMP: 10.1.1.1 -> 10.1.1.2
>>     tos 0x00, ttl 255, length 96, checksum 0xa598
>>     fragment id 0x0000
>>   ICMP echo_request checksum 0x975d
>> 01:35:05:594941: ip4-lookup
>>   fib 0 dpo-idx 8 flow hash: 0x00000000
>>   ICMP: 10.1.1.1 -> 10.1.1.2
>>     tos 0x00, ttl 255, length 96, checksum 0xa598
>>     fragment id 0x0000
>>   ICMP echo_request checksum 0x975d
>> 01:35:05:594948: ip4-local
>>     ICMP: 10.1.1.1 -> 10.1.1.2
>>       tos 0x00, ttl 255, length 96, checksum 0xa598
>>       fragment id 0x0000
>>     ICMP echo_request checksum 0x975d
>> 01:35:05:594953: ip4-icmp-input
>>   ICMP: 10.1.1.1 -> 10.1.1.2
>>     tos 0x00, ttl 255, length 96, checksum 0xa598
>>     fragment id 0x0000
>>   ICMP echo_request checksum 0x975d
>> 01:35:05:594955: ip4-icmp-echo-request
>>   ICMP: 10.1.1.1 -> 10.1.1.2
>>     tos 0x00, ttl 255, length 96, checksum 0xa598
>>     fragment id 0x0000
>>   ICMP echo_request checksum 0x975d
>> 01:35:05:594958: ip4-load-balance
>>   fib 0 dpo-idx 8 flow hash: 0x00000000
>>   ICMP: 10.1.1.2 -> 10.1.1.1
>>     tos 0x00, ttl 64, length 96, checksum 0x2efb
>>     fragment id 0x359e
>>   ICMP echo_reply checksum 0x9f5d
>> 01:35:05:594960: ip4-rewrite
>>   tx_sw_if_index 1 dpo-idx 8 : ipv4 via 10.1.1.1 memif11/11: mtu:1500 
>> 02dc5c30000002dc5c3000000800 flow hash: 0x00000000
>>   00000000: 02dc5c30000002dc5c300000080045000060359e000040012efb0a0101020a01
>>   00000020: 010100009f5dc47500043a7e00fbf727000000010203040506070809
>> 01:35:05:594962: memif11/11-output
>>   memif11/11 l2_hdr_offset_valid l3_hdr_offset_valid 
>>   IP4: 02:dc:5c:30:00:00 -> 02:dc:5c:30:00:00
>>   ICMP: 10.1.1.2 -> 10.1.1.1
>>     tos 0x00, ttl 64, length 96, checksum 0x2efb
>>     fragment id 0x359e
>>   ICMP echo_reply checksum 0x9f5d
>> 
>> 
>> 
>> On Thu, Mar 12, 2020 at 3:49 PM Damjan Marion <dmar...@me.com 
>> <mailto:dmar...@me.com>> wrote:
>> 
>> That’s weird…. Can you capture packet trace on both sides?
>> 
>> 
>>> On 12 Mar 2020, at 11:16, vyshakh krishnan <vysh...@rtbrick.com 
>>> <mailto:vysh...@rtbrick.com>> wrote:
>>> 
>>> Hi Damjan,
>>> 
>>> We don't have any worker threads and memif is in polling mode:
>>> 
>>> DBGvpp# sh int rx-placement
>>> Thread 0 (vpp_main):
>>>   node memif-input:
>>>     memif11/11 queue 0 (polling)
>>>     memif222/222 queue 0 (polling)
>>> 
>>> Thanks
>>> Vyshakh
>>> 
>>> On Wed, Mar 11, 2020 at 9:03 PM Damjan Marion <dmar...@me.com 
>>> <mailto:dmar...@me.com>> wrote:
>>> 
>>> Are you running VPP with worker threads and using interrupt mode in memif?
>>> 
>>> can you capture “sh int rx-placement” on both sides?
>>> 
>>> — 
>>> Damjan
>>> 
>>>> On 11 Mar 2020, at 15:44, vyshakh krishnan <vysh...@rtbrick.com 
>>>> <mailto:vysh...@rtbrick.com>> wrote:
>>>> 
>>>> Hi All,
>>>> 
>>>> When we try to ping back to back connected memif interface, its taking 
>>>> around 20 milli secs:
>>>> 
>>>> vpp1 (10.1.1.1) ---- (10.1.1.2) vpp2
>>>> 
>>>> DBGvpp#  ping 10.1.1.2
>>>> 116 bytes from 10.1.1.2 <http://10.1.1.2/>: icmp_seq=1 ttl=64 time=15.1229 
>>>> ms
>>>> 116 bytes from 10.1.1.2 <http://10.1.1.2/>: icmp_seq=2 ttl=64 time=20.1475 
>>>> ms
>>>> 116 bytes from 10.1.1.2 <http://10.1.1.2/>: icmp_seq=3 ttl=64 time=20.0371 
>>>> ms
>>>> 116 bytes from 10.1.1.2 <http://10.1.1.2/>: icmp_seq=4 ttl=64 time=14.9237 
>>>> ms
>>>> 116 bytes from 10.1.1.2 <http://10.1.1.2/>: icmp_seq=5 ttl=64 time=20.1059 
>>>> ms
>>>> 
>>>> Statistics: 5 sent, 5 received, 0% packet loss
>>>> 
>>>> Is it expected to take 20 msecs for a direct ping? 
>>>> 
>>>> Thanks
>>>> Vyshakh
>>>> 
>>>> 
>>>> 
>>> 
>>> 
>> 
>> 
> 

Attachment: smime.p7s
Description: S/MIME cryptographic signature

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

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

Reply via email to