History log of /dpdk/drivers/net/bnxt/tf_ulp/ulp_rte_parser.c (Results 1 – 25 of 64)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
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
# 62d8961f 03-Nov-2021 Kishore Padmanabha <[email protected]>

net/bnxt: check mismatch of control and physical port

During the parsing of the ingress port ignore for a flow, added
check to match the control port and the physical port that is configured
to be i

net/bnxt: check mismatch of control and physical port

During the parsing of the ingress port ignore for a flow, added
check to match the control port and the physical port that is configured
to be ignored. If they do not match then the configuration to setup the
svif ignore shall fail.

Signed-off-by: Kishore Padmanabha <[email protected]>
Reviewed-by: Mike Baucom <[email protected]>
Reviewed-by: Shahaji Bhosle <[email protected]>
Acked-by: Ajit Khaparde <[email protected]>

show more ...


# 0adfa2b6 03-Nov-2021 Kishore Padmanabha <[email protected]>

net/bnxt: support socket direct feature

Added support for socket direct feature. This feature
allows to ignore the incoming interface and use other fields
in the packet to identify the flow and forw

net/bnxt: support socket direct feature

Added support for socket direct feature. This feature
allows to ignore the incoming interface and use other fields
in the packet to identify the flow and forward.

Signed-off-by: Kishore Padmanabha <[email protected]>
Signed-off-by: Venkat Duvvuru <[email protected]>
Reviewed-by: Mike Baucom <[email protected]>
Reviewed-by: Randy Schacher <[email protected]>
Acked-by: Ajit Khaparde <[email protected]>

show more ...


# 4d2c4291 03-Nov-2021 Shahaji Bhosle <[email protected]>

net/bnxt: fix type casting

Typecast flow_item type, action_item type and the ENUMs to uint32_t
before comparing.

Bugzilla ID: 821
Fixes: bdf4a3c6316b ("net/bnxt: support tunnel offload")

Signed-of

net/bnxt: fix type casting

Typecast flow_item type, action_item type and the ENUMs to uint32_t
before comparing.

Bugzilla ID: 821
Fixes: bdf4a3c6316b ("net/bnxt: support tunnel offload")

Signed-off-by: Shahaji Bhosle <[email protected]>
Signed-off-by: Venkat Duvvuru <[email protected]>
Reviewed-by: Ajit Khaparde <[email protected]>

show more ...


# 32580839 03-Nov-2021 Kishore Padmanabha <[email protected]>

net/bnxt: support inner IP header for GRE tunnel flows

This change allows adding IP header matches for GRE flows that
does not specify outer IP header in the flow match pattern.

Signed-off-by: Kish

net/bnxt: support inner IP header for GRE tunnel flows

This change allows adding IP header matches for GRE flows that
does not specify outer IP header in the flow match pattern.

Signed-off-by: Kishore Padmanabha <[email protected]>
Signed-off-by: Venkat Duvvuru <[email protected]>
Reviewed-by: Mike Baucom <[email protected]>
Reviewed-by: Randy Schacher <[email protected]>
Reviewed-by: Ajit Khaparde <[email protected]>

show more ...


Revision tags: v21.11-rc1
# 640b44aa 13-Oct-2021 Andrew Rybchenko <[email protected]>

net/bnxt: support meta flow actions to overrule destinations

Add support for actions PORT_REPRESENTOR and REPRESENTED_PORT
based on the existing support for action PORT_ID.

Signed-off-by: Andrew Ry

net/bnxt: support meta flow actions to overrule destinations

Add support for actions PORT_REPRESENTOR and REPRESENTED_PORT
based on the existing support for action PORT_ID.

Signed-off-by: Andrew Rybchenko <[email protected]>

show more ...


# a8321e09 13-Oct-2021 Andrew Rybchenko <[email protected]>

net/bnxt: support meta flow items to match on traffic source

Add support for items PORT_REPRESENTOR and REPRESENTED_PORT
based on the existing support for item PORT_ID.

The use of item PORT_ID depe

net/bnxt: support meta flow items to match on traffic source

Add support for items PORT_REPRESENTOR and REPRESENTED_PORT
based on the existing support for item PORT_ID.

