On Mon, Aug 25, 2014 at 03:44:53PM +0100, [email protected] 
wrote:
> From: Venkatesh Vivekanandan <[email protected]>
> 
> setup:
> 
> - connect two ixgbe/igb cards to x86 box which has atleast 4 cpus.
> - Lets say we have eth0 & eth1 in one card and eth2 & eth3 in other card
> - eth0 and eth2 are connected back to back using cross cable(1g) or
>   fibre(10g)
> - Similarly connect eth1 and eth3
> 
> test:
> 
> - say eth2 and eth3 are given to dpdk on which odp-dpdk l2fwd app is running.
>   cmd is ./example/l2fwd/odp_l2fwd -i 0,1 -m 0
> - ensure eth0 and eth1 are brought up and put in promiscuous mode.
> - start odp_generator in rx mode in eth1. cmd is
>   ./example/generator/odp_generator -I eth1 -m r
> - start odp_generator in tx mode in eth0. cmd is
>   ./example/generator/odp_generator -I eth0 --srcmac a0:36:9f:13:89:08
>   --dstmac a0:36:9f:13:89:c8 -m u --dstip 201.0.0.0
> - replace srcmac(eth0) and dstmac(eth2) with actual mac addresses on the port.
> - choose suitable dstip, so that packets are distributed to different
>   cpus on the machine.
> 
> Signed-off-by: Venkatesh Vivekanandan <[email protected]>
> ---
>  example/generator/odp_generator.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/example/generator/odp_generator.c 
> b/example/generator/odp_generator.c
> index b10372e..d202a8a 100644
> --- a/example/generator/odp_generator.c
> +++ b/example/generator/odp_generator.c
> @@ -171,7 +171,7 @@ static int scan_mac(char *in, odp_ethaddr_t *des)
>  static void pack_udp_pkt(odp_buffer_t obuf)
>  {
>       char *buf;
> -     int max;
> +     int max, i = 0;
>       odp_packet_t pkt;
>       odp_ethhdr_t *eth;
>       odp_ipv4hdr_t *ip;
> @@ -195,6 +195,8 @@ static void pack_udp_pkt(odp_buffer_t obuf)
>       /* ip */
>       odp_packet_set_l3_offset(pkt, ODP_ETHHDR_LEN);
>       ip = (odp_ipv4hdr_t *)(buf + ODP_ETHHDR_LEN);
> +     i = ((i+1) % 12);
> +     args->appl.dstip = args->appl.dstip + i;
>       ip->dst_addr = odp_cpu_to_be_32(args->appl.dstip);
>       ip->src_addr = odp_cpu_to_be_32(args->appl.srcip);
>       ip->ver_ihl = ODP_IPV4 << 4 | ODP_IPV4HDR_IHL_MIN;

The patch description didn't help me understand what the patch was
intended to achieve, but it looks broken. i will always be 1 (was it
supposed to be static?) and args->appl.dstip is global, so for every
pack_udp_pkt call it gets incremented by 1..

-- 
Stuart.


_______________________________________________
lng-odp mailing list
[email protected]
http://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to