public class P2MPEndPointsIPv4 extends EndPoints
Represents a PCEP P2MPEND-POINTS object IPv4 Type, as defined in RFC 6006
From RFC 6006 Section 3.3.2 END-POINTS Object
The END-POINTS object is used in a PCReq message to specify the source IP address and the destination IP address of the path for which a path computation is requested. To represent the end points for a P2MP path efficiently, we define two new types of END-POINTS objects for the P2MP path: o Old leaves whose path can be modified/reoptimized; o Old leaves whose path must be left unchanged. With the new END-POINTS object, the PCE path computation request message is expanded in a way that allows a single request message to list multiple destinations. In total, there are now 4 possible types of leaves in a P2MP request: o New leaves to add (leaf type = 1) o Old leaves to remove (leaf type = 2) o Old leaves whose path can be modified/reoptimized (leaf type = 3) o Old leaves whose path must be left unchanged (leaf type = 4) A given END-POINTS object gathers the leaves of a given type. The type of leaf in a given END-POINTS object is identified by the END- POINTS object leaf type field. Using the new END-POINTS object, the END-POINTS portion of a request message for the multiple destinations can be reduced by up to 50% for a P2MP path where a single source address has a very large number of destinations. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Leaf type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Source IPv4 address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Destination IPv4 address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ~ ... ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Destination IPv4 address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Ibit, log, object_bytes, ObjectClass, ObjectLength, OT, Pbit, Res
Constructor and Description |
---|
P2MPEndPointsIPv4()
Constructs a new PCEP END-POINTS object IPv4 Type from scratch.
|
P2MPEndPointsIPv4(byte[] bytes,
int offset)
Constructs a new PCEP END-POINTS object IPv4 Type from a sequence of bytes
|
Modifier and Type | Method and Description |
---|---|
void |
decode()
Decode the IPv4 address
|
void |
encode()
Encode the IPv4 address
|
Inet4Address |
getDestIP(int index) |
LinkedList<Inet4Address> |
getDestIPList() |
int |
getLeafType() |
Inet4Address |
getSourceIP() |
void |
setDestIP(Inet4Address destIP) |
void |
setDestIPList(LinkedList<Inet4Address> destIPList) |
void |
setLeafType(int leafType) |
void |
setSourceIP(Inet4Address sourceIP) |
String |
toString() |
decode, decodeHeader, encode_header, equals, getBytes, getLength, getObject_bytes, getObjectClass, getObjectClass, getObjectLength, getObjectType, getOT, getRes, hashCode, isIbit, isPbit, setIbit, setObject_bytes, setObjectClass, setObjectLength, setOT, setPbit, setRes, supportedObject
public P2MPEndPointsIPv4()
public P2MPEndPointsIPv4(byte[] bytes, int offset) throws MalformedPCEPObjectException
bytes
- Sequence of bytes where the object is presentoffset
- Position at which the object startsMalformedPCEPObjectException
- Thrown if the decoded object is not well formedpublic void encode()
encode
in interface PCEPElement
encode
in class PCEPObject
public void decode() throws MalformedPCEPObjectException
decode
in class PCEPObject
MalformedPCEPObjectException
public LinkedList<Inet4Address> getDestIPList()
public void setDestIPList(LinkedList<Inet4Address> destIPList)
public Inet4Address getSourceIP()
public void setSourceIP(Inet4Address sourceIP)
public Inet4Address getDestIP(int index)
public void setDestIP(Inet4Address destIP)
public int getLeafType()
public void setLeafType(int leafType)
Copyright © 2016. All rights reserved.