#
7869536f |
| 09-Sep-2014 |
Bruce Richardson <bruce.richardson@intel.com> |
mbuf: flatten struct vlan_macip
The vlan_macip structure combined a vlan tag id with l2 and l3 headers lengths for tracking offloads. However, this structure was only used as a unit by the e1000 and
mbuf: flatten struct vlan_macip
The vlan_macip structure combined a vlan tag id with l2 and l3 headers lengths for tracking offloads. However, this structure was only used as a unit by the e1000 and ixgbe drivers, not generally.
This patch removes the structure from the mbuf header and places the fields into the mbuf structure directly at the required point, without any net effect on the structure layout. This allows us to treat the vlan tags and header length fields as separate for future mbuf changes. The drivers which were written to use the combined structure still do so, using a driver-local definition of it.
Reduce perf regression caused by splitting vlan_macip field. This is done by providing a single uint16_t value to allow writing/clearing the l2 and l3 lengths together. There is still a small perf hit to the slow path TX due to the reads from vlan_tci and l2/l3 lengths being separated. (<5% in my tests with testpmd with no extra params). Unfortunately, this cannot be eliminated, without restoring the vlan tags and l2/l3 lengths as a combined 32-bit field. This would prevent us from ever looking to move those fields about and is an artificial tie that applies only for performance in igb and ixgbe drivers. Therefore, this patch keeps the vlan_tci field separate from the lengths as the best solution going forward.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Olivier Matz <olivier.matz@6wind.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
show more ...
|
#
ea672a8b |
| 28-Aug-2014 |
Olivier Matz <olivier.matz@6wind.com> |
mbuf: remove the rte_pktmbuf structure
The rte_pktmbuf structure was initially included in the rte_mbuf structure. This was needed when there was 2 types of mbuf (ctrl and packet). As the control mb
mbuf: remove the rte_pktmbuf structure
The rte_pktmbuf structure was initially included in the rte_mbuf structure. This was needed when there was 2 types of mbuf (ctrl and packet). As the control mbuf has been removed, we can merge the rte_pktmbuf into the rte_mbuf structure.
Advantages of doing this: - the access to mbuf fields is easier (ex: m->data instead of m->pkt.data) - make the structure more consistent: for instance, there was no reason to have the ol_flags field in rte_mbuf - it will allow a deeper reorganization of the rte_mbuf structure in the next commits, allowing to gain several bytes in it
Signed-off-by: Olivier Matz <olivier.matz@6wind.com> [Bruce: updated for latest code and new example apps] Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
show more ...
|
#
9aaccf1a |
| 28-Aug-2014 |
Olivier Matz <olivier.matz@6wind.com> |
mbuf: remove rte_ctrlmbuf
The initial role of rte_ctrlmbuf is to carry generic messages (data pointer + data length) but it's not used by the DPDK or it applications. Keeping it implies: - loosing
mbuf: remove rte_ctrlmbuf
The initial role of rte_ctrlmbuf is to carry generic messages (data pointer + data length) but it's not used by the DPDK or it applications. Keeping it implies: - loosing 1 byte in the rte_mbuf structure - having some dead code rte_mbuf.[ch]
This patch removes this feature. Thanks to it, it is now possible to simplify the rte_mbuf structure by merging the rte_pktmbuf structure in it. This is done in next commit.
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
* Updated patch to HEAD. * Modified patch to retain the old function names for ctrl mbufs as macros. This helps with app compatibility, and allows the concept of a control mbuf to be reintroduced via a single-bit flag in a future change. * Updated the packet framework ip_pipeline example application to work following this change.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Olivier Matz <olivier.matz@6wind.com>
show more ...
|
#
8fd8bebc |
| 01-Sep-2014 |
Adrien Mazarguil <adrien.mazarguil@6wind.com> |
app/testpmd: fix crash in txonly mode and with tx_first
This crash was believed fixed by commit 5886ae07d211e4b5e49806dd183812, but the actual issue is that the core ID provided to rte_lcore_to_sock
app/testpmd: fix crash in txonly mode and with tx_first
This crash was believed fixed by commit 5886ae07d211e4b5e49806dd183812, but the actual issue is that the core ID provided to rte_lcore_to_socket_id() is wrong. It must be looked up in fwd_lcores_cpuids[].
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Signed-off-by: David Marchand <david.marchand@6wind.com>
show more ...
|
#
5f4ec54f |
| 14-Aug-2014 |
Chen Jing D(Mark) <jing.d.chen@intel.com> |
testpmd: queue start and stop
The API provides functions to start/stop specific RX/TX queues (see 0748be2). This change adds command in testpmd to start/stop specific RX/TX queues.
Signed-off-by: C
testpmd: queue start and stop
The API provides functions to start/stop specific RX/TX queues (see 0748be2). This change adds command in testpmd to start/stop specific RX/TX queues.
Signed-off-by: Chen Jing D(Mark) <jing.d.chen@intel.com> Reviewed-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Reviewed-by: Changchun Ouyang <changchun.ouyang@intel.com> Reviewed-by: Huawei Xie <huawei.xie@intel.com>
show more ...
|
#
2950a769 |
| 25-Jun-2014 |
Declan Doherty <declan.doherty@intel.com> |
bond: testpmd support
- Includes the ability to create new bonded devices. - Add /remove bonding slave devices. - Interogate bonded device stats/configuration - Change bonding modes and select b
bond: testpmd support
- Includes the ability to create new bonded devices. - Add /remove bonding slave devices. - Interogate bonded device stats/configuration - Change bonding modes and select balance transmit polices
Signed-off-by: Declan Doherty <declan.doherty@intel.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
show more ...
|
#
e9378bbc |
| 26-Jun-2014 |
Cunming Liang <cunming.liang@intel.com> |
app/testpmd: tune default parameters
We usually use testpmd fwd to demonstrate IO forwarding throughput. For best throughput, it has to assign special parameters to testpmd. To make it easier to run
app/testpmd: tune default parameters
We usually use testpmd fwd to demonstrate IO forwarding throughput. For best throughput, it has to assign special parameters to testpmd. To make it easier to run, now set it as defalut value. Such parameters are MBUF Mempool Cache and RX/TX threshold registers. MBCACHE: 250 RX threshold registers: pthresh=8 hthresh=8 wthresh=0 TX threshold registers: pthresh=32 hthresh=0 wthresh=0
Signed-off-by: Cunming Liang <cunming.liang@intel.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Yong Liu <yong.liu@intel.com> Tested-by: Zhaochen Zhan <zhaochen.zhan@intel.com>
show more ...
|
#
8a387fa8 |
| 05-Jun-2014 |
Helin Zhang <helin.zhang@intel.com> |
ethdev: more RSS flags
- i40e RSS flags have been added (and enlarged to 64-bit) - A new configuration of 'uint8_t rss_key_len' has been added in 'struct rte_eth_rss_conf' to support different len
ethdev: more RSS flags
- i40e RSS flags have been added (and enlarged to 64-bit) - A new configuration of 'uint8_t rss_key_len' has been added in 'struct rte_eth_rss_conf' to support different length of RSS keys. - In each PMD, only the supported flags are masked.
Signed-off-by: Helin Zhang <helin.zhang@intel.com> Signed-off-by: Jing Chen <jing.d.chen@intel.com> Acked-by: Cunming Liang <cunming.liang@intel.com> Acked-by: Jijiang Liu <jijiang.liu@intel.com> Acked-by: Jingjing Wu <jingjing.wu@intel.com> Acked-by: Heqing Zhu <heqing.zhu@intel.com> Tested-by: Waterman Cao <waterman.cao@intel.com>
show more ...
|
#
70bdb186 |
| 12-Jun-2014 |
Ivan Boule <ivan.boule@6wind.com> |
ethdev: add Rx error counters for missed, badcrc and badlen packets
Split input error stats to have a better understanding of why packets have been dropped. Keep ierrors field untouched for backward
ethdev: add Rx error counters for missed, badcrc and badlen packets
Split input error stats to have a better understanding of why packets have been dropped. Keep ierrors field untouched for backward compatibility.
Signed-off-by: Ivan Boule <ivan.boule@6wind.com> Signed-off-by: David Marchand <david.marchand@6wind.com> Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
show more ...
|
#
cfae07fd |
| 28-May-2014 |
Ouyang Changchun <changchun.ouyang@intel.com> |
app/testpmd: add commands for link up and down
This patch adds commands to test the functionality of setting link up and down.
Signed-off-by: Ouyang Changchun <changchun.ouyang@intel.com> Tested-by
app/testpmd: add commands for link up and down
This patch adds commands to test the functionality of setting link up and down.
Signed-off-by: Ouyang Changchun <changchun.ouyang@intel.com> Tested-by: Waterman Cao <waterman.cao@intel.com> Acked by: Ivan Boule <ivan.boule@6wind.com>
show more ...
|
#
3031749c |
| 03-Jun-2014 |
Bruce Richardson <bruce.richardson@intel.com> |
remove trailing whitespaces
This commit removes trailing whitespace from lines in files. Almost all files are affected, as the BSD license copyright header had trailing whitespace on 4 lines in it [
remove trailing whitespaces
This commit removes trailing whitespace from lines in files. Almost all files are affected, as the BSD license copyright header had trailing whitespace on 4 lines in it [hence the number of files reporting 8 lines changed in the diffstat].
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Neil Horman <nhorman@tuxdriver.com> [Thomas: remove spaces before tabs in libs] [Thomas: remove more trailing spaces in non-C files] Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
show more ...
|
#
e5ffdd14 |
| 21-Apr-2014 |
Neil Horman <nhorman@tuxdriver.com> |
ethdev: remove rte_pmd_init_all function
Now that we've converted all the pmds in dpdk to use the driver registration macro, rte_pmd_init_all has become empty. As theres no reason to keep it around
ethdev: remove rte_pmd_init_all function
Now that we've converted all the pmds in dpdk to use the driver registration macro, rte_pmd_init_all has become empty. As theres no reason to keep it around anymore, just remove it and fix up all the eample callers.
Signed-off-by: Neil Horman <nhorman@tuxdriver.com> Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
show more ...
|
#
591a9d79 |
| 02-May-2014 |
Stephen Hemminger <stephen@networkplumber.org> |
add FILE argument to debug functions
The DPDK dump functions are useful for remote debugging of an applications. But when application runs as a daemon, stdout is typically routed to /dev/null.
Inst
add FILE argument to debug functions
The DPDK dump functions are useful for remote debugging of an applications. But when application runs as a daemon, stdout is typically routed to /dev/null.
Instead change all these functions to take a stdio FILE * handle instead. An application can then use open_memstream() to capture the output.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> [Thomas: fix quota_watermark example] Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
show more ...
|
#
bc202406 |
| 30-Apr-2014 |
David Marchand <david.marchand@6wind.com> |
app/testpmd: add --disable-link-check option
When starting/stopping ports, a link status check on all available ports is done. This can be annoying when cables are not plugged at the time. Default b
app/testpmd: add --disable-link-check option
When starting/stopping ports, a link status check on all available ports is done. This can be annoying when cables are not plugged at the time. Default behavior is untouched.
Signed-off-by: David Marchand <david.marchand@6wind.com> Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
show more ...
|
#
d8c89163 |
| 30-Apr-2014 |
Zijie Pan <zijie.pan@6wind.com> |
app/testpmd: show mac address at initialization
Display port number and MAC address at start up. It is useful when configuring a packet generator.
Signed-off-by: Zijie Pan <zijie.pan@6wind.com> Ack
app/testpmd: show mac address at initialization
Display port number and MAC address at start up. It is useful when configuring a packet generator.
Signed-off-by: Zijie Pan <zijie.pan@6wind.com> Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
show more ...
|
#
168dfa61 |
| 30-Apr-2014 |
Ivan Boule <ivan.boule@6wind.com> |
app/testpmd: add engine that replies to ARP and ICMP echo requests
Add a new specific packet processing engine in the "testpmd" application that only replies to ARP requests and to ICMP echo request
app/testpmd: add engine that replies to ARP and ICMP echo requests
Add a new specific packet processing engine in the "testpmd" application that only replies to ARP requests and to ICMP echo requests. For this purpose, a new "icmpecho" forwarding mode is provided that can be dynamically selected with the following testpmd command:
set fwd icmpecho
before starting the receipt of packets on the selected ports.
Then, the "icmpecho" engine performs the following actions on all received packets:
- replies to a received ARP request by sending back on the RX port a ARP reply with a "sender hardware address" field containing the MAC address of the RX port,
- replies to a ICMP echo request by sending back on the RX port a ICMP echo reply, swapping the IP source and the IP destination address in the IP header,
- otherwise, simply drops the received packet.
When replying to a received packet that was encapsulated into a VLAN tunnel, the reply is sent back with the same VLAN identifier. By default, the testpmd configures VLAN header stripping RX option on each port. This option is not managed by the icmpecho engine which won't detect packets that were encapsulated into a VLAN. To address this issue, the VLAN header stripping option must be previously switched off with the following testpmd command:
vlan set strip off
When the "verbose" mode has been set with the testpmd command "set verbose 1", the "icmpecho" engine displays informations about each received packet.
The "icmpecho" forwarding engine can also be used to simply check port connectivity at the hardware level (check that cables are well-plugged) and at the software level (receipt of VLAN packets, for instance).
Signed-off-by: Ivan Boule <ivan.boule@6wind.com> Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
show more ...
|
#
e9e23a61 |
| 03-Apr-2014 |
Cyril Chemparathy <cchemparathy@tilera.com> |
app/testpmd: add flowgen forwarding engine
This commit adds a multi-flow traffic generator forwarding engine. In effect, this forwarding mode functions very similar to the txonly mode, with the dif
app/testpmd: add flowgen forwarding engine
This commit adds a multi-flow traffic generator forwarding engine. In effect, this forwarding mode functions very similar to the txonly mode, with the difference that it generates multiple L4 flows.
Signed-off-by: Cyril Chemparathy <cchemparathy@tilera.com> Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
show more ...
|
#
d47388f1 |
| 03-Apr-2014 |
Cyril Chemparathy <cchemparathy@tilera.com> |
app/testpmd: add macswap forwarding engine
This commit adds a new forwarding mode, in which the source and destination MAC addresses of packets are swapped before forwarding according to the port-to
app/testpmd: add macswap forwarding engine
This commit adds a new forwarding mode, in which the source and destination MAC addresses of packets are swapped before forwarding according to the port-topology in effect. This has been designed for operation primarily with --port-topology=loopback.
Signed-off-by: Cyril Chemparathy <cchemparathy@tilera.com> Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
show more ...
|
#
ca7feb22 |
| 03-Apr-2014 |
Cyril Chemparathy <cchemparathy@tilera.com> |
app/testpmd: add auto-start option in interactive mode
This patch adds support for a command-line argument --auto-start (-a). When running in interactive mode, this allows us to start traffic witho
app/testpmd: add auto-start option in interactive mode
This patch adds support for a command-line argument --auto-start (-a). When running in interactive mode, this allows us to start traffic without user intervention before dropping to the prompt.
Signed-off-by: Cyril Chemparathy <cchemparathy@tilera.com> Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
show more ...
|
#
5706de65 |
| 12-May-2014 |
Julien Cretin <julien.cretin@trust-in-soft.com> |
app/testpmd: fix incompatible sign for printf arguments
The socket_id member of struct rte_port is an unsigned int while the d conversion specifier of printf expects an int.
The addr_bytes member o
app/testpmd: fix incompatible sign for printf arguments
The socket_id member of struct rte_port is an unsigned int while the d conversion specifier of printf expects an int.
The addr_bytes member of struct ether_addr is an array of uint8_t while the X conversion specifier of printf expects an unsigned int. Values of type uint8_t are promoted to type int when used in the ellipsis notation of a function.
These minor bugs were found using TrustInSoft Analyzer.
Signed-off-by: Julien Cretin <julien.cretin@trust-in-soft.com> Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
show more ...
|
#
5886ae07 |
| 30-Apr-2014 |
Adrien Mazarguil <adrien.mazarguil@6wind.com> |
app/testpmd: fix crash of tx_first mode with numa
When NUMA is enabled, the mbuf pool pointer of per-core fwd_lcores structure is not set, causing a crash when accessing to mbp for txonly burst.
In
app/testpmd: fix crash of tx_first mode with numa
When NUMA is enabled, the mbuf pool pointer of per-core fwd_lcores structure is not set, causing a crash when accessing to mbp for txonly burst.
Initialize fwd_lcore after allocating NUMA memory pools.
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
show more ...
|
#
20a0286f |
| 15-Apr-2014 |
Liu Xiaofeng <xiaofeng.liu@6wind.com> |
app/testpmd: check socket id validity
Now socket id is from device's numa_node, if it is invalid, just set it to 0 as default to avoid crash which will be caused by the reference to port_per_socket[
app/testpmd: check socket id validity
Now socket id is from device's numa_node, if it is invalid, just set it to 0 as default to avoid crash which will be caused by the reference to port_per_socket[socket_id].
Also one warning is displayed to user that port-numa-config and ring-numa-config parameters should be used along with --numa for NUMA mode.
A check for NUMA_NO_CONFIG was also missing from init_fwd_stream().
Signed-off-by: Liu Xiaofeng <xiaofeng.liu@6wind.com> Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
show more ...
|
#
0d56cb81 |
| 14-Nov-2013 |
Thomas Monjalon <thomas.monjalon@6wind.com> |
app/testpmd: fix build without librte_cmdline
Some features are not available if LIBRTE_CMDLINE is disabled: - interactive mode - ethernet address parsing
Note: ethernet address parsing could be re
app/testpmd: fix build without librte_cmdline
Some features are not available if LIBRTE_CMDLINE is disabled: - interactive mode - ethernet address parsing
Note: ethernet address parsing could be rewritten without cmdline dependency.
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com> Acked-by: Olivier Matz <olivier.matz@6wind.com>
show more ...
|
#
e659b6b4 |
| 27-Jun-2013 |
Ivan Boule <ivan.boule@6wind.com> |
ethdev: add pause frame counters for em/igb/ixgbe
Add into the `rte_eth_stats` data structure 4 (64-bit) counters of XOFF/XON pause frames received and sent on a given port.
Update em, igb, and ixg
ethdev: add pause frame counters for em/igb/ixgbe
Add into the `rte_eth_stats` data structure 4 (64-bit) counters of XOFF/XON pause frames received and sent on a given port.
Update em, igb, and ixgbe drivers to return the value of the 4 XOFF/XON counters through the `rte_eth_stats_get` function exported by the DPDK API.
Display the value of the 4 XOFF/XON counters in the `testpmd` application.
Signed-off-by: Ivan Boule <ivan.boule@6wind.com> Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
show more ...
|
#
3ce690d3 |
| 18-Feb-2014 |
Bruce Richardson <bruce.richardson@intel.com> |
app/testpmd: disable RSS when in SRIOV
Hardware does not support RSS in SRIOV setups.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Signed-off-by: David Marchand <david.marchand@6win
app/testpmd: disable RSS when in SRIOV
Hardware does not support RSS in SRIOV setups.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Signed-off-by: David Marchand <david.marchand@6wind.com>
show more ...
|