openbcm

Git mirror of https://github.com/Broadcom-Network-Switching-Software/OpenBCM
git clone git://git.finwo.net/mirror/broadcom/openbcm
Log | Files | Refs | README

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 */