Cleanup 54/62754/1
authorDavid Suarez <david.suarez.fuentes@gmail.com>
Sun, 3 Sep 2017 14:51:16 +0000 (16:51 +0200)
committerSam Hague <shague@redhat.com>
Wed, 6 Sep 2017 12:10:38 +0000 (12:10 +0000)
- Remove dead code
- Final class & private constructor for utility classes
- Return variables directly
- Add method qualifiers
- Join some if statements

Change-Id: I2ca3cc08cbe10e4885510f9fc6bcb7f684e48922
Signed-off-by: David Suarez <david.suarez.fuentes@gmail.com>
(cherry picked from commit 8f82f79603968deefd1e9b80443588c646075381)

vpnservice/fibmanager/fibmanager-impl/src/main/java/org/opendaylight/netvirt/fibmanager/BaseVrfEntryHandler.java
vpnservice/fibmanager/fibmanager-impl/src/main/java/org/opendaylight/netvirt/fibmanager/BgpRouteVrfEntryHandler.java
vpnservice/fibmanager/fibmanager-impl/src/main/java/org/opendaylight/netvirt/fibmanager/FibConstants.java
vpnservice/fibmanager/fibmanager-impl/src/main/java/org/opendaylight/netvirt/fibmanager/FibRpcServiceImpl.java
vpnservice/fibmanager/fibmanager-impl/src/main/java/org/opendaylight/netvirt/fibmanager/FibUtil.java
vpnservice/fibmanager/fibmanager-impl/src/main/java/org/opendaylight/netvirt/fibmanager/IPv6Handler.java
vpnservice/fibmanager/fibmanager-impl/src/main/java/org/opendaylight/netvirt/fibmanager/NexthopManager.java
vpnservice/fibmanager/fibmanager-impl/src/main/java/org/opendaylight/netvirt/fibmanager/RouterInterfaceVrfEntryHandler.java
vpnservice/fibmanager/fibmanager-impl/src/main/java/org/opendaylight/netvirt/fibmanager/VrfEntryListener.java

index b207a8efda7de836801ff79687ef51444a90b190..455e7bcbdde422cdeec94c528414e42780d4635e 100644 (file)
@@ -105,11 +105,6 @@ public class BaseVrfEntryHandler implements AutoCloseable {
         this.mdsalManager = mdsalManager;
     }
 
-//    @PostConstruct
-//    public void init() {
-//        LOG.info("{} init", getClass().getSimpleName());
-//    }
-//
     @Override
     public void close() throws Exception {
         LOG.info("{} closed", getClass().getSimpleName());
@@ -121,7 +116,7 @@ public class BaseVrfEntryHandler implements AutoCloseable {
         }
     }
 
