[dpdk-users] [dpdk-dev] capture packets on VM

2016-07-20 Thread Raja Jayapal
Hi Reshma/All,

Please find the "show config fwd" output below.

?testpmd> show config fwd
Warning! Cannot handle an odd number of ports with the current port topology. 
Configuration must be changed to have an even number of ports, or relaunch 
application with --port-topology=chained
io packet forwarding - ports=3 - cores=1 - streams=3 - NUMA support disabled, 
MP over anonymous pages disabled
Logical Core 1 (socket 0) forwards packets on 3 streams:
? RX P=0/Q=0 (socket 0) -> TX P=2/Q=0 (socket 0) peer=02:00:00:00:00:02
? RX P=1/Q=0 (socket 0) -> TX P=0/Q=0 (socket 0) peer=02:00:00:00:00:00
? RX P=2/Q=0 (socket 0) -> TX P=0/Q=0 (socket 0) peer=02:00:00:00:00:00

As described above, i have modified the topology to have even number of ports.

testpmd> show config fwd
io packet forwarding - ports=4 - cores=1 - streams=4 - NUMA support disabled, 
MP over anonymous pages disabled
Logical Core 1 (socket 0) forwards packets on 4 streams:
? RX P=0/Q=0 (socket 0) -> TX P=1/Q=0 (socket 0) peer=02:00:00:00:00:01
? RX P=1/Q=0 (socket 0) -> TX P=0/Q=0 (socket 0) peer=02:00:00:00:00:00
? RX P=2/Q=0 (socket 0) -> TX P=3/Q=0 (socket 0) peer=02:00:00:00:00:03
? RX P=3/Q=0 (socket 0) -> TX P=2/Q=0 (socket 0) peer=02:00:00:00:00:02

I could confirm that the packet is getting forwarded as per the config and 
setting the IP and MAC in packet generator does not take effect.
In testpmd app, whatever the MAC/IP is configured on traffic generator, the 
packets are forwaded in adjacent ports.

If i want to forward the packet based on IP, will it be achieved by running 
l2fwd or l3fwd ?

Kindly suggest.

Thanks,
Raja


-"Pattan, Reshma"  wrote: -
To: Raja Jayapal 
From: "Pattan, Reshma" 
Date: 07/19/2016 07:12PM
Cc: "users at dpdk.org" , "De Lara Guarch, Pablo" 

Subject: RE: [dpdk-dev] capture packets on VM


 Hi Raja,
 ?
 Since this is a usability question this should be discussed under users at 
dpdk.org mailing list. Hence I removed  dev at dpdk.org. 
 Ya actually packets received from port 0 should be transmitted on to port1 and 
packets received from port1 should go to port2.
 ?
 Can you paste o/p of ?show config fwd and also interpret if 
?traffic on your board is flowing as per existing flow rules.
 ?
 Ex:
 testpmd> show? config fwd
 io packet forwarding - ports=2 - cores=1 - streams=2 - NUMA support disabled, 
MP over anonymous pages disabled
 Logical Core 5 (socket 0) forwards packets on 2 streams:
 ? RX P=0/Q=0 (socket 0) -> TX P=1/Q=0 (socket 0) peer=02:00:00:00:00:01 ??  
this means, Streams received on port 0 will be sent on to port1 . 
 ??RX P=1/Q=0 (socket 0) -> TX P=0/Q=0 (socket 0) peer=02:00:00:00:00:00 ? this 
means, Streams received on port1 will be sent onto port0.
 ?
 Thanks,
 Reshma
 ?



 From: Raja Jayapal [mailto:raja.jayapal at tcs.com] 
 Sent: Tuesday, July 19, 2016 12:38 PM
 To: Pattan, Reshma 
 Cc: dev at dpdk.org
 Subject: RE: [dpdk-dev] capture packets on VM
   ?
 Hi Reshma, 

 Thanks for your information.
 I have been trying to run the testpmd app and would like to get some idea on 
