Class AbstractFlowspecNlriParser
- java.lang.Object
- 
- org.opendaylight.protocol.bgp.flowspec.AbstractFlowspecNlriParser
 
- 
- All Implemented Interfaces:
- NlriParser,- NlriSerializer
 - Direct Known Subclasses:
- AbstractFlowspecL3vpnNlriParser,- SimpleFlowspecIpv4NlriParser,- SimpleFlowspecIpv6NlriParser
 
 public abstract class AbstractFlowspecNlriParser extends Object implements NlriParser, NlriSerializer 
- 
- 
Field SummaryFields Modifier and Type Field Description static org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierDEST_PREFIX_NIDprotected FlowspecTypeRegistryflowspecTypeRegistrystatic org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierOP_NIDstatic org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierSOURCE_PREFIX_NIDstatic org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierVALUE_NID
 - 
Constructor SummaryConstructors Modifier Constructor Description protectedAbstractFlowspecNlriParser(FlowspecTypeRegistry flowspecTypeRegistry)
 - 
Method SummaryAll Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract DestinationTypecreateAdvertizedRoutesDestinationType(Object @NonNull [] nlriFields, @Nullable PathId pathId)Create advertized destination type.abstract DestinationTypecreateWithdrawnDestinationType(Object @NonNull [] nlriFields, @Nullable PathId pathId)Create withdrawn destination type.List<Flowspec>extractFlowspec(org.opendaylight.yangtools.yang.data.api.schema.DataContainerNode route)abstract voidextractSpecificFlowspec(org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode fsType, FlowspecBuilder fsBuilder)protected Object @NonNull []parseNlri(@NonNull io.netty.buffer.ByteBuf nlri)Override this function to parse additional NLRI fields.voidparseNlri(@NonNull io.netty.buffer.ByteBuf nlri, @NonNull MpReachNlriBuilder builder, PeerSpecificParserConstraint constraint)Parse MP UN_REACH NLRI from buffer.voidparseNlri(@NonNull io.netty.buffer.ByteBuf nlri, @NonNull MpUnreachNlriBuilder builder, PeerSpecificParserConstraint constraint)Parse MP UN_REACH NLRI from buffer.protected List<Flowspec>parseNlriFlowspecList(@NonNull io.netty.buffer.ByteBuf nlri)Parses Flowspec NLRI into list of Flowspec.static intreadNlriLength(@NonNull io.netty.buffer.ByteBuf nlri)protected static @Nullable PathIdreadPathId(@NonNull io.netty.buffer.ByteBuf nlri, Class<? extends AddressFamily> afi, Class<? extends SubsequentAddressFamily> safi, PeerSpecificParserConstraint constraint)voidserializeAttribute(Attributes pathAttributes, io.netty.buffer.ByteBuf byteAggregator)protected abstract voidserializeMpReachNlri(DestinationType dstType, io.netty.buffer.ByteBuf byteAggregator)protected abstract voidserializeMpUnreachNlri(DestinationType dstType, io.netty.buffer.ByteBuf byteAggregator)protected voidserializeNlri(Object @NonNull [] nlriFields, @NonNull io.netty.buffer.ByteBuf buffer)protected voidserializeNlri(Object @NonNull [] nlriFields, @Nullable PathId pathId, @NonNull io.netty.buffer.ByteBuf buffer)Serializes Flowspec NLRI to ByteBuf.protected voidserializeNlri(List<Flowspec> flowspecList, @NonNull io.netty.buffer.ByteBuf buffer)protected StringstringNlri(List<Flowspec> flows)StringstringNlri(org.opendaylight.yangtools.yang.data.api.schema.DataContainerNode flowspec)protected abstract voidstringSpecificFSNlriType(FlowspecType value, StringBuilder buffer)- 
Methods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 - 
Methods inherited from interface org.opendaylight.protocol.bgp.parser.spi.NlriParserconvertMpReachToMpUnReach
 
- 
 
- 
- 
- 
Field Detail- 
DEST_PREFIX_NIDpublic static final org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier DEST_PREFIX_NID 
 - 
SOURCE_PREFIX_NIDpublic static final org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier SOURCE_PREFIX_NID 
 - 
OP_NIDpublic static final org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier OP_NID 
 - 
VALUE_NIDpublic static final org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier VALUE_NID 
 - 
flowspecTypeRegistryprotected final FlowspecTypeRegistry flowspecTypeRegistry 
 
- 
 - 
Constructor Detail- 
AbstractFlowspecNlriParserprotected AbstractFlowspecNlriParser(FlowspecTypeRegistry flowspecTypeRegistry) 
 
- 
 - 
