--- /dev/null
+/*
+ * Copyright (c) 2017 Cisco Systems. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+package org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp;
+
+import org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction;
+import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
+import org.opendaylight.groupbasedpolicy.renderer.vpp.util.General;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Created by Shakib Ahmed on 3/20/17.
+ */
+public abstract class AbstractLispCommand<T extends DataObject> {
+
+ private static final Logger LOG = LoggerFactory.getLogger(AbstractLispCommand.class);
+ private General.Operations options;
+
+ public void setOptions(General.Operations options) {
+ this.options = options;
+ }
+
+ public General.Operations getOptions() {
+ if (options == null) {
+ LOG.debug("Options found null, setting Options to default PUT type");
+ options = General.Operations.PUT;
+ }
+ return options;
+ }
+
+ /**
+ * Execute command using a given data modification transaction.
+ *
+ * @param rwTx Transaction for command execution
+ */
+ public void execute(ReadWriteTransaction rwTx) {
+ switch (getOptions()) {
+ case PUT:
+ put(rwTx);
+ break;
+ case MERGE:
+ merge(rwTx);
+ break;
+ case DELETE:
+ delete(rwTx);
+ break;
+ }
+ }
+
+ private void put(ReadWriteTransaction rwTx) {
+ rwTx.put(LogicalDatastoreType.CONFIGURATION, getIid(), getData());
+ }
+
+ private void merge(ReadWriteTransaction rwTx) {
+ rwTx.merge(LogicalDatastoreType.CONFIGURATION, getIid(), getData());
+ }
+
+ private void delete(ReadWriteTransaction rwTx) {
+ try {
+ rwTx.delete(LogicalDatastoreType.CONFIGURATION, getIid());
+ } catch (IllegalStateException ex) {
+ LOG.debug("Configuration is not present in DS {}", this, ex);
+ }
+ }
+
+ public abstract InstanceIdentifier<T> getIid();
+
+ public abstract T getData();
+}
\ No newline at end of file
--- /dev/null
+/*
+ * Copyright (c) 2017 Cisco Systems. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+package org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp;
+
+import org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp.dom.LispDom;
+import org.opendaylight.groupbasedpolicy.renderer.vpp.util.VppIidFactory;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.Lisp;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+
+/**
+ * Created by Shakib Ahmed on 3/16/17.
+ */
+public class ConfigureLispStatusCommand extends AbstractLispCommand<Lisp> {
+
+ private LispDom lispDom;
+
+ public ConfigureLispStatusCommand(LispDom data) {
+ lispDom = data;
+ }
+
+ @Override
+ public InstanceIdentifier<Lisp> getIid() {
+ return VppIidFactory.getLispStateIid();
+ }
+
+ @Override
+ public Lisp getData() {
+ return lispDom.getSALObject();
+ }
+
+ @Override
+ public String toString() {
+ return "state: " + lispDom.isEnabled();
+ }
+}
--- /dev/null
+/*
+ * Copyright (c) 2017 Cisco Systems. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+package org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp;
+
+import org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp.dom.LocalMappingDom;
+import org.opendaylight.groupbasedpolicy.renderer.vpp.util.VppIidFactory;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.dp.subtable.grouping.local.mappings.LocalMapping;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.dp.subtable.grouping.local.mappings.LocalMappingKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.eid.table.grouping.eid.table.VniTableKey;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+
+/**
+ * Created by Shakib Ahmed on 3/16/17.
+ */
+public class ConfigureLocalMappingInEidTableCommand extends AbstractLispCommand<LocalMapping> {
+
+ LocalMappingDom localMappingDom;
+
+ public ConfigureLocalMappingInEidTableCommand(LocalMappingDom localMappingDom) {
+ this.localMappingDom = localMappingDom;
+ }
+
+ @Override
+ public InstanceIdentifier<LocalMapping> getIid() {
+ return VppIidFactory.getLocalMappingIid(new VniTableKey(localMappingDom.getVni()),
+ new LocalMappingKey(localMappingDom.getMappingId()));
+ }
+
+ @Override
+ public LocalMapping getData() {
+ return localMappingDom.getSALObject();
+ }
+}
--- /dev/null
+/*
+ * Copyright (c) 2017 Cisco Systems. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+package org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp;
+
+import org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp.dom.LocatorSetDom;
+import org.opendaylight.groupbasedpolicy.renderer.vpp.util.VppIidFactory;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.locator.sets.grouping.locator.sets.LocatorSet;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.locator.sets.grouping.locator.sets.LocatorSetKey;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+
+/**
+ * Created by Shakib Ahmed on 3/16/17.
+ */
+public class ConfigureLocatorSetCommand extends AbstractLispCommand<LocatorSet> {
+
+ LocatorSetDom locatorSetDom;
+
+ public ConfigureLocatorSetCommand(LocatorSetDom locatorSetDom) {
+ this.locatorSetDom = locatorSetDom;
+ }
+
+ @Override
+ public InstanceIdentifier<LocatorSet> getIid() {
+ return VppIidFactory.getLocatorSetIid(new LocatorSetKey(locatorSetDom.getLocatorName()));
+ }
+
+ @Override
+ public LocatorSet getData() {
+ return locatorSetDom.getSALObject();
+ }
+}
\ No newline at end of file
--- /dev/null
+/*
+ * Copyright (c) 2017 Cisco Systems. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+package org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp;
+
+import org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp.dom.MapRegisterDom;
+import org.opendaylight.groupbasedpolicy.renderer.vpp.util.VppIidFactory;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.map.register.grouping.MapRegister;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+
+/**
+ * Created by Shakib Ahmed on 3/20/17.
+ */
+public class ConfigureMapRegisterStatusCommand extends AbstractLispCommand<MapRegister>{
+
+ MapRegisterDom mapRegisterDom;
+
+ public ConfigureMapRegisterStatusCommand(MapRegisterDom mapRegisterDom) {
+ this.mapRegisterDom = mapRegisterDom;
+ }
+
+ @Override
+ public InstanceIdentifier<MapRegister> getIid() {
+ return VppIidFactory.getMapRegisterIid();
+ }
+
+ @Override
+ public MapRegister getData() {
+ return mapRegisterDom.getSALObject();
+ }
+}
--- /dev/null
+/*
+ * Copyright (c) 2017 Cisco Systems. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+package org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp;
+
+import org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp.dom.MapResolverDom;
+import org.opendaylight.groupbasedpolicy.renderer.vpp.util.VppIidFactory;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.map.resolvers.grouping.map.resolvers.MapResolver;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.map.resolvers.grouping.map.resolvers.MapResolverKey;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+
+/**
+ * Created by Shakib Ahmed on 3/20/17.
+ */
+public class ConfigureMapResolverCommand extends AbstractLispCommand<MapResolver>{
+ MapResolverDom mapResolverDom;
+
+ public ConfigureMapResolverCommand(MapResolverDom mapResolverDom) {
+ this.mapResolverDom = mapResolverDom;
+ }
+
+ @Override
+ public InstanceIdentifier<MapResolver> getIid() {
+ return VppIidFactory.getMapResolverIid(new MapResolverKey(mapResolverDom.getIpAddress()));
+ }
+
+ @Override
+ public MapResolver getData() {
+ return mapResolverDom.getSALObject();
+ }
+}
--- /dev/null
+/*
+ * Copyright (c) 2017 Cisco Systems. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+package org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp;
+
+import org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp.dom.MapServerDom;
+import org.opendaylight.groupbasedpolicy.renderer.vpp.util.VppIidFactory;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.map.servers.grouping.map.servers.MapServer;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.map.servers.grouping.map.servers.MapServerKey;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+
+/**
+ * Created by Shakib Ahmed on 3/20/17.
+ */
+public class ConfigureMapServerCommand extends AbstractLispCommand<MapServer> {
+ private MapServerDom mapServerDom;
+
+ public ConfigureMapServerCommand(MapServerDom mapServerDom) {
+ this.mapServerDom = mapServerDom;
+ }
+
+ @Override
+ public InstanceIdentifier<MapServer> getIid() {
+ return VppIidFactory.getMapServerIid(new MapServerKey(mapServerDom.getIpAddress()));
+ }
+
+ @Override
+ public MapServer getData() {
+ return mapServerDom.getSALObject();
+ }
+}
--- /dev/null
+/*
+ * Copyright (c) 2017 Cisco Systems. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+package org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp;
+
+import org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp.dom.VniTableDom;
+import org.opendaylight.groupbasedpolicy.renderer.vpp.util.VppIidFactory;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.eid.table.grouping.eid.table.VniTable;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.eid.table.grouping.eid.table.VniTableKey;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+
+/**
+ * Created by Shakib Ahmed on 3/16/17.
+ */
+public class ConfigureVrfToVniMappingCommand extends AbstractLispCommand<VniTable> {
+
+ VniTableDom vniTableDom;
+
+ public ConfigureVrfToVniMappingCommand(VniTableDom vniTableDom) {
+ this.vniTableDom = vniTableDom;
+ }
+
+ @Override
+ public InstanceIdentifier<VniTable> getIid() {
+ return VppIidFactory.getVniTableIid(new VniTableKey(vniTableDom.getVirtualNetworkIdentifier()));
+ }
+
+ @Override
+ public VniTable getData() {
+ return vniTableDom.getSALObject();
+ }
+}
\ No newline at end of file
--- /dev/null
+/*
+ * Copyright (c) 2017 Cisco Systems. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+package org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp;
+
+import org.opendaylight.groupbasedpolicy.renderer.vpp.util.VppIidFactory;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.lisp.feature.data.grouping.LispFeatureData;
+import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Created by Shakib Ahmed on 4/18/17.
+ */
+public class DeleteLispFeatureDataCommand extends AbstractLispCommand<LispFeatureData> {
+ private static final Logger LOG = LoggerFactory.getLogger(DeleteLispFeatureDataCommand.class);
+
+ @Override
+ public InstanceIdentifier<LispFeatureData> getIid() {
+ return VppIidFactory.getLispFeatureDataIid();
+ }
+
+ @Override
+ public LispFeatureData getData() {
+ LOG.debug("Delete commands should not invoke getData()");
+ return null;
+ }
+}
--- /dev/null
+/*
+ * Copyright (c) 2017 Cisco Systems. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+package org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp;
+
+import org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp.dom.InterfaceDom;
+import org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp.dom.LispDom;
+import org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp.dom.LocalMappingDom;
+import org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp.dom.LocatorSetDom;
+import org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp.dom.MapRegisterDom;
+import org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp.dom.MapResolverDom;
+import org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp.dom.MapServerDom;
+import org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp.dom.VniTableDom;
+import org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp.dom.VrfSubtableDom;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.Lisp;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.MappingId;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.dp.subtable.grouping.local.mappings.LocalMapping;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.dp.subtable.grouping.local.mappings.local.mapping.Eid;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.eid.table.grouping.eid.table.VniTable;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.hmac.key.grouping.HmacKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.lisp.feature.data.grouping.LispFeatureData;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.locator.sets.grouping.locator.sets.LocatorSet;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.map.register.grouping.MapRegister;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.map.resolvers.grouping.map.resolvers.MapResolver;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.map.servers.grouping.map.servers.MapServer;
+
+import java.util.Arrays;
+
+/**
+ * Created by Shakib Ahmed on 3/21/17.
+ */
+public class LispCommandWrapper {
+ public static AbstractLispCommand<Lisp> enableLisp() {
+ LispDom lispDom = new LispDom();
+ lispDom.setEnabled(true);
+ return new ConfigureLispStatusCommand(lispDom);
+ }
+
+ public static AbstractLispCommand<LocatorSet> addLocatorSet(String locatorName,
+ String interfaceName,
+ short priority,
+ short weight) {
+ InterfaceDom interfaceDom = new InterfaceDom();
+ interfaceDom.setInterfaceName(interfaceName);
+ interfaceDom.setPriority(priority);
+ interfaceDom.setWeight(weight);
+
+ LocatorSetDom locatorSetDom = new LocatorSetDom();
+ locatorSetDom.setInterfaces(Arrays.asList(interfaceDom.getSALObject()));
+ locatorSetDom.setLocatorName(locatorName);
+ return new ConfigureLocatorSetCommand(locatorSetDom);
+ }
+
+ public static AbstractLispCommand<VniTable> mapVniToVrf(long vni, long vrfTableId) {
+ VrfSubtableDom vrfSubtableDom = new VrfSubtableDom();
+ vrfSubtableDom.setTableId(vrfTableId);
+
+ VniTableDom vniTableDom = new VniTableDom();
+ vniTableDom.setVirtualNetworkIdentifier(vni);
+ vniTableDom.setVrfSubtable(vrfSubtableDom.getSALObject());
+
+ return new ConfigureVrfToVniMappingCommand(vniTableDom);
+ }
+
+ public static AbstractLispCommand<MapRegister> enableMapRegister() {
+ MapRegisterDom mapRegisterDom = new MapRegisterDom();
+ mapRegisterDom.setEnabled(true);
+ return new ConfigureMapRegisterStatusCommand(mapRegisterDom);
+ }
+
+ public static AbstractLispCommand<MapResolver> addMapResolver(IpAddress ipAddress) {
+ MapResolverDom mapResolverDom = new MapResolverDom();
+ mapResolverDom.setIpAddress(ipAddress);
+
+ return new ConfigureMapResolverCommand(mapResolverDom);
+ }
+
+ public static AbstractLispCommand<MapServer> addMapServer(IpAddress ipAddress) {
+ MapServerDom mapServerDom = new MapServerDom();
+ mapServerDom.setIpAddress(ipAddress);
+
+ return new ConfigureMapServerCommand(mapServerDom);
+ }
+
+ public static AbstractLispCommand<LocalMapping> addLocalMappingInEidTable(String mappingName,
+ Eid eid,
+ String locatorName,
+ HmacKey hmacKey) {
+ LocalMappingDom localMappingDom = new LocalMappingDom();
+ localMappingDom.setMappingId(new MappingId(mappingName));
+ localMappingDom.setEid(eid);
+ localMappingDom.setLocatorName(locatorName);
+ localMappingDom.setHmacKey(hmacKey);
+
+ return new ConfigureLocalMappingInEidTableCommand(localMappingDom);
+ }
+
+ public static AbstractLispCommand<LocalMapping> deleteLocalMappingFromEidTable(String mappingName,
+ long vni) {
+ LocalMappingDom localMappingDom = new LocalMappingDom();
+ localMappingDom.setMappingId(new MappingId(mappingName));
+ localMappingDom.setVni(vni);
+
+ return new ConfigureLocalMappingInEidTableCommand(localMappingDom);
+ }
+
+ public static AbstractLispCommand<LispFeatureData> deleteLispFeatureData() {
+ return new DeleteLispFeatureDataCommand();
+ }
+}
--- /dev/null
+/*
+ * Copyright (c) 2017 Cisco Systems. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+package org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp.dom;
+
+import org.opendaylight.yangtools.yang.binding.DataObject;
+
+/**
+ * Created by Shakib Ahmed on 3/20/17.
+ */
+public interface CommandModel {
+ <T extends DataObject> T getSALObject();
+}
--- /dev/null
+/*
+ * Copyright (c) 2017 Cisco Systems. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+package org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp.dom;
+
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.InstanceIdType;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.LispAddressFamily;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.lisp.address.types.rev151105.lisp.address.Address;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.dp.subtable.grouping.local.mappings.local.mapping.Eid;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.dp.subtable.grouping.local.mappings.local.mapping.EidBuilder;
+
+/**
+ * Created by Shakib Ahmed on 3/21/17.
+ */
+public class EidDom<T extends LispAddressFamily> implements CommandModel {
+
+ private long vni;
+ private Address address;
+ private Class<T> addressFamily;
+
+ public long getVni() {
+ return vni;
+ }
+
+ public void setVni(long vni) {
+ this.vni = vni;
+ }
+
+ public Address getAddress() {
+ return address;
+ }
+
+ public void setAddress(Address address) {
+ this.address = address;
+ }
+
+ public Class<T> getAddressFamily() {
+ return addressFamily;
+ }
+
+ public void setAddressFamily(Class<T> addressFamily) {
+ this.addressFamily = addressFamily;
+ }
+
+ @Override
+ public Eid getSALObject() {
+ return new EidBuilder()
+ .setVirtualNetworkId(new InstanceIdType(vni))
+ .setAddressType(getAddressFamily())
+ .setAddress(address).build();
+ }
+}
--- /dev/null
+/*
+ * Copyright (c) 2017 Cisco Systems. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+package org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp.dom;
+
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.HmacKeyType;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.hmac.key.grouping.HmacKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.hmac.key.grouping.HmacKeyBuilder;
+
+/**
+ * Created by Shakib Ahmed on 3/21/17.
+ */
+public class HmacKeyDom implements CommandModel {
+
+ private HmacKeyType keyType;
+ private String key;
+
+ public HmacKeyType getKeyType() {
+ return keyType;
+ }
+
+ public void setKeyType(HmacKeyType keyType) {
+ this.keyType = keyType;
+ }
+
+ public String getKey() {
+ return key;
+ }
+
+ public void setKey(String key) {
+ this.key = key;
+ }
+
+ @Override
+ public HmacKey getSALObject() {
+ return new HmacKeyBuilder()
+ .setKeyType(keyType)
+ .setKey(key).build();
+ }
+}
--- /dev/null
+/*
+ * Copyright (c) 2017 Cisco Systems. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+package org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp.dom;
+
+import com.google.common.base.Preconditions;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.locator.sets.grouping.locator.sets.locator.set.Interface;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.locator.sets.grouping.locator.sets.locator.set.InterfaceBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.locator.sets.grouping.locator.sets.locator.set.InterfaceKey;
+
+/**
+ * Created by Shakib Ahmed on 3/20/17.
+ */
+public class InterfaceDom implements CommandModel {
+
+ private String interfaceName;
+ private short priority;
+ private short weight;
+
+ public String getInterfaceName() {
+ return interfaceName;
+ }
+
+ public void setInterfaceName(String interfaceName) {
+ this.interfaceName = interfaceName;
+ }
+
+ public short getPriority() {
+ return priority;
+ }
+
+ public void setPriority(short priority) {
+ this.priority = priority;
+ }
+
+ public short getWeight() {
+ return weight;
+ }
+
+ public void setWeight(short weight) {
+ this.weight = weight;
+ }
+
+ @Override
+ public Interface getSALObject() {
+ Preconditions.checkNotNull(interfaceName, "Interface Name needs to be set!");
+
+ return new InterfaceBuilder()
+ .setKey(new InterfaceKey(interfaceName))
+ .setInterfaceRef(interfaceName)
+ .setPriority(priority)
+ .setWeight(priority).build();
+ }
+}
--- /dev/null
+/*
+ * Copyright (c) 2017 Cisco Systems. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+package org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp.dom;
+
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.Lisp;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.LispBuilder;
+
+/**
+ * Created by Shakib Ahmed on 3/20/17.
+ */
+public class LispDom implements CommandModel {
+ private boolean enabled;
+
+ public boolean isEnabled() {
+ return enabled;
+ }
+
+ public void setEnabled(boolean enabled) {
+ this.enabled = enabled;
+ }
+
+
+ @Override
+ public Lisp getSALObject() {
+ return new LispBuilder().setEnable(enabled).build();
+ }
+}
--- /dev/null
+/*
+ * Copyright (c) 2017 Cisco Systems. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+package org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp.dom;
+
+import com.google.common.base.Preconditions;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.MappingId;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.dp.subtable.grouping.local.mappings.LocalMapping;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.dp.subtable.grouping.local.mappings.LocalMappingBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.dp.subtable.grouping.local.mappings.LocalMappingKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.dp.subtable.grouping.local.mappings.local.mapping.Eid;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.hmac.key.grouping.HmacKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.locator.sets.grouping.locator.sets.LocatorSet;
+
+/**
+ * Created by Shakib Ahmed on 3/20/17.
+ */
+public class LocalMappingDom implements CommandModel {
+
+ private MappingId mappingId;
+ private Eid eid;
+ private Long vni;
+ private String locatorName;
+ private HmacKey hmacKey;
+
+ public MappingId getMappingId() {
+ return mappingId;
+ }
+
+ public void setMappingId(MappingId mappingId) {
+ this.mappingId = mappingId;
+ }
+
+ public Eid getEid() {
+ return eid;
+ }
+
+ public void setEid(Eid eid) {
+ this.vni = eid.getVirtualNetworkId().getValue();
+ this.eid = eid;
+ }
+
+ public String getLocatorName() {
+ return locatorName;
+ }
+
+ public void setLocatorName(String locatorName) {
+ this.locatorName = locatorName;
+ }
+
+ public void setLocatorSet(LocatorSet locatorSet) {
+ this.locatorName = locatorSet.getName();
+ }
+
+ public HmacKey getHmacKey() {
+ return hmacKey;
+ }
+
+ public void setHmacKey(HmacKey hmacKey) {
+ this.hmacKey = hmacKey;
+ }
+
+ public Long getVni() {
+ return vni;
+ }
+
+ public void setVni(long vni) {
+ this.vni = vni;
+ }
+
+
+ @Override
+ public LocalMapping getSALObject() {
+ Preconditions.checkNotNull(mappingId, "Mapping Id needs to be set!");
+ Preconditions.checkNotNull(getVni(), "Vni needs to be set!");
+
+ return new LocalMappingBuilder()
+ .setKey(new LocalMappingKey(mappingId))
+ .setId(mappingId)
+ .setEid(eid)
+ .setLocatorSet(locatorName)
+ .setHmacKey(hmacKey).build();
+ }
+}
--- /dev/null
+/*
+ * Copyright (c) 2017 Cisco Systems. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+package org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp.dom;
+
+import com.google.common.base.Preconditions;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.locator.sets.grouping.locator.sets.LocatorSet;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.locator.sets.grouping.locator.sets.LocatorSetBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.locator.sets.grouping.locator.sets.LocatorSetKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.locator.sets.grouping.locator.sets.locator.set.Interface;
+
+import java.util.List;
+
+/**
+ * Created by Shakib Ahmed on 3/20/17.
+ */
+public class LocatorSetDom implements CommandModel {
+
+ private String locatorName;
+ private List<Interface> interfaces;
+
+ public String getLocatorName() {
+ return locatorName;
+ }
+
+ public void setLocatorName(String locatorName) {
+ this.locatorName = locatorName;
+ }
+
+ public List<Interface> getInterfaces() {
+ return interfaces;
+ }
+
+ public void setInterfaces(List<Interface> interfaces) {
+ this.interfaces = interfaces;
+ }
+
+ @Override
+ public LocatorSet getSALObject() {
+ Preconditions.checkNotNull(locatorName, "Locator Name needs to be set!");
+ return new LocatorSetBuilder()
+ .setKey(new LocatorSetKey(locatorName))
+ .setName(locatorName)
+ .setInterface(interfaces).build();
+ }
+}
--- /dev/null
+/*
+ * Copyright (c) 2017 Cisco Systems. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+package org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp.dom;
+
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.map.register.grouping.MapRegister;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.map.register.grouping.MapRegisterBuilder;
+
+/**
+ * Created by Shakib Ahmed on 3/20/17.
+ */
+public class MapRegisterDom implements CommandModel {
+
+ private boolean enabled;
+
+ public boolean isEnabled() {
+ return enabled;
+ }
+
+ public void setEnabled(boolean enabled) {
+ this.enabled = enabled;
+ }
+
+ @Override
+ public MapRegister getSALObject() {
+ return new MapRegisterBuilder().setEnabled(enabled).build();
+ }
+}
--- /dev/null
+/*
+ * Copyright (c) 2017 Cisco Systems. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+package org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp.dom;
+
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.map.resolvers.grouping.map.resolvers.MapResolver;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.map.resolvers.grouping.map.resolvers.MapResolverBuilder;
+
+/**
+ * Created by Shakib Ahmed on 3/20/17.
+ */
+public class MapResolverDom implements CommandModel {
+ private IpAddress ipAddress;
+
+ public IpAddress getIpAddress() {
+ return ipAddress;
+ }
+
+ public void setIpAddress(IpAddress ipAddress) {
+ this.ipAddress = ipAddress;
+ }
+
+ @Override
+ public MapResolver getSALObject() {
+ return new MapResolverBuilder().setIpAddress(ipAddress).build();
+ }
+}
--- /dev/null
+/*
+ * Copyright (c) 2017 Cisco Systems. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+package org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp.dom;
+
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.map.resolvers.grouping.MapResolvers;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.map.resolvers.grouping.MapResolversBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.map.resolvers.grouping.map.resolvers.MapResolver;
+
+import java.util.List;
+
+/**
+ * Created by Shakib Ahmed on 3/20/17.
+ */
+public class MapResolversDom implements CommandModel {
+ private List<MapResolver> mapResolvers;
+
+ public List<MapResolver> getMapResolvers() {
+ return mapResolvers;
+ }
+
+ public void setMapResolvers(List<MapResolver> mapResolvers) {
+ this.mapResolvers = mapResolvers;
+ }
+
+ @Override
+ public MapResolvers getSALObject() {
+ return new MapResolversBuilder().setMapResolver(mapResolvers).build();
+ }
+}
--- /dev/null
+/*
+ * Copyright (c) 2017 Cisco Systems. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+package org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp.dom;
+
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.map.servers.grouping.map.servers.MapServer;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.map.servers.grouping.map.servers.MapServerBuilder;
+
+/**
+ * Created by Shakib Ahmed on 3/20/17.
+ */
+public class MapServerDom implements CommandModel{
+ private IpAddress ipAddress;
+
+ public IpAddress getIpAddress() {
+ return ipAddress;
+ }
+
+ public void setIpAddress(IpAddress ipAddress) {
+ this.ipAddress = ipAddress;
+ }
+
+ @Override
+ public MapServer getSALObject() {
+ return new MapServerBuilder().setIpAddress(ipAddress).build();
+ }
+}
--- /dev/null
+/*
+ * Copyright (c) 2017 Cisco Systems. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+package org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp.dom;
+
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.map.servers.grouping.MapServers;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.map.servers.grouping.MapServersBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.map.servers.grouping.map.servers.MapServer;
+
+import java.util.List;
+
+/**
+ * Created by Shakib Ahmed on 3/20/17.
+ */
+public class MapServersDom implements CommandModel {
+ List<MapServer> mapServers;
+
+ public List<MapServer> getMapServers() {
+ return mapServers;
+ }
+
+ public void setMapServers(List<MapServer> mapServers) {
+ this.mapServers = mapServers;
+ }
+
+ @Override
+ public MapServers getSALObject() {
+ return new MapServersBuilder().setMapServer(mapServers).build();
+ }
+}
--- /dev/null
+/*
+ * Copyright (c) 2017 Cisco Systems. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+package org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp.dom;
+
+import com.google.common.base.Preconditions;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.eid.table.grouping.eid.table.VniTable;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.eid.table.grouping.eid.table.VniTableBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.eid.table.grouping.eid.table.VniTableKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.eid.table.grouping.eid.table.vni.table.VrfSubtable;
+
+/**
+ * Created by Shakib Ahmed on 3/20/17.
+ */
+public class VniTableDom implements CommandModel {
+ private long virtualNetworkIdentifier;
+ private VrfSubtable vrfSubtable;
+
+ public long getVirtualNetworkIdentifier() {
+ return virtualNetworkIdentifier;
+ }
+
+ public void setVirtualNetworkIdentifier(long virtualNetworkIdentifier) {
+ this.virtualNetworkIdentifier = virtualNetworkIdentifier;
+ }
+
+ public VrfSubtable getVrfSubtable() {
+ return vrfSubtable;
+ }
+
+ public void setVrfSubtable(VrfSubtable vrfSubtable) {
+ this.vrfSubtable = vrfSubtable;
+ }
+
+ @Override
+ public VniTable getSALObject() {
+ Preconditions.checkNotNull(virtualNetworkIdentifier, "Virtual Network Identifier" +
+ " needs to be set!");
+
+ VniTableKey vniTableKey = new VniTableKey(virtualNetworkIdentifier);
+ return new VniTableBuilder()
+ .setKey(vniTableKey)
+ .setVirtualNetworkIdentifier(vniTableKey.getVirtualNetworkIdentifier())
+ .setVrfSubtable(vrfSubtable).build();
+ }
+}
--- /dev/null
+/*
+ * Copyright (c) 2017 Cisco Systems. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+
+package org.opendaylight.groupbasedpolicy.renderer.vpp.commands.lisp.dom;
+
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.eid.table.grouping.eid.table.vni.table.VrfSubtable;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.eid.table.grouping.eid.table.vni.table.VrfSubtableBuilder;
+
+/**
+ * Created by Shakib Ahmed on 3/20/17.
+ */
+public class VrfSubtableDom implements CommandModel {
+ private long tableId;
+
+ public long getTableId() {
+ return tableId;
+ }
+
+ public void setTableId(long tableId) {
+ this.tableId = tableId;
+ }
+
+ @Override
+ public VrfSubtable getSALObject() {
+ return new VrfSubtableBuilder().setTableId(tableId).build();
+ }
+}
import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.renderer.rev151103.renderers.renderer.renderer.nodes.RendererNode;
import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.renderer.rev151103.renderers.renderer.renderer.nodes.RendererNodeKey;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang._interface.acl.rev161214.VppAclInterfaceAugmentation;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.Lisp;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.dp.subtable.grouping.LocalMappings;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.dp.subtable.grouping.local.mappings.LocalMapping;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.dp.subtable.grouping.local.mappings.LocalMappingKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.eid.table.grouping.EidTable;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.eid.table.grouping.eid.table.VniTable;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.eid.table.grouping.eid.table.VniTableKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.eid.table.grouping.eid.table.vni.table.VrfSubtable;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.lisp.feature.data.grouping.LispFeatureData;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.locator.sets.grouping.LocatorSets;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.locator.sets.grouping.locator.sets.LocatorSet;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.locator.sets.grouping.locator.sets.LocatorSetKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.map.register.grouping.MapRegister;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.map.resolvers.grouping.MapResolvers;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.map.resolvers.grouping.map.resolvers.MapResolver;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.map.resolvers.grouping.map.resolvers.MapResolverKey;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.map.servers.grouping.MapServers;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.map.servers.grouping.map.servers.MapServer;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.lisp.rev170315.map.servers.grouping.map.servers.MapServerKey;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev170315.BridgeDomainsState;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev170315.VppInterfaceAugmentation;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.v3po.rev170315.interfaces._interface.L2;
.child(RoutingProtocol.class, routingProtocolKey)
.build();
}
+
+ public static InstanceIdentifier<Lisp> getLispStateIid() {
+ return InstanceIdentifier.create(Lisp.class);
+ }
+
+ public static InstanceIdentifier<VniTable> getVniTableIid(VniTableKey vniTableKey) {
+ return InstanceIdentifier.builder(Lisp.class)
+ .child(LispFeatureData.class)
+ .child(EidTable.class)
+ .child(VniTable.class, vniTableKey).build();
+ }
+
+ public static InstanceIdentifier<LocatorSet> getLocatorSetIid(LocatorSetKey locatorSetKey) {
+ return InstanceIdentifier.builder(Lisp.class)
+ .child(LispFeatureData.class)
+ .child(LocatorSets.class)
+ .child(LocatorSet.class, locatorSetKey).build();
+ }
+
+ public static InstanceIdentifier<MapRegister> getMapRegisterIid() {
+ return InstanceIdentifier.builder(Lisp.class)
+ .child(LispFeatureData.class)
+ .child(MapRegister.class).build();
+ }
+
+ public static InstanceIdentifier<MapResolver> getMapResolverIid(MapResolverKey mapResolverKey) {
+ return InstanceIdentifier.builder(Lisp.class)
+ .child(LispFeatureData.class)
+ .child(MapResolvers.class)
+ .child(MapResolver.class, mapResolverKey).build();
+ }
+
+ public static InstanceIdentifier<MapServer> getMapServerIid(MapServerKey mapServerKey) {
+ return InstanceIdentifier.builder(Lisp.class)
+ .child(LispFeatureData.class)
+ .child(MapServers.class)
+ .child(MapServer.class, mapServerKey).build();
+ }
+
+ public static InstanceIdentifier<LocalMapping> getLocalMappingIid(VniTableKey vniTableKey,
+ LocalMappingKey localMappingKey) {
+ return getVniTableIid(vniTableKey)
+ .child(VrfSubtable.class)
+ .child(LocalMappings.class)
+ .child(LocalMapping.class, localMappingKey);
+ }
+
+ public static InstanceIdentifier<LispFeatureData> getLispFeatureDataIid() {
+ return InstanceIdentifier.builder(Lisp.class)
+ .child(LispFeatureData.class).build();
+ }
}