diff options
author | Michal Cmarada <mcmarada@cisco.com> | 2019-06-24 13:59:04 +0200 |
---|---|---|
committer | Michal Cmarada <mcmarada@cisco.com> | 2019-06-24 13:59:04 +0200 |
commit | b078f1d28cddc07da5bcad076b872113b9383ab4 (patch) | |
tree | 46b940292bd5f269d569aa5e804422e2e4ddb2a8 /v3po/v3po2vpp/src/main/java/io/fd/hc2vpp/v3po/write/GreCustomizer.java | |
parent | 590fdfed2ae071f731e8795ac7ac80c65d43feb1 (diff) |
- VPP introduced changes to GRE tunnels and ArpTermination
- this updates the api calls for both.
Change-Id: I9dd268a14a88ee701512453ce81d6ae15988832c
Signed-off-by: Michal Cmarada <mcmarada@cisco.com>
Diffstat (limited to 'v3po/v3po2vpp/src/main/java/io/fd/hc2vpp/v3po/write/GreCustomizer.java')
-rw-r--r-- | v3po/v3po2vpp/src/main/java/io/fd/hc2vpp/v3po/write/GreCustomizer.java | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/v3po/v3po2vpp/src/main/java/io/fd/hc2vpp/v3po/write/GreCustomizer.java b/v3po/v3po2vpp/src/main/java/io/fd/hc2vpp/v3po/write/GreCustomizer.java index 3d048d47f..6a15072fe 100644 --- a/v3po/v3po2vpp/src/main/java/io/fd/hc2vpp/v3po/write/GreCustomizer.java +++ b/v3po/v3po2vpp/src/main/java/io/fd/hc2vpp/v3po/write/GreCustomizer.java @@ -46,7 +46,7 @@ public class GreCustomizer extends AbstractInterfaceTypeCustomizer<Gre> implemen this.interfaceContext = interfaceContext; } - private static GreTunnelAddDel getGreTunnelRequest(final byte isAdd, final IpAddressNoZone srcAddr, + private static GreTunnelAddDel getGreTunnelRequest(final boolean isAdd, final IpAddressNoZone srcAddr, final IpAddressNoZone dstAddr, final int outerFibId, final byte isIpv6) { final GreTunnelAddDel greTunnelAddDel = new GreTunnelAddDel(); @@ -64,7 +64,6 @@ public class GreCustomizer extends AbstractInterfaceTypeCustomizer<Gre> implemen AddressTranslator.INSTANCE.ipv6AddressToAddress(dstAddr.getIpv6AddressNoZone()); } greTunnelAddDel.tunnel.outerFibId = outerFibId; - greTunnelAddDel.tunnel.isIpv6 = isIpv6; return greTunnelAddDel; } @@ -99,13 +98,13 @@ public class GreCustomizer extends AbstractInterfaceTypeCustomizer<Gre> implemen LOG.debug("Setting gre tunnel for interface: {}. Gre: {}", swIfName, gre); final CompletionStage<GreTunnelAddDelReply> greAddDelTunnelReplyCompletionStage = - getFutureJVpp().greTunnelAddDel(getGreTunnelRequest((byte) 1 /* is add */, gre.getSrc(), + getFutureJVpp().greTunnelAddDel(getGreTunnelRequest(true, gre.getSrc(), gre.getDst(), outerFibId, isIpv6)); final GreTunnelAddDelReply reply = getReplyForCreate(greAddDelTunnelReplyCompletionStage.toCompletableFuture(), id, gre); LOG.debug("Gre tunnel set successfully for: {}, gre: {}", swIfName, gre); - if (interfaceContext.containsName(reply.swIfIndex, writeContext.getMappingContext())) { + if (interfaceContext.containsName(reply.swIfIndex.interfaceindex, writeContext.getMappingContext())) { // VPP keeps gre tunnels present even after they are delete(reserving ID for next tunnel) // This may cause inconsistencies in mapping context when configuring tunnels like this: // 1. Add tunnel 2. Delete tunnel 3. Read interfaces (reserved mapping e.g. gre_tunnel0 -> 6 @@ -113,13 +112,14 @@ public class GreCustomizer extends AbstractInterfaceTypeCustomizer<Gre> implemen // reserved ID and context is invalid) // That's why a check has to be performed here removing mapping gre_tunnel0 -> 6 mapping and storing // new name for that ID - final String formerName = interfaceContext.getName(reply.swIfIndex, writeContext.getMappingContext()); + final String formerName = + interfaceContext.getName(reply.swIfIndex.interfaceindex, writeContext.getMappingContext()); LOG.debug("Removing updated mapping of a gre tunnel, id: {}, former name: {}, new name: {}", reply.swIfIndex, formerName, swIfName); interfaceContext.removeName(formerName, writeContext.getMappingContext()); } // Add new interface to our interface context - interfaceContext.addName(reply.swIfIndex, swIfName, writeContext.getMappingContext()); + interfaceContext.addName(reply.swIfIndex.interfaceindex, swIfName, writeContext.getMappingContext()); } private boolean isIpv6(final Gre gre) { @@ -136,7 +136,7 @@ public class GreCustomizer extends AbstractInterfaceTypeCustomizer<Gre> implemen LOG.debug("Deleting gre tunnel for interface: {}. Gre: {}", swIfName, gre); final CompletionStage<GreTunnelAddDelReply> greAddDelTunnelReplyCompletionStage = - getFutureJVpp().greTunnelAddDel(getGreTunnelRequest((byte) 0 /* is add */, gre.getSrc(), + getFutureJVpp().greTunnelAddDel(getGreTunnelRequest(false, gre.getSrc(), gre.getDst(), outerFibId, isIpv6)); getReplyForDelete(greAddDelTunnelReplyCompletionStage.toCompletableFuture(), id); |