Added new methods IPv4.getDscp() / IPv4.setDscp()
and IPv4.getEcn() / IPv4.setEcn().
Those can be used to get/set the DSCP and ECN bits in the IPv4 header
without explicit bit manipulation at the caller.
Change-Id: Ia7c5779abae5c4fc7a343e3f7ef3355eb7e86e3d
diff --git a/apps/fwd/src/main/java/org/onosproject/fwd/ReactiveForwarding.java b/apps/fwd/src/main/java/org/onosproject/fwd/ReactiveForwarding.java
index 7abf134..dcb28f9 100644
--- a/apps/fwd/src/main/java/org/onosproject/fwd/ReactiveForwarding.java
+++ b/apps/fwd/src/main/java/org/onosproject/fwd/ReactiveForwarding.java
@@ -505,10 +505,9 @@
.matchIPProtocol(ipv4Protocol);
if (matchIpv4Dscp) {
- int dscp = ipv4Packet.getDiffServ() >>> 2;
- int ecn = ipv4Packet.getDiffServ() % 4;
- builder.matchIPDscp((byte) (dscp))
- .matchIPEcn((byte) (ecn));
+ byte dscp = ipv4Packet.getDscp();
+ byte ecn = ipv4Packet.getEcn();
+ builder.matchIPDscp(dscp).matchIPEcn(ecn);
}
if (matchTcpUdpPorts && ipv4Protocol == IPv4.PROTOCOL_TCP) {