NAME
odp_generator – generate or terminate IPv4 traffic
SYNOPSIS
odp_generator OPTIONS
DESCRIPTION
This ODP example application generates or terminate IPv4
traffic and outputs statistic prints at 20 s interval time
Work mode:
- generate UDP packets (‘u’ mode): IPv4 UDP packets are
generated with configured payload size, IP addresses, UDP ports, etc.
e.g.
odp_generator -I -m u --srcmac --dstmac --srcip --dstip
- receive IPv4 packets (‘r’ mode): IPv4 packets are received at
highest rate.
e.g.
odp_generator -I -m r
- generate/receive ICMP (ping) packets (‘p’ mode): requires two cores
e.g.
odp_generator -I -m p --srcmac --dstmac --srcip --dstip --cpumask
Mandatory OPTIONS:
-I, --interface Eth interfaces (comma-separated, no spaces)
-m, --mode work mode: generate udp(u), receive(r), generate/receive icmp(p)
-a, --srcmac (‘udp’, ‘icmp’) Source MAC address
-b, --dstmac (‘udp’, ‘icmp’) Destination MAC address
-s, --srcip (‘udp’, ‘icmp’) Source IP address
-d, --dstip (‘udp’, ‘icmp’) Destination IP address
Optional OPTIONS
-h, --help Display help and exit.
-e, --srcport (‘udp’) Source UDP port
-f, --dstport (‘udp’) Destination UDP port
-p, --packetsize (‘udp’, ‘icmp’) Payload length of generated packets
-t, --timeout (‘icmp’) Wait ICMP reply timeout seconds
-i, --interval (‘udp’, ‘icmp’) Wait interval ms between sending each
packet burst
default is 1000 ms. 0 for flood mode
-w, --workers Specify number of workers to be assigned to application
default is to assign all. On ‘icmp’ mode, number of
workers is forced to 2.
-c, --cpumask Specify number of workers and distribution on cores as
hexadecimal value
-n, --count (‘udp’, ‘icmp’) The number of packets to be generated
-x, --udp_tx_burst (‘udp’) Size of UDP TX burst
default is 16
-r, --rx_burst (‘receive’) Size of RX burst
default is 32
-y, --csum Use platform checksum support if available
default is disabled
-z, --sched (‘receive’) Use scheduler API to receive packets instead
of direct mode API.
default is direct mode API
On 5 June 2018 at 13:40, Bogdan Pricope wrote:
> Start from 'help' option of odp_generator:
>
> # ./example/generator/odp_generator -h
>
> Usage: odp_generator OPTIONS
> E.g. odp_generator -I eth1 -r
>
> OpenDataPlane example application.
>
> Work mode:
> 1.send ipv4 udp packets
> odp_generator -I eth0 --srcmac fe:0f:97:c9:e0:44 --dstmac
> 32:cb:9b:27:2f:1a --srcip 192.168.0.1 --dstip 192.168.0.2 -m u
> 2.receive ipv4 packets
> odp_generator -I eth0 -m r
> 3.work likes ping
> odp_generator -I eth0 --srcmac fe:0f:97:c9:e0:44 --dstmac
> 32:cb:9b:27:2f:1a --srcip 192.168.0.1 --dstip 192.168.0.2 --cpumask
> 0xc -m p
>
> Mandatory OPTIONS:
> -I, --interface Eth interfaces (comma-separated, no spaces)
> -a, --srcmac src mac address
> -b, --dstmac dst mac address
> -s, --srcip src ip address
> -d, --dstip dst ip address
> -m, --mode work mode: send udp(u), receive(r), send icmp(p)
>
> Optional OPTIONS
> -h, --help Display help and exit.
> -e, --srcport src udp port
> -f, --dstport dst udp port
> -p, --packetsize payload length of the packets
> -t, --timeout only for ping mode, wait ICMP reply timeout seconds
> -i, --interval wait interval ms between sending each packet
> default is 1000ms. 0 for flood mode
> -w, --workers specify number of workers need to be assigned to application
> default is to assign all
> -n, --count the number of packets to be send
> -c, --cpumask to set on cores
> -x, --udp_tx_burst size of UDP TX burst
> -r, --rx_burst size of RX burst
> -y, --csum use platform checksum support if available
> default is disabled
> -z, --sched use scheduler API to receive packets
> default is direct mode API
>
> It needs some update.
>
> On 5 June 2018 at 12:00, Maxim Uvarov wrote:
>> shouldn't it be man page for odp library which we somehow can generate from
>> doxygen?
>>
>> Where do you package odp examples? I think they have to be somewhere under
>> /usr/share/bin/odp-examples and just referenced as example apps. (Like QT
>> examples do). Rather then be "tools".
>>
>>
>> Maxim.
>>
>> On 5 June 2018 at 10:46, Dmitry Eremin-Solenikov <
>> dmitry.ereminsoleni...@linaro.org> wrote:
>>
>>> Hello,
>>>
>>> To finish ODP packaging work I have to provide manpages for ODP tools
>>> that are going to be packages. I've written manpages for odp_hello and
>>> odp_crypto, however
>>> I'm asking for the help in writing manpages for l2fwd/l3fwd/generator.
>>> Could you please help me by sketching clean descriptions of what these
>>> tools do, that I can put into manpage?
>>>
>>> --
>>> With best wishes
>>> Dmitry
>>>