The use of item PORT_ID depends on the specified direction attribute.
Items PORT_REPRESENTOR and REPRESENTED_PORT, in turn, define traffic
direction themselves. The former matches traffic from the driver's
vNIC. The latter matches packets from either a v-port (network) or
a VF's vNIC (if the driver's port is a VF representor).

Signed-off-by: Andrew Rybchenko <[email protected]>

show more ...


# 92ef4b8f 08-Oct-2021 Andrew Rybchenko <[email protected]>

ethdev: remove deprecated shared counter attribute

Indirect actions should be used to do shared counters.

Signed-off-by: Andrew Rybchenko <[email protected]>
Acked-by: Thomas Monjalon <

ethdev: remove deprecated shared counter attribute

Indirect actions should be used to do shared counters.

Signed-off-by: Andrew Rybchenko <[email protected]>
Acked-by: Thomas Monjalon <[email protected]>
Acked-by: Ajit Khaparde <[email protected]>
Acked-by: Somnath Kotur <[email protected]>
Acked-by: Ori Kam <[email protected]>
Acked-by: Matan Azrad <[email protected]>

show more ...


# dbd29c42 20-Sep-2021 Kishore Padmanabha <[email protected]>

net/bnxt: add enhancements to TruFlow ULP

1. Added support to specify l4 port masks in the template. Also enabled
source mac in the wild card key for ingress flows.

2. Added support to enable of

net/bnxt: add enhancements to TruFlow ULP

1. Added support to specify l4 port masks in the template. Also enabled
source mac in the wild card key for ingress flows.

2. Added support to enable offload for ipv6 traffic within the vxlan
tunnel connection.

3. The flow counters is reduced from 7168 to 6912 for Whitney.
The stats operation is updated to reflect counts for packets
at egress from CFA instead of ingress to CFA

4. The miss path for the l2 context table is updated with correct
parif and default action handler to handle the miss path for
egress flows.

5. This support enables allocation of encapsulation, modification and
action records dynamically based on a given flow actions.

6. Reduce the l2context resource requests during open_session. Move the
SMAC from the L2Context to the EM/WM

7. Remap the parif in the bd action in order to eliminate incorrect
replication of broadcast packets. The layer 4 source port mask
was incorrectly updated in the outer layer 4 source port mask
instead of inner layer 4. Add the l3 proto to egress rules, switch
to using computed fields for l4 ports, add internal smac to f1/f2
flows, add l3 proto to ingress ipv6 flows

Signed-off-by: Kishore Padmanabha <[email protected]>
Signed-off-by: Mike Baucom <[email protected]>
Signed-off-by: Venkat Duvvuru <[email protected]>
Reviewed-by: Randy Schacher <[email protected]>
Reviewed-by: Ajit Khaparde <[email protected]>

show more ...


# 2730e7f9 20-Sep-2021 Kishore Padmanabha <[email protected]>

net/bnxt: add flow templates for Thor

1. Add support for egress flows with port and count action for
Thor platform.
2. Added templates to support VXLAN encapsulation feature for Thor.
3. Added su

net/bnxt: add flow templates for Thor

1. Add support for egress flows with port and count action for
Thor platform.
2. Added templates to support VXLAN encapsulation feature for Thor.
3. Added support for VXLAN decap and VLAN pop actions along with
the ingress flow.
4. Added templates to enable VXLAN decap support for f1 and f2 flows.
5. Added templates Thor VF Rep support
6. Added Thor ingress mod table actions for NAT, NAPT, and TTL.
7. Added mirror/sample table support
8. Added supported for IPv6 flows for Thor.

Signed-off-by: Kishore Padmanabha <[email protected]>
Signed-off-by: Mike Baucom <[email protected]>
Signed-off-by: Venkat Duvvuru <[email protected]>
Reviewed-by: Randy Schacher <[email protected]>
Reviewed-by: Shahaji Bhosle <[email protected]>
Reviewed-by: Ajit Khaparde <[email protected]>

show more ...


# f63aa27d 20-Sep-2021 Kishore Padmanabha <[email protected]>

