/* Generated by ./xlat/gen.sh from ./xlat/lwtunnel_encap_types.in; do not edit. */
#if !(defined(LWTUNNEL_ENCAP_NONE) || (defined(HAVE_DECL_LWTUNNEL_ENCAP_NONE) && HAVE_DECL_LWTUNNEL_ENCAP_NONE))
# define LWTUNNEL_ENCAP_NONE 0
#endif
#if !(defined(LWTUNNEL_ENCAP_MPLS) || (defined(HAVE_DECL_LWTUNNEL_ENCAP_MPLS) && HAVE_DECL_LWTUNNEL_ENCAP_MPLS))
# define LWTUNNEL_ENCAP_MPLS 1
#endif
#if !(defined(LWTUNNEL_ENCAP_IP) || (defined(HAVE_DECL_LWTUNNEL_ENCAP_IP) && HAVE_DECL_LWTUNNEL_ENCAP_IP))
# define LWTUNNEL_ENCAP_IP 2
#endif
#if !(defined(LWTUNNEL_ENCAP_ILA) || (defined(HAVE_DECL_LWTUNNEL_ENCAP_ILA) && HAVE_DECL_LWTUNNEL_ENCAP_ILA))
# define LWTUNNEL_ENCAP_ILA 3
#endif
#if !(defined(LWTUNNEL_ENCAP_IP6) || (defined(HAVE_DECL_LWTUNNEL_ENCAP_IP6) && HAVE_DECL_LWTUNNEL_ENCAP_IP6))
# define LWTUNNEL_ENCAP_IP6 4
#endif
#if !(defined(LWTUNNEL_ENCAP_SEG6) || (defined(HAVE_DECL_LWTUNNEL_ENCAP_SEG6) && HAVE_DECL_LWTUNNEL_ENCAP_SEG6))
# define LWTUNNEL_ENCAP_SEG6 5
#endif
#if !(defined(LWTUNNEL_ENCAP_BPF) || (defined(HAVE_DECL_LWTUNNEL_ENCAP_BPF) && HAVE_DECL_LWTUNNEL_ENCAP_BPF))
# define LWTUNNEL_ENCAP_BPF 6
#endif

#ifdef IN_MPERS

# error static const struct xlat lwtunnel_encap_types in mpers mode

#else

static
const struct xlat lwtunnel_encap_types[] = {
 XLAT(LWTUNNEL_ENCAP_NONE),
 XLAT(LWTUNNEL_ENCAP_MPLS),
 XLAT(LWTUNNEL_ENCAP_IP),
 XLAT(LWTUNNEL_ENCAP_ILA),
 XLAT(LWTUNNEL_ENCAP_IP6),
 XLAT(LWTUNNEL_ENCAP_SEG6),
 XLAT(LWTUNNEL_ENCAP_BPF),
 XLAT_END
};

#endif /* !IN_MPERS */
