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, supportedObjectpublic 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 PCEPElementencode in class PCEPObjectpublic void decode()
throws MalformedPCEPObjectException
decode in class PCEPObjectMalformedPCEPObjectExceptionpublic 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.