Bug 4098 - ofoverlay-renderer failure in jdk8
[groupbasedpolicy.git] / neutron-ovsdb / src / main / java / org / opendaylight / groupbasedpolicy / neutron / ovsdb / VxlanTunnelType.java
index fcf9882242871747c578efbd41d571c1555cd5a9..360b4becc00fa7b9409a1725e05cccd092314c1c 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Copyright (c) 2015 Cisco Systems, Inc. and others.  All rights reserved.
- *
+ * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved.
+ * 
  * This program and the accompanying materials are made available under the
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
  * and is available at http://www.eclipse.org/legal/epl-v10.html
@@ -20,8 +20,8 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.re
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.OvsdbTerminationPointAugmentation;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.ovsdb.rev150105.ovsdb.port._interface.attributes.Options;
 
-
 public class VxlanTunnelType extends AbstractTunnelType {
+
     private static final Map<String, String> optsMap;
     private static final Class<? extends TunnelTypeBase> tunnelType = TunnelTypeVxlan.class;
     private static final Integer VXLAN_PORT_NUMBER = 4789;
@@ -29,37 +29,37 @@ public class VxlanTunnelType extends AbstractTunnelType {
     private final PortNumber udpTunnelPort;
     private final List<Options> optionsList;
 
-       static {
+    static {
         Map<String, String> opts = new HashMap<String, String>();
         opts.put(VNID_KEY, VNID_VALUE);
         opts.put(REMOTE_IP_KEY, REMOTE_IP_VALUE);
         optsMap = Collections.unmodifiableMap(opts);
     }
 
-       public VxlanTunnelType() {
-               optionsList = createOptionsList(optsMap);
-               udpTunnelPort = new PortNumber(VXLAN_PORT_NUMBER);
-       }
+    public VxlanTunnelType() {
+        optionsList = createOptionsList(optsMap);
+        udpTunnelPort = new PortNumber(VXLAN_PORT_NUMBER);
+    }
 
-       @Override
+    @Override
     public List<Options> getOptions() {
         return optionsList;
     }
 
-       @Override
+    @Override
     public Class<? extends TunnelTypeBase> getTunnelType() {
         return tunnelType;
     }
 
-       @Override
+    @Override
     public PortNumber getPortNumber() {
         return udpTunnelPort;
     }
 
-       @Override
+    @Override
     public String getTunnelPrefix() {
         return VXLAN_TUNNEL_PREFIX;
-       }
+    }
 
     /**
      * Check if a TerminationPoint is a tunnel port that meets
@@ -67,13 +67,15 @@ public class VxlanTunnelType extends AbstractTunnelType {
      * setting the VNID and destination Tunnel IP address, and
      * use VXLAN encapsulation.
      *
-     * @param tpAugmentation
+     * @param tpAugmentation the {@link OvsdbTerminationPointAugmentation}
      * @return true if it can be the OfOverlay tunnel port, false if not
      */
-       @Override
+    @Override
     public boolean isValidTunnelPort(OvsdbTerminationPointAugmentation tpAugmentation) {
         if (hasTunnelOptions(tpAugmentation, optsMap)
-                && InterfaceTypeVxlan.class.equals(tpAugmentation.getInterfaceType())) {
+                && InterfaceTypeVxlan.class.equals(tpAugmentation.getInterfaceType())
+                && (getDestPort(tpAugmentation) == null || getDestPort(tpAugmentation).equals(
+                        VXLAN_PORT_NUMBER.toString()))) {
             return true;
         }
         return false;