diff options
author | Jozef Gloncak <jgloncak@cisco.com> | 2016-02-09 15:03:53 +0100 |
---|---|---|
committer | Gerrit Code Review <gerrit@fd.io> | 2016-02-09 16:22:39 +0000 |
commit | 5aa62ee7d2be070b2ffef0443b59c8891ed06845 (patch) | |
tree | 8a6d57d66fe2dea72dcdc4dd259cd9eba36561ac /vbd/impl/src/main/java/io/fd/honeycomb/vbd/impl/VppModifier.java | |
parent | ed1bb590d38c1581d35fd822564510ff22288510 (diff) |
Adding vxlan tunnel id allocator.
Change-Id: Id638bc0262481921cd42d830e9fc788e76bc3907
Signed-off-by: Jozef Gloncak <jgloncak@cisco.com>
Diffstat (limited to 'vbd/impl/src/main/java/io/fd/honeycomb/vbd/impl/VppModifier.java')
-rw-r--r-- | vbd/impl/src/main/java/io/fd/honeycomb/vbd/impl/VppModifier.java | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/vbd/impl/src/main/java/io/fd/honeycomb/vbd/impl/VppModifier.java b/vbd/impl/src/main/java/io/fd/honeycomb/vbd/impl/VppModifier.java index 489f6c796..3378e6817 100644 --- a/vbd/impl/src/main/java/io/fd/honeycomb/vbd/impl/VppModifier.java +++ b/vbd/impl/src/main/java/io/fd/honeycomb/vbd/impl/VppModifier.java @@ -146,15 +146,16 @@ public class VppModifier { return resultFuture; } - void createVirtualInterfaceOnVpp(final Ipv4AddressNoZone ipSrc, final Ipv4AddressNoZone ipDst, final KeyedInstanceIdentifier<Node, NodeKey> iiToVpp) { + void createVirtualInterfaceOnVpp(final Ipv4AddressNoZone ipSrc, final Ipv4AddressNoZone ipDst, final KeyedInstanceIdentifier<Node, NodeKey> iiToVpp, + final Integer vxlanTunnelId) { final Vxlan vxlanData = prepareVxlan(ipSrc, ipDst); - final Interface intfData = prepareVirtualInterfaceData(vxlanData); + final Interface intfData = prepareVirtualInterfaceData(vxlanData, vxlanTunnelId); final DataBroker vppDataBroker = VbdUtil.resolveDataBrokerForMountPoint(iiToVpp, mountService); if (vppDataBroker != null) { final WriteTransaction wTx = vppDataBroker.newWriteOnlyTransaction(); final KeyedInstanceIdentifier<Interface, InterfaceKey> iiToInterface - = InstanceIdentifier.create(Interfaces.class).child(Interface.class, new InterfaceKey(BridgeDomain.TUNNEL_ID_DEMO)); + = InstanceIdentifier.create(Interfaces.class).child(Interface.class, new InterfaceKey(VbdUtil.provideVxlanId(vxlanTunnelId))); wTx.put(LogicalDatastoreType.CONFIGURATION, iiToInterface, intfData); final CheckedFuture<Void, TransactionCommitFailedException> submitFuture = wTx.submit(); Futures.addCallback(submitFuture, new FutureCallback<Void>() { @@ -169,14 +170,14 @@ public class VppModifier { } }); } else { - LOG.debug("Writing virtual interface {} to VPP {} wasn't successfull because missing data broker.", BridgeDomain.TUNNEL_ID_DEMO, iiToVpp); + LOG.debug("Writing virtual interface {} to VPP {} wasn't successfull because missing data broker.", VbdUtil.provideVxlanId(vxlanTunnelId), iiToVpp); } } - private Interface prepareVirtualInterfaceData(final Vxlan vxlan) { + private Interface prepareVirtualInterfaceData(final Vxlan vxlan, Integer vxlanTunnelId) { final InterfaceBuilder interfaceBuilder = new InterfaceBuilder(); //TODO implement tunnel counter - interfaceBuilder.setName(BridgeDomain.TUNNEL_ID_DEMO); + interfaceBuilder.setName(VbdUtil.provideVxlanId(vxlanTunnelId)); interfaceBuilder.setType(VxlanTunnel.class); VppInterfaceAugmentationBuilder vppInterfaceAugmentationBuilder = new VppInterfaceAugmentationBuilder(); vppInterfaceAugmentationBuilder.setVxlan(vxlan); |