X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=elanmanager%2Fimpl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fnetvirt%2Felan%2Fevpn%2Futils%2FElanEvpnFlowUtils.java;h=29895ce30c7d267c50ff0ab7b8d31c24bf5e2eef;hb=cf1ea9172b94fc17e45391b62bf4ca24ac5c5fe0;hp=ce51c4b6b6effe569c1f9f205939cb9dfc970412;hpb=84a7d0a360f0d5f9b588e269840a92158d1be7d2;p=netvirt.git diff --git a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/evpn/utils/ElanEvpnFlowUtils.java b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/evpn/utils/ElanEvpnFlowUtils.java index ce51c4b6b6..29895ce30c 100644 --- a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/evpn/utils/ElanEvpnFlowUtils.java +++ b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/evpn/utils/ElanEvpnFlowUtils.java @@ -12,7 +12,9 @@ import com.google.common.util.concurrent.ListenableFuture; import java.math.BigInteger; import java.util.ArrayList; import java.util.Collections; +import java.util.HashMap; import java.util.List; +import java.util.Map; import javax.inject.Inject; import javax.inject.Singleton; import org.opendaylight.genius.infra.Datastore; @@ -33,6 +35,7 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.Fl import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.Flow; import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.tables.table.FlowBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.list.Instruction; +import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.types.rev131026.instruction.list.InstructionKey; import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.etree.rev160614.EtreeLeafTagName; import org.opendaylight.yangtools.yang.common.Uint64; @@ -56,17 +59,17 @@ public class ElanEvpnFlowUtils { public Flow evpnBuildDmacFlowForExternalRemoteMac(EvpnDmacFlow evpnDmacFlow) { List mkMatches = ElanUtils.buildMatchesForElanTagShFlagAndDstMac(evpnDmacFlow.getElanTag(), false, evpnDmacFlow.getDstMacAddress()); - List mkInstructions = new ArrayList<>(); + Map mkInstructionsMap = new HashMap<>(); List actions = elanItmUtils.getExternalTunnelItmEgressAction(evpnDmacFlow.getDpId(), evpnDmacFlow.getNexthopIP(), evpnDmacFlow.getVni()); - mkInstructions.add(MDSALUtil.buildApplyActionsInstruction(actions)); + mkInstructionsMap.put(new InstructionKey(0), MDSALUtil.buildApplyActionsInstruction(actions)); Flow flow = MDSALUtil.buildFlowNew(NwConstants.ELAN_DMAC_TABLE, ElanUtils.getKnownDynamicmacFlowRef(NwConstants.ELAN_DMAC_TABLE, evpnDmacFlow.getDpId(), evpnDmacFlow.getNexthopIP(), evpnDmacFlow.getDstMacAddress(), evpnDmacFlow.getElanTag(), false), 20, evpnDmacFlow.getElanName(), 0, 0, Uint64.valueOf(ElanConstants.COOKIE_ELAN_KNOWN_DMAC.toJava() .add(BigInteger.valueOf(evpnDmacFlow.getElanTag()))), - mkMatches, mkInstructions); + mkMatches, mkInstructionsMap); return flow; }