net/bnxt: support dynamic encap action

The encapsulation record processing is enhanced to handle data
dynamically. Different combinations of VXLAN encapsulation using
no VLAN or single or double VLA

net/bnxt: support dynamic encap action

The encapsulation record processing is enhanced to handle data
dynamically. Different combinations of VXLAN encapsulation using
no VLAN or single or double VLAN can be supported and also supports
both IPv4 and IPv6 versions.

Signed-off-by: Kishore Padmanabha <[email protected]>
Signed-off-by: Venkat Duvvuru <[email protected]>
Reviewed-by: Randy Schacher <[email protected]>
Acked-by: Ajit Khaparde <[email protected]>

show more ...


# bdf4a3c6 20-Sep-2021 Kishore Padmanabha <[email protected]>

net/bnxt: support tunnel offload

Add support for tunnel offload APIs. Specifically the following
are supported.
tunnel_decap_set, tunnel_match, tunnel_action_decap_release,
tunnel_item_release.

Thi

net/bnxt: support tunnel offload

Add support for tunnel offload APIs. Specifically the following
are supported.
tunnel_decap_set, tunnel_match, tunnel_action_decap_release,
tunnel_item_release.

This provides support for VXLAN decap action where two flows
can indicate tunnel offload rule. The first flow indicates the
tunnel properties and second flow indicates the inner packet
structure. The templates are updated to support this
feature.

Signed-off-by: Kishore Padmanabha <[email protected]>
Signed-off-by: Venkat Duvvuru <[email protected]>
Reviewed-by: Shahaji Bhosle <[email protected]>
Acked-by: Ajit Khaparde <[email protected]>

show more ...


# ad9eed02 20-Sep-2021 Kishore Padmanabha <[email protected]>

net/bnxt: support flow template for Thor

Template adds non-VFR based support for testpmd with:
matches to include
- DMAC, SIP, DIP, Proto, Sport, Dport
- SIP, DIP, Proto, Sport, Dport
actions:
- cou

net/bnxt: support flow template for Thor

Template adds non-VFR based support for testpmd with:
matches to include
- DMAC, SIP, DIP, Proto, Sport, Dport
- SIP, DIP, Proto, Sport, Dport
actions:
- count, drop

Signed-off-by: Kishore Padmanabha <[email protected]>
Signed-off-by: Venkat Duvvuru <[email protected]>
Reviewed-by: Mike Baucom <[email protected]>
Acked-by: Ajit Khaparde <[email protected]>

show more ...


Revision tags: v21.08, v21.08-rc4, v21.08-rc3, v21.08-rc2, v21.08-rc1
# 1993b267 30-May-2021 Shahaji Bhosle <[email protected]>

net/bnxt: cleanup ULP parser and mapper

1. Disable accum_stats for Thor
2. Delete the generic port table for default flow
3. The packet mask to calculate the number of packets must be 28 bits.
4. In

net/bnxt: cleanup ULP parser and mapper

1. Disable accum_stats for Thor
2. Delete the generic port table for default flow
3. The packet mask to calculate the number of packets must be 28 bits.
4. Increase the WC TCAM entries to 512 per application and add 2
shared L2 context TCAM entries to match identifiers for flow
scaling
5. Ignore multiple critical resources in ULP flow database
6. Renamed conditional code update to function opcode.
7. Updated TRUFLOW debug logs to support the above changes.
8. As part of the HA cleanup, the shared session name now allows the user
to designate that the session uses the wc_tcam regions within the
shared session.
9. The CFA action pointer does not exist if there is no support for
VF representor, so no need to display the message for use case where
there is no support for VF representors.
10. Cleanup flow counter software accumulation.
11. When an application exits ungracefully, the HA code now
clears the appropriate shared WC region and sets the HA state.
12. Removal of unnecessary INFO message. The message is an indicator that
the ports are being removed from DPDK, but all cleanup has not
completed. Once the cleanup is completed, the timer will be stopped.

Signed-off-by: Shahaji Bhosle <[email protected]>
Signed-off-by: Mike Baucom <[email protected]>
Signed-off-by: Kishore Padmanabha <[email protected]>
Signed-off-by: Venkat Duvvuru <[email protected]>
Reviewed-by: Randy Schacher <[email protected]>
Reviewed-by: Ajit Khaparde <[email protected]>

