| /* |
| * Copyright 2014-2015 Open Networking Laboratory |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| package org.onosproject.pcepio; |
| |
| import org.jboss.netty.buffer.ChannelBuffer; |
| import org.jboss.netty.buffer.ChannelBuffers; |
| import org.junit.Test; |
| import org.onosproject.pcepio.exceptions.PcepParseException; |
| import org.onosproject.pcepio.protocol.PcepFactories; |
| import org.onosproject.pcepio.protocol.PcepMessage; |
| import org.onosproject.pcepio.protocol.PcepMessageReader; |
| import org.onosproject.pcepio.protocol.PcepTEReportMsg; |
| |
| import static org.hamcrest.MatcherAssert.assertThat; |
| import static org.hamcrest.Matchers.instanceOf; |
| import static org.hamcrest.core.Is.is; |
| |
| public class PcepTEReportMsgTest { |
| |
| /** |
| * This test case checks for |
| * TE Object (Routing Universe TLV, Local TE Node Descriptors TLV(AutonomousSystemTlv)). |
| * in PcTERpt message. |
| */ |
| @Test |
| public void teReportMessageTest1() throws PcepParseException { |
| |
| byte[] teReportMsg = new byte[]{0x20, 0x0E, 0x00, 0x28, // common header |
| 0x0E, 0x10, 0x00, 0x24, // TE Object Header |
| 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, // TE-ID |
| 0x00, 0x0E, 0x00, 0x08, // Routing Universe TLV |
| 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, |
| 0x06, 0x65, 0x00, 0x08, // Local TE Node Descriptors TLV |
| 0x00, 0x64, 0x00, 0x04, //AutonomousSystem Tlv |
| 0x00, 0x00, 0x00, 0x11}; |
| |
| ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); |
| buffer.writeBytes(teReportMsg); |
| |
| PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader(); |
| PcepMessage message = null; |
| |
| message = reader.readFrom(buffer); |
| |
| byte[] testReportMsg = {0}; |
| |
| assertThat(message, instanceOf(PcepTEReportMsg.class)); |
| ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); |
| message.writeTo(buf); |
| |
| int readLen = buf.writerIndex(); |
| testReportMsg = new byte[readLen]; |
| buf.readBytes(testReportMsg, 0, readLen); |
| |
| assertThat(testReportMsg, is(teReportMsg)); |
| } |
| |
| /** |
| * This test case checks for |
| * T E Object (Routing Universe TLV, Local TE Node Descriptors TLV(AutonomousSystemTlv)) with different TE-ID. |
| * in PcTERpt message. |
| */ |
| @Test |
| public void teReportMessageTest2() throws PcepParseException { |
| |
| byte[] teReportMsg = new byte[]{0x20, 0x0E, 0x00, 0x28, // common header |
| 0x0E, 0x10, 0x00, 0x24, // TE Object Header |
| 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, // TE-ID |
| 0x00, 0x0E, 0x00, 0x08, // Routing Universe TLV |
| 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, |
| 0x06, 0x65, 0x00, 0x08, // Local TE Node Descriptors TLV |
| 0x00, 0x64, 0x00, 0x04, //AutonomousSystemTlv |
| 0x00, 0x00, 0x00, 0x11}; |
| |
| ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); |
| buffer.writeBytes(teReportMsg); |
| |
| PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader(); |
| PcepMessage message = null; |
| |
| message = reader.readFrom(buffer); |
| |
| byte[] testReportMsg = {0}; |
| assertThat(message, instanceOf(PcepTEReportMsg.class)); |
| ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); |
| message.writeTo(buf); |
| |
| int readLen = buf.writerIndex(); |
| testReportMsg = new byte[readLen]; |
| buf.readBytes(testReportMsg, 0, readLen); |
| |
| assertThat(testReportMsg, is(teReportMsg)); |
| } |
| |
| /** |
| * This test case checks for TE Object (Routing Universe TLV) |
| * in PcTERpt message. |
| */ |
| @Test |
| public void teReportMessageTest3() throws PcepParseException { |
| |
| byte[] teReportMsg = new byte[]{0x20, 0x0E, 0x00, 0x1c, // common header |
| 0x0E, 0x10, 0x00, 0x18, // TE Object Header |
| 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, // TE-ID |
| 0x00, 0x0E, 0x00, 0x08, // Routing Universe TLV |
| 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01}; |
| |
| ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); |
| buffer.writeBytes(teReportMsg); |
| |
| PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader(); |
| PcepMessage message = null; |
| |
| message = reader.readFrom(buffer); |
| |
| byte[] testReportMsg = {0}; |
| assertThat(message, instanceOf(PcepTEReportMsg.class)); |
| ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); |
| message.writeTo(buf); |
| |
| int readLen = buf.writerIndex(); |
| testReportMsg = new byte[readLen]; |
| buf.readBytes(testReportMsg, 0, readLen); |
| |
| assertThat(testReportMsg, is(teReportMsg)); |
| } |
| |
| /** |
| * This test case checks for |
| * TE Object (Routing Universe TLV,Local TE Node Descriptors TLV(AutonomousSystemTlv, BGPLSidentifierTlv. |
| * OSPFareaIDsubTlv, RouterIDSubTlv)). |
| * in PcTERpt message. |
| */ |
| @Test |
| public void teReportMessageTest4() throws PcepParseException { |
| |
| byte[] teReportMsg = new byte[]{0x20, 0x0E, 0x00, 0x44, // common header |
| 0x0E, 0x10, 0x00, 0x40, // TE Object Header |
| 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, // TE-ID |
| 0x00, 0x0E, 0x00, 0x08, // Routing Universe TLV |
| 0x00, 0x00, 0x00, 0x00, |
| 0x00, 0x00, 0x00, 0x01, |
| 0x06, 0x65, 0x00, 0x24, // Local TE Node Descriptors TLV |
| 0x00, 0x64, 0x00, 0x04, //AutonomousSystemTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x11, 0x00, 0x04, //BGPLSidentifierTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x02, 0x58, 0x00, 0x04, //OSPFareaIDsubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xE8, 0x00, 0x08, //RouterIDSubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x00, 0x00, 0x11}; |
| |
| ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); |
| buffer.writeBytes(teReportMsg); |
| |
| PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader(); |
| PcepMessage message = null; |
| |
| message = reader.readFrom(buffer); |
| |
| byte[] testReportMsg = {0}; |
| assertThat(message, instanceOf(PcepTEReportMsg.class)); |
| ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); |
| message.writeTo(buf); |
| |
| int readLen = buf.writerIndex(); |
| testReportMsg = new byte[readLen]; |
| buf.readBytes(testReportMsg, 0, readLen); |
| |
| assertThat(testReportMsg, is(teReportMsg)); |
| } |
| |
| /** |
| * This test case checks for |
| * TE Object (Routing Universe TLV,Local TE Node Descriptors TLV(BGPLSidentifierTlv |
| * OSPFareaIDsubTlv, RouterIDSubTlv)) |
| * in PcTERpt message. |
| */ |
| @Test |
| public void teReportMessageTest5() throws PcepParseException { |
| |
| byte[] teReportMsg = new byte[]{0x20, 0x0E, 0x00, 0x3C, // common header |
| 0x0E, 0x10, 0x00, 0x38, // TE Object Header |
| 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, // TE-ID |
| 0x00, 0x0E, 0x00, 0x08, // Routing Universe TLV |
| 0x00, 0x00, 0x00, 0x00, |
| 0x00, 0x00, 0x00, 0x01, |
| 0x06, 0x65, 0x00, 0x1C, // Local TE Node Descriptors TLV |
| 0x00, 0x11, 0x00, 0x04, //BGPLSidentifierTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x02, 0x58, 0x00, 0x04, //OSPFareaIDsubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xE8, 0x00, 0x08, //RouterIDSubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x00, 0x00, 0x11}; |
| |
| ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); |
| buffer.writeBytes(teReportMsg); |
| |
| PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader(); |
| PcepMessage message = null; |
| |
| message = reader.readFrom(buffer); |
| |
| byte[] testReportMsg = {0}; |
| assertThat(message, instanceOf(PcepTEReportMsg.class)); |
| ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); |
| message.writeTo(buf); |
| |
| int readLen = buf.writerIndex(); |
| testReportMsg = new byte[readLen]; |
| buf.readBytes(testReportMsg, 0, readLen); |
| |
| assertThat(testReportMsg, is(teReportMsg)); |
| } |
| |
| /** |
| * This test case checks for TE Object (Routing Universe TLV,Local TE Node Descriptors TLV(OSPFareaIDsubTlv, |
| * RouterIDSubTlv)) |
| * in PcTERpt message. |
| */ |
| @Test |
| public void teReportMessageTest6() throws PcepParseException { |
| |
| byte[] teReportMsg = new byte[]{0x20, 0x0E, 0x00, 0x34, // common header |
| 0x0E, 0x10, 0x00, 0x30, // TE Object Header |
| 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, // TE-ID |
| 0x00, 0x0E, 0x00, 0x08, // Routing Universe TLV |
| 0x00, 0x00, 0x00, 0x00, |
| 0x00, 0x00, 0x00, 0x01, |
| 0x06, 0x65, 0x00, 0x14, // Local TE Node Descriptors TLV |
| 0x02, 0x58, 0x00, 0x04, //OSPFareaIDsubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xE8, 0x00, 0x08, //RouterIDSubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x00, 0x00, 0x11}; |
| |
| ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); |
| buffer.writeBytes(teReportMsg); |
| |
| PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader(); |
| PcepMessage message = null; |
| |
| message = reader.readFrom(buffer); |
| |
| byte[] testReportMsg = {0}; |
| assertThat(message, instanceOf(PcepTEReportMsg.class)); |
| ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); |
| message.writeTo(buf); |
| |
| int readLen = buf.writerIndex(); |
| testReportMsg = new byte[readLen]; |
| buf.readBytes(testReportMsg, 0, readLen); |
| |
| assertThat(testReportMsg, is(teReportMsg)); |
| } |
| |
| /** |
| * This test case checks for TE Object (Routing Universe TLV,Local TE Node Descriptors TLV(RouterIDSubTlv)). |
| * in PcTERpt message. |
| */ |
| @Test |
| public void teReportMessageTest7() throws PcepParseException { |
| |
| byte[] teReportMsg = new byte[]{0x20, 0x0E, 0x00, 0x2C, // common header |
| 0x0E, 0x10, 0x00, 0x28, // TE Object Header |
| 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, // TE-ID |
| 0x00, 0x0E, 0x00, 0x08, // Routing Universe TLV |
| 0x00, 0x00, 0x00, 0x00, |
| 0x00, 0x00, 0x00, 0x01, |
| 0x06, 0x65, 0x00, 0x0C, // Local TE Node Descriptors TLV |
| 0x03, (byte) 0xE8, 0x00, 0x08, //RouterIDSubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x00, 0x00, 0x11}; |
| |
| ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); |
| buffer.writeBytes(teReportMsg); |
| |
| PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader(); |
| PcepMessage message = null; |
| |
| message = reader.readFrom(buffer); |
| |
| byte[] testReportMsg = {0}; |
| assertThat(message, instanceOf(PcepTEReportMsg.class)); |
| ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); |
| message.writeTo(buf); |
| |
| int readLen = buf.writerIndex(); |
| testReportMsg = new byte[readLen]; |
| buf.readBytes(testReportMsg, 0, readLen); |
| |
| assertThat(testReportMsg, is(teReportMsg)); |
| } |
| |
| /** |
| * This test case checks for TE Object (Routing Universe TLV,Local TE Node Descriptors TLV) |
| * in PcTERpt message. |
| */ |
| @Test |
| public void teReportMessageTest8() throws PcepParseException { |
| |
| byte[] teReportMsg = new byte[]{0x20, 0x0E, 0x00, 0x20, // common header |
| 0x0E, 0x10, 0x00, 0x1C, // TE Object Header |
| 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, // TE-ID |
| 0x00, 0x0E, 0x00, 0x08, // Routing Universe TLV |
| 0x00, 0x00, 0x00, 0x00, |
| 0x00, 0x00, 0x00, 0x01, |
| 0x06, 0x65, 0x00, 0x00 // Local TE Node Descriptors TLV |
| }; |
| |
| ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); |
| buffer.writeBytes(teReportMsg); |
| |
| PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader(); |
| PcepMessage message = null; |
| |
| message = reader.readFrom(buffer); |
| |
| byte[] testReportMsg = {0}; |
| assertThat(message, instanceOf(PcepTEReportMsg.class)); |
| ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); |
| message.writeTo(buf); |
| |
| int readLen = buf.writerIndex(); |
| testReportMsg = new byte[readLen]; |
| buf.readBytes(testReportMsg, 0, readLen); |
| |
| assertThat(testReportMsg, is(teReportMsg)); |
| } |
| |
| /** |
| * This test case checks for |
| * TE Object (Routing Universe TLV,Local TE Node Descriptors TLV(AutonomousSystemTlv, BGPLSidentifierTlv. |
| * OSPFareaIDsubTlv, RouterIDSubTlv), RemoteTENodeDescriptorsTLV(AutonomousSystemTlv, BGPLSidentifierTlv. |
| * OSPFareaIDsubTlv, RouterIDSubTlv)). |
| * in PcTERpt message. |
| */ |
| @Test |
| public void teReportMessageTest9() throws PcepParseException { |
| |
| byte[] teReportMsg = new byte[]{0x20, 0x0E, 0x00, 0x6C, // common header |
| 0x0E, 0x10, 0x00, 0x68, // TE Object Header |
| 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, // TE-ID |
| 0x00, 0x0E, 0x00, 0x08, // Routing Universe TLV |
| 0x00, 0x00, 0x00, 0x00, |
| 0x00, 0x00, 0x00, 0x01, |
| 0x06, 0x65, 0x00, 0x24, // Local TE Node Descriptors TLV |
| 0x00, 0x64, 0x00, 0x04, //AutonomousSystemTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x11, 0x00, 0x04, //BGPLSidentifierTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x02, 0x58, 0x00, 0x04, //OSPFareaIDsubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xE8, 0x00, 0x08, //RouterIDSubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xEB, 0x00, 0x24, //RemoteTENodeDescriptorsTLV |
| 0x00, 0x64, 0x00, 0x04, //AutonomousSystemTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x11, 0x00, 0x04, //BGPLSidentifierTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x02, 0x58, 0x00, 0x04, //OSPFareaIDsubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xE8, 0x00, 0x08, //RouterIDSubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x00, 0x00, 0x11 |
| }; |
| |
| ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); |
| buffer.writeBytes(teReportMsg); |
| |
| PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader(); |
| PcepMessage message = null; |
| |
| message = reader.readFrom(buffer); |
| |
| byte[] testReportMsg = {0}; |
| assertThat(message, instanceOf(PcepTEReportMsg.class)); |
| ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); |
| message.writeTo(buf); |
| |
| int readLen = buf.writerIndex(); |
| testReportMsg = new byte[readLen]; |
| buf.readBytes(testReportMsg, 0, readLen); |
| |
| assertThat(testReportMsg, is(teReportMsg)); |
| } |
| |
| /** |
| * This test case checks for |
| * TE Object (Routing Universe TLV,Local TE Node Descriptors TLV(AutonomousSystemTlv, BGPLSidentifierTlv |
| * OSPFareaIDsubTlv, RouterIDSubTlv), RemoteTENodeDescriptorsTLV(BGPLSidentifierTlv |
| * OSPFareaIDsubTlv, RouterIDSubTlv)) |
| * in PcTERpt message. |
| */ |
| @Test |
| public void teReportMessageTest10() throws PcepParseException { |
| |
| byte[] teReportMsg = new byte[]{0x20, 0x0E, 0x00, 0x64, // common header |
| 0x0E, 0x10, 0x00, 0x60, // TE Object Header |
| 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, // TE-ID |
| 0x00, 0x0E, 0x00, 0x08, // Routing Universe TLV |
| 0x00, 0x00, 0x00, 0x00, |
| 0x00, 0x00, 0x00, 0x01, |
| 0x06, 0x65, 0x00, 0x24, // Local TE Node Descriptors TLV |
| 0x00, 0x64, 0x00, 0x04, //AutonomousSystemTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x11, 0x00, 0x04, //BGPLSidentifierTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x02, 0x58, 0x00, 0x04, //OSPFareaIDsubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xE8, 0x00, 0x08, //RouterIDSubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xEB, 0x00, 0x1C, //RemoteTENodeDescriptorsTLV |
| 0x00, 0x11, 0x00, 0x04, //BGPLSidentifierTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x02, 0x58, 0x00, 0x04, //OSPFareaIDsubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xE8, 0x00, 0x08, //RouterIDSubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x00, 0x00, 0x11 |
| }; |
| |
| ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); |
| buffer.writeBytes(teReportMsg); |
| |
| PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader(); |
| PcepMessage message = null; |
| |
| message = reader.readFrom(buffer); |
| |
| byte[] testReportMsg = {0}; |
| assertThat(message, instanceOf(PcepTEReportMsg.class)); |
| ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); |
| message.writeTo(buf); |
| |
| int readLen = buf.writerIndex(); |
| testReportMsg = new byte[readLen]; |
| buf.readBytes(testReportMsg, 0, readLen); |
| |
| assertThat(testReportMsg, is(teReportMsg)); |
| } |
| |
| /** |
| * This test case checks for |
| * TE Object (Routing Universe TLV,Local TE Node Descriptors TLV(AutonomousSystemTlv, BGPLSidentifierTlv |
| * OSPFareaIDsubTlv, RouterIDSubTlv), RemoteTENodeDescriptorsTLV(OSPFareaIDsubTlv, RouterIDSubTlv)) |
| * in PcTERpt message. |
| */ |
| @Test |
| public void teReportMessageTest11() throws PcepParseException { |
| |
| byte[] teReportMsg = new byte[]{0x20, 0x0E, 0x00, 0x5C, // common header |
| 0x0E, 0x10, 0x00, 0x58, // TE Object Header |
| 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, // TE-ID |
| 0x00, 0x0E, 0x00, 0x08, // Routing Universe TLV |
| 0x00, 0x00, 0x00, 0x00, |
| 0x00, 0x00, 0x00, 0x01, |
| 0x06, 0x65, 0x00, 0x24, // Local TE Node Descriptors TLV |
| 0x00, 0x64, 0x00, 0x04, //AutonomousSystemTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x11, 0x00, 0x04, //BGPLSidentifierTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x02, 0x58, 0x00, 0x04, //OSPFareaIDsubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xE8, 0x00, 0x08, //RouterIDSubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xEB, 0x00, 0x14, //RemoteTENodeDescriptorsTLV |
| 0x02, 0x58, 0x00, 0x04, //OSPFareaIDsubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xE8, 0x00, 0x08, //RouterIDSubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x00, 0x00, 0x11 |
| }; |
| |
| ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); |
| buffer.writeBytes(teReportMsg); |
| |
| PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader(); |
| PcepMessage message = null; |
| |
| message = reader.readFrom(buffer); |
| |
| byte[] testReportMsg = {0}; |
| assertThat(message, instanceOf(PcepTEReportMsg.class)); |
| ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); |
| message.writeTo(buf); |
| |
| int readLen = buf.writerIndex(); |
| testReportMsg = new byte[readLen]; |
| buf.readBytes(testReportMsg, 0, readLen); |
| |
| assertThat(testReportMsg, is(teReportMsg)); |
| } |
| |
| /** |
| * This test case checks for |
| * TE Object (Routing Universe TLV,Local TE Node Descriptors TLV(AutonomousSystemTlv, BGPLSidentifierTlv |
| * OSPFareaIDsubTlv, RouterIDSubTlv), RemoteTENodeDescriptorsTLV(RouterIDSubTlv)) |
| * in PcTERpt message. |
| */ |
| @Test |
| public void teReportMessageTest12() throws PcepParseException { |
| |
| byte[] teReportMsg = new byte[]{0x20, 0x0E, 0x00, 0x54, // common header |
| 0x0E, 0x10, 0x00, 0x50, // TE Object Header |
| 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, // TE-ID |
| 0x00, 0x0E, 0x00, 0x08, // Routing Universe TLV |
| 0x00, 0x00, 0x00, 0x00, |
| 0x00, 0x00, 0x00, 0x01, |
| 0x06, 0x65, 0x00, 0x24, // Local TE Node Descriptors TLV |
| 0x00, 0x64, 0x00, 0x04, //AutonomousSystemTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x11, 0x00, 0x04, //BGPLSidentifierTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x02, 0x58, 0x00, 0x04, //OSPFareaIDsubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xE8, 0x00, 0x08, //RouterIDSubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xEB, 0x00, 0x0c, //RemoteTENodeDescriptorsTLV |
| 0x03, (byte) 0xE8, 0x00, 0x08, //RouterIDSubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x00, 0x00, 0x11 |
| }; |
| |
| ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); |
| buffer.writeBytes(teReportMsg); |
| |
| PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader(); |
| PcepMessage message = null; |
| |
| message = reader.readFrom(buffer); |
| |
| byte[] testReportMsg = {0}; |
| assertThat(message, instanceOf(PcepTEReportMsg.class)); |
| ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); |
| message.writeTo(buf); |
| |
| int readLen = buf.writerIndex(); |
| testReportMsg = new byte[readLen]; |
| buf.readBytes(testReportMsg, 0, readLen); |
| |
| assertThat(testReportMsg, is(teReportMsg)); |
| } |
| |
| /** |
| * This test case checks for |
| * TE Object (Routing Universe TLV,Local TE Node Descriptors TLV(AutonomousSystemTlv, BGPLSidentifierTlv |
| * OSPFareaIDsubTlv, RouterIDSubTlv), RemoteTENodeDescriptorsTLV) |
| * in PcTERpt message. |
| */ |
| @Test |
| public void teReportMessageTest13() throws PcepParseException { |
| |
| byte[] teReportMsg = new byte[]{0x20, 0x0E, 0x00, 0x48, // common header |
| 0x0E, 0x10, 0x00, 0x44, // TE Object Header |
| 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, // TE-ID |
| 0x00, 0x0E, 0x00, 0x08, // Routing Universe TLV |
| 0x00, 0x00, 0x00, 0x00, |
| 0x00, 0x00, 0x00, 0x01, |
| 0x06, 0x65, 0x00, 0x24, // Local TE Node Descriptors TLV |
| 0x00, 0x64, 0x00, 0x04, //AutonomousSystemTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x11, 0x00, 0x04, //BGPLSidentifierTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x02, 0x58, 0x00, 0x04, //OSPFareaIDsubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xE8, 0x00, 0x08, //RouterIDSubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xEB, 0x00, 0x00, //RemoteTENodeDescriptorsTLV |
| }; |
| |
| ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); |
| buffer.writeBytes(teReportMsg); |
| |
| PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader(); |
| PcepMessage message = null; |
| |
| message = reader.readFrom(buffer); |
| |
| byte[] testReportMsg = {0}; |
| assertThat(message, instanceOf(PcepTEReportMsg.class)); |
| ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); |
| message.writeTo(buf); |
| |
| int readLen = buf.writerIndex(); |
| testReportMsg = new byte[readLen]; |
| buf.readBytes(testReportMsg, 0, readLen); |
| |
| assertThat(testReportMsg, is(teReportMsg)); |
| } |
| |
| /** |
| * This test case checks for |
| * TE Object (Routing Universe TLV,Local TE Node Descriptors TLV(AutonomousSystemTlv, BGPLSidentifierTlv |
| * OSPFareaIDsubTlv, RouterIDSubTlv), RemoteTENodeDescriptorsTLV(AutonomousSystemTlv, BGPLSidentifierTlv |
| * OSPFareaIDsubTlv, RouterIDSubTlv), TELinkDescriptorsTLV(LinkLocalRemoteIdentifiersTlv |
| * IPv4InterfaceAddressTlv, IPv4NeighborAddressTlv)) |
| * in PcTERpt message. |
| */ |
| @Test |
| public void teReportMessageTest14() throws PcepParseException { |
| |
| byte[] teReportMsg = new byte[]{0x20, 0x0E, 0x00, (byte) 0x8C, // common header |
| 0x0E, 0x10, 0x00, (byte) 0x88, // TE Object Header |
| 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, // TE-ID |
| 0x00, 0x0E, 0x00, 0x08, // Routing Universe TLV |
| 0x00, 0x00, 0x00, 0x00, |
| 0x00, 0x00, 0x00, 0x01, |
| 0x06, 0x65, 0x00, 0x24, // Local TE Node Descriptors TLV |
| 0x00, 0x64, 0x00, 0x04, //AutonomousSystemTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x11, 0x00, 0x04, //BGPLSidentifierTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x02, 0x58, 0x00, 0x04, //OSPFareaIDsubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xE8, 0x00, 0x08, //RouterIDSubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xEB, 0x00, 0x24, //RemoteTENodeDescriptorsTLV |
| 0x00, 0x64, 0x00, 0x04, //AutonomousSystemTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x11, 0x00, 0x04, //BGPLSidentifierTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x02, 0x58, 0x00, 0x04, //OSPFareaIDsubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xE8, 0x00, 0x08, //RouterIDSubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x00, 0x00, 0x11, |
| 0x04, 0x2E, 0x00, 0x1C, //TELinkDescriptorsTLV |
| 0x00, 0x04, 0x00, 0x08, //LinkLocalRemoteIdentifiersTlv |
| 0x01, 0x11, 0x00, 0x09, |
| 0x01, 0x21, 0x00, 0x09, |
| 0x00, 0x06, 0x00, 0x04, //IPv4InterfaceAddressTlv |
| 0x01, 0x01, 0x01, 0x01, |
| 0x00, 0x08, 0x00, 0x04, //IPv4NeighborAddressTlv |
| 0x01, 0x011, 0x01, 0x10 |
| }; |
| |
| ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); |
| buffer.writeBytes(teReportMsg); |
| |
| PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader(); |
| PcepMessage message = null; |
| |
| message = reader.readFrom(buffer); |
| |
| byte[] testReportMsg = {0}; |
| assertThat(message, instanceOf(PcepTEReportMsg.class)); |
| ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); |
| message.writeTo(buf); |
| |
| int readLen = buf.writerIndex(); |
| testReportMsg = new byte[readLen]; |
| buf.readBytes(testReportMsg, 0, readLen); |
| |
| assertThat(testReportMsg, is(teReportMsg)); |
| } |
| |
| /** |
| * This test case checks for |
| * TE Object (Routing Universe TLV,Local TE Node Descriptors TLV(AutonomousSystemTlv, BGPLSidentifierTlv |
| * OSPFareaIDsubTlv, RouterIDSubTlv), RemoteTENodeDescriptorsTLV(AutonomousSystemTlv, BGPLSidentifierTlv |
| * OSPFareaIDsubTlv, RouterIDSubTlv), TELinkDescriptorsTLV( |
| * IPv4InterfaceAddressTlv, IPv4NeighborAddressTlv)) |
| * in PcTERpt message. |
| */ |
| @Test |
| public void teReportMessageTest15() throws PcepParseException { |
| |
| byte[] teReportMsg = new byte[]{0x20, 0x0E, 0x00, (byte) 0x80, // common header |
| 0x0E, 0x10, 0x00, (byte) 0x7C, // TE Object Header |
| 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, // TE-ID |
| 0x00, 0x0E, 0x00, 0x08, // Routing Universe TLV |
| 0x00, 0x00, 0x00, 0x00, |
| 0x00, 0x00, 0x00, 0x01, |
| 0x06, 0x65, 0x00, 0x24, // Local TE Node Descriptors TLV |
| 0x00, 0x64, 0x00, 0x04, //AutonomousSystemTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x11, 0x00, 0x04, //BGPLSidentifierTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x02, 0x58, 0x00, 0x04, //OSPFareaIDsubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xE8, 0x00, 0x08, //RouterIDSubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xEB, 0x00, 0x24, //RemoteTENodeDescriptorsTLV |
| 0x00, 0x64, 0x00, 0x04, //AutonomousSystemTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x11, 0x00, 0x04, //BGPLSidentifierTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x02, 0x58, 0x00, 0x04, //OSPFareaIDsubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xE8, 0x00, 0x08, //RouterIDSubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x00, 0x00, 0x11, |
| 0x04, 0x2E, 0x00, 0x10, //TELinkDescriptorsTLV |
| 0x00, 0x06, 0x00, 0x04, //IPv4InterfaceAddressTlv |
| 0x01, 0x01, 0x01, 0x01, |
| 0x00, 0x08, 0x00, 0x04, //IPv4NeighborAddressTlv |
| 0x01, 0x011, 0x01, 0x10 |
| }; |
| |
| ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); |
| buffer.writeBytes(teReportMsg); |
| |
| PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader(); |
| PcepMessage message = null; |
| |
| message = reader.readFrom(buffer); |
| |
| byte[] testReportMsg = {0}; |
| assertThat(message, instanceOf(PcepTEReportMsg.class)); |
| ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); |
| message.writeTo(buf); |
| |
| int readLen = buf.writerIndex(); |
| testReportMsg = new byte[readLen]; |
| buf.readBytes(testReportMsg, 0, readLen); |
| |
| assertThat(testReportMsg, is(teReportMsg)); |
| } |
| |
| /** |
| * This test case checks for |
| * TE Object (Routing Universe TLV,Local TE Node Descriptors TLV(AutonomousSystemTlv, BGPLSidentifierTlv |
| * OSPFareaIDsubTlv, RouterIDSubTlv), RemoteTENodeDescriptorsTLV(AutonomousSystemTlv, BGPLSidentifierTlv |
| * OSPFareaIDsubTlv, RouterIDSubTlv), TELinkDescriptorsTLV(IPv4NeighborAddressTlv)) |
| * in PcTERpt message. |
| */ |
| @Test |
| public void teReportMessageTest16() throws PcepParseException { |
| |
| byte[] teReportMsg = new byte[]{0x20, 0x0E, 0x00, (byte) 0x78, // common header |
| 0x0E, 0x10, 0x00, (byte) 0x74, // TE Object Header |
| 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, // TE-ID |
| 0x00, 0x0E, 0x00, 0x08, // Routing Universe TLV |
| 0x00, 0x00, 0x00, 0x00, |
| 0x00, 0x00, 0x00, 0x01, |
| 0x06, 0x65, 0x00, 0x24, // Local TE Node Descriptors TLV |
| 0x00, 0x64, 0x00, 0x04, //AutonomousSystemTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x11, 0x00, 0x04, //BGPLSidentifierTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x02, 0x58, 0x00, 0x04, //OSPFareaIDsubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xE8, 0x00, 0x08, //RouterIDSubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xEB, 0x00, 0x24, //RemoteTENodeDescriptorsTLV |
| 0x00, 0x64, 0x00, 0x04, //AutonomousSystemTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x11, 0x00, 0x04, //BGPLSidentifierTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x02, 0x58, 0x00, 0x04, //OSPFareaIDsubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xE8, 0x00, 0x08, //RouterIDSubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x00, 0x00, 0x11, |
| 0x04, 0x2E, 0x00, 0x08, //TELinkDescriptorsTLV |
| 0x00, 0x08, 0x00, 0x04, //IPv4NeighborAddressTlv |
| 0x01, 0x011, 0x01, 0x10 |
| }; |
| |
| ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); |
| buffer.writeBytes(teReportMsg); |
| |
| PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader(); |
| PcepMessage message = null; |
| |
| message = reader.readFrom(buffer); |
| |
| byte[] testReportMsg = {0}; |
| assertThat(message, instanceOf(PcepTEReportMsg.class)); |
| ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); |
| message.writeTo(buf); |
| |
| int readLen = buf.writerIndex(); |
| testReportMsg = new byte[readLen]; |
| buf.readBytes(testReportMsg, 0, readLen); |
| |
| assertThat(testReportMsg, is(teReportMsg)); |
| } |
| |
| /** |
| * This test case checks for |
| * TE Object (Routing Universe TLV,Local TE Node Descriptors TLV(AutonomousSystemTlv, BGPLSidentifierTlv |
| * OSPFareaIDsubTlv, RouterIDSubTlv), RemoteTENodeDescriptorsTLV(AutonomousSystemTlv, BGPLSidentifierTlv |
| * OSPFareaIDsubTlv, RouterIDSubTlv), TELinkDescriptorsTLV) |
| * in PcTERpt message. |
| */ |
| @Test |
| public void teReportMessageTest17() throws PcepParseException { |
| |
| byte[] teReportMsg = new byte[]{0x20, 0x0E, 0x00, (byte) 0x70, // common header |
| 0x0E, 0x10, 0x00, (byte) 0x6C, // TE Object Header |
| 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, // TE-ID |
| 0x00, 0x0E, 0x00, 0x08, // Routing Universe TLV |
| 0x00, 0x00, 0x00, 0x00, |
| 0x00, 0x00, 0x00, 0x01, |
| 0x06, 0x65, 0x00, 0x24, // Local TE Node Descriptors TLV |
| 0x00, 0x64, 0x00, 0x04, //AutonomousSystemTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x11, 0x00, 0x04, //BGPLSidentifierTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x02, 0x58, 0x00, 0x04, //OSPFareaIDsubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xE8, 0x00, 0x08, //RouterIDSubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xEB, 0x00, 0x24, //RemoteTENodeDescriptorsTLV |
| 0x00, 0x64, 0x00, 0x04, //AutonomousSystemTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x11, 0x00, 0x04, //BGPLSidentifierTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x02, 0x58, 0x00, 0x04, //OSPFareaIDsubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xE8, 0x00, 0x08, //RouterIDSubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x00, 0x00, 0x11, |
| 0x04, 0x2E, 0x00, 0x00, //TELinkDescriptorsTLV |
| }; |
| |
| ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); |
| buffer.writeBytes(teReportMsg); |
| |
| PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader(); |
| PcepMessage message = null; |
| |
| message = reader.readFrom(buffer); |
| |
| byte[] testReportMsg = {0}; |
| assertThat(message, instanceOf(PcepTEReportMsg.class)); |
| ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); |
| message.writeTo(buf); |
| |
| int readLen = buf.writerIndex(); |
| testReportMsg = new byte[readLen]; |
| buf.readBytes(testReportMsg, 0, readLen); |
| |
| assertThat(testReportMsg, is(teReportMsg)); |
| } |
| |
| /** |
| * This test case checks for |
| * TE Object (Routing Universe TLV,Local TE Node Descriptors TLV(AutonomousSystemTlv, BGPLSidentifierTlv |
| * OSPFareaIDsubTlv, RouterIDSubTlv), RemoteTENodeDescriptorsTLV(AutonomousSystemTlv, BGPLSidentifierTlv |
| * OSPFareaIDsubTlv, RouterIDSubTlv), TELinkDescriptorsTLV(LinkLocalRemoteIdentifiersTlv |
| * IPv4InterfaceAddressTlv, IPv4NeighborAddressTlv)) |
| * in PcTERpt message. |
| */ |
| @Test |
| public void teReportMessageTest18() throws PcepParseException { |
| |
| byte[] teReportMsg = new byte[]{0x20, 0x0E, 0x00, (byte) 0xC0, // common header |
| 0x0E, 0x10, 0x00, (byte) 0xbC, // TE Object Header |
| 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, // TE-ID |
| 0x00, 0x0E, 0x00, 0x08, // Routing Universe TLV |
| 0x00, 0x00, 0x00, 0x00, |
| 0x00, 0x00, 0x00, 0x01, |
| 0x06, 0x65, 0x00, 0x24, // Local TE Node Descriptors TLV |
| 0x00, 0x64, 0x00, 0x04, //AutonomousSystemTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x11, 0x00, 0x04, //BGPLSidentifierTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x02, 0x58, 0x00, 0x04, //OSPFareaIDsubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xE8, 0x00, 0x08, //RouterIDSubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xEB, 0x00, 0x24, //RemoteTENodeDescriptorsTLV |
| 0x00, 0x64, 0x00, 0x04, //AutonomousSystemTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x11, 0x00, 0x04, //BGPLSidentifierTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x02, 0x58, 0x00, 0x04, //OSPFareaIDsubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xE8, 0x00, 0x08, //RouterIDSubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x00, 0x00, 0x11, |
| 0x04, 0x2E, 0x00, 0x1C, //TELinkDescriptorsTLV |
| 0x00, 0x04, 0x00, 0x08, //LinkLocalRemoteIdentifiersTlv |
| 0x01, 0x11, 0x00, 0x09, |
| 0x01, 0x21, 0x00, 0x09, |
| 0x00, 0x06, 0x00, 0x04, //IPv4InterfaceAddressTlv |
| 0x01, 0x01, 0x01, 0x01, |
| 0x00, 0x08, 0x00, 0x04, //IPv4NeighborAddressTlv |
| 0x01, 0x011, 0x01, 0x10, |
| 0x04, (byte) 0xF3, 0x00, 0x30, //TENodeAttributesTlv |
| 0x00, 0x0E, 0x00, 0x01, //NodeFlagBitsTlv |
| (byte) 0x90, 0x00, 0x00, 0x00, |
| 0x03, (byte) 0xE9, 0x00, 0x04, //OpaqueNodeAttributeTlv |
| 0x01, 0x011, 0x01, 0x10, |
| 0x03, (byte) 0xEF, 0x00, 0x08, //NodeNameTlv |
| 0x08, 0x00, 0x01, 0x09, |
| 0x08, 0x00, 0x01, 0x09, |
| 0x00, 0x6B, 0x00, 0x08, //ISISAreaIdentifierTlv |
| 0x20, 0x01, 0x22, 0x01, |
| 0x20, 0x01, 0x22, 0x01, |
| 0x00, (byte) 0x86, 0x00, 0x04, //IPv4TERouterIdOfLocalNodeTlv |
| 0x00, 0x01, 0x01, 0x02 |
| }; |
| |
| ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); |
| buffer.writeBytes(teReportMsg); |
| |
| PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader(); |
| PcepMessage message = null; |
| |
| message = reader.readFrom(buffer); |
| |
| byte[] testReportMsg = {0}; |
| assertThat(message, instanceOf(PcepTEReportMsg.class)); |
| ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); |
| message.writeTo(buf); |
| |
| int readLen = buf.writerIndex(); |
| testReportMsg = new byte[readLen]; |
| buf.readBytes(testReportMsg, 0, readLen); |
| |
| assertThat(testReportMsg, is(teReportMsg)); |
| } |
| |
| /** |
| * This test case checks for |
| * TE Object (Routing Universe TLV,Local TE Node Descriptors TLV(AutonomousSystemTlv, BGPLSidentifierTlv |
| * OSPFareaIDsubTlv, RouterIDSubTlv), RemoteTENodeDescriptorsTLV(AutonomousSystemTlv, BGPLSidentifierTlv |
| * OSPFareaIDsubTlv, RouterIDSubTlv), TELinkDescriptorsTLV(LinkLocalRemoteIdentifiersTlv |
| * IPv4InterfaceAddressTlv, IPv4NeighborAddressTlv), TENodeAttributesTlv(NodeFlagBitsTlv |
| * OpaqueNodeAttributeTlv, NodeNameTlv, ISISAreaIdentifierTlv, IPv4TERouterIdOfLocalNodeTlv)) |
| * in PcTERpt message. |
| */ |
| @Test |
| public void teReportMessageTest19() throws PcepParseException { |
| |
| byte[] teReportMsg = new byte[]{0x20, 0x0E, 0x00, (byte) 0xC0, // common header |
| 0x0E, 0x10, 0x00, (byte) 0xBC, // TE Object Header |
| 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, // TE-ID |
| 0x00, 0x0E, 0x00, 0x08, // Routing Universe TLV |
| 0x00, 0x00, 0x00, 0x00, |
| 0x00, 0x00, 0x00, 0x01, |
| 0x06, 0x65, 0x00, 0x24, // Local TE Node Descriptors TLV |
| 0x00, 0x64, 0x00, 0x04, //AutonomousSystemTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x11, 0x00, 0x04, //BGPLSidentifierTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x02, 0x58, 0x00, 0x04, //OSPFareaIDsubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xE8, 0x00, 0x08, //RouterIDSubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xEB, 0x00, 0x24, //RemoteTENodeDescriptorsTLV |
| 0x00, 0x64, 0x00, 0x04, //AutonomousSystemTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x11, 0x00, 0x04, //BGPLSidentifierTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x02, 0x58, 0x00, 0x04, //OSPFareaIDsubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xE8, 0x00, 0x08, //RouterIDSubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x00, 0x00, 0x11, |
| 0x04, 0x2E, 0x00, 0x1C, //TELinkDescriptorsTLV |
| 0x00, 0x04, 0x00, 0x08, //LinkLocalRemoteIdentifiersTlv |
| 0x01, 0x11, 0x00, 0x09, |
| 0x01, 0x21, 0x00, 0x09, |
| 0x00, 0x06, 0x00, 0x04, //IPv4InterfaceAddressTlv |
| 0x01, 0x01, 0x01, 0x01, |
| 0x00, 0x08, 0x00, 0x04, //IPv4NeighborAddressTlv |
| 0x01, 0x011, 0x01, 0x10, |
| 0x04, (byte) 0xF3, 0x00, 0x30, //TENodeAttributesTlv |
| 0x00, 0x0E, 0x00, 0x01, //NodeFlagBitsTlv |
| (byte) 0x90, 0x00, 0x00, 0x00, |
| 0x03, (byte) 0xE9, 0x00, 0x04, //OpaqueNodeAttributeTlv |
| 0x01, 0x011, 0x01, 0x10, |
| 0x03, (byte) 0xEF, 0x00, 0x08, //NodeNameTlv |
| 0x08, 0x00, 0x01, 0x09, |
| 0x08, 0x00, 0x01, 0x09, |
| 0x00, 0x6B, 0x00, 0x08, //ISISAreaIdentifierTlv |
| 0x20, 0x01, 0x22, 0x01, |
| 0x20, 0x01, 0x22, 0x01, |
| 0x00, (byte) 0x86, 0x00, 0x04, //IPv4TERouterIdOfLocalNodeTlv |
| 0x00, 0x01, 0x01, 0x02 |
| }; |
| |
| ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); |
| buffer.writeBytes(teReportMsg); |
| |
| PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader(); |
| PcepMessage message = null; |
| |
| message = reader.readFrom(buffer); |
| |
| byte[] testReportMsg = {0}; |
| assertThat(message, instanceOf(PcepTEReportMsg.class)); |
| ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); |
| message.writeTo(buf); |
| |
| int readLen = buf.writerIndex(); |
| testReportMsg = new byte[readLen]; |
| buf.readBytes(testReportMsg, 0, readLen); |
| |
| assertThat(testReportMsg, is(teReportMsg)); |
| } |
| |
| /** |
| * This test case checks for |
| * TE Object (Routing Universe TLV,Local TE Node Descriptors TLV(AutonomousSystemTlv, BGPLSidentifierTlv |
| * OSPFareaIDsubTlv, RouterIDSubTlv), RemoteTENodeDescriptorsTLV(AutonomousSystemTlv, BGPLSidentifierTlv |
| * OSPFareaIDsubTlv, RouterIDSubTlv), TELinkDescriptorsTLV(LinkLocalRemoteIdentifiersTlv |
| * IPv4InterfaceAddressTlv, IPv4NeighborAddressTlv), TENodeAttributesTlv(OpaqueNodeAttributeTlv |
| * NodeNameTlv, ISISAreaIdentifierTlv, IPv4TERouterIdOfLocalNodeTlv)) |
| * in PcTERpt message. |
| */ |
| @Test |
| public void teReportMessageTest20() throws PcepParseException { |
| |
| byte[] teReportMsg = new byte[]{0x20, 0x0E, 0x00, (byte) 0xB8, // common header |
| 0x0E, 0x10, 0x00, (byte) 0xB4, // TE Object Header |
| 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, // TE-ID |
| 0x00, 0x0E, 0x00, 0x08, // Routing Universe TLV |
| 0x00, 0x00, 0x00, 0x00, |
| 0x00, 0x00, 0x00, 0x01, |
| 0x06, 0x65, 0x00, 0x24, // Local TE Node Descriptors TLV |
| 0x00, 0x64, 0x00, 0x04, //AutonomousSystemTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x11, 0x00, 0x04, //BGPLSidentifierTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x02, 0x58, 0x00, 0x04, //OSPFareaIDsubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xE8, 0x00, 0x08, //RouterIDSubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xEB, 0x00, 0x24, //RemoteTENodeDescriptorsTLV |
| 0x00, 0x64, 0x00, 0x04, //AutonomousSystemTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x11, 0x00, 0x04, //BGPLSidentifierTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x02, 0x58, 0x00, 0x04, //OSPFareaIDsubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xE8, 0x00, 0x08, //RouterIDSubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x00, 0x00, 0x11, |
| 0x04, 0x2E, 0x00, 0x1C, //TELinkDescriptorsTLV |
| 0x00, 0x04, 0x00, 0x08, //LinkLocalRemoteIdentifiersTlv |
| 0x01, 0x11, 0x00, 0x09, |
| 0x01, 0x21, 0x00, 0x09, |
| 0x00, 0x06, 0x00, 0x04, //IPv4InterfaceAddressTlv |
| 0x01, 0x01, 0x01, 0x01, |
| 0x00, 0x08, 0x00, 0x04, //IPv4NeighborAddressTlv |
| 0x01, 0x011, 0x01, 0x10, |
| 0x04, (byte) 0xF3, 0x00, 0x28, //TENodeAttributesTlv |
| 0x03, (byte) 0xE9, 0x00, 0x04, //OpaqueNodeAttributeTlv |
| 0x01, 0x011, 0x01, 0x10, |
| 0x03, (byte) 0xEF, 0x00, 0x08, //NodeNameTlv |
| 0x08, 0x00, 0x01, 0x09, |
| 0x08, 0x00, 0x01, 0x09, |
| 0x00, 0x6B, 0x00, 0x08, //ISISAreaIdentifierTlv |
| 0x20, 0x01, 0x22, 0x01, |
| 0x20, 0x01, 0x22, 0x01, |
| 0x00, (byte) 0x86, 0x00, 0x04, //IPv4TERouterIdOfLocalNodeTlv |
| 0x00, 0x01, 0x01, 0x02 |
| }; |
| |
| ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); |
| buffer.writeBytes(teReportMsg); |
| |
| PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader(); |
| PcepMessage message = null; |
| |
| message = reader.readFrom(buffer); |
| |
| byte[] testReportMsg = {0}; |
| assertThat(message, instanceOf(PcepTEReportMsg.class)); |
| ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); |
| message.writeTo(buf); |
| |
| int readLen = buf.writerIndex(); |
| testReportMsg = new byte[readLen]; |
| buf.readBytes(testReportMsg, 0, readLen); |
| |
| assertThat(testReportMsg, is(teReportMsg)); |
| } |
| |
| /** |
| * This test case checks for |
| * TE Object (Routing Universe TLV,Local TE Node Descriptors TLV(AutonomousSystemTlv, BGPLSidentifierTlv |
| * OSPFareaIDsubTlv, RouterIDSubTlv), RemoteTENodeDescriptorsTLV(AutonomousSystemTlv, BGPLSidentifierTlv |
| * OSPFareaIDsubTlv, RouterIDSubTlv), TELinkDescriptorsTLV(LinkLocalRemoteIdentifiersTlv. |
| * IPv4InterfaceAddressTlv, IPv4NeighborAddressTlv), TENodeAttributesTlv(OpaqueNodeAttributeTlv |
| * ISISAreaIdentifierTlv, IPv4TERouterIdOfLocalNodeTlv)) |
| * in PcTERpt message. |
| */ |
| @Test |
| public void teReportMessageTest21() throws PcepParseException { |
| |
| byte[] teReportMsg = new byte[]{0x20, 0x0E, 0x00, (byte) 0xAC, // common header |
| 0x0E, 0x10, 0x00, (byte) 0xA8, // TE Object Header |
| 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, // TE-ID |
| 0x00, 0x0E, 0x00, 0x08, // Routing Universe TLV |
| 0x00, 0x00, 0x00, 0x00, |
| 0x00, 0x00, 0x00, 0x01, |
| 0x06, 0x65, 0x00, 0x24, // Local TE Node Descriptors TLV |
| 0x00, 0x64, 0x00, 0x04, //AutonomousSystemTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x11, 0x00, 0x04, //BGPLSidentifierTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x02, 0x58, 0x00, 0x04, //OSPFareaIDsubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xE8, 0x00, 0x08, //RouterIDSubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xEB, 0x00, 0x24, //RemoteTENodeDescriptorsTLV |
| 0x00, 0x64, 0x00, 0x04, //AutonomousSystemTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x11, 0x00, 0x04, //BGPLSidentifierTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x02, 0x58, 0x00, 0x04, //OSPFareaIDsubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xE8, 0x00, 0x08, //RouterIDSubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x00, 0x00, 0x11, |
| 0x04, 0x2E, 0x00, 0x1C, //TELinkDescriptorsTLV |
| 0x00, 0x04, 0x00, 0x08, //LinkLocalRemoteIdentifiersTlv |
| 0x01, 0x11, 0x00, 0x09, |
| 0x01, 0x21, 0x00, 0x09, |
| 0x00, 0x06, 0x00, 0x04, //IPv4InterfaceAddressTlv |
| 0x01, 0x01, 0x01, 0x01, |
| 0x00, 0x08, 0x00, 0x04, //IPv4NeighborAddressTlv |
| 0x01, 0x011, 0x01, 0x10, |
| 0x04, (byte) 0xF3, 0x00, 0x1C, //TENodeAttributesTlv |
| 0x03, (byte) 0xE9, 0x00, 0x04, //OpaqueNodeAttributeTlv |
| 0x01, 0x011, 0x01, 0x10, |
| 0x00, 0x6B, 0x00, 0x08, //ISISAreaIdentifierTlv |
| 0x20, 0x01, 0x22, 0x01, |
| 0x20, 0x01, 0x22, 0x01, |
| 0x00, (byte) 0x86, 0x00, 0x04, //IPv4TERouterIdOfLocalNodeTlv |
| 0x00, 0x01, 0x01, 0x02 |
| }; |
| |
| ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); |
| buffer.writeBytes(teReportMsg); |
| |
| PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader(); |
| PcepMessage message = null; |
| |
| message = reader.readFrom(buffer); |
| |
| byte[] testReportMsg = {0}; |
| assertThat(message, instanceOf(PcepTEReportMsg.class)); |
| ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); |
| message.writeTo(buf); |
| |
| int readLen = buf.writerIndex(); |
| testReportMsg = new byte[readLen]; |
| buf.readBytes(testReportMsg, 0, readLen); |
| |
| assertThat(testReportMsg, is(teReportMsg)); |
| } |
| |
| /** |
| * This test case checks for |
| * TE Object (Routing Universe TLV,Local TE Node Descriptors TLV(AutonomousSystemTlv, BGPLSidentifierTlv. |
| * OSPFareaIDsubTlv, RouterIDSubTlv), RemoteTENodeDescriptorsTLV(AutonomousSystemTlv, BGPLSidentifierTlv. |
| * OSPFareaIDsubTlv, RouterIDSubTlv), TELinkDescriptorsTLV(LinkLocalRemoteIdentifiersTlv. |
| * IPv4InterfaceAddressTlv, IPv4NeighborAddressTlv), TENodeAttributesTlv(NodeFlagBitsTlv. |
| * OpaqueNodeAttributeTlv, NodeNameTlv, ISISAreaIdentifierTlv, IPv4TERouterIdOfLocalNodeTlv). |
| * TELinkAttributesTlv(IPv4TERouterIdOfRemoteNodeTlv, IPv6TERouterIdofRemoteNodeTlv, AdministrativeGroupTlv. |
| * MaximumLinkBandwidthTlv, MaximumReservableLinkBandwidthTlv, UnreservedBandwidthTlv, TEDefaultMetricTlv. |
| * LinkProtectionTypeTlv, MPLSProtocolMaskTlv, IGPMetricTlv:, SharedRiskLinkGroupTlv. |
| * OpaqueLinkAttributeTlv, LinkNameTlv)). |
| * in PcTERpt message. |
| */ |
| @Test |
| public void teReportMessageTest22() throws PcepParseException { |
| |
| byte[] teReportMsg = new byte[]{0x20, 0x0E, 0x01, (byte) 0x120, // common header |
| 0x0E, 0x10, 0x01, (byte) 0x1C, // TE Object Header |
| 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, // TE-ID |
| 0x00, 0x0E, 0x00, 0x08, // Routing Universe TLV |
| 0x00, 0x00, 0x00, 0x00, |
| 0x00, 0x00, 0x00, 0x01, |
| 0x06, 0x65, 0x00, 0x24, // Local TE Node Descriptors TLV |
| 0x00, 0x64, 0x00, 0x04, //AutonomousSystemTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x11, 0x00, 0x04, //BGPLSidentifierTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x02, 0x58, 0x00, 0x04, //OSPFareaIDsubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xE8, 0x00, 0x08, //RouterIDSubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xEB, 0x00, 0x24, //RemoteTENodeDescriptorsTLV |
| 0x00, 0x64, 0x00, 0x04, //AutonomousSystemTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x11, 0x00, 0x04, //BGPLSidentifierTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x02, 0x58, 0x00, 0x04, //OSPFareaIDsubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xE8, 0x00, 0x08, //RouterIDSubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x00, 0x00, 0x11, |
| 0x04, 0x2E, 0x00, 0x1C, //TELinkDescriptorsTLV |
| 0x00, 0x04, 0x00, 0x08, //LinkLocalRemoteIdentifiersTlv |
| 0x01, 0x11, 0x00, 0x09, |
| 0x01, 0x21, 0x00, 0x09, |
| 0x00, 0x06, 0x00, 0x04, //IPv4InterfaceAddressTlv |
| 0x01, 0x01, 0x01, 0x01, |
| 0x00, 0x08, 0x00, 0x04, //IPv4NeighborAddressTlv |
| 0x01, 0x011, 0x01, 0x10, |
| 0x04, (byte) 0xF3, 0x00, 0x28, //TENodeAttributesTlv |
| 0x03, (byte) 0xE9, 0x00, 0x04, //OpaqueNodeAttributeTlv |
| 0x01, 0x011, 0x01, 0x10, |
| 0x03, (byte) 0xEF, 0x00, 0x08, //NodeNameTlv |
| 0x08, 0x00, 0x01, 0x09, |
| 0x08, 0x00, 0x01, 0x09, |
| 0x00, 0x6B, 0x00, 0x08, //ISISAreaIdentifierTlv |
| 0x20, 0x01, 0x22, 0x01, |
| 0x20, 0x01, 0x22, 0x01, |
| 0x00, (byte) 0x86, 0x00, 0x04, //IPv4TERouterIdOfLocalNodeTlv |
| 0x00, 0x01, 0x01, 0x02, |
| 0x07, 0x69, 0x00, 0x64, //TELinkAttributesTlv |
| 0x05, 0x3C, 0x00, 0x04, //IPv4TERouterIdOfRemoteNodeTlv |
| 0x00, 0x07, 0x08, 0x00, |
| 0x00, 0x03, 0x00, 0x04, //AdministrativeGroupTlv |
| 0x00, 0x09, 0x08, 0x00, |
| 0x00, 0x09, 0x00, 0x04, //MaximumLinkBandwidthTlv |
| 0x00, 0x09, 0x00, 0x00, |
| 0x00, 0x0a, 0x00, 0x04, //MaximumReservableLinkBandwidthTlv |
| 0x00, 0x10, 0x00, 0x00, |
| 0x00, 0x0b, 0x00, 0x04, //UnreservedBandwidthTlv |
| 0x00, 0x00, (byte) 0x90, 0x00, |
| 0x34, 0x58, 0x00, 0x04, //TEDefaultMetricTlv |
| 0x00, (byte) 0x99, 0x09, 0x00, |
| 0x00, 0x14, 0x00, 0x02, //LinkProtectionTypeTlv |
| 0x09, 0x00, 0x00, 0x00, |
| 0x04, 0x46, 0x00, 0x01, //MPLSProtocolMaskTlv |
| (byte) 0x80, 0x00, 0x00, 0x00, |
| 0x04, 0x47, 0x00, 0x03, //IGPMetricTlv |
| 0x09, (byte) 0x89, 0x07, 0x00, |
| 0x04, 0x48, 0x00, 0x08, //SharedRiskLinkGroupTlv |
| 0x04, 0x47, 0x00, 0x03, |
| 0x04, 0x47, 0x00, 0x03, //OpaqueLinkAttributeTlv |
| 0x04, 0x49, 0x00, 0x04, |
| 0x04, 0x47, 0x00, 0x03, |
| 0x04, 0x4A, 0x00, 0x04, //LinkNameTlv |
| 0x04, 0x47, 0x00, 0x03 |
| }; |
| |
| ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); |
| buffer.writeBytes(teReportMsg); |
| |
| PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader(); |
| PcepMessage message = null; |
| |
| message = reader.readFrom(buffer); |
| |
| byte[] testReportMsg = {0}; |
| assertThat(message, instanceOf(PcepTEReportMsg.class)); |
| ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); |
| message.writeTo(buf); |
| |
| int readLen = buf.writerIndex(); |
| testReportMsg = new byte[readLen]; |
| buf.readBytes(testReportMsg, 0, readLen); |
| |
| assertThat(testReportMsg, is(teReportMsg)); |
| } |
| |
| /** |
| * This test case checks for |
| * TE Object (Routing Universe TLV,Local TE Node Descriptors TLV(AutonomousSystemTlv, BGPLSidentifierTlv |
| * OSPFareaIDsubTlv, RouterIDSubTlv), RemoteTENodeDescriptorsTLV(AutonomousSystemTlv, BGPLSidentifierTlv |
| * OSPFareaIDsubTlv, RouterIDSubTlv), TELinkDescriptorsTLV(LinkLocalRemoteIdentifiersTlv |
| * IPv4InterfaceAddressTlv, IPv4NeighborAddressTlv), TENodeAttributesTlv(NodeFlagBitsTlv |
| * OpaqueNodeAttributeTlv, NodeNameTlv, ISISAreaIdentifierTlv, IPv4TERouterIdOfLocalNodeTlv) |
| * TELinkAttributesTlv(IPv4TERouterIdOfRemoteNodeTlv, IPv6TERouterIdofRemoteNodeTlv, AdministrativeGroupTlv |
| * MaximumLinkBandwidthTlv, MaximumReservableLinkBandwidthTlv, UnreservedBandwidthTlv, TEDefaultMetricTlv |
| * LinkProtectionTypeTlv, MPLSProtocolMaskTlv, IGPMetricTlv:, SharedRiskLinkGroupTlv |
| * OpaqueLinkAttributeTlv)) |
| * in PcTERpt message. |
| */ |
| @Test |
| public void teReportMessageTest23() throws PcepParseException { |
| |
| byte[] teReportMsg = new byte[]{0x20, 0x0E, 0x01, (byte) 0x118, // common header |
| 0x0E, 0x10, 0x01, (byte) 0x14, // TE Object Header |
| 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, // TE-ID |
| 0x00, 0x0E, 0x00, 0x08, // Routing Universe TLV |
| 0x00, 0x00, 0x00, 0x00, |
| 0x00, 0x00, 0x00, 0x01, |
| 0x06, 0x65, 0x00, 0x24, // Local TE Node Descriptors TLV |
| 0x00, 0x64, 0x00, 0x04, //AutonomousSystemTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x11, 0x00, 0x04, //BGPLSidentifierTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x02, 0x58, 0x00, 0x04, //OSPFareaIDsubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xE8, 0x00, 0x08, //RouterIDSubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xEB, 0x00, 0x24, //RemoteTENodeDescriptorsTLV |
| 0x00, 0x64, 0x00, 0x04, //AutonomousSystemTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x11, 0x00, 0x04, //BGPLSidentifierTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x02, 0x58, 0x00, 0x04, //OSPFareaIDsubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xE8, 0x00, 0x08, //RouterIDSubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x00, 0x00, 0x11, |
| 0x04, 0x2E, 0x00, 0x1C, //TELinkDescriptorsTLV |
| 0x00, 0x04, 0x00, 0x08, //LinkLocalRemoteIdentifiersTlv |
| 0x01, 0x11, 0x00, 0x09, |
| 0x01, 0x21, 0x00, 0x09, |
| 0x00, 0x06, 0x00, 0x04, //IPv4InterfaceAddressTlv |
| 0x01, 0x01, 0x01, 0x01, |
| 0x00, 0x08, 0x00, 0x04, //IPv4NeighborAddressTlv |
| 0x01, 0x011, 0x01, 0x10, |
| 0x04, (byte) 0xF3, 0x00, 0x28, //TENodeAttributesTlv |
| 0x03, (byte) 0xE9, 0x00, 0x04, //OpaqueNodeAttributeTlv |
| 0x01, 0x011, 0x01, 0x10, |
| 0x03, (byte) 0xEF, 0x00, 0x08, //NodeNameTlv |
| 0x08, 0x00, 0x01, 0x09, |
| 0x08, 0x00, 0x01, 0x09, |
| 0x00, 0x6B, 0x00, 0x08, //ISISAreaIdentifierTlv |
| 0x20, 0x01, 0x22, 0x01, |
| 0x20, 0x01, 0x22, 0x01, |
| 0x00, (byte) 0x86, 0x00, 0x04, //IPv4TERouterIdOfLocalNodeTlv |
| 0x00, 0x01, 0x01, 0x02, |
| 0x07, 0x69, 0x00, 0x5C, //TELinkAttributesTlv |
| 0x05, 0x3C, 0x00, 0x04, //IPv4TERouterIdOfRemoteNodeTlv |
| 0x00, 0x07, 0x08, 0x00, |
| 0x00, 0x03, 0x00, 0x04, //AdministrativeGroupTlv |
| 0x00, 0x09, 0x08, 0x00, |
| 0x00, 0x09, 0x00, 0x04, //MaximumLinkBandwidthTlv |
| 0x00, 0x09, 0x00, 0x00, |
| 0x00, 0x0a, 0x00, 0x04, //MaximumReservableLinkBandwidthTlv |
| 0x00, 0x10, 0x00, 0x00, |
| 0x00, 0x0b, 0x00, 0x04, //UnreservedBandwidthTlv |
| 0x00, 0x00, (byte) 0x90, 0x00, |
| 0x34, 0x58, 0x00, 0x04, //TEDefaultMetricTlv |
| 0x00, (byte) 0x99, 0x09, 0x00, |
| 0x00, 0x14, 0x00, 0x02, //LinkProtectionTypeTlv |
| 0x09, 0x00, 0x00, 0x00, |
| 0x04, 0x46, 0x00, 0x01, //MPLSProtocolMaskTlv |
| (byte) 0x80, 0x00, 0x00, 0x00, |
| 0x04, 0x47, 0x00, 0x03, //IGPMetricTlv |
| 0x09, (byte) 0x89, 0x07, 0x00, |
| 0x04, 0x48, 0x00, 0x08, //SharedRiskLinkGroupTlv |
| 0x04, 0x47, 0x00, 0x03, |
| 0x04, 0x47, 0x00, 0x03, //OpaqueLinkAttributeTlv |
| 0x04, 0x49, 0x00, 0x04, |
| 0x04, 0x47, 0x00, 0x03 |
| }; |
| |
| ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); |
| buffer.writeBytes(teReportMsg); |
| |
| PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader(); |
| PcepMessage message = null; |
| |
| message = reader.readFrom(buffer); |
| |
| byte[] testReportMsg = {0}; |
| assertThat(message, instanceOf(PcepTEReportMsg.class)); |
| ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); |
| message.writeTo(buf); |
| |
| int readLen = buf.writerIndex(); |
| testReportMsg = new byte[readLen]; |
| buf.readBytes(testReportMsg, 0, readLen); |
| |
| assertThat(testReportMsg, is(teReportMsg)); |
| } |
| |
| /** |
| * This test case checks for |
| * TE Object (Routing Universe TLV,Local TE Node Descriptors TLV(AutonomousSystemTlv, BGPLSidentifierTlv |
| * OSPFareaIDsubTlv, RouterIDSubTlv), RemoteTENodeDescriptorsTLV(AutonomousSystemTlv, BGPLSidentifierTlv |
| * OSPFareaIDsubTlv, RouterIDSubTlv), TELinkDescriptorsTLV(LinkLocalRemoteIdentifiersTlv |
| * IPv4InterfaceAddressTlv, IPv4NeighborAddressTlv), TENodeAttributesTlv(NodeFlagBitsTlv |
| * OpaqueNodeAttributeTlv, NodeNameTlv, ISISAreaIdentifierTlv, IPv4TERouterIdOfLocalNodeTlv) |
| * TELinkAttributesTlv(IPv4TERouterIdOfRemoteNodeTlv, IPv6TERouterIdofRemoteNodeTlv, AdministrativeGroupTlv |
| * MaximumLinkBandwidthTlv, MaximumReservableLinkBandwidthTlv, UnreservedBandwidthTlv, TEDefaultMetricTlv |
| * LinkProtectionTypeTlv, MPLSProtocolMaskTlv, IGPMetricTlv:, SharedRiskLinkGroupTlv)) |
| * in PcTERpt message. |
| */ |
| @Test |
| public void teReportMessageTest24() throws PcepParseException { |
| |
| byte[] teReportMsg = new byte[]{0x20, 0x0E, 0x01, (byte) 0x110, // common header |
| 0x0E, 0x10, 0x01, (byte) 0x0C, // TE Object Header |
| 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, // TE-ID |
| 0x00, 0x0E, 0x00, 0x08, // Routing Universe TLV |
| 0x00, 0x00, 0x00, 0x00, |
| 0x00, 0x00, 0x00, 0x01, |
| 0x06, 0x65, 0x00, 0x24, // Local TE Node Descriptors TLV |
| 0x00, 0x64, 0x00, 0x04, //AutonomousSystemTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x11, 0x00, 0x04, //BGPLSidentifierTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x02, 0x58, 0x00, 0x04, //OSPFareaIDsubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xE8, 0x00, 0x08, //RouterIDSubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xEB, 0x00, 0x24, //RemoteTENodeDescriptorsTLV |
| 0x00, 0x64, 0x00, 0x04, //AutonomousSystemTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x11, 0x00, 0x04, //BGPLSidentifierTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x02, 0x58, 0x00, 0x04, //OSPFareaIDsubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xE8, 0x00, 0x08, //RouterIDSubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x00, 0x00, 0x11, |
| 0x04, 0x2E, 0x00, 0x1C, //TELinkDescriptorsTLV |
| 0x00, 0x04, 0x00, 0x08, //LinkLocalRemoteIdentifiersTlv |
| 0x01, 0x11, 0x00, 0x09, |
| 0x01, 0x21, 0x00, 0x09, |
| 0x00, 0x06, 0x00, 0x04, //IPv4InterfaceAddressTlv |
| 0x01, 0x01, 0x01, 0x01, |
| 0x00, 0x08, 0x00, 0x04, //IPv4NeighborAddressTlv |
| 0x01, 0x011, 0x01, 0x10, |
| 0x04, (byte) 0xF3, 0x00, 0x28, //TENodeAttributesTlv |
| 0x03, (byte) 0xE9, 0x00, 0x04, //OpaqueNodeAttributeTlv |
| 0x01, 0x011, 0x01, 0x10, |
| 0x03, (byte) 0xEF, 0x00, 0x08, //NodeNameTlv |
| 0x08, 0x00, 0x01, 0x09, |
| 0x08, 0x00, 0x01, 0x09, |
| 0x00, 0x6B, 0x00, 0x08, //ISISAreaIdentifierTlv |
| 0x20, 0x01, 0x22, 0x01, |
| 0x20, 0x01, 0x22, 0x01, |
| 0x00, (byte) 0x86, 0x00, 0x04, //IPv4TERouterIdOfLocalNodeTlv |
| 0x00, 0x01, 0x01, 0x02, |
| 0x07, 0x69, 0x00, 0x54, //TELinkAttributesTlv |
| 0x05, 0x3C, 0x00, 0x04, //IPv4TERouterIdOfRemoteNodeTlv |
| 0x00, 0x07, 0x08, 0x00, |
| 0x00, 0x03, 0x00, 0x04, //AdministrativeGroupTlv |
| 0x00, 0x09, 0x08, 0x00, |
| 0x00, 0x09, 0x00, 0x04, //MaximumLinkBandwidthTlv |
| 0x00, 0x09, 0x00, 0x00, |
| 0x00, 0x0a, 0x00, 0x04, //MaximumReservableLinkBandwidthTlv |
| 0x00, 0x10, 0x00, 0x00, |
| 0x00, 0x0b, 0x00, 0x04, //UnreservedBandwidthTlv |
| 0x00, 0x00, (byte) 0x90, 0x00, |
| 0x34, 0x58, 0x00, 0x04, //TEDefaultMetricTlv |
| 0x00, (byte) 0x99, 0x09, 0x00, |
| 0x00, 0x14, 0x00, 0x02, //LinkProtectionTypeTlv |
| 0x09, 0x00, 0x00, 0x00, |
| 0x04, 0x46, 0x00, 0x01, //MPLSProtocolMaskTlv |
| (byte) 0x80, 0x00, 0x00, 0x00, |
| 0x04, 0x47, 0x00, 0x03, //IGPMetricTlv |
| 0x09, (byte) 0x89, 0x07, 0x00, |
| 0x04, 0x48, 0x00, 0x08, //SharedRiskLinkGroupTlv |
| 0x04, 0x47, 0x00, 0x03, |
| 0x04, 0x47, 0x00, 0x03 |
| }; |
| |
| ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); |
| buffer.writeBytes(teReportMsg); |
| |
| PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader(); |
| PcepMessage message = null; |
| |
| message = reader.readFrom(buffer); |
| |
| byte[] testReportMsg = {0}; |
| assertThat(message, instanceOf(PcepTEReportMsg.class)); |
| ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); |
| message.writeTo(buf); |
| |
| int readLen = buf.writerIndex(); |
| testReportMsg = new byte[readLen]; |
| buf.readBytes(testReportMsg, 0, readLen); |
| |
| assertThat(testReportMsg, is(teReportMsg)); |
| } |
| |
| /** |
| * This test case checks for |
| * TE Object (Routing Universe TLV,Local TE Node Descriptors TLV(AutonomousSystemTlv, BGPLSidentifierTlv |
| * OSPFareaIDsubTlv, RouterIDSubTlv), RemoteTENodeDescriptorsTLV(AutonomousSystemTlv, BGPLSidentifierTlv |
| * OSPFareaIDsubTlv, RouterIDSubTlv), TELinkDescriptorsTLV(LinkLocalRemoteIdentifiersTlv |
| * IPv4InterfaceAddressTlv, IPv4NeighborAddressTlv), TENodeAttributesTlv(NodeFlagBitsTlv |
| * OpaqueNodeAttributeTlv, NodeNameTlv, ISISAreaIdentifierTlv, IPv4TERouterIdOfLocalNodeTlv) |
| * TELinkAttributesTlv(IPv4TERouterIdOfRemoteNodeTlv, IPv6TERouterIdofRemoteNodeTlv, AdministrativeGroupTlv |
| * MaximumLinkBandwidthTlv, MaximumReservableLinkBandwidthTlv, UnreservedBandwidthTlv, TEDefaultMetricTlv |
| * LinkProtectionTypeTlv, MPLSProtocolMaskTlv, IGPMetricTlv)) |
| * in PcTERpt message. |
| */ |
| @Test |
| public void teReportMessageTest25() throws PcepParseException { |
| |
| byte[] teReportMsg = new byte[]{0x20, 0x0E, 0x01, (byte) 0x104, // common header |
| 0x0E, 0x10, 0x01, 0x00, // TE Object Header |
| 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x10, // TE-ID |
| 0x00, 0x0E, 0x00, 0x08, // Routing Universe TLV |
| 0x00, 0x00, 0x00, 0x00, |
| 0x00, 0x00, 0x00, 0x01, |
| 0x06, 0x65, 0x00, 0x24, // Local TE Node Descriptors TLV |
| 0x00, 0x64, 0x00, 0x04, //AutonomousSystemTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x11, 0x00, 0x04, //BGPLSidentifierTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x02, 0x58, 0x00, 0x04, //OSPFareaIDsubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xE8, 0x00, 0x08, //RouterIDSubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xEB, 0x00, 0x24, //RemoteTENodeDescriptorsTLV |
| 0x00, 0x64, 0x00, 0x04, //AutonomousSystemTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x11, 0x00, 0x04, //BGPLSidentifierTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x02, 0x58, 0x00, 0x04, //OSPFareaIDsubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x03, (byte) 0xE8, 0x00, 0x08, //RouterIDSubTlv |
| 0x00, 0x00, 0x00, 0x11, |
| 0x00, 0x00, 0x00, 0x11, |
| 0x04, 0x2E, 0x00, 0x1C, //TELinkDescriptorsTLV |
| 0x00, 0x04, 0x00, 0x08, //LinkLocalRemoteIdentifiersTlv |
| 0x01, 0x11, 0x00, 0x09, |
| 0x01, 0x21, 0x00, 0x09, |
| 0x00, 0x06, 0x00, 0x04, //IPv4InterfaceAddressTlv |
| 0x01, 0x01, 0x01, 0x01, |
| 0x00, 0x08, 0x00, 0x04, //IPv4NeighborAddressTlv |
| 0x01, 0x011, 0x01, 0x10, |
| 0x04, (byte) 0xF3, 0x00, 0x28, //TENodeAttributesTlv |
| 0x03, (byte) 0xE9, 0x00, 0x04, //OpaqueNodeAttributeTlv |
| 0x01, 0x011, 0x01, 0x10, |
| 0x03, (byte) 0xEF, 0x00, 0x08, //NodeNameTlv |
| 0x08, 0x00, 0x01, 0x09, |
| 0x08, 0x00, 0x01, 0x09, |
| 0x00, 0x6B, 0x00, 0x08, //ISISAreaIdentifierTlv |
| 0x20, 0x01, 0x22, 0x01, |
| 0x20, 0x01, 0x22, 0x01, |
| 0x00, (byte) 0x86, 0x00, 0x04, //IPv4TERouterIdOfLocalNodeTlv |
| 0x00, 0x01, 0x01, 0x02, |
| 0x07, 0x69, 0x00, 0x48, //TELinkAttributesTlv |
| 0x05, 0x3C, 0x00, 0x04, //IPv4TERouterIdOfRemoteNodeTlv |
| 0x00, 0x07, 0x08, 0x00, |
| 0x00, 0x03, 0x00, 0x04, //AdministrativeGroupTlv |
| 0x00, 0x09, 0x08, 0x00, |
| 0x00, 0x09, 0x00, 0x04, //MaximumLinkBandwidthTlv |
| 0x00, 0x09, 0x00, 0x00, |
| 0x00, 0x0a, 0x00, 0x04, //MaximumReservableLinkBandwidthTlv |
| 0x00, 0x10, 0x00, 0x00, |
| 0x00, 0x0b, 0x00, 0x04, //UnreservedBandwidthTlv |
| 0x00, 0x00, (byte) 0x90, 0x00, |
| 0x34, 0x58, 0x00, 0x04, //TEDefaultMetricTlv |
| 0x00, (byte) 0x99, 0x09, 0x00, |
| 0x00, 0x14, 0x00, 0x02, //LinkProtectionTypeTlv |
| 0x09, 0x00, 0x00, 0x00, |
| 0x04, 0x46, 0x00, 0x01, //MPLSProtocolMaskTlv |
| (byte) 0x80, 0x00, 0x00, 0x00, |
| 0x04, 0x47, 0x00, 0x03, //IGPMetricTlv |
| 0x09, (byte) 0x89, 0x07, 0x00 |
| }; |
| |
| ChannelBuffer buffer = ChannelBuffers.dynamicBuffer(); |
| buffer.writeBytes(teReportMsg); |
| |
| PcepMessageReader<PcepMessage> reader = PcepFactories.getGenericReader(); |
| PcepMessage message = null; |
| |
| message = reader.readFrom(buffer); |
| |
| byte[] testReportMsg = {0}; |
| |
| assertThat(message, instanceOf(PcepTEReportMsg.class)); |
| ChannelBuffer buf = ChannelBuffers.dynamicBuffer(); |
| message.writeTo(buf); |
| |
| int readLen = buf.writerIndex(); |
| testReportMsg = new byte[readLen]; |
| buf.readBytes(testReportMsg, 0, readLen); |
| |
| assertThat(testReportMsg, is(teReportMsg)); |
| } |
| } |