@Override public void addElanInterface(String elanInstanceName, String interfaceName, List<String> staticMacAddresses, String description) { ElanInstance existingElanInstance = elanInstanceManager.getElanInstanceByName(elanInstanceName); if (existingElanInstance != null) { ElanInterface elanInterface; if (staticMacAddresses == null) { elanInterface = new ElanInterfaceBuilder().setElanInstanceName(elanInstanceName) .setDescription(description).setName(interfaceName).setKey(new ElanInterfaceKey(interfaceName)) .build(); } else { elanInterface = new ElanInterfaceBuilder().setElanInstanceName(elanInstanceName) .setDescription(description).setName(interfaceName) .setStaticMacEntries(getPhysAddress(staticMacAddresses)) .setKey(new ElanInterfaceKey(interfaceName)).build(); } MDSALUtil.syncWrite(broker, LogicalDatastoreType.CONFIGURATION, ElanUtils.getElanInterfaceConfigurationDataPathId(interfaceName), elanInterface); LOG.debug("Creating the new ELan Interface {}", elanInterface); } }
private static ElanInterfaceBuilder createEtreeInterface(String instanceName, String interfaceName, EtreeInterfaceType interfaceType) { ElanInterfaceBuilder einterfaceBuilder = new ElanInterfaceBuilder(); einterfaceBuilder.setElanInstanceName(instanceName); einterfaceBuilder.setName(interfaceName); EtreeInterface etreeInterface = new EtreeInterfaceBuilder().setEtreeInterfaceType(interfaceType).build(); einterfaceBuilder.addAugmentation(EtreeInterface.class, etreeInterface); return einterfaceBuilder; }
private static ElanInterfaceBuilder createElanInterface(String instanceName, String interfaceName) { ElanInterfaceBuilder einterfaceBuilder = new ElanInterfaceBuilder(); einterfaceBuilder.setElanInstanceName(instanceName); einterfaceBuilder.setName(interfaceName); return einterfaceBuilder; }
public static void updateElanInterface(DataBroker dataBroker, String instanceName, String interfaceName) { ElanInterfaceBuilder einterfaceBuilder = createElanInterface(instanceName, interfaceName); MdsalUtils.syncUpdate(dataBroker, LogicalDatastoreType.CONFIGURATION, getElanInterfaceInstanceIdentifier(interfaceName), einterfaceBuilder.build()); }
public static void createEtreeInterface(DataBroker dataBroker, String instanceName, String interfaceName, EtreeInterfaceType type) { ElanInterfaceBuilder einterfaceBuilder = createEtreeInterface(instanceName, interfaceName, type); MdsalUtils.syncWrite(dataBroker, LogicalDatastoreType.CONFIGURATION, getElanInterfaceInstanceIdentifier(interfaceName), einterfaceBuilder.build()); }
@Override public void addEtreeInterface(String etreeInstanceName, String interfaceName, EtreeInterfaceType interfaceType, List<String> staticMacAddresses, String description) { ElanInstance existingElanInstance = elanInstanceManager.getElanInstanceByName(etreeInstanceName); if (existingElanInstance != null && existingElanInstance.getAugmentation(EtreeInstance.class) != null) { EtreeInterface etreeInterface = new EtreeInterfaceBuilder().setEtreeInterfaceType(interfaceType).build(); ElanInterface elanInterface; if (staticMacAddresses == null) { elanInterface = new ElanInterfaceBuilder().setElanInstanceName(etreeInstanceName) .setDescription(description).setName(interfaceName).setKey(new ElanInterfaceKey(interfaceName)) .addAugmentation(EtreeInterface.class, etreeInterface).build(); } else { elanInterface = new ElanInterfaceBuilder().setElanInstanceName(etreeInstanceName) .setDescription(description).setName(interfaceName) .setStaticMacEntries(getPhysAddress(staticMacAddresses)) .setKey(new ElanInterfaceKey(interfaceName)) .addAugmentation(EtreeInterface.class, etreeInterface).build(); } MDSALUtil.syncWrite(broker, LogicalDatastoreType.CONFIGURATION, ElanUtils.getElanInterfaceConfigurationDataPathId(interfaceName), elanInterface); LOG.debug("Creating the new Etree Interface {}", elanInterface); } }
public static void createElanInterface(DataBroker dataBroker, String instanceName, String interfaceName) { ElanInterfaceBuilder einterfaceBuilder = createElanInterface(instanceName, interfaceName); MdsalUtils.syncWrite(dataBroker, LogicalDatastoreType.CONFIGURATION, getElanInterfaceInstanceIdentifier(interfaceName), einterfaceBuilder.build()); }
@Override public void addStaticMacAddress(String elanInstanceName, String interfaceName, String macAddress) { ElanInterface existingElanInterface = ElanUtils.getElanInterfaceByElanInterfaceName(broker, interfaceName); PhysAddress updateStaticMacAddress = new PhysAddress(macAddress); if (existingElanInterface != null) { List<PhysAddress> existingMacAddress = existingElanInterface.getStaticMacEntries(); if (existingMacAddress.contains(updateStaticMacAddress)) { return; } existingMacAddress.add(updateStaticMacAddress); ElanInterface elanInterface = new ElanInterfaceBuilder().setElanInstanceName(elanInstanceName) .setName(interfaceName).setStaticMacEntries(existingMacAddress) .setDescription(existingElanInterface.getDescription()).setKey(new ElanInterfaceKey(interfaceName)) .build(); MDSALUtil.syncWrite(broker, LogicalDatastoreType.CONFIGURATION, ElanUtils.getElanInterfaceConfigurationDataPathId(interfaceName), elanInterface); } }
@Override public void updateElanInterface(String elanInstanceName, String interfaceName, List<String> updatedStaticMacAddresses, String newDescription) { ElanInterface existingElanInterface = ElanUtils.getElanInterfaceByElanInterfaceName(broker, interfaceName); if (existingElanInterface == null) { return; } List<PhysAddress> existingMacAddress = existingElanInterface.getStaticMacEntries(); List<PhysAddress> updatedMacAddresses = getPhysAddress(updatedStaticMacAddresses); List<PhysAddress> updatedPhysAddress = getUpdatedPhyAddress(existingMacAddress, updatedMacAddresses); if (updatedPhysAddress.size() > 0) { LOG.debug("updating the ElanInterface with new Mac Entries {}", updatedStaticMacAddresses); ElanInterface elanInterface = new ElanInterfaceBuilder().setElanInstanceName(elanInstanceName) .setName(interfaceName).setDescription(newDescription).setStaticMacEntries(updatedPhysAddress) .setKey(new ElanInterfaceKey(interfaceName)).build(); MDSALUtil.syncWrite(broker, LogicalDatastoreType.CONFIGURATION, ElanUtils.getElanInterfaceConfigurationDataPathId(interfaceName), elanInterface); } }
private void createElanInterface(Port port, String name) { String elanInstanceName = port.getNetworkId().getValue(); List<PhysAddress> physAddresses = new ArrayList<>(); physAddresses.add(new PhysAddress(port.getMacAddress().getValue())); InstanceIdentifier<ElanInterface> id = InstanceIdentifier.builder(ElanInterfaces.class).child(ElanInterface .class, new ElanInterfaceKey(name)).build(); ElanInterface elanInterface = new ElanInterfaceBuilder().setElanInstanceName(elanInstanceName) .setName(name).setStaticMacEntries(physAddresses).setKey(new ElanInterfaceKey(name)).build(); MDSALUtil.syncWrite(dataBroker, LogicalDatastoreType.CONFIGURATION, id, elanInterface); LOG.debug("Creating new ELan Interface {}", elanInterface); }
@Override public void deleteStaticMacAddress(String elanInstanceName, String interfaceName, String macAddress) throws MacNotFoundException { ElanInterface existingElanInterface = ElanUtils.getElanInterfaceByElanInterfaceName(broker, interfaceName); PhysAddress physAddress = new PhysAddress(macAddress); if (existingElanInterface == null) { return; } List<PhysAddress> existingMacAddress = existingElanInterface.getStaticMacEntries(); if (existingMacAddress.contains(physAddress)) { existingMacAddress.remove(physAddress); ElanInterface elanInterface = new ElanInterfaceBuilder().setElanInstanceName(elanInstanceName) .setName(interfaceName).setStaticMacEntries(existingMacAddress) .setDescription(existingElanInterface.getDescription()).setKey(new ElanInterfaceKey(interfaceName)) .build(); MDSALUtil.syncWrite(broker, LogicalDatastoreType.CONFIGURATION, ElanUtils.getElanInterfaceConfigurationDataPathId(interfaceName), elanInterface); } else { throw new MacNotFoundException("deleteStaticMacAddress did not find MAC: " + macAddress); } }