PCEP protocol message update
Change-Id: Icdea6c105553cd3dec1cacea6e2951f9e422b676
diff --git a/protocols/pcep/pcepio/src/main/java/org/onosproject/pcepio/protocol/ver1/PcepLabelObjectVer1.java b/protocols/pcep/pcepio/src/main/java/org/onosproject/pcepio/protocol/ver1/PcepLabelObjectVer1.java
index 0c76894..a66d7ce 100644
--- a/protocols/pcep/pcepio/src/main/java/org/onosproject/pcepio/protocol/ver1/PcepLabelObjectVer1.java
+++ b/protocols/pcep/pcepio/src/main/java/org/onosproject/pcepio/protocol/ver1/PcepLabelObjectVer1.java
@@ -38,19 +38,19 @@
public class PcepLabelObjectVer1 implements PcepLabelObject {
/*
- * ref : draft-zhao-pce-pcep-extension-for-pce-controller-01 , section : 7.4.
+ * ref : draft-zhao-pce-pcep-extension-for-pce-controller-03, section : 7.3.
- 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
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Reserved | Flags |O|
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | Label |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- | |
- // Optional TLV //
- | |
- +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ 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
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Reserved | Flags |O|
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Label | Reserved |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | |
+ // Optional TLV //
+ | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The LABEL Object format
*/
protected static final Logger log = LoggerFactory.getLogger(PcepLspObjectVer1.class);
@@ -65,6 +65,7 @@
public static final short LABEL_OBJ_MINIMUM_LENGTH = 12;
public static final int OFLAG_SET = 1;
+ public static final int SHIFT_LABEL = 12;
public static final int OFLAG_RESET = 0;
public static final int MINIMUM_COMMON_HEADER_LENGTH = 4;
@@ -72,45 +73,45 @@
PcepObjectHeader.REQ_OBJ_OPTIONAL_PROCESS, PcepObjectHeader.RSP_OBJ_PROCESSED, LABEL_OBJ_MINIMUM_LENGTH);
private PcepObjectHeader labelObjHeader;
- private boolean bOFlag;
+ private boolean oBit;
private int label;
// Optional TLV
- private LinkedList<PcepValueType> llOptionalTlv;
+ private LinkedList<PcepValueType> optionalTlv;
/**
* Constructor to initialize parameters for PCEP label object.
*
* @param labelObjHeader label object header
- * @param bOFlag O flag
+ * @param oBit O flag
* @param label label
- * @param llOptionalTlv list of optional tlvs
+ * @param optionalTlv list of optional tlvs
*/
- public PcepLabelObjectVer1(PcepObjectHeader labelObjHeader, boolean bOFlag, int label,
- LinkedList<PcepValueType> llOptionalTlv) {
+ public PcepLabelObjectVer1(PcepObjectHeader labelObjHeader, boolean oBit, int label,
+ LinkedList<PcepValueType> optionalTlv) {
this.labelObjHeader = labelObjHeader;
- this.bOFlag = bOFlag;
+ this.oBit = oBit;
this.label = label;
- this.llOptionalTlv = llOptionalTlv;
+ this.optionalTlv = optionalTlv;
}
@Override
public LinkedList<PcepValueType> getOptionalTlv() {
- return this.llOptionalTlv;
+ return this.optionalTlv;
}
@Override
- public void setOptionalTlv(LinkedList<PcepValueType> llOptionalTlv) {
- this.llOptionalTlv = llOptionalTlv;
+ public void setOptionalTlv(LinkedList<PcepValueType> optionalTlv) {
+ this.optionalTlv = optionalTlv;
}
@Override
public boolean getOFlag() {
- return this.bOFlag;
+ return this.oBit;
}
@Override
public void setOFlag(boolean value) {
- this.bOFlag = value;
+ this.oBit = value;
}
@Override
@@ -134,23 +135,24 @@
PcepObjectHeader labelObjHeader;
- boolean bOFlag;
+ boolean oBit;
int label;
// Optional TLV
- LinkedList<PcepValueType> llOptionalTlv = new LinkedList<>();
+ LinkedList<PcepValueType> optionalTlv = new LinkedList<>();
labelObjHeader = PcepObjectHeader.read(cb);
//take only LspObject buffer.
ChannelBuffer tempCb = cb.readBytes(labelObjHeader.getObjLen() - OBJECT_HEADER_LENGTH);
int iTemp = tempCb.readInt();
- bOFlag = (iTemp & (byte) 0x01) == 1;
- label = tempCb.readInt();
+ oBit = (iTemp & (byte) OFLAG_SET) == OFLAG_SET;
+ iTemp = tempCb.readInt();
+ label = (int) iTemp >> SHIFT_LABEL;
// parse optional TLV
- llOptionalTlv = parseOptionalTlv(tempCb);
- return new PcepLabelObjectVer1(labelObjHeader, bOFlag, label, llOptionalTlv);
+ optionalTlv = parseOptionalTlv(tempCb);
+ return new PcepLabelObjectVer1(labelObjHeader, oBit, label, optionalTlv);
}
@Override
@@ -166,9 +168,11 @@
byte oFlag;
- oFlag = (byte) ((bOFlag) ? OFLAG_SET : OFLAG_RESET);
+ oFlag = (byte) ((oBit) ? OFLAG_SET : OFLAG_RESET);
cb.writeInt(oFlag);
- cb.writeInt(label);
+ int temp = label;
+ temp = (int) label << SHIFT_LABEL;
+ cb.writeInt(temp);
// Add optional TLV
packOptionalTlv(cb);
@@ -245,7 +249,7 @@
*/
protected int packOptionalTlv(ChannelBuffer cb) {
- ListIterator<PcepValueType> listIterator = llOptionalTlv.listIterator();
+ ListIterator<PcepValueType> listIterator = optionalTlv.listIterator();
while (listIterator.hasNext()) {
PcepValueType tlv = listIterator.next();
@@ -269,10 +273,10 @@
private boolean bIsLabelSet = false;
private PcepObjectHeader labelObjHeader;
- private boolean bOFlag;
+ private boolean oBit;
private int label;
- LinkedList<PcepValueType> llOptionalTlv = new LinkedList<>();
+ LinkedList<PcepValueType> optionalTlv = new LinkedList<>();
private boolean bIsPFlagSet = false;
private boolean bPFlag;
@@ -283,7 +287,7 @@
@Override
public PcepLabelObject build() throws PcepParseException {
PcepObjectHeader labelObjHeader = this.bIsHeaderSet ? this.labelObjHeader : DEFAULT_LABEL_OBJECT_HEADER;
- boolean bOFlag = this.bIsOFlagSet ? this.bOFlag : DEFAULT_OFLAG;
+ boolean oBit = this.bIsOFlagSet ? this.oBit : DEFAULT_OFLAG;
if (!this.bIsLabelSet) {
throw new PcepParseException(" Label NOT Set while building PcepLabelObject.");
@@ -294,7 +298,7 @@
if (bIsIFlagSet) {
labelObjHeader.setIFlag(bIFlag);
}
- return new PcepLabelObjectVer1(labelObjHeader, bOFlag, this.label, this.llOptionalTlv);
+ return new PcepLabelObjectVer1(labelObjHeader, oBit, this.label, this.optionalTlv);
}
@Override
@@ -311,12 +315,12 @@
@Override
public boolean getOFlag() {
- return this.bOFlag;
+ return this.oBit;
}
@Override
public Builder setOFlag(boolean value) {
- this.bOFlag = value;
+ this.oBit = value;
this.bIsOFlagSet = true;
return this;
}
@@ -335,12 +339,12 @@
@Override
public LinkedList<PcepValueType> getOptionalTlv() {
- return this.llOptionalTlv;
+ return this.optionalTlv;
}
@Override
- public Builder setOptionalTlv(LinkedList<PcepValueType> llOptionalTlv) {
- this.llOptionalTlv = llOptionalTlv;
+ public Builder setOptionalTlv(LinkedList<PcepValueType> optionalTlv) {
+ this.optionalTlv = optionalTlv;
return this;
}
@@ -362,9 +366,9 @@
@Override
public String toString() {
return MoreObjects.toStringHelper(getClass())
- .add("OFlag", bOFlag)
+ .add("oBit", oBit)
.add("label", label)
- .add("OptionalTlvList", llOptionalTlv)
+ .add("optionalTlv", optionalTlv)
.toString();
}
}