BUG-3874: BGP Manager / fib-show shell cmd triggers an exception on usage 28/56528/5
authorPhilippe Guibert <philippe.guibert@6wind.com>
Wed, 19 Apr 2017 10:22:52 +0000 (11:22 +0100)
committerSam Hague <shague@redhat.com>
Tue, 9 May 2017 19:17:25 +0000 (19:17 +0000)
When using fib-show, an exception was triggered when parsing FibEntries
from a VRF context. A sanity check is done in order to prevent accessing
null entries.

Change-Id: If296e3b4770518f53c789130565db8960ca63ef6
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
vpnservice/fibmanager/fibmanager-impl/src/main/java/org/opendaylight/netvirt/fibmanager/VrfEntryListener.java

index 5e580052a455449628c6dd8f5e9c3fe539f5c4cc..3bc2d1ec2ed167c4a74a7b6c7a44a8da049e1cc8 100755 (executable)
@@ -2308,6 +2308,12 @@ public class VrfEntryListener extends AsyncDataTreeChangeListenerBase<VrfEntry,
             for (VrfTables vrfTable : vrfTables) {
                 for (VrfEntry vrfEntry : vrfTable.getVrfEntry()) {
                     List<RoutePaths> routePaths = vrfEntry.getRoutePaths();
+                    if (routePaths == null) {
+                        result.add(String.format("   %-7s  %-20s  %-20s  %-7s",
+                                vrfTable.getRouteDistinguisher(),
+                                vrfEntry.getDestPrefix(), "local", vrfEntry.getOrigin()));
+                        continue;
+                    }
                     for (RoutePaths routePath : routePaths) {
                         result.add(String.format("   %-7s  %-20s  %-20s  %-7s  %-7s",
                             vrfTable.getRouteDistinguisher(),