#
bdad90d1 |
| 12-Sep-2019 |
Ivan Ilchenko <ivan.ilchenko@oktetlabs.ru> |
ethdev: change device info get callback to return int
Change eth_dev_infos_get_t return value from void to int. Make eth_dev_infos_get_t implementations across all drivers to return negative errno v
ethdev: change device info get callback to return int
Change eth_dev_infos_get_t return value from void to int. Make eth_dev_infos_get_t implementations across all drivers to return negative errno values if case of error conditions.
Signed-off-by: Ivan Ilchenko <ivan.ilchenko@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
5fdd6113 |
| 01-Sep-2019 |
Ivan Ilchenko <ivan.ilchenko@oktetlabs.ru> |
net/atlantic: remove double function declaration
atl_dev_info_get() is declared twice in atl_ethdev.c. Delete one of these declarations.
Fixes: bb42aa9ffe4e ("net/atlantic: configure device start/s
net/atlantic: remove double function declaration
atl_dev_info_get() is declared twice in atl_ethdev.c. Delete one of these declarations.
Fixes: bb42aa9ffe4e ("net/atlantic: configure device start/stop") Cc: stable@dpdk.org
Signed-off-by: Ivan Ilchenko <ivan.ilchenko@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Acked-by: Igor Russkikh <igor.russkikh@aquantia.com>
show more ...
|
#
6bee9d5f |
| 23-Jul-2019 |
Nithin Dabilpuram <ndabilpuram@marvell.com> |
drivers/net: use ack in interrupt handlers
Replace rte_intr_enable() with rte_intr_ack() API for acking an interrupt in interrupt handlers and rx_queue_intr_enable() callbacks of PMD's.
This is inl
drivers/net: use ack in interrupt handlers
Replace rte_intr_enable() with rte_intr_ack() API for acking an interrupt in interrupt handlers and rx_queue_intr_enable() callbacks of PMD's.
This is inline with original intent of this change in PMDs to ack interrupts after handling is completed if device is backed by UIO, IGB_UIO or VFIO(with INTx).
Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com> Signed-off-by: Jerin Jacob <jerinj@marvell.com> Acked-by: Shahed Shaikh <shshaikh@marvell.com> Tested-by: Shahed Shaikh <shshaikh@marvell.com> Signed-off-by: David Marchand <david.marchand@redhat.com>
show more ...
|
#
b76fafb1 |
| 22-Jul-2019 |
David Marchand <david.marchand@redhat.com> |
eal: fix IOVA mode selection as VA for PCI drivers
The incriminated commit broke the use of RTE_PCI_DRV_IOVA_AS_VA which was intended to mean "driver only supports VA" but had been understood as "dr
eal: fix IOVA mode selection as VA for PCI drivers
The incriminated commit broke the use of RTE_PCI_DRV_IOVA_AS_VA which was intended to mean "driver only supports VA" but had been understood as "driver supports both PA and VA" by most net drivers and used to let dpdk processes to run as non root (which do not have access to physical addresses on recent kernels).
The check on physical addresses actually closed the gap for those drivers. We don't need to mark them with RTE_PCI_DRV_IOVA_AS_VA and this flag can retain its intended meaning. Document explicitly its meaning.
We can check that a driver requirement wrt to IOVA mode is fulfilled before trying to probe a device.
Finally, document the heuristic used to select the IOVA mode and hope that we won't break it again.
Fixes: 703458e19c16 ("bus/pci: consider only usable devices for IOVA mode")
Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Jerin Jacob <jerinj@marvell.com> Tested-by: Jerin Jacob <jerinj@marvell.com> Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
show more ...
|
#
78e4a0fa |
| 29-May-2019 |
Stephen Hemminger <stephen@networkplumber.org> |
net/atlantic: remove unnecessary cast
The device private pointer (dev_private) is of type void * therefore no cast is necessary in C.
Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@
net/atlantic: remove unnecessary cast
The device private pointer (dev_private) is of type void * therefore no cast is necessary in C.
Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
35b2d13f |
| 21-May-2019 |
Olivier Matz <olivier.matz@6wind.com> |
net: add rte prefix to ether defines
Add 'RTE_' prefix to defines: - rename ETHER_ADDR_LEN as RTE_ETHER_ADDR_LEN. - rename ETHER_TYPE_LEN as RTE_ETHER_TYPE_LEN. - rename ETHER_CRC_LEN as RTE_ETHER_C
net: add rte prefix to ether defines
Add 'RTE_' prefix to defines: - rename ETHER_ADDR_LEN as RTE_ETHER_ADDR_LEN. - rename ETHER_TYPE_LEN as RTE_ETHER_TYPE_LEN. - rename ETHER_CRC_LEN as RTE_ETHER_CRC_LEN. - rename ETHER_HDR_LEN as RTE_ETHER_HDR_LEN. - rename ETHER_MIN_LEN as RTE_ETHER_MIN_LEN. - rename ETHER_MAX_LEN as RTE_ETHER_MAX_LEN. - rename ETHER_MTU as RTE_ETHER_MTU. - rename ETHER_MAX_VLAN_FRAME_LEN as RTE_ETHER_MAX_VLAN_FRAME_LEN. - rename ETHER_MAX_VLAN_ID as RTE_ETHER_MAX_VLAN_ID. - rename ETHER_MAX_JUMBO_FRAME_LEN as RTE_ETHER_MAX_JUMBO_FRAME_LEN. - rename ETHER_MIN_MTU as RTE_ETHER_MIN_MTU. - rename ETHER_LOCAL_ADMIN_ADDR as RTE_ETHER_LOCAL_ADMIN_ADDR. - rename ETHER_GROUP_ADDR as RTE_ETHER_GROUP_ADDR. - rename ETHER_TYPE_IPv4 as RTE_ETHER_TYPE_IPv4. - rename ETHER_TYPE_IPv6 as RTE_ETHER_TYPE_IPv6. - rename ETHER_TYPE_ARP as RTE_ETHER_TYPE_ARP. - rename ETHER_TYPE_VLAN as RTE_ETHER_TYPE_VLAN. - rename ETHER_TYPE_RARP as RTE_ETHER_TYPE_RARP. - rename ETHER_TYPE_QINQ as RTE_ETHER_TYPE_QINQ. - rename ETHER_TYPE_ETAG as RTE_ETHER_TYPE_ETAG. - rename ETHER_TYPE_1588 as RTE_ETHER_TYPE_1588. - rename ETHER_TYPE_SLOW as RTE_ETHER_TYPE_SLOW. - rename ETHER_TYPE_TEB as RTE_ETHER_TYPE_TEB. - rename ETHER_TYPE_LLDP as RTE_ETHER_TYPE_LLDP. - rename ETHER_TYPE_MPLS as RTE_ETHER_TYPE_MPLS. - rename ETHER_TYPE_MPLSM as RTE_ETHER_TYPE_MPLSM. - rename ETHER_VXLAN_HLEN as RTE_ETHER_VXLAN_HLEN. - rename ETHER_ADDR_FMT_SIZE as RTE_ETHER_ADDR_FMT_SIZE. - rename VXLAN_GPE_TYPE_IPV4 as RTE_VXLAN_GPE_TYPE_IPV4. - rename VXLAN_GPE_TYPE_IPV6 as RTE_VXLAN_GPE_TYPE_IPV6. - rename VXLAN_GPE_TYPE_ETH as RTE_VXLAN_GPE_TYPE_ETH. - rename VXLAN_GPE_TYPE_NSH as RTE_VXLAN_GPE_TYPE_NSH. - rename VXLAN_GPE_TYPE_MPLS as RTE_VXLAN_GPE_TYPE_MPLS. - rename VXLAN_GPE_TYPE_GBP as RTE_VXLAN_GPE_TYPE_GBP. - rename VXLAN_GPE_TYPE_VBNG as RTE_VXLAN_GPE_TYPE_VBNG. - rename ETHER_VXLAN_GPE_HLEN as RTE_ETHER_VXLAN_GPE_HLEN.
Do not update the command line library to avoid adding a dependency to librte_net.
Signed-off-by: Olivier Matz <olivier.matz@6wind.com> Reviewed-by: Stephen Hemminger <stephen@networkplumber.org> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
538da7a1 |
| 21-May-2019 |
Olivier Matz <olivier.matz@6wind.com> |
net: add rte prefix to ether functions
Add 'rte_' prefix to functions: - rename is_same_ether_addr() as rte_is_same_ether_addr(). - rename is_zero_ether_addr() as rte_is_zero_ether_addr(). - rename
net: add rte prefix to ether functions
Add 'rte_' prefix to functions: - rename is_same_ether_addr() as rte_is_same_ether_addr(). - rename is_zero_ether_addr() as rte_is_zero_ether_addr(). - rename is_unicast_ether_addr() as rte_is_unicast_ether_addr(). - rename is_multicast_ether_addr() as rte_is_multicast_ether_addr(). - rename is_broadcast_ether_addr() as rte_is_broadcast_ether_addr(). - rename is_universal_ether_addr() as rte_is_universal_ether_addr(). - rename is_local_admin_ether_addr() as rte_is_local_admin_ether_addr(). - rename is_valid_assigned_ether_addr() as rte_is_valid_assigned_ether_addr(). - rename eth_random_addr() as rte_eth_random_addr(). - rename ether_addr_copy() as rte_ether_addr_copy(). - rename ether_format_addr() as rte_ether_format_addr().
Signed-off-by: Olivier Matz <olivier.matz@6wind.com> Reviewed-by: Stephen Hemminger <stephen@networkplumber.org> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
6d13ea8e |
| 21-May-2019 |
Olivier Matz <olivier.matz@6wind.com> |
net: add rte prefix to ether structures
Add 'rte_' prefix to structures: - rename struct ether_addr as struct rte_ether_addr. - rename struct ether_hdr as struct rte_ether_hdr. - rename struct vlan_
net: add rte prefix to ether structures
Add 'rte_' prefix to structures: - rename struct ether_addr as struct rte_ether_addr. - rename struct ether_hdr as struct rte_ether_hdr. - rename struct vlan_hdr as struct rte_vlan_hdr. - rename struct vxlan_hdr as struct rte_vxlan_hdr. - rename struct vxlan_gpe_hdr as struct rte_vxlan_gpe_hdr.
Do not update the command line library to avoid adding a dependency to librte_net.
Signed-off-by: Olivier Matz <olivier.matz@6wind.com> Reviewed-by: Stephen Hemminger <stephen@networkplumber.org> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
9374a8e2 |
| 29-Apr-2019 |
Igor Russkikh <igor.russkikh@aquantia.com> |
net/atlantic: remove extra error check
Found by Coverity scan - dead code
Coverity issue: 337665 Fixes: 7943ba05f67c ("net/atlantic: add link status and interrupt management") Cc: stable@dpdk.org
net/atlantic: remove extra error check
Found by Coverity scan - dead code
Coverity issue: 337665 Fixes: 7943ba05f67c ("net/atlantic: add link status and interrupt management") Cc: stable@dpdk.org
Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com>
show more ...
|
#
921eb6b8 |
| 29-Apr-2019 |
Pavel Belous <pavel.belous@aquantia.com> |
net/atlantic: fix flow control by sync settings on Rx
Driver should track negotiated PHY flow control settings during link state changes and update MAC level flow control configuration.
Otherwise t
net/atlantic: fix flow control by sync settings on Rx
Driver should track negotiated PHY flow control settings during link state changes and update MAC level flow control configuration.
Otherwise there could be unexpected pause frames generation which could lockup the datapath.
Fixes: 4c1c8f76463f ("net/atlantic: add flow control configuration") Cc: stable@dpdk.org
Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com> Signed-off-by: Pavel Belous <pavel.belous@aquantia.com>
show more ...
|
#
99ceaad8 |
| 29-Apr-2019 |
Igor Russkikh <igor.russkikh@aquantia.com> |
net/atlantic: check EEPROM dev address validity
Clients may not filling magic field, thus causing garbage to be passed as a device address.
Limit that to maximum SMbus address.
Fixes: ce4e8d418097
net/atlantic: check EEPROM dev address validity
Clients may not filling magic field, thus causing garbage to be passed as a device address.
Limit that to maximum SMbus address.
Fixes: ce4e8d418097 ("net/atlantic: implement EEPROM get/set") Cc: stable@dpdk.org
Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com>
show more ...
|
#
d1093f66 |
| 29-Apr-2019 |
Igor Russkikh <igor.russkikh@aquantia.com> |
net/atlantic: fix max EEPROM size
Maximum size should be 256 bytes. Move declaration to the top of the file
Fixes: ce4e8d418097 ("net/atlantic: implement EEPROM get/set") Cc: stable@dpdk.org
Signe
net/atlantic: fix max EEPROM size
Maximum size should be 256 bytes. Move declaration to the top of the file
Fixes: ce4e8d418097 ("net/atlantic: implement EEPROM get/set") Cc: stable@dpdk.org
Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com> Signed-off-by: Pavel Belous <pavel.belous@aquantia.com>
show more ...
|
#
05d5b1d6 |
| 29-Apr-2019 |
Pavel Belous <pavel.belous@aquantia.com> |
net/atlantic: consider EEPROM get/set offset
EEPROM get/set offset logic should take offset into account. Data transfers to/from FW should also correctly use dword based transfer interface, taking i
net/atlantic: consider EEPROM get/set offset
EEPROM get/set offset logic should take offset into account. Data transfers to/from FW should also correctly use dword based transfer interface, taking into account the remainder. We also check error code returned from FW.
Fixes: ce4e8d418097 ("net/atlantic: implement EEPROM get/set") Cc: stable@dpdk.org
Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com> Signed-off-by: Pavel Belous <pavel.belous@aquantia.com>
show more ...
|
#
2aa0db40 |
| 10-Apr-2019 |
Stephen Hemminger <stephen@networkplumber.org> |
drivers: remove blank line at EOF
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
|
#
09d4dfa8 |
| 18-Apr-2019 |
Pavel Belous <pavel.belous@aquantia.com> |
net/atlantic: implement MACsec statistics
We add extra xstat fields to include MACsec counters and stats
Signed-off-by: Pavel Belous <pavel.belous@aquantia.com> Signed-off-by: Igor Russkikh <igor.r
net/atlantic: implement MACsec statistics
We add extra xstat fields to include MACsec counters and stats
Signed-off-by: Pavel Belous <pavel.belous@aquantia.com> Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com>
show more ...
|
#
9f7e206a |
| 18-Apr-2019 |
Pavel Belous <pavel.belous@aquantia.com> |
net/atlantic: configure MACsec from interrupt handler
MACSEC should be configured only after link up event, thus we use link interrupt to file an alarm for configuration.
FW also uses link interrup
net/atlantic: configure MACsec from interrupt handler
MACSEC should be configured only after link up event, thus we use link interrupt to file an alarm for configuration.
FW also uses link interrupt line to indicate incoming events from MACSEC. These may include key expiration, packet counter wrap, etc. We pass these events to the upper layers.
Signed-off-by: Pavel Belous <pavel.belous@aquantia.com> Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com>
show more ...
|
#
ec0dec44 |
| 18-Apr-2019 |
Pavel Belous <pavel.belous@aquantia.com> |
net/atlantic: enable MACsec configuration
These are driver MACsec configuration routines. They fill in config structures and prepare these to be send to FW. Actual configuration will happen in link
net/atlantic: enable MACsec configuration
These are driver MACsec configuration routines. They fill in config structures and prepare these to be send to FW. Actual configuration will happen in link interrupt handler.
We declare MACsec offload bits in DPDK offload capabilities and provide external experimental MACsec API wrappers.
Also update documentation with feature matrix for the enabled feature.
Signed-off-by: Pavel Belous <pavel.belous@aquantia.com> Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com>
show more ...
|
#
6723c0fc |
| 03-Apr-2019 |
Bruce Richardson <bruce.richardson@intel.com> |
replace snprintf with strlcpy
Do a global replace of snprintf(..."%s",...) with strlcpy, adding in the rte_string_fns.h header if needed. The function changes in this patch were auto-generated via
replace snprintf with strlcpy
Do a global replace of snprintf(..."%s",...) with strlcpy, adding in the rte_string_fns.h header if needed. The function changes in this patch were auto-generated via command:
spatch --sp-file devtools/cocci/strlcpy.cocci --dir . --in-place
and then the files edited using awk to add in the missing header:
gawk -i inplace '/include <rte_/ && ! seen { \ print "#include <rte_string_fns.h>"; seen=1} {print}'
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
show more ...
|
#
5ab51dbf |
| 12-Mar-2019 |
Igor Russkikh <igor.russkikh@aquantia.com> |
net/atlantic: fix xstats return
Max number of xstats items was returned instead of actual number of filled in records.
Fixes: fbe059e87209 ("net/atlantic: implement device statistics") Cc: stable@d
net/atlantic: fix xstats return
Max number of xstats items was returned instead of actual number of filled in records.
Fixes: fbe059e87209 ("net/atlantic: implement device statistics") Cc: stable@dpdk.org
Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com>
show more ...
|
#
ebf751d6 |
| 12-Mar-2019 |
Igor Russkikh <igor.russkikh@aquantia.com> |
net/atlantic: fix missing VLAN filter offload
Original vlan offload code declared callbacks, but did not enable the feature offload bit
Fixes: f7c2c2c8c558 ("net/atlantic: implement VLAN filters an
net/atlantic: fix missing VLAN filter offload
Original vlan offload code declared callbacks, but did not enable the feature offload bit
Fixes: f7c2c2c8c558 ("net/atlantic: implement VLAN filters and offloads") Cc: stable@dpdk.org
Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com>
show more ...
|
#
51a071cd |
| 12-Mar-2019 |
Igor Russkikh <igor.russkikh@aquantia.com> |
net/atlantic: fix link configuration
In case link speed is re configured after port start, it does not takes the requested speed value, but instead just sets full autoneg mask.
Fixes: 7943ba05f67c
net/atlantic: fix link configuration
In case link speed is re configured after port start, it does not takes the requested speed value, but instead just sets full autoneg mask.
Fixes: 7943ba05f67c ("net/atlantic: add link status and interrupt management") Cc: stable@dpdk.org
Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com>
show more ...
|
#
f73061d5 |
| 12-Mar-2019 |
Pavel Belous <pavel.belous@aquantia.com> |
net/atlantic: use EEPROM magic as a device address
Default dev addr is replaced with magic field from the request. Length is allowed to be less than maximum. SMBUS access bit definitions also better
net/atlantic: use EEPROM magic as a device address
Default dev addr is replaced with magic field from the request. Length is allowed to be less than maximum. SMBUS access bit definitions also better organised now.
Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com> Signed-off-by: Pavel Belous <pavel.belous@aquantia.com>
show more ...
|
#
ce44e50a |
| 12-Oct-2018 |
Pavel Belous <pavel.belous@aquantia.com> |
net/atlantic: read MAC registers for debug purposes
This patch add support for dumping MAC registers.
Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com> Signed-off-by: Pavel Belous <pavel.be
net/atlantic: read MAC registers for debug purposes
This patch add support for dumping MAC registers.
Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com> Signed-off-by: Pavel Belous <pavel.belous@aquantia.com>
show more ...
|
#
ce4e8d41 |
| 12-Oct-2018 |
Pavel Belous <pavel.belous@aquantia.com> |
net/atlantic: implement EEPROM get/set
Add support for EEPROM reading/writing.
Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com> Signed-off-by: Pavel Belous <pavel.belous@aquantia.com>
|
#
f7c2c2c8 |
| 12-Oct-2018 |
Pavel Belous <pavel.belous@aquantia.com> |
net/atlantic: implement VLAN filters and offloads
VLAN filters and VLAN offloads implementation.
Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com> Signed-off-by: Pavel Belous <pavel.belous@
net/atlantic: implement VLAN filters and offloads
VLAN filters and VLAN offloads implementation.
Signed-off-by: Igor Russkikh <igor.russkikh@aquantia.com> Signed-off-by: Pavel Belous <pavel.belous@aquantia.com>
show more ...
|