Re: [vpp-dev] PPPoE plugin documentation/support

2018-11-11 Thread Ni, Hongjun
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.

2018-11-11 Thread Vijayabhaskar Katamreddy via Lists.Fd.Io
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

2018-11-11 Thread Dave Barach via Lists.Fd.Io
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

2018-11-11 Thread Prashant Upadhyaya
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

2018-11-11 Thread Dave Barach via Lists.Fd.Io
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]
-=-=-=-=-=-=-=-=-=-=-=-