public class LSPA extends PCEPObject
Represents a PCEP LSP Attributes object (LSPA), as defined in RFC 5440.
From RFC 5440, 7.11. LSPA Object
The LSPA (LSP Attributes) object is optional and specifies various TE
LSP attributes to be taken into account by the PCE during path
computation. The LSPA object can be carried within a PCReq message,
or a PCRep message in case of unsuccessful path computation (in this
case, the PCRep message also contains a NO-PATH object, and the LSPA
object is used to indicate the set of constraints that could not be
satisfied). Most of the fields of the LSPA object are identical to
the fields of the SESSION-ATTRIBUTE object (C-Type = 7) defined in
[RFC3209] and [RFC4090]. When absent from the PCReq message, this
means that the Setup and Holding priorities are equal to 0, and there
are no affinity constraints. See Section 4.7.4 of [RFC3209] for a
detailed description of the use of resource affinities.
LSPA Object-Class is 9.
LSPA Object-Types is 1.
The format of the LSPA object body is:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Exclude-any |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Include-any |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Include-all |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Setup Prio | Holding Prio | Flags |L| Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
// Optional TLVs //
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 16: LSPA Object Body Format
Setup Prio (Setup Priority - 8 bits): The priority of the TE LSP
with respect to taking resources, in the range of 0 to 7. The
value 0 is the highest priority. The Setup Priority is used in
deciding whether this session can preempt another session.
Holding Prio (Holding Priority - 8 bits): The priority of the TE LSP
with respect to holding resources, in the range of 0 to 7. The
value 0 is the highest priority. Holding Priority is used in
deciding whether this session can be preempted by another session.
Flags (8 bits)
L flag: Corresponds to the "Local Protection Desired" bit
([RFC3209]) of the SESSION-ATTRIBUTE Object. When set, this
means that the computed path must include links protected with
Fast Reroute as defined in [RFC4090].
Unassigned flags MUST be set to zero on transmission and MUST be
ignored on receipt.
Reserved (8 bits): This field MUST be set to zero on transmission
and MUST be ignored on receipt.
Note that optional TLVs may be defined in the future to carry
additional TE LSP attributes such as those defined in [RFC5420].
From RFC 3209 (Extensions to RSVP for LSP Tunnels )
4.7.2. Format with resource affinities
SESSION_ATTRIBUTE class = 207, LSP_TUNNEL_RA C-Type = 1
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Exclude-any |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Include-any |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Include-all |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Setup Prio | Holding Prio | Flags | Name Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
// Session Name (NULL padded display string) //
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Exclude-any
A 32-bit vector representing a set of attribute filters
associated with a tunnel any of which renders a link
unacceptable.
Include-any
A 32-bit vector representing a set of attribute filters
associated with a tunnel any of which renders a link acceptable
(with respect to this test). A null set (all bits set to zero)
automatically passes.
Include-all
A 32-bit vector representing a set of attribute filters
associated with a tunnel all of which must be present for a
link to be acceptable (with respect to this test). A null set
(all bits set to zero) automatically passes.
Setup Priority
The priority of the session with respect to taking resources,
in the range of 0 to 7. The value 0 is the highest priority.
The Setup Priority is used in deciding whether this session can
preempt another session.
Holding Priority
The priority of the session with respect to holding resources,
in the range of 0 to 7. The value 0 is the highest priority.
Holding Priority is used in deciding whether this session can
be preempted by another session.
Name Length
The length of the display string before padding, in bytes.
Session Name
A null padded string of characters.
Ibit, log, object_bytes, ObjectClass, ObjectLength, OT, Pbit, Res| Constructor and Description |
|---|
LSPA() |
LSPA(byte[] bytes,
int offset)
Constructs a new LSPA Object from a sequence of bytes
|
| Modifier and Type | Method and Description |
|---|---|
void |
decode()
Decode the LSPA Object
|
void |
encode()
Encode the LSPA Object
|
boolean |
equals(Object obj) |
int |
getExcludeAny() |
int |
getHoldingPrio() |
int |
getIncludeAll() |
int |
getIncludeAny() |
int |
getSetupPrio() |
int |
hashCode() |
boolean |
isLbit() |
void |
setExcludeAny(int excludeAny) |
void |
setHoldingPrio(int holdingPrio) |
void |
setIncludeAll(int includeAll) |
void |
setIncludeAny(int includeAny) |
void |
setLbit(boolean lbit) |
void |
setSetupPrio(int setupPrio) |
String |
toString() |
decode, decodeHeader, encode_header, getBytes, getLength, getObject_bytes, getObjectClass, getObjectClass, getObjectLength, getObjectType, getOT, getRes, isIbit, isPbit, setIbit, setObject_bytes, setObjectClass, setObjectLength, setOT, setPbit, setRes, supportedObjectpublic LSPA()
public LSPA(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 int getSetupPrio()
public void setSetupPrio(int setupPrio)
public int getHoldingPrio()
public void setHoldingPrio(int holdingPrio)
public boolean isLbit()
public void setLbit(boolean lbit)
public int getExcludeAny()
public void setExcludeAny(int excludeAny)
public int getIncludeAny()
public void setIncludeAny(int includeAny)
public int getIncludeAll()
public void setIncludeAll(int includeAll)
public int hashCode()
hashCode in class PCEPObjectpublic boolean equals(Object obj)
equals in class PCEPObjectCopyright © 2016. All rights reserved.