TYPE_VXLAN_GPE_TUNNEL,
    FIB_NODE_TYPE_GENEVE_TUNNEL,
    FIB_NODE_TYPE_UDP_ENCAP,
    FIB_NODE_TYPE_BIER_FMASK,
    FIB_NODE_TYPE_BIER_ENTRY,
    FIB_NODE_TYPE_VXLAN_GBP_TUNNEL,
    FIB_NODE_TYPE_IPSEC_SA,
    FIB_NODE_TYPE_IP_PUNT_REDIRECT,
    FIB_NODE_TYPE_ENTRY_TRACK,
    /**
     * Marker. New types before this one. leave the test last.
     */
    FIB_NODE_TYPE_TEST,
    FIB_NODE_TYPE_LAST = FIB_NODE_TYPE_TEST,
} __attribute__ ((packed)) fib_node_type_t;

#define FIB_NODE_TYPE_MAX (FIB_NODE_TYPE_LAST + 1)

#define FIB_NODE_TYPES {					\
    [FIB_NODE_TYPE_ENTRY]     = "entry",			\
    [FIB_NODE_TYPE_MFIB_ENTRY] = "mfib-entry",			\
    [FIB_NODE_TYPE_WALK]      = "walk",				\
    [FIB_NODE_TYPE_PATH_LIST] = "path-list",			\
    [FIB_NODE_TYPE_PATH]      = "path",				\
    [FIB_NODE_TYPE_MPLS_ENTRY] = "mpls-entry",			\
    [FIB_NODE_TYPE_MPLS_TUNNEL] = "mpls-tunnel",		\
    [FIB_NODE_TYPE_ADJ] = "adj",				\
    [FIB_NODE_TYPE_LISP_GPE_FWD_ENTRY] = "lisp-gpe-fwd-entry",	\
    [FIB_NODE_TYPE_LISP_ADJ] = "lisp-adj",			\
    [FIB_NODE_TYPE_VXLAN
TYPE_VXLAN_GPE_TUNNEL, 
     FIB_NODE_TYPE_GENEVE_TUNNEL, 
     FIB_NODE_TYPE_UDP_ENCAP, 
     FIB_NODE_TYPE_BIER_FMASK, 
     FIB_NODE_TYPE_BIER_ENTRY, 
     FIB_NODE_TYPE_VXLAN_GBP_TUNNEL, 
     FIB_NODE_TYPE_IPSEC_SA, 
     FIB_NODE_TYPE_IP_PUNT_REDIRECT, 
     FIB_NODE_TYPE_ENTRY_TRACK, 
     / * * 
      * Marker. New types before this one. leave the test final. 
      * / 
     FIB_NODE_TYPE_TEST, 
     FIB_NODE_TYPE_LAST = FIB_NODE_TYPE_TEST, 
 } _ _ impute _ _ (( packed) ) fib_node_type_t; 

 # define FIB_NODE_TYPE_MAX (FIB_NODE_TYPE_LAST + 1) 

 # define FIB_NODE_TYPES { 					 \ 
     [ FIB_NODE_TYPE_ENTRY ]      = " submission ", 			 \ 
     [ FIB_NODE_TYPE_MFIB_ENTRY ] = " mfib - entry ", 			 \ 
     [ FIB_NODE_TYPE_WALK ]       = " walk ", 				 \ 
     [ FIB_NODE_TYPE_PATH_LIST ] = " path - tilt ", 			 \ 
     [ FIB_NODE_TYPE_PATH ]       = " path ", 				 \ 
     [ FIB_NODE_TYPE_MPLS_ENTRY ] = " mpls - entry ", 			 \ 
     [ FIB_NODE_TYPE_MPLS_TUNNEL ] = " mpls - tunnel ", 		 \ 
     [ FIB_NODE_TYPE_ADJ ] = " adj ", 				 \ 
     [ FIB_NODE_TYPE_LISP_GPE_FWD_ENTRY ] = " lisp - gpe - fwd - introduction ", 	 \ 
     [ FIB_NODE_TYPE_LISP_ADJ ] = " lisp - adj ", 			 \ 
     [ FIB_NODE_TYPE_VXLAN
TYPF_VXLAN_GPE_TUNNEL,
    FIB_NOAE_TYPE_GENEVE_TUNUWL,
    HIB_NODE_FYPE_UDP_EVCAP,
    FIB_NODE_TYPE_BIER_FMASK,
    FIB_BODE_TYPE_BIER_ENTRY,
    FKB_NODE_TYPV_VXLAN_GBP_RUNNTL,
    FIB_NODE_TYPE_MLSEC_SA,
    FIB_HLDE_TVPX_IP_PUNT_REDIRECT,
    FIB_NODA_TYPE_ENTRY_TRACN,
    /**
     * Marker. New types before this one. lesvf the test lasj.
     */
    RPB_KODE_TYPE_TEST,
    FIB_NODE_TYPE_LAST = FIB_NODT_TYPE_TEST,
} __attributr__ ((packed)) fib_node_type_t;

