ONOS-631 #Initial MPLS intent implementation
Change-Id: I6f906b953f06f395cc67e612648802e333c0e581
diff --git a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowEntryBuilder.java b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowEntryBuilder.java
index 8f2b5f4..0b9b0cd 100644
--- a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowEntryBuilder.java
+++ b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowEntryBuilder.java
@@ -16,11 +16,13 @@
package org.onosproject.provider.of.flow.impl;
import com.google.common.collect.Lists;
+
import org.onlab.packet.Ip4Address;
import org.onlab.packet.Ip4Prefix;
import org.onlab.packet.Ip6Address;
import org.onlab.packet.Ip6Prefix;
import org.onlab.packet.MacAddress;
+import org.onlab.packet.MplsLabel;
import org.onlab.packet.VlanId;
import org.onosproject.core.DefaultGroupId;
import org.onosproject.net.DeviceId;
@@ -309,7 +311,7 @@
case MPLS_LABEL:
@SuppressWarnings("unchecked")
OFOxm<U32> labelId = (OFOxm<U32>) oxm;
- builder.setMpls((int) labelId.getValue().getValue());
+ builder.setMpls(MplsLabel.mplsLabel((int) labelId.getValue().getValue()));
break;
case ARP_OP:
case ARP_SHA:
@@ -471,6 +473,9 @@
break;
case UDP_DST:
builder.matchUdpDst((short) match.get(MatchField.UDP_DST).getPort());
+ case MPLS_LABEL:
+ builder.matchMplsLabel(MplsLabel.mplsLabel((int) match.get(MatchField.MPLS_LABEL)
+ .getValue()));
break;
case SCTP_SRC:
builder.matchSctpSrc((short) match.get(MatchField.SCTP_SRC).getPort());
@@ -538,10 +543,6 @@
mac = MacAddress.valueOf(match.get(MatchField.IPV6_ND_TLL).getLong());
builder.matchIPv6NDTargetLinkLayerAddress(mac);
break;
- case MPLS_LABEL:
- builder.matchMplsLabel((int) match.get(MatchField.MPLS_LABEL)
- .getValue());
- break;
case IPV6_EXTHDR:
builder.matchIPv6ExthdrFlags((int) match.get(MatchField.IPV6_EXTHDR)
.getValue());