the packet flow in testpmd.

 br0 -vnet0- (port0)VM NIC

 br1--vnet1--(port1)VM NIC

 br2--vnet2--(port2)VM NIC

 br0 IP and MAC:
 fe:54:00:0d:af:af - 192.168.100.10
 br1 IP and MAC:
 fe:54:00:4e:5b:df - 192.168.100.20
 br2 IP and MAC:
 fe:54:00:93:78:6d - 192.168.100.30

 Ran testpmd application on VM and sending packets from Host using packeth.

 Using PackETH generator, sent traffic from br0 destined to br1(modified the 
source / destination MAC and IP in packeth tool), but i could see that the 
packets are received on port0 and transmitted on port2.

 Sending packets from br0 to br1:

 ./testpmd -c 3 -n 4 -- -i --total-num-mbufs=3000
 testpmd> show port stats all
 ?  NIC statistics for port 0? 
 ? RX-packets: 4? RX-missed: 0? RX-bytes:? 0
 ? RX-errors: 0
 ? RX-nombuf:? 0 
 ? TX-packets: 0? TX-errors: 0? TX-bytes:? 0
 ? 
 ?  NIC statistics for port 1? 
 ? RX-packets: 0? RX-missed: 0? RX-bytes:? 0
 ? RX-errors: 0
 ? RX-nombuf:? 0 
 ? TX-packets: 0? TX-errors: 0? TX-bytes:? 0
 ? 
 ?  NIC statistics for port 2? 
 ? RX-packets: 0? RX-missed: 0? RX-bytes:? 0
 ? RX-errors: 0
 ? RX-nombuf:? 0 
 ? TX-packets: 4? TX-errors: 0? TX-bytes:? 0
 ? 
 testpmd> 

 Second time, sent traffic from br1 to br2, but the packets are received on 
port2 and transmitted on port0.

 Sending packets from br1 to br2:

 testpmd> show port stats all
 ?  NIC statistics for port 0? 

[dpdk-users] [dpdk-dev] capture packets on VM

2016-07-20 Thread Pattan, Reshma
Hi Raja,

You can use l3fwd  to forward packets to specific ports based on destination ip.
L3fwd uses LPM lookup to do destination based forwarding. As described in below 
 paragraph from the given link,
you need to add routing entry for the destinations ips of your interest and 
compile the code.

Place where routing entry should go is in below strut from file 
dpdk/examples/l3fwd/ l3fwd_lpm.c
static struct ipv4_l3fwd_lpm_route ipv4_l3fwd_lpm_route_array[] = {
{IPv4(1, 1, 1, 0), 24, 0},
{IPv4(2, 1, 1, 0), 24, 1},
{IPv4(3, 1, 1, 0), 24, 2},
{IPv4(4, 1, 1, 0), 24, 3},
{IPv4(5, 1, 1, 0), 24, 4},
{IPv4(6, 1, 1, 0), 24, 5},
{IPv4(7, 1, 1, 0), 24, 6},
{IPv4(8, 1, 1, 0), 24, 7},
};

http://dpdk.org/doc/guides-16.04/sample_app_ug/l3_forward.html
"The LPM lookup key is represented by the Destination IP Address field read 
from the input packet.
The ID of the output interface for the input packet is the next hop returned by 
the LPM lookup.
The set of LPM rules used by the application is statically configured and 
loaded into the LPM object at initialization time."

@Pablo: Do you know how MAC based forwarding can be done using L2?

Thanks,
Reshma


From: Raja Jayapal [mailto:raja.jaya...@tcs.com]
Sent: Wednesday, July 20, 2016 7:10 AM
To: Pattan, Reshma 
Cc: users at dpdk.org; De Lara Guarch, Pablo 
Subject: RE: [dpdk-dev] capture packets on VM

Hi Reshma/All,

Please find the "show config fwd" output below.

 testpmd> show config fwd