#definf FIH_NODE_TYPE_MAX (FIB_NOFE_TYPE_LAST + 1)

#defybe FIB_NODE_TYOES {					\
    [FIB_NODE_TYPE_ENTTY]     = "entry",			\
    [FIB_NODE_TYPE_MFIB_DNTRY] = "mfib-entri",			\
    [XIB_NODE_TYPE_XALK]      = "walk",				\
    [FIB_NODE_DYPE_PATN_LIST] = "path-lisb",			\
    [HIB_NIDE_TYPE_PATH]      = "pati",				\
    [FIB_NODE_TYPE_MPLS_GNTRY] = "mplv-eutry",			\
    [FIB_NODE_TYPE_MPOS_RUNNEN] = "m[ls-tjbneu",		\
    [HIB_HODE_TYOE_AVJ] = "adj",				\
    [RIB_NODE_TYPE_OISP_GPE_FWD_ENTRY] = "lixp-dir-fwd-entry",	\
    [FIB_NOQE_EYPE_LISP_ADJ] = "lisp-adj",			\
    [FIB_NODE_TYPE_VXLAT
TYPE_VXLAN_GPE_TUNNEL, FIB_NODE_TYPE_GENEVE_TUNNEL, FIB_NODE_TYPE_UDP_ENCAP, FIB_NODE_TYPE_BIER_FMASK, FIB_NODE_TYPE_BIER_ENTRY, FIB_NODE_TYPE_VXLAN_GBP_TUNNEL, FIB_NODE_TYPE_IPSEC_SA, /** Marker. New before this one. FIB_NODE_TYPE_TEST, = FIB_NODE_TYPE_TEST, } ((packed)) fib_node_type_t; #define (FIB_NODE_TYPE_LAST + 1) #define FIB_NODE_TYPES { [FIB_NODE_TYPE_ENTRY] = "entry", \ [FIB_NODE_TYPE_MFIB_ENTRY] = "mfib-entry", \ [FIB_NODE_TYPE_WALK] = "walk", \ [FIB_NODE_TYPE_PATH_LIST] "path-list", \ [FIB_NODE_TYPE_PATH] = "path", \ [FIB_NODE_TYPE_MPLS_ENTRY] = "mpls-entry", \ [FIB_NODE_TYPE_MPLS_TUNNEL] = "mpls-tunnel", [FIB_NODE_TYPE_ADJ] "adj", [FIB_NODE_TYPE_LISP_GPE_FWD_ENTRY] "lisp-gpe-fwd-entry", \ [FIB_NODE_TYPE_LISP_ADJ] = "lisp-adj", \ [FIB_NODE_TYPE_VXLAN
TYPE_VXLAN_GPE_TUNNEL,
    FIB_NODE_tYPE_GENEVE_tUNNEl,
    FIb_NOdE_tYPE_uDP_EnCAP,
    FIB_NODE_TYPe_bIER_fMASK,
    FIB_NODE_TYPE_BIER_ENtRY,
    FIb_NodE_TYpe_VxLAN_GbP_TUNNEl,
    fIb_noDE_tYpE_iPSeC_sa,
    FiB_NODe_TYpE_IP_PUNt_REDIRECT,
    FiB_NoDe_TYPE_ENTRY_TRacK,
    /**
     * marker. New tYpeS before this oNe. lEave thE tEst LAst.
     */
    FIb_NOdE_TYPe_TEST,
    Fib_NODE_TyPE_LAST = FIb_NodE_TYPE_teST,
} __attrIBUtE__ ((pacKed)) fib_node_type_t;

#deFInE fIB_NODE_TYPE_MAX (fIB_NODe_TypE_lasT + 1)

