import org.opendaylight.yang.gen.v1.http.metroethernetforum.org.ns.yang.mef.interfaces.rev150526.mef.interfaces.unis.uni.physical.layers.LinksBuilder;
import org.opendaylight.yang.gen.v1.http.metroethernetforum.org.ns.yang.mef.interfaces.rev150526.mef.interfaces.unis.uni.physical.layers.links.Link;
import org.opendaylight.yang.gen.v1.http.metroethernetforum.org.ns.yang.mef.interfaces.rev150526.mef.interfaces.unis.uni.physical.layers.links.LinkBuilder;
-import org.opendaylight.yang.gen.v1.http.metroethernetforum.org.ns.yang.mef.topology.rev150526.mef.topology.devices.Device;
-import org.opendaylight.yang.gen.v1.http.metroethernetforum.org.ns.yang.mef.topology.rev150526.mef.topology.devices.DeviceBuilder;
import org.opendaylight.yang.gen.v1.http.metroethernetforum.org.ns.yang.mef.topology.rev150526.mef.topology.devices.device.interfaces.InterfaceBuilder;
import org.opendaylight.yang.gen.v1.http.metroethernetforum.org.ns.yang.mef.types.rev150526.Identifier45;
import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.inventory.rev130819.FlowCapableNodeConnector;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.Nodes;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.node.NodeConnector;
import org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes.Node;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.config.rev150710.ElanConfig;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.config.rev150710.ElanConfigBuilder;
import org.opendaylight.yangtools.concepts.ListenerRegistration;
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
public class NodeConnectorListener extends UnimgrDataTreeChangeListener<FlowCapableNodeConnector> {
private static final Logger log = LoggerFactory.getLogger(NodeConnectorListener.class);
+ private static boolean generateMac = false;
private static boolean handleRemovedNodeConnectors = false;
private ListenerRegistration<NodeConnectorListener> evcListenerRegistration;
- public NodeConnectorListener(final DataBroker dataBroker) {
+ public NodeConnectorListener(final DataBroker dataBroker, boolean generateMac) {
super(dataBroker);
-
+ NodeConnectorListener.generateMac = generateMac;
registerListener();
}
LogicalDatastoreType.OPERATIONAL, getInstanceIdentifier());
evcListenerRegistration = dataBroker.registerDataTreeChangeListener(dataTreeIid, this);
log.info("NodeConnectorListener created and registered");
+
+ configIntegrationBridge();
} catch (final Exception e) {
log.error("Node connector listener registration failed !", e);
throw new IllegalStateException("Node connector listener registration failed.", e);
FlowCapableNodeConnector original, FlowCapableNodeConnector update) {
}
+
+ private void configIntegrationBridge() {
+ if (generateMac == true) {// default for netvirt
+ return;
+ }
+
+ ElanConfigBuilder elanConfigBuilder = new ElanConfigBuilder();
+ elanConfigBuilder.setIntBridgeGenMac(false);
+ InstanceIdentifier<ElanConfig> id = InstanceIdentifier.builder(ElanConfig.class).build();
+
+ MdsalUtils.syncUpdate(dataBroker, LogicalDatastoreType.CONFIGURATION, id, elanConfigBuilder.build());
+ }
}
<!-- Copyright (c) 2016 Hewlett Packard Enterprise, Co. and others. 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 -->
+ 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 -->
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
- xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0"
- odl:use-default-for-reference-types="true">
+ xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0"
+ odl:use-default-for-reference-types="true">
- <reference id="dataBroker"
- interface="org.opendaylight.controller.md.sal.binding.api.DataBroker" />
- <reference id="notificationPublishService"
- interface="org.opendaylight.controller.md.sal.binding.api.NotificationPublishService" />
- <odl:rpc-service id="odlArputilService"
- interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.arputil.rev160406.OdlArputilService" />
-
- <bean class="org.opendaylight.unimgr.mef.netvirt.EvcListener">
- <argument index="0" ref="dataBroker" />
- </bean>
+ <reference id="dataBroker"
+ interface="org.opendaylight.controller.md.sal.binding.api.DataBroker" />
+ <reference id="notificationPublishService"
+ interface="org.opendaylight.controller.md.sal.binding.api.NotificationPublishService" />
+ <odl:rpc-service id="odlArputilService"
+ interface="org.opendaylight.yang.gen.v1.urn.opendaylight.genius.arputil.rev160406.OdlArputilService" />
- <bean class="org.opendaylight.unimgr.mef.netvirt.NodeConnectorListener">
- <argument index="0" ref="dataBroker" />
- </bean>
- <bean class="org.opendaylight.unimgr.mef.netvirt.ElanListener">
- <argument index="0" ref="dataBroker" />
- </bean>
- <bean class="org.opendaylight.unimgr.mef.netvirt.ElanInterfaceListener">
- <argument index="0" ref="dataBroker" />
- </bean>
+ <bean class="org.opendaylight.unimgr.mef.netvirt.EvcListener">
+ <argument index="0" ref="dataBroker" />
+ </bean>
+
+ <bean class="org.opendaylight.unimgr.mef.netvirt.NodeConnectorListener">
+ <argument index="0" ref="dataBroker" />
+ <argument index="1" value="false" />
+ </bean>
+ <bean class="org.opendaylight.unimgr.mef.netvirt.ElanListener">
+ <argument index="0" ref="dataBroker" />
+ </bean>
+ <bean class="org.opendaylight.unimgr.mef.netvirt.ElanInterfaceListener">
+ <argument index="0" ref="dataBroker" />
+ </bean>
+
+ <!-- <bean class="org.opendaylight.unimgr.mef.netvirt.TenantlessEvcListener"> -->
+ <!-- <argument index="0" ref="dataBroker" /> -->
+ <!-- </bean> -->
+
+ <!-- <bean class="org.opendaylight.unimgr.mef.netvirt.TenantUniListener"> -->
+ <!-- <argument index="0" ref="dataBroker" /> -->
+ <!-- </bean> -->
+
+ <bean class="org.opendaylight.unimgr.mef.netvirt.IpvcListener">
+ <argument ref="dataBroker" />
+ <argument ref="notificationPublishService" />
+ <argument ref="odlArputilService" />
+ </bean>
-<!-- <bean class="org.opendaylight.unimgr.mef.netvirt.TenantlessEvcListener"> -->
-<!-- <argument index="0" ref="dataBroker" /> -->
-<!-- </bean> -->
-
-<!-- <bean class="org.opendaylight.unimgr.mef.netvirt.TenantUniListener"> -->
-<!-- <argument index="0" ref="dataBroker" /> -->
-<!-- </bean> -->
-
- <bean class="org.opendaylight.unimgr.mef.netvirt.IpvcListener">
- <argument ref="dataBroker" />
- <argument ref="notificationPublishService" />
- <argument ref="odlArputilService" />
- </bean>
-
</blueprint>
\ No newline at end of file