DO NOT MERGE until https://git.opendaylight.org/gerrit/#/c/9846/
has been merged in controller.
Change-Id: I11c9eb8e9b34705faec684d54cff63c0671d4f41
Signed-off-by: Ed Warnicke <eaw@cisco.com>
*
*/
public abstract class OFPaxOptionsAssistant {
*
*/
public abstract class OFPaxOptionsAssistant {
/** system property required to enable osgi console and remote debugging, only presence matters */
private static final String INSPECT_OSGI = "inspectOsgi";
/** default remote debug port */
/** system property required to enable osgi console and remote debugging, only presence matters */
private static final String INSPECT_OSGI = "inspectOsgi";
/** default remote debug port */
public static final String YANGTOOLS = "org.opendaylight.yangtools";
public static final String YANGTOOLS = "org.opendaylight.yangtools";
/**
* Works only if property -DinspectOsgi is used
/**
* Works only if property -DinspectOsgi is used
- * @return equinox console setup (in order to inspect running IT through osgi console (telnet))
+ * @return equinox console setup (in order to inspect running IT through osgi console (telnet))
* and remote debugging on port {@link #DEBUG_PORT}
*/
public static Option osgiConsoleBundles() {
* and remote debugging on port {@link #DEBUG_PORT}
*/
public static Option osgiConsoleBundles() {
.add(CoreOptions.mavenBundle("equinoxSDK381", "org.apache.felix.gogo.runtime").versionAsInProject())
.add(CoreOptions.mavenBundle("equinoxSDK381", "org.apache.felix.gogo.command").versionAsInProject());
}
.add(CoreOptions.mavenBundle("equinoxSDK381", "org.apache.felix.gogo.runtime").versionAsInProject())
.add(CoreOptions.mavenBundle("equinoxSDK381", "org.apache.felix.gogo.command").versionAsInProject());
}
*/
public static Option loggingBudles() {
return new DefaultCompositeOption(
*/
public static Option loggingBudles() {
return new DefaultCompositeOption(
- mavenBundle("org.slf4j", "slf4j-api").versionAsInProject(),
+ mavenBundle("org.slf4j", "slf4j-api").versionAsInProject(),
mavenBundle("org.slf4j", "log4j-over-slf4j").versionAsInProject(),
mavenBundle("ch.qos.logback", "logback-core").versionAsInProject(),
mavenBundle("ch.qos.logback", "logback-classic").versionAsInProject());
mavenBundle("org.slf4j", "log4j-over-slf4j").versionAsInProject(),
mavenBundle("ch.qos.logback", "logback-core").versionAsInProject(),
mavenBundle("ch.qos.logback", "logback-classic").versionAsInProject());
*/
public static Option baseSalBundles() {
return new DefaultCompositeOption(
*/
public static Option baseSalBundles() {
return new DefaultCompositeOption(
- mavenBundle("org.apache.felix", "org.apache.felix.dependencymanager").versionAsInProject(),
- mavenBundle(CONTROLLER, "sal").versionAsInProject(),
+// mavenBundle("org.apache.felix", "org.apache.felix.dependencymanager").versionAsInProject(),
+// mavenBundle(CONTROLLER, "sal").versionAsInProject(),
+ mavenBundle(CONTROLLER, "liblldp").versionAsInProject(),
mavenBundle(YANGTOOLS + ".thirdparty", "antlr4-runtime-osgi-nohead").versionAsInProject());
}
mavenBundle(YANGTOOLS + ".thirdparty", "antlr4-runtime-osgi-nohead").versionAsInProject());
}
</dependency>
<dependency>
<groupId>org.opendaylight.controller</groupId>
</dependency>
<dependency>
<groupId>org.opendaylight.controller</groupId>
- <artifactId>sal</artifactId>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.controller</groupId>
- <artifactId>sal.connection</artifactId>
+ <artifactId>liblldp</artifactId>
</dependency>
<dependency>
<groupId>org.opendaylight.controller.model</groupId>
</dependency>
<dependency>
<groupId>org.opendaylight.controller.model</groupId>
*/
package org.opendaylight.openflowplugin.openflow.md.lldp;
*/
package org.opendaylight.openflowplugin.openflow.md.lldp;
-import org.opendaylight.controller.sal.packet.Ethernet;
-import org.opendaylight.controller.sal.packet.LLDP;
-import org.opendaylight.controller.sal.packet.LLDPTLV;
-import org.opendaylight.controller.sal.packet.PacketException;
-import org.opendaylight.controller.sal.utils.EtherTypes;
-import org.opendaylight.controller.sal.utils.HexEncode;
+import java.math.BigInteger;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+import java.util.Timer;
+import java.util.TimerTask;
+import java.util.concurrent.ConcurrentHashMap;
+
+import org.opendaylight.controller.liblldp.EtherTypes;
+import org.opendaylight.controller.liblldp.Ethernet;
+import org.opendaylight.controller.liblldp.HexEncode;
+import org.opendaylight.controller.liblldp.LLDP;
+import org.opendaylight.controller.liblldp.LLDPTLV;
+import org.opendaylight.controller.liblldp.PacketException;
import org.opendaylight.openflowplugin.openflow.md.ModelDrivenSwitch;
import org.opendaylight.openflowplugin.openflow.md.util.InventoryDataServiceUtil;
import org.opendaylight.openflowplugin.openflow.md.util.OpenflowVersion;
import org.opendaylight.openflowplugin.openflow.md.ModelDrivenSwitch;
import org.opendaylight.openflowplugin.openflow.md.util.InventoryDataServiceUtil;
import org.opendaylight.openflowplugin.openflow.md.util.OpenflowVersion;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.math.BigInteger;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.Timer;
-import java.util.TimerTask;
-import java.util.concurrent.ConcurrentHashMap;
-
public class LLDPSpeaker {
private static Logger LOG = LoggerFactory.getLogger(LLDPSpeaker.class);
public class LLDPSpeaker {
private static Logger LOG = LoggerFactory.getLogger(LLDPSpeaker.class);
private final Map<InstanceIdentifier<NodeConnector>,TransmitPacketInput> nodeConnectorMap = new ConcurrentHashMap<InstanceIdentifier<NodeConnector>,TransmitPacketInput>();
private final Map<InstanceIdentifier<Node>,ModelDrivenSwitch> nodeMap = new ConcurrentHashMap<InstanceIdentifier<Node>,ModelDrivenSwitch>();
private static final LLDPSpeaker instance = new LLDPSpeaker();
private Timer timer = new Timer();
private static final int DELAY = 0;
private static final int PERIOD = 1000*5;
private final Map<InstanceIdentifier<NodeConnector>,TransmitPacketInput> nodeConnectorMap = new ConcurrentHashMap<InstanceIdentifier<NodeConnector>,TransmitPacketInput>();
private final Map<InstanceIdentifier<Node>,ModelDrivenSwitch> nodeMap = new ConcurrentHashMap<InstanceIdentifier<Node>,ModelDrivenSwitch>();
private static final LLDPSpeaker instance = new LLDPSpeaker();
private Timer timer = new Timer();
private static final int DELAY = 0;
private static final int PERIOD = 1000*5;
private LLDPSpeaker() {
timer.schedule(new LLDPSpeakerTask(), DELAY, PERIOD);
}
private LLDPSpeaker() {
timer.schedule(new LLDPSpeakerTask(), DELAY, PERIOD);
}
public static LLDPSpeaker getInstance() {
return instance;
}
public static LLDPSpeaker getInstance() {
return instance;
}
public void addModelDrivenSwitch(InstanceIdentifier<Node> nodeInstanceId, ModelDrivenSwitch sw) {
public void addModelDrivenSwitch(InstanceIdentifier<Node> nodeInstanceId, ModelDrivenSwitch sw) {
- nodeMap.put(nodeInstanceId,sw);
+ nodeMap.put(nodeInstanceId,sw);
public void removeModelDrivenSwitch(InstanceIdentifier<Node> nodeInstanceId) {
nodeMap.remove(nodeInstanceId);
for (InstanceIdentifier<NodeConnector> nodeConnectorInstanceId : nodeConnectorMap.keySet()) {
public void removeModelDrivenSwitch(InstanceIdentifier<Node> nodeInstanceId) {
nodeMap.remove(nodeInstanceId);
for (InstanceIdentifier<NodeConnector> nodeConnectorInstanceId : nodeConnectorMap.keySet()) {
public void removeNodeConnector(
InstanceIdentifier<NodeConnector> nodeConnectorInstanceId,
NodeConnector nodeConnector) {
public void removeNodeConnector(
InstanceIdentifier<NodeConnector> nodeConnectorInstanceId,
NodeConnector nodeConnector) {
- nodeConnectorMap.remove(nodeConnectorInstanceId);
+ nodeConnectorMap.remove(nodeConnectorInstanceId);
private byte[] lldpDataFrom(InstanceIdentifier<Node> nodeInstanceId,InstanceIdentifier<NodeConnector> nodeConnectorInstanceId,MacAddress src,
Short version) {
private byte[] lldpDataFrom(InstanceIdentifier<Node> nodeInstanceId,InstanceIdentifier<NodeConnector> nodeConnectorInstanceId,MacAddress src,
Short version) {
NodeId nodeId = InstanceIdentifier.keyOf(nodeInstanceId).getId();
NodeConnectorId nodeConnectorId = InstanceIdentifier.keyOf(nodeConnectorInstanceId).getId();
// Create LLDP TTL TLV
byte[] ttl = new byte[] { (byte) 0, (byte) 120 };
LLDPTLV ttlTlv = new LLDPTLV();
ttlTlv.setType(LLDPTLV.TLVType.TTL.getValue()).setLength((short) ttl.length).setValue(ttl);
NodeId nodeId = InstanceIdentifier.keyOf(nodeInstanceId).getId();
NodeConnectorId nodeConnectorId = InstanceIdentifier.keyOf(nodeConnectorInstanceId).getId();
// Create LLDP TTL TLV
byte[] ttl = new byte[] { (byte) 0, (byte) 120 };
LLDPTLV ttlTlv = new LLDPTLV();
ttlTlv.setType(LLDPTLV.TLVType.TTL.getValue()).setLength((short) ttl.length).setValue(ttl);
// Create LLDP ChassisID TLV
BigInteger dataPathId = InventoryDataServiceUtil.dataPathIdFromNodeId(nodeId);
byte[] cidValue = LLDPTLV.createChassisIDTLVValue(
// Create LLDP ChassisID TLV
BigInteger dataPathId = InventoryDataServiceUtil.dataPathIdFromNodeId(nodeId);
byte[] cidValue = LLDPTLV.createChassisIDTLVValue(
ModelDrivenSwitch md = nodeMap.get(nodeInstanceId);
md.transmitPacket(nodeConnectorMap.get(nodeConnectorInstanceId));
}
ModelDrivenSwitch md = nodeMap.get(nodeInstanceId);
md.transmitPacket(nodeConnectorMap.get(nodeConnectorInstanceId));
}
private String colonize(String orig) {
return orig.replaceAll("(?<=..)(..)", ":$1");
}
private String colonize(String orig) {
return orig.replaceAll("(?<=..)(..)", ":$1");
}
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
-import org.opendaylight.controller.sal.action.PopVlan;
import org.opendaylight.openflowplugin.openflow.md.util.OpenflowPortsUtil;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv4Prefix;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv6Prefix;
import org.opendaylight.openflowplugin.openflow.md.util.OpenflowPortsUtil;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv4Prefix;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev100924.Ipv6Prefix;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.DecNwTtl;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.Output;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.PopMpls;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.DecNwTtl;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.Output;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.PopMpls;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.PopVlan;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.PushMpls;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.PushPbb;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.PushVlan;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.PushMpls;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.PushPbb;
import org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.PushVlan;
- private void OutputActionData() {
+ private void OutputActionData() {
OutputActionBuilder outputB = new OutputActionBuilder();
outputB.setMaxLength(10);
Uri uri = new Uri(OutputPortValues.CONTROLLER.toString());
OutputActionBuilder outputB = new OutputActionBuilder();
outputB.setMaxLength(10);
Uri uri = new Uri(OutputPortValues.CONTROLLER.toString());
/**
* testing {@link ActionConvertor#ofToSALPushMplsAction(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.Action)}
/**
* testing {@link ActionConvertor#ofToSALPushMplsAction(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.Action)}
*/
@Test
public void testOFtoSALPushMplsAction() {
*/
@Test
public void testOFtoSALPushMplsAction() {
- org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.ActionBuilder actionBuilder
+ org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.ActionBuilder actionBuilder
= new org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.ActionBuilder();
= new org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.ActionBuilder();
actionBuilder.setType(PushVlan.class);
EthertypeActionBuilder ethertypeActionBuilder = new EthertypeActionBuilder();
ethertypeActionBuilder.setEthertype(new EtherType(new Integer(34888)));
actionBuilder.addAugmentation(EthertypeAction.class, ethertypeActionBuilder.build());
actionBuilder.setType(PushVlan.class);
EthertypeActionBuilder ethertypeActionBuilder = new EthertypeActionBuilder();
ethertypeActionBuilder.setEthertype(new EtherType(new Integer(34888)));
actionBuilder.addAugmentation(EthertypeAction.class, ethertypeActionBuilder.build());
- org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.Action action = actionBuilder.build();
+ org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.Action action = actionBuilder.build();
Assert.assertEquals(34888, ActionConvertor.ofToSALPushMplsAction(action).getPushMplsAction().getEthernetType().intValue());
}
Assert.assertEquals(34888, ActionConvertor.ofToSALPushMplsAction(action).getPushMplsAction().getEthernetType().intValue());
}
actions.add(actionItem++, AB1.build());
}
actions.add(actionItem++, AB1.build());
}
/**
* testing {@link ActionConvertor#SalToOFSetNwDst(org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action, org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.ActionBuilder, short)}
/**
* testing {@link ActionConvertor#SalToOFSetNwDst(org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action, org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.ActionBuilder, short)}
*/
@Test
public void testSalToOFSetNwDst10v4() {
*/
@Test
public void testSalToOFSetNwDst10v4() {
/**
* testing {@link ActionConvertor#SalToOFSetNwDst(org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action, org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.ActionBuilder, short)}
/**
* testing {@link ActionConvertor#SalToOFSetNwDst(org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action, org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.ActionBuilder, short)}
*/
@Test
public void testSalToOFSetNwDst10v6() {
*/
@Test
public void testSalToOFSetNwDst10v6() {
org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.Action ofAction = ActionConvertor.SalToOFSetNwDst(action, actionBuilder, version);
Assert.assertNull(ofAction);
}
org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.Action ofAction = ActionConvertor.SalToOFSetNwDst(action, actionBuilder, version);
Assert.assertNull(ofAction);
}
/**
* testing {@link ActionConvertor#SalToOFSetNwDst(org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action, org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.ActionBuilder, short)}
/**
* testing {@link ActionConvertor#SalToOFSetNwDst(org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action, org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.ActionBuilder, short)}
*/
@Test
public void testSalToOFSetNwDst13v4() {
*/
@Test
public void testSalToOFSetNwDst13v4() {
Assert.assertEquals(Ipv4Dst.class, matchEntry.getOxmMatchField());
Assert.assertEquals("10.0.0.1", matchEntry.getAugmentation(Ipv4AddressMatchEntry.class).getIpv4Address().getValue());
}
Assert.assertEquals(Ipv4Dst.class, matchEntry.getOxmMatchField());
Assert.assertEquals("10.0.0.1", matchEntry.getAugmentation(Ipv4AddressMatchEntry.class).getIpv4Address().getValue());
}
/**
* testing {@link ActionConvertor#SalToOFSetNwDst(org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action, org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.ActionBuilder, short)}
/**
* testing {@link ActionConvertor#SalToOFSetNwDst(org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action, org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.ActionBuilder, short)}
*/
@Test
public void testSalToOFSetNwDst13v6() {
*/
@Test
public void testSalToOFSetNwDst13v6() {
Assert.assertEquals(Ipv6Dst.class, matchEntry.getOxmMatchField());
Assert.assertEquals("2001:0db8:85a3:0042:1000:8a2e:0370:7334", matchEntry.getAugmentation(Ipv6AddressMatchEntry.class).getIpv6Address().getValue());
}
Assert.assertEquals(Ipv6Dst.class, matchEntry.getOxmMatchField());
Assert.assertEquals("2001:0db8:85a3:0042:1000:8a2e:0370:7334", matchEntry.getAugmentation(Ipv6AddressMatchEntry.class).getIpv6Address().getValue());
}
/**
* testing {@link ActionConvertor#SalToOFSetNwSrc(org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action, org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.ActionBuilder, short)}
/**
* testing {@link ActionConvertor#SalToOFSetNwSrc(org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action, org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.ActionBuilder, short)}
*/
@Test
public void testSalToOFSetNwSrc10v4() {
*/
@Test
public void testSalToOFSetNwSrc10v4() {
/**
* testing {@link ActionConvertor#SalToOFSetNwSrc(org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action, org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.ActionBuilder, short)}
/**
* testing {@link ActionConvertor#SalToOFSetNwSrc(org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action, org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.ActionBuilder, short)}
*/
@Test
public void testSalToOFSetNwSrc10v6() {
*/
@Test
public void testSalToOFSetNwSrc10v6() {
/**
* testing {@link ActionConvertor#SalToOFSetNwSrc(org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action, org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.ActionBuilder, short)}
/**
* testing {@link ActionConvertor#SalToOFSetNwSrc(org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action, org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.ActionBuilder, short)}
*/
@Test
public void testSalToOFSetNwSrc13v4() {
*/
@Test
public void testSalToOFSetNwSrc13v4() {
/**
* testing {@link ActionConvertor#SalToOFSetNwSrc(org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action, org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.ActionBuilder, short)}
/**
* testing {@link ActionConvertor#SalToOFSetNwSrc(org.opendaylight.yang.gen.v1.urn.opendaylight.action.types.rev131112.action.Action, org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.ActionBuilder, short)}
*/
@Test
public void testSalToOFSetNwSrc13v6() {
*/
@Test
public void testSalToOFSetNwSrc13v6() {
/**
* testing {@link ActionConvertor#ofToSALPopMplsAction(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.Action)}
/**
* testing {@link ActionConvertor#ofToSALPopMplsAction(org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.Action)}
*/
@Test
public void testOFtoSALPopMplsAction() {
*/
@Test
public void testOFtoSALPopMplsAction() {
- org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.ActionBuilder actionBuilder
+ org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.ActionBuilder actionBuilder
= new org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.ActionBuilder();
= new org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.ActionBuilder();
actionBuilder.setType(PopMpls.class);
EthertypeActionBuilder ethertypeActionBuilder = new EthertypeActionBuilder();
ethertypeActionBuilder.setEthertype(new EtherType(new Integer(34888)));
actionBuilder.addAugmentation(EthertypeAction.class, ethertypeActionBuilder.build());
actionBuilder.setType(PopMpls.class);
EthertypeActionBuilder ethertypeActionBuilder = new EthertypeActionBuilder();
ethertypeActionBuilder.setEthertype(new EtherType(new Integer(34888)));
actionBuilder.addAugmentation(EthertypeAction.class, ethertypeActionBuilder.build());
- org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.Action action = actionBuilder.build();
+ org.opendaylight.yang.gen.v1.urn.opendaylight.openflow.common.action.rev130731.actions.grouping.Action action = actionBuilder.build();
Assert.assertEquals(34888, ActionConvertor.ofToSALPopMplsAction(action).getPopMplsAction().getEthernetType().intValue());
}
Assert.assertEquals(34888, ActionConvertor.ofToSALPopMplsAction(action).getPopMplsAction().getEthernetType().intValue());
}
SetNwDstAction nwDstAction = new SetNwDstActionBuilder().setAddress(address).build();
SetNwDstActionCase action = new SetNwDstActionCaseBuilder()
.setSetNwDstAction(nwDstAction)
SetNwDstAction nwDstAction = new SetNwDstActionBuilder().setAddress(address).build();
SetNwDstActionCase action = new SetNwDstActionCaseBuilder()
.setSetNwDstAction(nwDstAction)
private static SetNwSrcActionCase provisionNwSrcActionBuilder(Address address) {
SetNwSrcAction nwSrcAction = new SetNwSrcActionBuilder().setAddress(address).build();
SetNwSrcActionCase action = new SetNwSrcActionCaseBuilder()
.setSetNwSrcAction(nwSrcAction)
private static SetNwSrcActionCase provisionNwSrcActionBuilder(Address address) {
SetNwSrcAction nwSrcAction = new SetNwSrcActionBuilder().setAddress(address).build();
SetNwSrcActionCase action = new SetNwSrcActionCaseBuilder()
.setSetNwSrcAction(nwSrcAction)
</dependency>
<dependency>
<groupId>org.opendaylight.controller</groupId>
</dependency>
<dependency>
<groupId>org.opendaylight.controller</groupId>
- <artifactId>sal</artifactId>
+ <artifactId>liblldp</artifactId>
<version>${sal.api.version}</version>
</dependency>
<version>${sal.api.version}</version>
</dependency>
- <dependency>
- <groupId>org.opendaylight.controller</groupId>
- <artifactId>sal.connection</artifactId>
- <version>${sal.connection.api.version}</version>
- </dependency>
<dependency>
<groupId>org.opendaylight.controller</groupId>
<artifactId>sal-common-util</artifactId>
<dependency>
<groupId>org.opendaylight.controller</groupId>
<artifactId>sal-common-util</artifactId>