private static final int ATTACHED_BIT = 1;
private static final int EXTERNAL_BIT = 2;
private static final int ABBR_BIT = 3;
+ private static final int ROUTER_BIT = 4;
+ private static final int V6_BIT = 5;
/* Node Attribute TLVs */
private static final int NODE_FLAG_BITS = 1024;
break;
case NODE_FLAG_BITS:
final BitArray flags = BitArray.valueOf(value, FLAGS_SIZE);
- builder.setNodeFlags(new NodeFlagBits(flags.get(OVERLOAD_BIT), flags.get(ATTACHED_BIT), flags.get(EXTERNAL_BIT), flags.get(ABBR_BIT)));
+ builder.setNodeFlags(new NodeFlagBits(flags.get(OVERLOAD_BIT), flags.get(ATTACHED_BIT), flags.get
+ (EXTERNAL_BIT), flags.get(ABBR_BIT), flags.get(ROUTER_BIT), flags.get(V6_BIT)));
LOG.debug("Parsed Overload bit: {}, attached bit: {}, external bit: {}, area border router: {}.",
flags.get(OVERLOAD_BIT), flags.get(ATTACHED_BIT), flags.get(EXTERNAL_BIT), flags.get(ABBR_BIT));
break;
flags.set(ATTACHED_BIT, nodeFlagBits.isAttached());
flags.set(EXTERNAL_BIT, nodeFlagBits.isExternal());
flags.set(ABBR_BIT, nodeFlagBits.isAbr());
+ flags.set(ROUTER_BIT, nodeFlagBits.isRouter());
+ flags.set(V6_BIT, nodeFlagBits.isV6());
flags.toByteBuf(nodeFlagBuf);
TlvUtil.writeTLV(NODE_FLAG_BITS, nodeFlagBuf, byteAggregator);
}
0x04, 0x0d, 0, 0x08, (byte)0x80, 0x05, 0x01, 0x04, 0x0a, 0x0b, 0x0c, 0x0e,
0x04, (byte) 0x88, 0, 0x01, 0x0a };
- private static final byte[] NODE_ATTR = { 0x01, 0x07, 0, 0x04, 0, 0x2a, 0, 0x2b, 0x04, 0, 0, 0x01, (byte) 0xb0, 0x04, 0x02, 0,
+ private static final byte[] NODE_ATTR = { 0x01, 0x07, 0, 0x04, 0, 0x2a, 0, 0x2b, 0x04, 0, 0, 0x01, (byte) 0xbc, 0x04, 0x02, 0,
0x05, 0x31, 0x32, 0x4b, 0x2d, 0x32, 0x04, 0x03, 0, 0x01, 0x72, 0x04, 0x03, 0, 0x01, 0x73, 0x04, 0x04, 0, 0x04,
0x29, 0x29, 0x29, 0x29, 0x04, (byte) 0x88, 0, 0x01, 0x0a };
assertFalse(ls.getNodeFlags().isAttached());
assertTrue(ls.getNodeFlags().isExternal());
assertTrue(ls.getNodeFlags().isAbr());
+ assertTrue(ls.getNodeFlags().isRouter());
+ assertTrue(ls.getNodeFlags().isV6());
assertEquals("12K-2", ls.getDynamicHostname());
assertEquals(2, ls.getIsisAreaId().size());