/* Generated by ./xlat/gen.sh from ./xlat/sysctl_net_ipv6.in; do not edit. */

#ifdef IN_MPERS

# error static const struct xlat sysctl_net_ipv6 in mpers mode

#else

static
const struct xlat sysctl_net_ipv6[] = {
 XLAT(NET_IPV6_CONF),
 XLAT(NET_IPV6_NEIGH),
 XLAT(NET_IPV6_ROUTE),
 XLAT(NET_IPV6_ICMP),
 XLAT(NET_IPV6_BINDV6ONLY),
 XLAT(NET_IPV6_IP6FRAG_HIGH_THRESH),
 XLAT(NET_IPV6_IP6FRAG_LOW_THRESH),
 XLAT(NET_IPV6_IP6FRAG_TIME),
 XLAT(NET_IPV6_IP6FRAG_SECRET_INTERVAL),
#if defined(NET_IPV6_MLD_MAX_MSF) || (defined(HAVE_DECL_NET_IPV6_MLD_MAX_MSF) && HAVE_DECL_NET_IPV6_MLD_MAX_MSF)
  XLAT(NET_IPV6_MLD_MAX_MSF),
#endif
 XLAT_END
};

#endif /* !IN_MPERS */
