.. code-block:: console
- ./build/ip_reassembly [EAL options] -- -p PORTMASK [-q NQ] [--maxflows=FLOWS>] [--flowttl=TTL[(s|ms)]]
+ ./<build_dir>/examples/dpdk-ip_reassembly [EAL options] -- -p PORTMASK [-q NQ] [--maxflows=FLOWS>] [--flowttl=TTL[(s|ms)]]
where:
then they are considered as invalid and will be dropped.
Valid range is 1ms - 3600s. Default value: 1s.
-To run the example in linuxapp environment with 2 lcores (2,4) over 2 ports(0,2) with 1 RX queue per lcore:
+To run the example in linux environment with 2 lcores (2,4) over 2 ports(0,2) with 1 RX queue per lcore:
.. code-block:: console
- ./build/ip_reassembly -l 2,4 -n 3 -- -p 5
+ ./<build_dir>/examples/dpdk-ip_reassembly -l 2,4 -n 3 -- -p 5
EAL: coremask set to 14
EAL: Detected lcore 0 on socket 0
EAL: Detected lcore 1 on socket 1
IP_RSMBL: entering main loop on lcore 2
IP_RSMBL: -- lcoreid=2 portid=0
-To run the example in linuxapp environment with 1 lcore (4) over 2 ports(0,2) with 2 RX queues per lcore:
+To run the example in linux environment with 1 lcore (4) over 2 ports(0,2) with 2 RX queues per lcore:
.. code-block:: console
- ./build/ip_reassembly -l 4 -n 3 -- -p 5 -q 2
+ ./<build_dir>/examples/dpdk-ip_reassembly -l 4 -n 3 -- -p 5 -q 2
To test the application, flows should be set up in the flow generator that match the values in the
l3fwd_ipv4_route_array and/or l3fwd_ipv6_route_array table.
.. code-block:: c
struct l3fwd_ipv4_route l3fwd_ipv4_route_array[] = {
- {IPv4(100, 10, 0, 0), 16, 0},
- {IPv4(100, 20, 0, 0), 16, 1},
- {IPv4(100, 30, 0, 0), 16, 2},
- {IPv4(100, 40, 0, 0), 16, 3},
- {IPv4(100, 50, 0, 0), 16, 4},
- {IPv4(100, 60, 0, 0), 16, 5},
- {IPv4(100, 70, 0, 0), 16, 6},
- {IPv4(100, 80, 0, 0), 16, 7},
+ {RTE_IPV4(100, 10, 0, 0), 16, 0},
+ {RTE_IPV4(100, 20, 0, 0), 16, 1},
+ {RTE_IPV4(100, 30, 0, 0), 16, 2},
+ {RTE_IPV4(100, 40, 0, 0), 16, 3},
+ {RTE_IPV4(100, 50, 0, 0), 16, 4},
+ {RTE_IPV4(100, 60, 0, 0), 16, 5},
+ {RTE_IPV4(100, 70, 0, 0), 16, 6},
+ {RTE_IPV4(100, 80, 0, 0), 16, 7},
};
The default l3fwd_ipv6_route_array table is:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The RTE_LIBRTE_IP_FRAG_TBL_STAT controls statistics collection for the IP Fragment Table.
-This macro is disabled by default.
+This macro is disabled by default, but it can be enabled by modifying the appropriate line
+in ``config/rte_config.h``.
To make ip_reassembly print the statistics to the standard output,
the user must send either an USR1, INT or TERM signal to the process.
For all of these signals, the ip_reassembly process prints Fragment table statistics for each RX queue,