#
ef96f7eb |
| 07-Jun-2023 |
Ivan Malov <ivan.malov@arknetworks.am> |
net/sfc: let driver-internal flows use VF representor action
In the case of VF <--> VF representor pairs, these flows can only collect VF traffic, so let them use generic flow action PORT_REPRESENTO
net/sfc: let driver-internal flows use VF representor action
In the case of VF <--> VF representor pairs, these flows can only collect VF traffic, so let them use generic flow action PORT_REPRESENTOR, as part of re-using generic flow mechanism.
Currently, it does not allow to access VF representors since they have no unique HW logical ports (m-ports). They all sit on the same (representor proxy) m-port, while demultiplexing of traffic uses ingress (VF) m-port value in packet metadata. Traffic from arbitrary sources cannot be identified this way. But, for VF traffic, it should be right to make an exception.
Signed-off-by: Ivan Malov <ivan.malov@arknetworks.am> Reviewed-by: Andy Moreton <amoreton@xilinx.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
show more ...
|
#
723327be |
| 10-Mar-2023 |
Ivan Malov <ivan.malov@arknetworks.am> |
net/sfc: invalidate switch port entry on representor unplug
Once allocated, a switch port list entry always stays there, even after unplugging the ethdev that created it. Currently, the entry's ethd
net/sfc: invalidate switch port entry on representor unplug
Once allocated, a switch port list entry always stays there, even after unplugging the ethdev that created it. Currently, the entry's ethdev ID is not cleared on unplug. Referencing the ethdev ID of a detached representor from a flow rule is going to succeed, which is a bug. Also, if the user unplugs endpoint "A" representor and plugs one for "B" instead, the latter will pick the same ethdev ID as the gone representor, but it will have a new port list entry added for it. If the user tries to reference the ethdev ID from a flow rule, the code will fetch the wrong entry ("A" rather than "B") since it sits closer to the list head. That is a serious bug, too.
Make the driver invalidate ethdev ID field on ethdev unplug.
Fixes: 1fb65e4dae8a ("net/sfc: support flow action port ID in transfer rules") Fixes: a62ec90522a6 ("net/sfc: add port representors infrastructure") Cc: stable@dpdk.org
Signed-off-by: Ivan Malov <ivan.malov@arknetworks.am> Reviewed-by: Andy Moreton <amoreton@xilinx.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
show more ...
|
#
0fb3e8a9 |
| 25-Oct-2021 |
Ivan Malov <ivan.malov@oktetlabs.ru> |
net/sfc: support represented port flow item
Add support for item REPRESENTED_PORT to match on traffic entering the embedded switch from the entity represented by the given ethdev (network port or VF
net/sfc: support represented port flow item
Add support for item REPRESENTED_PORT to match on traffic entering the embedded switch from the entity represented by the given ethdev (network port or VF).
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
show more ...
|
#
3419c9a7 |
| 25-Oct-2021 |
Ivan Malov <ivan.malov@oktetlabs.ru> |
net/sfc: rename ethdev m-port retrieval helper
The function in question has an unfortunate name that reads like finding a SW switch port entry. In fact just one of the two m-ports is retrieved from
net/sfc: rename ethdev m-port retrieval helper
The function in question has an unfortunate name that reads like finding a SW switch port entry. In fact just one of the two m-ports is retrieved from that entry.
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
show more ...
|
#
b7b7b9f8 |
| 25-Oct-2021 |
Ivan Malov <ivan.malov@oktetlabs.ru> |
net/sfc: do not allow flow rules to refer to VF representors
VF representors do not own dedicated m-ports and thus cannot be referred to as traffic endpoints in flow items or actions.
Fixes: a62ec9
net/sfc: do not allow flow rules to refer to VF representors
VF representors do not own dedicated m-ports and thus cannot be referred to as traffic endpoints in flow items or actions.
Fixes: a62ec90522a6 ("net/sfc: add port representors infrastructure") Fixes: f55b61cec94a ("net/sfc: support port representor flow item")
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
show more ...
|
#
26706314 |
| 15-Oct-2021 |
Viacheslav Galaktionov <viacheslav.galaktionov@oktetlabs.ru> |
net/sfc: implement transfer proxy port callback
In sfc, MAE admin serves as a transfer proxy. In order to track which ethdev is privileged, augment every independent switch port structure with infor
net/sfc: implement transfer proxy port callback
In sfc, MAE admin serves as a transfer proxy. In order to track which ethdev is privileged, augment every independent switch port structure with information about its MAE privilege.
Signed-off-by: Viacheslav Galaktionov <viacheslav.galaktionov@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Reviewed-by: Andy Moreton <amoreton@xilinx.com>
show more ...
|
#
599e4e9a |
| 11-Oct-2021 |
Viacheslav Galaktionov <viacheslav.galaktionov@oktetlabs.ru> |
net/sfc: support representor info get
Let the driver provide the user with information about available representors by implementing the representor_info_get operation.
Due to the lack of any struct
net/sfc: support representor info get
Let the driver provide the user with information about available representors by implementing the representor_info_get operation.
Due to the lack of any structure to representor IDs, every ID range describes exactly one representor.
Signed-off-by: Viacheslav Galaktionov <viacheslav.galaktionov@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Reviewed-by: Andy Moreton <amoreton@xilinx.com>
show more ...
|
#
6ded2e01 |
| 11-Oct-2021 |
Viacheslav Galaktionov <viacheslav.galaktionov@oktetlabs.ru> |
net/sfc: support new representor parameter syntax
Allow the user to specify representor entities using the structured parameter values.
Signed-off-by: Viacheslav Galaktionov <viacheslav.galaktionov
net/sfc: support new representor parameter syntax
Allow the user to specify representor entities using the structured parameter values.
Signed-off-by: Viacheslav Galaktionov <viacheslav.galaktionov@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Reviewed-by: Andy Moreton <amoreton@xilinx.com>
show more ...
|
#
c75d560d |
| 11-Oct-2021 |
Viacheslav Galaktionov <viacheslav.galaktionov@oktetlabs.ru> |
net/sfc: include controller and port in representor name
Make representor names unique on multi-host configurations.
Signed-off-by: Viacheslav Galaktionov <viacheslav.galaktionov@oktetlabs.ru> Sign
net/sfc: include controller and port in representor name
Make representor names unique on multi-host configurations.
Signed-off-by: Viacheslav Galaktionov <viacheslav.galaktionov@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Reviewed-by: Andy Moreton <amoreton@xilinx.com>
show more ...
|
#
768d1e44 |
| 11-Oct-2021 |
Viacheslav Galaktionov <viacheslav.galaktionov@oktetlabs.ru> |
net/sfc: store PCI address for represented entities
This information will be useful when representor info API is implemented.
Signed-off-by: Viacheslav Galaktionov <viacheslav.galaktionov@oktetlabs
net/sfc: store PCI address for represented entities
This information will be useful when representor info API is implemented.
Signed-off-by: Viacheslav Galaktionov <viacheslav.galaktionov@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Reviewed-by: Andy Moreton <amoreton@xilinx.com>
show more ...
|
#
44db08d5 |
| 11-Oct-2021 |
Viacheslav Galaktionov <viacheslav.galaktionov@oktetlabs.ru> |
net/sfc: maintain controller to EFX interface mapping
Newer hardware may have arbitrarily complex controller configurations, and for this reason the mapping has been made dynamic: it is represented
net/sfc: maintain controller to EFX interface mapping
Newer hardware may have arbitrarily complex controller configurations, and for this reason the mapping has been made dynamic: it is represented with a dynamic array that is indexed by controller numbers and each element contains an EFX interface number. Since the number of controllers is expected to be small, this approach should not hurt the performance.
Signed-off-by: Viacheslav Galaktionov <viacheslav.galaktionov@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Reviewed-by: Andy Moreton <amoreton@xilinx.com>
show more ...
|
#
c7e64eea |
| 11-Oct-2021 |
Viacheslav Galaktionov <viacheslav.galaktionov@oktetlabs.ru> |
net/sfc: free MAE lock once switch domain is assigned
If for some reason the hardware switch ID initialization function fails, MAE lock is still held after the function finishes. This patch fixes th
net/sfc: free MAE lock once switch domain is assigned
If for some reason the hardware switch ID initialization function fails, MAE lock is still held after the function finishes. This patch fixes that.
Fixes: 1e7fbdf0ba19 ("net/sfc: support concept of switch domains/ports") Cc: stable@dpdk.org
Signed-off-by: Viacheslav Galaktionov <viacheslav.galaktionov@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Reviewed-by: Andy Moreton <amoreton@xilinx.com>
show more ...
|
#
98d26ef7 |
| 11-Mar-2021 |
Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> |
net/sfc: update copyright year
Bump copyright year to 2021.
Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
|
#
1fb65e4d |
| 20-Oct-2020 |
Ivan Malov <ivan.malov@oktetlabs.ru> |
net/sfc: support flow action port ID in transfer rules
The action handler will use MAE action DELIVER with MPORT of the PCIe function associated with a given DPDK port ID. The DPDK port must not rel
net/sfc: support flow action port ID in transfer rules
The action handler will use MAE action DELIVER with MPORT of the PCIe function associated with a given DPDK port ID. The DPDK port must not relate to a different physical device.
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Reviewed-by: Andy Moreton <amoreton@xilinx.com>
show more ...
|
#
1e7fbdf0 |
| 20-Oct-2020 |
Ivan Malov <ivan.malov@oktetlabs.ru> |
net/sfc: support concept of switch domains/ports
A later patch will add support for RTE flow action PORT_ID to MAE backend. The driver has to ensure that such actions refer to RTE ethdev instances d
net/sfc: support concept of switch domains/ports
A later patch will add support for RTE flow action PORT_ID to MAE backend. The driver has to ensure that such actions refer to RTE ethdev instances deployed on top of the same physical device. Also, the driver needs a means to find sibling RTE ethdev instances when parsing such actions.
In order to solve these problems, add a switch infrastructure which allocates switch domains based on persistence of device serial number string across switch ports included in a domain. Explain mapping between RTE switch port IDs and MAE endpoints.
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Reviewed-by: Andy Moreton <amoreton@xilinx.com>
show more ...
|