idents.h (3547B)
1 /* 2 * 3 * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file. 4 * 5 * Copyright 2007-2019 Broadcom Inc. All rights reserved. 6 * 7 * File: idents.h 8 * Purpose: 9 */ 10 11 #ifndef _SHARED_IDENTS_H_ 12 #define _SHARED_IDENTS_H_ 13 14 #include <shared/types.h> 15 16 /* This is the Broadcom network switching SNAP MAC and type */ 17 #define SHARED_BRCM_NTSW_SNAP_MAC {0xaa, 0xaa, 0x03, 0x00, 0x10, 0x18} 18 #define SHARED_BRCM_NTSW_SNAP_TYPE ((uint16) 1) 19 20 /* 21 * These are local IDs used to differentiate pkts. These are really 22 * used in at least two different fields, but we share the name space 23 * to keep them all unique. 24 */ 25 26 typedef enum shared_pkt_types_e { 27 SHARED_PKT_TYPE_INVALID, 28 SHARED_PKT_TYPE_PROBE, /* Discovery, probe */ 29 SHARED_PKT_TYPE_ROUTING, /* Discovery, routing */ 30 SHARED_PKT_TYPE_CONFIG, /* Discovery, configuration */ 31 SHARED_PKT_TYPE_DISC_NH, /* Discovery, next hop pkt */ 32 SHARED_PKT_TYPE_NEXT_HOP, /* Next hop protocol */ 33 SHARED_PKT_TYPE_ATP, /* Acknowledge/best effort transport */ 34 SHARED_PKT_TYPE_NH_TX, /* Next hop packet */ 35 SHARED_PKT_TYPE_C2C, /* CPU directed packets */ 36 SHARED_PKT_TYPE_COUNT /* Last, please */ 37 } shared_pkt_types_t; 38 39 #define SHARED_PKT_TYPE_NAMES \ 40 { \ 41 "invalid", \ 42 "probe", \ 43 "routing", \ 44 "config", \ 45 "disc nexthop", \ 46 "next hop", \ 47 "atp", \ 48 "next hop tx", \ 49 "cpu2cpu", \ 50 "unknown" \ 51 } 52 53 54 /* Client IDs for various resources */ 55 56 typedef enum shared_client_id_e { 57 SHARED_CLIENT_ID_INVALID, 58 SHARED_CLIENT_ID_DISC_CONFIG, /* Discovery configuration */ 59 SHARED_CLIENT_ID_TOPOLOGY, /* Topology packet */ 60 SHARED_CLIENT_ID_TUNNEL_RX_CONNECT, /* Set up packet tunnel */ 61 SHARED_CLIENT_ID_TUNNEL_RX_PKT, /* Tunnel a received packet */ 62 SHARED_CLIENT_ID_TUNNEL_RX_PKT_NO_ACK, /* Tunnel best effort */ 63 SHARED_CLIENT_ID_TUNNEL_TX_PKT, /* Tunnel a packet for transmit */ 64 SHARED_CLIENT_ID_TUNNEL_TX_PKT_NO_ACK, /* Tunnel a packet for transmit */ 65 SHARED_CLIENT_ID_RPC, /* Remote Procedure call */ 66 SHARED_CLIENT_ID_RLINK, /* Async event notification */ 67 SHARED_CLIENT_ID_COUNT /* Last, please */ 68 } shared_client_id_t; 69 70 #define SHARED_CLIENT_ID_NAMES \ 71 { \ 72 "invalid", \ 73 "disc config", \ 74 "topology", \ 75 "tunnel connect", \ 76 "tunnel rx pkt", \ 77 "tunnel rx pkt no ack", \ 78 "tunnel tx pkt", \ 79 "tunnel tx pkt no ack", \ 80 "rpc", \ 81 "rlink async event", \ 82 "unknown" \ 83 } 84 85 #endif /* _SHARED_IDENTS_H_ */