Method Detail- 
serializeMpReachNlriprotected abstract void serializeMpReachNlri(DestinationType dstType, io.netty.buffer.ByteBuf byteAggregator) 
 - 
serializeMpUnreachNlriprotected abstract void serializeMpUnreachNlri(DestinationType dstType, io.netty.buffer.ByteBuf byteAggregator) 
 - 
extractSpecificFlowspecpublic abstract void extractSpecificFlowspec(org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode fsType, FlowspecBuilder fsBuilder)
 - 
stringSpecificFSNlriTypeprotected abstract void stringSpecificFSNlriType(FlowspecType value, StringBuilder buffer) 
 - 
createWithdrawnDestinationTypepublic abstract DestinationType createWithdrawnDestinationType(Object @NonNull [] nlriFields, @Nullable PathId pathId) Create withdrawn destination type.- Parameters:
- nlriFields- a list of NLRI fields to be included in the destination type
- pathId- associated path id with given NLRI
- Returns:
- created destination type
 
 - 
createAdvertizedRoutesDestinationTypepublic abstract DestinationType createAdvertizedRoutesDestinationType(Object @NonNull [] nlriFields, @Nullable PathId pathId) Create advertized destination type.- Parameters:
- nlriFields- a list of NLRI fields to be included in the destination type
- pathId- associated path id with given NLRI
- Returns:
- created destination type
 
 - 
serializeAttributepublic final void serializeAttribute(Attributes pathAttributes, io.netty.buffer.ByteBuf byteAggregator) - Specified by:
- serializeAttributein interface- NlriSerializer
 
 - 
serializeNlriprotected void serializeNlri(Object @NonNull [] nlriFields, @NonNull io.netty.buffer.ByteBuf buffer) 
 - 
serializeNlriprotected final void serializeNlri(List<Flowspec> flowspecList, @NonNull io.netty.buffer.ByteBuf buffer) 
 - 
serializeNlriprotected final void serializeNlri(Object @NonNull [] nlriFields, @Nullable PathId pathId, @NonNull io.netty.buffer.ByteBuf buffer) Serializes Flowspec NLRI to ByteBuf.- Parameters:
- nlriFields- NLRI fields to be serialized
- pathId- path ID
- buffer- where flowspec NLRI will be serialized
 
 - 
stringNlripublic String stringNlri(org.opendaylight.yangtools.yang.data.api.schema.DataContainerNode flowspec) 
 - 
extractFlowspecpublic final List<Flowspec> extractFlowspec(org.opendaylight.yangtools.yang.data.api.schema.DataContainerNode route) 
 - 
readNlriLengthpublic static int readNlriLength(@NonNull io.netty.buffer.ByteBuf nlri) 
 - 
parseNlriFlowspecListprotected final List<Flowspec> parseNlriFlowspecList(@NonNull io.netty.buffer.ByteBuf nlri) Parses Flowspec NLRI into list of Flowspec.- Parameters:
- nlri- byte representation of NLRI which will be parsed
- Returns:
- list of Flowspec
 
 - 
parseNlriprotected Object @NonNull [] parseNlri(@NonNull io.netty.buffer.ByteBuf nlri) throws BGPParsingException Override this function to parse additional NLRI fields.- Parameters:
- nlri- NLRI buffer
- Returns:
- Parsed additional fields
- Throws:
- BGPParsingException
 
 - 
parseNlripublic final void parseNlri(@NonNull io.netty.buffer.ByteBuf nlri, @NonNull MpReachNlriBuilder builder, PeerSpecificParserConstraint constraint) throws BGPParsingExceptionDescription copied from interface:NlriParserParse MP UN_REACH NLRI from buffer.- Specified by:
- parseNlriin interface- NlriParser
- Parameters:
- nlri- Encoded reachable NLRI in ByteBuf.
- builder- MP REACH NLRI builder.
- constraint- Peer specific constraints.
- Throws:
- BGPParsingException- exception.
 
 - 
parseNlripublic final void parseNlri(@NonNull io.netty.buffer.ByteBuf nlri, @NonNull MpUnreachNlriBuilder builder, PeerSpecificParserConstraint constraint) throws BGPParsingExceptionDescription copied from interface:NlriParserParse MP UN_REACH NLRI from buffer.- Specified by:
- parseNlriin interface- NlriParser
- Parameters:
- nlri- Encoded unreachable NLRI in ByteBuf.
- builder- MP UNREACH NLRI builder.
- constraint- Peer specific constraints.
- Throws:
- BGPParsingException- exception.
 
 - 
readPathIdprotected static @Nullable PathId readPathId(@NonNull io.netty.buffer.ByteBuf nlri, Class<? extends AddressFamily> afi, Class<? extends SubsequentAddressFamily> safi, PeerSpecificParserConstraint constraint) 
 
- 
 
-