blob: f396a1fef63359a9fe11d0d11844596a8f25e230 [file] [log] [blame]
Jiri Pirko93c1edb2015-07-29 23:33:46 +02001/*
2 * drivers/net/ethernet/mellanox/mlxsw/trap.h
3 * Copyright (c) 2015 Mellanox Technologies. All rights reserved.
4 * Copyright (c) 2015 Elad Raz <eladr@mellanox.com>
5 * Copyright (c) 2015 Jiri Pirko <jiri@mellanox.com>
6 * Copyright (c) 2015 Ido Schimmel <idosch@mellanox.com>
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions are met:
10 *
11 * 1. Redistributions of source code must retain the above copyright
12 * notice, this list of conditions and the following disclaimer.
13 * 2. Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the distribution.
16 * 3. Neither the names of the copyright holders nor the names of its
17 * contributors may be used to endorse or promote products derived from
18 * this software without specific prior written permission.
19 *
20 * Alternatively, this software may be distributed under the terms of the
21 * GNU General Public License ("GPL") version 2 as published by the Free
22 * Software Foundation.
23 *
24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
28 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
29 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
30 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
31 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
32 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
33 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34 * POSSIBILITY OF SUCH DAMAGE.
35 */
36#ifndef _MLXSW_TRAP_H
37#define _MLXSW_TRAP_H
38
39enum {
40 /* Ethernet EMAD and FDB miss */
41 MLXSW_TRAP_ID_FDB_MC = 0x01,
42 MLXSW_TRAP_ID_ETHEMAD = 0x05,
43 /* L2 traps for specific packet types */
44 MLXSW_TRAP_ID_STP = 0x10,
45 MLXSW_TRAP_ID_LACP = 0x11,
46 MLXSW_TRAP_ID_EAPOL = 0x12,
47 MLXSW_TRAP_ID_LLDP = 0x13,
48 MLXSW_TRAP_ID_MMRP = 0x14,
49 MLXSW_TRAP_ID_MVRP = 0x15,
50 MLXSW_TRAP_ID_RPVST = 0x16,
51 MLXSW_TRAP_ID_DHCP = 0x19,
52 MLXSW_TRAP_ID_IGMP_QUERY = 0x30,
53 MLXSW_TRAP_ID_IGMP_V1_REPORT = 0x31,
54 MLXSW_TRAP_ID_IGMP_V2_REPORT = 0x32,
55 MLXSW_TRAP_ID_IGMP_V2_LEAVE = 0x33,
56 MLXSW_TRAP_ID_IGMP_V3_REPORT = 0x34,
Yotam Gigi98d0f7b2017-01-23 11:07:11 +010057 MLXSW_TRAP_ID_PKT_SAMPLE = 0x38,
Jiri Pirko9d41acc2017-04-18 16:55:38 +020058 MLXSW_TRAP_ID_FID_MISS = 0x3D,
Jiri Pirko7b27ce72016-07-02 11:00:20 +020059 MLXSW_TRAP_ID_ARPBC = 0x50,
60 MLXSW_TRAP_ID_ARPUC = 0x51,
Elad Razc20b8012016-08-17 16:39:32 +020061 MLXSW_TRAP_ID_MTUERROR = 0x52,
62 MLXSW_TRAP_ID_TTLERROR = 0x53,
Ido Schimmela94a6142016-08-17 16:39:33 +020063 MLXSW_TRAP_ID_LBERROR = 0x54,
Arkadi Sharshevsky8d548142017-07-18 10:10:11 +020064 MLXSW_TRAP_ID_IPV4_OSPF = 0x55,
Jiri Pirko7b27ce72016-07-02 11:00:20 +020065 MLXSW_TRAP_ID_IP2ME = 0x5F,
Arkadi Sharshevsky8d548142017-07-18 10:10:11 +020066 MLXSW_TRAP_ID_IPV6_UNSPECIFIED_ADDRESS = 0x60,
67 MLXSW_TRAP_ID_IPV6_LINK_LOCAL_DEST = 0x61,
68 MLXSW_TRAP_ID_IPV6_LINK_LOCAL_SRC = 0x62,
69 MLXSW_TRAP_ID_IPV6_ALL_NODES_LINK = 0x63,
70 MLXSW_TRAP_ID_IPV6_OSPF = 0x64,
Arkadi Sharshevsky588823f2017-07-17 14:15:31 +020071 MLXSW_TRAP_ID_IPV6_MLDV12_LISTENER_QUERY = 0x65,
72 MLXSW_TRAP_ID_IPV6_MLDV1_LISTENER_REPORT = 0x66,
73 MLXSW_TRAP_ID_IPV6_MLDV1_LISTENER_DONE = 0x67,
74 MLXSW_TRAP_ID_IPV6_MLDV2_LISTENER_REPORT = 0x68,
Arkadi Sharshevsky8d548142017-07-18 10:10:11 +020075 MLXSW_TRAP_ID_IPV6_DHCP = 0x69,
76 MLXSW_TRAP_ID_IPV6_ALL_ROUTERS_LINK = 0x6F,
Jiri Pirko7b27ce72016-07-02 11:00:20 +020077 MLXSW_TRAP_ID_RTR_INGRESS0 = 0x70,
Arkadi Sharshevsky8d548142017-07-18 10:10:11 +020078 MLXSW_TRAP_ID_IPV4_BGP = 0x88,
79 MLXSW_TRAP_ID_IPV6_BGP = 0x89,
80 MLXSW_TRAP_ID_L3_IPV6_ROUTER_SOLICITATION = 0x8A,
81 MLXSW_TRAP_ID_L3_IPV6_ROUTER_ADVERTISMENT = 0x8B,
82 MLXSW_TRAP_ID_L3_IPV6_NEIGHBOR_SOLICITATION = 0x8C,
83 MLXSW_TRAP_ID_L3_IPV6_NEIGHBOR_ADVERTISMENT = 0x8D,
84 MLXSW_TRAP_ID_L3_IPV6_REDIRECTION = 0x8E,
Jiri Pirko7b27ce72016-07-02 11:00:20 +020085 MLXSW_TRAP_ID_HOST_MISS_IPV4 = 0x90,
Arkadi Sharshevsky8d548142017-07-18 10:10:11 +020086 MLXSW_TRAP_ID_IPV6_MC_LINK_LOCAL_DEST = 0x91,
87 MLXSW_TRAP_ID_HOST_MISS_IPV6 = 0x92,
Petr Machata86484de2017-09-02 23:49:27 +020088 MLXSW_TRAP_ID_IPIP_DECAP_ERROR = 0xB1,
Ido Schimmel7607dd32017-07-17 14:15:30 +020089 MLXSW_TRAP_ID_ROUTER_ALERT_IPV4 = 0xD6,
Arkadi Sharshevsky8d548142017-07-18 10:10:11 +020090 MLXSW_TRAP_ID_ROUTER_ALERT_IPV6 = 0xD7,
Jiri Pirko0db7b382017-06-06 14:12:05 +020091 MLXSW_TRAP_ID_ACL0 = 0x1C0,
Jiri Pirko93c1edb2015-07-29 23:33:46 +020092
93 MLXSW_TRAP_ID_MAX = 0x1FF
94};
95
96enum mlxsw_event_trap_id {
97 /* Port Up/Down event generated by hardware */
98 MLXSW_TRAP_ID_PUDE = 0x8,
99};
100
101#endif /* _MLXSW_TRAP_H */