show more ...


# a4d4308e 30-May-2021 Kishore Padmanabha <[email protected]>

net/bnxt: add ICMPv6 parser to ULP

This patch adds support for parsing rte_flow items for ICMPv6 flows.

Signed-off-by: Kishore Padmanabha <[email protected]>
Signed-off-by: Venkat Duv

net/bnxt: add ICMPv6 parser to ULP

This patch adds support for parsing rte_flow items for ICMPv6 flows.

Signed-off-by: Kishore Padmanabha <[email protected]>
Signed-off-by: Venkat Duvvuru <[email protected]>
Reviewed-by: Randy Schacher <[email protected]>
Reviewed-by: Ajit Khaparde <[email protected]>

show more ...


# 741172be 30-May-2021 Kishore Padmanabha <[email protected]>

net/bnxt: refactor flow parser in ULP

1. Remove Ether type, VLAN type and IP proto type from pattern matching,
since the header bits can be used for matching. This reduces the class
template signatu

net/bnxt: refactor flow parser in ULP

1. Remove Ether type, VLAN type and IP proto type from pattern matching,
since the header bits can be used for matching. This reduces the class
template signatures by a factor of 8.

2. Remove the wild card bit in the pattern matching since same template
can be used for both exact and wild card entries.

3. The action record pointers have to use higher range to not collide
with the firmware action record pointers. Hence reduced the number of
action record pointers for Whitney platform.

4. The conditional update opcode provide functionality to reject flows
for instance reject flows that do not adhere to flow signature match.

5. Added check to not populate protocol specifications if the
protocol mask is null or zero.

6. Check that field array is not overrun.

Signed-off-by: Kishore Padmanabha <[email protected]>
Signed-off-by: Venkat Duvvuru <[email protected]>
Reviewed-by: Mike Baucom <[email protected]>
Reviewed-by: Ajit Khaparde <[email protected]>

show more ...


# 3fe124d2 30-May-2021 Kishore Padmanabha <[email protected]>

net/bnxt: support Thor platform

1. Add templates to support Thor platform.
2. Flow counter manager is not enabled if no flow counters are
configured.
3. Mark database is not enabled if mark actio

net/bnxt: support Thor platform

1. Add templates to support Thor platform.
2. Flow counter manager is not enabled if no flow counters are
configured.
3. Mark database is not enabled if mark action is not supported.
4. Removed application to port default flow.
5. Add allocate and write for the global registry file.
6. Multiple default flow templates are combined to one.
7. Remove default loopback action record, this is required in order to
support multiple platforms.
8. Enable port table support in the generic table.
9. remove global template table in order to support multiple platforms.
10. Add support to get parent VNIC from port table database.
11. VF representor action mark is made optional since not all
configurations need representor support.
12. Add layer 4 ports to computational fields.
13. Update templates to support the above changes.
14. Add support for wildcard.

Signed-off-by: Kishore Padmanabha <[email protected]>
Signed-off-by: Venkat Duvvuru <[email protected]>
Reviewed-by: Mike Baucom <[email protected]>
Reviewed-by: Ajit Khaparde <[email protected]>

show more ...


# ddaf0afa 30-May-2021 Kishore Padmanabha <[email protected]>

net/bnxt: refactor ULP mapper

1. The internal and external exact match table resource types
is combined since the resource handle contains the encoded
type whether it is internal or external exact m

net/bnxt: refactor ULP mapper

1. The internal and external exact match table resource types
is combined since the resource handle contains the encoded
type whether it is internal or external exact match entry.

2. When a flow doesn't hit the offloaded rules, the default action is
to send it to the kernel (L2 driver interface). In order to do that,
TRUFLOW must know the kernel interface's (PF's) default vnic id.
This patch fetches the PF's default vnic id from the dpdk core and
stores it in port database. It also stores the mac addr for the
future usage. Renamed compute field for layer 4 port enums.
Added support for port database opcode that can get port details
like mac address which can then be populated in the l2 context entry.