Warning! Cannot handle an odd number of ports with the current port topology. 
Configuration must be changed to have an even number of ports, or relaunch 
application with --port-topology=chained
io packet forwarding - ports=3 - cores=1 - streams=3 - NUMA support disabled, 
MP over anonymous pages disabled
Logical Core 1 (socket 0) forwards packets on 3 streams:
  RX P=0/Q=0 (socket 0) -> TX P=2/Q=0 (socket 0) peer=02:00:00:00:00:02
  RX P=1/Q=0 (socket 0) -> TX P=0/Q=0 (socket 0) peer=02:00:00:00:00:00
  RX P=2/Q=0 (socket 0) -> TX P=0/Q=0 (socket 0) peer=02:00:00:00:00:00

As described above, i have modified the topology to have even number of ports.

testpmd> show config fwd
io packet forwarding - ports=4 - cores=1 - streams=4 - NUMA support disabled, 
MP over anonymous pages disabled
Logical Core 1 (socket 0) forwards packets on 4 streams:
  RX P=0/Q=0 (socket 0) -> TX P=1/Q=0 (socket 0) peer=02:00:00:00:00:01
  RX P=1/Q=0 (socket 0) -> TX P=0/Q=0 (socket 0) peer=02:00:00:00:00:00
  RX P=2/Q=0 (socket 0) -> TX P=3/Q=0 (socket 0) peer=02:00:00:00:00:03
  RX P=3/Q=0 (socket 0) -> TX P=2/Q=0 (socket 0) peer=02:00:00:00:00:02

I could confirm that the packet is getting forwarded as per the config and 
setting the IP and MAC in packet generator does not take effect.
In testpmd app, whatever the MAC/IP is configured on traffic generator, the 
packets are forwaded in adjacent ports.

If i want to forward the packet based on IP, will it be achieved by running 
l2fwd or l3fwd ?

Kindly suggest.

Thanks,
Raja


-"Pattan, Reshma" mailto:reshma.pattan at 
intel.com>> wrote: -
To: Raja Jayapal mailto:raja.jayapal at tcs.com>>
From: "Pattan, Reshma" mailto:reshma.pat...@intel.com>>
Date: 07/19/2016 07:12PM
Cc: "users at dpdk.org" mailto:users at dpdk.org>>, "De Lara Guarch, Pablo" 
mailto:pablo.de.lara.guarch at intel.com>>
Subject: RE: [dpdk-dev] capture packets on VM
Hi Raja,

Since this is a usability question this should be discussed under users at 
dpdk.org mailing list. Hence I removed dev at 
dpdk.org.
Ya actually packets received from port 0 should be transmitted on to port1 and 
packets received from port1 should go to port2.

Can you paste o/p of  "show config fwd" and also interpret if  traffic on your 
board is flowing as per existing flow rules.

Ex:
testpmd> show  config fwd
io packet forwarding - ports=2 - cores=1 - streams=2 - NUMA support disabled, 
MP over anonymous pages disabled
Logical Core 5 (socket 0) forwards packets on 2 streams:
  RX P=0/Q=0 (socket 0) -> TX P=1/Q=0 (socket 0) peer=02:00:00:00:00:01  ==> 
this means, Streams received on port 0 will be sent on to port1 .
  RX P=1/Q=0 (socket 0) -> TX P=0/Q=0 (socket 0) peer=02:00:00:00:00:00 ==> 
this means, Streams received on port1 will be sent onto port0.

Thanks,
Reshma

From: Raja Jayapal [mailto:raja.jaya...@tcs.com]
Sent: Tuesday, July 19, 2016 12:38 PM
To: Pattan, Reshma mailto:reshma.pattan at 
intel.com>>
Cc: dev at dpdk.org
Subject: RE: [dpdk-dev] capture packets on VM

Hi Reshma,

Thanks for your information.
I have been trying to run the testpmd app and would like to get some idea on 
the packet flow in testpmd.

br0 -vnet0- (port0)VM NIC

br1--vnet1--(port1)VM NIC

br2--vnet2--(port2)VM NIC

br0 IP and MAC:
fe:54:00:0d:af:af - 192.168.100.10
br1 IP and MAC:
fe:54:00:4e:5b:df - 192.168.100.20
br2 IP and MAC: