736 Commits

Author SHA1 Message Date
Thomas Monjalon
4cb63f009a bond: fix doxygen
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-07-03 21:11:46 +02:00
Thomas Monjalon
91873a6527 xen: fix build
There were 2 errors:

lib/librte_pmd_xenvirt/rte_xen_lib.c:409:2:
error: zero-length gnu_printf format string [-Werror=format-zero-length]

lib/librte_pmd_xenvirt/rte_xen_lib.c:424:2:
error: format '%p' expects argument of type 'void *', but argument 4 has
type 'uintptr_t' [-Werror=format=]

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-07-03 16:12:39 +02:00
Thomas Monjalon
e904b5746d version: 1.7.0-rc4
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-07-03 00:21:53 +02:00
Thomas Monjalon
cedfe35321 ixgbe/base: fix build with debug
The upgraded base driver, especially commit 9ba80bde4c, didn't compile if
CONFIG_RTE_LIBRTE_IXGBE_DEBUG_DRIVER is enabled.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2014-07-02 22:33:22 +02:00
Thomas Monjalon
187785f62e vmxnet3: fix build with debug
Functions for queue dump are not used and cause compilation error if
CONFIG_RTE_LIBRTE_VMXNET3_DEBUG_DRIVER is enabled.
Fixed by disabling them.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2014-07-02 22:33:13 +02:00
Thomas Monjalon
8c4e33562d virtio: fix build of debug dump
The commit 591a9d7985c1230 (add FILE argument to debug functions) didn't
compile if CONFIG_RTE_LIBRTE_VIRTIO_DEBUG_DUMP is enabled.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2014-07-02 22:32:43 +02:00
Thomas Monjalon
ae7a7cd162 pcap: fix build
The commit 83b41136934 (add unique name to devices) didn't compile if
CONFIG_RTE_LIBRTE_PMD_PCAP is enabled.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2014-07-02 22:32:34 +02:00
Thomas Monjalon
bcc733c478 ethdev: fix build of named allocation debug
The commit 83b41136934 (add unique name to devices) didn't compile if
CONFIG_RTE_LIBRTE_ETHDEV_DEBUG is enabled.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2014-07-02 22:32:26 +02:00
Thomas Monjalon
1656e23d08 ethdev: fix build of Tx rate limitation debug
The commit 8dbe82b0733 (Tx rate limitation) didn't compile if
CONFIG_RTE_LIBRTE_ETHDEV_DEBUG is enabled.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2014-07-02 22:32:18 +02:00
Thomas Monjalon
b3343b5c91 eal: fix build for bsd
When adding link bonding to EAL initialization (a155d430119),
an include was missing for BSD.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Tested-by: Zhaochen Zhan <zhaochen.zhan@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2014-07-02 22:31:42 +02:00
Helin Zhang
87060612fb i40e: add required steps in Tx queue management
Hardware specification changed recently which requires to set
or clear TX queue disable flags before actually enabling or
disabling a specific TX queue. 'QTX_HEAD' register needs to
be cleared before setting the QENA_REQ flag.

Signed-off-by: Helin Zhang <helin.zhang@intel.com>
Acked-by: Jijiang Liu <jijiang.liu@intel.com>
Acked-by: Jing Chen <jing.d.chen@intel.com>
Tested-by: Min Cao <min.cao@intel.com>
2014-07-02 10:50:02 +02:00
Helin Zhang
80c670fd6d i40e: use new function to clear hardware before PF reset
i40e_clear_hw() was provided recently in shared code (base driver)
to clear hardware, which can cover disabling all queues.
The code changes are to remove i40e_pf_disable_all_queues() and use
i40e_clear_hw() instead.

Signed-off-by: Helin Zhang <helin.zhang@intel.com>
Acked-by: Jijiang Liu <jijiang.liu@intel.com>
Acked-by: Jing Chen <jing.d.chen@intel.com>
Tested-by: Min Cao <min.cao@intel.com>
2014-07-02 10:49:48 +02:00
Helin Zhang
6de597c04f bond: fix build on 32-bit Oracle Linux 6.4
The compile error on 32 bits Oracle Linux 6.4 is as below.

Kernel: 2.6.39
GCC: 4.4.7 20120313

