Committed by
Gerrit Code Review
ONOS-2711 Replaced short to TpPort for tcp/udp ports
Change-Id: Ibf0474b5369d11d377fd33cf5ab48083cbca3308
Showing
36 changed files
with
548 additions
and
231 deletions
| ... | @@ -35,6 +35,7 @@ import org.onlab.packet.IpAddress; | ... | @@ -35,6 +35,7 @@ import org.onlab.packet.IpAddress; |
| 35 | import org.onlab.packet.MacAddress; | 35 | import org.onlab.packet.MacAddress; |
| 36 | import org.onlab.packet.RADIUS; | 36 | import org.onlab.packet.RADIUS; |
| 37 | import org.onlab.packet.RADIUSAttribute; | 37 | import org.onlab.packet.RADIUSAttribute; |
| 38 | +import org.onlab.packet.TpPort; | ||
| 38 | import org.onlab.packet.UDP; | 39 | import org.onlab.packet.UDP; |
| 39 | import org.onlab.packet.VlanId; | 40 | import org.onlab.packet.VlanId; |
| 40 | import org.onlab.util.Tools; | 41 | import org.onlab.util.Tools; |
| ... | @@ -236,8 +237,8 @@ public class AAA { | ... | @@ -236,8 +237,8 @@ public class AAA { |
| 236 | TrafficSelector radSelector = DefaultTrafficSelector.builder() | 237 | TrafficSelector radSelector = DefaultTrafficSelector.builder() |
| 237 | .matchEthType(EthType.EtherType.IPV4.ethType().toShort()) | 238 | .matchEthType(EthType.EtherType.IPV4.ethType().toShort()) |
| 238 | .matchIPProtocol(IPv4.PROTOCOL_UDP) | 239 | .matchIPProtocol(IPv4.PROTOCOL_UDP) |
| 239 | - .matchUdpDst((short) 1812) | 240 | + .matchUdpDst(TpPort.tpPort(1812)) |
| 240 | - .matchUdpSrc((short) 1812) | 241 | + .matchUdpSrc(TpPort.tpPort(1812)) |
| 241 | .build(); | 242 | .build(); |
| 242 | packetService.requestPackets(radSelector, CONTROL, appId); | 243 | packetService.requestPackets(radSelector, CONTROL, appId); |
| 243 | } | 244 | } |
| ... | @@ -253,8 +254,8 @@ public class AAA { | ... | @@ -253,8 +254,8 @@ public class AAA { |
| 253 | TrafficSelector radSelector = DefaultTrafficSelector.builder() | 254 | TrafficSelector radSelector = DefaultTrafficSelector.builder() |
| 254 | .matchEthType(EthType.EtherType.IPV4.ethType().toShort()) | 255 | .matchEthType(EthType.EtherType.IPV4.ethType().toShort()) |
| 255 | .matchIPProtocol(IPv4.PROTOCOL_UDP) | 256 | .matchIPProtocol(IPv4.PROTOCOL_UDP) |
| 256 | - .matchUdpDst((short) 1812) | 257 | + .matchUdpDst(TpPort.tpPort(1812)) |
| 257 | - .matchUdpSrc((short) 1812) | 258 | + .matchUdpSrc(TpPort.tpPort(1812)) |
| 258 | .build(); | 259 | .build(); |
| 259 | packetService.cancelPackets(radSelector, CONTROL, appId); | 260 | packetService.cancelPackets(radSelector, CONTROL, appId); |
| 260 | } | 261 | } | ... | ... |
| ... | @@ -19,6 +19,12 @@ | ... | @@ -19,6 +19,12 @@ |
| 19 | */ | 19 | */ |
| 20 | package org.onos.acl.impl; | 20 | package org.onos.acl.impl; |
| 21 | 21 | ||
| 22 | +import org.onlab.packet.Ethernet; | ||
| 23 | +import org.onlab.packet.IPv4; | ||
| 24 | +import org.onlab.packet.Ip4Address; | ||
| 25 | +import org.onlab.packet.Ip4Prefix; | ||
| 26 | +import org.onlab.packet.IpAddress; | ||
| 27 | +import org.onlab.packet.TpPort; | ||
| 22 | import org.onos.acl.AclRule; | 28 | import org.onos.acl.AclRule; |
| 23 | import org.onos.acl.AclService; | 29 | import org.onos.acl.AclService; |
| 24 | import org.onos.acl.AclStore; | 30 | import org.onos.acl.AclStore; |
| ... | @@ -28,11 +34,6 @@ import org.apache.felix.scr.annotations.Deactivate; | ... | @@ -28,11 +34,6 @@ import org.apache.felix.scr.annotations.Deactivate; |
| 28 | import org.apache.felix.scr.annotations.Reference; | 34 | import org.apache.felix.scr.annotations.Reference; |
| 29 | import org.apache.felix.scr.annotations.ReferenceCardinality; | 35 | import org.apache.felix.scr.annotations.ReferenceCardinality; |
| 30 | import org.apache.felix.scr.annotations.Service; | 36 | import org.apache.felix.scr.annotations.Service; |
| 31 | -import org.onlab.packet.Ethernet; | ||
| 32 | -import org.onlab.packet.IPv4; | ||
| 33 | -import org.onlab.packet.Ip4Address; | ||
| 34 | -import org.onlab.packet.Ip4Prefix; | ||
| 35 | -import org.onlab.packet.IpAddress; | ||
| 36 | import org.onos.acl.RuleId; | 37 | import org.onos.acl.RuleId; |
| 37 | import org.onosproject.core.ApplicationId; | 38 | import org.onosproject.core.ApplicationId; |
| 38 | import org.onosproject.core.CoreService; | 39 | import org.onosproject.core.CoreService; |
| ... | @@ -278,10 +279,10 @@ public class AclManager implements AclService { | ... | @@ -278,10 +279,10 @@ public class AclManager implements AclService { |
| 278 | if (rule.dstTpPort() != 0) { | 279 | if (rule.dstTpPort() != 0) { |
| 279 | switch (rule.ipProto()) { | 280 | switch (rule.ipProto()) { |
| 280 | case IPv4.PROTOCOL_TCP: | 281 | case IPv4.PROTOCOL_TCP: |
| 281 | - selectorBuilder.matchTcpDst(rule.dstTpPort()); | 282 | + selectorBuilder.matchTcpDst(TpPort.tpPort(rule.dstTpPort())); |
| 282 | break; | 283 | break; |
| 283 | case IPv4.PROTOCOL_UDP: | 284 | case IPv4.PROTOCOL_UDP: |
| 284 | - selectorBuilder.matchUdpDst(rule.dstTpPort()); | 285 | + selectorBuilder.matchUdpDst(TpPort.tpPort(rule.dstTpPort())); |
| 285 | break; | 286 | break; |
| 286 | default: | 287 | default: |
| 287 | break; | 288 | break; | ... | ... |
| ... | @@ -21,6 +21,7 @@ import org.onlab.packet.Ethernet; | ... | @@ -21,6 +21,7 @@ import org.onlab.packet.Ethernet; |
| 21 | import org.onlab.packet.IPv4; | 21 | import org.onlab.packet.IPv4; |
| 22 | import org.onlab.packet.IpAddress; | 22 | import org.onlab.packet.IpAddress; |
| 23 | import org.onlab.packet.TCP; | 23 | import org.onlab.packet.TCP; |
| 24 | +import org.onlab.packet.TpPort; | ||
| 24 | import org.onosproject.core.ApplicationId; | 25 | import org.onosproject.core.ApplicationId; |
| 25 | import org.onosproject.net.ConnectPoint; | 26 | import org.onosproject.net.ConnectPoint; |
| 26 | import org.onosproject.net.flow.DefaultTrafficSelector; | 27 | import org.onosproject.net.flow.DefaultTrafficSelector; |
| ... | @@ -101,13 +102,13 @@ public class TunnellingConnectivityManager { | ... | @@ -101,13 +102,13 @@ public class TunnellingConnectivityManager { |
| 101 | TrafficSelector selectorDst = DefaultTrafficSelector.builder() | 102 | TrafficSelector selectorDst = DefaultTrafficSelector.builder() |
| 102 | .matchEthType(Ethernet.TYPE_IPV4) | 103 | .matchEthType(Ethernet.TYPE_IPV4) |
| 103 | .matchIPProtocol(IPv4.PROTOCOL_TCP) | 104 | .matchIPProtocol(IPv4.PROTOCOL_TCP) |
| 104 | - .matchTcpDst(BGP_PORT) | 105 | + .matchTcpDst(TpPort.tpPort(BGP_PORT)) |
| 105 | .build(); | 106 | .build(); |
| 106 | 107 | ||
| 107 | TrafficSelector selectorSrc = DefaultTrafficSelector.builder() | 108 | TrafficSelector selectorSrc = DefaultTrafficSelector.builder() |
| 108 | .matchEthType(Ethernet.TYPE_IPV4) | 109 | .matchEthType(Ethernet.TYPE_IPV4) |
| 109 | .matchIPProtocol(IPv4.PROTOCOL_TCP) | 110 | .matchIPProtocol(IPv4.PROTOCOL_TCP) |
| 110 | - .matchTcpSrc(BGP_PORT) | 111 | + .matchTcpSrc(TpPort.tpPort(BGP_PORT)) |
| 111 | .build(); | 112 | .build(); |
| 112 | 113 | ||
| 113 | TrafficTreatment treatment = DefaultTrafficTreatment.builder() | 114 | TrafficTreatment treatment = DefaultTrafficTreatment.builder() | ... | ... |
| ... | @@ -27,6 +27,7 @@ import org.apache.felix.scr.annotations.Service; | ... | @@ -27,6 +27,7 @@ import org.apache.felix.scr.annotations.Service; |
| 27 | import org.onlab.packet.Ethernet; | 27 | import org.onlab.packet.Ethernet; |
| 28 | import org.onlab.packet.IPv4; | 28 | import org.onlab.packet.IPv4; |
| 29 | import org.onlab.packet.MacAddress; | 29 | import org.onlab.packet.MacAddress; |
| 30 | +import org.onlab.packet.TpPort; | ||
| 30 | import org.onlab.packet.VlanId; | 31 | import org.onlab.packet.VlanId; |
| 31 | import org.onosproject.core.ApplicationId; | 32 | import org.onosproject.core.ApplicationId; |
| 32 | import org.onosproject.core.CoreService; | 33 | import org.onosproject.core.CoreService; |
| ... | @@ -119,14 +120,14 @@ public class CordFabricManager implements FabricService { | ... | @@ -119,14 +120,14 @@ public class CordFabricManager implements FabricService { |
| 119 | TrafficSelector ofInBandMatchUp = DefaultTrafficSelector.builder() | 120 | TrafficSelector ofInBandMatchUp = DefaultTrafficSelector.builder() |
| 120 | .matchEthType(Ethernet.TYPE_IPV4) | 121 | .matchEthType(Ethernet.TYPE_IPV4) |
| 121 | .matchIPProtocol(IPv4.PROTOCOL_TCP) | 122 | .matchIPProtocol(IPv4.PROTOCOL_TCP) |
| 122 | - .matchTcpDst(ofPort) | 123 | + .matchTcpDst(TpPort.tpPort(ofPort)) |
| 123 | .matchInPort(PortNumber.portNumber(6)) | 124 | .matchInPort(PortNumber.portNumber(6)) |
| 124 | .build(); | 125 | .build(); |
| 125 | 126 | ||
| 126 | TrafficSelector ofInBandMatchDown = DefaultTrafficSelector.builder() | 127 | TrafficSelector ofInBandMatchDown = DefaultTrafficSelector.builder() |
| 127 | .matchEthType(Ethernet.TYPE_IPV4) | 128 | .matchEthType(Ethernet.TYPE_IPV4) |
| 128 | .matchIPProtocol(IPv4.PROTOCOL_TCP) | 129 | .matchIPProtocol(IPv4.PROTOCOL_TCP) |
| 129 | - .matchTcpSrc(ofPort) | 130 | + .matchTcpSrc(TpPort.tpPort(ofPort)) |
| 130 | .matchInPort(PortNumber.portNumber(1)) | 131 | .matchInPort(PortNumber.portNumber(1)) |
| 131 | .build(); | 132 | .build(); |
| 132 | 133 | ||
| ... | @@ -152,14 +153,14 @@ public class CordFabricManager implements FabricService { | ... | @@ -152,14 +153,14 @@ public class CordFabricManager implements FabricService { |
| 152 | .matchInPort(PortNumber.portNumber(2)) | 153 | .matchInPort(PortNumber.portNumber(2)) |
| 153 | .matchEthType(Ethernet.TYPE_IPV4) | 154 | .matchEthType(Ethernet.TYPE_IPV4) |
| 154 | .matchIPProtocol(IPv4.PROTOCOL_UDP) | 155 | .matchIPProtocol(IPv4.PROTOCOL_UDP) |
| 155 | - .matchUdpDst(radiusPort) | 156 | + .matchUdpDst(TpPort.tpPort(radiusPort)) |
| 156 | .build(); | 157 | .build(); |
| 157 | 158 | ||
| 158 | TrafficSelector fromRadius = DefaultTrafficSelector.builder() | 159 | TrafficSelector fromRadius = DefaultTrafficSelector.builder() |
| 159 | .matchInPort(PortNumber.portNumber(5)) | 160 | .matchInPort(PortNumber.portNumber(5)) |
| 160 | .matchEthType(Ethernet.TYPE_IPV4) | 161 | .matchEthType(Ethernet.TYPE_IPV4) |
| 161 | .matchIPProtocol(IPv4.PROTOCOL_UDP) | 162 | .matchIPProtocol(IPv4.PROTOCOL_UDP) |
| 162 | - .matchUdpDst(radiusPort) | 163 | + .matchUdpDst(TpPort.tpPort(radiusPort)) |
| 163 | .build(); | 164 | .build(); |
| 164 | 165 | ||
| 165 | TrafficTreatment toOlt = DefaultTrafficTreatment.builder() | 166 | TrafficTreatment toOlt = DefaultTrafficTreatment.builder() | ... | ... |
| ... | @@ -32,6 +32,7 @@ import org.onlab.packet.Ip4Prefix; | ... | @@ -32,6 +32,7 @@ import org.onlab.packet.Ip4Prefix; |
| 32 | import org.onlab.packet.Ip6Prefix; | 32 | import org.onlab.packet.Ip6Prefix; |
| 33 | import org.onlab.packet.MacAddress; | 33 | import org.onlab.packet.MacAddress; |
| 34 | import org.onlab.packet.TCP; | 34 | import org.onlab.packet.TCP; |
| 35 | +import org.onlab.packet.TpPort; | ||
| 35 | import org.onlab.packet.UDP; | 36 | import org.onlab.packet.UDP; |
| 36 | import org.onlab.packet.VlanId; | 37 | import org.onlab.packet.VlanId; |
| 37 | import org.onosproject.cfg.ComponentConfigService; | 38 | import org.onosproject.cfg.ComponentConfigService; |
| ... | @@ -587,14 +588,14 @@ public class ReactiveForwarding { | ... | @@ -587,14 +588,14 @@ public class ReactiveForwarding { |
| 587 | if (matchTcpUdpPorts && ipv4Protocol == IPv4.PROTOCOL_TCP) { | 588 | if (matchTcpUdpPorts && ipv4Protocol == IPv4.PROTOCOL_TCP) { |
| 588 | TCP tcpPacket = (TCP) ipv4Packet.getPayload(); | 589 | TCP tcpPacket = (TCP) ipv4Packet.getPayload(); |
| 589 | selectorBuilder.matchIPProtocol(ipv4Protocol) | 590 | selectorBuilder.matchIPProtocol(ipv4Protocol) |
| 590 | - .matchTcpSrc(tcpPacket.getSourcePort()) | 591 | + .matchTcpSrc(TpPort.tpPort(tcpPacket.getSourcePort())) |
| 591 | - .matchTcpDst(tcpPacket.getDestinationPort()); | 592 | + .matchTcpDst(TpPort.tpPort(tcpPacket.getDestinationPort())); |
| 592 | } | 593 | } |
| 593 | if (matchTcpUdpPorts && ipv4Protocol == IPv4.PROTOCOL_UDP) { | 594 | if (matchTcpUdpPorts && ipv4Protocol == IPv4.PROTOCOL_UDP) { |
| 594 | UDP udpPacket = (UDP) ipv4Packet.getPayload(); | 595 | UDP udpPacket = (UDP) ipv4Packet.getPayload(); |
| 595 | selectorBuilder.matchIPProtocol(ipv4Protocol) | 596 | selectorBuilder.matchIPProtocol(ipv4Protocol) |
| 596 | - .matchUdpSrc(udpPacket.getSourcePort()) | 597 | + .matchUdpSrc(TpPort.tpPort(udpPacket.getSourcePort())) |
| 597 | - .matchUdpDst(udpPacket.getDestinationPort()); | 598 | + .matchUdpDst(TpPort.tpPort(udpPacket.getDestinationPort())); |
| 598 | } | 599 | } |
| 599 | if (matchIcmpFields && ipv4Protocol == IPv4.PROTOCOL_ICMP) { | 600 | if (matchIcmpFields && ipv4Protocol == IPv4.PROTOCOL_ICMP) { |
| 600 | ICMP icmpPacket = (ICMP) ipv4Packet.getPayload(); | 601 | ICMP icmpPacket = (ICMP) ipv4Packet.getPayload(); |
| ... | @@ -628,14 +629,14 @@ public class ReactiveForwarding { | ... | @@ -628,14 +629,14 @@ public class ReactiveForwarding { |
| 628 | if (matchTcpUdpPorts && ipv6NextHeader == IPv6.PROTOCOL_TCP) { | 629 | if (matchTcpUdpPorts && ipv6NextHeader == IPv6.PROTOCOL_TCP) { |
| 629 | TCP tcpPacket = (TCP) ipv6Packet.getPayload(); | 630 | TCP tcpPacket = (TCP) ipv6Packet.getPayload(); |
| 630 | selectorBuilder.matchIPProtocol(ipv6NextHeader) | 631 | selectorBuilder.matchIPProtocol(ipv6NextHeader) |
| 631 | - .matchTcpSrc(tcpPacket.getSourcePort()) | 632 | + .matchTcpSrc(TpPort.tpPort(tcpPacket.getSourcePort())) |
| 632 | - .matchTcpDst(tcpPacket.getDestinationPort()); | 633 | + .matchTcpDst(TpPort.tpPort(tcpPacket.getDestinationPort())); |
| 633 | } | 634 | } |
| 634 | if (matchTcpUdpPorts && ipv6NextHeader == IPv6.PROTOCOL_UDP) { | 635 | if (matchTcpUdpPorts && ipv6NextHeader == IPv6.PROTOCOL_UDP) { |
| 635 | UDP udpPacket = (UDP) ipv6Packet.getPayload(); | 636 | UDP udpPacket = (UDP) ipv6Packet.getPayload(); |
| 636 | selectorBuilder.matchIPProtocol(ipv6NextHeader) | 637 | selectorBuilder.matchIPProtocol(ipv6NextHeader) |
| 637 | - .matchUdpSrc(udpPacket.getSourcePort()) | 638 | + .matchUdpSrc(TpPort.tpPort(udpPacket.getSourcePort())) |
| 638 | - .matchUdpDst(udpPacket.getDestinationPort()); | 639 | + .matchUdpDst(TpPort.tpPort(udpPacket.getDestinationPort())); |
| 639 | } | 640 | } |
| 640 | if (matchIcmpFields && ipv6NextHeader == IPv6.PROTOCOL_ICMP6) { | 641 | if (matchIcmpFields && ipv6NextHeader == IPv6.PROTOCOL_ICMP6) { |
| 641 | ICMP6 icmp6Packet = (ICMP6) ipv6Packet.getPayload(); | 642 | ICMP6 icmp6Packet = (ICMP6) ipv6Packet.getPayload(); | ... | ... |
| ... | @@ -20,6 +20,7 @@ import org.onlab.packet.IPv4; | ... | @@ -20,6 +20,7 @@ import org.onlab.packet.IPv4; |
| 20 | import org.onlab.packet.IPv6; | 20 | import org.onlab.packet.IPv6; |
| 21 | import org.onlab.packet.IpAddress; | 21 | import org.onlab.packet.IpAddress; |
| 22 | import org.onlab.packet.IpPrefix; | 22 | import org.onlab.packet.IpPrefix; |
| 23 | +import org.onlab.packet.TpPort; | ||
| 23 | import org.onosproject.core.ApplicationId; | 24 | import org.onosproject.core.ApplicationId; |
| 24 | import org.onosproject.net.ConnectPoint; | 25 | import org.onosproject.net.ConnectPoint; |
| 25 | import org.onosproject.net.flow.DefaultTrafficSelector; | 26 | import org.onosproject.net.flow.DefaultTrafficSelector; |
| ... | @@ -321,11 +322,11 @@ public class PeerConnectivityManager { | ... | @@ -321,11 +322,11 @@ public class PeerConnectivityManager { |
| 321 | } | 322 | } |
| 322 | 323 | ||
| 323 | if (srcTcpPort != null) { | 324 | if (srcTcpPort != null) { |
| 324 | - builder.matchTcpSrc(srcTcpPort); | 325 | + builder.matchTcpSrc(TpPort.tpPort(srcTcpPort)); |
| 325 | } | 326 | } |
| 326 | 327 | ||
| 327 | if (dstTcpPort != null) { | 328 | if (dstTcpPort != null) { |
| 328 | - builder.matchTcpDst(dstTcpPort); | 329 | + builder.matchTcpDst(TpPort.tpPort(dstTcpPort)); |
| 329 | } | 330 | } |
| 330 | 331 | ||
| 331 | return builder.build(); | 332 | return builder.build(); | ... | ... |
| ... | @@ -26,6 +26,7 @@ import org.onlab.packet.IPv4; | ... | @@ -26,6 +26,7 @@ import org.onlab.packet.IPv4; |
| 26 | import org.onlab.packet.IpAddress; | 26 | import org.onlab.packet.IpAddress; |
| 27 | import org.onlab.packet.IpPrefix; | 27 | import org.onlab.packet.IpPrefix; |
| 28 | import org.onlab.packet.MacAddress; | 28 | import org.onlab.packet.MacAddress; |
| 29 | +import org.onlab.packet.TpPort; | ||
| 29 | import org.onlab.packet.VlanId; | 30 | import org.onlab.packet.VlanId; |
| 30 | import org.onosproject.core.ApplicationId; | 31 | import org.onosproject.core.ApplicationId; |
| 31 | import org.onosproject.net.ConnectPoint; | 32 | import org.onosproject.net.ConnectPoint; |
| ... | @@ -290,10 +291,10 @@ public class PeerConnectivityManagerTest extends AbstractIntentTest { | ... | @@ -290,10 +291,10 @@ public class PeerConnectivityManagerTest extends AbstractIntentTest { |
| 290 | .matchIPDst(IpPrefix.valueOf(dstPrefix)); | 291 | .matchIPDst(IpPrefix.valueOf(dstPrefix)); |
| 291 | 292 | ||
| 292 | if (srcTcpPort != null) { | 293 | if (srcTcpPort != null) { |
| 293 | - builder.matchTcpSrc(srcTcpPort); | 294 | + builder.matchTcpSrc(TpPort.tpPort(srcTcpPort)); |
| 294 | } | 295 | } |
| 295 | if (dstTcpPort != null) { | 296 | if (dstTcpPort != null) { |
| 296 | - builder.matchTcpDst(dstTcpPort); | 297 | + builder.matchTcpDst(TpPort.tpPort(dstTcpPort)); |
| 297 | } | 298 | } |
| 298 | 299 | ||
| 299 | PointToPointIntent intent = PointToPointIntent.builder() | 300 | PointToPointIntent intent = PointToPointIntent.builder() | ... | ... |
| ... | @@ -18,6 +18,7 @@ package org.onosproject.segmentrouting; | ... | @@ -18,6 +18,7 @@ package org.onosproject.segmentrouting; |
| 18 | 18 | ||
| 19 | import org.onlab.packet.Ethernet; | 19 | import org.onlab.packet.Ethernet; |
| 20 | import org.onlab.packet.IpPrefix; | 20 | import org.onlab.packet.IpPrefix; |
| 21 | +import org.onlab.packet.TpPort; | ||
| 21 | import org.onosproject.cli.net.IpProtocol; | 22 | import org.onosproject.cli.net.IpProtocol; |
| 22 | import org.onosproject.core.ApplicationId; | 23 | import org.onosproject.core.ApplicationId; |
| 23 | import org.onosproject.net.DeviceId; | 24 | import org.onosproject.net.DeviceId; |
| ... | @@ -193,17 +194,17 @@ public class PolicyHandler { | ... | @@ -193,17 +194,17 @@ public class PolicyHandler { |
| 193 | tsb.matchIPProtocol(ipProto.byteValue()); | 194 | tsb.matchIPProtocol(ipProto.byteValue()); |
| 194 | if (IpProtocol.valueOf(policy.ipProto()).equals(IpProtocol.TCP)) { | 195 | if (IpProtocol.valueOf(policy.ipProto()).equals(IpProtocol.TCP)) { |
| 195 | if (policy.srcPort() != 0) { | 196 | if (policy.srcPort() != 0) { |
| 196 | - tsb.matchTcpSrc(policy.srcPort()); | 197 | + tsb.matchTcpSrc(TpPort.tpPort(policy.srcPort())); |
| 197 | } | 198 | } |
| 198 | if (policy.dstPort() != 0) { | 199 | if (policy.dstPort() != 0) { |
| 199 | - tsb.matchTcpDst(policy.dstPort()); | 200 | + tsb.matchTcpDst(TpPort.tpPort(policy.dstPort())); |
| 200 | } | 201 | } |
| 201 | } else if (IpProtocol.valueOf(policy.ipProto()).equals(IpProtocol.UDP)) { | 202 | } else if (IpProtocol.valueOf(policy.ipProto()).equals(IpProtocol.UDP)) { |
| 202 | if (policy.srcPort() != 0) { | 203 | if (policy.srcPort() != 0) { |
| 203 | - tsb.matchUdpSrc(policy.srcPort()); | 204 | + tsb.matchUdpSrc(TpPort.tpPort(policy.srcPort())); |
| 204 | } | 205 | } |
| 205 | if (policy.dstPort() != 0) { | 206 | if (policy.dstPort() != 0) { |
| 206 | - tsb.matchUdpDst(policy.dstPort()); | 207 | + tsb.matchUdpDst(TpPort.tpPort(policy.dstPort())); |
| 207 | } | 208 | } |
| 208 | } | 209 | } |
| 209 | } | 210 | } | ... | ... |
| ... | @@ -24,6 +24,9 @@ import java.util.List; | ... | @@ -24,6 +24,9 @@ import java.util.List; |
| 24 | import org.apache.karaf.shell.commands.Option; | 24 | import org.apache.karaf.shell.commands.Option; |
| 25 | import org.onlab.packet.Ip6Address; | 25 | import org.onlab.packet.Ip6Address; |
| 26 | import org.onlab.packet.IpAddress; | 26 | import org.onlab.packet.IpAddress; |
| 27 | +import org.onlab.packet.IpPrefix; | ||
| 28 | +import org.onlab.packet.MacAddress; | ||
| 29 | +import org.onlab.packet.TpPort; | ||
| 27 | import org.onlab.packet.VlanId; | 30 | import org.onlab.packet.VlanId; |
| 28 | import org.onlab.util.Bandwidth; | 31 | import org.onlab.util.Bandwidth; |
| 29 | import org.onosproject.cli.AbstractShellCommand; | 32 | import org.onosproject.cli.AbstractShellCommand; |
| ... | @@ -42,8 +45,6 @@ import org.onosproject.net.intent.constraint.LambdaConstraint; | ... | @@ -42,8 +45,6 @@ import org.onosproject.net.intent.constraint.LambdaConstraint; |
| 42 | import org.onosproject.net.intent.constraint.LinkTypeConstraint; | 45 | import org.onosproject.net.intent.constraint.LinkTypeConstraint; |
| 43 | import org.onosproject.net.intent.constraint.PartialFailureConstraint; | 46 | import org.onosproject.net.intent.constraint.PartialFailureConstraint; |
| 44 | import org.onosproject.net.resource.link.BandwidthResource; | 47 | import org.onosproject.net.resource.link.BandwidthResource; |
| 45 | -import org.onlab.packet.IpPrefix; | ||
| 46 | -import org.onlab.packet.MacAddress; | ||
| 47 | 48 | ||
| 48 | /** | 49 | /** |
| 49 | * Base class for command line operations for connectivity based intents. | 50 | * Base class for command line operations for connectivity based intents. |
| ... | @@ -266,11 +267,11 @@ public abstract class ConnectivityIntentCommand extends AbstractShellCommand { | ... | @@ -266,11 +267,11 @@ public abstract class ConnectivityIntentCommand extends AbstractShellCommand { |
| 266 | } | 267 | } |
| 267 | 268 | ||
| 268 | if (!isNullOrEmpty(srcTcpString)) { | 269 | if (!isNullOrEmpty(srcTcpString)) { |
| 269 | - selectorBuilder.matchTcpSrc((short) Integer.parseInt(srcTcpString)); | 270 | + selectorBuilder.matchTcpSrc(TpPort.tpPort(Integer.parseInt(srcTcpString))); |
| 270 | } | 271 | } |
| 271 | 272 | ||
| 272 | if (!isNullOrEmpty(dstTcpString)) { | 273 | if (!isNullOrEmpty(dstTcpString)) { |
| 273 | - selectorBuilder.matchTcpDst((short) Integer.parseInt(dstTcpString)); | 274 | + selectorBuilder.matchTcpDst(TpPort.tpPort(Integer.parseInt(dstTcpString))); |
| 274 | } | 275 | } |
| 275 | 276 | ||
| 276 | if (extHdrStringList != null) { | 277 | if (extHdrStringList != null) { | ... | ... |
| ... | @@ -21,6 +21,7 @@ import org.onlab.packet.Ip6Address; | ... | @@ -21,6 +21,7 @@ import org.onlab.packet.Ip6Address; |
| 21 | import org.onlab.packet.IpPrefix; | 21 | import org.onlab.packet.IpPrefix; |
| 22 | import org.onlab.packet.MacAddress; | 22 | import org.onlab.packet.MacAddress; |
| 23 | import org.onlab.packet.MplsLabel; | 23 | import org.onlab.packet.MplsLabel; |
| 24 | +import org.onlab.packet.TpPort; | ||
| 24 | import org.onlab.packet.VlanId; | 25 | import org.onlab.packet.VlanId; |
| 25 | import org.onosproject.net.IndexedLambda; | 26 | import org.onosproject.net.IndexedLambda; |
| 26 | import org.onosproject.net.PortNumber; | 27 | import org.onosproject.net.PortNumber; |
| ... | @@ -208,37 +209,73 @@ public final class DefaultTrafficSelector implements TrafficSelector { | ... | @@ -208,37 +209,73 @@ public final class DefaultTrafficSelector implements TrafficSelector { |
| 208 | return add(Criteria.matchIPDst(ip)); | 209 | return add(Criteria.matchIPDst(ip)); |
| 209 | } | 210 | } |
| 210 | 211 | ||
| 212 | + @Deprecated | ||
| 211 | @Override | 213 | @Override |
| 212 | public Builder matchTcpSrc(short tcpPort) { | 214 | public Builder matchTcpSrc(short tcpPort) { |
| 213 | return add(Criteria.matchTcpSrc(tcpPort)); | 215 | return add(Criteria.matchTcpSrc(tcpPort)); |
| 214 | } | 216 | } |
| 215 | 217 | ||
| 216 | @Override | 218 | @Override |
| 219 | + public Builder matchTcpSrc(TpPort tcpPort) { | ||
| 220 | + return add(Criteria.matchTcpSrc(tcpPort)); | ||
| 221 | + } | ||
| 222 | + | ||
| 223 | + @Deprecated | ||
| 224 | + @Override | ||
| 217 | public Builder matchTcpDst(short tcpPort) { | 225 | public Builder matchTcpDst(short tcpPort) { |
| 218 | return add(Criteria.matchTcpDst(tcpPort)); | 226 | return add(Criteria.matchTcpDst(tcpPort)); |
| 219 | } | 227 | } |
| 220 | 228 | ||
| 221 | @Override | 229 | @Override |
| 230 | + public Builder matchTcpDst(TpPort tcpPort) { | ||
| 231 | + return add(Criteria.matchTcpDst(tcpPort)); | ||
| 232 | + } | ||
| 233 | + | ||
| 234 | + @Deprecated | ||
| 235 | + @Override | ||
| 222 | public Builder matchUdpSrc(short udpPort) { | 236 | public Builder matchUdpSrc(short udpPort) { |
| 223 | return add(Criteria.matchUdpSrc(udpPort)); | 237 | return add(Criteria.matchUdpSrc(udpPort)); |
| 224 | } | 238 | } |
| 225 | 239 | ||
| 226 | @Override | 240 | @Override |
| 241 | + public Builder matchUdpSrc(TpPort udpPort) { | ||
| 242 | + return add(Criteria.matchUdpSrc(udpPort)); | ||
| 243 | + } | ||
| 244 | + | ||
| 245 | + @Deprecated | ||
| 246 | + @Override | ||
| 227 | public Builder matchUdpDst(short udpPort) { | 247 | public Builder matchUdpDst(short udpPort) { |
| 228 | return add(Criteria.matchUdpDst(udpPort)); | 248 | return add(Criteria.matchUdpDst(udpPort)); |
| 229 | } | 249 | } |
| 230 | 250 | ||
| 231 | @Override | 251 | @Override |
| 252 | + public Builder matchUdpDst(TpPort udpPort) { | ||
| 253 | + return add(Criteria.matchUdpDst(udpPort)); | ||
| 254 | + } | ||
| 255 | + | ||
| 256 | + @Deprecated | ||
| 257 | + @Override | ||
| 232 | public Builder matchSctpSrc(short sctpPort) { | 258 | public Builder matchSctpSrc(short sctpPort) { |
| 233 | return add(Criteria.matchSctpSrc(sctpPort)); | 259 | return add(Criteria.matchSctpSrc(sctpPort)); |
| 234 | } | 260 | } |
| 235 | 261 | ||
| 236 | @Override | 262 | @Override |
| 263 | + public Builder matchSctpSrc(TpPort sctpPort) { | ||
| 264 | + return add(Criteria.matchSctpSrc(sctpPort)); | ||
| 265 | + } | ||
| 266 | + | ||
| 267 | + @Deprecated | ||
| 268 | + @Override | ||
| 237 | public Builder matchSctpDst(short sctpPort) { | 269 | public Builder matchSctpDst(short sctpPort) { |
| 238 | return add(Criteria.matchSctpDst(sctpPort)); | 270 | return add(Criteria.matchSctpDst(sctpPort)); |
| 239 | } | 271 | } |
| 240 | 272 | ||
| 241 | @Override | 273 | @Override |
| 274 | + public Builder matchSctpDst(TpPort sctpPort) { | ||
| 275 | + return add(Criteria.matchSctpDst(sctpPort)); | ||
| 276 | + } | ||
| 277 | + | ||
| 278 | + @Override | ||
| 242 | public Builder matchIcmpType(byte icmpType) { | 279 | public Builder matchIcmpType(byte icmpType) { |
| 243 | return add(Criteria.matchIcmpType(icmpType)); | 280 | return add(Criteria.matchIcmpType(icmpType)); |
| 244 | } | 281 | } | ... | ... |
| ... | @@ -22,6 +22,7 @@ import org.onlab.packet.EthType; | ... | @@ -22,6 +22,7 @@ import org.onlab.packet.EthType; |
| 22 | import org.onlab.packet.IpAddress; | 22 | import org.onlab.packet.IpAddress; |
| 23 | import org.onlab.packet.MacAddress; | 23 | import org.onlab.packet.MacAddress; |
| 24 | import org.onlab.packet.MplsLabel; | 24 | import org.onlab.packet.MplsLabel; |
| 25 | +import org.onlab.packet.TpPort; | ||
| 25 | import org.onlab.packet.VlanId; | 26 | import org.onlab.packet.VlanId; |
| 26 | import org.onosproject.core.GroupId; | 27 | import org.onosproject.core.GroupId; |
| 27 | import org.onosproject.net.IndexedLambda; | 28 | import org.onosproject.net.IndexedLambda; |
| ... | @@ -416,27 +417,51 @@ public final class DefaultTrafficTreatment implements TrafficTreatment { | ... | @@ -416,27 +417,51 @@ public final class DefaultTrafficTreatment implements TrafficTreatment { |
| 416 | return add(Instructions.modTunnelId(tunnelId)); | 417 | return add(Instructions.modTunnelId(tunnelId)); |
| 417 | } | 418 | } |
| 418 | 419 | ||
| 420 | + @Deprecated | ||
| 419 | @Override | 421 | @Override |
| 420 | public TrafficTreatment.Builder setTcpSrc(short port) { | 422 | public TrafficTreatment.Builder setTcpSrc(short port) { |
| 421 | return add(Instructions.modTcpSrc(port)); | 423 | return add(Instructions.modTcpSrc(port)); |
| 422 | } | 424 | } |
| 423 | 425 | ||
| 424 | @Override | 426 | @Override |
| 427 | + public TrafficTreatment.Builder setTcpSrc(TpPort port) { | ||
| 428 | + return add(Instructions.modTcpSrc(port)); | ||
| 429 | + } | ||
| 430 | + | ||
| 431 | + @Deprecated | ||
| 432 | + @Override | ||
| 425 | public TrafficTreatment.Builder setTcpDst(short port) { | 433 | public TrafficTreatment.Builder setTcpDst(short port) { |
| 426 | return add(Instructions.modTcpDst(port)); | 434 | return add(Instructions.modTcpDst(port)); |
| 427 | } | 435 | } |
| 428 | 436 | ||
| 429 | @Override | 437 | @Override |
| 438 | + public TrafficTreatment.Builder setTcpDst(TpPort port) { | ||
| 439 | + return add(Instructions.modTcpDst(port)); | ||
| 440 | + } | ||
| 441 | + | ||
| 442 | + @Deprecated | ||
| 443 | + @Override | ||
| 430 | public TrafficTreatment.Builder setUdpSrc(short port) { | 444 | public TrafficTreatment.Builder setUdpSrc(short port) { |
| 431 | return add(Instructions.modUdpSrc(port)); | 445 | return add(Instructions.modUdpSrc(port)); |
| 432 | } | 446 | } |
| 433 | 447 | ||
| 434 | @Override | 448 | @Override |
| 449 | + public TrafficTreatment.Builder setUdpSrc(TpPort port) { | ||
| 450 | + return add(Instructions.modUdpSrc(port)); | ||
| 451 | + } | ||
| 452 | + | ||
| 453 | + @Deprecated | ||
| 454 | + @Override | ||
| 435 | public TrafficTreatment.Builder setUdpDst(short port) { | 455 | public TrafficTreatment.Builder setUdpDst(short port) { |
| 436 | return add(Instructions.modUdpDst(port)); | 456 | return add(Instructions.modUdpDst(port)); |
| 437 | } | 457 | } |
| 438 | 458 | ||
| 439 | @Override | 459 | @Override |
| 460 | + public TrafficTreatment.Builder setUdpDst(TpPort port) { | ||
| 461 | + return add(Instructions.modUdpDst(port)); | ||
| 462 | + } | ||
| 463 | + | ||
| 464 | + @Override | ||
| 440 | public TrafficTreatment build() { | 465 | public TrafficTreatment build() { |
| 441 | //Don't add DROP instruction by default when instruction | 466 | //Don't add DROP instruction by default when instruction |
| 442 | //set is empty. This will be handled in DefaultSingleTablePipeline | 467 | //set is empty. This will be handled in DefaultSingleTablePipeline | ... | ... |
| ... | @@ -17,14 +17,15 @@ package org.onosproject.net.flow; | ... | @@ -17,14 +17,15 @@ package org.onosproject.net.flow; |
| 17 | 17 | ||
| 18 | import java.util.Set; | 18 | import java.util.Set; |
| 19 | 19 | ||
| 20 | -import org.onosproject.net.PortNumber; | ||
| 21 | -import org.onosproject.net.flow.DefaultTrafficSelector.Builder; | ||
| 22 | -import org.onosproject.net.flow.criteria.Criterion; | ||
| 23 | -import org.onlab.packet.IpPrefix; | ||
| 24 | import org.onlab.packet.Ip6Address; | 20 | import org.onlab.packet.Ip6Address; |
| 21 | +import org.onlab.packet.IpPrefix; | ||
| 25 | import org.onlab.packet.MacAddress; | 22 | import org.onlab.packet.MacAddress; |
| 26 | import org.onlab.packet.MplsLabel; | 23 | import org.onlab.packet.MplsLabel; |
| 24 | +import org.onlab.packet.TpPort; | ||
| 27 | import org.onlab.packet.VlanId; | 25 | import org.onlab.packet.VlanId; |
| 26 | +import org.onosproject.net.PortNumber; | ||
| 27 | +import org.onosproject.net.flow.DefaultTrafficSelector.Builder; | ||
| 28 | +import org.onosproject.net.flow.criteria.Criterion; | ||
| 28 | 29 | ||
| 29 | /** | 30 | /** |
| 30 | * Abstraction of a slice of network traffic. | 31 | * Abstraction of a slice of network traffic. |
| ... | @@ -170,50 +171,110 @@ public interface TrafficSelector { | ... | @@ -170,50 +171,110 @@ public interface TrafficSelector { |
| 170 | * | 171 | * |
| 171 | * @param tcpPort a TCP source port number | 172 | * @param tcpPort a TCP source port number |
| 172 | * @return a selection builder | 173 | * @return a selection builder |
| 174 | + * @deprecated in Drake release | ||
| 173 | */ | 175 | */ |
| 176 | + @Deprecated | ||
| 174 | Builder matchTcpSrc(short tcpPort); | 177 | Builder matchTcpSrc(short tcpPort); |
| 175 | 178 | ||
| 176 | /** | 179 | /** |
| 180 | + * Matches a TCP source port number. | ||
| 181 | + * | ||
| 182 | + * @param tcpPort a TCP source port number | ||
| 183 | + * @return a selection builder | ||
| 184 | + */ | ||
| 185 | + Builder matchTcpSrc(TpPort tcpPort); | ||
| 186 | + | ||
| 187 | + /** | ||
| 177 | * Matches a TCP destination port number. | 188 | * Matches a TCP destination port number. |
| 178 | * | 189 | * |
| 179 | * @param tcpPort a TCP destination port number | 190 | * @param tcpPort a TCP destination port number |
| 180 | * @return a selection builder | 191 | * @return a selection builder |
| 192 | + * @deprecated in Drake release | ||
| 181 | */ | 193 | */ |
| 194 | + @Deprecated | ||
| 182 | Builder matchTcpDst(short tcpPort); | 195 | Builder matchTcpDst(short tcpPort); |
| 183 | 196 | ||
| 184 | /** | 197 | /** |
| 198 | + * Matches a TCP destination port number. | ||
| 199 | + * | ||
| 200 | + * @param tcpPort a TCP destination port number | ||
| 201 | + * @return a selection builder | ||
| 202 | + */ | ||
| 203 | + Builder matchTcpDst(TpPort tcpPort); | ||
| 204 | + | ||
| 205 | + /** | ||
| 185 | * Matches an UDP source port number. | 206 | * Matches an UDP source port number. |
| 186 | * | 207 | * |
| 187 | * @param udpPort an UDP source port number | 208 | * @param udpPort an UDP source port number |
| 188 | * @return a selection builder | 209 | * @return a selection builder |
| 210 | + * @deprecated in Drake release | ||
| 189 | */ | 211 | */ |
| 212 | + @Deprecated | ||
| 190 | Builder matchUdpSrc(short udpPort); | 213 | Builder matchUdpSrc(short udpPort); |
| 191 | 214 | ||
| 192 | /** | 215 | /** |
| 216 | + * Matches an UDP source port number. | ||
| 217 | + * | ||
| 218 | + * @param udpPort an UDP source port number | ||
| 219 | + * @return a selection builder | ||
| 220 | + */ | ||
| 221 | + Builder matchUdpSrc(TpPort udpPort); | ||
| 222 | + | ||
| 223 | + /** | ||
| 193 | * Matches an UDP destination port number. | 224 | * Matches an UDP destination port number. |
| 194 | * | 225 | * |
| 195 | * @param udpPort an UDP destination port number | 226 | * @param udpPort an UDP destination port number |
| 196 | * @return a selection builder | 227 | * @return a selection builder |
| 228 | + * @deprecated in Drake release | ||
| 197 | */ | 229 | */ |
| 230 | + @Deprecated | ||
| 198 | Builder matchUdpDst(short udpPort); | 231 | Builder matchUdpDst(short udpPort); |
| 199 | 232 | ||
| 200 | /** | 233 | /** |
| 234 | + * Matches an UDP destination port number. | ||
| 235 | + * | ||
| 236 | + * @param udpPort an UDP destination port number | ||
| 237 | + * @return a selection builder | ||
| 238 | + */ | ||
| 239 | + Builder matchUdpDst(TpPort udpPort); | ||
| 240 | + | ||
| 241 | + /** | ||
| 201 | * Matches a SCTP source port number. | 242 | * Matches a SCTP source port number. |
| 202 | * | 243 | * |
| 203 | * @param sctpPort a SCTP source port number | 244 | * @param sctpPort a SCTP source port number |
| 204 | * @return a selection builder | 245 | * @return a selection builder |
| 246 | + * @deprecated in Drake release | ||
| 205 | */ | 247 | */ |
| 248 | + @Deprecated | ||
| 206 | Builder matchSctpSrc(short sctpPort); | 249 | Builder matchSctpSrc(short sctpPort); |
| 207 | 250 | ||
| 208 | /** | 251 | /** |
| 252 | + * Matches a SCTP source port number. | ||
| 253 | + * | ||
| 254 | + * @param sctpPort a SCTP source port number | ||
| 255 | + * @return a selection builder | ||
| 256 | + */ | ||
| 257 | + Builder matchSctpSrc(TpPort sctpPort); | ||
| 258 | + | ||
| 259 | + /** | ||
| 209 | * Matches a SCTP destination port number. | 260 | * Matches a SCTP destination port number. |
| 210 | * | 261 | * |
| 211 | * @param sctpPort a SCTP destination port number | 262 | * @param sctpPort a SCTP destination port number |
| 212 | * @return a selection builder | 263 | * @return a selection builder |
| 264 | + * @deprecated in Drake release | ||
| 213 | */ | 265 | */ |
| 266 | + @Deprecated | ||
| 214 | Builder matchSctpDst(short sctpPort); | 267 | Builder matchSctpDst(short sctpPort); |
| 215 | 268 | ||
| 216 | /** | 269 | /** |
| 270 | + * Matches a SCTP destination port number. | ||
| 271 | + * | ||
| 272 | + * @param sctpPort a SCTP destination port number | ||
| 273 | + * @return a selection builder | ||
| 274 | + */ | ||
| 275 | + Builder matchSctpDst(TpPort sctpPort); | ||
| 276 | + | ||
| 277 | + /** | ||
| 217 | * Matches an ICMP type. | 278 | * Matches an ICMP type. |
| 218 | * | 279 | * |
| 219 | * @param icmpType an ICMP type | 280 | * @param icmpType an ICMP type | ... | ... |
| ... | @@ -19,6 +19,7 @@ import org.onlab.packet.EthType; | ... | @@ -19,6 +19,7 @@ import org.onlab.packet.EthType; |
| 19 | import org.onlab.packet.IpAddress; | 19 | import org.onlab.packet.IpAddress; |
| 20 | import org.onlab.packet.MacAddress; | 20 | import org.onlab.packet.MacAddress; |
| 21 | import org.onlab.packet.MplsLabel; | 21 | import org.onlab.packet.MplsLabel; |
| 22 | +import org.onlab.packet.TpPort; | ||
| 22 | import org.onlab.packet.VlanId; | 23 | import org.onlab.packet.VlanId; |
| 23 | import org.onosproject.core.GroupId; | 24 | import org.onosproject.core.GroupId; |
| 24 | import org.onosproject.net.PortNumber; | 25 | import org.onosproject.net.PortNumber; |
| ... | @@ -346,34 +347,74 @@ public interface TrafficTreatment { | ... | @@ -346,34 +347,74 @@ public interface TrafficTreatment { |
| 346 | * | 347 | * |
| 347 | * @param port a port number | 348 | * @param port a port number |
| 348 | * @return a treatment builder | 349 | * @return a treatment builder |
| 350 | + * @deprecated in Drake release | ||
| 349 | */ | 351 | */ |
| 352 | + @Deprecated | ||
| 350 | Builder setTcpSrc(short port); | 353 | Builder setTcpSrc(short port); |
| 351 | 354 | ||
| 352 | /** | 355 | /** |
| 356 | + * Sets the src TCP port. | ||
| 357 | + * | ||
| 358 | + * @param port a port number | ||
| 359 | + * @return a treatment builder | ||
| 360 | + */ | ||
| 361 | + Builder setTcpSrc(TpPort port); | ||
| 362 | + | ||
| 363 | + /** | ||
| 353 | * Sets the dst TCP port. | 364 | * Sets the dst TCP port. |
| 354 | * | 365 | * |
| 355 | * @param port a port number | 366 | * @param port a port number |
| 356 | * @return a treatment builder | 367 | * @return a treatment builder |
| 368 | + * @deprecated in Drake release | ||
| 357 | */ | 369 | */ |
| 370 | + @Deprecated | ||
| 358 | Builder setTcpDst(short port); | 371 | Builder setTcpDst(short port); |
| 359 | 372 | ||
| 360 | /** | 373 | /** |
| 374 | + * Sets the dst TCP port. | ||
| 375 | + * | ||
| 376 | + * @param port a port number | ||
| 377 | + * @return a treatment builder | ||
| 378 | + */ | ||
| 379 | + Builder setTcpDst(TpPort port); | ||
| 380 | + | ||
| 381 | + /** | ||
| 361 | * Sets the src UDP port. | 382 | * Sets the src UDP port. |
| 362 | * | 383 | * |
| 363 | * @param port a port number | 384 | * @param port a port number |
| 364 | * @return a treatment builder | 385 | * @return a treatment builder |
| 386 | + * @deprecated in Drake release | ||
| 365 | */ | 387 | */ |
| 388 | + @Deprecated | ||
| 366 | Builder setUdpSrc(short port); | 389 | Builder setUdpSrc(short port); |
| 367 | 390 | ||
| 368 | /** | 391 | /** |
| 392 | + * Sets the src UDP port. | ||
| 393 | + * | ||
| 394 | + * @param port a port number | ||
| 395 | + * @return a treatment builder | ||
| 396 | + */ | ||
| 397 | + Builder setUdpSrc(TpPort port); | ||
| 398 | + | ||
| 399 | + /** | ||
| 369 | * Sets the dst UDP port. | 400 | * Sets the dst UDP port. |
| 370 | * | 401 | * |
| 371 | * @param port a port number | 402 | * @param port a port number |
| 372 | * @return a treatment builder | 403 | * @return a treatment builder |
| 404 | + * @deprecated in Drake release | ||
| 373 | */ | 405 | */ |
| 406 | + @Deprecated | ||
| 374 | Builder setUdpDst(short port); | 407 | Builder setUdpDst(short port); |
| 375 | 408 | ||
| 376 | /** | 409 | /** |
| 410 | + * Sets the dst UDP port. | ||
| 411 | + * | ||
| 412 | + * @param port a port number | ||
| 413 | + * @return a treatment builder | ||
| 414 | + */ | ||
| 415 | + Builder setUdpDst(TpPort port); | ||
| 416 | + | ||
| 417 | + /** | ||
| 377 | * Builds an immutable traffic treatment descriptor. | 418 | * Builds an immutable traffic treatment descriptor. |
| 378 | * <p> | 419 | * <p> |
| 379 | * If the treatment is empty when build() is called, it will add a default | 420 | * If the treatment is empty when build() is called, it will add a default | ... | ... |
| ... | @@ -16,16 +16,17 @@ | ... | @@ -16,16 +16,17 @@ |
| 16 | package org.onosproject.net.flow.criteria; | 16 | package org.onosproject.net.flow.criteria; |
| 17 | 17 | ||
| 18 | import org.onlab.packet.EthType; | 18 | import org.onlab.packet.EthType; |
| 19 | +import org.onlab.packet.Ip6Address; | ||
| 20 | +import org.onlab.packet.IpPrefix; | ||
| 21 | +import org.onlab.packet.MacAddress; | ||
| 22 | +import org.onlab.packet.MplsLabel; | ||
| 23 | +import org.onlab.packet.TpPort; | ||
| 24 | +import org.onlab.packet.VlanId; | ||
| 19 | import org.onosproject.net.IndexedLambda; | 25 | import org.onosproject.net.IndexedLambda; |
| 20 | import org.onosproject.net.Lambda; | 26 | import org.onosproject.net.Lambda; |
| 21 | import org.onosproject.net.OchSignal; | 27 | import org.onosproject.net.OchSignal; |
| 22 | import org.onosproject.net.PortNumber; | 28 | import org.onosproject.net.PortNumber; |
| 23 | import org.onosproject.net.flow.criteria.Criterion.Type; | 29 | import org.onosproject.net.flow.criteria.Criterion.Type; |
| 24 | -import org.onlab.packet.IpPrefix; | ||
| 25 | -import org.onlab.packet.Ip6Address; | ||
| 26 | -import org.onlab.packet.MacAddress; | ||
| 27 | -import org.onlab.packet.MplsLabel; | ||
| 28 | -import org.onlab.packet.VlanId; | ||
| 29 | import org.onosproject.net.OchSignalType; | 30 | import org.onosproject.net.OchSignalType; |
| 30 | 31 | ||
| 31 | /** | 32 | /** |
| ... | @@ -184,50 +185,110 @@ public final class Criteria { | ... | @@ -184,50 +185,110 @@ public final class Criteria { |
| 184 | /** | 185 | /** |
| 185 | * Creates a match on TCP source port field using the specified value. | 186 | * Creates a match on TCP source port field using the specified value. |
| 186 | * | 187 | * |
| 187 | - * @param tcpPort TCP source port (16 bits unsigned integer) | 188 | + * @param tcpPort TCP source port |
| 189 | + * @return match criterion | ||
| 190 | + * @deprecated in Drake release | ||
| 191 | + */ | ||
| 192 | + @Deprecated | ||
| 193 | + public static Criterion matchTcpSrc(short tcpPort) { | ||
| 194 | + return new TcpPortCriterion(TpPort.tpPort(tcpPort), Type.TCP_SRC); | ||
| 195 | + } | ||
| 196 | + | ||
| 197 | + /** | ||
| 198 | + * Creates a match on TCP source port field using the specified value. | ||
| 199 | + * | ||
| 200 | + * @param tcpPort TCP source port | ||
| 188 | * @return match criterion | 201 | * @return match criterion |
| 189 | */ | 202 | */ |
| 190 | - public static Criterion matchTcpSrc(int tcpPort) { | 203 | + public static Criterion matchTcpSrc(TpPort tcpPort) { |
| 191 | return new TcpPortCriterion(tcpPort, Type.TCP_SRC); | 204 | return new TcpPortCriterion(tcpPort, Type.TCP_SRC); |
| 192 | } | 205 | } |
| 193 | 206 | ||
| 194 | /** | 207 | /** |
| 195 | * Creates a match on TCP destination port field using the specified value. | 208 | * Creates a match on TCP destination port field using the specified value. |
| 196 | * | 209 | * |
| 197 | - * @param tcpPort TCP destination port (16 bits unsigned integer) | 210 | + * @param tcpPort TCP destination port |
| 198 | * @return match criterion | 211 | * @return match criterion |
| 212 | + * @deprecated in Drake release | ||
| 199 | */ | 213 | */ |
| 200 | - public static Criterion matchTcpDst(int tcpPort) { | 214 | + @Deprecated |
| 215 | + public static Criterion matchTcpDst(short tcpPort) { | ||
| 216 | + return new TcpPortCriterion(TpPort.tpPort(tcpPort), Type.TCP_DST); | ||
| 217 | + } | ||
| 218 | + | ||
| 219 | + /** | ||
| 220 | + * Creates a match on TCP destination port field using the specified value. | ||
| 221 | + * | ||
| 222 | + * @param tcpPort TCP destination port | ||
| 223 | + * @return match criterion | ||
| 224 | + */ | ||
| 225 | + public static Criterion matchTcpDst(TpPort tcpPort) { | ||
| 201 | return new TcpPortCriterion(tcpPort, Type.TCP_DST); | 226 | return new TcpPortCriterion(tcpPort, Type.TCP_DST); |
| 202 | } | 227 | } |
| 203 | 228 | ||
| 204 | /** | 229 | /** |
| 205 | * Creates a match on UDP source port field using the specified value. | 230 | * Creates a match on UDP source port field using the specified value. |
| 206 | * | 231 | * |
| 207 | - * @param udpPort UDP source port (16 bits unsigned integer) | 232 | + * @param udpPort UDP source port |
| 208 | * @return match criterion | 233 | * @return match criterion |
| 234 | + * @deprecated in Drake release | ||
| 209 | */ | 235 | */ |
| 210 | - public static Criterion matchUdpSrc(int udpPort) { | 236 | + @Deprecated |
| 237 | + public static Criterion matchUdpSrc(short udpPort) { | ||
| 238 | + return new UdpPortCriterion(TpPort.tpPort(udpPort), Type.UDP_SRC); | ||
| 239 | + } | ||
| 240 | + | ||
| 241 | + /** | ||
| 242 | + * Creates a match on UDP source port field using the specified value. | ||
| 243 | + * | ||
| 244 | + * @param udpPort UDP source port | ||
| 245 | + * @return match criterion | ||
| 246 | + */ | ||
| 247 | + public static Criterion matchUdpSrc(TpPort udpPort) { | ||
| 211 | return new UdpPortCriterion(udpPort, Type.UDP_SRC); | 248 | return new UdpPortCriterion(udpPort, Type.UDP_SRC); |
| 212 | } | 249 | } |
| 213 | 250 | ||
| 214 | /** | 251 | /** |
| 215 | * Creates a match on UDP destination port field using the specified value. | 252 | * Creates a match on UDP destination port field using the specified value. |
| 216 | * | 253 | * |
| 217 | - * @param udpPort UDP destination port (16 bits unsigned integer) | 254 | + * @param udpPort UDP destination port |
| 218 | * @return match criterion | 255 | * @return match criterion |
| 256 | + * @deprecated in Drake release | ||
| 219 | */ | 257 | */ |
| 220 | - public static Criterion matchUdpDst(int udpPort) { | 258 | + @Deprecated |
| 259 | + public static Criterion matchUdpDst(short udpPort) { | ||
| 260 | + return new UdpPortCriterion(TpPort.tpPort(udpPort), Type.UDP_DST); | ||
| 261 | + } | ||
| 262 | + | ||
| 263 | + /** | ||
| 264 | + * Creates a match on UDP destination port field using the specified value. | ||
| 265 | + * | ||
| 266 | + * @param udpPort UDP destination port | ||
| 267 | + * @return match criterion | ||
| 268 | + */ | ||
| 269 | + public static Criterion matchUdpDst(TpPort udpPort) { | ||
| 221 | return new UdpPortCriterion(udpPort, Type.UDP_DST); | 270 | return new UdpPortCriterion(udpPort, Type.UDP_DST); |
| 222 | } | 271 | } |
| 223 | 272 | ||
| 224 | /** | 273 | /** |
| 225 | * Creates a match on SCTP source port field using the specified value. | 274 | * Creates a match on SCTP source port field using the specified value. |
| 226 | * | 275 | * |
| 227 | - * @param sctpPort SCTP source port (16 bits unsigned integer) | 276 | + * @param sctpPort SCTP source port |
| 228 | * @return match criterion | 277 | * @return match criterion |
| 278 | + * @deprecated in Drake release | ||
| 229 | */ | 279 | */ |
| 230 | - public static Criterion matchSctpSrc(int sctpPort) { | 280 | + @Deprecated |
| 281 | + public static Criterion matchSctpSrc(short sctpPort) { | ||
| 282 | + return new SctpPortCriterion(TpPort.tpPort(sctpPort), Type.SCTP_SRC); | ||
| 283 | + } | ||
| 284 | + | ||
| 285 | + /** | ||
| 286 | + * Creates a match on SCTP source port field using the specified value. | ||
| 287 | + * | ||
| 288 | + * @param sctpPort SCTP source port | ||
| 289 | + * @return match criterion | ||
| 290 | + */ | ||
| 291 | + public static Criterion matchSctpSrc(TpPort sctpPort) { | ||
| 231 | return new SctpPortCriterion(sctpPort, Type.SCTP_SRC); | 292 | return new SctpPortCriterion(sctpPort, Type.SCTP_SRC); |
| 232 | } | 293 | } |
| 233 | 294 | ||
| ... | @@ -235,10 +296,23 @@ public final class Criteria { | ... | @@ -235,10 +296,23 @@ public final class Criteria { |
| 235 | * Creates a match on SCTP destination port field using the specified | 296 | * Creates a match on SCTP destination port field using the specified |
| 236 | * value. | 297 | * value. |
| 237 | * | 298 | * |
| 238 | - * @param sctpPort SCTP destination port (16 bits unsigned integer) | 299 | + * @param sctpPort SCTP destination port |
| 300 | + * @return match criterion | ||
| 301 | + * @deprecated in Drake release | ||
| 302 | + */ | ||
| 303 | + @Deprecated | ||
| 304 | + public static Criterion matchSctpDst(short sctpPort) { | ||
| 305 | + return new SctpPortCriterion(TpPort.tpPort(sctpPort), Type.SCTP_DST); | ||
| 306 | + } | ||
| 307 | + | ||
| 308 | + /** | ||
| 309 | + * Creates a match on SCTP destination port field using the specified | ||
| 310 | + * value. | ||
| 311 | + * | ||
| 312 | + * @param sctpPort SCTP destination port | ||
| 239 | * @return match criterion | 313 | * @return match criterion |
| 240 | */ | 314 | */ |
| 241 | - public static Criterion matchSctpDst(int sctpPort) { | 315 | + public static Criterion matchSctpDst(TpPort sctpPort) { |
| 242 | return new SctpPortCriterion(sctpPort, Type.SCTP_DST); | 316 | return new SctpPortCriterion(sctpPort, Type.SCTP_DST); |
| 243 | } | 317 | } |
| 244 | 318 | ... | ... |
| ... | @@ -15,6 +15,8 @@ | ... | @@ -15,6 +15,8 @@ |
| 15 | */ | 15 | */ |
| 16 | package org.onosproject.net.flow.criteria; | 16 | package org.onosproject.net.flow.criteria; |
| 17 | 17 | ||
| 18 | +import org.onlab.packet.TpPort; | ||
| 19 | + | ||
| 18 | import java.util.Objects; | 20 | import java.util.Objects; |
| 19 | 21 | ||
| 20 | import static com.google.common.base.MoreObjects.toStringHelper; | 22 | import static com.google.common.base.MoreObjects.toStringHelper; |
| ... | @@ -23,19 +25,18 @@ import static com.google.common.base.MoreObjects.toStringHelper; | ... | @@ -23,19 +25,18 @@ import static com.google.common.base.MoreObjects.toStringHelper; |
| 23 | * Implementation of SCTP port criterion (16 bits unsigned integer). | 25 | * Implementation of SCTP port criterion (16 bits unsigned integer). |
| 24 | */ | 26 | */ |
| 25 | public final class SctpPortCriterion implements Criterion { | 27 | public final class SctpPortCriterion implements Criterion { |
| 26 | - private static final int MASK = 0xffff; | 28 | + private final TpPort sctpPort; |
| 27 | - private final int sctpPort; // Port value: 16 bits | ||
| 28 | private final Type type; | 29 | private final Type type; |
| 29 | 30 | ||
| 30 | /** | 31 | /** |
| 31 | * Constructor. | 32 | * Constructor. |
| 32 | * | 33 | * |
| 33 | - * @param sctpPort the SCTP port to match (16 bits unsigned integer) | 34 | + * @param sctpPort the SCTP port to match |
| 34 | * @param type the match type. Should be either Type.SCTP_SRC or | 35 | * @param type the match type. Should be either Type.SCTP_SRC or |
| 35 | * Type.SCTP_DST | 36 | * Type.SCTP_DST |
| 36 | */ | 37 | */ |
| 37 | - SctpPortCriterion(int sctpPort, Type type) { | 38 | + SctpPortCriterion(TpPort sctpPort, Type type) { |
| 38 | - this.sctpPort = sctpPort & MASK; | 39 | + this.sctpPort = sctpPort; |
| 39 | this.type = type; | 40 | this.type = type; |
| 40 | } | 41 | } |
| 41 | 42 | ||
| ... | @@ -47,9 +48,9 @@ public final class SctpPortCriterion implements Criterion { | ... | @@ -47,9 +48,9 @@ public final class SctpPortCriterion implements Criterion { |
| 47 | /** | 48 | /** |
| 48 | * Gets the SCTP port to match. | 49 | * Gets the SCTP port to match. |
| 49 | * | 50 | * |
| 50 | - * @return the SCTP port to match (16 bits unsigned integer) | 51 | + * @return the SCTP port to match |
| 51 | */ | 52 | */ |
| 52 | - public int sctpPort() { | 53 | + public TpPort sctpPort() { |
| 53 | return this.sctpPort; | 54 | return this.sctpPort; |
| 54 | } | 55 | } |
| 55 | 56 | ... | ... |
| ... | @@ -15,6 +15,8 @@ | ... | @@ -15,6 +15,8 @@ |
| 15 | */ | 15 | */ |
| 16 | package org.onosproject.net.flow.criteria; | 16 | package org.onosproject.net.flow.criteria; |
| 17 | 17 | ||
| 18 | +import org.onlab.packet.TpPort; | ||
| 19 | + | ||
| 18 | import java.util.Objects; | 20 | import java.util.Objects; |
| 19 | 21 | ||
| 20 | import static com.google.common.base.MoreObjects.toStringHelper; | 22 | import static com.google.common.base.MoreObjects.toStringHelper; |
| ... | @@ -23,19 +25,18 @@ import static com.google.common.base.MoreObjects.toStringHelper; | ... | @@ -23,19 +25,18 @@ import static com.google.common.base.MoreObjects.toStringHelper; |
| 23 | * Implementation of TCP port criterion (16 bits unsigned integer). | 25 | * Implementation of TCP port criterion (16 bits unsigned integer). |
| 24 | */ | 26 | */ |
| 25 | public final class TcpPortCriterion implements Criterion { | 27 | public final class TcpPortCriterion implements Criterion { |
| 26 | - private static final int MASK = 0xffff; | 28 | + private final TpPort tcpPort; |
| 27 | - private final int tcpPort; // Port value: 16 bits | ||
| 28 | private final Type type; | 29 | private final Type type; |
| 29 | 30 | ||
| 30 | /** | 31 | /** |
| 31 | * Constructor. | 32 | * Constructor. |
| 32 | * | 33 | * |
| 33 | - * @param tcpPort the TCP port to match (16 bits unsigned integer) | 34 | + * @param tcpPort the TCP port to match |
| 34 | * @param type the match type. Should be either Type.TCP_SRC or | 35 | * @param type the match type. Should be either Type.TCP_SRC or |
| 35 | * Type.TCP_DST | 36 | * Type.TCP_DST |
| 36 | */ | 37 | */ |
| 37 | - TcpPortCriterion(int tcpPort, Type type) { | 38 | + TcpPortCriterion(TpPort tcpPort, Type type) { |
| 38 | - this.tcpPort = tcpPort & MASK; | 39 | + this.tcpPort = tcpPort; |
| 39 | this.type = type; | 40 | this.type = type; |
| 40 | } | 41 | } |
| 41 | 42 | ||
| ... | @@ -47,9 +48,9 @@ public final class TcpPortCriterion implements Criterion { | ... | @@ -47,9 +48,9 @@ public final class TcpPortCriterion implements Criterion { |
| 47 | /** | 48 | /** |
| 48 | * Gets the TCP port to match. | 49 | * Gets the TCP port to match. |
| 49 | * | 50 | * |
| 50 | - * @return the TCP port to match (16 bits unsigned integer) | 51 | + * @return the TCP port to match |
| 51 | */ | 52 | */ |
| 52 | - public int tcpPort() { | 53 | + public TpPort tcpPort() { |
| 53 | return this.tcpPort; | 54 | return this.tcpPort; |
| 54 | } | 55 | } |
| 55 | 56 | ... | ... |
| ... | @@ -15,6 +15,8 @@ | ... | @@ -15,6 +15,8 @@ |
| 15 | */ | 15 | */ |
| 16 | package org.onosproject.net.flow.criteria; | 16 | package org.onosproject.net.flow.criteria; |
| 17 | 17 | ||
| 18 | +import org.onlab.packet.TpPort; | ||
| 19 | + | ||
| 18 | import java.util.Objects; | 20 | import java.util.Objects; |
| 19 | 21 | ||
| 20 | import static com.google.common.base.MoreObjects.toStringHelper; | 22 | import static com.google.common.base.MoreObjects.toStringHelper; |
| ... | @@ -23,19 +25,18 @@ import static com.google.common.base.MoreObjects.toStringHelper; | ... | @@ -23,19 +25,18 @@ import static com.google.common.base.MoreObjects.toStringHelper; |
| 23 | * Implementation of UDP port criterion (16 bits unsigned integer). | 25 | * Implementation of UDP port criterion (16 bits unsigned integer). |
| 24 | */ | 26 | */ |
| 25 | public final class UdpPortCriterion implements Criterion { | 27 | public final class UdpPortCriterion implements Criterion { |
| 26 | - private static final int MASK = 0xffff; | 28 | + private final TpPort udpPort; |
| 27 | - private final int udpPort; // Port value: 16 bits | ||
| 28 | private final Type type; | 29 | private final Type type; |
| 29 | 30 | ||
| 30 | /** | 31 | /** |
| 31 | * Constructor. | 32 | * Constructor. |
| 32 | * | 33 | * |
| 33 | - * @param udpPort the UDP port to match (16 bits unsigned integer) | 34 | + * @param udpPort the UDP port to match |
| 34 | * @param type the match type. Should be either Type.UDP_SRC or | 35 | * @param type the match type. Should be either Type.UDP_SRC or |
| 35 | * Type.UDP_DST | 36 | * Type.UDP_DST |
| 36 | */ | 37 | */ |
| 37 | - UdpPortCriterion(int udpPort, Type type) { | 38 | + UdpPortCriterion(TpPort udpPort, Type type) { |
| 38 | - this.udpPort = udpPort & MASK; | 39 | + this.udpPort = udpPort; |
| 39 | this.type = type; | 40 | this.type = type; |
| 40 | } | 41 | } |
| 41 | 42 | ||
| ... | @@ -47,9 +48,9 @@ public final class UdpPortCriterion implements Criterion { | ... | @@ -47,9 +48,9 @@ public final class UdpPortCriterion implements Criterion { |
| 47 | /** | 48 | /** |
| 48 | * Gets the UDP port to match. | 49 | * Gets the UDP port to match. |
| 49 | * | 50 | * |
| 50 | - * @return the UDP port to match (16 bits unsigned integer) | 51 | + * @return the UDP port to match |
| 51 | */ | 52 | */ |
| 52 | - public int udpPort() { | 53 | + public TpPort udpPort() { |
| 53 | return this.udpPort; | 54 | return this.udpPort; |
| 54 | } | 55 | } |
| 55 | 56 | ... | ... |
| ... | @@ -19,6 +19,7 @@ import org.onlab.packet.EthType; | ... | @@ -19,6 +19,7 @@ import org.onlab.packet.EthType; |
| 19 | import org.onlab.packet.IpAddress; | 19 | import org.onlab.packet.IpAddress; |
| 20 | import org.onlab.packet.MacAddress; | 20 | import org.onlab.packet.MacAddress; |
| 21 | import org.onlab.packet.MplsLabel; | 21 | import org.onlab.packet.MplsLabel; |
| 22 | +import org.onlab.packet.TpPort; | ||
| 22 | import org.onlab.packet.VlanId; | 23 | import org.onlab.packet.VlanId; |
| 23 | import org.onosproject.core.GroupId; | 24 | import org.onosproject.core.GroupId; |
| 24 | import org.onosproject.net.IndexedLambda; | 25 | import org.onosproject.net.IndexedLambda; |
| ... | @@ -383,9 +384,22 @@ public final class Instructions { | ... | @@ -383,9 +384,22 @@ public final class Instructions { |
| 383 | * | 384 | * |
| 384 | * @param port the TCP port number to modify to | 385 | * @param port the TCP port number to modify to |
| 385 | * @return a L4 modification | 386 | * @return a L4 modification |
| 387 | + * @deprecated in Drake release | ||
| 386 | */ | 388 | */ |
| 389 | + @Deprecated | ||
| 387 | public static L4ModificationInstruction modTcpSrc(short port) { | 390 | public static L4ModificationInstruction modTcpSrc(short port) { |
| 388 | checkNotNull(port, "Src TCP port cannot be null"); | 391 | checkNotNull(port, "Src TCP port cannot be null"); |
| 392 | + return new ModTransportPortInstruction(L4SubType.TCP_SRC, TpPort.tpPort(port)); | ||
| 393 | + } | ||
| 394 | + | ||
| 395 | + /** | ||
| 396 | + * Creates a TCP src modification. | ||
| 397 | + * | ||
| 398 | + * @param port the TCP port number to modify to | ||
| 399 | + * @return a L4 modification | ||
| 400 | + */ | ||
| 401 | + public static L4ModificationInstruction modTcpSrc(TpPort port) { | ||
| 402 | + checkNotNull(port, "Src TCP port cannot be null"); | ||
| 389 | return new ModTransportPortInstruction(L4SubType.TCP_SRC, port); | 403 | return new ModTransportPortInstruction(L4SubType.TCP_SRC, port); |
| 390 | } | 404 | } |
| 391 | 405 | ||
| ... | @@ -394,9 +408,22 @@ public final class Instructions { | ... | @@ -394,9 +408,22 @@ public final class Instructions { |
| 394 | * | 408 | * |
| 395 | * @param port the TCP port number to modify to | 409 | * @param port the TCP port number to modify to |
| 396 | * @return a L4 modification | 410 | * @return a L4 modification |
| 411 | + * @deprecated in Drake release | ||
| 397 | */ | 412 | */ |
| 413 | + @Deprecated | ||
| 398 | public static L4ModificationInstruction modTcpDst(short port) { | 414 | public static L4ModificationInstruction modTcpDst(short port) { |
| 399 | checkNotNull(port, "Dst TCP port cannot be null"); | 415 | checkNotNull(port, "Dst TCP port cannot be null"); |
| 416 | + return new ModTransportPortInstruction(L4SubType.TCP_DST, TpPort.tpPort(port)); | ||
| 417 | + } | ||
| 418 | + | ||
| 419 | + /** | ||
| 420 | + * Creates a TCP dst modification. | ||
| 421 | + * | ||
| 422 | + * @param port the TCP port number to modify to | ||
| 423 | + * @return a L4 modification | ||
| 424 | + */ | ||
| 425 | + public static L4ModificationInstruction modTcpDst(TpPort port) { | ||
| 426 | + checkNotNull(port, "Dst TCP port cannot be null"); | ||
| 400 | return new ModTransportPortInstruction(L4SubType.TCP_DST, port); | 427 | return new ModTransportPortInstruction(L4SubType.TCP_DST, port); |
| 401 | } | 428 | } |
| 402 | 429 | ||
| ... | @@ -405,9 +432,22 @@ public final class Instructions { | ... | @@ -405,9 +432,22 @@ public final class Instructions { |
| 405 | * | 432 | * |
| 406 | * @param port the UDP port number to modify to | 433 | * @param port the UDP port number to modify to |
| 407 | * @return a L4 modification | 434 | * @return a L4 modification |
| 435 | + * @deprecated in Drake release | ||
| 408 | */ | 436 | */ |
| 437 | + @Deprecated | ||
| 409 | public static L4ModificationInstruction modUdpSrc(short port) { | 438 | public static L4ModificationInstruction modUdpSrc(short port) { |
| 410 | checkNotNull(port, "Src UDP port cannot be null"); | 439 | checkNotNull(port, "Src UDP port cannot be null"); |
| 440 | + return new ModTransportPortInstruction(L4SubType.UDP_SRC, TpPort.tpPort(port)); | ||
| 441 | + } | ||
| 442 | + | ||
| 443 | + /** | ||
| 444 | + * Creates a UDP src modification. | ||
| 445 | + * | ||
| 446 | + * @param port the UDP port number to modify to | ||
| 447 | + * @return a L4 modification | ||
| 448 | + */ | ||
| 449 | + public static L4ModificationInstruction modUdpSrc(TpPort port) { | ||
| 450 | + checkNotNull(port, "Src UDP port cannot be null"); | ||
| 411 | return new ModTransportPortInstruction(L4SubType.UDP_SRC, port); | 451 | return new ModTransportPortInstruction(L4SubType.UDP_SRC, port); |
| 412 | } | 452 | } |
| 413 | 453 | ||
| ... | @@ -416,9 +456,22 @@ public final class Instructions { | ... | @@ -416,9 +456,22 @@ public final class Instructions { |
| 416 | * | 456 | * |
| 417 | * @param port the UDP port number to modify to | 457 | * @param port the UDP port number to modify to |
| 418 | * @return a L4 modification | 458 | * @return a L4 modification |
| 459 | + * @deprecated in Drake release | ||
| 419 | */ | 460 | */ |
| 461 | + @Deprecated | ||
| 420 | public static L4ModificationInstruction modUdpDst(short port) { | 462 | public static L4ModificationInstruction modUdpDst(short port) { |
| 421 | checkNotNull(port, "Dst UDP port cannot be null"); | 463 | checkNotNull(port, "Dst UDP port cannot be null"); |
| 464 | + return new ModTransportPortInstruction(L4SubType.UDP_DST, TpPort.tpPort(port)); | ||
| 465 | + } | ||
| 466 | + | ||
| 467 | + /** | ||
| 468 | + * Creates a UDP dst modification. | ||
| 469 | + * | ||
| 470 | + * @param port the UDP port number to modify to | ||
| 471 | + * @return a L4 modification | ||
| 472 | + */ | ||
| 473 | + public static L4ModificationInstruction modUdpDst(TpPort port) { | ||
| 474 | + checkNotNull(port, "Dst UDP port cannot be null"); | ||
| 422 | return new ModTransportPortInstruction(L4SubType.UDP_DST, port); | 475 | return new ModTransportPortInstruction(L4SubType.UDP_DST, port); |
| 423 | } | 476 | } |
| 424 | 477 | ... | ... |
| ... | @@ -15,6 +15,8 @@ | ... | @@ -15,6 +15,8 @@ |
| 15 | */ | 15 | */ |
| 16 | package org.onosproject.net.flow.instructions; | 16 | package org.onosproject.net.flow.instructions; |
| 17 | 17 | ||
| 18 | +import org.onlab.packet.TpPort; | ||
| 19 | + | ||
| 18 | import java.util.Objects; | 20 | import java.util.Objects; |
| 19 | 21 | ||
| 20 | import static com.google.common.base.MoreObjects.toStringHelper; | 22 | import static com.google.common.base.MoreObjects.toStringHelper; |
| ... | @@ -69,9 +71,9 @@ public abstract class L4ModificationInstruction implements Instruction { | ... | @@ -69,9 +71,9 @@ public abstract class L4ModificationInstruction implements Instruction { |
| 69 | public static final class ModTransportPortInstruction extends L4ModificationInstruction { | 71 | public static final class ModTransportPortInstruction extends L4ModificationInstruction { |
| 70 | 72 | ||
| 71 | private final L4SubType subtype; | 73 | private final L4SubType subtype; |
| 72 | - private final short port; | 74 | + private final TpPort port; |
| 73 | 75 | ||
| 74 | - public ModTransportPortInstruction(L4SubType subtype, short port) { | 76 | + public ModTransportPortInstruction(L4SubType subtype, TpPort port) { |
| 75 | this.subtype = subtype; | 77 | this.subtype = subtype; |
| 76 | this.port = port; | 78 | this.port = port; |
| 77 | } | 79 | } |
| ... | @@ -81,7 +83,7 @@ public abstract class L4ModificationInstruction implements Instruction { | ... | @@ -81,7 +83,7 @@ public abstract class L4ModificationInstruction implements Instruction { |
| 81 | return this.subtype; | 83 | return this.subtype; |
| 82 | } | 84 | } |
| 83 | 85 | ||
| 84 | - public short port() { | 86 | + public TpPort port() { |
| 85 | return this.port; | 87 | return this.port; |
| 86 | } | 88 | } |
| 87 | 89 | ... | ... |
| ... | @@ -22,15 +22,16 @@ import org.hamcrest.Factory; | ... | @@ -22,15 +22,16 @@ import org.hamcrest.Factory; |
| 22 | import org.hamcrest.Matcher; | 22 | import org.hamcrest.Matcher; |
| 23 | import org.hamcrest.TypeSafeMatcher; | 23 | import org.hamcrest.TypeSafeMatcher; |
| 24 | import org.junit.Test; | 24 | import org.junit.Test; |
| 25 | -import org.onosproject.net.IndexedLambda; | ||
| 26 | -import org.onosproject.net.PortNumber; | ||
| 27 | -import org.onosproject.net.flow.criteria.Criteria; | ||
| 28 | -import org.onosproject.net.flow.criteria.Criterion; | ||
| 29 | import org.onlab.packet.Ip6Address; | 25 | import org.onlab.packet.Ip6Address; |
| 30 | import org.onlab.packet.IpPrefix; | 26 | import org.onlab.packet.IpPrefix; |
| 31 | import org.onlab.packet.MacAddress; | 27 | import org.onlab.packet.MacAddress; |
| 32 | import org.onlab.packet.MplsLabel; | 28 | import org.onlab.packet.MplsLabel; |
| 29 | +import org.onlab.packet.TpPort; | ||
| 33 | import org.onlab.packet.VlanId; | 30 | import org.onlab.packet.VlanId; |
| 31 | +import org.onosproject.net.IndexedLambda; | ||
| 32 | +import org.onosproject.net.PortNumber; | ||
| 33 | +import org.onosproject.net.flow.criteria.Criteria; | ||
| 34 | +import org.onosproject.net.flow.criteria.Criterion; | ||
| 34 | 35 | ||
| 35 | import com.google.common.testing.EqualsTester; | 36 | import com.google.common.testing.EqualsTester; |
| 36 | 37 | ||
| ... | @@ -196,27 +197,27 @@ public class DefaultTrafficSelectorTest { | ... | @@ -196,27 +197,27 @@ public class DefaultTrafficSelectorTest { |
| 196 | assertThat(selector, hasCriterionWithType(Type.IPV4_DST)); | 197 | assertThat(selector, hasCriterionWithType(Type.IPV4_DST)); |
| 197 | 198 | ||
| 198 | selector = DefaultTrafficSelector.builder() | 199 | selector = DefaultTrafficSelector.builder() |
| 199 | - .matchTcpSrc(shortValue).build(); | 200 | + .matchTcpSrc(TpPort.tpPort(intValue)).build(); |
| 200 | assertThat(selector, hasCriterionWithType(Type.TCP_SRC)); | 201 | assertThat(selector, hasCriterionWithType(Type.TCP_SRC)); |
| 201 | 202 | ||
| 202 | selector = DefaultTrafficSelector.builder() | 203 | selector = DefaultTrafficSelector.builder() |
| 203 | - .matchTcpDst(shortValue).build(); | 204 | + .matchTcpDst(TpPort.tpPort(intValue)).build(); |
| 204 | assertThat(selector, hasCriterionWithType(Type.TCP_DST)); | 205 | assertThat(selector, hasCriterionWithType(Type.TCP_DST)); |
| 205 | 206 | ||
| 206 | selector = DefaultTrafficSelector.builder() | 207 | selector = DefaultTrafficSelector.builder() |
| 207 | - .matchUdpSrc(shortValue).build(); | 208 | + .matchUdpSrc(TpPort.tpPort(intValue)).build(); |
| 208 | assertThat(selector, hasCriterionWithType(Type.UDP_SRC)); | 209 | assertThat(selector, hasCriterionWithType(Type.UDP_SRC)); |
| 209 | 210 | ||
| 210 | selector = DefaultTrafficSelector.builder() | 211 | selector = DefaultTrafficSelector.builder() |
| 211 | - .matchUdpDst(shortValue).build(); | 212 | + .matchUdpDst(TpPort.tpPort(intValue)).build(); |
| 212 | assertThat(selector, hasCriterionWithType(Type.UDP_DST)); | 213 | assertThat(selector, hasCriterionWithType(Type.UDP_DST)); |
| 213 | 214 | ||
| 214 | selector = DefaultTrafficSelector.builder() | 215 | selector = DefaultTrafficSelector.builder() |
| 215 | - .matchSctpSrc(shortValue).build(); | 216 | + .matchSctpSrc(TpPort.tpPort(intValue)).build(); |
| 216 | assertThat(selector, hasCriterionWithType(Type.SCTP_SRC)); | 217 | assertThat(selector, hasCriterionWithType(Type.SCTP_SRC)); |
| 217 | 218 | ||
| 218 | selector = DefaultTrafficSelector.builder() | 219 | selector = DefaultTrafficSelector.builder() |
| 219 | - .matchSctpDst(shortValue).build(); | 220 | + .matchSctpDst(TpPort.tpPort(intValue)).build(); |
| 220 | assertThat(selector, hasCriterionWithType(Type.SCTP_DST)); | 221 | assertThat(selector, hasCriterionWithType(Type.SCTP_DST)); |
| 221 | 222 | ||
| 222 | selector = DefaultTrafficSelector.builder() | 223 | selector = DefaultTrafficSelector.builder() | ... | ... |
| ... | @@ -17,15 +17,16 @@ package org.onosproject.net.flow.criteria; | ... | @@ -17,15 +17,16 @@ package org.onosproject.net.flow.criteria; |
| 17 | 17 | ||
| 18 | import org.junit.Test; | 18 | import org.junit.Test; |
| 19 | import org.onlab.packet.EthType; | 19 | import org.onlab.packet.EthType; |
| 20 | -import org.onosproject.net.ChannelSpacing; | ||
| 21 | -import org.onosproject.net.GridType; | ||
| 22 | -import org.onosproject.net.Lambda; | ||
| 23 | -import org.onosproject.net.PortNumber; | ||
| 24 | -import org.onlab.packet.IpPrefix; | ||
| 25 | import org.onlab.packet.Ip6Address; | 20 | import org.onlab.packet.Ip6Address; |
| 21 | +import org.onlab.packet.IpPrefix; | ||
| 26 | import org.onlab.packet.MacAddress; | 22 | import org.onlab.packet.MacAddress; |
| 27 | import org.onlab.packet.MplsLabel; | 23 | import org.onlab.packet.MplsLabel; |
| 24 | +import org.onlab.packet.TpPort; | ||
| 28 | import org.onlab.packet.VlanId; | 25 | import org.onlab.packet.VlanId; |
| 26 | +import org.onosproject.net.ChannelSpacing; | ||
| 27 | +import org.onosproject.net.GridType; | ||
| 28 | +import org.onosproject.net.Lambda; | ||
| 29 | +import org.onosproject.net.PortNumber; | ||
| 29 | 30 | ||
| 30 | import com.google.common.testing.EqualsTester; | 31 | import com.google.common.testing.EqualsTester; |
| 31 | import org.onosproject.net.OchSignalType; | 32 | import org.onosproject.net.OchSignalType; |
| ... | @@ -122,17 +123,19 @@ public class CriteriaTest { | ... | @@ -122,17 +123,19 @@ public class CriteriaTest { |
| 122 | Criterion sameAsMatchIpv61 = Criteria.matchIPSrc(ipv61); | 123 | Criterion sameAsMatchIpv61 = Criteria.matchIPSrc(ipv61); |
| 123 | Criterion matchIpv62 = Criteria.matchIPSrc(ipv62); | 124 | Criterion matchIpv62 = Criteria.matchIPSrc(ipv62); |
| 124 | 125 | ||
| 125 | - Criterion matchTcpPort1 = Criteria.matchTcpSrc(1); | 126 | + private TpPort tpPort1 = TpPort.tpPort(1); |
| 126 | - Criterion sameAsMatchTcpPort1 = Criteria.matchTcpSrc(1); | 127 | + private TpPort tpPort2 = TpPort.tpPort(2); |
| 127 | - Criterion matchTcpPort2 = Criteria.matchTcpDst(2); | 128 | + Criterion matchTcpPort1 = Criteria.matchTcpSrc(tpPort1); |
| 129 | + Criterion sameAsMatchTcpPort1 = Criteria.matchTcpSrc(tpPort1); | ||
| 130 | + Criterion matchTcpPort2 = Criteria.matchTcpDst(tpPort2); | ||
| 128 | 131 | ||
| 129 | - Criterion matchUdpPort1 = Criteria.matchUdpSrc(1); | 132 | + Criterion matchUdpPort1 = Criteria.matchUdpSrc(tpPort1); |
| 130 | - Criterion sameAsMatchUdpPort1 = Criteria.matchUdpSrc(1); | 133 | + Criterion sameAsMatchUdpPort1 = Criteria.matchUdpSrc(tpPort1); |
| 131 | - Criterion matchUdpPort2 = Criteria.matchUdpDst(2); | 134 | + Criterion matchUdpPort2 = Criteria.matchUdpDst(tpPort2); |
| 132 | 135 | ||
| 133 | - Criterion matchSctpPort1 = Criteria.matchSctpSrc(1); | 136 | + Criterion matchSctpPort1 = Criteria.matchSctpSrc(tpPort1); |
| 134 | - Criterion sameAsMatchSctpPort1 = Criteria.matchSctpSrc(1); | 137 | + Criterion sameAsMatchSctpPort1 = Criteria.matchSctpSrc(tpPort1); |
| 135 | - Criterion matchSctpPort2 = Criteria.matchSctpDst(2); | 138 | + Criterion matchSctpPort2 = Criteria.matchSctpDst(tpPort2); |
| 136 | 139 | ||
| 137 | short icmpType1 = 1; | 140 | short icmpType1 = 1; |
| 138 | short icmpType2 = 2; | 141 | short icmpType2 = 2; |
| ... | @@ -652,12 +655,12 @@ public class CriteriaTest { | ... | @@ -652,12 +655,12 @@ public class CriteriaTest { |
| 652 | */ | 655 | */ |
| 653 | @Test | 656 | @Test |
| 654 | public void testMatchTcpSrcMethod() { | 657 | public void testMatchTcpSrcMethod() { |
| 655 | - Criterion matchTcpSrc = Criteria.matchTcpSrc(1); | 658 | + Criterion matchTcpSrc = Criteria.matchTcpSrc(tpPort1); |
| 656 | TcpPortCriterion tcpPortCriterion = | 659 | TcpPortCriterion tcpPortCriterion = |
| 657 | checkAndConvert(matchTcpSrc, | 660 | checkAndConvert(matchTcpSrc, |
| 658 | Criterion.Type.TCP_SRC, | 661 | Criterion.Type.TCP_SRC, |
| 659 | TcpPortCriterion.class); | 662 | TcpPortCriterion.class); |
| 660 | - assertThat(tcpPortCriterion.tcpPort(), is(equalTo(1))); | 663 | + assertThat(tcpPortCriterion.tcpPort(), is(equalTo(tpPort1))); |
| 661 | } | 664 | } |
| 662 | 665 | ||
| 663 | /** | 666 | /** |
| ... | @@ -665,12 +668,12 @@ public class CriteriaTest { | ... | @@ -665,12 +668,12 @@ public class CriteriaTest { |
| 665 | */ | 668 | */ |
| 666 | @Test | 669 | @Test |
| 667 | public void testMatchTcpDstMethod() { | 670 | public void testMatchTcpDstMethod() { |
| 668 | - Criterion matchTcpDst = Criteria.matchTcpDst(1); | 671 | + Criterion matchTcpDst = Criteria.matchTcpDst(tpPort1); |
| 669 | TcpPortCriterion tcpPortCriterion = | 672 | TcpPortCriterion tcpPortCriterion = |
| 670 | checkAndConvert(matchTcpDst, | 673 | checkAndConvert(matchTcpDst, |
| 671 | Criterion.Type.TCP_DST, | 674 | Criterion.Type.TCP_DST, |
| 672 | TcpPortCriterion.class); | 675 | TcpPortCriterion.class); |
| 673 | - assertThat(tcpPortCriterion.tcpPort(), is(equalTo(1))); | 676 | + assertThat(tcpPortCriterion.tcpPort(), is(equalTo(tpPort1))); |
| 674 | } | 677 | } |
| 675 | 678 | ||
| 676 | /** | 679 | /** |
| ... | @@ -691,12 +694,12 @@ public class CriteriaTest { | ... | @@ -691,12 +694,12 @@ public class CriteriaTest { |
| 691 | */ | 694 | */ |
| 692 | @Test | 695 | @Test |
| 693 | public void testMatchUdpSrcMethod() { | 696 | public void testMatchUdpSrcMethod() { |
| 694 | - Criterion matchUdpSrc = Criteria.matchUdpSrc(1); | 697 | + Criterion matchUdpSrc = Criteria.matchUdpSrc(tpPort1); |
| 695 | UdpPortCriterion udpPortCriterion = | 698 | UdpPortCriterion udpPortCriterion = |
| 696 | checkAndConvert(matchUdpSrc, | 699 | checkAndConvert(matchUdpSrc, |
| 697 | Criterion.Type.UDP_SRC, | 700 | Criterion.Type.UDP_SRC, |
| 698 | UdpPortCriterion.class); | 701 | UdpPortCriterion.class); |
| 699 | - assertThat(udpPortCriterion.udpPort(), is(equalTo(1))); | 702 | + assertThat(udpPortCriterion.udpPort(), is(equalTo(tpPort1))); |
| 700 | } | 703 | } |
| 701 | 704 | ||
| 702 | /** | 705 | /** |
| ... | @@ -704,12 +707,12 @@ public class CriteriaTest { | ... | @@ -704,12 +707,12 @@ public class CriteriaTest { |
| 704 | */ | 707 | */ |
| 705 | @Test | 708 | @Test |
| 706 | public void testMatchUdpDstMethod() { | 709 | public void testMatchUdpDstMethod() { |
| 707 | - Criterion matchUdpDst = Criteria.matchUdpDst(1); | 710 | + Criterion matchUdpDst = Criteria.matchUdpDst(tpPort1); |
| 708 | UdpPortCriterion udpPortCriterion = | 711 | UdpPortCriterion udpPortCriterion = |
| 709 | checkAndConvert(matchUdpDst, | 712 | checkAndConvert(matchUdpDst, |
| 710 | Criterion.Type.UDP_DST, | 713 | Criterion.Type.UDP_DST, |
| 711 | UdpPortCriterion.class); | 714 | UdpPortCriterion.class); |
| 712 | - assertThat(udpPortCriterion.udpPort(), is(equalTo(1))); | 715 | + assertThat(udpPortCriterion.udpPort(), is(equalTo(tpPort1))); |
| 713 | } | 716 | } |
| 714 | 717 | ||
| 715 | /** | 718 | /** |
| ... | @@ -730,12 +733,12 @@ public class CriteriaTest { | ... | @@ -730,12 +733,12 @@ public class CriteriaTest { |
| 730 | */ | 733 | */ |
| 731 | @Test | 734 | @Test |
| 732 | public void testMatchSctpSrcMethod() { | 735 | public void testMatchSctpSrcMethod() { |
| 733 | - Criterion matchSctpSrc = Criteria.matchSctpSrc(1); | 736 | + Criterion matchSctpSrc = Criteria.matchSctpSrc(tpPort1); |
| 734 | SctpPortCriterion sctpPortCriterion = | 737 | SctpPortCriterion sctpPortCriterion = |
| 735 | checkAndConvert(matchSctpSrc, | 738 | checkAndConvert(matchSctpSrc, |
| 736 | Criterion.Type.SCTP_SRC, | 739 | Criterion.Type.SCTP_SRC, |
| 737 | SctpPortCriterion.class); | 740 | SctpPortCriterion.class); |
| 738 | - assertThat(sctpPortCriterion.sctpPort(), is(equalTo(1))); | 741 | + assertThat(sctpPortCriterion.sctpPort(), is(equalTo(tpPort1))); |
| 739 | } | 742 | } |
| 740 | 743 | ||
| 741 | /** | 744 | /** |
| ... | @@ -743,12 +746,12 @@ public class CriteriaTest { | ... | @@ -743,12 +746,12 @@ public class CriteriaTest { |
| 743 | */ | 746 | */ |
| 744 | @Test | 747 | @Test |
| 745 | public void testMatchSctpDstMethod() { | 748 | public void testMatchSctpDstMethod() { |
| 746 | - Criterion matchSctpDst = Criteria.matchSctpDst(1); | 749 | + Criterion matchSctpDst = Criteria.matchSctpDst(tpPort1); |
| 747 | SctpPortCriterion sctpPortCriterion = | 750 | SctpPortCriterion sctpPortCriterion = |
| 748 | checkAndConvert(matchSctpDst, | 751 | checkAndConvert(matchSctpDst, |
| 749 | Criterion.Type.SCTP_DST, | 752 | Criterion.Type.SCTP_DST, |
| 750 | SctpPortCriterion.class); | 753 | SctpPortCriterion.class); |
| 751 | - assertThat(sctpPortCriterion.sctpPort(), is(equalTo(1))); | 754 | + assertThat(sctpPortCriterion.sctpPort(), is(equalTo(tpPort1))); |
| 752 | } | 755 | } |
| 753 | 756 | ||
| 754 | /** | 757 | /** | ... | ... |
| ... | @@ -16,15 +16,16 @@ | ... | @@ -16,15 +16,16 @@ |
| 16 | package org.onosproject.net.flow.instructions; | 16 | package org.onosproject.net.flow.instructions; |
| 17 | 17 | ||
| 18 | import org.junit.Test; | 18 | import org.junit.Test; |
| 19 | +import org.onlab.packet.IpAddress; | ||
| 20 | +import org.onlab.packet.MacAddress; | ||
| 21 | +import org.onlab.packet.MplsLabel; | ||
| 22 | +import org.onlab.packet.TpPort; | ||
| 23 | +import org.onlab.packet.VlanId; | ||
| 19 | import org.onosproject.net.ChannelSpacing; | 24 | import org.onosproject.net.ChannelSpacing; |
| 20 | import org.onosproject.net.GridType; | 25 | import org.onosproject.net.GridType; |
| 21 | import org.onosproject.net.IndexedLambda; | 26 | import org.onosproject.net.IndexedLambda; |
| 22 | import org.onosproject.net.Lambda; | 27 | import org.onosproject.net.Lambda; |
| 23 | import org.onosproject.net.PortNumber; | 28 | import org.onosproject.net.PortNumber; |
| 24 | -import org.onlab.packet.IpAddress; | ||
| 25 | -import org.onlab.packet.MacAddress; | ||
| 26 | -import org.onlab.packet.MplsLabel; | ||
| 27 | -import org.onlab.packet.VlanId; | ||
| 28 | 29 | ||
| 29 | import com.google.common.testing.EqualsTester; | 30 | import com.google.common.testing.EqualsTester; |
| 30 | 31 | ||
| ... | @@ -638,22 +639,22 @@ public class InstructionsTest { | ... | @@ -638,22 +639,22 @@ public class InstructionsTest { |
| 638 | 639 | ||
| 639 | // ModTransportPortInstruction | 640 | // ModTransportPortInstruction |
| 640 | 641 | ||
| 641 | - private final short l4port1 = 1; | 642 | + private final TpPort tpPort1 = TpPort.tpPort(1); |
| 642 | - private final short l4port2 = 2; | 643 | + private final TpPort tpPort2 = TpPort.tpPort(2); |
| 643 | - private final Instruction modTransportPortInstruction1 = Instructions.modTcpSrc(l4port1); | 644 | + private final Instruction modTransportPortInstruction1 = Instructions.modTcpSrc(tpPort1); |
| 644 | - private final Instruction sameAsModTransportPortInstruction1 = Instructions.modTcpSrc(l4port1); | 645 | + private final Instruction sameAsModTransportPortInstruction1 = Instructions.modTcpSrc(tpPort1); |
| 645 | - private final Instruction modTransportPortInstruction2 = Instructions.modTcpSrc(l4port2); | 646 | + private final Instruction modTransportPortInstruction2 = Instructions.modTcpSrc(tpPort2); |
| 646 | 647 | ||
| 647 | /** | 648 | /** |
| 648 | * Test the modTcpSrc() method. | 649 | * Test the modTcpSrc() method. |
| 649 | */ | 650 | */ |
| 650 | @Test | 651 | @Test |
| 651 | public void testModTcpSrcMethod() { | 652 | public void testModTcpSrcMethod() { |
| 652 | - final Instruction instruction = Instructions.modTcpSrc(l4port1); | 653 | + final Instruction instruction = Instructions.modTcpSrc(tpPort1); |
| 653 | final L4ModificationInstruction.ModTransportPortInstruction modTransportPortInstruction = | 654 | final L4ModificationInstruction.ModTransportPortInstruction modTransportPortInstruction = |
| 654 | checkAndConvert(instruction, Instruction.Type.L4MODIFICATION, | 655 | checkAndConvert(instruction, Instruction.Type.L4MODIFICATION, |
| 655 | L4ModificationInstruction.ModTransportPortInstruction.class); | 656 | L4ModificationInstruction.ModTransportPortInstruction.class); |
| 656 | - assertThat(modTransportPortInstruction.port(), is(equalTo(l4port1))); | 657 | + assertThat(modTransportPortInstruction.port(), is(equalTo(tpPort1))); |
| 657 | assertThat(modTransportPortInstruction.subtype(), | 658 | assertThat(modTransportPortInstruction.subtype(), |
| 658 | is(equalTo(L4ModificationInstruction.L4SubType.TCP_SRC))); | 659 | is(equalTo(L4ModificationInstruction.L4SubType.TCP_SRC))); |
| 659 | } | 660 | } |
| ... | @@ -663,11 +664,11 @@ public class InstructionsTest { | ... | @@ -663,11 +664,11 @@ public class InstructionsTest { |
| 663 | */ | 664 | */ |
| 664 | @Test | 665 | @Test |
| 665 | public void testModTcpDstMethod() { | 666 | public void testModTcpDstMethod() { |
| 666 | - final Instruction instruction = Instructions.modTcpDst(l4port1); | 667 | + final Instruction instruction = Instructions.modTcpDst(tpPort1); |
| 667 | final L4ModificationInstruction.ModTransportPortInstruction modTransportPortInstruction = | 668 | final L4ModificationInstruction.ModTransportPortInstruction modTransportPortInstruction = |
| 668 | checkAndConvert(instruction, Instruction.Type.L4MODIFICATION, | 669 | checkAndConvert(instruction, Instruction.Type.L4MODIFICATION, |
| 669 | L4ModificationInstruction.ModTransportPortInstruction.class); | 670 | L4ModificationInstruction.ModTransportPortInstruction.class); |
| 670 | - assertThat(modTransportPortInstruction.port(), is(equalTo(l4port1))); | 671 | + assertThat(modTransportPortInstruction.port(), is(equalTo(tpPort1))); |
| 671 | assertThat(modTransportPortInstruction.subtype(), | 672 | assertThat(modTransportPortInstruction.subtype(), |
| 672 | is(equalTo(L4ModificationInstruction.L4SubType.TCP_DST))); | 673 | is(equalTo(L4ModificationInstruction.L4SubType.TCP_DST))); |
| 673 | } | 674 | } |
| ... | @@ -677,11 +678,11 @@ public class InstructionsTest { | ... | @@ -677,11 +678,11 @@ public class InstructionsTest { |
| 677 | */ | 678 | */ |
| 678 | @Test | 679 | @Test |
| 679 | public void testModUdpSrcMethod() { | 680 | public void testModUdpSrcMethod() { |
| 680 | - final Instruction instruction = Instructions.modUdpSrc(l4port1); | 681 | + final Instruction instruction = Instructions.modUdpSrc(tpPort1); |
| 681 | final L4ModificationInstruction.ModTransportPortInstruction modTransportPortInstruction = | 682 | final L4ModificationInstruction.ModTransportPortInstruction modTransportPortInstruction = |
| 682 | checkAndConvert(instruction, Instruction.Type.L4MODIFICATION, | 683 | checkAndConvert(instruction, Instruction.Type.L4MODIFICATION, |
| 683 | L4ModificationInstruction.ModTransportPortInstruction.class); | 684 | L4ModificationInstruction.ModTransportPortInstruction.class); |
| 684 | - assertThat(modTransportPortInstruction.port(), is(equalTo(l4port1))); | 685 | + assertThat(modTransportPortInstruction.port(), is(equalTo(tpPort1))); |
| 685 | assertThat(modTransportPortInstruction.subtype(), | 686 | assertThat(modTransportPortInstruction.subtype(), |
| 686 | is(equalTo(L4ModificationInstruction.L4SubType.UDP_SRC))); | 687 | is(equalTo(L4ModificationInstruction.L4SubType.UDP_SRC))); |
| 687 | } | 688 | } |
| ... | @@ -691,11 +692,11 @@ public class InstructionsTest { | ... | @@ -691,11 +692,11 @@ public class InstructionsTest { |
| 691 | */ | 692 | */ |
| 692 | @Test | 693 | @Test |
| 693 | public void testModUdpDstMethod() { | 694 | public void testModUdpDstMethod() { |
| 694 | - final Instruction instruction = Instructions.modUdpDst(l4port1); | 695 | + final Instruction instruction = Instructions.modUdpDst(tpPort1); |
| 695 | final L4ModificationInstruction.ModTransportPortInstruction modTransportPortInstruction = | 696 | final L4ModificationInstruction.ModTransportPortInstruction modTransportPortInstruction = |
| 696 | checkAndConvert(instruction, Instruction.Type.L4MODIFICATION, | 697 | checkAndConvert(instruction, Instruction.Type.L4MODIFICATION, |
| 697 | L4ModificationInstruction.ModTransportPortInstruction.class); | 698 | L4ModificationInstruction.ModTransportPortInstruction.class); |
| 698 | - assertThat(modTransportPortInstruction.port(), is(equalTo(l4port1))); | 699 | + assertThat(modTransportPortInstruction.port(), is(equalTo(tpPort1))); |
| 699 | assertThat(modTransportPortInstruction.subtype(), | 700 | assertThat(modTransportPortInstruction.subtype(), |
| 700 | is(equalTo(L4ModificationInstruction.L4SubType.UDP_DST))); | 701 | is(equalTo(L4ModificationInstruction.L4SubType.UDP_DST))); |
| 701 | } | 702 | } | ... | ... |
| ... | @@ -22,6 +22,7 @@ import org.onlab.packet.Ip6Address; | ... | @@ -22,6 +22,7 @@ import org.onlab.packet.Ip6Address; |
| 22 | import org.onlab.packet.IpPrefix; | 22 | import org.onlab.packet.IpPrefix; |
| 23 | import org.onlab.packet.MacAddress; | 23 | import org.onlab.packet.MacAddress; |
| 24 | import org.onlab.packet.MplsLabel; | 24 | import org.onlab.packet.MplsLabel; |
| 25 | +import org.onlab.packet.TpPort; | ||
| 25 | import org.onlab.packet.VlanId; | 26 | import org.onlab.packet.VlanId; |
| 26 | import org.onosproject.net.ChannelSpacing; | 27 | import org.onosproject.net.ChannelSpacing; |
| 27 | import org.onosproject.net.GridType; | 28 | import org.onosproject.net.GridType; |
| ... | @@ -241,8 +242,8 @@ public final class DecodeCriterionCodecHelper { | ... | @@ -241,8 +242,8 @@ public final class DecodeCriterionCodecHelper { |
| 241 | private class TcpSrcDecoder implements CriterionDecoder { | 242 | private class TcpSrcDecoder implements CriterionDecoder { |
| 242 | @Override | 243 | @Override |
| 243 | public Criterion decodeCriterion(ObjectNode json) { | 244 | public Criterion decodeCriterion(ObjectNode json) { |
| 244 | - int tcpPort = nullIsIllegal(json.get(CriterionCodec.TCP_PORT), | 245 | + TpPort tcpPort = TpPort.tpPort(nullIsIllegal(json.get(CriterionCodec.TCP_PORT), |
| 245 | - CriterionCodec.TCP_PORT + MISSING_MEMBER_MESSAGE).asInt(); | 246 | + CriterionCodec.TCP_PORT + MISSING_MEMBER_MESSAGE).asInt()); |
| 246 | return Criteria.matchTcpSrc(tcpPort); | 247 | return Criteria.matchTcpSrc(tcpPort); |
| 247 | } | 248 | } |
| 248 | } | 249 | } |
| ... | @@ -250,8 +251,8 @@ public final class DecodeCriterionCodecHelper { | ... | @@ -250,8 +251,8 @@ public final class DecodeCriterionCodecHelper { |
| 250 | private class TcpDstDecoder implements CriterionDecoder { | 251 | private class TcpDstDecoder implements CriterionDecoder { |
| 251 | @Override | 252 | @Override |
| 252 | public Criterion decodeCriterion(ObjectNode json) { | 253 | public Criterion decodeCriterion(ObjectNode json) { |
| 253 | - int tcpPort = nullIsIllegal(json.get(CriterionCodec.TCP_PORT), | 254 | + TpPort tcpPort = TpPort.tpPort(nullIsIllegal(json.get(CriterionCodec.TCP_PORT), |
| 254 | - CriterionCodec.TCP_PORT + MISSING_MEMBER_MESSAGE).asInt(); | 255 | + CriterionCodec.TCP_PORT + MISSING_MEMBER_MESSAGE).asInt()); |
| 255 | return Criteria.matchTcpDst(tcpPort); | 256 | return Criteria.matchTcpDst(tcpPort); |
| 256 | } | 257 | } |
| 257 | } | 258 | } |
| ... | @@ -259,8 +260,8 @@ public final class DecodeCriterionCodecHelper { | ... | @@ -259,8 +260,8 @@ public final class DecodeCriterionCodecHelper { |
| 259 | private class UdpSrcDecoder implements CriterionDecoder { | 260 | private class UdpSrcDecoder implements CriterionDecoder { |
| 260 | @Override | 261 | @Override |
| 261 | public Criterion decodeCriterion(ObjectNode json) { | 262 | public Criterion decodeCriterion(ObjectNode json) { |
| 262 | - int udpPort = nullIsIllegal(json.get(CriterionCodec.UDP_PORT), | 263 | + TpPort udpPort = TpPort.tpPort(nullIsIllegal(json.get(CriterionCodec.UDP_PORT), |
| 263 | - CriterionCodec.UDP_PORT + MISSING_MEMBER_MESSAGE).asInt(); | 264 | + CriterionCodec.UDP_PORT + MISSING_MEMBER_MESSAGE).asInt()); |
| 264 | return Criteria.matchUdpSrc(udpPort); | 265 | return Criteria.matchUdpSrc(udpPort); |
| 265 | } | 266 | } |
| 266 | } | 267 | } |
| ... | @@ -268,8 +269,8 @@ public final class DecodeCriterionCodecHelper { | ... | @@ -268,8 +269,8 @@ public final class DecodeCriterionCodecHelper { |
| 268 | private class UdpDstDecoder implements CriterionDecoder { | 269 | private class UdpDstDecoder implements CriterionDecoder { |
| 269 | @Override | 270 | @Override |
| 270 | public Criterion decodeCriterion(ObjectNode json) { | 271 | public Criterion decodeCriterion(ObjectNode json) { |
| 271 | - int udpPort = nullIsIllegal(json.get(CriterionCodec.UDP_PORT), | 272 | + TpPort udpPort = TpPort.tpPort(nullIsIllegal(json.get(CriterionCodec.UDP_PORT), |
| 272 | - CriterionCodec.UDP_PORT + MISSING_MEMBER_MESSAGE).asInt(); | 273 | + CriterionCodec.UDP_PORT + MISSING_MEMBER_MESSAGE).asInt()); |
| 273 | return Criteria.matchUdpDst(udpPort); | 274 | return Criteria.matchUdpDst(udpPort); |
| 274 | } | 275 | } |
| 275 | } | 276 | } |
| ... | @@ -277,8 +278,8 @@ public final class DecodeCriterionCodecHelper { | ... | @@ -277,8 +278,8 @@ public final class DecodeCriterionCodecHelper { |
| 277 | private class SctpSrcDecoder implements CriterionDecoder { | 278 | private class SctpSrcDecoder implements CriterionDecoder { |
| 278 | @Override | 279 | @Override |
| 279 | public Criterion decodeCriterion(ObjectNode json) { | 280 | public Criterion decodeCriterion(ObjectNode json) { |
| 280 | - int sctpPort = nullIsIllegal(json.get(CriterionCodec.SCTP_PORT), | 281 | + TpPort sctpPort = TpPort.tpPort(nullIsIllegal(json.get(CriterionCodec.SCTP_PORT), |
| 281 | - CriterionCodec.SCTP_PORT + MISSING_MEMBER_MESSAGE).asInt(); | 282 | + CriterionCodec.SCTP_PORT + MISSING_MEMBER_MESSAGE).asInt()); |
| 282 | return Criteria.matchSctpSrc(sctpPort); | 283 | return Criteria.matchSctpSrc(sctpPort); |
| 283 | } | 284 | } |
| 284 | } | 285 | } |
| ... | @@ -286,8 +287,8 @@ public final class DecodeCriterionCodecHelper { | ... | @@ -286,8 +287,8 @@ public final class DecodeCriterionCodecHelper { |
| 286 | private class SctpDstDecoder implements CriterionDecoder { | 287 | private class SctpDstDecoder implements CriterionDecoder { |
| 287 | @Override | 288 | @Override |
| 288 | public Criterion decodeCriterion(ObjectNode json) { | 289 | public Criterion decodeCriterion(ObjectNode json) { |
| 289 | - int sctpPort = nullIsIllegal(json.get(CriterionCodec.SCTP_PORT), | 290 | + TpPort sctpPort = TpPort.tpPort(nullIsIllegal(json.get(CriterionCodec.SCTP_PORT), |
| 290 | - CriterionCodec.SCTP_PORT + MISSING_MEMBER_MESSAGE).asInt(); | 291 | + CriterionCodec.SCTP_PORT + MISSING_MEMBER_MESSAGE).asInt()); |
| 291 | return Criteria.matchSctpDst(sctpPort); | 292 | return Criteria.matchSctpDst(sctpPort); |
| 292 | } | 293 | } |
| 293 | } | 294 | } | ... | ... |
| ... | @@ -228,7 +228,7 @@ public final class EncodeCriterionCodecHelper { | ... | @@ -228,7 +228,7 @@ public final class EncodeCriterionCodecHelper { |
| 228 | public ObjectNode encodeCriterion(ObjectNode root, Criterion criterion) { | 228 | public ObjectNode encodeCriterion(ObjectNode root, Criterion criterion) { |
| 229 | final TcpPortCriterion tcpPortCriterion = | 229 | final TcpPortCriterion tcpPortCriterion = |
| 230 | (TcpPortCriterion) criterion; | 230 | (TcpPortCriterion) criterion; |
| 231 | - return root.put(CriterionCodec.TCP_PORT, tcpPortCriterion.tcpPort()); | 231 | + return root.put(CriterionCodec.TCP_PORT, tcpPortCriterion.tcpPort().toInt()); |
| 232 | } | 232 | } |
| 233 | } | 233 | } |
| 234 | 234 | ||
| ... | @@ -237,7 +237,7 @@ public final class EncodeCriterionCodecHelper { | ... | @@ -237,7 +237,7 @@ public final class EncodeCriterionCodecHelper { |
| 237 | public ObjectNode encodeCriterion(ObjectNode root, Criterion criterion) { | 237 | public ObjectNode encodeCriterion(ObjectNode root, Criterion criterion) { |
| 238 | final UdpPortCriterion udpPortCriterion = | 238 | final UdpPortCriterion udpPortCriterion = |
| 239 | (UdpPortCriterion) criterion; | 239 | (UdpPortCriterion) criterion; |
| 240 | - return root.put(CriterionCodec.UDP_PORT, udpPortCriterion.udpPort()); | 240 | + return root.put(CriterionCodec.UDP_PORT, udpPortCriterion.udpPort().toInt()); |
| 241 | } | 241 | } |
| 242 | } | 242 | } |
| 243 | 243 | ||
| ... | @@ -246,7 +246,7 @@ public final class EncodeCriterionCodecHelper { | ... | @@ -246,7 +246,7 @@ public final class EncodeCriterionCodecHelper { |
| 246 | public ObjectNode encodeCriterion(ObjectNode root, Criterion criterion) { | 246 | public ObjectNode encodeCriterion(ObjectNode root, Criterion criterion) { |
| 247 | final SctpPortCriterion sctpPortCriterion = | 247 | final SctpPortCriterion sctpPortCriterion = |
| 248 | (SctpPortCriterion) criterion; | 248 | (SctpPortCriterion) criterion; |
| 249 | - return root.put(CriterionCodec.SCTP_PORT, sctpPortCriterion.sctpPort()); | 249 | + return root.put(CriterionCodec.SCTP_PORT, sctpPortCriterion.sctpPort().toInt()); |
| 250 | } | 250 | } |
| 251 | } | 251 | } |
| 252 | 252 | ... | ... |
| ... | @@ -23,6 +23,7 @@ import org.onlab.packet.Ip6Address; | ... | @@ -23,6 +23,7 @@ import org.onlab.packet.Ip6Address; |
| 23 | import org.onlab.packet.IpPrefix; | 23 | import org.onlab.packet.IpPrefix; |
| 24 | import org.onlab.packet.MacAddress; | 24 | import org.onlab.packet.MacAddress; |
| 25 | import org.onlab.packet.MplsLabel; | 25 | import org.onlab.packet.MplsLabel; |
| 26 | +import org.onlab.packet.TpPort; | ||
| 26 | import org.onlab.packet.VlanId; | 27 | import org.onlab.packet.VlanId; |
| 27 | import org.onosproject.codec.CodecContext; | 28 | import org.onosproject.codec.CodecContext; |
| 28 | import org.onosproject.codec.JsonCodec; | 29 | import org.onosproject.codec.JsonCodec; |
| ... | @@ -54,6 +55,7 @@ public class CriterionCodecTest { | ... | @@ -54,6 +55,7 @@ public class CriterionCodecTest { |
| 54 | final IpPrefix ipPrefix4 = IpPrefix.valueOf("10.1.1.0/24"); | 55 | final IpPrefix ipPrefix4 = IpPrefix.valueOf("10.1.1.0/24"); |
| 55 | final IpPrefix ipPrefix6 = IpPrefix.valueOf("fe80::/64"); | 56 | final IpPrefix ipPrefix6 = IpPrefix.valueOf("fe80::/64"); |
| 56 | final MacAddress mac1 = MacAddress.valueOf("00:00:11:00:00:01"); | 57 | final MacAddress mac1 = MacAddress.valueOf("00:00:11:00:00:01"); |
| 58 | + final TpPort tpPort = TpPort.tpPort(40000); | ||
| 57 | 59 | ||
| 58 | /** | 60 | /** |
| 59 | * Sets up for each test. Creates a context and fetches the criterion | 61 | * Sets up for each test. Creates a context and fetches the criterion |
| ... | @@ -219,7 +221,7 @@ public class CriterionCodecTest { | ... | @@ -219,7 +221,7 @@ public class CriterionCodecTest { |
| 219 | */ | 221 | */ |
| 220 | @Test | 222 | @Test |
| 221 | public void matchTcpSrcTest() { | 223 | public void matchTcpSrcTest() { |
| 222 | - Criterion criterion = Criteria.matchTcpSrc((short) 40000); | 224 | + Criterion criterion = Criteria.matchTcpSrc(tpPort); |
| 223 | ObjectNode result = criterionCodec.encode(criterion, context); | 225 | ObjectNode result = criterionCodec.encode(criterion, context); |
| 224 | assertThat(result, matchesCriterion(criterion)); | 226 | assertThat(result, matchesCriterion(criterion)); |
| 225 | } | 227 | } |
| ... | @@ -229,7 +231,7 @@ public class CriterionCodecTest { | ... | @@ -229,7 +231,7 @@ public class CriterionCodecTest { |
| 229 | */ | 231 | */ |
| 230 | @Test | 232 | @Test |
| 231 | public void matchTcpDstTest() { | 233 | public void matchTcpDstTest() { |
| 232 | - Criterion criterion = Criteria.matchTcpDst((short) 40000); | 234 | + Criterion criterion = Criteria.matchTcpDst(tpPort); |
| 233 | ObjectNode result = criterionCodec.encode(criterion, context); | 235 | ObjectNode result = criterionCodec.encode(criterion, context); |
| 234 | assertThat(result, matchesCriterion(criterion)); | 236 | assertThat(result, matchesCriterion(criterion)); |
| 235 | } | 237 | } |
| ... | @@ -239,7 +241,7 @@ public class CriterionCodecTest { | ... | @@ -239,7 +241,7 @@ public class CriterionCodecTest { |
| 239 | */ | 241 | */ |
| 240 | @Test | 242 | @Test |
| 241 | public void matchUdpSrcTest() { | 243 | public void matchUdpSrcTest() { |
| 242 | - Criterion criterion = Criteria.matchUdpSrc(40000); | 244 | + Criterion criterion = Criteria.matchUdpSrc(tpPort); |
| 243 | ObjectNode result = criterionCodec.encode(criterion, context); | 245 | ObjectNode result = criterionCodec.encode(criterion, context); |
| 244 | assertThat(result, matchesCriterion(criterion)); | 246 | assertThat(result, matchesCriterion(criterion)); |
| 245 | } | 247 | } |
| ... | @@ -249,7 +251,7 @@ public class CriterionCodecTest { | ... | @@ -249,7 +251,7 @@ public class CriterionCodecTest { |
| 249 | */ | 251 | */ |
| 250 | @Test | 252 | @Test |
| 251 | public void matchUdpDstTest() { | 253 | public void matchUdpDstTest() { |
| 252 | - Criterion criterion = Criteria.matchUdpDst(40000); | 254 | + Criterion criterion = Criteria.matchUdpDst(tpPort); |
| 253 | ObjectNode result = criterionCodec.encode(criterion, context); | 255 | ObjectNode result = criterionCodec.encode(criterion, context); |
| 254 | assertThat(result, matchesCriterion(criterion)); | 256 | assertThat(result, matchesCriterion(criterion)); |
| 255 | } | 257 | } |
| ... | @@ -259,7 +261,7 @@ public class CriterionCodecTest { | ... | @@ -259,7 +261,7 @@ public class CriterionCodecTest { |
| 259 | */ | 261 | */ |
| 260 | @Test | 262 | @Test |
| 261 | public void matchSctpSrcTest() { | 263 | public void matchSctpSrcTest() { |
| 262 | - Criterion criterion = Criteria.matchSctpSrc(40000); | 264 | + Criterion criterion = Criteria.matchSctpSrc(tpPort); |
| 263 | ObjectNode result = criterionCodec.encode(criterion, context); | 265 | ObjectNode result = criterionCodec.encode(criterion, context); |
| 264 | assertThat(result, matchesCriterion(criterion)); | 266 | assertThat(result, matchesCriterion(criterion)); |
| 265 | } | 267 | } |
| ... | @@ -269,7 +271,7 @@ public class CriterionCodecTest { | ... | @@ -269,7 +271,7 @@ public class CriterionCodecTest { |
| 269 | */ | 271 | */ |
| 270 | @Test | 272 | @Test |
| 271 | public void matchSctpDstTest() { | 273 | public void matchSctpDstTest() { |
| 272 | - Criterion criterion = Criteria.matchSctpDst(40000); | 274 | + Criterion criterion = Criteria.matchSctpDst(tpPort); |
| 273 | ObjectNode result = criterionCodec.encode(criterion, context); | 275 | ObjectNode result = criterionCodec.encode(criterion, context); |
| 274 | assertThat(result, matchesCriterion(criterion)); | 276 | assertThat(result, matchesCriterion(criterion)); |
| 275 | } | 277 | } | ... | ... |
| ... | @@ -249,7 +249,7 @@ public final class CriterionJsonMatcher extends | ... | @@ -249,7 +249,7 @@ public final class CriterionJsonMatcher extends |
| 249 | * @return true if the JSON matches the criterion, false otherwise. | 249 | * @return true if the JSON matches the criterion, false otherwise. |
| 250 | */ | 250 | */ |
| 251 | private boolean matchCriterion(TcpPortCriterion criterion) { | 251 | private boolean matchCriterion(TcpPortCriterion criterion) { |
| 252 | - final int tcpPort = criterion.tcpPort(); | 252 | + final int tcpPort = criterion.tcpPort().toInt(); |
| 253 | final int jsonTcpPort = jsonCriterion.get("tcpPort").intValue(); | 253 | final int jsonTcpPort = jsonCriterion.get("tcpPort").intValue(); |
| 254 | if (tcpPort != jsonTcpPort) { | 254 | if (tcpPort != jsonTcpPort) { |
| 255 | description.appendText("tcp port was " | 255 | description.appendText("tcp port was " |
| ... | @@ -266,7 +266,7 @@ public final class CriterionJsonMatcher extends | ... | @@ -266,7 +266,7 @@ public final class CriterionJsonMatcher extends |
| 266 | * @return true if the JSON matches the criterion, false otherwise. | 266 | * @return true if the JSON matches the criterion, false otherwise. |
| 267 | */ | 267 | */ |
| 268 | private boolean matchCriterion(UdpPortCriterion criterion) { | 268 | private boolean matchCriterion(UdpPortCriterion criterion) { |
| 269 | - final int udpPort = criterion.udpPort(); | 269 | + final int udpPort = criterion.udpPort().toInt(); |
| 270 | final int jsonUdpPort = jsonCriterion.get("udpPort").intValue(); | 270 | final int jsonUdpPort = jsonCriterion.get("udpPort").intValue(); |
| 271 | if (udpPort != jsonUdpPort) { | 271 | if (udpPort != jsonUdpPort) { |
| 272 | description.appendText("udp port was " | 272 | description.appendText("udp port was " |
| ... | @@ -283,7 +283,7 @@ public final class CriterionJsonMatcher extends | ... | @@ -283,7 +283,7 @@ public final class CriterionJsonMatcher extends |
| 283 | * @return true if the JSON matches the criterion, false otherwise. | 283 | * @return true if the JSON matches the criterion, false otherwise. |
| 284 | */ | 284 | */ |
| 285 | private boolean matchCriterion(SctpPortCriterion criterion) { | 285 | private boolean matchCriterion(SctpPortCriterion criterion) { |
| 286 | - final int sctpPort = criterion.sctpPort(); | 286 | + final int sctpPort = criterion.sctpPort().toInt(); |
| 287 | final int jsonSctpPort = jsonCriterion.get("sctpPort").intValue(); | 287 | final int jsonSctpPort = jsonCriterion.get("sctpPort").intValue(); |
| 288 | if (sctpPort != jsonSctpPort) { | 288 | if (sctpPort != jsonSctpPort) { |
| 289 | description.appendText("sctp port was " | 289 | description.appendText("sctp port was " | ... | ... |
| ... | @@ -419,27 +419,27 @@ public class FlowRuleCodecTest { | ... | @@ -419,27 +419,27 @@ public class FlowRuleCodecTest { |
| 419 | is((IpPrefix.valueOf("4.2.0.0/32")))); | 419 | is((IpPrefix.valueOf("4.2.0.0/32")))); |
| 420 | 420 | ||
| 421 | criterion = getCriterion(Criterion.Type.TCP_SRC); | 421 | criterion = getCriterion(Criterion.Type.TCP_SRC); |
| 422 | - assertThat(((TcpPortCriterion) criterion).tcpPort(), | 422 | + assertThat(((TcpPortCriterion) criterion).tcpPort().toInt(), |
| 423 | is(80)); | 423 | is(80)); |
| 424 | 424 | ||
| 425 | criterion = getCriterion(Criterion.Type.TCP_DST); | 425 | criterion = getCriterion(Criterion.Type.TCP_DST); |
| 426 | - assertThat(((TcpPortCriterion) criterion).tcpPort(), | 426 | + assertThat(((TcpPortCriterion) criterion).tcpPort().toInt(), |
| 427 | is(443)); | 427 | is(443)); |
| 428 | 428 | ||
| 429 | criterion = getCriterion(Criterion.Type.UDP_SRC); | 429 | criterion = getCriterion(Criterion.Type.UDP_SRC); |
| 430 | - assertThat(((UdpPortCriterion) criterion).udpPort(), | 430 | + assertThat(((UdpPortCriterion) criterion).udpPort().toInt(), |
| 431 | is(180)); | 431 | is(180)); |
| 432 | 432 | ||
| 433 | criterion = getCriterion(Criterion.Type.UDP_DST); | 433 | criterion = getCriterion(Criterion.Type.UDP_DST); |
| 434 | - assertThat(((UdpPortCriterion) criterion).udpPort(), | 434 | + assertThat(((UdpPortCriterion) criterion).udpPort().toInt(), |
| 435 | is(1443)); | 435 | is(1443)); |
| 436 | 436 | ||
| 437 | criterion = getCriterion(Criterion.Type.SCTP_SRC); | 437 | criterion = getCriterion(Criterion.Type.SCTP_SRC); |
| 438 | - assertThat(((SctpPortCriterion) criterion).sctpPort(), | 438 | + assertThat(((SctpPortCriterion) criterion).sctpPort().toInt(), |
| 439 | is(280)); | 439 | is(280)); |
| 440 | 440 | ||
| 441 | criterion = getCriterion(Criterion.Type.SCTP_DST); | 441 | criterion = getCriterion(Criterion.Type.SCTP_DST); |
| 442 | - assertThat(((SctpPortCriterion) criterion).sctpPort(), | 442 | + assertThat(((SctpPortCriterion) criterion).sctpPort().toInt(), |
| 443 | is(2443)); | 443 | is(2443)); |
| 444 | 444 | ||
| 445 | criterion = getCriterion(Criterion.Type.ICMPV4_TYPE); | 445 | criterion = getCriterion(Criterion.Type.ICMPV4_TYPE); | ... | ... |
| ... | @@ -29,6 +29,7 @@ import org.onlab.packet.Ip6Prefix; | ... | @@ -29,6 +29,7 @@ import org.onlab.packet.Ip6Prefix; |
| 29 | import org.onlab.packet.IpAddress; | 29 | import org.onlab.packet.IpAddress; |
| 30 | import org.onlab.packet.IpPrefix; | 30 | import org.onlab.packet.IpPrefix; |
| 31 | import org.onlab.packet.MacAddress; | 31 | import org.onlab.packet.MacAddress; |
| 32 | +import org.onlab.packet.TpPort; | ||
| 32 | import org.onlab.packet.VlanId; | 33 | import org.onlab.packet.VlanId; |
| 33 | import org.onlab.util.Bandwidth; | 34 | import org.onlab.util.Bandwidth; |
| 34 | import org.onlab.util.Frequency; | 35 | import org.onlab.util.Frequency; |
| ... | @@ -320,6 +321,7 @@ public final class KryoNamespaces { | ... | @@ -320,6 +321,7 @@ public final class KryoNamespaces { |
| 320 | IPEcnCriterion.class, | 321 | IPEcnCriterion.class, |
| 321 | IPProtocolCriterion.class, | 322 | IPProtocolCriterion.class, |
| 322 | IPCriterion.class, | 323 | IPCriterion.class, |
| 324 | + TpPort.class, | ||
| 323 | TcpPortCriterion.class, | 325 | TcpPortCriterion.class, |
| 324 | UdpPortCriterion.class, | 326 | UdpPortCriterion.class, |
| 325 | SctpPortCriterion.class, | 327 | SctpPortCriterion.class, | ... | ... |
| ... | @@ -9,6 +9,7 @@ import com.google.common.cache.RemovalNotification; | ... | @@ -9,6 +9,7 @@ import com.google.common.cache.RemovalNotification; |
| 9 | import org.onlab.osgi.ServiceDirectory; | 9 | import org.onlab.osgi.ServiceDirectory; |
| 10 | import org.onlab.packet.Ethernet; | 10 | import org.onlab.packet.Ethernet; |
| 11 | import org.onlab.packet.IPv4; | 11 | import org.onlab.packet.IPv4; |
| 12 | +import org.onlab.packet.TpPort; | ||
| 12 | import org.onlab.packet.VlanId; | 13 | import org.onlab.packet.VlanId; |
| 13 | import org.onlab.util.KryoNamespace; | 14 | import org.onlab.util.KryoNamespace; |
| 14 | import org.onosproject.core.ApplicationId; | 15 | import org.onosproject.core.ApplicationId; |
| ... | @@ -515,7 +516,7 @@ public class CentecV350Pipeline extends AbstractHandlerBehaviour implements Pipe | ... | @@ -515,7 +516,7 @@ public class CentecV350Pipeline extends AbstractHandlerBehaviour implements Pipe |
| 515 | treatment = DefaultTrafficTreatment.builder(); | 516 | treatment = DefaultTrafficTreatment.builder(); |
| 516 | selector.matchEthType(Ethernet.TYPE_IPV4) | 517 | selector.matchEthType(Ethernet.TYPE_IPV4) |
| 517 | .matchIPProtocol(IPv4.PROTOCOL_TCP) | 518 | .matchIPProtocol(IPv4.PROTOCOL_TCP) |
| 518 | - .matchTcpSrc(BGP_PORT); | 519 | + .matchTcpSrc(TpPort.tpPort(BGP_PORT)); |
| 519 | treatment.punt(); | 520 | treatment.punt(); |
| 520 | rule = DefaultFlowRule.builder() | 521 | rule = DefaultFlowRule.builder() |
| 521 | .forDevice(deviceId) | 522 | .forDevice(deviceId) |
| ... | @@ -531,7 +532,7 @@ public class CentecV350Pipeline extends AbstractHandlerBehaviour implements Pipe | ... | @@ -531,7 +532,7 @@ public class CentecV350Pipeline extends AbstractHandlerBehaviour implements Pipe |
| 531 | treatment = DefaultTrafficTreatment.builder(); | 532 | treatment = DefaultTrafficTreatment.builder(); |
| 532 | selector.matchEthType(Ethernet.TYPE_IPV4) | 533 | selector.matchEthType(Ethernet.TYPE_IPV4) |
| 533 | .matchIPProtocol(IPv4.PROTOCOL_TCP) | 534 | .matchIPProtocol(IPv4.PROTOCOL_TCP) |
| 534 | - .matchTcpDst(BGP_PORT); | 535 | + .matchTcpDst(TpPort.tpPort(BGP_PORT)); |
| 535 | treatment.punt(); | 536 | treatment.punt(); |
| 536 | rule = DefaultFlowRule.builder() | 537 | rule = DefaultFlowRule.builder() |
| 537 | .forDevice(deviceId) | 538 | .forDevice(deviceId) | ... | ... |
| ... | @@ -30,6 +30,7 @@ import org.onlab.packet.Ip6Address; | ... | @@ -30,6 +30,7 @@ import org.onlab.packet.Ip6Address; |
| 30 | import org.onlab.packet.Ip6Prefix; | 30 | import org.onlab.packet.Ip6Prefix; |
| 31 | import org.onlab.packet.MacAddress; | 31 | import org.onlab.packet.MacAddress; |
| 32 | import org.onlab.packet.MplsLabel; | 32 | import org.onlab.packet.MplsLabel; |
| 33 | +import org.onlab.packet.TpPort; | ||
| 33 | import org.onlab.packet.VlanId; | 34 | import org.onlab.packet.VlanId; |
| 34 | import org.onosproject.core.DefaultGroupId; | 35 | import org.onosproject.core.DefaultGroupId; |
| 35 | import org.onosproject.net.DeviceId; | 36 | import org.onosproject.net.DeviceId; |
| ... | @@ -417,22 +418,22 @@ public class FlowEntryBuilder { | ... | @@ -417,22 +418,22 @@ public class FlowEntryBuilder { |
| 417 | case TCP_DST: | 418 | case TCP_DST: |
| 418 | @SuppressWarnings("unchecked") | 419 | @SuppressWarnings("unchecked") |
| 419 | OFOxm<TransportPort> tcpdst = (OFOxm<TransportPort>) oxm; | 420 | OFOxm<TransportPort> tcpdst = (OFOxm<TransportPort>) oxm; |
| 420 | - builder.setTcpDst((short) tcpdst.getValue().getPort()); | 421 | + builder.setTcpDst(TpPort.tpPort(tcpdst.getValue().getPort())); |
| 421 | break; | 422 | break; |
| 422 | case TCP_SRC: | 423 | case TCP_SRC: |
| 423 | @SuppressWarnings("unchecked") | 424 | @SuppressWarnings("unchecked") |
| 424 | OFOxm<TransportPort> tcpsrc = (OFOxm<TransportPort>) oxm; | 425 | OFOxm<TransportPort> tcpsrc = (OFOxm<TransportPort>) oxm; |
| 425 | - builder.setTcpSrc((short) tcpsrc.getValue().getPort()); | 426 | + builder.setTcpSrc(TpPort.tpPort(tcpsrc.getValue().getPort())); |
| 426 | break; | 427 | break; |
| 427 | case UDP_DST: | 428 | case UDP_DST: |
| 428 | @SuppressWarnings("unchecked") | 429 | @SuppressWarnings("unchecked") |
| 429 | OFOxm<TransportPort> udpdst = (OFOxm<TransportPort>) oxm; | 430 | OFOxm<TransportPort> udpdst = (OFOxm<TransportPort>) oxm; |
| 430 | - builder.setUdpDst((short) udpdst.getValue().getPort()); | 431 | + builder.setUdpDst(TpPort.tpPort(udpdst.getValue().getPort())); |
| 431 | break; | 432 | break; |
| 432 | case UDP_SRC: | 433 | case UDP_SRC: |
| 433 | @SuppressWarnings("unchecked") | 434 | @SuppressWarnings("unchecked") |
| 434 | OFOxm<TransportPort> udpsrc = (OFOxm<TransportPort>) oxm; | 435 | OFOxm<TransportPort> udpsrc = (OFOxm<TransportPort>) oxm; |
| 435 | - builder.setUdpSrc((short) udpsrc.getValue().getPort()); | 436 | + builder.setUdpSrc(TpPort.tpPort(udpsrc.getValue().getPort())); |
| 436 | break; | 437 | break; |
| 437 | case ARP_OP: | 438 | case ARP_OP: |
| 438 | case ARP_SHA: | 439 | case ARP_SHA: |
| ... | @@ -588,16 +589,16 @@ public class FlowEntryBuilder { | ... | @@ -588,16 +589,16 @@ public class FlowEntryBuilder { |
| 588 | builder.matchIPDst(ip4Prefix); | 589 | builder.matchIPDst(ip4Prefix); |
| 589 | break; | 590 | break; |
| 590 | case TCP_SRC: | 591 | case TCP_SRC: |
| 591 | - builder.matchTcpSrc((short) match.get(MatchField.TCP_SRC).getPort()); | 592 | + builder.matchTcpSrc(TpPort.tpPort(match.get(MatchField.TCP_SRC).getPort())); |
| 592 | break; | 593 | break; |
| 593 | case TCP_DST: | 594 | case TCP_DST: |
| 594 | - builder.matchTcpDst((short) match.get(MatchField.TCP_DST).getPort()); | 595 | + builder.matchTcpDst(TpPort.tpPort(match.get(MatchField.TCP_DST).getPort())); |
| 595 | break; | 596 | break; |
| 596 | case UDP_SRC: | 597 | case UDP_SRC: |
| 597 | - builder.matchUdpSrc((short) match.get(MatchField.UDP_SRC).getPort()); | 598 | + builder.matchUdpSrc(TpPort.tpPort(match.get(MatchField.UDP_SRC).getPort())); |
| 598 | break; | 599 | break; |
| 599 | case UDP_DST: | 600 | case UDP_DST: |
| 600 | - builder.matchUdpDst((short) match.get(MatchField.UDP_DST).getPort()); | 601 | + builder.matchUdpDst(TpPort.tpPort(match.get(MatchField.UDP_DST).getPort())); |
| 601 | break; | 602 | break; |
| 602 | case MPLS_LABEL: | 603 | case MPLS_LABEL: |
| 603 | builder.matchMplsLabel(MplsLabel.mplsLabel((int) match.get(MatchField.MPLS_LABEL) | 604 | builder.matchMplsLabel(MplsLabel.mplsLabel((int) match.get(MatchField.MPLS_LABEL) |
| ... | @@ -607,10 +608,10 @@ public class FlowEntryBuilder { | ... | @@ -607,10 +608,10 @@ public class FlowEntryBuilder { |
| 607 | builder.matchMplsBos(match.get(MatchField.MPLS_BOS).getValue()); | 608 | builder.matchMplsBos(match.get(MatchField.MPLS_BOS).getValue()); |
| 608 | break; | 609 | break; |
| 609 | case SCTP_SRC: | 610 | case SCTP_SRC: |
| 610 | - builder.matchSctpSrc((short) match.get(MatchField.SCTP_SRC).getPort()); | 611 | + builder.matchSctpSrc(TpPort.tpPort(match.get(MatchField.SCTP_SRC).getPort())); |
| 611 | break; | 612 | break; |
| 612 | case SCTP_DST: | 613 | case SCTP_DST: |
| 613 | - builder.matchSctpDst((short) match.get(MatchField.SCTP_DST).getPort()); | 614 | + builder.matchSctpDst(TpPort.tpPort(match.get(MatchField.SCTP_DST).getPort())); |
| 614 | break; | 615 | break; |
| 615 | case ICMPV4_TYPE: | 616 | case ICMPV4_TYPE: |
| 616 | byte icmpType = (byte) match.get(MatchField.ICMPV4_TYPE).getType(); | 617 | byte icmpType = (byte) match.get(MatchField.ICMPV4_TYPE).getType(); | ... | ... |
| ... | @@ -268,32 +268,32 @@ public abstract class FlowModBuilder { | ... | @@ -268,32 +268,32 @@ public abstract class FlowModBuilder { |
| 268 | case TCP_SRC: | 268 | case TCP_SRC: |
| 269 | tcpPortCriterion = (TcpPortCriterion) c; | 269 | tcpPortCriterion = (TcpPortCriterion) c; |
| 270 | mBuilder.setExact(MatchField.TCP_SRC, | 270 | mBuilder.setExact(MatchField.TCP_SRC, |
| 271 | - TransportPort.of(tcpPortCriterion.tcpPort())); | 271 | + TransportPort.of(tcpPortCriterion.tcpPort().toInt())); |
| 272 | break; | 272 | break; |
| 273 | case TCP_DST: | 273 | case TCP_DST: |
| 274 | tcpPortCriterion = (TcpPortCriterion) c; | 274 | tcpPortCriterion = (TcpPortCriterion) c; |
| 275 | mBuilder.setExact(MatchField.TCP_DST, | 275 | mBuilder.setExact(MatchField.TCP_DST, |
| 276 | - TransportPort.of(tcpPortCriterion.tcpPort())); | 276 | + TransportPort.of(tcpPortCriterion.tcpPort().toInt())); |
| 277 | break; | 277 | break; |
| 278 | case UDP_SRC: | 278 | case UDP_SRC: |
| 279 | udpPortCriterion = (UdpPortCriterion) c; | 279 | udpPortCriterion = (UdpPortCriterion) c; |
| 280 | mBuilder.setExact(MatchField.UDP_SRC, | 280 | mBuilder.setExact(MatchField.UDP_SRC, |
| 281 | - TransportPort.of(udpPortCriterion.udpPort())); | 281 | + TransportPort.of(udpPortCriterion.udpPort().toInt())); |
| 282 | break; | 282 | break; |
| 283 | case UDP_DST: | 283 | case UDP_DST: |
| 284 | udpPortCriterion = (UdpPortCriterion) c; | 284 | udpPortCriterion = (UdpPortCriterion) c; |
| 285 | mBuilder.setExact(MatchField.UDP_DST, | 285 | mBuilder.setExact(MatchField.UDP_DST, |
| 286 | - TransportPort.of(udpPortCriterion.udpPort())); | 286 | + TransportPort.of(udpPortCriterion.udpPort().toInt())); |
| 287 | break; | 287 | break; |
| 288 | case SCTP_SRC: | 288 | case SCTP_SRC: |
| 289 | sctpPortCriterion = (SctpPortCriterion) c; | 289 | sctpPortCriterion = (SctpPortCriterion) c; |
| 290 | mBuilder.setExact(MatchField.SCTP_SRC, | 290 | mBuilder.setExact(MatchField.SCTP_SRC, |
| 291 | - TransportPort.of(sctpPortCriterion.sctpPort())); | 291 | + TransportPort.of(sctpPortCriterion.sctpPort().toInt())); |
| 292 | break; | 292 | break; |
| 293 | case SCTP_DST: | 293 | case SCTP_DST: |
| 294 | sctpPortCriterion = (SctpPortCriterion) c; | 294 | sctpPortCriterion = (SctpPortCriterion) c; |
| 295 | mBuilder.setExact(MatchField.SCTP_DST, | 295 | mBuilder.setExact(MatchField.SCTP_DST, |
| 296 | - TransportPort.of(sctpPortCriterion.sctpPort())); | 296 | + TransportPort.of(sctpPortCriterion.sctpPort().toInt())); |
| 297 | break; | 297 | break; |
| 298 | case ICMPV4_TYPE: | 298 | case ICMPV4_TYPE: |
| 299 | IcmpTypeCriterion icmpType = (IcmpTypeCriterion) c; | 299 | IcmpTypeCriterion icmpType = (IcmpTypeCriterion) c; | ... | ... |
providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/impl/FlowModBuilderVer13.java
| ... | @@ -431,19 +431,19 @@ public class FlowModBuilderVer13 extends FlowModBuilder { | ... | @@ -431,19 +431,19 @@ public class FlowModBuilderVer13 extends FlowModBuilder { |
| 431 | switch (l4m.subtype()) { | 431 | switch (l4m.subtype()) { |
| 432 | case TCP_SRC: | 432 | case TCP_SRC: |
| 433 | tp = (ModTransportPortInstruction) l4m; | 433 | tp = (ModTransportPortInstruction) l4m; |
| 434 | - oxm = factory().oxms().tcpSrc(TransportPort.of(tp.port())); | 434 | + oxm = factory().oxms().tcpSrc(TransportPort.of(tp.port().toInt())); |
| 435 | break; | 435 | break; |
| 436 | case TCP_DST: | 436 | case TCP_DST: |
| 437 | tp = (ModTransportPortInstruction) l4m; | 437 | tp = (ModTransportPortInstruction) l4m; |
| 438 | - oxm = factory().oxms().tcpDst(TransportPort.of(tp.port())); | 438 | + oxm = factory().oxms().tcpDst(TransportPort.of(tp.port().toInt())); |
| 439 | break; | 439 | break; |
| 440 | case UDP_SRC: | 440 | case UDP_SRC: |
| 441 | tp = (ModTransportPortInstruction) l4m; | 441 | tp = (ModTransportPortInstruction) l4m; |
| 442 | - oxm = factory().oxms().udpSrc(TransportPort.of(tp.port())); | 442 | + oxm = factory().oxms().udpSrc(TransportPort.of(tp.port().toInt())); |
| 443 | break; | 443 | break; |
| 444 | case UDP_DST: | 444 | case UDP_DST: |
| 445 | tp = (ModTransportPortInstruction) l4m; | 445 | tp = (ModTransportPortInstruction) l4m; |
| 446 | - oxm = factory().oxms().udpDst(TransportPort.of(tp.port())); | 446 | + oxm = factory().oxms().udpDst(TransportPort.of(tp.port().toInt())); |
| 447 | break; | 447 | break; |
| 448 | default: | 448 | default: |
| 449 | log.warn("Unimplemented action type {}.", l4m.subtype()); | 449 | log.warn("Unimplemented action type {}.", l4m.subtype()); | ... | ... |
| ... | @@ -30,8 +30,8 @@ public class TCP extends BasePacket { | ... | @@ -30,8 +30,8 @@ public class TCP extends BasePacket { |
| 30 | 30 | ||
| 31 | private static final short TCP_HEADER_LENGTH = 20; | 31 | private static final short TCP_HEADER_LENGTH = 20; |
| 32 | 32 | ||
| 33 | - protected short sourcePort; | 33 | + protected int sourcePort; |
| 34 | - protected short destinationPort; | 34 | + protected int destinationPort; |
| 35 | protected int sequence; | 35 | protected int sequence; |
| 36 | protected int acknowledge; | 36 | protected int acknowledge; |
| 37 | protected byte dataOffset; | 37 | protected byte dataOffset; |
| ... | @@ -46,17 +46,17 @@ public class TCP extends BasePacket { | ... | @@ -46,17 +46,17 @@ public class TCP extends BasePacket { |
| 46 | * | 46 | * |
| 47 | * @return TCP source port | 47 | * @return TCP source port |
| 48 | */ | 48 | */ |
| 49 | - public short getSourcePort() { | 49 | + public int getSourcePort() { |
| 50 | return this.sourcePort; | 50 | return this.sourcePort; |
| 51 | } | 51 | } |
| 52 | 52 | ||
| 53 | /** | 53 | /** |
| 54 | * Sets TCP source port. | 54 | * Sets TCP source port. |
| 55 | * | 55 | * |
| 56 | - * @param sourcePort the sourcePort to set | 56 | + * @param sourcePort the sourcePort to set (unsigned 16 bits integer) |
| 57 | * @return this | 57 | * @return this |
| 58 | */ | 58 | */ |
| 59 | - public TCP setSourcePort(final short sourcePort) { | 59 | + public TCP setSourcePort(final int sourcePort) { |
| 60 | this.sourcePort = sourcePort; | 60 | this.sourcePort = sourcePort; |
| 61 | return this; | 61 | return this; |
| 62 | } | 62 | } |
| ... | @@ -66,17 +66,17 @@ public class TCP extends BasePacket { | ... | @@ -66,17 +66,17 @@ public class TCP extends BasePacket { |
| 66 | * | 66 | * |
| 67 | * @return the destinationPort | 67 | * @return the destinationPort |
| 68 | */ | 68 | */ |
| 69 | - public short getDestinationPort() { | 69 | + public int getDestinationPort() { |
| 70 | return this.destinationPort; | 70 | return this.destinationPort; |
| 71 | } | 71 | } |
| 72 | 72 | ||
| 73 | /** | 73 | /** |
| 74 | * Sets TCP destination port. | 74 | * Sets TCP destination port. |
| 75 | * | 75 | * |
| 76 | - * @param destinationPort the destinationPort to set | 76 | + * @param destinationPort the destinationPort to set (unsigned 16 bits integer) |
| 77 | * @return this | 77 | * @return this |
| 78 | */ | 78 | */ |
| 79 | - public TCP setDestinationPort(final short destinationPort) { | 79 | + public TCP setDestinationPort(final int destinationPort) { |
| 80 | this.destinationPort = destinationPort; | 80 | this.destinationPort = destinationPort; |
| 81 | return this; | 81 | return this; |
| 82 | } | 82 | } |
| ... | @@ -270,8 +270,8 @@ public class TCP extends BasePacket { | ... | @@ -270,8 +270,8 @@ public class TCP extends BasePacket { |
| 270 | final byte[] data = new byte[length]; | 270 | final byte[] data = new byte[length]; |
| 271 | final ByteBuffer bb = ByteBuffer.wrap(data); | 271 | final ByteBuffer bb = ByteBuffer.wrap(data); |
| 272 | 272 | ||
| 273 | - bb.putShort(this.sourcePort); | 273 | + bb.putShort((short) (this.sourcePort & 0xffff)); |
| 274 | - bb.putShort(this.destinationPort); | 274 | + bb.putShort((short) (this.destinationPort & 0xffff)); |
| 275 | bb.putInt(this.sequence); | 275 | bb.putInt(this.sequence); |
| 276 | bb.putInt(this.acknowledge); | 276 | bb.putInt(this.acknowledge); |
| 277 | bb.putShort((short) (this.flags | this.dataOffset << 12)); | 277 | bb.putShort((short) (this.flags | this.dataOffset << 12)); |
| ... | @@ -348,8 +348,8 @@ public class TCP extends BasePacket { | ... | @@ -348,8 +348,8 @@ public class TCP extends BasePacket { |
| 348 | public IPacket deserialize(final byte[] data, final int offset, | 348 | public IPacket deserialize(final byte[] data, final int offset, |
| 349 | final int length) { | 349 | final int length) { |
| 350 | final ByteBuffer bb = ByteBuffer.wrap(data, offset, length); | 350 | final ByteBuffer bb = ByteBuffer.wrap(data, offset, length); |
| 351 | - this.sourcePort = bb.getShort(); | 351 | + this.sourcePort = (bb.getShort() & 0xffff); |
| 352 | - this.destinationPort = bb.getShort(); | 352 | + this.destinationPort = (bb.getShort() & 0xffff); |
| 353 | this.sequence = bb.getInt(); | 353 | this.sequence = bb.getInt(); |
| 354 | this.acknowledge = bb.getInt(); | 354 | this.acknowledge = bb.getInt(); |
| 355 | this.flags = bb.getShort(); | 355 | this.flags = bb.getShort(); |
| ... | @@ -435,8 +435,8 @@ public class TCP extends BasePacket { | ... | @@ -435,8 +435,8 @@ public class TCP extends BasePacket { |
| 435 | TCP tcp = new TCP(); | 435 | TCP tcp = new TCP(); |
| 436 | 436 | ||
| 437 | final ByteBuffer bb = ByteBuffer.wrap(data, offset, length); | 437 | final ByteBuffer bb = ByteBuffer.wrap(data, offset, length); |
| 438 | - tcp.sourcePort = bb.getShort(); | 438 | + tcp.sourcePort = (bb.getShort() & 0xffff); |
| 439 | - tcp.destinationPort = bb.getShort(); | 439 | + tcp.destinationPort = (bb.getShort() & 0xffff); |
| 440 | tcp.sequence = bb.getInt(); | 440 | tcp.sequence = bb.getInt(); |
| 441 | tcp.acknowledge = bb.getInt(); | 441 | tcp.acknowledge = bb.getInt(); |
| 442 | tcp.flags = bb.getShort(); | 442 | tcp.flags = bb.getShort(); | ... | ... |
| ... | @@ -46,24 +46,24 @@ public class UDP extends BasePacket { | ... | @@ -46,24 +46,24 @@ public class UDP extends BasePacket { |
| 46 | 46 | ||
| 47 | } | 47 | } |
| 48 | 48 | ||
| 49 | - protected short sourcePort; | 49 | + protected int sourcePort; |
| 50 | - protected short destinationPort; | 50 | + protected int destinationPort; |
| 51 | protected short length; | 51 | protected short length; |
| 52 | protected short checksum; | 52 | protected short checksum; |
| 53 | 53 | ||
| 54 | /** | 54 | /** |
| 55 | * @return the sourcePort | 55 | * @return the sourcePort |
| 56 | */ | 56 | */ |
| 57 | - public short getSourcePort() { | 57 | + public int getSourcePort() { |
| 58 | return this.sourcePort; | 58 | return this.sourcePort; |
| 59 | } | 59 | } |
| 60 | 60 | ||
| 61 | /** | 61 | /** |
| 62 | * @param sourcePort | 62 | * @param sourcePort |
| 63 | - * the sourcePort to set | 63 | + * the sourcePort to set (16 bits unsigned integer) |
| 64 | * @return this | 64 | * @return this |
| 65 | */ | 65 | */ |
| 66 | - public UDP setSourcePort(final short sourcePort) { | 66 | + public UDP setSourcePort(final int sourcePort) { |
| 67 | this.sourcePort = sourcePort; | 67 | this.sourcePort = sourcePort; |
| 68 | return this; | 68 | return this; |
| 69 | } | 69 | } |
| ... | @@ -71,16 +71,16 @@ public class UDP extends BasePacket { | ... | @@ -71,16 +71,16 @@ public class UDP extends BasePacket { |
| 71 | /** | 71 | /** |
| 72 | * @return the destinationPort | 72 | * @return the destinationPort |
| 73 | */ | 73 | */ |
| 74 | - public short getDestinationPort() { | 74 | + public int getDestinationPort() { |
| 75 | return this.destinationPort; | 75 | return this.destinationPort; |
| 76 | } | 76 | } |
| 77 | 77 | ||
| 78 | /** | 78 | /** |
| 79 | * @param destinationPort | 79 | * @param destinationPort |
| 80 | - * the destinationPort to set | 80 | + * the destinationPort to set (16 bits unsigned integer) |
| 81 | * @return this | 81 | * @return this |
| 82 | */ | 82 | */ |
| 83 | - public UDP setDestinationPort(final short destinationPort) { | 83 | + public UDP setDestinationPort(final int destinationPort) { |
| 84 | this.destinationPort = destinationPort; | 84 | this.destinationPort = destinationPort; |
| 85 | return this; | 85 | return this; |
| 86 | } | 86 | } |
| ... | @@ -134,8 +134,8 @@ public class UDP extends BasePacket { | ... | @@ -134,8 +134,8 @@ public class UDP extends BasePacket { |
| 134 | final byte[] data = new byte[this.length]; | 134 | final byte[] data = new byte[this.length]; |
| 135 | final ByteBuffer bb = ByteBuffer.wrap(data); | 135 | final ByteBuffer bb = ByteBuffer.wrap(data); |
| 136 | 136 | ||
| 137 | - bb.putShort(this.sourcePort); | 137 | + bb.putShort((short) (this.sourcePort & 0xffff)); |
| 138 | - bb.putShort(this.destinationPort); | 138 | + bb.putShort((short) (this.destinationPort & 0xffff)); |
| 139 | bb.putShort(this.length); | 139 | bb.putShort(this.length); |
| 140 | bb.putShort(this.checksum); | 140 | bb.putShort(this.checksum); |
| 141 | if (payloadData != null) { | 141 | if (payloadData != null) { |
| ... | @@ -200,8 +200,8 @@ public class UDP extends BasePacket { | ... | @@ -200,8 +200,8 @@ public class UDP extends BasePacket { |
| 200 | public IPacket deserialize(final byte[] data, final int offset, | 200 | public IPacket deserialize(final byte[] data, final int offset, |
| 201 | final int length) { | 201 | final int length) { |
| 202 | final ByteBuffer bb = ByteBuffer.wrap(data, offset, length); | 202 | final ByteBuffer bb = ByteBuffer.wrap(data, offset, length); |
| 203 | - this.sourcePort = bb.getShort(); | 203 | + this.sourcePort = (bb.getShort() & 0xffff); |
| 204 | - this.destinationPort = bb.getShort(); | 204 | + this.destinationPort = (bb.getShort() & 0xffff); |
| 205 | this.length = bb.getShort(); | 205 | this.length = bb.getShort(); |
| 206 | this.checksum = bb.getShort(); | 206 | this.checksum = bb.getShort(); |
| 207 | 207 | ||
| ... | @@ -284,8 +284,8 @@ public class UDP extends BasePacket { | ... | @@ -284,8 +284,8 @@ public class UDP extends BasePacket { |
| 284 | UDP udp = new UDP(); | 284 | UDP udp = new UDP(); |
| 285 | 285 | ||
| 286 | ByteBuffer bb = ByteBuffer.wrap(data, offset, length); | 286 | ByteBuffer bb = ByteBuffer.wrap(data, offset, length); |
| 287 | - udp.sourcePort = bb.getShort(); | 287 | + udp.sourcePort = (bb.getShort() & 0xffff); |
| 288 | - udp.destinationPort = bb.getShort(); | 288 | + udp.destinationPort = (bb.getShort() & 0xffff); |
| 289 | udp.length = bb.getShort(); | 289 | udp.length = bb.getShort(); |
| 290 | udp.checksum = bb.getShort(); | 290 | udp.checksum = bb.getShort(); |
| 291 | 291 | ... | ... |
| ... | @@ -88,8 +88,8 @@ public class TCPTest { | ... | @@ -88,8 +88,8 @@ public class TCPTest { |
| 88 | @Test | 88 | @Test |
| 89 | public void testSerialize() { | 89 | public void testSerialize() { |
| 90 | TCP tcp = new TCP(); | 90 | TCP tcp = new TCP(); |
| 91 | - tcp.setSourcePort((short) 0x50); | 91 | + tcp.setSourcePort(0x50); |
| 92 | - tcp.setDestinationPort((short) 0x60); | 92 | + tcp.setDestinationPort(0x60); |
| 93 | tcp.setSequence(0x10); | 93 | tcp.setSequence(0x10); |
| 94 | tcp.setAcknowledge(0x20); | 94 | tcp.setAcknowledge(0x20); |
| 95 | tcp.setDataOffset((byte) 0x5); | 95 | tcp.setDataOffset((byte) 0x5); |
| ... | @@ -121,8 +121,8 @@ public class TCPTest { | ... | @@ -121,8 +121,8 @@ public class TCPTest { |
| 121 | public void testDeserialize() throws Exception { | 121 | public void testDeserialize() throws Exception { |
| 122 | TCP tcp = deserializer.deserialize(bytePacketTCP4, 0, bytePacketTCP4.length); | 122 | TCP tcp = deserializer.deserialize(bytePacketTCP4, 0, bytePacketTCP4.length); |
| 123 | 123 | ||
| 124 | - assertThat(tcp.getSourcePort(), is((short) 0x50)); | 124 | + assertThat(tcp.getSourcePort(), is(0x50)); |
| 125 | - assertThat(tcp.getDestinationPort(), is((short) 0x60)); | 125 | + assertThat(tcp.getDestinationPort(), is(0x60)); |
| 126 | assertThat(tcp.getSequence(), is(0x10)); | 126 | assertThat(tcp.getSequence(), is(0x10)); |
| 127 | assertThat(tcp.getAcknowledge(), is(0x20)); | 127 | assertThat(tcp.getAcknowledge(), is(0x20)); |
| 128 | assertThat(tcp.getDataOffset(), is((byte) 0x5)); | 128 | assertThat(tcp.getDataOffset(), is((byte) 0x5)); |
| ... | @@ -138,8 +138,8 @@ public class TCPTest { | ... | @@ -138,8 +138,8 @@ public class TCPTest { |
| 138 | @Test | 138 | @Test |
| 139 | public void testEqual() { | 139 | public void testEqual() { |
| 140 | TCP tcp1 = new TCP(); | 140 | TCP tcp1 = new TCP(); |
| 141 | - tcp1.setSourcePort((short) 0x50); | 141 | + tcp1.setSourcePort(0x50); |
| 142 | - tcp1.setDestinationPort((short) 0x60); | 142 | + tcp1.setDestinationPort(0x60); |
| 143 | tcp1.setSequence(0x10); | 143 | tcp1.setSequence(0x10); |
| 144 | tcp1.setAcknowledge(0x20); | 144 | tcp1.setAcknowledge(0x20); |
| 145 | tcp1.setDataOffset((byte) 0x5); | 145 | tcp1.setDataOffset((byte) 0x5); |
| ... | @@ -148,8 +148,8 @@ public class TCPTest { | ... | @@ -148,8 +148,8 @@ public class TCPTest { |
| 148 | tcp1.setUrgentPointer((short) 0x1); | 148 | tcp1.setUrgentPointer((short) 0x1); |
| 149 | 149 | ||
| 150 | TCP tcp2 = new TCP(); | 150 | TCP tcp2 = new TCP(); |
| 151 | - tcp2.setSourcePort((short) 0x70); | 151 | + tcp2.setSourcePort(0x70); |
| 152 | - tcp2.setDestinationPort((short) 0x60); | 152 | + tcp2.setDestinationPort(0x60); |
| 153 | tcp2.setSequence(0x10); | 153 | tcp2.setSequence(0x10); |
| 154 | tcp2.setAcknowledge(0x20); | 154 | tcp2.setAcknowledge(0x20); |
| 155 | tcp2.setDataOffset((byte) 0x5); | 155 | tcp2.setDataOffset((byte) 0x5); | ... | ... |
| ... | @@ -82,8 +82,8 @@ public class UDPTest { | ... | @@ -82,8 +82,8 @@ public class UDPTest { |
| 82 | @Test | 82 | @Test |
| 83 | public void testSerialize() { | 83 | public void testSerialize() { |
| 84 | UDP udp = new UDP(); | 84 | UDP udp = new UDP(); |
| 85 | - udp.setSourcePort((short) 0x50); | 85 | + udp.setSourcePort(0x50); |
| 86 | - udp.setDestinationPort((short) 0x60); | 86 | + udp.setDestinationPort(0x60); |
| 87 | 87 | ||
| 88 | udp.setParent(ipv4); | 88 | udp.setParent(ipv4); |
| 89 | assertArrayEquals(bytePacketUDP4, udp.serialize()); | 89 | assertArrayEquals(bytePacketUDP4, udp.serialize()); |
| ... | @@ -109,8 +109,8 @@ public class UDPTest { | ... | @@ -109,8 +109,8 @@ public class UDPTest { |
| 109 | public void testDeserialize() throws Exception { | 109 | public void testDeserialize() throws Exception { |
| 110 | UDP udp = deserializer.deserialize(bytePacketUDP4, 0, bytePacketUDP4.length); | 110 | UDP udp = deserializer.deserialize(bytePacketUDP4, 0, bytePacketUDP4.length); |
| 111 | 111 | ||
| 112 | - assertThat(udp.getSourcePort(), is((short) 0x50)); | 112 | + assertThat(udp.getSourcePort(), is(0x50)); |
| 113 | - assertThat(udp.getDestinationPort(), is((short) 0x60)); | 113 | + assertThat(udp.getDestinationPort(), is(0x60)); |
| 114 | assertThat(udp.getLength(), is((short) 8)); | 114 | assertThat(udp.getLength(), is((short) 8)); |
| 115 | assertThat(udp.getChecksum(), is((short) 0x7bda)); | 115 | assertThat(udp.getChecksum(), is((short) 0x7bda)); |
| 116 | } | 116 | } |
| ... | @@ -121,12 +121,12 @@ public class UDPTest { | ... | @@ -121,12 +121,12 @@ public class UDPTest { |
| 121 | @Test | 121 | @Test |
| 122 | public void testEqual() { | 122 | public void testEqual() { |
| 123 | UDP udp1 = new UDP(); | 123 | UDP udp1 = new UDP(); |
| 124 | - udp1.setSourcePort((short) 0x50); | 124 | + udp1.setSourcePort(0x50); |
| 125 | - udp1.setDestinationPort((short) 0x60); | 125 | + udp1.setDestinationPort(0x60); |
| 126 | 126 | ||
| 127 | UDP udp2 = new UDP(); | 127 | UDP udp2 = new UDP(); |
| 128 | - udp2.setSourcePort((short) 0x70); | 128 | + udp2.setSourcePort(0x70); |
| 129 | - udp2.setDestinationPort((short) 0x60); | 129 | + udp2.setDestinationPort(0x60); |
| 130 | 130 | ||
| 131 | assertTrue(udp1.equals(udp1)); | 131 | assertTrue(udp1.equals(udp1)); |
| 132 | assertFalse(udp1.equals(udp2)); | 132 | assertFalse(udp1.equals(udp2)); | ... | ... |
-
Please register or login to post a comment