3. Both active and default bit set need to considered to check if a
specific flow type is enabled or not.

4. ulp mapper fetches the dpdk port id from the compute field index
BNXT_ULP_CF_IDX_DEV_PORT_ID which is used to get the interface’s
mac address eventually. However, the compute field array is not
populated with dpdk port id at the index BNXT_ULP_CF_IDX_DEV_PORT_ID.
The problem fixed by populating the compute field array correctly.

5. Some dpdk applications may accumulate the flow counters while some
may not. In cases where the application is accumulating the counters
the PMD need not do the accumulation itself and viceversa to report
the correct flow counters.

6. Pointer to bp is added to open session parms to support
shared session.

Signed-off-by: Venkat Duvvuru <[email protected]>
Signed-off-by: Kishore Padmanabha <[email protected]>
Signed-off-by: Jay Ding <[email protected]>
Reviewed-by: Lance Richardson <[email protected]>
Reviewed-by: Mike Baucom <[email protected]>
Reviewed-by: Ajit Khaparde <[email protected]>
Reviewed-by: Somnath Kotur <[email protected]>
Reviewed-by: Randy Schacher <[email protected]>

show more ...


# 7891de8d 30-May-2021 Venkat Duvvuru <[email protected]>

net/bnxt: support GRE flows

This patch does the following to support GRE flows:
1. RTE_FLOW_ITEM_TYPE_ANY & RTE_FLOW_ITEM_TYPE_GRE processing
2. Calculate the absolute function ID from the logical V

net/bnxt: support GRE flows

This patch does the following to support GRE flows:
1. RTE_FLOW_ITEM_TYPE_ANY & RTE_FLOW_ITEM_TYPE_GRE processing
2. Calculate the absolute function ID from the logical VF ID
passed as part of RTE_FLOW_ACTION_TYPE_VF action.
3. Move bnxt_get_bp API to bnxt_ethdev.c

Signed-off-by: Venkat Duvvuru <[email protected]>
Reviewed-by: Somnath Kotur <[email protected]>
Reviewed-by: Ajit Khaparde <[email protected]>

show more ...


# 397922ff 30-May-2021 Kishore Padmanabha <[email protected]>

net/bnxt: support wildcard pattern matching

The computational field is enabled for wild card pattern support.
The template checks the computational field to add a flow as wild
card entry or exact ma

net/bnxt: support wildcard pattern matching

The computational field is enabled for wild card pattern support.
The template checks the computational field to add a flow as wild
card entry or exact match entry.

Signed-off-by: Kishore Padmanabha <[email protected]>
Reviewed-by: Venkat Duvvuru <[email protected]>
Reviewed-by: Ajit Khaparde <[email protected]>

show more ...


# 6167c20c 30-May-2021 Kishore Padmanabha <[email protected]>

net/bnxt: add conditional opcode and L4 port fields

The conditional field opcode provides capability to perform
changes to the field values specified by template to address
platform specific modific

net/bnxt: add conditional opcode and L4 port fields

The conditional field opcode provides capability to perform
changes to the field values specified by template to address
platform specific modifications. For instance, mirror id value
is modified before it is configured in the hardware.

The addition of L4 port compute fields enables support of
generic exact match rule that can support both TCP and UDP
flows with the same template.

Signed-off-by: Kishore Padmanabha <[email protected]>
Signed-off-by: Venkat Duvvuru <[email protected]>
Reviewed-by: Mike Baucom <[email protected]>
Reviewed-by: Shahaji Bhosle <[email protected]>
Reviewed-by: Ajit Khaparde <[email protected]>

show more ...


# 59ae4961 30-May-2021 Kishore Padmanabha <[email protected]>

net/bnxt: add conditional goto processing

The condition execute of the mapper tables have goto field that
defines the offset of the next table to be processed instead of
sequential processing of the

net/bnxt: add conditional goto processing

The condition execute of the mapper tables have goto field that
defines the offset of the next table to be processed instead of
sequential processing of the tables, this improving the performance.
Also, modify key and mask field opcode processing

