Browse Source

ospf6d: LA (local-address) bit related inter-op fix.

As per the RFC, when the NU bit is set, prefix should be ignored.
However, the code is currently ignoring prefix with LA bit too.

Fixing that part.

In future, we should also set LA bit for the loopback addresses. Not doing this
part right away, as quagga wont be backward compatible with its own previous
releases. Maybe after a release or so, we should start setting LA bit too.

Signed-off-by: Vipin Kumar <vipin@cumulusnetworks.com>
Reviewed-by: Daniel Walton <dwalton@cumulusnetworks.com>
Vipin Kumar 4 years ago
parent
commit
f1b9611821
1 changed files with 2 additions and 3 deletions
  1. 2 3
      ospf6d/ospf6_intra.c

+ 2 - 3
ospf6d/ospf6_intra.c

@@ -1275,14 +1275,13 @@ ospf6_intra_prefix_lsa_add (struct ospf6_lsa *lsa)
         break;
 
       /* Appendix A.4.1.1 */
-      if (CHECK_FLAG(op->prefix_options, OSPF6_PREFIX_OPTION_NU) ||
-	  CHECK_FLAG(op->prefix_options, OSPF6_PREFIX_OPTION_LA))
+      if (CHECK_FLAG(op->prefix_options, OSPF6_PREFIX_OPTION_NU))
 	{
 	  if (IS_OSPF6_DEBUG_EXAMIN (INTRA_PREFIX))
 	    {
 	      ospf6_linkstate_prefix2str ((struct prefix *)OSPF6_PREFIX_BODY(op),
 					  buf, sizeof (buf));
-	      zlog_debug ("%s: Skipping Prefix %s has NU/LA option set",
+	      zlog_debug ("%s: Skipping Prefix %s has NU option set",
 			  __func__, buf);
 	    }
 	  continue;