Re: [vpp-dev] PPPoE plugin documentation/support
Hi Alp Arslan, Since PPPoE control packet is special, which destination MAC is the PPPoE client's MAC. Need to submit a patch to identify it and not perform L3 MAC filter in ethernet-input-inline() function. Thanks, Hongjun -Original Message- From: alp.ars...@xflowresearch.com [mailto:alp.ars...@xflowresearch.com] Sent: Friday, November 9, 2018 4:04 PM To: Ni, Hongjun ; vpp-dev@lists.fd.io Subject: RE: [vpp-dev] PPPoE plugin documentation/support Yes, that seems to be the problem. The control plane interface is dropping the replies with error "L3 MAC MISMATCH". How do I set the interface to l2? Using the command " set interface l2 bridge 1" is not working, as it starts to drop the PADI packets also. After using the above mentioned command: Packet 1 01:11:18:827637: vhost-user-input VirtualEthernet0/0/0 queue 0 virtio flags: INDIRECT Indirect descriptor virtio_net_hdr first_desc_len 12 flags 0x00 gso_type 0 num_buff 0 01:11:18:827641: ethernet-input PPPOE_DISCOVERY: 52:54:00:cc:3a:0e -> ff:ff:ff:ff:ff:ff 01:11:18:827643: l2-input l2-input: sw_if_index 3 dst ff:ff:ff:ff:ff:ff src 52:54:00:cc:3a:0e 01:11:18:827644: l2-learn l2-learn: sw_if_index 3 dst ff:ff:ff:ff:ff:ff src 52:54:00:cc:3a:0e bd_index 1 01:11:18:827646: error-drop l2-flood: L2 replication complete Regards, Alp Arslan -Original Message- From: vpp-dev@lists.fd.io [mailto:vpp-dev@lists.fd.io] On Behalf Of Ni, Hongjun Sent: Thursday, November 8, 2018 5:18 PM To: alp.ars...@xflowresearch.com; vpp-dev@lists.fd.io Subject: Re: [vpp-dev] PPPoE plugin documentation/support Hi alp arslan, It works in my server. Below is my configuration: vpp# set int state TenGigabitEthernet5/0/0 up vpp# set int ip table TenGigabitEthernet5/0/0 0 vpp# set int ip address TenGigabitEthernet5/0/0 100.1.1.3/32 vpp# vpp# set int state TenGigabitEthernet5/0/1 up vpp# set int ip table TenGigabitEthernet5/0/1 0 vpp# set int ip address TenGigabitEthernet5/0/1 100.1.1.200/32 vpp# ip route add 100.1.1.100/24 via 100.1.1.4 TenGigabitEthernet5/0/1 vpp# set ip arp TenGigabitEthernet5/0/1 100.1.1.100 ..0001 vpp# vpp# create pppoe cp cp-if-index 2 vpp# vpp# trace add dpdk-input 10 //Then you sent PADI packet: vpp# vpp# sh trace --- Start of thread 0 vpp_main --- Packet 1 00:00:49:834924: dpdk-input TenGigabitEthernet5/0/0 rx queue 0 buffer 0xa4e03: current data 0, length 60, free-list 0, clone-count 0, totlen-nifb 0, trace 0x0 ext-hdr-valid l4-cksum-computed l4-cksum-correct l2-hdr-offset 0 PKT MBUF: port 0, nb_segs 1, pkt_len 60 buf_len 2176, data_len 60, ol_flags 0x180, data_off 128, phys_addr 0x6dd38140 packet_type 0x1 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 PPPOE_DISCOVERY: 00:11:01:00:00:01 -> ff:ff:ff:ff:ff:ff 00:00:49:834959: ethernet-input PPPOE_DISCOVERY: 00:11:01:00:00:01 -> ff:ff:ff:ff:ff:ff 00:00:49:834978: pppoe-cp-dispatch PPPoE dispatch from sw_if_index -1 next 1 error 0 pppoe_code 0x9 ppp_proto 0x101 00:00:49:835469: TenGigabitEthernet5/0/1-output TenGigabitEthernet5/0/1 PPPOE_DISCOVERY: 00:11:01:00:00:01 -> ff:ff:ff:ff:ff:ff 00:00:49:835473: TenGigabitEthernet5/0/1-tx TenGigabitEthernet5/0/1 tx queue 0 buffer 0xa4e03: current data 0, length 60, free-list 0, clone-count 0, totlen-nifb 0, trace 0x0 ext-hdr-valid l4-cksum-computed l4-cksum-correct l2-hdr-offset 0 l3-hdr-offset 14 PKT MBUF: port 0, nb_segs 1, pkt_len 60 buf_len 2176, data_len 60, ol_flags 0x180, data_off 128, phys_addr 0x6dd38140 packet_type 0x1 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 PPPOE_DISCOVERY: 00:11:01:00:00:01 -> ff:ff:ff:ff:ff:ff vpp# vpp# vpp# sh pppoe session No pppoe sessions configured... vpp# vpp# sh pppoe fib no pppoe fib entries vpp# vpp# //Then you need to configure pppoe session: vpp# create pppoe session client-ip 100.1.1.2 session-id 1 client-mac 00:11:01:00:00:01 pppoe_session0 vpp# sh pppoe fib Mac-Address session_id sw_if_index session_index 00:11:01:00:00:01 1 1 0 1 pppoe fib entries vpp# vpp# sh pppoe session [0] sw-if-index 3 client-ip 100.1.1.2 session-id 1 encap-if-index 1 decap-fib-index 0 local-mac 90:e2:ba:48:7a:80 client-mac 00:11:01:00:00:01 //For l3 mac mismatch, maybe you need to set your control interface to l2 mode. Thanks, Hongjun -Original Message-
[vpp-dev] ipsec support for chained buffers.
Hi Is there any plans or any work in progress to extend the support for ipsec encrypt nodes to support the chained buffers? Thanks Vijay -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#11198): https://lists.fd.io/g/vpp-dev/message/11198 Mute This Topic: https://lists.fd.io/mt/28085594/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] Regarding communication from main thread to worker threads
Yes, it should be easy to cherry-pick into any release where it's needed. HTH... Dave -Original Message- From: Prashant Upadhyaya Sent: Sunday, November 11, 2018 3:05 PM To: Dave Barach (dbarach) Cc: vpp-dev@lists.fd.io Subject: Re: [vpp-dev] Regarding communication from main thread to worker threads Thanks Dave ! I could figure out the vm->worker_thread_main_loop_callback with your hint. It seems to be a newer feature, but looks to be quite easily back portable to older releases as well -- introduce the field and call it from the main loop. So I could setup a piece of memory as the request message and reply message, set the request message in my main thread, point the callback of vm[i] to the desired function to be called in the worker, the worker does what it has to do and sets up the reply message and nulls out the callback, the main thread can poll for the reply to arrive with a field there and voila ! Many thanks for adding this feature ! Regards -Prashant On Sun, Nov 11, 2018 at 6:46 PM Dave Barach (dbarach) wrote: > > Check out src/plugins/perfmon/perfmon_periodic.c for one take on that > problem... > > Dave > > -Original Message- > From: vpp-dev@lists.fd.io On Behalf Of Prashant > Upadhyaya > Sent: Sunday, November 11, 2018 2:37 AM > To: vpp-dev@lists.fd.io > Subject: [vpp-dev] Regarding communication from main thread to worker > threads > > Hi, > > The function, vl_api_rpc_call_main_thread, is useful to do message transfer > from worker thread to the main thread. > > Is there any mechanism where I can call a function in worker thread from the > main thread ? That is, just the reverse of the above. > > I can use interrupts (vlib_node_set_interrupt_pending) but I can't send any > data with the interrupt I suppose. > > So basically I want to find out if there is any infra available where I can > send some data to my worker thread from the main thread instead of creating a > frame of data and enqueueing it the normal way to the worker towards a node. > > Regards > -Prashant -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#11197): https://lists.fd.io/g/vpp-dev/message/11197 Mute This Topic: https://lists.fd.io/mt/28079125/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] Regarding communication from main thread to worker threads
Thanks Dave ! I could figure out the vm->worker_thread_main_loop_callback with your hint. It seems to be a newer feature, but looks to be quite easily back portable to older releases as well -- introduce the field and call it from the main loop. So I could setup a piece of memory as the request message and reply message, set the request message in my main thread, point the callback of vm[i] to the desired function to be called in the worker, the worker does what it has to do and sets up the reply message and nulls out the callback, the main thread can poll for the reply to arrive with a field there and voila ! Many thanks for adding this feature ! Regards -Prashant On Sun, Nov 11, 2018 at 6:46 PM Dave Barach (dbarach) wrote: > > Check out src/plugins/perfmon/perfmon_periodic.c for one take on that > problem... > > Dave > > -Original Message- > From: vpp-dev@lists.fd.io On Behalf Of Prashant > Upadhyaya > Sent: Sunday, November 11, 2018 2:37 AM > To: vpp-dev@lists.fd.io > Subject: [vpp-dev] Regarding communication from main thread to worker threads > > Hi, > > The function, vl_api_rpc_call_main_thread, is useful to do message transfer > from worker thread to the main thread. > > Is there any mechanism where I can call a function in worker thread from the > main thread ? That is, just the reverse of the above. > > I can use interrupts (vlib_node_set_interrupt_pending) but I can't send any > data with the interrupt I suppose. > > So basically I want to find out if there is any infra available where I can > send some data to my worker thread from the main thread instead of creating a > frame of data and enqueueing it the normal way to the worker towards a node. > > Regards > -Prashant -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#11196): https://lists.fd.io/g/vpp-dev/message/11196 Mute This Topic: https://lists.fd.io/mt/28079125/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] Regarding communication from main thread to worker threads
Check out src/plugins/perfmon/perfmon_periodic.c for one take on that problem... Dave -Original Message- From: vpp-dev@lists.fd.io On Behalf Of Prashant Upadhyaya Sent: Sunday, November 11, 2018 2:37 AM To: vpp-dev@lists.fd.io Subject: [vpp-dev] Regarding communication from main thread to worker threads Hi, The function, vl_api_rpc_call_main_thread, is useful to do message transfer from worker thread to the main thread. Is there any mechanism where I can call a function in worker thread from the main thread ? That is, just the reverse of the above. I can use interrupts (vlib_node_set_interrupt_pending) but I can't send any data with the interrupt I suppose. So basically I want to find out if there is any infra available where I can send some data to my worker thread from the main thread instead of creating a frame of data and enqueueing it the normal way to the worker towards a node. Regards -Prashant -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#11195): https://lists.fd.io/g/vpp-dev/message/11195 Mute This Topic: https://lists.fd.io/mt/28079125/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-