-    void deleteLocalAdjacency(final BigInteger dpId, final long vpnId, final String ipAddress,
+    protected void deleteLocalAdjacency(final BigInteger dpId, final long vpnId, final String ipAddress,
                               final String ipPrefixAddress) {
         LOG.trace("deleteLocalAdjacency called with dpid {}, vpnId{}, ipAddress {}", dpId, vpnId, ipAddress);
         try {
@@ -146,7 +141,7 @@ public class BaseVrfEntryHandler implements AutoCloseable {
                         FibUtil.getVpnNameFromId(dataBroker, vpnId), usedRds, vrfEntry.getDestPrefix());
                 if (vpnExtraRoutes.isEmpty()) {
                     Prefixes prefixInfo = FibUtil.getPrefixToInterface(dataBroker, vpnId, vrfEntry.getDestPrefix());
-                    // We donot want to provide an adjacencyList for an extra-route-prefix.
+                    // We don't want to provide an adjacencyList for an extra-route-prefix.
                     if (prefixInfo == null) {
                         LOG.debug("The extra route {} in rd {} for vpn {} has been removed from all the next hops",
                                 vrfEntry.getDestPrefix(), rd, vpnId);
@@ -197,7 +192,7 @@ public class BaseVrfEntryHandler implements AutoCloseable {
         return adjacencyList;
     }
 
-    void makeConnectedRoute(BigInteger dpId, long vpnId, VrfEntry vrfEntry, String rd,
+    protected void makeConnectedRoute(BigInteger dpId, long vpnId, VrfEntry vrfEntry, String rd,
                             List<InstructionInfo> instructions, int addOrRemove, WriteTransaction tx,
                             List<SubTransaction> subTxns) {
         Boolean wrTxPresent = true;
@@ -209,7 +204,7 @@ public class BaseVrfEntryHandler implements AutoCloseable {
         LOG.trace("makeConnectedRoute: vrfEntry {}", vrfEntry);
         String[] values = vrfEntry.getDestPrefix().split("/");
         String ipAddress = values[0];
-        int prefixLength = (values.length == 1) ? 0 : Integer.parseInt(values[1]);
+        int prefixLength = values.length == 1 ? 0 : Integer.parseInt(values[1]);
         if (addOrRemove == NwConstants.ADD_FLOW) {
             LOG.debug("Adding route to DPN {} for rd {} prefix {} ", dpId, rd, vrfEntry.getDestPrefix());
         } else {
@@ -278,7 +273,7 @@ public class BaseVrfEntryHandler implements AutoCloseable {
         }
     }
 
-    void addRewriteDstMacAction(long vpnId, VrfEntry vrfEntry, Prefixes prefixInfo,
+    protected void addRewriteDstMacAction(long vpnId, VrfEntry vrfEntry, Prefixes prefixInfo,
                                         List<ActionInfo> actionInfos) {
         if (vrfEntry.getMac() != null) {
             actionInfos.add(new ActionSetFieldEthernetDestination(actionInfos.size(),
@@ -307,7 +302,7 @@ public class BaseVrfEntryHandler implements AutoCloseable {
         actionInfos.add(new ActionSetFieldEthernetDestination(actionInfos.size(), new MacAddress(macAddress)));
     }
 
-    void addTunnelInterfaceActions(AdjacencyResult adjacencyResult, long vpnId, VrfEntry vrfEntry,
+    protected void addTunnelInterfaceActions(AdjacencyResult adjacencyResult, long vpnId, VrfEntry vrfEntry,
                                            List<ActionInfo> actionInfos, String rd) {
         Class<? extends TunnelTypeBase> tunnelType =
                 VpnExtraRouteHelper.getTunnelType(nextHopManager.getInterfaceManager(),
@@ -449,7 +444,7 @@ public class BaseVrfEntryHandler implements AutoCloseable {
         }
     }
 
-    static InstanceIdentifier<Routes> getVpnToExtrarouteIdentifier(String vpnName, String vrfId,
+    public static InstanceIdentifier<Routes> getVpnToExtrarouteIdentifier(String vpnName, String vrfId,
                                                                     String ipPrefix) {
         return InstanceIdentifier.builder(VpnToExtraroutes.class)
                 .child(Vpn.class, new VpnKey(vpnName)).child(ExtraRoutes.class,
@@ -473,9 +468,8 @@ public class BaseVrfEntryHandler implements AutoCloseable {
         List<InstructionInfo> mkInstructions = new ArrayList<>();
         mkInstructions.add(new InstructionGotoTable(NwConstants.L3_FIB_TABLE));
         String flowId = FibUtil.getL3VpnGatewayFlowRef(NwConstants.L3_GW_MAC_TABLE, dpId, vpnId, gwMacAddress);
-        FlowEntity flowEntity = MDSALUtil.buildFlowEntity(dpId, NwConstants.L3_GW_MAC_TABLE,
+        return MDSALUtil.buildFlowEntity(dpId, NwConstants.L3_GW_MAC_TABLE,
                 flowId, 20, flowId, 0, 0, NwConstants.COOKIE_L3_GW_MAC_TABLE, mkMatches, mkInstructions);
-        return flowEntity;
     }
 
     public void installPingResponderFlowEntry(BigInteger dpnId, long vpnId, String routerInternalIp,
@@ -521,5 +515,4 @@ public class BaseVrfEntryHandler implements AutoCloseable {
             mdsalManager.removeFlow(flowEntity);
         }
     }
-
 }
index 4102114d2532500bbcf8f74770c27cb8aba65a94..a5a46c5a12134e526f5cb3e051b7f83883bcba6f 100644 (file)
@@ -118,7 +118,7 @@ public class BgpRouteVrfEntryHandler extends BaseVrfEntryHandler
     @Override
     public void update(WriteTransaction tx, LogicalDatastoreType datastoreType, InstanceIdentifier identifier,
                        Object original, Object update, List<SubTransaction> subTxns) {
-        if ((original instanceof VrfEntry) && (update instanceof VrfEntry)) {
+        if (original instanceof VrfEntry && update instanceof VrfEntry) {
             createFibEntries(tx, identifier, (VrfEntry) update, subTxns);
         }
     }
@@ -139,6 +139,7 @@ public class BgpRouteVrfEntryHandler extends BaseVrfEntryHandler
         }
     }
 
+    @Override
     public void createFlows(InstanceIdentifier<VrfEntry> identifier, VrfEntry vrfEntry, String rd) {
         ActionableResource actResource = new ActionableResourceImpl(rd + vrfEntry.getDestPrefix());
         actResource.setAction(ActionableResource.CREATE);
@@ -147,6 +148,7 @@ public class BgpRouteVrfEntryHandler extends BaseVrfEntryHandler
         vrfEntryBufferQ.add(actResource);
     }
 
+    @Override
     public void removeFlows(InstanceIdentifier<VrfEntry> identifier, VrfEntry vrfEntry, String rd) {
         ActionableResource actResource = new ActionableResourceImpl(rd + vrfEntry.getDestPrefix());
         actResource.setAction(ActionableResource.DELETE);
@@ -155,6 +157,7 @@ public class BgpRouteVrfEntryHandler extends BaseVrfEntryHandler
         vrfEntryBufferQ.add(actResource);
     }
 
+    @Override
     public void updateFlows(InstanceIdentifier<VrfEntry> identifier, VrfEntry original, VrfEntry update, String rd) {
         ActionableResource actResource = new ActionableResourceImpl(rd + update.getDestPrefix());
         actResource.setAction(ActionableResource.UPDATE);
@@ -383,8 +386,8 @@ public class BgpRouteVrfEntryHandler extends BaseVrfEntryHandler
     }
 
     @Override
-    void addTunnelInterfaceActions(NexthopManager.AdjacencyResult adjacencyResult, long vpnId, VrfEntry vrfEntry,
-                                           List<ActionInfo> actionInfos, String rd) {
+    protected void addTunnelInterfaceActions(NexthopManager.AdjacencyResult adjacencyResult, long vpnId,
+            VrfEntry vrfEntry, List<ActionInfo> actionInfos, String rd) {
         Class<? extends TunnelTypeBase> tunnelType =
                 VpnExtraRouteHelper.getTunnelType(nextHopManager.getInterfaceManager(),
                         adjacencyResult.getInterfaceName());
@@ -414,7 +417,7 @@ public class BgpRouteVrfEntryHandler extends BaseVrfEntryHandler
     }
 
     @Override
-    void addRewriteDstMacAction(long vpnId, VrfEntry vrfEntry, Prefixes prefixInfo,
+    protected void addRewriteDstMacAction(long vpnId, VrfEntry vrfEntry, Prefixes prefixInfo,
                                         List<ActionInfo> actionInfos) {
         if (vrfEntry.getGatewayMacAddress() != null) {
             actionInfos.add(new ActionSetFieldEthernetDestination(actionInfos.size(),
index bf2dc0a9a29ab181d6f823cf5e191bdbf9dc5e36..7f202ffc8a2dd6ccaa7513252bda36d74c8e03e4 100644 (file)
@@ -14,7 +14,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev14
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxReg0;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxReg1;
 
-public class FibConstants {
+public final class FibConstants {
     static final int DEFAULT_FIB_FLOW_PRIORITY = 10;
     static final int DEFAULT_PREFIX_LENGTH = 32;
     static final int DEFAULT_IPV6_PREFIX_LENGTH = 128;
@@ -24,7 +24,7 @@ public class FibConstants {
     static final String SEPARATOR = ".";
     static final String DEFAULT_NEXTHOP_IP = "0.0.0.0";
     public static final long INVALID_GROUP_ID = -1;
-    public static final Map<Integer,  Class<? extends NxmNxReg>> NXM_REG_MAPPING = new ConcurrentHashMap<>();
+    public static final Map<Integer, Class<? extends NxmNxReg>> NXM_REG_MAPPING = new ConcurrentHashMap<>();
 
     static {
         NXM_REG_MAPPING.put(0, NxmNxReg0.class);
index efaf608fc70a22068fc0f606d2b9ac8dbe4916cc..b6563a9d5a27df55327a4e684d98a8e8ed59ba38 100644 (file)
@@ -112,7 +112,7 @@ public class FibRpcServiceImpl implements FibRpcService {
         String vpnName = input.getVpnName();
         long vpnId = getVpnId(dataBroker, vpnName);
         String vpnRd = getVpnRd(dataBroker, vpnName);
-        long serviceId = input.getServiceId();
+
         String ipAddress = input.getIpAddress();
 
         LOG.info("Delete custom FIB entry - {} on dpn {} for VPN {} ", ipAddress, dpnId, vpnName);
@@ -142,7 +142,7 @@ public class FibRpcServiceImpl implements FibRpcService {
     private void removeLocalFibEntry(BigInteger dpnId, long vpnId, String ipPrefix) {
         String[] values = ipPrefix.split("/");
         String ipAddress = values[0];
-        int prefixLength = (values.length == 1) ? 0 : Integer.parseInt(values[1]);
+        int prefixLength = values.length == 1 ? 0 : Integer.parseInt(values[1]);
         LOG.debug("Removing route from DPN. ip {} masklen {}", ipAddress, prefixLength);
         InetAddress destPrefix = null;
         try {
@@ -179,7 +179,7 @@ public class FibRpcServiceImpl implements FibRpcService {
                                    List<Instruction> customInstructions) {
         String[] values = ipPrefix.split("/");
         String ipAddress = values[0];
-        int prefixLength = (values.length == 1) ? 0 : Integer.parseInt(values[1]);
+        int prefixLength = values.length == 1 ? 0 : Integer.parseInt(values[1]);
         LOG.debug("Adding route to DPN. ip {} masklen {}", ipAddress, prefixLength);
         InetAddress destPrefix = null;
         try {
@@ -222,8 +222,8 @@ public class FibRpcServiceImpl implements FibRpcService {
         LOG.debug("Updating VPN to DPN list for dpn : {} for VPN: {} with ip: {}",
             dpnId, vpnName, ipAddr);
         String routeDistinguisher = getVpnRd(dataBroker, vpnName);
-        String rd = (routeDistinguisher == null) ? vpnName : routeDistinguisher;
-        IpAddresses.IpAddressSource ipAddressSource = (ipAddressSourceEnumValue == 0)
+        String rd = routeDistinguisher == null ? vpnName : routeDistinguisher;
+        IpAddresses.IpAddressSource ipAddressSource = ipAddressSourceEnumValue == 0
                 ? IpAddresses.IpAddressSource.ExternalFixedIP : IpAddresses.IpAddressSource.FloatingIP;
         synchronized (vpnName.intern()) {
             InstanceIdentifier<VpnToDpnList> id = getVpnToDpnListIdentifier(rd, dpnId);
@@ -257,7 +257,7 @@ public class FibRpcServiceImpl implements FibRpcService {
         LOG.debug("Removing association of VPN to DPN list for dpn : {} for VPN: {} with ip: {}",
             dpnId, vpnName, ipAddr);
         String routeDistinguisher = getVpnRd(dataBroker, vpnName);
-        String rd = (routeDistinguisher == null) ? vpnName : routeDistinguisher;
+        String rd = routeDistinguisher == null ? vpnName : routeDistinguisher;
         synchronized (vpnName.intern()) {
             InstanceIdentifier<VpnToDpnList> id = getVpnToDpnListIdentifier(rd, dpnId);
             Optional<VpnToDpnList> dpnInVpn = MDSALUtil.read(dataBroker, LogicalDatastoreType.OPERATIONAL, id);
@@ -342,6 +342,4 @@ public class FibRpcServiceImpl implements FibRpcService {
         Optional<VpnInstance> optionalVpnInstance = MDSALUtil.read(broker, LogicalDatastoreType.CONFIGURATION, id);
         return optionalVpnInstance.isPresent() ? optionalVpnInstance.get().getVpnId() : -1L;
     }
-
-
 }
index 6364a84abea6c447a18e8d112d67d5e44c087a73..6081e4e8a14089e523eade3bac39ec9961e3b195 100644 (file)
@@ -99,10 +99,13 @@ import org.opendaylight.yangtools.yang.common.RpcResult;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class FibUtil {
+public final class FibUtil {
     private static final Logger LOG = LoggerFactory.getLogger(FibUtil.class);
     private static final String FLOWID_PREFIX = "L3.";
 
+    private FibUtil() {
+    }
+
     static InstanceIdentifier<Adjacency> getAdjacencyIdentifier(String vpnInterfaceName, String ipAddress) {
         return InstanceIdentifier.builder(org.opendaylight.yang.gen.v1.urn.huawei.params.xml.ns.yang
             .l3vpn.rev140815.VpnInterfaces.class)
@@ -169,8 +172,7 @@ public class FibUtil {
     }
 
     static String getNextHopLabelKey(String rd, String prefix) {
-        String key = rd + FibConstants.SEPARATOR + prefix;
-        return key;
+        return rd + FibConstants.SEPARATOR + prefix;
     }
 
     static Prefixes getPrefixToInterface(DataBroker broker, Long vpnId, String ipPrefix) {
@@ -328,7 +330,7 @@ public class FibUtil {
             builder.setMac(macAddress);
             return;
         }
-        //if (!encapType.equals(VrfEntry.EncapType.Mplsgre)) {
+
         // TODO - validate this check
         if (l3vni != 0) {
             builder.setL3vni(l3vni);
@@ -736,10 +738,8 @@ public class FibUtil {
     }
 
     static InstanceIdentifier<Group> buildGroupInstanceIdentifier(long groupId, BigInteger dpId) {
-        InstanceIdentifier<Group> groupInstanceId = InstanceIdentifier.builder(Nodes.class)
-                .child(Node.class, new NodeKey(new NodeId("openflow:" + dpId))).augmentation(FlowCapableNode.class)
-                .child(Group.class, new GroupKey(new GroupId(groupId))).build();
-        return groupInstanceId;
+        return InstanceIdentifier.builder(Nodes.class).child(Node.class, new NodeKey(new NodeId("openflow:" + dpId)))
+                .augmentation(FlowCapableNode.class).child(Group.class, new GroupKey(new GroupId(groupId))).build();
     }
 
     static Buckets buildBuckets(List<BucketInfo> listBucketInfo) {
@@ -779,10 +779,8 @@ public class FibUtil {
     }
 
     static Node buildDpnNode(BigInteger dpnId) {
-        NodeId nodeId = new NodeId("openflow:" + dpnId);
-        Node nodeDpn = new NodeBuilder().setId(nodeId).setKey(new NodeKey(nodeId)).build();
-
-        return nodeDpn;
+        return new NodeBuilder().setId(new NodeId("openflow:" + dpnId))
+                .setKey(new NodeKey(new NodeId("openflow:" + dpnId))).build();
     }
 
     public static String getBroadcastAddressFromCidr(String cidr) {
@@ -791,10 +789,10 @@ public class FibUtil {
         int cidrPart = Integer.parseInt(ipaddressValues[1]);
         int netmask = 0;
         for (int j = 0; j < cidrPart; ++j) {
-            netmask |= (1 << 31 - j);
+            netmask |= 1 << 31 - j;
         }
-        int network = (address & netmask);
-        int broadcast = network | ~(netmask);
+        int network = address & netmask;
+        int broadcast = network | ~netmask;
         return InetAddresses.toAddrString(InetAddresses.fromInteger(broadcast));
     }
 }
index f6582df00c68146758cce47b2f7de3212c99f778..7e5c37c4c00f62fc20ebafb8e7914253a600434c 100644 (file)
@@ -13,7 +13,6 @@ import java.util.List;
 
 import javax.inject.Inject;
 import javax.inject.Singleton;
-import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.genius.mdsalutil.ActionInfo;
 import org.opendaylight.genius.mdsalutil.FlowEntity;
 import org.opendaylight.genius.mdsalutil.InstructionInfo;
@@ -37,27 +36,18 @@ import org.opendaylight.genius.mdsalutil.matches.MatchIpv6Destination;
 import org.opendaylight.genius.mdsalutil.matches.MatchMetadata;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-
 
 @Singleton
 public class IPv6Handler {
-    private static final Logger LOG = LoggerFactory.getLogger(IPv6Handler.class);
-    private final DataBroker dataBroker;
     private final IMdsalApiManager mdsalManager;
 
-
     @Inject
-    public IPv6Handler(final DataBroker dataBroker,
-                       final IMdsalApiManager mdsalManager) {
-        this.dataBroker = dataBroker;
+    public IPv6Handler(final IMdsalApiManager mdsalManager) {
         this.mdsalManager = mdsalManager;
     }
 
     public void installPing6ResponderFlowEntry(BigInteger dpnId, long vpnId, String routerInternalIp,
-                                               MacAddress routerMac, long label, int addOrRemove) {
+            MacAddress routerMac, long label, int addOrRemove) {
 
         List<MatchInfo> matches = new ArrayList<>();
         matches.add(MatchIpProtocol.ICMPV6);
@@ -94,5 +84,4 @@ public class IPv6Handler {
             mdsalManager.removeFlow(flowEntity);
         }
     }
-
 }
index 9a1e63a50216089f2f93a510fbc70a79440ded89..5a1de63694fac20a6099c5d1fed11ed4548e58fc 100644 (file)
@@ -775,7 +775,7 @@ public class NexthopManager implements AutoCloseable {
         }
     }
 
-    long setupLoadBalancingNextHop(Long parentVpnId, BigInteger dpnId,
+    protected long setupLoadBalancingNextHop(Long parentVpnId, BigInteger dpnId,
             String destPrefix, List<BucketInfo> listBucketInfo, boolean addOrRemove) {
         long groupId = createNextHopPointer(getNextHopKey(parentVpnId, destPrefix));
         if (groupId == FibConstants.INVALID_GROUP_ID) {
@@ -784,7 +784,7 @@ public class NexthopManager implements AutoCloseable {
         }
         GroupEntity groupEntity = MDSALUtil.buildGroupEntity(
                 dpnId, groupId, destPrefix, GroupTypes.GroupSelect, listBucketInfo);
-        if (addOrRemove == true) {
+        if (addOrRemove) {
             mdsalApiManager.syncInstallGroup(groupEntity, FIXED_DELAY_IN_MILLISECONDS);
             try {
                 Thread.sleep(WAIT_TIME_FOR_SYNC_INSTALL);
@@ -962,7 +962,7 @@ public class NexthopManager implements AutoCloseable {
     }
 
     private List<Action> getEgressActions(String interfaceName, int actionKey) {
-        List<Action> actions = Collections.EMPTY_LIST;
+        List<Action> actions = Collections.emptyList();
         try {
             GetEgressActionsForInterfaceInputBuilder egressAction =
                     new GetEgressActionsForInterfaceInputBuilder().setIntfName(interfaceName).setActionKey(actionKey);
@@ -1015,7 +1015,7 @@ public class NexthopManager implements AutoCloseable {
                 mdsalApiManager.removeBucketToTx(dpnId, Long.valueOf(groupId), bucketId, configTx);
             } else {
                 Group group = MDSALUtil.buildGroup(Long.valueOf(groupId), nextHopKey, GroupTypes.GroupSelect,
-                        MDSALUtil.buildBucketLists(Collections.EMPTY_LIST));
+                        MDSALUtil.buildBucketLists(Collections.emptyList()));
                 LOG.trace("Removed LB group {} on dpn {}", group, dpnId);
                 mdsalApiManager.removeGroupToTx(dpnId, group, configTx);
                 removeNextHopPointer(nextHopKey);
@@ -1080,7 +1080,7 @@ public class NexthopManager implements AutoCloseable {
             listAction.addAll(getEgressActions(tunnelInterfaceName, actionKey++));
         } else {
             // clear off actions if there is no egress actions.
-            listAction = Collections.EMPTY_LIST;
+            listAction = Collections.emptyList();
         }
         return MDSALUtil.buildBucket(listAction, MDSALUtil.GROUP_WEIGHT, index,
                 MDSALUtil.WATCH_PORT, MDSALUtil.WATCH_GROUP);
index b590413788dc6028f5b6cd3d3aad95867907bd19..8b4da9a92ab0cbb0152c333ea294ccf02e4aa635 100644 (file)
@@ -13,7 +13,6 @@ import com.google.common.base.Preconditions;
 import java.math.BigInteger;
 import java.util.Collection;
 
-import javax.annotation.PostConstruct;
 import javax.inject.Inject;
 import javax.inject.Singleton;
 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
@@ -31,65 +30,57 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-
 @Singleton
 public class RouterInterfaceVrfEntryHandler extends BaseVrfEntryHandler implements AutoCloseable, IVrfEntryHandler {
 
     private static final Logger LOG = LoggerFactory.getLogger(RouterInterfaceVrfEntryHandler.class);
     private final DataBroker dataBroker;
-    private final NexthopManager nexthopManager;
     private final IMdsalApiManager mdsalManager;
     private final IPv6Handler ipv6Handler;
 
     @Inject
-    public RouterInterfaceVrfEntryHandler(final DataBroker dataBroker,
-                                          final NexthopManager nexthopManager,
-                                          final IMdsalApiManager mdsalManager,
-                                          final IPv6Handler ipv6Handler) {
+    public RouterInterfaceVrfEntryHandler(final DataBroker dataBroker, final NexthopManager nexthopManager,
+            final IMdsalApiManager mdsalManager, final IPv6Handler ipv6Handler) {
         super(dataBroker, nexthopManager, mdsalManager);
         this.dataBroker = dataBroker;
-        this.nexthopManager = nexthopManager;
         this.mdsalManager = mdsalManager;
         this.ipv6Handler = ipv6Handler;
     }
 
-    @PostConstruct
-    public void init() {
-        LOG.info("{} start", getClass().getSimpleName());
-    }
-
     @Override
     public void close() throws Exception {
         LOG.info("{} close", getClass().getSimpleName());
     }
 
+    @Override
     public void createFlows(InstanceIdentifier<VrfEntry> identifier, VrfEntry vrfEntry, String rd) {
         RouterInterface routerInt = vrfEntry.getAugmentation(RouterInterface.class);
         installRouterFibEntries(vrfEntry, rd, NwConstants.ADD_FLOW, routerInt);
     }
 
+    @Override
     public void updateFlows(InstanceIdentifier<VrfEntry> identifier, VrfEntry original, VrfEntry update, String rd) {
-        //Not used
+        // Not used
     }
 
+    @Override
     public void removeFlows(InstanceIdentifier<VrfEntry> identifier, VrfEntry vrfEntry, String rd) {
         RouterInterface routerInt = vrfEntry.getAugmentation(RouterInterface.class);
         installRouterFibEntries(vrfEntry, rd, NwConstants.DEL_FLOW, routerInt);
     }
 
-
-    private Boolean installRouterFibEntries(VrfEntry vrfEntry, String rd,
-                                              int addOrRemove, RouterInterface routerInterface) {
+    private Boolean installRouterFibEntries(VrfEntry vrfEntry, String rd, int addOrRemove,
+            RouterInterface routerInterface) {
         final VpnInstanceOpDataEntry vpnInstance = FibUtil.getVpnInstance(dataBroker, rd);
         Preconditions.checkNotNull(vpnInstance, "Vpn Instance not available " + rd);
-        Preconditions.checkNotNull(vpnInstance.getVpnId(), "Vpn Instance with rd " + vpnInstance.getVrfId()
-                + " has null vpnId!");
+        Preconditions.checkNotNull(vpnInstance.getVpnId(),
+                "Vpn Instance with rd " + vpnInstance.getVrfId() + " has null vpnId!");
         final Collection<VpnToDpnList> vpnToDpnList;
         if (vrfEntry.getParentVpnRd() != null
                 && FibHelper.isControllerManagedNonSelfImportedRoute(RouteOrigin.value(vrfEntry.getOrigin()))) {
             VpnInstanceOpDataEntry parentVpnInstance = FibUtil.getVpnInstance(dataBroker, vrfEntry.getParentVpnRd());
-            vpnToDpnList = parentVpnInstance != null ? parentVpnInstance.getVpnToDpnList() :
-                    vpnInstance.getVpnToDpnList();
+            vpnToDpnList = parentVpnInstance != null ? parentVpnInstance.getVpnToDpnList()
+                    vpnInstance.getVpnToDpnList();
         } else {
             vpnToDpnList = vpnInstance.getVpnToDpnList();
         }
@@ -103,18 +94,19 @@ public class RouterInterfaceVrfEntryHandler extends BaseVrfEntryHandler implemen
                     routerId, ipValue, macAddress);
             for (VpnToDpnList vpnDpn : vpnToDpnList) {
                 if (vpnDpn.getDpnState() == VpnToDpnList.DpnState.Active) {
-                    installRouterFibEntry(vrfEntry, vpnDpn.getDpnId(), vpnId, ipValue,
-                            new MacAddress(macAddress), addOrRemove);
+                    installRouterFibEntry(vrfEntry, vpnDpn.getDpnId(), vpnId, ipValue, new MacAddress(macAddress),
+                            addOrRemove);
                 }
             }
         }
         return true;
     }
 
-    public void installRouterFibEntry(final VrfEntry vrfEntry, BigInteger dpnId, long vpnId,
-                                      String routerInternalIp, MacAddress routerMac, int addOrRemove) {
+    public void installRouterFibEntry(final VrfEntry vrfEntry, BigInteger dpnId, long vpnId, String routerInternalIp,
+            MacAddress routerMac, int addOrRemove) {
 
-        // First install L3_GW_MAC_TABLE flows as it's common for both IPv4 and IPv6 address families
+        // First install L3_GW_MAC_TABLE flows as it's common for both IPv4 and IPv6
+        // address families
         FlowEntity l3GwMacFlowEntity = buildL3vpnGatewayFlow(dpnId, routerMac.getValue(), vpnId);
         if (addOrRemove == NwConstants.ADD_FLOW) {
             mdsalManager.installFlow(l3GwMacFlowEntity);
@@ -129,15 +121,15 @@ public class RouterInterfaceVrfEntryHandler extends BaseVrfEntryHandler implemen
         }
 
         String[] subSplit = routerInternalIp.split("/");
-        String addRemoveStr = (addOrRemove == NwConstants.ADD_FLOW) ? "ADD_FLOW" : "DELETE_FLOW";
+        String addRemoveStr = addOrRemove == NwConstants.ADD_FLOW ? "ADD_FLOW" : "DELETE_FLOW";
         LOG.trace("{}: Building Echo Flow entity for dpid:{}, router_ip:{}, vpnId:{}, subSplit:{} ", addRemoveStr,
                 dpnId, routerInternalIp, vpnId, subSplit[0]);
 
         if (isIpv4Address(subSplit[0])) {
             installPingResponderFlowEntry(dpnId, vpnId, subSplit[0], routerMac, optionalLabel.get(), addOrRemove);
         } else {
-            ipv6Handler.installPing6ResponderFlowEntry(dpnId, vpnId, routerInternalIp, routerMac,
-                    optionalLabel.get(), addOrRemove);
+            ipv6Handler.installPing6ResponderFlowEntry(dpnId, vpnId, routerInternalIp, routerMac, optionalLabel.get(),
+                    addOrRemove);
         }
         return;
     }
index c3b2edf754cbd53912fb741eba5bc035d70c0524..f376edacb3b00244af55bd82e1f48d503dc514cf 100755 (executable)
@@ -113,7 +113,7 @@ public class VrfEntryListener extends AsyncDataTreeChangeListenerBase<VrfEntry,
     private static final int LFIB_INTERVPN_PRIORITY = 15;
     public static final BigInteger COOKIE_TUNNEL = new BigInteger("9000000", 16);
     private static final int DJC_MAX_RETRIES = 3;
-    private static BigInteger COOKIE_TABLE_MISS = new BigInteger("8000004", 16);
+    private static final BigInteger COOKIE_TABLE_MISS = new BigInteger("8000004", 16);
 
     private final DataBroker dataBroker;
     private final IMdsalApiManager mdsalManager;
@@ -361,34 +361,32 @@ public class VrfEntryListener extends AsyncDataTreeChangeListenerBase<VrfEntry,
         }
 
         final List<BigInteger> localDpnIdList = createLocalFibEntry(vpnInstance.getVpnId(), rd, vrfEntry);
-        if (!localDpnIdList.isEmpty()) {
-            if (vpnToDpnList != null) {
-                DataStoreJobCoordinator dataStoreCoordinator = DataStoreJobCoordinator.getInstance();
-                dataStoreCoordinator.enqueueJob(FibUtil.getJobKeyForRdPrefix(rd, vrfEntry.getDestPrefix()), () -> {
-                    WriteTransaction tx = dataBroker.newWriteOnlyTransaction();
-                    for (VpnToDpnList vpnDpn : vpnToDpnList) {
-                        if (!localDpnIdList.contains(vpnDpn.getDpnId())) {
-                            if (vpnDpn.getDpnState() == VpnToDpnList.DpnState.Active) {
-                                try {
-                                    if (RouteOrigin.BGP.getValue().equals(vrfEntry.getOrigin())) {
-                                        bgpRouteVrfEntryHandler.createRemoteFibEntry(vpnDpn.getDpnId(),
-                                                vpnId, vrfTableKey.getRouteDistinguisher(), vrfEntry, tx, txnObjects);
-                                    } else {
-                                        createRemoteFibEntry(vpnDpn.getDpnId(), vpnInstance.getVpnId(),
-                                                vrfTableKey.getRouteDistinguisher(), vrfEntry, tx);
-                                    }
-                                } catch (NullPointerException e) {
-                                    LOG.error("Failed to get create remote fib flows for prefix {} ",
-                                            vrfEntry.getDestPrefix(), e);
+        if (!localDpnIdList.isEmpty() && vpnToDpnList != null) {
+            DataStoreJobCoordinator dataStoreCoordinator = DataStoreJobCoordinator.getInstance();
+            dataStoreCoordinator.enqueueJob(FibUtil.getJobKeyForRdPrefix(rd, vrfEntry.getDestPrefix()), () -> {
+                WriteTransaction tx = dataBroker.newWriteOnlyTransaction();
+                for (VpnToDpnList vpnDpn : vpnToDpnList) {
+                    if (!localDpnIdList.contains(vpnDpn.getDpnId())) {
+                        if (vpnDpn.getDpnState() == VpnToDpnList.DpnState.Active) {
+                            try {
+                                if (RouteOrigin.BGP.getValue().equals(vrfEntry.getOrigin())) {
+                                    bgpRouteVrfEntryHandler.createRemoteFibEntry(vpnDpn.getDpnId(),
+                                            vpnId, vrfTableKey.getRouteDistinguisher(), vrfEntry, tx, txnObjects);
+                                } else {
+                                    createRemoteFibEntry(vpnDpn.getDpnId(), vpnInstance.getVpnId(),
+                                            vrfTableKey.getRouteDistinguisher(), vrfEntry, tx);
                                 }
+                            } catch (NullPointerException e) {
+                                LOG.error("Failed to get create remote fib flows for prefix {} ",
+                                        vrfEntry.getDestPrefix(), e);
                             }
                         }
                     }
-                    List<ListenableFuture<Void>> futures = new ArrayList<>();
-                    futures.add(tx.submit());
-                    return futures;
-                }, DJC_MAX_RETRIES);
-            }
+                }
+                List<ListenableFuture<Void>> futures = new ArrayList<>();
+                futures.add(tx.submit());
+                return futures;
+            }, DJC_MAX_RETRIES);
         }
 
         Optional<String> optVpnUuid = FibUtil.getVpnNameFromRd(dataBroker, rd);
@@ -508,7 +506,7 @@ public class VrfEntryListener extends AsyncDataTreeChangeListenerBase<VrfEntry,
                 vrfEntry.getDestPrefix(), rd, vpnId, dpnId);
         String[] ipAddress = vrfEntry.getDestPrefix().split("/");
         String subnetBroadcastAddr = FibUtil.getBroadcastAddressFromCidr(vrfEntry.getDestPrefix());
-        final int prefixLength = (ipAddress.length == 1) ? 0 : Integer.parseInt(ipAddress[1]);
+        final int prefixLength = ipAddress.length == 1 ? 0 : Integer.parseInt(ipAddress[1]);
 
         InetAddress destPrefix;
         try {
@@ -705,43 +703,40 @@ public class VrfEntryListener extends AsyncDataTreeChangeListenerBase<VrfEntry,
                     returnLocalDpnId.add(dpnId);
                 }
             }
-            if (!localNextHopSeen) {
-                /* imported routes case */
-                if (RouteOrigin.value(vrfEntry.getOrigin()) == RouteOrigin.SELF_IMPORTED) {
-                    java.util.Optional<Long> optionalLabel = FibUtil.getLabelFromRoutePaths(vrfEntry);
-                    if (optionalLabel.isPresent()) {
-                        Long label = optionalLabel.get();
-                        List<String> nextHopAddressList = FibHelper.getNextHopListFromRoutePaths(vrfEntry);
-                        synchronized (label.toString().intern()) {
-                            LabelRouteInfo lri = getLabelRouteInfo(label);
-                            if (isPrefixAndNextHopPresentInLri(localNextHopIP, nextHopAddressList, lri)) {
-                                Optional<VpnInstanceOpDataEntry> vpnInstanceOpDataEntryOptional =
-                                        FibUtil.getVpnInstanceOpData(dataBroker, rd);
-                                if (vpnInstanceOpDataEntryOptional.isPresent()) {
-                                    String vpnInstanceName = vpnInstanceOpDataEntryOptional.get().getVpnInstanceName();
-                                    if (lri.getVpnInstanceList().contains(vpnInstanceName)) {
-                                        localNextHopInfo = updateVpnReferencesInLri(lri, vpnInstanceName, true);
-                                        localNextHopIP = lri.getPrefix();
-                                    } else {
-                                        localNextHopInfo = updateVpnReferencesInLri(lri, vpnInstanceName, false);
-                                        localNextHopIP = lri.getPrefix();
-                                    }
+            if (!localNextHopSeen && RouteOrigin.value(vrfEntry.getOrigin()) == RouteOrigin.SELF_IMPORTED) {
+                java.util.Optional<Long> optionalLabel = FibUtil.getLabelFromRoutePaths(vrfEntry);
+                if (optionalLabel.isPresent()) {
+                    Long label = optionalLabel.get();
+                    List<String> nextHopAddressList = FibHelper.getNextHopListFromRoutePaths(vrfEntry);
+                    synchronized (label.toString().intern()) {
+                        LabelRouteInfo lri = getLabelRouteInfo(label);
+                        if (isPrefixAndNextHopPresentInLri(localNextHopIP, nextHopAddressList, lri)) {
+                            Optional<VpnInstanceOpDataEntry> vpnInstanceOpDataEntryOptional =
+                                    FibUtil.getVpnInstanceOpData(dataBroker, rd);
+                            if (vpnInstanceOpDataEntryOptional.isPresent()) {
+                                String vpnInstanceName = vpnInstanceOpDataEntryOptional.get().getVpnInstanceName();
+                                if (lri.getVpnInstanceList().contains(vpnInstanceName)) {
+                                    localNextHopInfo = updateVpnReferencesInLri(lri, vpnInstanceName, true);
+                                    localNextHopIP = lri.getPrefix();
+                                } else {
+                                    localNextHopInfo = updateVpnReferencesInLri(lri, vpnInstanceName, false);
+                                    localNextHopIP = lri.getPrefix();
                                 }
-                                if (localNextHopInfo != null) {
-                                    LOG.debug("Fetched labelRouteInfo for label {} interface {} and got dpn {}",
-                                            label, localNextHopInfo.getVpnInterfaceName(), lri.getDpnId());
-                                    if (vpnExtraRoutes.isEmpty()) {
-                                        BigInteger dpnId = checkCreateLocalFibEntry(localNextHopInfo, localNextHopIP,
-                                                vpnId, rd, vrfEntry, lri.getParentVpnid(), null, vpnExtraRoutes);
+                            }
+                            if (localNextHopInfo != null) {
+                                LOG.debug("Fetched labelRouteInfo for label {} interface {} and got dpn {}",
+                                        label, localNextHopInfo.getVpnInterfaceName(), lri.getDpnId());
+                                if (vpnExtraRoutes.isEmpty()) {
+                                    BigInteger dpnId = checkCreateLocalFibEntry(localNextHopInfo, localNextHopIP,
+                                            vpnId, rd, vrfEntry, lri.getParentVpnid(), null, vpnExtraRoutes);
+                                    returnLocalDpnId.add(dpnId);
+                                } else {
+                                    for (Routes extraRoutes : vpnExtraRoutes) {
+                                        BigInteger dpnId = checkCreateLocalFibEntry(localNextHopInfo,
+                                                localNextHopIP,
+                                                vpnId, rd, vrfEntry, lri.getParentVpnid(),
+                                                extraRoutes, vpnExtraRoutes);
                                         returnLocalDpnId.add(dpnId);
-                                    } else {
-                                        for (Routes extraRoutes : vpnExtraRoutes) {
-                                            BigInteger dpnId = checkCreateLocalFibEntry(localNextHopInfo,
-                                                    localNextHopIP,
-                                                    vpnId, rd, vrfEntry, lri.getParentVpnid(),
-                                                    extraRoutes, vpnExtraRoutes);
-                                            returnLocalDpnId.add(dpnId);
-                                        }
                                     }
                                 }
                             }
@@ -1136,7 +1131,7 @@ public class VrfEntryListener extends AsyncDataTreeChangeListenerBase<VrfEntry,
         LOG.debug("Successfully added FIB entry for prefix {} in vpnId {}", vrfEntry.getDestPrefix(), vpnId);
     }
 
-    void cleanUpOpDataForFib(Long vpnId, String primaryRd, final VrfEntry vrfEntry) {
+    protected void cleanUpOpDataForFib(Long vpnId, String primaryRd, final VrfEntry vrfEntry) {
     /* Get interface info from prefix to interface mapping;
         Use the interface info to get the corresponding vpn interface op DS entry,
         remove the adjacency corresponding to this fib entry.
@@ -1334,13 +1329,13 @@ public class VrfEntryListener extends AsyncDataTreeChangeListenerBase<VrfEntry,
         } else {
             vpnToDpnList = vpnInstance.getVpnToDpnList();
         }
-        long elanTag = 0L;
+
         SubnetRoute subnetRoute = vrfEntry.getAugmentation(SubnetRoute.class);
         final java.util.Optional<Long> optionalLabel = FibUtil.getLabelFromRoutePaths(vrfEntry);
         List<String> nextHopAddressList = FibHelper.getNextHopListFromRoutePaths(vrfEntry);
         String vpnName = FibUtil.getVpnNameFromId(dataBroker, vpnInstance.getVpnId());
         if (subnetRoute != null) {
-            elanTag = subnetRoute.getElantag();
+            long elanTag = subnetRoute.getElantag();
             LOG.trace("SUBNETROUTE: deleteFibEntries: SubnetRoute augmented vrfentry found for rd {} prefix {}"
                     + " with elantag {}", rd, vrfEntry.getDestPrefix(), elanTag);
             if (vpnToDpnList != null) {
@@ -1794,8 +1789,7 @@ public class VrfEntryListener extends AsyncDataTreeChangeListenerBase<VrfEntry,
     public static InstanceIdentifier<VrfTables> buildVrfId(String rd) {
         InstanceIdentifierBuilder<VrfTables> idBuilder =
             InstanceIdentifier.builder(FibEntries.class).child(VrfTables.class, new VrfTablesKey(rd));
-        InstanceIdentifier<VrfTables> id = idBuilder.build();
-        return id;
+        return idBuilder.build();
     }
 
     private String getInterVpnFibFlowRef(String interVpnLinkName, String prefix, String nextHop) {
@@ -1887,7 +1881,6 @@ public class VrfEntryListener extends AsyncDataTreeChangeListenerBase<VrfEntry,
                 return false;
             }
         }
-
         return true;
     }
 }