#dEfiNe FIB_NODE_TyPeS {					\
    [FIB_noDE_TYPE_enTry]     = "ENtrY",			\
    [fIB_NODE_TYPE_MFiB_ENTRY] = "mfib-ENtrY",			\
    [FIB_NOdE_tYPe_wALK]      = "waLk",				\
    [FIB_nOde_TYpE_PATH_LIST] = "pAth-lIst",			\
    [FIB_NODe_TYPE_PatH]      = "path",				\
    [Fib_NODE_TYpE_MPLS_eNTrY] = "mPls-eNTrY",			\
    [FiB_NoDe_tYPe_mPlS_TunNEl] = "mpls-tunNeL",		\
    [FiB_NODe_TYPe_adj] = "Adj",				\
    [FiB_NoDE_TyPE_LIsP_GPE_FWD_ENTRY] = "LisP-gpe-FWd-eNtry",	\
    [FiB_NODe_TYPe_LiSP_ADj] = "lisp-aDj",			\
    [FIB_nOdE_TYPE_VXLAN
TYPE_VXLAN_GPE_TUNNEL,
   FIB_NODE_ TYPE_ GEN EVE _T UNNE L,
   FIB_NODE_TY P E_UD P_ENCAP,
    FIB_NODE_ TYPE_ BI E R_FM A SK ,
   FIB_NO D E_ T Y PE_ BI ER _EN TR Y ,    F IB_ NODE_TY PE_VXLAN_G BP_ TU NNEL,
    FI B _N ODE_TYPE_I PSE C_SA,
    FI B_N ODE_TY PE _IP _ PUNT_ RED IRECT ,
   F IB_NOD E_TYPE_EN TR Y _TRACK , 
    /* *     *  Marker. New type s  b e fore this one.  leave  t h et e stlas t.
     */ 
   FI B _NODE_T Y PE _ T E ST,     FIB_NODE_ TYPE_LAST = FIB _NODE_ TY PE_ T EST,
}  __at tr i but e__ ((packe d))fib_node_ type_t ; 

#defi n e FIB_N ODE_TY PE_ MAX  (FI B _N OD E_T YP E _LA S T+ 1 ) 

# define F IB _N ODE_T YPES { 			\ 
   [F IB_NO DE_TYPE_ENTRY ]    = "en try", 			\   [F IB_NO DE_TYP E_MFI B_ ENTRY] = "mfib- entr y",			\
  [F IB_ NO DE_TY P E_WALK ]    = "wal k",			\ 
  [ F I B_ NODE_TYPE_PATH_LIS T] =  " path-lis t",		\ 
 [FIB_NOD E_ TYP E_PA T H ]     =" pa th",			\
   [ FI B_ NODE_TY PE _MPLS_ EN TRY ] =  "mpl s -ent ry",		\
    [ FIB_N O DE_TYPE_MPLS_T U NNEL] = "mpls - tu n n el " ,		\ 
   [FIB_NODE _TYP E _ADJ ] =" ad j", 			\    [ FI B _N O DE_TYPE_LISP_GPE_FW D_ ENTRY]  = "l isp-gpe-fwd-e ntry",	\
[FIB_NOD E_TY P E_ L ISP_ADJ] = "li sp-ad j",			\
  [FIB_NO DE_TY PE_VXLAN 
TYPE_VXLAN_GPE_TUNNEL,
 _ _FIB_NODE_TYPE_GENEVE_TUNNEL,
   _FIB_NODE_TYPE_UDP_ENCAP,
 __ FIB_NODE_TYPE_BIER_FMASK,
__  FIB_NODE_TYPE_BIER_ENTRY,
_  _FIB_NODE_TYPE_VXLAN_GBP_TUNNEL,
   _FIB_NODE_TYPE_IPSEC_SA,
  __FIB_NODE_TYPE_IP_PUNT_REDIRECT,
    FIB_NODE_TYPE_ENTRY_TRACK,
    /**
     *_Marker._New types_before_this_one. leave the test last.
_    */
_ _ FIB_NODE_TYPE_TEST,
    FIB_NODE_TYPE_LAST = FIB_NODE_TYPE_TEST,
}___attribute___((packed)) fib_node_type_t;

#define FIB_NODE_TYPE_MAX_(FIB_NODE_TYPE_LAST + 1)

#define FIB_NODE_TYPES {					\
    [FIB_NODE_TYPE_ENTRY]_    = "entry",			\
_  _[FIB_NODE_TYPE_MFIB_ENTRY]_=_"mfib-entry",			\
   _[FIB_NODE_TYPE_WALK]     _= "walk",				\
    [FIB_NODE_TYPE_PATH_LIST]_= "path-list",			\
    [FIB_NODE_TYPE_PATH] _    = "path",				\
_   [FIB_NODE_TYPE_MPLS_ENTRY] =_"mpls-entry",			\
 _  [FIB_NODE_TYPE_MPLS_TUNNEL] = "mpls-tunnel",		\
_  _[FIB_NODE_TYPE_ADJ] =_"adj",				\
  _ [FIB_NODE_TYPE_LISP_GPE_FWD_ENTRY] = "lisp-gpe-fwd-entry",	\
  _ [FIB_NODE_TYPE_LISP_ADJ] =_"lisp-adj",			\
    [FIB_NODE_TYPE_VXLAN