6 package org.pcmm.gates;
8 import org.pcmm.base.IPCMMBaseObject;
10 import java.net.InetAddress;
17 public interface IClassifier extends IPCMMBaseObject {
24 /*ICMP((short) 1), IGMP((short) 2), */
25 NONE((short)0), TCP((short) 6), UDP((short) 17);
31 public static Protocol valueOf(short v) {
49 public short getValue() {
55 * IP Destination Address or IPv6 Destination Address is the termination
56 * point for the IP flow
58 * @return destination IP address.
60 InetAddress getDestinationIPAddress();
62 void setDestinationIPAddress(InetAddress address);
64 short getDestinationPort();
66 void setDestinationPort(short p);
69 * Source IP, IP Source Address, or IPv6 Source Address (in the case of
70 * Extended Classifier or IPv6 Classifier) is the IP address (as seen at the
71 * CMTS) of the originator of the IP flow.
73 * @return source IP address.
75 InetAddress getSourceIPAddress();
77 void setSourceIPAddress(InetAddress a);
79 short getSourcePort();
81 void setSourcePort(short p);
84 * Protocol field, in a legacy Classifier or Extended Classifier, identifies
85 * the type of protocol (e.g., IP, ICMP, etc.). The Next Header Type field
86 * serves a similar function in the IPv6 Classifier.
88 * @return the protocol.
94 * href="http://www.iana.org/assignments/protocol-numbers/protocol-numbers.txt">protocols</a>
95 * @param p - the protocol value
97 void setProtocol(short p);
100 * Priority may be used to distinguish between multiple classifiers that
101 * match a particular packet. This is typically set to a default value since
102 * classifiers are generally intended to be unique.
114 void setPriority(byte p);
118 void setDSCPTOS(byte v);
120 byte getDSCPTOSMask();
122 void setDSCPTOSMask(byte v);