|
Revision tags: v22.03, v22.03-rc4, v22.03-rc3, v22.03-rc2, v22.03-rc1, v21.11, v21.11-rc4, v21.11-rc3, v21.11-rc2, v21.11-rc1, v21.08, v21.08-rc4, v21.08-rc3, v21.08-rc2, v21.08-rc1, v21.05, v21.05-rc4, v21.05-rc3, v21.05-rc2, v21.05-rc1, v21.02, v21.02-rc4, v21.02-rc3, v21.02-rc2, v21.02-rc1, v20.11, v20.11-rc5, v20.11-rc4, v20.11-rc3, v20.11-rc2, v20.11-rc1 |
|
| #
97742c7b |
| 15-Oct-2020 |
Ivan Ilchenko <[email protected]> |
net/failsafe: check stop call status
rte_eth_dev_stop() return value was changed from void to int, so this patch modify usage of this function across net/failsafe according to new return type.
Sign
net/failsafe: check stop call status
rte_eth_dev_stop() return value was changed from void to int, so this patch modify usage of this function across net/failsafe according to new return type.
Signed-off-by: Ivan Ilchenko <[email protected]> Signed-off-by: Andrew Rybchenko <[email protected]>
show more ...
|
| #
8a5a0aad |
| 16-Oct-2020 |
Thomas Monjalon <[email protected]> |
ethdev: allow close function to return an error
The API function rte_eth_dev_close() was returning void. The return type is changed to int for notifying of errors.
If an error happens during a clos
ethdev: allow close function to return an error
The API function rte_eth_dev_close() was returning void. The return type is changed to int for notifying of errors.
If an error happens during a close operation, the status of the port is undefined, a maximum of resources having been freed.
Signed-off-by: Thomas Monjalon <[email protected]> Reviewed-by: Liron Himi <[email protected]> Acked-by: Stephen Hemminger <[email protected]> Acked-by: Andrew Rybchenko <[email protected]> Reviewed-by: Ferruh Yigit <[email protected]>
show more ...
|
| #
352074b3 |
| 12-Oct-2020 |
Gaetan Rivet <[email protected]> |
net/failsafe: fix state synchro cleanup
During a hotplug attempt, failsafe will try to bring a subdevice that just appeared to its internal state. On error, the subdevice is marked for removal and w
net/failsafe: fix state synchro cleanup
During a hotplug attempt, failsafe will try to bring a subdevice that just appeared to its internal state. On error, the subdevice is marked for removal and will be cleaned up.
However failsafe_dev_remove() only remove active devices. Devices that failed during probe will be stuck in DEV_PARSED state repeatedly.
Consider all devices when doing a removal round, but limit burst control and stats saving to active devices.
Fixes: 598fb8aec6f6 ("net/failsafe: support device removal") Cc: [email protected]
Signed-off-by: Gaetan Rivet <[email protected]>
show more ...
|
| #
5723fbed |
| 09-Sep-2020 |
Ferruh Yigit <[email protected]> |
ethdev: remove underscore prefix from internal API
'_rte_eth_dev_callback_process()' & '_rte_eth_dev_reset()' internal APIs has unconventional underscore ('_') prefix. Although this is not documente
ethdev: remove underscore prefix from internal API
'_rte_eth_dev_callback_process()' & '_rte_eth_dev_reset()' internal APIs has unconventional underscore ('_') prefix. Although this is not documented most probably this is to mark them as internal. Since we have '__rte_internal' flag to mark this, removing '_' from API names.
For '_rte_eth_dev_reset()', there is already a public API named 'rte_eth_dev_reset()', so renaming '_rte_eth_dev_reset()' to 'rte_eth_dev_internal_reset'.
Signed-off-by: Ferruh Yigit <[email protected]> Acked-by: Andrew Rybchenko <[email protected]> Acked-by: David Marchand <[email protected]> Acked-by: Sachin Saxena <[email protected]>
show more ...
|
| #
09c00246 |
| 14-Aug-2020 |
Stephen Hemminger <[email protected]> |
net/failsafe: fix double space in warning log
Already get a newline from WARN() macro call.
Fixes: 9dda3e3393c2 ("net/failsafe: add timestamp to stats snapshot") Cc: [email protected]
Signed-off-by:
net/failsafe: fix double space in warning log
Already get a newline from WARN() macro call.
Fixes: 9dda3e3393c2 ("net/failsafe: add timestamp to stats snapshot") Cc: [email protected]
Signed-off-by: Stephen Hemminger <[email protected]> Acked-by: Gaetan Rivet <[email protected]>
show more ...
|
|
Revision tags: v20.08, v20.08-rc4, v20.08-rc3, v20.08-rc2, v20.08-rc1, v20.05, v20.05-rc4, v20.05-rc3, v20.05-rc2 |
|
| #
94a6f2de |
| 05-May-2020 |
Gaetan Rivet <[email protected]> |
net/failsafe: avoid crash on malformed ethdev
Some PMD do not respect the eth_dev API when allocating their rte_eth_dev. As a result, on device add event resulting from rte_eth_dev_probing_finish()
net/failsafe: avoid crash on malformed ethdev
Some PMD do not respect the eth_dev API when allocating their rte_eth_dev. As a result, on device add event resulting from rte_eth_dev_probing_finish() call, the eth_dev processed is incomplete.
The segfault is a good way to focus the developer on the issue, but does not inspire confidence. Instead, warn the user of the error repeatedly.
The failsafe PMD can warn of the issue and continue. It will repeatedly attempt to initialize the failed port and complain about it, which should result in the same developer focus but with less crashing.
Signed-off-by: Gaetan Rivet <[email protected]>
show more ...
|
|
Revision tags: v20.05-rc1, v20.02, v20.02-rc4, v20.02-rc3, v20.02-rc2, v20.02-rc1, v19.11, v19.11-rc4, v19.11-rc3, v19.11-rc2, v19.11-rc1 |
|
| #
5bc4baf0 |
| 24-Sep-2019 |
Ivan Ilchenko <[email protected]> |
net/failsafe: check code of allmulticast mode switch
rte_eth_allmulticast_enable()/rte_eth_allmulticast_disable() return value was changed from void to int, so this patch modify usage of these funct
net/failsafe: check code of allmulticast mode switch
rte_eth_allmulticast_enable()/rte_eth_allmulticast_disable() return value was changed from void to int, so this patch modify usage of these functions across net/failsafe according to new return type.
Try to keep all-multicast mode consistent across all active devices in the case of failure.
Signed-off-by: Ivan Ilchenko <[email protected]> Signed-off-by: Andrew Rybchenko <[email protected]> Acked-by: Gaetan Rivet <[email protected]>
show more ...
|
| #
6f6d5d21 |
| 14-Sep-2019 |
Ivan Ilchenko <[email protected]> |
net/failsafe: check code of promiscuous mode switch
rte_eth_promiscuous_enable()/rte_eth_promiscuous_disable() return value was changed from void to int, so this patch modify usage of these function
net/failsafe: check code of promiscuous mode switch
rte_eth_promiscuous_enable()/rte_eth_promiscuous_disable() return value was changed from void to int, so this patch modify usage of these functions across net/failsafe according to new return type.
Try to keep promiscuous mode consistent across all active devices in the case of failure.
Signed-off-by: Ivan Ilchenko <[email protected]> Signed-off-by: Andrew Rybchenko <[email protected]> Acked-by: Gaetan Rivet <[email protected]>
show more ...
|
|
Revision tags: v19.08, v19.08-rc4, v19.08-rc3, v19.08-rc2, v19.08-rc1 |
|
| #
75b66dec |
| 06-Jun-2019 |
Ilya Maximets <[email protected]> |
eal: fix positive error codes from probe/remove
According to API, 'rte_dev_probe()' and 'rte_dev_remove()' must return 0 or negative error code. Bus code returns positive values if device wasn't rec
eal: fix positive error codes from probe/remove
According to API, 'rte_dev_probe()' and 'rte_dev_remove()' must return 0 or negative error code. Bus code returns positive values if device wasn't recognized by any driver, so the result of 'bus->plug/unplug()' must be converted. 'local_dev_probe()' and 'local_dev_remove()' also has their internal API, so the conversion should be done there.
Positive on remove means that device not found by driver. Positive on probe means that there are no suitable buses/drivers, i.e. device is not supported.
Users of these API fixed to provide a good example by respecting DPDK API. This also will allow to catch such issues in the future.
Fixes: a3ee360f4440 ("eal: add hotplug add/remove device") Fixes: 244d5130719c ("eal: enable hotplug on multi-process") Cc: [email protected]
Signed-off-by: Ilya Maximets <[email protected]> Reviewed-by: David Marchand <[email protected]>
show more ...
|
| #
35b2d13f |
| 21-May-2019 |
Olivier Matz <[email protected]> |
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 <[email protected]> Reviewed-by: Stephen Hemminger <[email protected]> Reviewed-by: Maxime Coquelin <[email protected]> Reviewed-by: Ferruh Yigit <[email protected]>
show more ...
|
| #
538da7a1 |
| 21-May-2019 |
Olivier Matz <[email protected]> |
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 <[email protected]> Reviewed-by: Stephen Hemminger <[email protected]> Reviewed-by: Maxime Coquelin <[email protected]> Reviewed-by: Ferruh Yigit <[email protected]>
show more ...
|
| #
6d13ea8e |
| 21-May-2019 |
Olivier Matz <[email protected]> |
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 <[email protected]> Reviewed-by: Stephen Hemminger <[email protected]> Reviewed-by: Maxime Coquelin <[email protected]> Reviewed-by: Ferruh Yigit <[email protected]>
show more ...
|
|
Revision tags: v19.05, v19.05-rc4, v19.05-rc3, v19.05-rc2, v19.05-rc1 |
|
| #
2f4b9983 |
| 18-Mar-2019 |
Raslan Darawsheh <[email protected]> |
net/failsafe: replace sub-device pointer with port id
In multiprocess context, the pointer to sub-device is shared between processes. Previously, it was a pointer to per process eth_dev so it's need
net/failsafe: replace sub-device pointer with port id
In multiprocess context, the pointer to sub-device is shared between processes. Previously, it was a pointer to per process eth_dev so it's needed to replace this dependency.
Signed-off-by: Thomas Monjalon <[email protected]> Signed-off-by: Raslan Darawsheh <[email protected]> Acked-by: Gaetan Rivet <[email protected]>
show more ...
|
| #
fa7bb47a |
| 18-Mar-2019 |
Raslan Darawsheh <[email protected]> |
net/failsafe: change back-reference from sub-device
In multiprocess context, the sub-device structure is shared between processes. The reference to the failsafe device was a per process pointer. It'
net/failsafe: change back-reference from sub-device
In multiprocess context, the sub-device structure is shared between processes. The reference to the failsafe device was a per process pointer. It's changed to port id which is the same for all processes.
Signed-off-by: Raslan Darawsheh <[email protected]> Signed-off-by: Thomas Monjalon <[email protected]> Acked-by: Gaetan Rivet <[email protected]>
show more ...
|
|
Revision tags: v19.02, v19.02-rc4, v19.02-rc3, v19.02-rc2, v19.02-rc1, v18.11, v18.11-rc5, v18.11-rc4, v18.11-rc3, v18.11-rc2, v18.11-rc1 |
|
| #
86123c2d |
| 08-Oct-2018 |
Stephen Hemminger <[email protected]> |
net/failsafe: use prefix for function
All other visible functions in failsafe driver have 'failsafe_' prefix.
Signed-off-by: Stephen Hemminger <[email protected]> Acked-by: Gaetan Rivet <g
net/failsafe: use prefix for function
All other visible functions in failsafe driver have 'failsafe_' prefix.
Signed-off-by: Stephen Hemminger <[email protected]> Acked-by: Gaetan Rivet <[email protected]>
show more ...
|
| #
33fcf207 |
| 31-Aug-2018 |
Adrien Mazarguil <[email protected]> |
net/failsafe: switch to flow API object conversion function
This patch replaces rte_flow_copy() with rte_flow_conv().
Signed-off-by: Adrien Mazarguil <[email protected]> Acked-by: Nelio La
net/failsafe: switch to flow API object conversion function
This patch replaces rte_flow_copy() with rte_flow_conv().
Signed-off-by: Adrien Mazarguil <[email protected]> Acked-by: Nelio Laranjeiro <[email protected]>
show more ...
|
| #
911462eb |
| 07-Sep-2018 |
Thomas Monjalon <[email protected]> |
eal: simplify parameters of hotplug functions
All information about a device to probe can be grouped in a common string, which is what we usually call devargs. An application should not have to pars
eal: simplify parameters of hotplug functions
All information about a device to probe can be grouped in a common string, which is what we usually call devargs. An application should not have to parse this string before calling the EAL probe function. And the syntax could evolve to be more complex and support matching multiple devices in one string. That's why the bus name and device name should be removed from rte_eal_hotplug_add(). Instead of changing this function, a simpler one is added and used in the old one, which may be deprecated later.
When removing a device, we already know its rte_device handle which can be directly passed as parameter of rte_eal_hotplug_remove(). If the rte_device is not known, it can be retrieved with the devargs, by iterating in the device list (future RTE_DEV_FOREACH()). Similarly to the probing case, a new function is added and used in the old one, which may be deprecated later. The new function is used in failsafe, because the replacement is easy.
Signed-off-by: Thomas Monjalon <[email protected]> Reviewed-by: Andrew Rybchenko <[email protected]> Acked-by: Gaetan Rivet <[email protected]> Reviewed-by: Stephen Hemminger <[email protected]>
show more ...
|
| #
901efc0d |
| 21-Sep-2018 |
Evgeny Im <[email protected]> |
net/failsafe: support multicast address list set
Signed-off-by: Evgeny Im <[email protected]> Signed-off-by: Andrew Rybchenko <[email protected]> Acked-by: Gaetan Rivet <gaetan.rivet@6
net/failsafe: support multicast address list set
Signed-off-by: Evgeny Im <[email protected]> Signed-off-by: Andrew Rybchenko <[email protected]> Acked-by: Gaetan Rivet <[email protected]>
show more ...
|
| #
b32c9075 |
| 20-Sep-2018 |
Ian Dolzhansky <[email protected]> |
net/failsafe: add Tx queue start and stop functions
Support Tx queue deferred start.
Signed-off-by: Ian Dolzhansky <[email protected]> Signed-off-by: Andrew Rybchenko <arybchenko@solarfla
net/failsafe: add Tx queue start and stop functions
Support Tx queue deferred start.
Signed-off-by: Ian Dolzhansky <[email protected]> Signed-off-by: Andrew Rybchenko <[email protected]> Acked-by: Gaetan Rivet <[email protected]>
show more ...
|
| #
3db7001e |
| 20-Sep-2018 |
Ian Dolzhansky <[email protected]> |
net/failsafe: add Rx queue start and stop functions
Support Rx queue deferred start.
Signed-off-by: Ian Dolzhansky <[email protected]> Signed-off-by: Andrew Rybchenko <arybchenko@solarfla
net/failsafe: add Rx queue start and stop functions
Support Rx queue deferred start.
Signed-off-by: Ian Dolzhansky <[email protected]> Signed-off-by: Andrew Rybchenko <[email protected]> Acked-by: Gaetan Rivet <[email protected]>
show more ...
|
|
Revision tags: v18.08, v18.08-rc3, v18.08-rc2, v18.08-rc1, v18.05, v18.05-rc6, v18.05-rc5 |
|
| #
0545c580 |
| 22-May-2018 |
Matan Azrad <[email protected]> |
net/failsafe: fix removed sub-device cleanup
The fail-safe PMD registers to RMV event for each removable sub-device port in order to cleanup the sub-device resources and switch the Tx sub-device dir
net/failsafe: fix removed sub-device cleanup
The fail-safe PMD registers to RMV event for each removable sub-device port in order to cleanup the sub-device resources and switch the Tx sub-device directly when it is plugged-out.
During removal time, the fail-safe PMD stops and closes the sub-device but it doesn't unregister the LSC and RMV callbacks of the sub-device port.
It can lead the callbacks to be called for a port which is no more associated with the fail-safe sub-device, because there is not a guarantee that a sub-device gets the same port ID for each plug-in process. This port, for example, may belong to another sub-device of a different fail-safe device.
Unregister the LSC and RMV callbacks for sub-devices which are not used.
Fixes: 598fb8aec6f6 ("net/failsafe: support device removal") Cc: [email protected]
Signed-off-by: Matan Azrad <[email protected]> Acked-by: Gaetan Rivet <[email protected]>
show more ...
|
|
Revision tags: v18.05-rc4, v18.05-rc3 |
|
| #
7fda13d3 |
| 10-May-2018 |
Matan Azrad <[email protected]> |
net/failsafe: fix sub-device ownership race
There is time between the sub-device port probing by the sub-device PMD to the sub-device port ownership taking by a fail-safe port.
In this time, the po
net/failsafe: fix sub-device ownership race
There is time between the sub-device port probing by the sub-device PMD to the sub-device port ownership taking by a fail-safe port.
In this time, the port is available for the application usage. For example, the port will be exposed to the applications which use RTE_ETH_FOREACH_DEV iterator.
Thus, ownership unaware applications may manage the port in this time what may cause a lot of problematic behaviors in the fail-safe sub-device initialization.
Register to the ethdev NEW event to take the sub-device port ownership before it becomes exposed to the application.
Fixes: a46f8d584eb8 ("net/failsafe: add fail-safe PMD") Cc: [email protected]
Signed-off-by: Matan Azrad <[email protected]> Acked-by: Gaetan Rivet <[email protected]> Reviewed-by: Stephen Hemminger <[email protected]>
show more ...
|
|
Revision tags: v18.05-rc2, v18.05-rc1 |
|
| #
5feecc57 |
| 20-Mar-2018 |
Shahaf Shuler <[email protected]> |
align SPDX Mellanox copyrights
Aligning Mellanox SPDX copyrights to a single format. In addition replace to SPDX licence files which were missed.
Signed-off-by: Shahaf Shuler <[email protected]>
align SPDX Mellanox copyrights
Aligning Mellanox SPDX copyrights to a single format. In addition replace to SPDX licence files which were missed.
Signed-off-by: Shahaf Shuler <[email protected]> Acked-by: Adrien Mazarguil <[email protected]>
show more ...
|
|
Revision tags: v18.02 |
|
| #
655fcd68 |
| 12-Feb-2018 |
Matan Azrad <[email protected]> |
net/failsafe: fix hotplug races
Fail-safe uses a periodic alarm mechanism, running from the host thread, to manage the hot-plug events of its sub-devices. This management requires a lot of sub-devic
net/failsafe: fix hotplug races
Fail-safe uses a periodic alarm mechanism, running from the host thread, to manage the hot-plug events of its sub-devices. This management requires a lot of sub-devices PMDs operations (stop, close, start, configure, etc.).
While the hot-plug alarm runs in the host thread, the application may call fail-safe operations, which directly trigger the sub-devices PMDs operations as well. This call may occur from any thread decided by the application (probably the master thread).
Thus, more than one operation can be executed to a sub-device at the same time. This can initiate a lot of races in the sub-PMDs.
Moreover, some control operations update the fail-safe internal databases, which can be used by the alarm mechanism at the same time. This can also initiate races and crashes.
Fail-safe is the owner of its sub-devices and must synchronize their use according to the ETHDEV ownership rules.
Synchronize hot-plug management by a new lock mechanism uses a mutex to atomically defend each critical section in the fail-safe hot-plug mechanism and control operations to prevent any races between them.
Fixes: a46f8d5 ("net/failsafe: add fail-safe PMD") Cc: [email protected]
Signed-off-by: Matan Azrad <[email protected]> Acked-by: Gaetan Rivet <[email protected]>
show more ...
|
| #
82bae1ea |
| 12-Feb-2018 |
Matan Azrad <[email protected]> |
net/failsafe: fix removal scope
The fail-safe PMD uses a per sub-device flag called "remove" to indicate the scope where the sub-device was removed physically and whether its software resources shou
net/failsafe: fix removal scope
The fail-safe PMD uses a per sub-device flag called "remove" to indicate the scope where the sub-device was removed physically and whether its software resources should be released.
This flag is set when the fail-safe receives an RMV notification about the physical removal of the sub-device, and should be unset when all the sub-device resources are released.
The previous code wrongly unsets the flag in dev_configure(), instead of when the software resources release is completed.
Change the remove flag unsetting to take action in the end of the software resources release.
Fixes: a46f8d5 ("net/failsafe: add fail-safe PMD") Cc: [email protected]
Signed-off-by: Matan Azrad <[email protected]> Acked-by: Gaetan Rivet <[email protected]>
show more ...
|