#
89b5642d |
| 18-Oct-2024 |
Robin Jarry <rjarry@redhat.com> |
net: use IPv6 address structure for packet headers
The rte_ipv6_hdr uses ad-hoc uint8_t[16] arrays to represent addresses. Replace these arrays with the newly added rte_ipv6_addr structure. Adapt al
net: use IPv6 address structure for packet headers
The rte_ipv6_hdr uses ad-hoc uint8_t[16] arrays to represent addresses. Replace these arrays with the newly added rte_ipv6_addr structure. Adapt all code accordingly.
Signed-off-by: Robin Jarry <rjarry@redhat.com>
show more ...
|
#
8763593f |
| 10-Aug-2023 |
Ivan Malov <ivan.malov@arknetworks.am> |
net/sfc: support updating indirect VXLAN encap action
Such updates are helpful as they let applications avoid costly flow re-insertions when the header data changes.
Signed-off-by: Ivan Malov <ivan
net/sfc: support updating indirect VXLAN encap action
Such updates are helpful as they let applications avoid costly flow re-insertions when the header data changes.
Signed-off-by: Ivan Malov <ivan.malov@arknetworks.am> Reviewed-by: Andy Moreton <andy.moreton@amd.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
show more ...
|
#
6676ae6a |
| 07-Jun-2023 |
Ivan Malov <ivan.malov@arknetworks.am> |
net/sfc: support indirect count action in transfer flows
Indirect count action is useful to applications that need to gather aggregated statistics for many flows.
Signed-off-by: Ivan Malov <ivan.ma
net/sfc: support indirect count action in transfer flows
Indirect count action is useful to applications that need to gather aggregated statistics for many flows.
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 ...
|
#
73e01736 |
| 07-Jun-2023 |
Ivan Malov <ivan.malov@arknetworks.am> |
net/sfc: turn MAE flow action rules into shareable resources
Later patches of the series provide support for HW conntrack assistance. With the new feature, multiple flows that differ in the 5-tuple
net/sfc: turn MAE flow action rules into shareable resources
Later patches of the series provide support for HW conntrack assistance. With the new feature, multiple flows that differ in the 5-tuple match fields but are otherwise identical will be able to share all FW-allocatable objects except for those of the conntrack table. That will boost flow engine capacity.
To prepare for that, action rules of the match-action engine have to be turned into shareable objects, from SW standpoint.
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 ...
|
#
3f10e0e9 |
| 07-Jun-2023 |
Ivan Malov <ivan.malov@arknetworks.am> |
net/sfc: move MAE flow parsing method to MAE-specific source
Doing so will facilitate easier code restructure in the next patches required to rework flow housekeeping and indirection.
Signed-off-by
net/sfc: move MAE flow parsing method to MAE-specific source
Doing so will facilitate easier code restructure in the next patches required to rework flow housekeeping and indirection.
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 ...
|
#
8cff0013 |
| 07-Jun-2023 |
Ivan Malov <ivan.malov@arknetworks.am> |
net/sfc: extend generic flow API to allow for internal flows
At the moment, driver-internal flow rules are provisioned by functions that are separate from the generic flow management framework. In o
net/sfc: extend generic flow API to allow for internal flows
At the moment, driver-internal flow rules are provisioned by functions that are separate from the generic flow management framework. In order to use the latter for such rules, extend it accordingly. This will be actually used in the next patch.
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 ...
|
#
05d58ac4 |
| 07-Jun-2023 |
Ivan Malov <ivan.malov@arknetworks.am> |
net/sfc: refactor flow create/destroy locking
Doing so is useful to facilitate driver-internal flow rework.
Signed-off-by: Ivan Malov <ivan.malov@arknetworks.am> Reviewed-by: Andy Moreton <amoreton
net/sfc: refactor flow create/destroy locking
Doing so is useful to facilitate driver-internal flow rework.
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 ...
|
#
5ec2a97e |
| 25-Oct-2022 |
Thomas Monjalon <thomas@monjalon.net> |
ethdev: use VXLAN protocol struct for flow matching
As announced in the deprecation notice, flow item structures should re-use the protocol header definitions from the directory lib/net/.
In the ca
ethdev: use VXLAN protocol struct for flow matching
As announced in the deprecation notice, flow item structures should re-use the protocol header definitions from the directory lib/net/.
In the case of VXLAN-GPE, the protocol struct is added in an unnamed union, keeping old field names.
The VXLAN headers (including VXLAN-GPE) are used in apps and drivers instead of the redundant fields in the flow items.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com> Acked-by: Ori Kam <orika@nvidia.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: Chengwen Feng <fengchengwen@huawei.com>
show more ...
|
#
8275d5fc |
| 25-Oct-2022 |
Thomas Monjalon <thomas@monjalon.net> |
ethdev: use Ethernet protocol struct for flow matching
As announced in the deprecation notice, flow item structures should re-use the protocol header definitions from the directory lib/net/. The Eth
ethdev: use Ethernet protocol struct for flow matching
As announced in the deprecation notice, flow item structures should re-use the protocol header definitions from the directory lib/net/. The Ethernet headers (including VLAN) structures are used instead of the redundant fields in the flow items.
The remaining protocols to clean up are listed for future work in the deprecation list. Some protocols are not even defined in the directory net yet.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com> Reviewed-by: Niklas Söderlund <niklas.soderlund@corigine.com> Acked-by: Ori Kam <orika@nvidia.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: Chengwen Feng <fengchengwen@huawei.com>
show more ...
|
#
f55fe01f |
| 15-May-2022 |
Ivan Malov <ivan.malov@oktetlabs.ru> |
net/sfc: improve naming in flow tunnel offload support
Change ambiguous terms "jump rule" and "group rule" to clearer "tunnel rule" and "switch rule". The new terms reflect the purpose of these rule
net/sfc: improve naming in flow tunnel offload support
Change ambiguous terms "jump rule" and "group rule" to clearer "tunnel rule" and "switch rule". The new terms reflect the purpose of these rules in virtual switches.
The module name, "flow tunnel", is replaced by "FT" in function names to avoid the use of word "tunnel" twice.
Use term "FT context" when referring to tunnel entries. Also, add "ctx" suffix to "ft" and "ft_id" occurrences.
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
show more ...
|
#
6da67e70 |
| 01-Feb-2022 |
Ivan Malov <ivan.malov@oktetlabs.ru> |
net/sfc: rework flow action RSS support
Currently, the driver always allocates a dedicated NIC RSS context for every separate flow rule with action RSS, which is not optimal.
First of all, multiple
net/sfc: rework flow action RSS support
Currently, the driver always allocates a dedicated NIC RSS context for every separate flow rule with action RSS, which is not optimal.
First of all, multiple rules which have the same RSS specification can share a context since filters in the hardware operate this way.
Secondly, entries in a context's indirection table are not precise queue IDs but offsets with regard to the base queue ID of a filter. This way, for example, queue arrays "0, 1, 2" and "3, 4, 5" in two otherwise identical RSS specifications allow the driver to use the same context since they both yield the same table of queue offsets.
Rework flow action RSS support in order to use these optimisations.
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Reviewed-by: Andy Moreton <amoreton@xilinx.com>
show more ...
|
#
667151ae |
| 10-Jan-2022 |
Ivan Malov <ivan.malov@oktetlabs.ru> |
net/sfc: validate queue span when parsing flow action RSS
The current code silently shrinks the value if it exceeds the supported maximum. Do not do that. Validate the value.
Fixes: d77d07391d4d ("
net/sfc: validate queue span when parsing flow action RSS
The current code silently shrinks the value if it exceeds the supported maximum. Do not do that. Validate the value.
Fixes: d77d07391d4d ("net/sfc: support flow API RSS action") Cc: stable@dpdk.org
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
show more ...
|
#
69fbb4e9 |
| 25-Oct-2021 |
Ivan Malov <ivan.malov@oktetlabs.ru> |
net/sfc: ignore direction attributes in transfer flows
[1] has deprecated the use of direction attributes in "transfer" flows. Ignore them during the transition period.
[1] commit 9d2a349b388a ("et
net/sfc: ignore direction attributes in transfer flows
[1] has deprecated the use of direction attributes in "transfer" flows. Ignore them during the transition period.
[1] commit 9d2a349b388a ("ethdev: deprecate direction attributes in transfer flows")
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
show more ...
|
#
295968d1 |
| 22-Oct-2021 |
Ferruh Yigit <ferruh.yigit@intel.com> |
ethdev: add namespace
Add 'RTE_ETH' namespace to all enums & macros in a backward compatible way. The macros for backward compatibility can be removed in next LTS. Also updated some struct names to
ethdev: add namespace
Add 'RTE_ETH' namespace to all enums & macros in a backward compatible way. The macros for backward compatibility can be removed in next LTS. Also updated some struct names to have 'rte_eth' prefix.
All internal components switched to using new names.
Syntax fixed on lines that this patch touches.
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Jerin Jacob <jerinj@marvell.com> Acked-by: Wisam Jaddo <wisamm@nvidia.com> Acked-by: Rosen Xu <rosen.xu@intel.com> Acked-by: Chenbo Xia <chenbo.xia@intel.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com> Acked-by: Somnath Kotur <somnath.kotur@broadcom.com>
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 ...
|
#
2f577f0e |
| 15-Oct-2021 |
Viacheslav Galaktionov <viacheslav.galaktionov@oktetlabs.ru> |
net/sfc: allow ports without MAE privilege
Register unprivileged ports in the switch domain registry in order to allow redirecting traffic to them.
Differentiate between different levels of MAE sup
net/sfc: allow ports without MAE privilege
Register unprivileged ports in the switch domain registry in order to allow redirecting traffic to them.
Differentiate between different levels of MAE support, update all MAE status checks.
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 ...
|
#
9df2d8f5 |
| 13-Oct-2021 |
Ivan Malov <ivan.malov@oktetlabs.ru> |
net/sfc: support counters in tunnel offload jump rules
Such a counter will only report the number of hits, which is actually a sum of two contributions (the JUMP rule's own counter + indirect increm
net/sfc: support counters in tunnel offload jump rules
Such a counter will only report the number of hits, which is actually a sum of two contributions (the JUMP rule's own counter + indirect increments issued by counters of the associated GROUP rules.
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
show more ...
|
#
8cd77251 |
| 13-Oct-2021 |
Ivan Malov <ivan.malov@oktetlabs.ru> |
net/sfc: use action rules in tunnel offload jump rules
By design, JUMP flows should be represented solely by the outer rules. But the HW/FW hasn't got support for setting Rx mark from RECIRC_ID on o
net/sfc: use action rules in tunnel offload jump rules
By design, JUMP flows should be represented solely by the outer rules. But the HW/FW hasn't got support for setting Rx mark from RECIRC_ID on outer rule lookup yet. Neither does it support outer rule counters. As a workaround, an action rule of lower priority is used to do the job.
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
show more ...
|
#
7e5b4798 |
| 13-Oct-2021 |
Ivan Malov <ivan.malov@oktetlabs.ru> |
net/sfc: implement control path operations in tunnel offload
Support generic callbacks which callers will invoke to get PMD-specific actions and items used to produce JUMP and GROUP flows and to det
net/sfc: implement control path operations in tunnel offload
Support generic callbacks which callers will invoke to get PMD-specific actions and items used to produce JUMP and GROUP flows and to detect tunnel information.
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
show more ...
|
#
93de39f5 |
| 13-Oct-2021 |
Ivan Malov <ivan.malov@oktetlabs.ru> |
net/sfc: support jump flows in tunnel offload
JUMP is an in-house term for so-called "tunnel_set" flows. On parsing, they are identified by virtue of actions MARK (PMD-internal) and JUMP. The action
net/sfc: support jump flows in tunnel offload
JUMP is an in-house term for so-called "tunnel_set" flows. On parsing, they are identified by virtue of actions MARK (PMD-internal) and JUMP. The action MARK associates a given flow with its tunnel context.
Such a flow is represented by a MAE outer rule (OR) which has its recirculation ID set. This ID is also associated with the tunnel context. The OR is supposed to set this ID in 8 high bits of Rx mark in matching packets. It also counts the packets.
Packets that hit the OR but miss in action rule (AR) table, should go to MAE admin PF (that is, to DPDK) by default.
Support for the use of action COUNT in JUMP flows will be introduced by later patches.
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
show more ...
|
#
53a80512 |
| 13-Oct-2021 |
Ivan Malov <ivan.malov@oktetlabs.ru> |
net/sfc: fence off 8 bits in Rx mark for tunnel offload
Later patches add support for tunnel offload on Riverhead (EF100). A board can host at most 254 tunnels. Partially offloaded (missed) tunnel p
net/sfc: fence off 8 bits in Rx mark for tunnel offload
Later patches add support for tunnel offload on Riverhead (EF100). A board can host at most 254 tunnels. Partially offloaded (missed) tunnel packets are identified by virtue of 8 high bits in Rx mark.
Add basic definitions of the upcoming tunnel offload support and take care of the dedicated bits in Rx mark across the driver.
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Reviewed-by: Andy Moreton <amoreton@xilinx.com>
show more ...
|
#
9b14dc74 |
| 12-Oct-2021 |
Ivan Malov <ivan.malov@oktetlabs.ru> |
net/sfc: support API to negotiate delivery of Rx metadata
Initial support for the method. Later patches will extend it to make FLAG and MARK delivery available on EF100 native datapath.
Signed-off-
net/sfc: support API to negotiate delivery of Rx metadata
Initial support for the method. Later patches will extend it to make FLAG and MARK delivery available on EF100 native datapath.
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Reviewed-by: Andy Moreton <amoreton@xilinx.com>
show more ...
|
#
ac478689 |
| 11-Oct-2021 |
Igor Romanov <igor.romanov@oktetlabs.ru> |
net/sfc: move adapter state enum to separate header
Adapter state will be reused by representors, that will have a separate adapter. Rename adapter state to ethdev state so that the meaning of it is
net/sfc: move adapter state enum to separate header
Adapter state will be reused by representors, that will have a separate adapter. Rename adapter state to ethdev state so that the meaning of it is clearer.
Signed-off-by: Igor Romanov <igor.romanov@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Reviewed-by: Andy Moreton <amoreton@xilinx.com> Reviewed-by: Ivan Malov <ivan.malov@oktetlabs.ru>
show more ...
|
#
73b91412 |
| 21-Jul-2021 |
Ivan Malov <ivan.malov@oktetlabs.ru> |
net/sfc: improve logging in MAE backend of flow API
Errors detected during parsing of pattern items and actions are reflected by setting RTE error, but the name of the bad element is not disclosed,
net/sfc: improve logging in MAE backend of flow API
Errors detected during parsing of pattern items and actions are reflected by setting RTE error, but the name of the bad element is not disclosed, thus leaving the user to join the dots themselves. Adjust the code to log missing information.
Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Reviewed-by: Andy Moreton <amoreton@xilinx.com>
show more ...
|
#
5cb47462 |
| 02-Jul-2021 |
Igor Romanov <igor.romanov@oktetlabs.ru> |
net/sfc: support count action in flow query
The query reports the number of hits for a counter associated with a flow rule.
Signed-off-by: Igor Romanov <igor.romanov@oktetlabs.ru> Signed-off-by: An
net/sfc: support count action in flow query
The query reports the number of hits for a counter associated with a flow rule.
Signed-off-by: Igor Romanov <igor.romanov@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Reviewed-by: Andy Moreton <amoreton@xilinx.com> Reviewed-by: Ivan Malov <ivan.malov@oktetlabs.ru>
show more ...
|