In file included from /usr/include/stdlib.h:320,
from i686-native-linuxapp-gcc/include/rte_mempool.h:63,
from i686-native-linuxapp-gcc/include/rte_mbuf.h:61,
from lib/librte_pmd_bond/rte_eth_bond_api.c:37:
/usr/include/sys/types.h:61: error: conflicting types for dev_t
/usr/include/linux/types.h:22: note: previous declaration of dev_t was here
/usr/include/sys/types.h:66: error: conflicting types for gid_t
/usr/include/linux/types.h:52: note: previous declaration of gid_t was here
/usr/include/sys/types.h:71: error: conflicting types for mode_t
/usr/include/linux/types.h:24: note: previous declaration of mode_t was here
/usr/include/sys/types.h:76: error: conflicting types for nlink_t
/usr/include/linux/types.h:25: note: previous declaration of nlink_t was here
/usr/include/sys/types.h:81: error: conflicting types for uid_t
/usr/include/linux/types.h:51: note: previous declaration of uid_t was here

Signed-off-by: Helin Zhang <helin.zhang@intel.com>
Acked-by: Cunming Liang <cunming.liang@intel.com>
2014-07-02 10:48:22 +02:00
Thomas Monjalon
545e47279d version: 1.7.0-rc3
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-07-02 00:15:57 +02:00
Aaro Koskinen
e0b7ca0c03 kni: fix build with kernel 3.16
SET_ETHTOOL_OPS is gone in 3.16, so modify drivers accordingly.

Signed-off-by: Aaro Koskinen <aaro.koskinen@nsn.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-07-01 16:25:36 +02:00
Aaro Koskinen
cacf4a0d10 kni: fix build with min/max Tx rate configuration of igbvf
This follows the mainline Linux kernel commit
ed616689a3d95eb6c9bdbb1ef74b0f50cbdf276a (Add support to configure SR-IOV
VF minimum and maximum Tx rate) by Sucheta Chakraborty, and enables to
build the driver against 3.16.

Signed-off-by: Aaro Koskinen <aaro.koskinen@nsn.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-07-01 16:25:35 +02:00
Hiroshi Shimamoto
9998f315d5 kni: fix build on RHEL 7
Compilation in RHEL7 is failed. This fixes the build issue.

RHEL7 has skb_set_hash, the kernel version is 3.10 though.
Don't define skb_set_hash for RHEL7.

Signed-off-by: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>
Reviewed-by: Hayato Momma <h-momma@ce.jp.nec.com>
Tested-by: Waterman Cao <waterman.cao@intel.com>
2014-07-01 16:25:35 +02:00
Declan Doherty
a155d43011 eal: support link bonding device initialization
Updating functionality in EAL to support adding link bonding
devices via –vdev option. Link bonding devices will be
initialized after all physical devices have been probed and
initialized.

Signed-off-by: Declan Doherty <declan.doherty@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2014-07-01 16:25:35 +02:00
Declan Doherty
83b4113693 ethdev: add unique name to devices
Adding support to rte_eth_dev_data structure to support unique
name identifier for ethdevs to support adding slave ethdevs
(specifically virtual devices which have no public unique
identifier) to a link bonding device. This changes the API
rte_eth_dev_allocate() to require a const char *name when
allocating a ethdev, which also verifies that the name is
unique and hasn’t been already used by an existed allocated
rte_eth_dev. Also contains updates to virtual pmd’s to now call
the API with a name parameter.

Signed-off-by: Declan Doherty <declan.doherty@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2014-07-01 16:25:35 +02:00
Declan Doherty
2efb58cbab bond: new link bonding library
Initial release with support for
 Mode 0 - Round Robin
 Mode 1 - Active Backup
 Mode 2 - Balance -> Supports 3 transmit polices (layer 2, layer 2+3, layer 3+4)
 Mode 3 - Broadcast

Signed-off-by: Declan Doherty <declan.doherty@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Reviewed-by: Robert Sanford <rsanford2@gmail.com>
2014-07-01 16:25:12 +02:00
Thomas Monjalon
6e81eb5af1 version: 1.7.0-rc2
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-06-27 03:13:11 +02:00
Aaron Campbell
b024956a23 eal: fix invalid memory read
Valgrind reports this issue:

==29880== Invalid read of size 1
==29880==    at 0x56FF9A5: cpu_socket_id (eal_lcore.c:101)
==29880==    by 0x56FFAE9: rte_eal_cpu_init (eal_lcore.c:168)
==29880==    by 0x56F944A: rte_eal_init (eal.c:975)

