pkt.h (2679B)
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 * This file contains multicast definitions. 8 */ 9 10 #ifndef _SHR_PKT_H 11 #define _SHR_PKT_H 12 #include <shared/types.h> 13 #include <shared/pbmp.h> 14 #include <shared/rx.h> 15 #include <shared/port.h> 16 17 18 19 #define _SHR_PKT_NOF_DNX_HEADERS 9 20 #define _SHR_PKT_DNX_RAW_SIZE_MAX 20 21 22 23 /* Pkt DNX types. */ 24 typedef enum { 25 _SHR_PKT_DNX_TYPE_ITMH = 0, /* ITMH Header. */ 26 _SHR_PKT_DNX_TYPE_FTMH = 1, /* FMTH Header. */ 27 _SHR_PKT_DNX_TYPE_OTMH = 2, /* OTMH Header. */ 28 _SHR_PKT_DNX_TYPE_OTSH = 3, /* OAM-TS Header (OTSH). */ 29 _SHR_PKT_DNX_TYPE_INTERNALS = 4 /* DNX Internal fields */ 30 31 } _shr_pkt_dnx_type_t; 32 33 /* itmh dest type. */ 34 typedef enum { 35 _SHR_PKT_DNX_ITMH_DEST_TYPE_MULTICAST = 0, /* ITMH destination type is multicast. */ 36 _SHR_PKT_DNX_ITMH_DEST_TYPE_FLOW = 1, /* ITMH destination type is flow. */ 37 _SHR_PKT_DNX_ITMH_DEST_TYPE_INGRESS_SHAPING_FLOW = 2, /* ITMH destination type is ingress 38 shaping flow. */ 39 _SHR_PKT_DNX_ITMH_DEST_TYPE_VPORT = 3, /* ITMH destination type is out lif. */ 40 _SHR_PKT_DNX_ITMH_DEST_TYPE_SYSTEM_PORT = 4 /* ITMH destination type is system port. */ 41 } _shr_pkt_dnx_itmh_dest_type_t; 42 43 44 /* ftmh action type. */ 45 typedef enum { 46 _SHR_PKT_DNX_FTMH_ACTION_TYPE_FORWARD = 0, /* TM action is forward */ 47 _SHR_PKT_DNX_FTMH_ACTION_TYPE_SNOOP = 1, /* TM action is snoop */ 48 _SHR_PKT_DNX_FTMH_ACTION_TYPE_INBOUND_MIRROR = 2, /* TM action is inbound mirror. */ 49 _SHR_PKT_DNX_FTMH_ACTION_TYPE_OUTBOUND_MIRROR = 3 /* TM action is outbound mirror. */ 50 } _shr_pkt_dnx_ftmh_action_type_t; 51 52 /* otsh type */ 53 typedef enum { 54 _SHR_PKT_DNX_OTSH_TYPE_OAM = 0, /* OAM-TS type is OAM */ 55 _SHR_PKT_DNX_OTSH_TYPE_L588v2 = 1, /* OAM-TS type is 1588v2 */ 56 _SHR_PKT_DNX_OTSH_TYPE_LATENCY = 2 /* OAM-TS type is packet latency */ 57 } _shr_pkt_dnx_otsh_type_t; 58 59 /* otsh oam sutype */ 60 typedef enum { 61 _SHR_PKT_DNX_OTSH_OAM_SUBTYPE_NONE = 0, /* None */ 62 _SHR_PKT_DNX_OTSH_OAM_SUBTYPE_LM = 1, /* Loss Measurement (LM) */ 63 _SHR_PKT_DNX_OTSH_OAM_SUBTYPE_DM1588 = 2, /* Delay Measurement (DM) - 1588 ToD */ 64 _SHR_PKT_DNX_OTSH_OAM_SUBTYPE_DM_NTP = 3, /* Delay Measurement (DM) - NTP ToD */ 65 _SHR_PKT_DNX_OTSH_OAM_SUBTYPE_OAM_DEFAULT = 4, /* Default OAM type */ 66 _SHR_PKT_DNX_OTSH_OAM_SUBTYPE_LOOPBACK = 5, /* Loopback */ 67 _SHR_PKT_DNX_OTSH_OAM_SUBTYPE_ECN = 7 /* ECN */ 68 } _shr_pkt_dnx_otsh_oam_subtype_t; 69 70 71 #endif /* _SHR_PKT_H */