2 * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.protocol.bgp.rib.spi;
10 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev130919.AddressFamily;
11 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.types.rev130919.SubsequentAddressFamily;
14 * Interface for registering AdjRIBsIn factories. In order for a model-driven
15 * RIB implementation to work correctly, it has to know how to handle
16 * individual NLRI fields, whose encoding is specific to a AFI/SAFI pair. This
17 * interface exposes an interface for registration of factories for creating
18 * AdjRIBsIn instances, which handle the specifics.
20 public interface RIBExtensionProviderContext extends RIBExtensionConsumerContext {
22 * Register a AdjRIBsInFactory for a particular AFI/SAFI combination.
24 * @param afi Address Family identifier
25 * @param safi Subsequent Address Family identifier
26 * @param factory AdjRIBsInFactory
27 * @return Registration handle. Call its close() method to remove it.
29 public AutoCloseable registerAdjRIBsInFactory(Class<? extends AddressFamily> afi,
30 Class<? extends SubsequentAddressFamily> safi, AdjRIBsInFactory factory);