From: Numan Siddique <[email protected]> ovn-controller when it sends out periodic RA packets, sets '0' in the Router lifetime field. As per the RFC 4861, lifetime of 0 indicates that the router is not a default router and SHOULD NOT appear on the default router list. Without the default route, a VM will not able to reach to other router ports attached to the same router unless a default route is added by the user.
ovn-controller when encoding the 'put_nd_ra_opts' action sets the Router Lifetime field to 0xffff. So this patch also sets the same value when sending out the periodic RAs. Reported-at: https://bugzilla.redhat.com/show_bug.cgi?id=1567735 CC: Mark Michelson <[email protected]> Signed-off-by: Numan Siddique <[email protected]> --- ovn/controller/pinctrl.c | 3 ++- tests/ovn.at | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/ovn/controller/pinctrl.c b/ovn/controller/pinctrl.c index 2f130994a..6e6aa1caa 100644 --- a/ovn/controller/pinctrl.c +++ b/ovn/controller/pinctrl.c @@ -1432,7 +1432,8 @@ ipv6_ra_send(struct ipv6_ra_state *ra) dp_packet_use_stub(&packet, packet_stub, sizeof packet_stub); compose_nd_ra(&packet, ra->config->eth_src, ra->config->eth_dst, &ra->config->ipv6_src, &ra->config->ipv6_dst, - 255, ra->config->mo_flags, 0, 0, 0, ra->config->mtu); + 255, ra->config->mo_flags, htons(IPV6_ND_RA_LIFETIME), 0, 0, + ra->config->mtu); for (int i = 0; i < ra->config->prefixes.n_ipv6_addrs; i++) { ovs_be128 addr; diff --git a/tests/ovn.at b/tests/ovn.at index 7ae6640dc..e6c9db60d 100644 --- a/tests/ovn.at +++ b/tests/ovn.at @@ -9377,7 +9377,7 @@ construct_expected_ra() { shift 2 done - local ra=ff${ra_mo}00000000000000000000${slla}${mtu_opt}${prefix} + local ra=ff${ra_mo}ffff0000000000000000${slla}${mtu_opt}${prefix} local icmp=8600XXXX${ra} local ip_len=$(expr ${#icmp} / 2) -- 2.14.3 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
