X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=bgp%2Frib-spi%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fprotocol%2Fbgp%2Frib%2Fspi%2FAdjRIBsIn.java;h=fd240455c9dd32cfc7eb7ff043c590d7ec284b43;hb=3c135df98a164d4207775de96a5217a392d1949e;hp=87cf6965d5b6527071f8efb47b56b0f2aebcfaca;hpb=40386e654f80da4e1e8d3714a5fc850620d10e61;p=bgpcep.git diff --git a/bgp/rib-spi/src/main/java/org/opendaylight/protocol/bgp/rib/spi/AdjRIBsIn.java b/bgp/rib-spi/src/main/java/org/opendaylight/protocol/bgp/rib/spi/AdjRIBsIn.java index 87cf6965d5..fd240455c9 100644 --- a/bgp/rib-spi/src/main/java/org/opendaylight/protocol/bgp/rib/spi/AdjRIBsIn.java +++ b/bgp/rib-spi/src/main/java/org/opendaylight/protocol/bgp/rib/spi/AdjRIBsIn.java @@ -7,20 +7,57 @@ */ package org.opendaylight.protocol.bgp.rib.spi; -import org.opendaylight.controller.md.sal.binding.api.WriteTransaction; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev130919.Update; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev130919.update.PathAttributes; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.update.path.attributes.MpReachNlri; -import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.update.path.attributes.MpUnreachNlri; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev130919.path.attributes.Attributes; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.update.attributes.MpReachNlri; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.update.attributes.MpReachNlriBuilder; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.multiprotocol.rev130919.update.attributes.MpUnreachNlri; +import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev130925.Route; -public interface AdjRIBsIn { - void addRoutes(WriteTransaction trans, Peer peer, MpReachNlri nlri, PathAttributes attributes); +@Deprecated +public interface AdjRIBsIn { - void removeRoutes(WriteTransaction trans, Peer peer, MpUnreachNlri nlri); + /** + * Adds routes to this adjacency rib. + * @param trans data-store transaction + * @param peer advertising peer + * @param nlri routes + * @param attributes route attributes + */ + void addRoutes(final AdjRIBsTransaction trans, final Peer peer, final MpReachNlri nlri, final Attributes attributes); - void clear(WriteTransaction trans, Peer peer); + /** + * Removes routes from this adjacency rib. + * @param trans data-store transaction + * @param peer advertising peer + * @param nlri routes + */ + void removeRoutes(final AdjRIBsTransaction trans, final Peer peer, final MpUnreachNlri nlri); - void markUptodate(WriteTransaction trans, Peer peer); + /** + * Clears adjacency rib tables. + * @param trans data-store transaction + * @param peer advertising peer + */ + void clear(final AdjRIBsTransaction trans, final Peer peer); + /** + * Marks true or false the state of this adjacency rib. + * @param trans data-store transaction + * @param peer advertising peer + */ + void markUptodate(final AdjRIBsTransaction trans, final Peer peer); + + /** + * Transform an advertised data object into the corresponding NLRI in MP_REACH attribute. + * @param builder MP_REACH attribute builder + * @param data Data object + */ + void addAdvertisement(final MpReachNlriBuilder builder, final V data); + + /** + * Creates end-of-rib message for this adjacency rib. + * @return BGP Update message + */ Update endOfRib(); }