diff --git a/lib/packets.h b/lib/packets.h index e20a70a6623..d293b3542be 100644 --- a/lib/packets.h +++ b/lib/packets.h @@ -978,9 +978,6 @@ struct ovs_nd_prefix_opt { }; BUILD_ASSERT_DECL(ND_PREFIX_OPT_LEN == sizeof(struct ovs_nd_prefix_opt)); -#define ND_PREFIX_ON_LINK 0x80 -#define ND_PREFIX_AUTONOMOUS_ADDRESS 0x40 - /* Neighbor Discovery option: MTU. */ #define ND_MTU_OPT_LEN 8 #define ND_MTU_DEFAULT 0 diff --git a/ovn/controller/pinctrl.c b/ovn/controller/pinctrl.c index 70e788ff5d9..58bee87266c 100644 --- a/ovn/controller/pinctrl.c +++ b/ovn/controller/pinctrl.c @@ -1927,7 +1927,7 @@ ipv6_ra_update_config(const struct sbrec_port_binding *pb) config->min_interval = smap_get_int(&pb->options, "ipv6_ra_min_interval", nd_ra_min_interval_default(config->max_interval)); config->mtu = smap_get_int(&pb->options, "ipv6_ra_mtu", ND_MTU_DEFAULT); - config->la_flags = ND_PREFIX_ON_LINK; + config->la_flags = IPV6_ND_RA_OPT_PREFIX_ON_LINK; const char *address_mode = smap_get(&pb->options, "ipv6_ra_address_mode"); if (!address_mode) { @@ -1936,10 +1936,11 @@ ipv6_ra_update_config(const struct sbrec_port_binding *pb) } if (!strcmp(address_mode, "dhcpv6_stateless")) { config->mo_flags = IPV6_ND_RA_FLAG_OTHER_ADDR_CONFIG; + config->la_flags |= IPV6_ND_RA_OPT_PREFIX_AUTONOMOUS; } else if (!strcmp(address_mode, "dhcpv6_stateful")) { config->mo_flags = IPV6_ND_RA_FLAG_MANAGED_ADDR_CONFIG; } else if (!strcmp(address_mode, "slaac")) { - config->la_flags |= ND_PREFIX_AUTONOMOUS_ADDRESS; + config->la_flags |= IPV6_ND_RA_OPT_PREFIX_AUTONOMOUS; } else { VLOG_WARN("Invalid address mode %s", address_mode); goto fail; diff --git a/tests/ovn.at b/tests/ovn.at index 069d3bb30bb..e7746cb0f3c 100644 --- a/tests/ovn.at +++ b/tests/ovn.at @@ -10646,7 +10646,7 @@ ra_test 000005dc 80 80 40 aef00000000000000000000000000000 30 fd0f00000000000000 # And the other address mode ovn-nbctl --wait=hv set Logical_Router_Port ro-sw ipv6_ra_configs:address_mode=dhcpv6_stateless -ra_test 000005dc 40 80 40 aef00000000000000000000000000000 30 fd0f0000000000000000000000000000 +ra_test 000005dc 40 c0 40 aef00000000000000000000000000000 30 fd0f0000000000000000000000000000 OVN_CLEANUP([hv1],[hv2]) AT_CLEANUP