public abstract class AbstractFlowspecNlriParser extends Object implements org.opendaylight.protocol.bgp.parser.spi.NlriParser, org.opendaylight.protocol.bgp.parser.spi.NlriSerializer
| Modifier and Type | Field and Description |
|---|---|
static org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier |
DEST_PREFIX_NID |
protected SimpleFlowspecTypeRegistry |
flowspecTypeRegistry |
static org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier |
OP_NID |
static org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier |
SOURCE_PREFIX_NID |
static org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier |
VALUE_NID |
| Modifier | Constructor and Description |
|---|---|
protected |
AbstractFlowspecNlriParser(SimpleFlowspecTypeRegistry flowspecTypeRegistry) |
| Modifier and Type | Method and Description |
|---|---|
abstract org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev180329.destination.DestinationType |
createAdvertizedRoutesDestinationType(Object[] nlriFields,
org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.PathId pathId)
Create advertized destination type
|
abstract org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev180329.destination.DestinationType |
createWithdrawnDestinationType(Object[] nlriFields,
org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.PathId pathId)
Create withdrawn destination type
|
List<Flowspec> |
extractFlowspec(org.opendaylight.yangtools.yang.data.api.schema.DataContainerNode<?> route) |
abstract void |
extractSpecificFlowspec(org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode fsType,
FlowspecBuilder fsBuilder) |
protected Object[] |
parseNlri(io.netty.buffer.ByteBuf nlri)
Override this function to parse additional NLRI fields
|
void |
parseNlri(io.netty.buffer.ByteBuf nlri,
org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev180329.update.attributes.MpReachNlriBuilder builder,
org.opendaylight.protocol.bgp.parser.spi.PeerSpecificParserConstraint constraint) |
void |
parseNlri(io.netty.buffer.ByteBuf nlri,
org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev180329.update.attributes.MpUnreachNlriBuilder builder,
org.opendaylight.protocol.bgp.parser.spi.PeerSpecificParserConstraint constraint) |
protected List<Flowspec> |
parseNlriFlowspecList(io.netty.buffer.ByteBuf nlri)
Parses Flowspec NLRI into list of Flowspec.
|
static int |
readNlriLength(io.netty.buffer.ByteBuf nlri) |
protected static org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.PathId |
readPathId(io.netty.buffer.ByteBuf nlri,
Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.AddressFamily> afi,
Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.SubsequentAddressFamily> safi,
org.opendaylight.protocol.bgp.parser.spi.PeerSpecificParserConstraint constraint) |
void |
serializeAttribute(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.path.attributes.Attributes pathAttributes,
io.netty.buffer.ByteBuf byteAggregator) |
protected abstract void |
serializeMpReachNlri(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev180329.destination.DestinationType dstType,
io.netty.buffer.ByteBuf byteAggregator) |
protected abstract void |
serializeMpUnreachNlri(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev180329.destination.DestinationType dstType,
io.netty.buffer.ByteBuf byteAggregator) |
protected void |
serializeNlri(List<Flowspec> flowspecList,
io.netty.buffer.ByteBuf buffer) |
protected void |
serializeNlri(Object[] nlriFields,
io.netty.buffer.ByteBuf buffer) |
protected void |
serializeNlri(Object[] nlriFields,
org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.PathId pathId,
io.netty.buffer.ByteBuf buffer)
Serializes Flowspec NLRI to ByteBuf.
|
String |
stringNlri(org.opendaylight.yangtools.yang.data.api.schema.DataContainerNode<?> flowspec) |
protected String |
stringNlri(List<Flowspec> flows) |
protected abstract void |
stringSpecificFSNlriType(FlowspecType value,
StringBuilder buffer) |
public static final org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier DEST_PREFIX_NID
public static final org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier SOURCE_PREFIX_NID
public static final org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier OP_NID
public static final org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier VALUE_NID
protected final SimpleFlowspecTypeRegistry flowspecTypeRegistry
protected AbstractFlowspecNlriParser(SimpleFlowspecTypeRegistry flowspecTypeRegistry)
protected abstract void serializeMpReachNlri(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev180329.destination.DestinationType dstType,
io.netty.buffer.ByteBuf byteAggregator)
protected abstract void serializeMpUnreachNlri(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev180329.destination.DestinationType dstType,
io.netty.buffer.ByteBuf byteAggregator)
public abstract void extractSpecificFlowspec(org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode fsType,
FlowspecBuilder fsBuilder)
protected abstract void stringSpecificFSNlriType(FlowspecType value, StringBuilder buffer)
public abstract org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev180329.destination.DestinationType createWithdrawnDestinationType(@Nonnull Object[] nlriFields, @Nullable org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.PathId pathId)
nlriFields - a list of NLRI fields to be included in the destination typepathId - associated path id with given NLRIpublic abstract org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev180329.destination.DestinationType createAdvertizedRoutesDestinationType(@Nonnull Object[] nlriFields, @Nullable org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.PathId pathId)
nlriFields - a list of NLRI fields to be included in the destination typepathId - associated path id with given NLRIpublic final void serializeAttribute(org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.path.attributes.Attributes pathAttributes,
io.netty.buffer.ByteBuf byteAggregator)
serializeAttribute in interface org.opendaylight.protocol.bgp.parser.spi.NlriSerializerprotected void serializeNlri(@Nonnull Object[] nlriFields, @Nonnull io.netty.buffer.ByteBuf buffer)
protected final void serializeNlri(List<Flowspec> flowspecList, @Nonnull io.netty.buffer.ByteBuf buffer)
protected final void serializeNlri(@Nonnull Object[] nlriFields, @Nullable org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.PathId pathId, @Nonnull io.netty.buffer.ByteBuf buffer)
nlriFields - NLRI fields to be serializedpathId - buffer - where flowspec NLRI will be serializedpublic String stringNlri(org.opendaylight.yangtools.yang.data.api.schema.DataContainerNode<?> flowspec)
public final List<Flowspec> extractFlowspec(org.opendaylight.yangtools.yang.data.api.schema.DataContainerNode<?> route)
public static int readNlriLength(@Nonnull io.netty.buffer.ByteBuf nlri)
protected final List<Flowspec> parseNlriFlowspecList(@Nonnull io.netty.buffer.ByteBuf nlri) throws org.opendaylight.protocol.bgp.parser.BGPParsingException
nlri - byte representation of NLRI which will be parsedorg.opendaylight.protocol.bgp.parser.BGPParsingException@Nonnull protected Object[] parseNlri(@Nonnull io.netty.buffer.ByteBuf nlri) throws org.opendaylight.protocol.bgp.parser.BGPParsingException
nlri - NLRI bufferorg.opendaylight.protocol.bgp.parser.BGPParsingExceptionpublic final void parseNlri(@Nonnull io.netty.buffer.ByteBuf nlri, @Nonnull org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev180329.update.attributes.MpReachNlriBuilder builder, @Nullable org.opendaylight.protocol.bgp.parser.spi.PeerSpecificParserConstraint constraint) throws org.opendaylight.protocol.bgp.parser.BGPParsingException
parseNlri in interface org.opendaylight.protocol.bgp.parser.spi.NlriParserorg.opendaylight.protocol.bgp.parser.BGPParsingException@Nullable protected static org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.PathId readPathId(@Nonnull io.netty.buffer.ByteBuf nlri, Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.AddressFamily> afi, Class<? extends org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev180329.SubsequentAddressFamily> safi, org.opendaylight.protocol.bgp.parser.spi.PeerSpecificParserConstraint constraint)
public final void parseNlri(@Nonnull io.netty.buffer.ByteBuf nlri, @Nonnull org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev180329.update.attributes.MpUnreachNlriBuilder builder, @Nullable org.opendaylight.protocol.bgp.parser.spi.PeerSpecificParserConstraint constraint) throws org.opendaylight.protocol.bgp.parser.BGPParsingException
parseNlri in interface org.opendaylight.protocol.bgp.parser.spi.NlriParserorg.opendaylight.protocol.bgp.parser.BGPParsingExceptionCopyright © 2019 OpenDaylight. All rights reserved.