From: Numan Siddique <nusid...@redhat.com>

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 <mmich...@redhat.com>
Signed-off-by: Numan Siddique <nusid...@redhat.com>
---
 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
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to