summaryrefslogtreecommitdiffstats
path: root/vbd/impl/src/main/java/io/fd/honeycomb/vbd/impl/VppModifier.java
diff options
context:
space:
mode:
authorJozef Gloncak <jgloncak@cisco.com>2016-02-09 15:03:53 +0100
committerGerrit Code Review <gerrit@fd.io>2016-02-09 16:22:39 +0000
commit5aa62ee7d2be070b2ffef0443b59c8891ed06845 (patch)
tree8a6d57d66fe2dea72dcdc4dd259cd9eba36561ac /vbd/impl/src/main/java/io/fd/honeycomb/vbd/impl/VppModifier.java
parented1bb590d38c1581d35fd822564510ff22288510 (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.java13
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);