162306a36Sopenharmony_ci.. SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci
362306a36Sopenharmony_ci========================
462306a36Sopenharmony_ciprestera devlink support
562306a36Sopenharmony_ci========================
662306a36Sopenharmony_ci
762306a36Sopenharmony_ciThis document describes the devlink features implemented by the ``prestera``
862306a36Sopenharmony_cidevice driver.
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ciDriver-specific Traps
1162306a36Sopenharmony_ci=====================
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci.. list-table:: List of Driver-specific Traps Registered by ``prestera``
1462306a36Sopenharmony_ci   :widths: 5 5 90
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci   * - Name
1762306a36Sopenharmony_ci     - Type
1862306a36Sopenharmony_ci     - Description
1962306a36Sopenharmony_ci.. list-table:: List of Driver-specific Traps Registered by ``prestera``
2062306a36Sopenharmony_ci   :widths: 5 5 90
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci   * - Name
2362306a36Sopenharmony_ci     - Type
2462306a36Sopenharmony_ci     - Description
2562306a36Sopenharmony_ci   * - ``arp_bc``
2662306a36Sopenharmony_ci     - ``trap``
2762306a36Sopenharmony_ci     - Traps ARP broadcast packets (both requests/responses)
2862306a36Sopenharmony_ci   * - ``is_is``
2962306a36Sopenharmony_ci     - ``trap``
3062306a36Sopenharmony_ci     - Traps IS-IS packets
3162306a36Sopenharmony_ci   * - ``ospf``
3262306a36Sopenharmony_ci     - ``trap``
3362306a36Sopenharmony_ci     - Traps OSPF packets
3462306a36Sopenharmony_ci   * - ``ip_bc_mac``
3562306a36Sopenharmony_ci     - ``trap``
3662306a36Sopenharmony_ci     - Traps IPv4 packets with broadcast DA Mac address
3762306a36Sopenharmony_ci   * - ``stp``
3862306a36Sopenharmony_ci     - ``trap``
3962306a36Sopenharmony_ci     - Traps STP BPDU
4062306a36Sopenharmony_ci   * - ``lacp``
4162306a36Sopenharmony_ci     - ``trap``
4262306a36Sopenharmony_ci     - Traps LACP packets
4362306a36Sopenharmony_ci   * - ``lldp``
4462306a36Sopenharmony_ci     - ``trap``
4562306a36Sopenharmony_ci     - Traps LLDP packets
4662306a36Sopenharmony_ci   * - ``router_mc``
4762306a36Sopenharmony_ci     - ``trap``
4862306a36Sopenharmony_ci     - Traps multicast packets
4962306a36Sopenharmony_ci   * - ``vrrp``
5062306a36Sopenharmony_ci     - ``trap``
5162306a36Sopenharmony_ci     - Traps VRRP packets
5262306a36Sopenharmony_ci   * - ``dhcp``
5362306a36Sopenharmony_ci     - ``trap``
5462306a36Sopenharmony_ci     - Traps DHCP packets
5562306a36Sopenharmony_ci   * - ``mtu_error``
5662306a36Sopenharmony_ci     - ``trap``
5762306a36Sopenharmony_ci     - Traps (exception) packets that exceeded port's MTU
5862306a36Sopenharmony_ci   * - ``mac_to_me``
5962306a36Sopenharmony_ci     - ``trap``
6062306a36Sopenharmony_ci     -  Traps packets with switch-port's DA Mac address
6162306a36Sopenharmony_ci   * - ``ttl_error``
6262306a36Sopenharmony_ci     - ``trap``
6362306a36Sopenharmony_ci     - Traps (exception) IPv4 packets whose TTL exceeded
6462306a36Sopenharmony_ci   * - ``ipv4_options``
6562306a36Sopenharmony_ci     - ``trap``
6662306a36Sopenharmony_ci     - Traps (exception) packets due to the malformed IPV4 header options
6762306a36Sopenharmony_ci   * - ``ip_default_route``
6862306a36Sopenharmony_ci     - ``trap``
6962306a36Sopenharmony_ci     - Traps packets that have no specific IP interface (IP to me) and no forwarding prefix
7062306a36Sopenharmony_ci   * - ``local_route``
7162306a36Sopenharmony_ci     - ``trap``
7262306a36Sopenharmony_ci     - Traps packets that have been send to one of switch IP interfaces addresses
7362306a36Sopenharmony_ci   * - ``ipv4_icmp_redirect``
7462306a36Sopenharmony_ci     - ``trap``
7562306a36Sopenharmony_ci     - Traps (exception) IPV4 ICMP redirect packets
7662306a36Sopenharmony_ci   * - ``arp_response``
7762306a36Sopenharmony_ci     - ``trap``
7862306a36Sopenharmony_ci     - Traps ARP replies packets that have switch-port's DA Mac address
7962306a36Sopenharmony_ci   * - ``acl_code_0``
8062306a36Sopenharmony_ci     - ``trap``
8162306a36Sopenharmony_ci     - Traps packets that have ACL priority set to 0 (tc pref 0)
8262306a36Sopenharmony_ci   * - ``acl_code_1``
8362306a36Sopenharmony_ci     - ``trap``
8462306a36Sopenharmony_ci     - Traps packets that have ACL priority set to 1 (tc pref 1)
8562306a36Sopenharmony_ci   * - ``acl_code_2``
8662306a36Sopenharmony_ci     - ``trap``
8762306a36Sopenharmony_ci     - Traps packets that have ACL priority set to 2 (tc pref 2)
8862306a36Sopenharmony_ci   * - ``acl_code_3``
8962306a36Sopenharmony_ci     - ``trap``
9062306a36Sopenharmony_ci     - Traps packets that have ACL priority set to 3 (tc pref 3)
9162306a36Sopenharmony_ci   * - ``acl_code_4``
9262306a36Sopenharmony_ci     - ``trap``
9362306a36Sopenharmony_ci     - Traps packets that have ACL priority set to 4 (tc pref 4)
9462306a36Sopenharmony_ci   * - ``acl_code_5``
9562306a36Sopenharmony_ci     - ``trap``
9662306a36Sopenharmony_ci     - Traps packets that have ACL priority set to 5 (tc pref 5)
9762306a36Sopenharmony_ci   * - ``acl_code_6``
9862306a36Sopenharmony_ci     - ``trap``
9962306a36Sopenharmony_ci     - Traps packets that have ACL priority set to 6 (tc pref 6)
10062306a36Sopenharmony_ci   * - ``acl_code_7``
10162306a36Sopenharmony_ci     - ``trap``
10262306a36Sopenharmony_ci     - Traps packets that have ACL priority set to 7 (tc pref 7)
10362306a36Sopenharmony_ci   * - ``ipv4_bgp``
10462306a36Sopenharmony_ci     - ``trap``
10562306a36Sopenharmony_ci     - Traps IPv4 BGP packets
10662306a36Sopenharmony_ci   * - ``ssh``
10762306a36Sopenharmony_ci     - ``trap``
10862306a36Sopenharmony_ci     - Traps SSH packets
10962306a36Sopenharmony_ci   * - ``telnet``
11062306a36Sopenharmony_ci     - ``trap``
11162306a36Sopenharmony_ci     - Traps Telnet packets
11262306a36Sopenharmony_ci   * - ``icmp``
11362306a36Sopenharmony_ci     - ``trap``
11462306a36Sopenharmony_ci     - Traps ICMP packets
11562306a36Sopenharmony_ci   * - ``rxdma_drop``
11662306a36Sopenharmony_ci     - ``drop``
11762306a36Sopenharmony_ci     - Drops packets (RxDMA) due to the lack of ingress buffers etc.
11862306a36Sopenharmony_ci   * - ``port_no_vlan``
11962306a36Sopenharmony_ci     - ``drop``
12062306a36Sopenharmony_ci     - Drops packets due to faulty-configured network or due to internal bug (config issue).
12162306a36Sopenharmony_ci   * - ``local_port``
12262306a36Sopenharmony_ci     - ``drop``
12362306a36Sopenharmony_ci     - Drops packets whose decision (FDB entry) is to bridge packet back to the incoming port/trunk.
12462306a36Sopenharmony_ci   * - ``invalid_sa``
12562306a36Sopenharmony_ci     - ``drop``
12662306a36Sopenharmony_ci     - Drops packets with multicast source MAC address.
12762306a36Sopenharmony_ci   * - ``illegal_ip_addr``
12862306a36Sopenharmony_ci     - ``drop``
12962306a36Sopenharmony_ci     - Drops packets with illegal SIP/DIP multicast/unicast addresses.
13062306a36Sopenharmony_ci   * - ``illegal_ipv4_hdr``
13162306a36Sopenharmony_ci     - ``drop``
13262306a36Sopenharmony_ci     - Drops packets with illegal IPV4 header.
13362306a36Sopenharmony_ci   * - ``ip_uc_dip_da_mismatch``
13462306a36Sopenharmony_ci     - ``drop``
13562306a36Sopenharmony_ci     - Drops packets with destination MAC being unicast, but destination IP address being multicast.
13662306a36Sopenharmony_ci   * - ``ip_sip_is_zero``
13762306a36Sopenharmony_ci     - ``drop``
13862306a36Sopenharmony_ci     - Drops packets with zero (0) IPV4 source address.
13962306a36Sopenharmony_ci   * - ``met_red``
14062306a36Sopenharmony_ci     - ``drop``
14162306a36Sopenharmony_ci     - Drops non-conforming packets (dropped by Ingress policer, metering drop), e.g. packet rate exceeded configured bandwidth.
142