The problem is that endptr points to memory allocated underneath the DIR
handle, which has already been freed. So move the closedir() call lower.

Signed-off-by: Aaron Campbell <aaron@arbor.net>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-06-27 02:38:05 +02:00
Stephen Hemminger
6f41fe75e2 eal: deprecate rte_snprintf
The function rte_snprintf serves no useful purpose. It is the
same as snprintf() for all valid inputs. Deprecate it and
replace all uses in current code.

Leave the tests for the deprecated function in place.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-06-27 02:31:24 +02:00
Bruce Richardson
e8ed6c7817 eal: fix usage of printf-like functions
Mark the rte_log, cmdline_printf and rte_snprintf functions as
being printf-style functions. This causes compilation errors
due to mis-matched parameter types, so the parameter types are
fixed where appropriate.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-06-27 02:31:08 +02:00
Hiroshi Shimamoto
e957e2ca80 mem: fix build because of missing stdio.h for FILE
Since commit "add FILE argument to debug functions" (591a9d7985c1230),
application which includes rte_memory.h without stdio.h will be hit
compilation failure:

/path/to/include/rte_memory.h:146:30: error: unknown type name ‘FILE’
 void rte_dump_physmem_layout(FILE *f);

Signed-off-by: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>
Reviewed-by: Hayato Momma <h-momma@ce.jp.nec.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-06-27 02:22:01 +02:00
Stephen Hemminger
a130f53118 ethdev: add link state interrupt flag
Only some devices support the link state interrupt configuration option.
Link state control does not work in virtual drivers
(virtio, vmxnet3, igbvf, and ixgbevf). Instead of having the application
try and guess whether it will work or not provide a driver flag that
can be checked instead.

Note: if device driver doesn't support link state control, what
would happen previously is that the code would never detect link
transitions. This prevents that.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
[Thomas: rename flag]
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-06-27 02:21:50 +02:00
Thomas Monjalon
506964bf86 ethdev: read link state interrupt without link update service
It is now possible to read link status updated by interrupt without
having manual link_update() service provided by the PMD.
Indeed link_update() is useless in interrupt case. So check of this
function pointer must be done in the interrupt case only.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
2014-06-27 02:06:40 +02:00
Anatoly Burakov
4dc5d0ad3b ip_frag: custom memmove
Some implementations of memmove may make a copy of src before writing to
dst. We avoid that by explicitly writing from src to dst backwards.

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-06-26 22:51:30 +02:00
Anatoly Burakov
2505824261 ip_frag: fix order of key compare arguments
When using key compare function, it uses key length of the first
argument to determine how long should be the keys that are compared.
However, currently we are passing a key from the fragmentation table as
first argument. the problem with this is that this key is potentially
uninitialized (i.e. contains all zeroes, including key length). this
leads to a nasty bug of comparing only the key id's and not keys
themselves.

Of course, a safer way would be to do RTE_MAX between key lengths, but
since this compare is done per-packet, every cycle counts, so we just
use the key whose length is guaranteed to be correct because it comes
from an actual packet.

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-06-26 22:51:07 +02:00
Anatoly Burakov
148585ec29 ip_frag: fix debug macros
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-06-26 22:50:57 +02:00
Anatoly Burakov
ee4d98314b ip_frag: fix comment
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-06-26 22:50:49 +02:00
Anatoly Burakov
d451d46c69 ip_frag: replace hardcoded value with a macro
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-06-26 22:50:39 +02:00
Anatoly Burakov
4ae2a4f8cf ip_frag: remove unneeded rte prefixes
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-06-26 22:49:44 +02:00
Robert Sanford
b0489e7bca malloc: fix linear complexity
Problems with lib rte_malloc:
1. Rte_malloc searches a heap's entire free list looking for the best
   fit, resulting in linear complexity.
2. Heaps store free blocks in a singly-linked list, resulting in
   linear complexity when rte_free needs to remove an adjacent block.
3. The library inserts and removes free blocks with ad hoc, in-line
   code, rather than using linked-list functions or macros.
4. The library wastes potential small blocks of size 64 and 128 bytes
   (plus overhead of 64 bytes) as padding when reusing free blocks or
   resizing allocated blocks.

