sangho

[ONOS-5038] Bug fix for "pending_add" flow rules

Corrects deviceIds when build Nicira extension flow rules.

Change-Id: I8dc196d36e5518fe172769b2b957c929a7136d52
......@@ -241,8 +241,8 @@ public class OpenstackFloatingIpManager implements OpenstackFloatingIpService {
.setEthDst(associatedVm.mac())
.setIpDst(associatedVm.ipAddresses().stream().findFirst().get())
.setTunnelId(Long.valueOf(associatedVm.annotations().value(VXLAN_ID)))
.extension(buildExtension(deviceService, cnodeId, dataIp.get().getIp4Address()),
cnodeId)
.extension(buildExtension(deviceService, gnodeId, dataIp.get().getIp4Address()),
gnodeId)
.setOutput(nodeService.tunnelPort(gnodeId).get())
.build();
......
......@@ -316,7 +316,7 @@ public class OpenstackPnatHandler {
tBuilder.setIpSrc(externalIp);
gatewayService.getGatewayNodes().stream().forEach(gateway -> {
TrafficTreatment.Builder tmpBuilder = tBuilder;
TrafficTreatment.Builder tmpBuilder = DefaultTrafficTreatment.builder(tBuilder.build());
tmpBuilder.setOutput(gatewayService.getUplinkPort(gateway.getGatewayDeviceId()));
ForwardingObjective fo = DefaultForwardingObjective.builder()
.withSelector(sBuilder.build())
......@@ -376,7 +376,7 @@ public class OpenstackPnatHandler {
gatewayService.getGatewayDeviceIds().stream().forEach(deviceId -> {
DeviceId srcDeviceId = srcVm.get().location().deviceId();
TrafficTreatment.Builder tmpBuilder = tBuilder;
TrafficTreatment.Builder tmpBuilder = DefaultTrafficTreatment.builder(tBuilder.build());
tmpBuilder.extension(RulePopulatorUtil.buildExtension(
deviceService,
deviceId,
......