import com.google.common.collect.Lists;
import com.google.common.net.InetAddresses;
import io.netty.util.concurrent.Future;
-
import java.net.InetSocketAddress;
import java.util.List;
-
import org.opendaylight.bgpcep.tcpmd5.KeyMapping;
import org.opendaylight.controller.config.api.JmxAttributeValidationException;
import org.opendaylight.protocol.bgp.rib.impl.BGPPeer;
private static final Logger LOG = LoggerFactory.getLogger(BGPPeerModule.class);
public BGPPeerModule(final org.opendaylight.controller.config.api.ModuleIdentifier identifier,
- final org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
+ final org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
super(identifier, dependencyResolver);
}
public BGPPeerModule(final org.opendaylight.controller.config.api.ModuleIdentifier identifier,
- final org.opendaylight.controller.config.api.DependencyResolver dependencyResolver, final BGPPeerModule oldModule,
- final java.lang.AutoCloseable oldInstance) {
+ final org.opendaylight.controller.config.api.DependencyResolver dependencyResolver, final BGPPeerModule oldModule,
+ final java.lang.AutoCloseable oldInstance) {
super(identifier, dependencyResolver, oldModule, oldInstance);
}
* should something like isMd5ServerSupported()
*/
- RIBImplModuleMXBean ribProxy = dependencyResolver.newMXBeanProxy(getRib(), RIBImplModuleMXBean.class);
- BGPDispatcherImplModuleMXBean bgpDispatcherProxy = dependencyResolver.newMXBeanProxy(
- ribProxy.getBgpDispatcher(), BGPDispatcherImplModuleMXBean.class);
- boolean isMd5Supported = bgpDispatcherProxy.getMd5ChannelFactory() != null;
+ final RIBImplModuleMXBean ribProxy = this.dependencyResolver.newMXBeanProxy(getRib(), RIBImplModuleMXBean.class);
+ final BGPDispatcherImplModuleMXBean bgpDispatcherProxy = this.dependencyResolver.newMXBeanProxy(
+ ribProxy.getBgpDispatcher(), BGPDispatcherImplModuleMXBean.class);
+ final boolean isMd5Supported = bgpDispatcherProxy.getMd5ChannelFactory() != null;
JmxAttributeValidationException.checkCondition(isMd5Supported,
- "Underlying dispatcher does not support MD5 clients", passwordJmxAttribute);
+ "Underlying dispatcher does not support MD5 clients", passwordJmxAttribute);
}
}
}
}
- private static interface CloseableNoEx extends AutoCloseable {
+ private interface CloseableNoEx extends AutoCloseable {
@Override
void close();
}
return password;
}
- private AsNumber getAsOrDefault(RIB r) {
+ private AsNumber getAsOrDefault(final RIB r) {
// Remote AS number defaults to our local AS
final AsNumber remoteAs;
if (getRemoteAs() != null) {
return remoteAs;
}
- private List<BgpParameters> getTlvs(RIB r) {
+ private List<BgpParameters> getTlvs(final RIB r) {
final List<BgpParameters> tlvs = Lists.newArrayList();
tlvs.add(new BgpParametersBuilder().setCParameters(
- new As4BytesCaseBuilder().setAs4BytesCapability(new As4BytesCapabilityBuilder().setAsNumber(r.getLocalAs()).build()).build()).build());
+ new As4BytesCaseBuilder().setAs4BytesCapability(new As4BytesCapabilityBuilder().setAsNumber(r.getLocalAs()).build()).build()).build());
for (final BgpTableType t : getAdvertizedTableDependency()) {
if (!r.getLocalTables().contains(t)) {
}
tlvs.add(new BgpParametersBuilder().setCParameters(
- new MultiprotocolCaseBuilder().setMultiprotocolCapability(new MultiprotocolCapabilityBuilder(t).build()).build()).build());
+ new MultiprotocolCaseBuilder().setMultiprotocolCapability(new MultiprotocolCapabilityBuilder(t).build()).build()).build());
}
return tlvs;
}
final RIB rib = getRibDependency();
return rib.getDispatcher().createReconnectingClient(address, remoteAs, registry, rib.getTcpStrategyFactory(),
- rib.getSessionStrategyFactory(), keys);
+ rib.getSessionStrategyFactory(), keys);
}
private BGPPeerRegistry getPeerRegistryBackwards() {
package org.opendaylight.controller.config.yang.pcep.stateful02.cfg;
import com.google.common.base.Preconditions;
-
import java.net.InetSocketAddress;
-
import org.opendaylight.controller.config.api.JmxAttributeValidationException;
import org.opendaylight.protocol.pcep.PCEPSessionProposalFactory;
import org.opendaylight.protocol.pcep.ietf.stateful02.Stateful02SessionProposalFactory;
/**
*
*/
-public final class Stateful02PCEPSessionProposalFactoryModule extends
- org.opendaylight.controller.config.yang.pcep.stateful02.cfg.AbstractStateful02PCEPSessionProposalFactoryModule {
+public final class Stateful02PCEPSessionProposalFactoryModule extends org.opendaylight.controller.config.yang.pcep.stateful02.cfg.AbstractStateful02PCEPSessionProposalFactoryModule {
private static final Logger LOG = LoggerFactory.getLogger(Stateful02PCEPSessionProposalFactoryModule.class);
+ private static final String NOT_SET = "value is not set.";
+ private static final int RATIO = 4;
+
public Stateful02PCEPSessionProposalFactoryModule(final org.opendaylight.controller.config.api.ModuleIdentifier identifier,
- final org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
+ final org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
super(identifier, dependencyResolver);
}
public Stateful02PCEPSessionProposalFactoryModule(final org.opendaylight.controller.config.api.ModuleIdentifier identifier,
- final org.opendaylight.controller.config.api.DependencyResolver dependencyResolver,
- final Stateful02PCEPSessionProposalFactoryModule oldModule, final java.lang.AutoCloseable oldInstance) {
+ final org.opendaylight.controller.config.api.DependencyResolver dependencyResolver,
+ final Stateful02PCEPSessionProposalFactoryModule oldModule, final java.lang.AutoCloseable oldInstance) {
super(identifier, dependencyResolver, oldModule, oldInstance);
}
@Override
protected void customValidation() {
- JmxAttributeValidationException.checkNotNull(getActive(), "value is not set.", activeJmxAttribute);
- JmxAttributeValidationException.checkNotNull(getInitiated(), "value is not set.", initiatedJmxAttribute);
- JmxAttributeValidationException.checkNotNull(getDeadTimerValue(), "value is not set.", deadTimerValueJmxAttribute);
- JmxAttributeValidationException.checkNotNull(getKeepAliveTimerValue(), "value is not set.", keepAliveTimerValueJmxAttribute);
- JmxAttributeValidationException.checkNotNull(getTimeout(), "value is not set.", timeoutJmxAttribute);
+ JmxAttributeValidationException.checkNotNull(getActive(), NOT_SET, activeJmxAttribute);
+ JmxAttributeValidationException.checkNotNull(getInitiated(), NOT_SET, initiatedJmxAttribute);
+ JmxAttributeValidationException.checkNotNull(getDeadTimerValue(), NOT_SET, deadTimerValueJmxAttribute);
+ JmxAttributeValidationException.checkNotNull(getKeepAliveTimerValue(), NOT_SET, keepAliveTimerValueJmxAttribute);
+ JmxAttributeValidationException.checkNotNull(getTimeout(), NOT_SET, timeoutJmxAttribute);
if (getKeepAliveTimerValue() != 0) {
JmxAttributeValidationException.checkCondition(getKeepAliveTimerValue() >= 1, "minimum value is 1.",
- keepAliveTimerValueJmxAttribute);
- if (getDeadTimerValue() != 0 && (getDeadTimerValue() / getKeepAliveTimerValue() != 4)) {
+ keepAliveTimerValueJmxAttribute);
+ if (getDeadTimerValue() != 0 && (getDeadTimerValue() / getKeepAliveTimerValue() != RATIO)) {
LOG.warn("DeadTimerValue should be 4 times greater than KeepAliveTimerValue");
}
}
final ObjectRegistry objReg = context.getObjectHandlerRegistry();
final PCEPOpenMessageParser openParser = new PCEPOpenMessageParser(objReg);
- context.registerMessageParser(PCEPOpenMessageParser.TYPE, openParser);
- context.registerMessageSerializer(
+ regs.add(context.registerMessageParser(PCEPOpenMessageParser.TYPE, openParser));
+ regs.add(context.registerMessageSerializer(
org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.message.rev131007.Open.class,
- openParser);
+ openParser));
final PCEPKeepAliveMessageParser kaParser = new PCEPKeepAliveMessageParser(objReg);
- context.registerMessageParser(PCEPKeepAliveMessageParser.TYPE, kaParser);
- context.registerMessageSerializer(Keepalive.class, kaParser);
+ regs.add(context.registerMessageParser(PCEPKeepAliveMessageParser.TYPE, kaParser));
+ regs.add(context.registerMessageSerializer(Keepalive.class, kaParser));
final PCEPRequestMessageParser reqParser = new PCEPRequestMessageParser(objReg);
- context.registerMessageParser(PCEPRequestMessageParser.TYPE, reqParser);
- context.registerMessageSerializer(Pcreq.class, reqParser);
+ regs.add(context.registerMessageParser(PCEPRequestMessageParser.TYPE, reqParser));
+ regs.add(context.registerMessageSerializer(Pcreq.class, reqParser));
final PCEPReplyMessageParser repParser = new PCEPReplyMessageParser(objReg);
- context.registerMessageParser(PCEPReplyMessageParser.TYPE, repParser);
- context.registerMessageSerializer(Pcrep.class, repParser);
+ regs.add(context.registerMessageParser(PCEPReplyMessageParser.TYPE, repParser));
+ regs.add(context.registerMessageSerializer(Pcrep.class, repParser));
final PCEPNotificationMessageParser notParser = new PCEPNotificationMessageParser(objReg);
- context.registerMessageParser(PCEPNotificationMessageParser.TYPE, notParser);
- context.registerMessageSerializer(Pcntf.class, notParser);
+ regs.add(context.registerMessageParser(PCEPNotificationMessageParser.TYPE, notParser));
+ regs.add(context.registerMessageSerializer(Pcntf.class, notParser));
final PCEPErrorMessageParser errParser = new PCEPErrorMessageParser(objReg);
- context.registerMessageParser(PCEPErrorMessageParser.TYPE, errParser);
- context.registerMessageSerializer(Pcerr.class, errParser);
+ regs.add(context.registerMessageParser(PCEPErrorMessageParser.TYPE, errParser));
+ regs.add(context.registerMessageSerializer(Pcerr.class, errParser));
final PCEPCloseMessageParser closeParser = new PCEPCloseMessageParser(objReg);
- context.registerMessageParser(PCEPCloseMessageParser.TYPE, closeParser);
- context.registerMessageSerializer(Close.class, closeParser);
+ regs.add(context.registerMessageParser(PCEPCloseMessageParser.TYPE, closeParser));
+ regs.add(context.registerMessageSerializer(Close.class, closeParser));
return regs;
}
private void registerObjectParsers(final List<AutoCloseable> regs, final PCEPExtensionProviderContext context) {
final TlvRegistry tlvReg = context.getTlvHandlerRegistry();
final PCEPOpenObjectParser openParser = new PCEPOpenObjectParser(tlvReg);
- context.registerObjectParser(PCEPOpenObjectParser.CLASS, PCEPOpenObjectParser.TYPE, openParser);
- context.registerObjectSerializer(Open.class, openParser);
+ regs.add(context.registerObjectParser(PCEPOpenObjectParser.CLASS, PCEPOpenObjectParser.TYPE, openParser));
+ regs.add(context.registerObjectSerializer(Open.class, openParser));
final PCEPRequestParameterObjectParser rpParser = new PCEPRequestParameterObjectParser(tlvReg);
- context.registerObjectParser(PCEPRequestParameterObjectParser.CLASS, PCEPRequestParameterObjectParser.TYPE, rpParser);
- context.registerObjectSerializer(Rp.class, rpParser);
+ regs.add(context.registerObjectParser(PCEPRequestParameterObjectParser.CLASS, PCEPRequestParameterObjectParser.TYPE, rpParser));
+ regs.add(context.registerObjectSerializer(Rp.class, rpParser));
final PCEPNoPathObjectParser noPathParser = new PCEPNoPathObjectParser(tlvReg);
- context.registerObjectParser(PCEPNoPathObjectParser.CLASS, PCEPNoPathObjectParser.TYPE, noPathParser);
- context.registerObjectSerializer(NoPath.class, noPathParser);
+ regs.add(context.registerObjectParser(PCEPNoPathObjectParser.CLASS, PCEPNoPathObjectParser.TYPE, noPathParser));
+ regs.add(context.registerObjectSerializer(NoPath.class, noPathParser));
final PCEPEndPointsIpv4ObjectParser endpoints4Parser = new PCEPEndPointsIpv4ObjectParser(tlvReg);
- context.registerObjectParser(PCEPEndPointsIpv4ObjectParser.CLASS, PCEPEndPointsIpv4ObjectParser.TYPE, endpoints4Parser);
- context.registerObjectParser(PCEPEndPointsIpv6ObjectParser.CLASS, PCEPEndPointsIpv6ObjectParser.TYPE,
- new PCEPEndPointsIpv4ObjectParser(tlvReg));
- context.registerObjectSerializer(EndpointsObj.class, endpoints4Parser);
+ regs.add(context.registerObjectParser(PCEPEndPointsIpv4ObjectParser.CLASS, PCEPEndPointsIpv4ObjectParser.TYPE, endpoints4Parser));
+ regs.add(context.registerObjectParser(PCEPEndPointsIpv6ObjectParser.CLASS, PCEPEndPointsIpv6ObjectParser.TYPE,
+ new PCEPEndPointsIpv4ObjectParser(tlvReg)));
+ regs.add(context.registerObjectSerializer(EndpointsObj.class, endpoints4Parser));
final PCEPBandwidthObjectParser bwParser = new PCEPBandwidthObjectParser(tlvReg);
- context.registerObjectParser(PCEPBandwidthObjectParser.CLASS, PCEPBandwidthObjectParser.TYPE, bwParser);
- context.registerObjectParser(PCEPExistingBandwidthObjectParser.CLASS, PCEPExistingBandwidthObjectParser.TYPE,
- new PCEPExistingBandwidthObjectParser(tlvReg));
- context.registerObjectSerializer(Bandwidth.class, bwParser);
+ regs.add(context.registerObjectParser(PCEPBandwidthObjectParser.CLASS, PCEPBandwidthObjectParser.TYPE, bwParser));
+ regs.add(context.registerObjectParser(PCEPExistingBandwidthObjectParser.CLASS, PCEPExistingBandwidthObjectParser.TYPE,
+ new PCEPExistingBandwidthObjectParser(tlvReg)));
+ regs.add(context.registerObjectSerializer(Bandwidth.class, bwParser));
final PCEPMetricObjectParser metricParser = new PCEPMetricObjectParser(tlvReg);
- context.registerObjectParser(PCEPMetricObjectParser.CLASS, PCEPMetricObjectParser.TYPE, metricParser);
- context.registerObjectSerializer(Metric.class, metricParser);
+ regs.add(context.registerObjectParser(PCEPMetricObjectParser.CLASS, PCEPMetricObjectParser.TYPE, metricParser));
+ regs.add(context.registerObjectSerializer(Metric.class, metricParser));
final EROSubobjectRegistry eroSubReg = context.getEROSubobjectHandlerRegistry();
final PCEPExplicitRouteObjectParser eroParser = new PCEPExplicitRouteObjectParser(eroSubReg);
- context.registerObjectParser(PCEPExplicitRouteObjectParser.CLASS, PCEPExplicitRouteObjectParser.TYPE, eroParser);
- context.registerObjectSerializer(Ero.class, eroParser);
+ regs.add(context.registerObjectParser(PCEPExplicitRouteObjectParser.CLASS, PCEPExplicitRouteObjectParser.TYPE, eroParser));
+ regs.add(context.registerObjectSerializer(Ero.class, eroParser));
final PCEPReportedRouteObjectParser rroParser = new PCEPReportedRouteObjectParser(context.getRROSubobjectHandlerRegistry());
- context.registerObjectParser(PCEPReportedRouteObjectParser.CLASS, PCEPReportedRouteObjectParser.TYPE, rroParser);
- context.registerObjectSerializer(Rro.class, rroParser);
+ regs.add(context.registerObjectParser(PCEPReportedRouteObjectParser.CLASS, PCEPReportedRouteObjectParser.TYPE, rroParser));
+ regs.add(context.registerObjectSerializer(Rro.class, rroParser));
final PCEPLspaObjectParser lspaParser = new PCEPLspaObjectParser(tlvReg);
- context.registerObjectParser(PCEPLspaObjectParser.CLASS, PCEPLspaObjectParser.TYPE, lspaParser);
- context.registerObjectSerializer(Lspa.class, lspaParser);
+ regs.add(context.registerObjectParser(PCEPLspaObjectParser.CLASS, PCEPLspaObjectParser.TYPE, lspaParser));
+ regs.add(context.registerObjectSerializer(Lspa.class, lspaParser));
final PCEPIncludeRouteObjectParser iroParser = new PCEPIncludeRouteObjectParser(eroSubReg);
- context.registerObjectParser(PCEPIncludeRouteObjectParser.CLASS, PCEPIncludeRouteObjectParser.TYPE, iroParser);
- context.registerObjectSerializer(Iro.class, iroParser);
+ regs.add(context.registerObjectParser(PCEPIncludeRouteObjectParser.CLASS, PCEPIncludeRouteObjectParser.TYPE, iroParser));
+ regs.add(context.registerObjectSerializer(Iro.class, iroParser));
final PCEPSvecObjectParser svecParser = new PCEPSvecObjectParser(tlvReg);
- context.registerObjectParser(PCEPSvecObjectParser.CLASS, PCEPSvecObjectParser.TYPE, svecParser);
- context.registerObjectSerializer(Svec.class, svecParser);
+ regs.add(context.registerObjectParser(PCEPSvecObjectParser.CLASS, PCEPSvecObjectParser.TYPE, svecParser));
+ regs.add(context.registerObjectSerializer(Svec.class, svecParser));
final PCEPNotificationObjectParser notParser = new PCEPNotificationObjectParser(tlvReg);
- context.registerObjectParser(PCEPNotificationObjectParser.CLASS, PCEPNotificationObjectParser.TYPE, notParser);
- context.registerObjectSerializer(CNotification.class, notParser);
+ regs.add(context.registerObjectParser(PCEPNotificationObjectParser.CLASS, PCEPNotificationObjectParser.TYPE, notParser));
+ regs.add(context.registerObjectSerializer(CNotification.class, notParser));
final PCEPErrorObjectParser errParser = new PCEPErrorObjectParser(tlvReg);
- context.registerObjectParser(PCEPErrorObjectParser.CLASS, PCEPErrorObjectParser.TYPE, errParser);
- context.registerObjectSerializer(ErrorObject.class, errParser);
+ regs.add(context.registerObjectParser(PCEPErrorObjectParser.CLASS, PCEPErrorObjectParser.TYPE, errParser));
+ regs.add(context.registerObjectSerializer(ErrorObject.class, errParser));
final PCEPLoadBalancingObjectParser lbParser = new PCEPLoadBalancingObjectParser(tlvReg);
- context.registerObjectParser(PCEPLoadBalancingObjectParser.CLASS, PCEPLoadBalancingObjectParser.TYPE, lbParser);
- context.registerObjectSerializer(LoadBalancing.class, lbParser);
+ regs.add(context.registerObjectParser(PCEPLoadBalancingObjectParser.CLASS, PCEPLoadBalancingObjectParser.TYPE, lbParser));
+ regs.add(context.registerObjectSerializer(LoadBalancing.class, lbParser));
final PCEPCloseObjectParser closeParser = new PCEPCloseObjectParser(tlvReg);
- context.registerObjectParser(PCEPCloseObjectParser.CLASS, PCEPCloseObjectParser.TYPE, closeParser);
- context.registerObjectSerializer(CClose.class, closeParser);
+ regs.add(context.registerObjectParser(PCEPCloseObjectParser.CLASS, PCEPCloseObjectParser.TYPE, closeParser));
+ regs.add(context.registerObjectSerializer(CClose.class, closeParser));
final PCEPPathKeyObjectParser pathKeyParser = new PCEPPathKeyObjectParser(eroSubReg);
- context.registerObjectParser(PCEPPathKeyObjectParser.CLASS, PCEPPathKeyObjectParser.TYPE, pathKeyParser);
- context.registerObjectSerializer(
+ regs.add(context.registerObjectParser(PCEPPathKeyObjectParser.CLASS, PCEPPathKeyObjectParser.TYPE, pathKeyParser));
+ regs.add(context.registerObjectSerializer(
org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.path.key.object.PathKey.class,
- pathKeyParser);
+ pathKeyParser));
final PCEPExcludeRouteObjectParser xroParser = new PCEPExcludeRouteObjectParser(context.getXROSubobjectHandlerRegistry());
- context.registerObjectParser(PCEPExcludeRouteObjectParser.CLASS, PCEPExcludeRouteObjectParser.TYPE, xroParser);
- context.registerObjectSerializer(Xro.class, xroParser);
+ regs.add(context.registerObjectParser(PCEPExcludeRouteObjectParser.CLASS, PCEPExcludeRouteObjectParser.TYPE, xroParser));
+ regs.add(context.registerObjectSerializer(Xro.class, xroParser));
final PCEPObjectiveFunctionObjectParser objectiveParser = new PCEPObjectiveFunctionObjectParser(tlvReg);
- context.registerObjectParser(PCEPObjectiveFunctionObjectParser.CLASS, PCEPObjectiveFunctionObjectParser.TYPE, objectiveParser);
- context.registerObjectSerializer(Of.class, objectiveParser);
+ regs.add(context.registerObjectParser(PCEPObjectiveFunctionObjectParser.CLASS, PCEPObjectiveFunctionObjectParser.TYPE, objectiveParser));
+ regs.add(context.registerObjectSerializer(Of.class, objectiveParser));
final PCEPClassTypeObjectParser ctParser = new PCEPClassTypeObjectParser(tlvReg);
- context.registerObjectParser(PCEPClassTypeObjectParser.CLASS, PCEPClassTypeObjectParser.TYPE, ctParser);
- context.registerObjectSerializer(ClassType.class, ctParser);
+ regs.add(context.registerObjectParser(PCEPClassTypeObjectParser.CLASS, PCEPClassTypeObjectParser.TYPE, ctParser));
+ regs.add(context.registerObjectSerializer(ClassType.class, ctParser));
final PCEPGlobalConstraintsObjectParser gcParser = new PCEPGlobalConstraintsObjectParser(tlvReg);
- context.registerObjectParser(PCEPGlobalConstraintsObjectParser.CLASS, PCEPGlobalConstraintsObjectParser.TYPE, gcParser);
- context.registerObjectSerializer(Gc.class, gcParser);
+ regs.add(context.registerObjectParser(PCEPGlobalConstraintsObjectParser.CLASS, PCEPGlobalConstraintsObjectParser.TYPE, gcParser));
+ regs.add(context.registerObjectSerializer(Gc.class, gcParser));
}
private void registerEROParsers(final List<AutoCloseable> regs, final PCEPExtensionProviderContext context, final LabelRegistry labelReg) {