This patch addresses those problems as follows:
1. Replace single free list with a handful of free lists. Each free
   list contains blocks of a specified size range, for example:
     list[0]: (0   , 2^8]
     list[1]: (2^8 , 2^10]
     list[2]: (2^10, 2^12]
     list[3]: (2^12, 2^14]
     list[4]: (2^14, MAX_SIZE]

   When allocating a block, start at the first list that can contain
   a big enough block. Search subsequent lists, if necessary.
   Terminate the search as soon as we find a block that is big enough.
2. Use doubly-linked lists, so that we can remove free blocks in
   constant time.
3. Use BSD LIST macros, as defined in sys/queue.h and the QUEUE(3)
   man page.
4. Change code to utilize small blocks of data size 64 and 128, when
   splitting larger blocks.

Signed-off-by: Robert Sanford <rsanford2@gmail.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2014-06-26 13:06:10 +02:00
Cunming Liang
836853d3d4 app/testpmd: increase default burst size to 32
The vpmd RX don't accept burst size less than 32.
As vPMD is set =y by default, while default testpmd burst size is 16.
Which will cause RX nothing if not assign burst size correctly.

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>
2014-06-26 13:06:10 +02:00
Cunming Liang
359f106a69 ixgbe: prefer enabling olflags rather than not disabling
RTE_IXGBE_RX_OLFLAGS_ENABLE gives a hint whick keeping packet type
in RX ol_flags or not.
By default it is set to update ol_flags in RX mbuf header.
If unset it, will gain addtional performance, but will lose packet
type information.

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>
2014-06-26 13:04:18 +02:00
Cunming Liang
040e9a01a0 ixgbe: fix build with IEEE1588 enabled
Vectorized Rx cannot be enabled if RTE_LIBRTE_IEEE1588=y.
So variable dev is not used in this case.

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>
2014-06-26 12:37:07 +02:00
Cunming Liang
b23dad37f0 ixgbe: fix build of standard Rx with vectorized Tx
The vpmd RX routine won't be used if RTE_LIBRTE_IXGBE_RX_ALLOW_BULK_ALLOC
is not defined or its condition check fail.
The case RTE_LIBRTE_IXGBE_RX_ALLOC_BULK_ALLOC=n and RTE_IXGBE_INC_VECTOR=y
may exist when choose to use standard RX and optimized TX
(ixgbe_xmit_pkts_vec/ixgbe_xmit_pkts_simple).

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>
2014-06-26 12:18:51 +02:00
Pablo de Lara
6f77410723 ixgbe: rework fix of media type for bypass device
This was previously solved in commit 60a70d4e042350ca
(fix link status interrupt of bypass device),
but this alternative fix reverts the previous one and solves the
same issue without modifying the base driver (also named "shared code").

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2014-06-26 07:16:53 +02:00
Chen Jing D(Mark)
445d8db425 i40e/base: ignore warning
There is a warning in base driver (shared code) on 32-bits RHEL6.3/6.5:
	lib/librte_pmd_i40e/i40e/i40e_lan_hmc.c:917:
	error: integer constant is too large for ‘long’ type

As we don't modify base driver, this warning must be ignored.

Signed-off-by: Chen Jing D(Mark) <jing.d.chen@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2014-06-26 07:16:16 +02:00
Thomas Monjalon
2c8e687c54 explicit shared code naming as base driver
Intel PMDs are built on top of the base drivers which are provided by Intel
and shouldn't be modified to allow easy batch upgrade from Intel.

The base driver is a "shared code" between many projects. But in DPDK,
the "base driver" naming makes more sense.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
2014-06-26 07:15:46 +02:00
Helin Zhang
1b69d9b8ee i40e: ignore failure when updating default macvlan filter
For NVM4.2.2 or after, the firmware has the correct configurations
and load the macvlan filter as expected. It is not needed to
Update the default macvlan filter which cannot be removed at
all during initialization.

Signed-off-by: Helin Zhang <helin.zhang@intel.com>
Acked-by: Jing Chen <jing.d.chen@intel.com>
Acked-by: Cunming Liang <cunming.liang@intel.com>
2014-06-24 13:06:01 +02:00
Helin Zhang
1d61728822 i40e: disable double vlan by default
Double vlan should be specifically disabled by default during
port initialization which is expected.

