import java.util.BitSet;
import java.util.List;
import java.util.Map.Entry;
+import org.opendaylight.protocol.bgp.linkstate.attribute.sr.SrLinkAttributesParser;
import org.opendaylight.protocol.bgp.linkstate.spi.TlvUtil;
import org.opendaylight.protocol.util.ByteArray;
import org.opendaylight.protocol.util.Ipv4Util;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev150210.Ipv6RouterIdentifier;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev150210.LinkProtectionType;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev150210.MplsProtocolMask;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev150210.link.state.SrAdjId;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev150210.link.state.SrLanAdjId;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev150210.link.state.UnreservedBandwidth;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev150210.link.state.UnreservedBandwidthBuilder;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev150210.update.path.attributes.linkstate.path.attribute.LinkStateAttribute;
private static final int SHARED_RISK_LINK_GROUP = 1096;
private static final int LINK_OPAQUE = 1097;
private static final int LINK_NAME = 1098;
+ private static final int SR_ADJ_ID = 1099;
+ private static final int SR_LAN_ADJ_ID = 1100;
/**
* Parse Link Attributes.
builder.setLinkName(name);
LOG.debug("Parsed Link Name : {}", name);
break;
+ case SR_ADJ_ID:
+ final SrAdjId srAdjId = SrLinkAttributesParser.parseAdjacencySegmentIdentifier(value);
+ builder.setSrAdjId(srAdjId);
+ LOG.debug("Parsed Adjacency Segment Identifier :{}", srAdjId);
+ case SR_LAN_ADJ_ID:
+ final SrLanAdjId srLanAdjId = SrLinkAttributesParser.parseLanAdjacencySegmentIdentifier(value);
+ builder.setSrLanAdjId(srLanAdjId);
+ LOG.debug("Parsed Adjacency Segment Identifier :{}", srLanAdjId);
default:
LOG.warn("TLV {} is not a valid link attribute, ignoring it", key);
}
if (linkAttributes.getLinkName() != null) {
TlvUtil.writeTLV(LINK_NAME, Unpooled.wrappedBuffer(Charsets.UTF_8.encode(linkAttributes.getLinkName())), byteAggregator);
}
+ if (linkAttributes.getSrAdjId() != null) {
+ TlvUtil.writeTLV(SR_ADJ_ID, SrLinkAttributesParser.serializeAdjacencySegmentIdentifier(linkAttributes.getSrAdjId()), byteAggregator);
+ }
+ if (linkAttributes.getSrLanAdjId() != null) {
+ TlvUtil.writeTLV(SR_LAN_ADJ_ID, SrLinkAttributesParser.serializeLanAdjacencySegmentIdentifier(linkAttributes.getSrLanAdjId()), byteAggregator);
+ }
LOG.trace("Finished serializing Link Attributes");
}