no ipv6 nd suppress-ra
ipv6 nd prefix 2001:0DB8:5009::/64
-.. index:: [no] ipv6 nd v4 goaway
-.. clicmd:: [no] ipv6 nd v4 goaway
-
- Set whether or not to transmit the V4 GoAway option. This option indicates
- to the destination that they should disable IPv4 on the link.
-
- Implements draft-bz-v4goawayflag-00.
-
.. seealso::
- :rfc:`4861` (Neighbor Discovery for IP Version 6 (IPv6))
- :rfc:`6275` (Mobility Support in IPv6)
- :rfc:`4191` (Default Router Preferences and More-Specific Routes)
- - https://www.ietf.org/id/draft-bz-v4goawayflag-00.txt
#include "zebra/zebra_vrf.h"
extern struct zebra_privs_t zserv_privs;
-/* currently undefined in icmp6.h */
-bool AdvGoAwayFlag;
#if defined(HAVE_RTADV)
rtadv->nd_ra_flags_reserved |= ND_RA_FLAG_OTHER;
if (zif->rtadv.AdvHomeAgentFlag)
rtadv->nd_ra_flags_reserved |= ND_RA_FLAG_HOME_AGENT;
- if (AdvGoAwayFlag)
- rtadv->nd_ra_flags_reserved |= ND_RA_FLAG_V4_GOAWAY;
-
/* Note that according to Neighbor Discovery (RFC 4861 [18]),
* AdvDefaultLifetime is by default based on the value of
* MaxRtrAdvInterval. AdvDefaultLifetime is used in the Router Lifetime
return CMD_SUCCESS;
}
-DEFUN (ipv6_nd_v4_goaway,
- ipv6_nd_v4_goaway_cmd,
- "[no] ipv6 nd v4 goaway",
- NO_STR
- "Interface IPv6 config commands\n"
- "Neighbor discovery\n"
- "v4 RA flags\n"
- "Set V4 GoAway Flag\n")
-{
- AdvGoAwayFlag = !strmatch(argv[0]->text, "no");
- return CMD_SUCCESS;
-}
-
/* Dump interface ND information to vty. */
static int nd_dump_vty(struct vty *vty, struct interface *ifp)
{
if (zif->rtadv.AdvLinkMTU)
vty_out(vty, " ipv6 nd mtu %d\n", zif->rtadv.AdvLinkMTU);
- if (AdvGoAwayFlag)
- vty_out(vty, " ipv6 nd v4 goaway\n");
-
for (ALL_LIST_ELEMENTS_RO(zif->rtadv.AdvPrefixList, node, rprefix)) {
vty_out(vty, " ipv6 nd prefix %s",
prefix2str(&rprefix->prefix, buf, sizeof(buf)));
install_element(INTERFACE_NODE, &no_ipv6_nd_router_preference_cmd);
install_element(INTERFACE_NODE, &ipv6_nd_mtu_cmd);
install_element(INTERFACE_NODE, &no_ipv6_nd_mtu_cmd);
- install_element(INTERFACE_NODE, &ipv6_nd_v4_goaway_cmd);
}
static int if_join_all_router(int sock, struct interface *ifp)