X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=elanmanager%2Fimpl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fnetvirt%2Felan%2Fevpn%2Futils%2FEvpnMacVrfUtils.java;h=9a5b263b4dd30704325857be10a30ecec5fac5e8;hb=cf1ea9172b94fc17e45391b62bf4ca24ac5c5fe0;hp=b25486c63b0d3b6a6d5ee9fafd31c037cfe2ac6f;hpb=84a7d0a360f0d5f9b588e269840a92158d1be7d2;p=netvirt.git diff --git a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/evpn/utils/EvpnMacVrfUtils.java b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/evpn/utils/EvpnMacVrfUtils.java index b25486c63b..9a5b263b4d 100644 --- a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/evpn/utils/EvpnMacVrfUtils.java +++ b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/evpn/utils/EvpnMacVrfUtils.java @@ -11,6 +11,7 @@ import com.google.common.util.concurrent.ListenableFuture; import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.Map; import java.util.Optional; import java.util.concurrent.ExecutionException; import javax.inject.Inject; @@ -37,6 +38,8 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.fibmanager.rev15033 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.fibmanager.rev150330.fibentries.VrfTables; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.fibmanager.rev150330.fibentries.VrfTablesKey; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.fibmanager.rev150330.macvrfentries.MacVrfEntry; +import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.fibmanager.rev150330.macvrfentries.MacVrfEntryKey; +import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.fibmanager.rev150330.vrfentrybase.RoutePaths; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.EvpnRdToNetworks; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.evpn.rd.to.networks.EvpnRdToNetwork; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.l3vpn.rev130911.evpn.rd.to.networks.EvpnRdToNetworkKey; @@ -131,11 +134,11 @@ public class EvpnMacVrfUtils { if (!vrfTablesOptional.isPresent()) { return null; } - List macVrfEntries = vrfTablesOptional.get().getMacVrfEntry(); - if (macVrfEntries == null || macVrfEntries.isEmpty()) { + Map keyMacVrfEntryMap = vrfTablesOptional.get().getMacVrfEntry(); + if (keyMacVrfEntryMap == null || keyMacVrfEntryMap.isEmpty()) { return null; } - for (MacVrfEntry macVrfEntry : macVrfEntries) { + for (MacVrfEntry macVrfEntry : keyMacVrfEntryMap.values()) { InstanceIdentifier macVrfEntryIid = getMacVrfEntryIid(rd, macVrfEntry); if (install) { addEvpnDmacFlowOnAttach(macVrfEntryIid, macVrfEntry, elanInstance); @@ -167,7 +170,8 @@ public class EvpnMacVrfUtils { List dpnInterfaceLists = elanUtils.getElanDPNByName(elanName); if (checkEvpnAttachedToNet(elanName)) { //TODO(Riyaz) : Check if accessing first nexthop address is right solution - String nexthopIP = macVrfEntry.getRoutePaths().get(0).getNexthopAddress(); + String nexthopIP = new ArrayList(macVrfEntry.getRoutePaths().values()) + .get(0).getNexthopAddress(); IpAddress ipAddress = new IpAddress(new Ipv4Address(nexthopIP)); Uint32 elanTag = getElanTagByMacvrfiid(instanceIdentifier); if (elanTag == null) { @@ -205,7 +209,7 @@ public class EvpnMacVrfUtils { //if (checkEvpnAttachedToNet(elanName)) { //TODO(Riyaz) : Check if accessing first nexthop address is right - String nexthopIP = macVrfEntry.getRoutePaths().get(0).getNexthopAddress(); + String nexthopIP = new ArrayList(macVrfEntry.getRoutePaths().values()).get(0).getNexthopAddress(); IpAddress ipAddress = new IpAddress(new Ipv4Address(nexthopIP)); Uint32 elanTag = getElanTagByMacvrfiid(instanceIdentifier); if (elanTag == null) { @@ -272,7 +276,7 @@ public class EvpnMacVrfUtils { LOG.debug("RoutePaths is null or empty for macvrfentry {}", macVrfEntry); return null; } - return macVrfEntry.getRoutePaths().get(0).getNexthopAddress(); + return new ArrayList(macVrfEntry.getRoutePaths().values()).get(0).getNexthopAddress(); } public void removeEvpnDmacFlowOnDetach(InstanceIdentifier instanceIdentifier, MacVrfEntry macVrfEntry,