Signed-off-by: Kishore Padmanabha <[email protected]>
Signed-off-by: Venkat Duvvuru <[email protected]>
Reviewed-by: Mike Baucom <[email protected]>
Reviewed-by: Ajit Khaparde <[email protected]>

show more ...


# a2417601 30-May-2021 Kishore Padmanabha <[email protected]>

net/bnxt: identify duplicate flows

Conflict resolution feature allows rejection of flows based on
the previously added flows that conflict. For instance, a five
tuple flow is added and then you add

net/bnxt: identify duplicate flows

Conflict resolution feature allows rejection of flows based on
the previously added flows that conflict. For instance, a five
tuple flow is added and then you add a new flow with only 4 tuple
instead having same layer2 details then it will be rejected.

Signed-off-by: Kishore Padmanabha <[email protected]>
Signed-off-by: Venkat Duvvuru <[email protected]>
Reviewed-by: Mike Baucom <[email protected]>
Reviewed-by: Ajit Khaparde <[email protected]>

show more ...


Revision tags: 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
# 2addc463 27-Jan-2021 Ajit Khaparde <[email protected]>

net/bnxt: update copyright year

Update copyright year in various files.

Signed-off-by: Ajit Khaparde <[email protected]>
Reviewed-by: Somnath Kotur <[email protected]>
Reviewed-by

net/bnxt: update copyright year

Update copyright year in various files.

Signed-off-by: Ajit Khaparde <[email protected]>
Reviewed-by: Somnath Kotur <[email protected]>
Reviewed-by: Kalesh AP <[email protected]>

show more ...


Revision tags: v21.02-rc1, v20.11, v20.11-rc5
# 0d23f95d 16-Nov-2020 Xiaoyu Min <[email protected]>

net/bnxt: fix VLAN/VXLAN encapsulation header size

The rte_flow_item_eth and rte_flow_item_vlan items are refined.
The structs do not exactly represent the packet bits captured on the
wire anymore s

net/bnxt: fix VLAN/VXLAN encapsulation header size

The rte_flow_item_eth and rte_flow_item_vlan items are refined.
The structs do not exactly represent the packet bits captured on the
wire anymore so should only copy real header instead of the whole struct.

Replace the rte_flow_item_* with the existing corresponding rte_*_hdr.

Fixes: 09315fc83861 ("ethdev: add VLAN attributes to ethernet and VLAN items")

Signed-off-by: Xiaoyu Min <[email protected]>
Acked-by: Ajit Khaparde <[email protected]>

show more ...


Revision tags: v20.11-rc4, v20.11-rc3, v20.11-rc2
# 8665487e 01-Nov-2020 Venkat Duvvuru <[email protected]>

net/bnxt: fix VXLAN decap offload

This patch fixes a couple of scenarios which were overlooked
by the patch which added VXLAN rte_flow offload support.

1. When a PMD application queries for flow co

net/bnxt: fix VXLAN decap offload

This patch fixes a couple of scenarios which were overlooked
by the patch which added VXLAN rte_flow offload support.

1. When a PMD application queries for flow counters, it could ask PMD
to reset the counters when the application is doing the counters
accumulation. In this case, PMD should not accumulate rather reset
the counter.

2. Some of the PMD applications may set the protocol field in the IPv4
spec but don't set the mask. So, consider the mask in the proto
value calculation.

4. The cached tunnel inner flow is not getting installed in the
context of tunnel outer flow create because of the wrong
error code check when tunnel outer flow is installed in the
hardware.

5. When a dpdk application offloads the same tunnel inner flow on
all the uplink ports, other than the first one the driver rejects
the rest of them. However, the first tunnel inner flow request
might not be of the correct physical port. This is fixed by
caching the tunnel inner flow entry for all the ports on which
the flow offload request has arrived on. The tunnel inner flows
which were cached on the irrelevant ports will eventually get
aged out as there won't be any traffic on these ports.

Fixes: 675e31d877b6 ("net/bnxt: support VXLAN decap offload")

Signed-off-by: Venkat Duvvuru <[email protected]>
Reviewed-by: Ajit Khaparde <[email protected]>
Reviewed-by: Somnath Kotur <[email protected]>

show more ...


123