-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'marvell-prestera-devlink'
Oleksandr Mazur says: ==================== Marvell Prestera driver implementation of devlink functionality. This patch series implement Prestera Switchdev driver devlink traps, that are registered within the driver, as well as extend current devlink functionality by adding new hard drop statistics counter, that could be retrieved on-demand: the counter shows number of packets that have been dropped by the underlying device and haven't been passed to the devlink subsystem. The core prestera-devlink functionality is implemented in the prestera_devlink.c. The patch series also extends the existing devlink kernel API: - devlink: add trap_drop_counter_get callback for driver to register - make it possible to keep track of how many packets have been dropped (hard) by the switch device, before the packets even made it to the devlink subsystem (e.g. dropped due to RXDMA buffer overflow). The core features that extend current functionality of prestera Switchdev driver: - add logic for driver traps and drops registration (also traps with DROP action). - add documentation for prestera driver traps and drops group. PATCH v2: 1) Rebase whole series on top of latest mater; 2) Remove storm control-related patches, as they're out of devlink scope; ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
- Loading branch information
Showing
15 changed files
with
848 additions
and
7 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,141 @@ | ||
.. SPDX-License-Identifier: GPL-2.0 | ||
===================== | ||
prestera devlink support | ||
===================== | ||
|
||
This document describes the devlink features implemented by the ``prestera`` | ||
device driver. | ||
|
||
Driver-specific Traps | ||
===================== | ||
|
||
.. list-table:: List of Driver-specific Traps Registered by ``prestera`` | ||
:widths: 5 5 90 | ||
|
||
* - Name | ||
- Type | ||
- Description | ||
.. list-table:: List of Driver-specific Traps Registered by ``prestera`` | ||
:widths: 5 5 90 | ||
|
||
* - Name | ||
- Type | ||
- Description | ||
* - ``arp_bc`` | ||
- ``trap`` | ||
- Traps ARP broadcast packets (both requests/responses) | ||
* - ``is_is`` | ||
- ``trap`` | ||
- Traps IS-IS packets | ||
* - ``ospf`` | ||
- ``trap`` | ||
- Traps OSPF packets | ||
* - ``ip_bc_mac`` | ||
- ``trap`` | ||
- Traps IPv4 packets with broadcast DA Mac address | ||
* - ``stp`` | ||
- ``trap`` | ||
- Traps STP BPDU | ||
* - ``lacp`` | ||
- ``trap`` | ||
- Traps LACP packets | ||
* - ``lldp`` | ||
- ``trap`` | ||
- Traps LLDP packets | ||
* - ``router_mc`` | ||
- ``trap`` | ||
- Traps multicast packets | ||
* - ``vrrp`` | ||
- ``trap`` | ||
- Traps VRRP packets | ||
* - ``dhcp`` | ||
- ``trap`` | ||
- Traps DHCP packets | ||
* - ``mtu_error`` | ||
- ``trap`` | ||
- Traps (exception) packets that exceeded port's MTU | ||
* - ``mac_to_me`` | ||
- ``trap`` | ||
- Traps packets with switch-port's DA Mac address | ||
* - ``ttl_error`` | ||
- ``trap`` | ||
- Traps (exception) IPv4 packets whose TTL exceeded | ||
* - ``ipv4_options`` | ||
- ``trap`` | ||
- Traps (exception) packets due to the malformed IPV4 header options | ||
* - ``ip_default_route`` | ||
- ``trap`` | ||
- Traps packets that have no specific IP interface (IP to me) and no forwarding prefix | ||
* - ``local_route`` | ||
- ``trap`` | ||
- Traps packets that have been send to one of switch IP interfaces addresses | ||
* - ``ipv4_icmp_redirect`` | ||
- ``trap`` | ||
- Traps (exception) IPV4 ICMP redirect packets | ||
* - ``arp_response`` | ||
- ``trap`` | ||
- Traps ARP replies packets that have switch-port's DA Mac address | ||
* - ``acl_code_0`` | ||
- ``trap`` | ||
- Traps packets that have ACL priority set to 0 (tc pref 0) | ||
* - ``acl_code_1`` | ||
- ``trap`` | ||
- Traps packets that have ACL priority set to 1 (tc pref 1) | ||
* - ``acl_code_2`` | ||
- ``trap`` | ||
- Traps packets that have ACL priority set to 2 (tc pref 2) | ||
* - ``acl_code_3`` | ||
- ``trap`` | ||
- Traps packets that have ACL priority set to 3 (tc pref 3) | ||
* - ``acl_code_4`` | ||
- ``trap`` | ||
- Traps packets that have ACL priority set to 4 (tc pref 4) | ||
* - ``acl_code_5`` | ||
- ``trap`` | ||
- Traps packets that have ACL priority set to 5 (tc pref 5) | ||
* - ``acl_code_6`` | ||
- ``trap`` | ||
- Traps packets that have ACL priority set to 6 (tc pref 6) | ||
* - ``acl_code_7`` | ||
- ``trap`` | ||
- Traps packets that have ACL priority set to 7 (tc pref 7) | ||
* - ``ipv4_bgp`` | ||
- ``trap`` | ||
- Traps IPv4 BGP packets | ||
* - ``ssh`` | ||
- ``trap`` | ||
- Traps SSH packets | ||
* - ``telnet`` | ||
- ``trap`` | ||
- Traps Telnet packets | ||
* - ``icmp`` | ||
- ``trap`` | ||
- Traps ICMP packets | ||
* - ``rxdma_drop`` | ||
- ``drop`` | ||
- Drops packets (RxDMA) due to the lack of ingress buffers etc. | ||
* - ``port_no_vlan`` | ||
- ``drop`` | ||
- Drops packets due to faulty-configured network or due to internal bug (config issue). | ||
* - ``local_port`` | ||
- ``drop`` | ||
- Drops packets whose decision (FDB entry) is to bridge packet back to the incoming port/trunk. | ||
* - ``invalid_sa`` | ||
- ``drop`` | ||
- Drops packets with multicast source MAC address. | ||
* - ``illegal_ip_addr`` | ||
- ``drop`` | ||
- Drops packets with illegal SIP/DIP multicast/unicast addresses. | ||
* - ``illegal_ipv4_hdr`` | ||
- ``drop`` | ||
- Drops packets with illegal IPV4 header. | ||
* - ``ip_uc_dip_da_mismatch`` | ||
- ``drop`` | ||
- Drops packets with destination MAC being unicast, but destination IP address being multicast. | ||
* - ``ip_sip_is_zero`` | ||
- ``drop`` | ||
- Drops packets with zero (0) IPV4 source address. | ||
* - ``met_red`` | ||
- ``drop`` | ||
- Drops non-conforming packets (dropped by Ingress policer, metering drop), e.g. packet rate exceeded configured bandwith. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.