import org.opendaylight.protocol.bgp.rib.spi.state.BGPPeerMessagesState;
import org.opendaylight.protocol.bgp.rib.spi.state.BGPPeerState;
import org.opendaylight.protocol.bgp.rib.spi.state.BGPPeerStateConsumer;
+import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.operational.rev151009.BgpAfiSafiGracefulRestartState.Mode;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.Notify;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.message.rev180329.Update;
protected final synchronized void setActive(final boolean active) {
this.active = active;
}
+
+ @Override
+ public final synchronized Mode getMode() {
+ if (this.afiSafisGracefulAdvertized.isEmpty()) {
+ return Mode.HELPERONLY;
+ }
+ if (this.afiSafisGracefulReceived.isEmpty()) {
+ return Mode.REMOTEHELPER;
+ }
+ return Mode.BILATERAL;
+ }
}
package org.opendaylight.protocol.bgp.rib.spi.state;
import javax.annotation.Nonnull;
+import org.opendaylight.yang.gen.v1.http.openconfig.net.yang.bgp.operational.rev151009.BgpAfiSafiGracefulRestartState.Mode;
import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev180329.rib.TablesKey;
/**
* @return peer is restarting
*/
boolean isPeerRestarting();
+
+ /**
+ * Returns operational mode of graceful restart. Result depends on advertising
+ * and receiving graceful restart capability to/from peer.
+ *
+ * @return graceful restart operational mode
+ */
+ Mode getMode();
}