NETVIRT-1166:IPv6 NA packet is setting with wrong solicited flag 43/69743/3
authorkarthikeyan <karthikeyangceb007@gmail.com>
Wed, 21 Mar 2018 10:08:00 +0000 (15:38 +0530)
committerSridhar Gaddam <sgaddam@redhat.com>
Mon, 2 Apr 2018 09:30:56 +0000 (09:30 +0000)
Problem Description:
====================
Currently ODL IPv6 Service is doing Neighbor Advertisement (NA) for
Neighbor Solicitation (NS) request.
NS packet may contains IPv6 Source Address as below possible way:
:: --> Unspecified
SLL --> Source Link Local Address

When NS packet is punted to the ODL controller, It will prepare the NA
packet and it will send this NA to NS initiated nodes.
NA packet contains IPv6 Destination Address as below possible way based on
the NS packet received.
FF02::1 --> All node multicast IP address (FLAGS: R:1, S:0, O:1)
Dest_LLA --> Destination LLA taken from NS (FLAGS: R:1, S:1, O:1)

Currently ODL controller is setting Solicited Flag=1 for All node
multicast IPv6 address. Which is wrong.

Solution:
===========
ODL IPv6 Service Defined constant with wrong value is the root cause of
this issue. To address this issue have made the changes properly with IPv6
constant.

Change-Id: I0b0868ad78a904c8e7ea4d0d157b16d6ef309974
Signed-off-by: karthikeyan <karthikeyangceb007@gmail.com>
ipv6service/impl/src/main/java/org/opendaylight/netvirt/ipv6service/utils/Ipv6ServiceUtils.java

index e099bd15204e691a8fd1794c0994f454fe8f231f..291202da6dd7012e69a2ba577f3dd5e4aec1708a 100644 (file)
@@ -67,8 +67,8 @@ import org.slf4j.LoggerFactory;
 @Singleton
 public class Ipv6ServiceUtils {
     private static final Logger LOG = LoggerFactory.getLogger(Ipv6ServiceUtils.class);
-    public static final Ipv6Address ALL_NODES_MCAST_ADDR = newIpv6Address("0:0:0:0:0:0:0:0");
-    public static final Ipv6Address UNSPECIFIED_ADDR = newIpv6Address("FF02::1");
+    public static final Ipv6Address ALL_NODES_MCAST_ADDR = newIpv6Address("FF02::1");
+    public static final Ipv6Address UNSPECIFIED_ADDR = newIpv6Address("0:0:0:0:0:0:0:0");
 
     private static Ipv6Address newIpv6Address(String ip) {
         try {