Emmanuel Roullit [Sun, 15 Jan 2017 19:51:24 +0000 (20:51 +0100)]
net/qede: fix function declaration
clang reports this error message:
error: this function declaration is not a prototype
[-Werror,-Wstrict-prototypes]
Fixes:
5cdd769a26ec ("qede: add L2 support")
Signed-off-by: Emmanuel Roullit <emmanuel.roullit@gmail.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Emmanuel Roullit [Sun, 15 Jan 2017 19:50:37 +0000 (20:50 +0100)]
net/cxgbe: fix parenthesis on bitwise operation
clang reports the following error:
error: logical not is only applied to the left hand side of this bitwise
operator. [-Werror,-Wlogical-not-parentheses]
Fixes:
92c8a63223e5 ("cxgbe: add device configuration and Rx support")
Signed-off-by: Emmanuel Roullit <emmanuel.roullit@gmail.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Wei Zhao [Fri, 13 Jan 2017 08:13:12 +0000 (16:13 +0800)]
net/ixgbe: flush all the filter list
This patch adds a function to flush all the filter list
filter on a port.
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Wei Dai <wei.dai@intel.com>
Wei Zhao [Fri, 13 Jan 2017 08:13:11 +0000 (16:13 +0800)]
net/ixgbe: destroy consistent filter
This patch adds a function to destroy the flow filter.
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Wei Dai <wei.dai@intel.com>
Wei Zhao [Fri, 13 Jan 2017 08:13:10 +0000 (16:13 +0800)]
net/ixgbe: create consistent filter
This patch adds a function to create the flow directory filter.
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Wei Dai <wei.dai@intel.com>
Wei Zhao [Fri, 13 Jan 2017 08:13:09 +0000 (16:13 +0800)]
net/ixgbe: parse flow director filter
check if the rule is a flow director rule, and get the flow director info.
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Wei Dai <wei.dai@intel.com>
Wei Zhao [Fri, 13 Jan 2017 08:13:08 +0000 (16:13 +0800)]
net/ixgbe: parse L2 tunnel filter
check if the rule is a L2 tunnel rule, and get the L2 tunnel info.
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Wei Dai <wei.dai@intel.com>
Wei Zhao [Fri, 13 Jan 2017 08:13:07 +0000 (16:13 +0800)]
net/ixgbe: parse TCP SYN filter
check if the rule is a TCP SYN rule, and get the SYN info.
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Wei Dai <wei.dai@intel.com>
Wei Zhao [Fri, 13 Jan 2017 08:13:06 +0000 (16:13 +0800)]
net/ixgbe: parse ethertype filter
check if the rule is a ethertype rule, and get the ethertype info.
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Wei Dai <wei.dai@intel.com>
Wei Zhao [Fri, 13 Jan 2017 08:13:05 +0000 (16:13 +0800)]
net/ixgbe: parse n-tuple filter
Add rule validate function and check if the rule is a n-tuple rule,
and get the n-tuple info.
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Wei Dai <wei.dai@intel.com>
Wei Zhao [Fri, 13 Jan 2017 08:13:04 +0000 (16:13 +0800)]
net/ixgbe: flush all the filters
Add support for flush all the filters in SW.
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Wei Dai <wei.dai@intel.com>
Wei Zhao [Fri, 13 Jan 2017 08:13:03 +0000 (16:13 +0800)]
net/ixgbe: store and restore L2 tunnel configuration
Add support for store and restore L2 tunnel filter in SW.
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Wei Dai <wei.dai@intel.com>
Wei Zhao [Fri, 13 Jan 2017 08:13:02 +0000 (16:13 +0800)]
net/ixgbe: restore L2 tunnel filter
Add support for restoring L2 tunnel filter in SW.
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Wei Dai <wei.dai@intel.com>
Wei Zhao [Fri, 13 Jan 2017 08:13:01 +0000 (16:13 +0800)]
net/ixgbe: restore flow director filter
Add support for storing flow director filter in SW.
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Wei Dai <wei.dai@intel.com>
Wei Zhao [Fri, 13 Jan 2017 08:13:00 +0000 (16:13 +0800)]
net/ixgbe: restore TCP SYN filter
Add support for restoring TCP SYN filter in SW.
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Wei Dai <wei.dai@intel.com>
Wei Zhao [Fri, 13 Jan 2017 08:12:59 +0000 (16:12 +0800)]
net/ixgbe: restore ether type filter
Add support for restoring ether type filter in SW.
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Wei Dai <wei.dai@intel.com>
Wei Zhao [Fri, 13 Jan 2017 08:12:58 +0000 (16:12 +0800)]
net/ixgbe: restore n-tuple filter
Add support for restoring n-tuple filter in SW.
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Wei Dai <wei.dai@intel.com>
Wei Zhao [Fri, 13 Jan 2017 08:12:57 +0000 (16:12 +0800)]
net/ixgbe: store L2 tunnel filter
Add support for storing L2 tunnel filter in SW.
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Wei Dai <wei.dai@intel.com>
Wei Zhao [Fri, 13 Jan 2017 08:12:56 +0000 (16:12 +0800)]
net/ixgbe: store flow director filter
Add support for storing flow director filter in SW.
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Wei Dai <wei.dai@intel.com>
Wei Zhao [Fri, 13 Jan 2017 08:12:55 +0000 (16:12 +0800)]
net/ixgbe: store TCP SYN filter
Add support for storing TCP SYN filter in SW.
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Wei Dai <wei.dai@intel.com>
Olivier Matz [Thu, 12 Jan 2017 13:04:56 +0000 (14:04 +0100)]
net/nfp: fix VLAN offload flags check
Fix typo when checking that no VLAN offload flags are passed at port
initialization.
By the way, also fix a typo in the log.
Fixes:
d4a27a3b092a ("nfp: add basic features")
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Alejandro Lucero <alejandro.lucero@netronome.com>
Wei Dai [Thu, 12 Jan 2017 14:53:31 +0000 (22:53 +0800)]
net/ixgbe/base: update shared code version to 2017.01.05
Update version of shared code to 2017-01-05 in README.
Signed-off-by: Wei Dai <wei.dai@intel.com>
Wei Dai [Thu, 12 Jan 2017 14:53:30 +0000 (22:53 +0800)]
net/ixgbe/base: add debug traces
Add some traces in the reset_hw logic and semaphore acquisition logic
to help debugging.
Signed-off-by: Wei Dai <wei.dai@intel.com>
Wei Dai [Thu, 12 Jan 2017 14:53:29 +0000 (22:53 +0800)]
net/ixgbe/base: use clause 22 MDIO functions for Marvell PHYs
Set the MDIO (Management Data Input/Output Interface) read/write
function pointers for Marvell PHYs on some X550 platforms to use
the clause 22 functions. Marvell PHYs do not support clause 45.
Signed-off-by: Wei Dai <wei.dai@intel.com>
Wei Dai [Thu, 12 Jan 2017 14:53:28 +0000 (22:53 +0800)]
net/ixgbe/base: support Marvell 1000BASE-T PHYs
Add initial support for Marvell 1000BASE-T PHYs on some X550 platforms.
Firmware owns the link config for Marvell PHYs on these platforms,
software should not touch it.
Also these platforms are not capable of speeds lower than 1Gb.
Signed-off-by: Wei Dai <wei.dai@intel.com>
Wei Dai [Thu, 12 Jan 2017 14:53:27 +0000 (22:53 +0800)]
net/ixgbe/base: configure speeds for KR/KX backplane
Ensure that the advertised link speeds are configured for KR/KX
backplane on some new platform.
Without this patch the link remains at 1G when resuming from low power
after being downshifted by LPLU (Low Power Link Up).
This patch ensures that the advertised speeds are not changed for
2.5G configurations.
Signed-off-by: Wei Dai <wei.dai@intel.com>
Wei Dai [Thu, 12 Jan 2017 14:53:26 +0000 (22:53 +0800)]
net/ixgbe/base: remove a compiler warning
Remove warning for "mac->led_link_act = i" where led_link_act is u8.
Signed-off-by: Wei Dai <wei.dai@intel.com>
Wei Dai [Thu, 12 Jan 2017 14:53:25 +0000 (22:53 +0800)]
net/ixgbe/base: support XFI backplane for X550
Add initial support for a XFI backplane interface on some new platforms.
The XFI backplane requires a custom tuned link. Hardware/Firmware owns
the link config for XF backplane and software must not interfere.
Signed-off-by: Wei Dai <wei.dai@intel.com>
Bernard Iremonger [Wed, 11 Jan 2017 17:24:59 +0000 (17:24 +0000)]
net/ixgbe: fix API parameter checking
Add checks to rte_pmd_ixgbe_* API's to ensure that the port
is an ixgbe port.
Fixes:
49e248223e9f ("net/ixgbe: add API for VF management")
Signed-off-by: Bernard Iremonger <bernard.iremonger@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
John Daley [Wed, 11 Jan 2017 03:42:12 +0000 (19:42 -0800)]
net/enic: remove unnecessary function parameter attributes
Remove __rte_unused attributes in function declaration when
the parameters really are used.
Fixes:
dfbd6a9cb504 ("net/enic: extend flow director support for 1300 series")
Signed-off-by: John Daley <johndale@cisco.com>
John Daley [Wed, 11 Jan 2017 03:42:11 +0000 (19:42 -0800)]
net/enic: use new Rx checksum flags
Use the new L3 and L4 ..CKSUM_GOOD and ..CKSUM_UNKNOWN flags to
distinguish good checksums from unknown ones.
Signed-off-by: John Daley <johndale@cisco.com>
Michał Mirosław [Wed, 11 Jan 2017 17:13:49 +0000 (18:13 +0100)]
net/i40e: improve message grep-ability
Join message lines for easier grepping.
PRIxXX are left glued to strings as they are in other parts of the file.
Signed-off-by: Michał Mirosław <michal.miroslaw@atendesoftware.pl>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Michał Mirosław [Tue, 13 Dec 2016 01:08:19 +0000 (02:08 +0100)]
net/i40e: return errno when interrupt setup fails
Signed-off-by: Michał Mirosław <michal.miroslaw@atendesoftware.pl>
Reviewed-by: Jingjing Wu <jingjing.wu@intel.com>
John Daley [Mon, 9 Jan 2017 23:04:28 +0000 (15:04 -0800)]
net/enic: support TSO
The enic TSO implementation requires that the length of the Eth/IP/TCP
headers be passed to the NIC. Other than that, it's just a matter of
setting the mss and offload mode on a per packet basis.
In TSO mode, IP and TCP checksums are offloaded even if not requested
with mb->ol_flags.
Signed-off-by: John Daley <johndale@cisco.com>
Wenzhuo Lu [Tue, 10 Jan 2017 02:19:11 +0000 (10:19 +0800)]
net/ixgbe: fix VMDq function name
The function name ixgbe_vmdq_mode_check is not right.
This function checks if Virtualization Technology is
enabled. It's for both VMDq and IOV.
Others may be misled by the current name.
Fixes:
fe3a45fd4104 ("ixgbe: add VMDq support")
Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
Yong Wang [Mon, 9 Jan 2017 13:48:52 +0000 (08:48 -0500)]
net/i40e: remove redundant statement and braces
In function "reassemble_packets()", the statement "end = secondlast;"
is redundant since there is another assignment "start = end = NULL;"
3 lines below. BTW, I removed the redundant braces in the conditional
statement "if (end->data_len > rxq->crc_len)".
Signed-off-by: Yong Wang <wang.yong19@zte.com.cn>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Chenghu Yao [Mon, 9 Jan 2017 03:31:04 +0000 (11:31 +0800)]
net/i40e: fix segment number in reassemble process
When freeing up last mbuf, start->nb_segs should be decremented
by one. See also ixgbe process.
Fixes:
0e0da28cd888 ("i40e: add vector scatter Rx")
Signed-off-by: Chenghu Yao <yao.chenghu@zte.com.cn>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Timmons C. Player [Thu, 5 Jan 2017 14:33:35 +0000 (09:33 -0500)]
net/af_packet: fix fd use after free
When using the same file descriptor for both rx and tx, the
eth_dev_stop function would close the same fd twice. This
change prevents that from happening.
Fixes:
364e08f2bbc0 ("af_packet: add PMD for AF_PACKET-based virtual devices")
Signed-off-by: Timmons C. Player <timmons.player@spirent.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Ajit Khaparde [Fri, 6 Jan 2017 19:55:17 +0000 (13:55 -0600)]
net/bnxt: support new PCI IDs
Add support for PCI IDs which was removed as a part of
commit
0e7bd0b2d6a5 ("net/bnxt: remove support for few devices")
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Ilya Maximets [Wed, 19 Oct 2016 14:07:17 +0000 (17:07 +0300)]
net/ixgbe: allow bulk alloc for the max size desc ring
The only reason why bulk alloc disabled for the rings with
more than (IXGBE_MAX_RING_DESC - RTE_PMD_IXGBE_RX_MAX_BURST)
descriptors is the possible out-of-bound access to the dma
memory. But it's the artificial limit and can be easily
avoided by allocating of RTE_PMD_IXGBE_RX_MAX_BURST more
descriptors in memory. This will not interfere the HW and,
as soon as all rings' memory zeroized, Rx functions will
work correctly.
This change allows to use vectorized Rx functions with
4096 descriptors in Rx ring which is important to achieve
zero packet drop rate in high-load installations.
Signed-off-by: Ilya Maximets <i.maximets@samsung.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Ilya Maximets [Wed, 19 Oct 2016 14:07:16 +0000 (17:07 +0300)]
net/i40e: allow bulk alloc for the max size desc ring
The only reason why bulk alloc disabled for the rings with
more than (I40E_MAX_RING_DESC - RTE_PMD_I40E_RX_MAX_BURST)
descriptors is the possible out-of-bound access to the dma
memory. But it's the artificial limit and can be easily
avoided by allocating of RTE_PMD_I40E_RX_MAX_BURST more
descriptors in memory. This will not interfere the HW and,
as soon as all rings' memory zeroized, Rx functions will
work correctly.
This change allows to use vectorized Rx functions with
4096 descriptors in Rx ring which is important to achieve
zero packet drop rate in high-load installations.
Signed-off-by: Ilya Maximets <i.maximets@samsung.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Yongseok Koh [Fri, 6 Jan 2017 00:49:31 +0000 (16:49 -0800)]
net/mlx5: support ConnectX-5 devices
Add PCI device ID for ConnectX-5 and enable multi-packet send for PF and VF
along with changing documentation and release note.
Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Rasesh Mody [Fri, 6 Jan 2017 08:16:49 +0000 (00:16 -0800)]
net/qede: change few log levels
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Fri, 6 Jan 2017 08:16:48 +0000 (00:16 -0800)]
net/qede: fix per queue statisitics
If value of number of rxq/txq is different than
RTE_ETHDEV_QUEUE_STAT_CNTRS, limit per queue
stats/xstats to minimum of the two.
Fixes:
7634c5f91569 ("net/qede: add queue statistics")
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Harish Patil [Fri, 6 Jan 2017 08:16:47 +0000 (00:16 -0800)]
net/qede: fix PF fastpath status block index
Allocate double the number of fastpath status block index
since the PF RX/TX queues are not sharing the status block.
This is an interim solution till other parts of the code
is modified to handle the same.
Fixes:
f1e4b6c0acee ("net/qede: fix status block index for VF queues")
Signed-off-by: Harish Patil <harish.patil@qlogic.com>
Harish Patil [Fri, 6 Jan 2017 08:16:46 +0000 (00:16 -0800)]
net/qede: fix minimum buffer size and scatter Rx check
- Fix minimum RX buffer size to 1024B
- Force enable scatter/gather mode if given RX buf size is lesser than MTU
- Adjust RX buffer size to cache-line size with overhead included
Fixes:
bec0228816c0 ("net/qede: support scatter gather")
Fixes:
2ea6f76aff40 ("qede: add core driver")
Signed-off-by: Harish Patil <harish.patil@qlogic.com>
Harish Patil [Fri, 6 Jan 2017 08:16:45 +0000 (00:16 -0800)]
net/qede: fix scatter-gather
- Make qede_process_sg_pkts() inline and add unlikely check
- Fix mbuf segment chaining logic in qede_process_sg_pkts()
- Change qede_encode_sg_bd() to return total segments required
- Fix first TX buffer descriptor's length
- Replace repetitive code using a macro
Fixes:
bec0228816c0 ("net/qede: support scatter gather")
Signed-off-by: Harish Patil <harish.patil@qlogic.com>
Beilei Xing [Fri, 6 Jan 2017 05:27:19 +0000 (13:27 +0800)]
net/i40e: flush tunnel filters
This patch adds i40e_flow_flush_tunnel_filter
function to flush all tunnel filters, including
filters in SW and HW.
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Beilei Xing [Fri, 6 Jan 2017 05:27:18 +0000 (13:27 +0800)]
net/i40e: flush ethertype filters
This patch adds i40e_flow_flush_ethertype_filter
function to flush all ethertype filters, including
filters in SW and HW.
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Beilei Xing [Fri, 6 Jan 2017 05:27:17 +0000 (13:27 +0800)]
net/i40e: add flow flush function
This patch adds i40e_flow_flush function to flush all
filters for users. And flow director flush function
is involved first.
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Beilei Xing [Fri, 6 Jan 2017 05:27:16 +0000 (13:27 +0800)]
net/i40e: destroy flow directory filter
This patch supports destroying a flow directory filter
for users.
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Beilei Xing [Fri, 6 Jan 2017 05:27:15 +0000 (13:27 +0800)]
net/i40e: destroy tunnel filter
This patch adds i40e_flow_destroy_tunnel_filter
function to destroy a tunnel filter for users.
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Beilei Xing [Fri, 6 Jan 2017 05:27:14 +0000 (13:27 +0800)]
net/i40e: destroy ethertype filter
This patch adds i40e_flow_destroy_ethertype_filter
function to destroy a ethertype filter for users.
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Beilei Xing [Fri, 6 Jan 2017 05:27:13 +0000 (13:27 +0800)]
net/i40e: add flow destroy function
This patch adds i40e_flow_destroy function to destroy
a flow for users.
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Beilei Xing [Fri, 6 Jan 2017 05:27:12 +0000 (13:27 +0800)]
net/i40e: add flow create function
This patch adds i40e_flow_create function to create a
rule. It will check if a flow matches ethertype filter
or flow director filter or tunnel filter, if the flow
matches some kind of filter, then set the filter to HW.
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Beilei Xing [Fri, 6 Jan 2017 05:27:11 +0000 (13:27 +0800)]
net/i40e: parse tunnel filter
This patch adds i40e_flow_parse_tunnel_filter to check
if a rule is a tunnel rule according to items of the
flow pattern, and the function also gets the tunnel info.
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Beilei Xing [Fri, 6 Jan 2017 05:27:10 +0000 (13:27 +0800)]
net/i40e: parse flow director filter
This patch adds i40e_flow_parse_fdir_filter to check
if a rule is a flow director rule according to the
flow pattern, and the function also gets the flow
director info.
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Beilei Xing [Fri, 6 Jan 2017 05:27:09 +0000 (13:27 +0800)]
net/i40e: add flow validate function
This patch adds i40e_flow_validation function to check if
a flow is valid according to the flow pattern.
i40e_flow_parse_ethertype_filter is added first, it also
gets the ethertype info.
i40e_flow.c is added to handle all generic filter events.
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Beilei Xing [Fri, 6 Jan 2017 05:27:08 +0000 (13:27 +0800)]
net/i40e: restore flow director filter
Add support of restoring flow director filter.
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Beilei Xing [Fri, 6 Jan 2017 05:27:07 +0000 (13:27 +0800)]
net/i40e: restore tunnel filter
Add support of restoring tunnel filter.
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Beilei Xing [Fri, 6 Jan 2017 05:27:06 +0000 (13:27 +0800)]
net/i40e: restore ethertype filter
Add support of restoring ethertype filter in case filter
dropped accidentally, as all filters need to be added and
removed by user obviously for generic filter API.
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Beilei Xing [Fri, 6 Jan 2017 05:27:05 +0000 (13:27 +0800)]
net/i40e: store flow director filter
Currently there's no flow director filter stored in SW. This
patch stores flow director filters in SW with cuckoo hash,
also adds protection if a flow director filter has been added.
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Beilei Xing [Fri, 6 Jan 2017 05:27:04 +0000 (13:27 +0800)]
net/i40e: store tunnel filter
Currently there's no tunnel filter stored in SW.
This patch stores tunnel filter in SW with cuckoo
hash, also adds protection if a tunnel filter has
been added.
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Beilei Xing [Fri, 6 Jan 2017 05:27:03 +0000 (13:27 +0800)]
net/i40e: store ethertype filter
Currently there's no ethertype filter stored in SW.
This patch stores ethertype filter with cuckoo hash
in SW, also adds protection if an ethertype filter
has been added.
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Shahaf Shuler [Mon, 26 Dec 2016 15:28:36 +0000 (17:28 +0200)]
net/mlx5: fix multi segment packet send
Dseg pointer is not initialized when the first segment is inlined
causing a segmentation fault in such situation.
Fixes:
2a66cf378954 ("net/mlx5: support inline send")
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Nélio Laranjeiro [Fri, 9 Dec 2016 13:27:58 +0000 (14:27 +0100)]
net/mlx5: fix Tx doorbell
Too much data is uselessly written to the Tx doorbell, which since v16.11
may also cause Tx queues to behave erratically and crash applications.
This regression was seen on VF devices when the BlueFlame buffer size is
zero (txq->bf_buf_size) due to the following change:
- txq->bf_offset ^= txq->bf_buf_size;
+ txq->bf_offset ^= (1 << txq->bf_buf_size);
Fixes:
1d88ba171942 ("net/mlx5: refactor Tx data path")
Fixes:
d5793daefec8 ("net/mlx5: reduce memory overhead for BF handling")
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Nélio Laranjeiro [Thu, 24 Nov 2016 16:03:36 +0000 (17:03 +0100)]
net/mlx5: remove inefficient prefetching
Prefetching completion queue entries is inefficient because too few CPU
cycles are spent before their use, which results into cache misses anyway.
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Nélio Laranjeiro [Thu, 24 Nov 2016 16:03:35 +0000 (17:03 +0100)]
net/mlx5: optimize copy of Ethernet header
Use fewer instructions to copy the first two bytes of Ethernet headers to
work queue elements.
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Nélio Laranjeiro [Thu, 24 Nov 2016 16:03:34 +0000 (17:03 +0100)]
net/mlx5: move static prototype
Gather function prototypes at the beginning of the file.
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Nélio Laranjeiro [Thu, 24 Nov 2016 16:03:33 +0000 (17:03 +0100)]
net/mlx5: fix missing inline attributes
These functions must be forced inline for better performance.
Fixes:
99c12dcca65d ("net/mlx5: handle Rx CQE compression")
Fixes:
1d88ba171942 ("net/mlx5: refactor Tx data path")
Fixes:
67fa62bc672d ("mlx5: support checksum offload")
CC: stable@dpdk.org
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Nélio Laranjeiro [Thu, 24 Nov 2016 16:03:32 +0000 (17:03 +0100)]
net/mlx5: use vector types to speed up processing
Let compiler automatically use the vector capabilities of the target
machine to optimize instructions.
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Nélio Laranjeiro [Thu, 24 Nov 2016 16:03:31 +0000 (17:03 +0100)]
net/mlx5: use work queue buffer as a raw buffer
Define a single work queue element type that encompasses them all. It
includes control, Ethernet segment and raw data all grouped in a single
place.
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Nélio Laranjeiro [Thu, 24 Nov 2016 16:03:30 +0000 (17:03 +0100)]
net/mlx5: prepare Tx vectorization
Prepare the code to write the Work Queue Element with vectorized
instructions.
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Signed-off-by: Elad Persiko <eladpe@mellanox.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Rasesh Mody [Thu, 5 Jan 2017 07:04:08 +0000 (23:04 -0800)]
net/qede: update PMD version to 2.0.0.1
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Thu, 5 Jan 2017 07:04:07 +0000 (23:04 -0800)]
net/qede/base: dcbx changes for base driver
This patch includes changes for DCBX like:
- Return empty parameters for oper-params query when negotiation is not
complete
- Use the ieee specific mask value for reading the ethtype value in the
ieee dcbx mode
- Endian-ness conversion is not needed for priority<->TC field, as the
data is already being read/written by ecore in the bigendian way
- While writing the ets config, base driver incorrectly merges the input
values with the operational values. The values should be either set
or unset
- CEE selection field must be set regardless CEE/IEEE mode
- Fail the dcbx query for VF interfaces
- Semantic changes
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Thu, 5 Jan 2017 07:04:06 +0000 (23:04 -0800)]
net/qede/base: refactor some code bits
Bits of code refactoring in ecore_hw_bar_size(), ecore_get_hw_info()
and ecore_init_cmd_*.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Thu, 5 Jan 2017 07:04:05 +0000 (23:04 -0800)]
net/qede/base: semantic/formatting changes
This patch consists of semantic/formatting changes. It also includes
comment additions.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Thu, 5 Jan 2017 07:04:04 +0000 (23:04 -0800)]
net/qede/base: add support for new firmware
Add support for 8.14.x.x firmware.
The new firmware adds support for external PHY BCM8485x; configures
fixed link speed with transceiver/cable not supporting negotiation;
supports engine swap; supports overriding PCIe preset equalization
value; checks pause too long for ports and reads die temperature
every second for shutdown threshold.
It includes change in FLR flow when there is a SW initiated FLR.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Thu, 5 Jan 2017 07:04:03 +0000 (23:04 -0800)]
net/qede: add 50G device PCI id
Add 50G device support for 57980 series
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Thu, 5 Jan 2017 07:04:02 +0000 (23:04 -0800)]
net/qede: add PCI ids for new chip variant
Add PCI IDs for new asic type (defined as CHIP_NUM_AH_xxx).
It supports 50G, 40G, 25G and 10G speeds.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Thu, 5 Jan 2017 07:04:01 +0000 (23:04 -0800)]
net/qede/base: add support for 2x10G mode
Add support for 2x10G mode
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Thu, 5 Jan 2017 07:04:00 +0000 (23:04 -0800)]
net/qede/base: add support for external PHY
Add support for external PHY BCM8485x.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Thu, 5 Jan 2017 07:03:59 +0000 (23:03 -0800)]
net/qede/base: retrieve FW crash dump info
As part of device probe, check if management FW crash dump logs are
available. If available, then log an warning message and update the
epoch value too. A new struct ecore_mdump_info is added to populate
dump info including the new "reason" field by reading shared memory
region.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Thu, 5 Jan 2017 07:03:58 +0000 (23:03 -0800)]
net/qede/base: add check for get NVM info return code
Fail ecore_get_hw_info() in case ecore_hw_get_nvm_info() fails.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Thu, 5 Jan 2017 07:03:57 +0000 (23:03 -0800)]
net/qede: add new host ring type option
Add new option called external PBL (page base list) to ecore_chain_alloc
for future use. Mark chain as external if external PBL is provided.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Thu, 5 Jan 2017 07:03:56 +0000 (23:03 -0800)]
net/qede/base: add macros for converting pointer
Add macros PTR_LO and PTR_HI (for converting pointer to HI and LOW bits for
passing to FW hsi handles).
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Thu, 5 Jan 2017 07:03:55 +0000 (23:03 -0800)]
net/qede/base: add new status code
Add ECORE_CONN_RESET to enum ecore_status.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Thu, 5 Jan 2017 07:03:54 +0000 (23:03 -0800)]
net/qede/base: enhance resource info set printouts
Add the resources names in the ecore_hw_set_resc_info() printouts.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Thu, 5 Jan 2017 07:03:53 +0000 (23:03 -0800)]
net/qede: remove unused struct member
Remove b_hw_channel from struct ecore_dev.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Thu, 5 Jan 2017 07:03:52 +0000 (23:03 -0800)]
net/qede/base: semantic change
Semantic change: No reason to have p_ prefix to non-pointers
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Thu, 5 Jan 2017 07:03:51 +0000 (23:03 -0800)]
net/qede/base: improve Tx-switching performance
In order to improve Tx switching performance an additional HSI parameter
called same-as-last-id is introduced. This resource allows FW caching the
txqs packet properties. Driver needs to set same-as-last-id to be equal to
the qzone.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Thu, 5 Jan 2017 07:03:50 +0000 (23:03 -0800)]
net/qede/base: fix updating VF queue zone id
Pass the absolute qzone_id when creating queues.
Fixes:
5cdd769a26ec ("qede: add L2 support")
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Thu, 5 Jan 2017 07:03:49 +0000 (23:03 -0800)]
net/qede/base: add check to validate Tx queue
Make sure VF tx_qid and the status block index is in the allocated range,
else fail the request.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Thu, 5 Jan 2017 07:03:48 +0000 (23:03 -0800)]
net/qede/base: rename macro
Rename OOO_LB_TC to PKT_LB_TC to give better meaning.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Thu, 5 Jan 2017 07:03:47 +0000 (23:03 -0800)]
net/qede/base: make API non-static
Move ecore_set_fw_mac_addr from ecore_l2.c to ecore_dev.c to
facilitate future code reuse.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Thu, 5 Jan 2017 07:03:46 +0000 (23:03 -0800)]
net/qede/base: change return codes in SR-IOV
Change return codes in VF/SR-IOV base driver from int to
enum _ecore_status_t.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Thu, 5 Jan 2017 07:03:45 +0000 (23:03 -0800)]
net/qede/base: add handling of malicious VF
Receive indication that VFs are malicious and pass it to the
caller/clients and stop serving those VF's additional resource requests.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Thu, 5 Jan 2017 07:03:44 +0000 (23:03 -0800)]
net/qede/base: improve set field macro
Improve robustness of the SET_FIELD macro by using a mask.
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Rasesh Mody [Thu, 5 Jan 2017 07:03:43 +0000 (23:03 -0800)]
net/qede/base: add request for PF FLR before load request
Add a request for PF Function Level Reset (FLR) before a load request
Fix the location of the PF FLR initiation to be after ecore_get_hw_info()
(which invokes ecore_hw_info_port_num())
Signed-off-by: Rasesh Mody <rasesh.mody@cavium.com>
Nélio Laranjeiro [Thu, 29 Dec 2016 15:15:22 +0000 (16:15 +0100)]
net/mlx5: extend IPv4 flow item
This commits adds:
- Type of service
- Next protocol ID
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>