Signed-off-by: Helin Zhang <helin.zhang@intel.com>
Acked-by: Jing Chen <jing.d.chen@intel.com>
Acked-by: Cunming Liang <cunming.liang@intel.com>
2014-06-24 13:05:21 +02:00
Helin Zhang
3b63d9346c i40e: fix updating hash lookup table of PF RSS
The bit shifting were written wrongly in '0x1 < j',
the correct one should be '0x1 << j'.

Signed-off-by: Helin Zhang <helin.zhang@intel.com>
Acked-by: Jing Chen <jing.d.chen@intel.com>
Acked-by: Cunming Liang <cunming.liang@intel.com>
2014-06-24 13:02:35 +02:00
Helin Zhang
d025265b7e i40e: fix RSS hash copy
It wrongly gets the RSS hash result from the RX descriptor which
has been modified for receiving new packet. The fix is to get the
RSS hash result from the buffer which saves the RX descriptor.

Signed-off-by: Helin Zhang <helin.zhang@intel.com>
Acked-by: Jing Chen <jing.d.chen@intel.com>
Acked-by: Cunming Liang <cunming.liang@intel.com>
2014-06-24 13:01:20 +02:00
Helin Zhang
35ccc1b384 i40evf: fix link status
Fix a bug of copying wrong size of link information in the
function i40evf_get_link_status().

Signed-off-by: Helin Zhang <helin.zhang@intel.com>
Acked-by: Jing Chen <jing.d.chen@intel.com>
Acked-by: Cunming Liang <cunming.liang@intel.com>
2014-06-24 13:00:02 +02:00
Helin Zhang
8e18decc37 i40evf: remove useless function
i40evf_dev_atomic_read_link_status() was defined but not used.
To avoid possible warnings by some compilers, it needs to
delete the whole function.

Signed-off-by: Helin Zhang <helin.zhang@intel.com>
Acked-by: Jing Chen <jing.d.chen@intel.com>
Acked-by: Cunming Liang <cunming.liang@intel.com>
2014-06-24 12:15:03 +02:00
Helin Zhang
f35fb0cfef kni: fix build on Oracle Linux 6.4 and RHEL 6.5
The compile errors are copied as follows. The fixes came from
Linux drivers of ixgbe-3.21.2 and igb-5.1.2 with modifications.
The idea is to use self-defined functions no matter they have
already been defined somewhere or not.

* Oracle Linux6.4
lib/librte_eal/linuxapp/kni/ethtool/ixgbe/kcompat.h:3111:
error: redefinition of 'ether_addr_equal'
include/linux/etherdevice.h:180: note: previous definition
of 'ether_addr_equal' was here

* RHEL6.5
lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h:3597:
error: redefinition of 'mmd_eee_cap_to_ethtool_sup_t'
include/linux/mdio.h:387: note: previous definition of
'mmd_eee_cap_to_ethtool_sup_t' was here
lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h:3625:
error: redefinition of 'mmd_eee_adv_to_ethtool_adv_t'
include/linux/mdio.h:415: note: previous definition of
'mmd_eee_adv_to_ethtool_adv_t' was here
lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h:3653:
error: redefinition of 'ethtool_adv_to_mmd_eee_adv_t'
include/linux/mdio.h:443: note: previous definition of
'ethtool_adv_to_mmd_eee_adv_t' was here

Signed-off-by: Helin Zhang <helin.zhang@intel.com>
Acked-by: Cunming Liang <cunming.liang@intel.com>
Tested-by: Waterman Cao <waterman.cao@intel.com>
2014-06-23 22:52:32 +02:00
Chen Jing D(Mark)
66dda4bd4b i40e: fix build with icc
Cast constant to fix the ICC compilation error
introduced in commit 2b12431b5369ca06d43ea
	(add vlan stripping and insertion to VF)

Signed-off-by: Chen Jing D(Mark) <jing.d.chen@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-06-23 17:08:08 +02:00
Bruce Richardson
5058a6e3f9 distributor: split get_pkt into request and poll
Take the existing get_pkt API and split out the parts for requesting a new
packet from the part to poll for arrival of a new packet. These individual
functions can then be used independently of the get function, which still acts
as before.

The split functions for request and poll will allow a worker to pull
packets from multiple distributors, or to act as multiple workers with a
single distributor if needed for better performance.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2014-06-20 17:41:18 +02:00