blob: 9b643efdc3cc6f4f88433b3b5fb614437ae69be2 [file] [log] [blame]
/*
* Copyright 2016-present Open Networking Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.onosproject.driver;
import org.osgi.service.component.annotations.Activate;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Deactivate;
import org.osgi.service.component.annotations.Reference;
import org.osgi.service.component.annotations.ReferenceCardinality;
import org.onosproject.codec.CodecService;
import org.onosproject.driver.extensions.MoveExtensionTreatment;
import org.onosproject.driver.extensions.NiciraMatchNshSi;
import org.onosproject.driver.extensions.NiciraMatchNshSpi;
import org.onosproject.driver.extensions.NiciraResubmit;
import org.onosproject.driver.extensions.NiciraResubmitTable;
import org.onosproject.driver.extensions.NiciraSetNshContextHeader;
import org.onosproject.driver.extensions.NiciraSetNshSi;
import org.onosproject.driver.extensions.NiciraSetNshSpi;
import org.onosproject.driver.extensions.NiciraSetTunnelDst;
import org.onosproject.driver.extensions.Ofdpa3CopyField;
import org.onosproject.driver.extensions.Ofdpa3MatchMplsL2Port;
import org.onosproject.driver.extensions.Ofdpa3MatchOvid;
import org.onosproject.driver.extensions.Ofdpa3SetMplsL2Port;
import org.onosproject.driver.extensions.Ofdpa3SetMplsType;
import org.onosproject.driver.extensions.Ofdpa3SetOvid;
import org.onosproject.driver.extensions.Ofdpa3SetQosIndex;
import org.onosproject.driver.extensions.OfdpaMatchActsetOutput;
import org.onosproject.driver.extensions.OfdpaMatchAllowVlanTranslation;
import org.onosproject.driver.extensions.OfdpaMatchVlanVid;
import org.onosproject.driver.extensions.OfdpaSetVlanVid;
import org.onosproject.driver.extensions.OplinkAttenuation;
import org.onosproject.driver.extensions.codec.MoveExtensionTreatmentCodec;
import org.onosproject.driver.extensions.codec.NiciraMatchNshSiCodec;
import org.onosproject.driver.extensions.codec.NiciraMatchNshSpiCodec;
import org.onosproject.driver.extensions.codec.NiciraResubmitCodec;
import org.onosproject.driver.extensions.codec.NiciraResubmitTableCodec;
import org.onosproject.driver.extensions.codec.NiciraSetNshContextHeaderCodec;
import org.onosproject.driver.extensions.codec.NiciraSetNshSiCodec;
import org.onosproject.driver.extensions.codec.NiciraSetNshSpiCodec;
import org.onosproject.driver.extensions.codec.NiciraSetTunnelDstCodec;
import org.onosproject.driver.extensions.codec.Ofdpa3CopyFieldCodec;
import org.onosproject.driver.extensions.codec.Ofdpa3MatchMplsL2PortCodec;
import org.onosproject.driver.extensions.codec.Ofdpa3MatchOvidCodec;
import org.onosproject.driver.extensions.codec.Ofdpa3SetMplsL2PortCodec;
import org.onosproject.driver.extensions.codec.Ofdpa3SetMplsTypeCodec;
import org.onosproject.driver.extensions.codec.Ofdpa3SetOvidCodec;
import org.onosproject.driver.extensions.codec.Ofdpa3SetQosIndexCodec;
import org.onosproject.driver.extensions.codec.OfdpaMatchActsetOutputCodec;
import org.onosproject.driver.extensions.codec.OfdpaMatchAllowVlanTranslationCodec;
import org.onosproject.driver.extensions.codec.OfdpaMatchVlanVidCodec;
import org.onosproject.driver.extensions.codec.OfdpaSetVlanVidCodec;
import org.onosproject.driver.extensions.codec.OplinkAttenuationCodec;
import org.slf4j.Logger;
import static org.slf4j.LoggerFactory.getLogger;
/**
* Codec register for default drivers.
*/
@Component(immediate = true)
public class DefaultCodecRegister {
private final Logger log = getLogger(getClass());
@Reference(cardinality = ReferenceCardinality.MANDATORY)
protected CodecService codecService;
@Activate
public void activate() {
codecService.registerCodec(MoveExtensionTreatment.class, new MoveExtensionTreatmentCodec());
codecService.registerCodec(NiciraMatchNshSi.class, new NiciraMatchNshSiCodec());
codecService.registerCodec(NiciraMatchNshSpi.class, new NiciraMatchNshSpiCodec());
codecService.registerCodec(NiciraResubmit.class, new NiciraResubmitCodec());
codecService.registerCodec(NiciraResubmitTable.class, new NiciraResubmitTableCodec());
codecService.registerCodec(NiciraSetNshSi.class, new NiciraSetNshSiCodec());
codecService.registerCodec(NiciraSetNshSpi.class, new NiciraSetNshSpiCodec());
codecService.registerCodec(NiciraSetTunnelDst.class, new NiciraSetTunnelDstCodec());
codecService.registerCodec(NiciraSetNshContextHeader.class, new NiciraSetNshContextHeaderCodec());
codecService.registerCodec(OfdpaMatchVlanVid.class, new OfdpaMatchVlanVidCodec());
codecService.registerCodec(OfdpaSetVlanVid.class, new OfdpaSetVlanVidCodec());
codecService.registerCodec(OfdpaMatchActsetOutput.class, new OfdpaMatchActsetOutputCodec());
codecService.registerCodec(OfdpaMatchAllowVlanTranslation.class, new OfdpaMatchAllowVlanTranslationCodec());
codecService.registerCodec(Ofdpa3SetMplsType.class, new Ofdpa3SetMplsTypeCodec());
codecService.registerCodec(Ofdpa3MatchOvid.class, new Ofdpa3MatchOvidCodec());
codecService.registerCodec(Ofdpa3SetOvid.class, new Ofdpa3SetOvidCodec());
codecService.registerCodec(Ofdpa3SetQosIndex.class, new Ofdpa3SetQosIndexCodec());
codecService.registerCodec(Ofdpa3MatchMplsL2Port.class, new Ofdpa3MatchMplsL2PortCodec());
codecService.registerCodec(Ofdpa3SetMplsL2Port.class, new Ofdpa3SetMplsL2PortCodec());
codecService.registerCodec(OplinkAttenuation.class, new OplinkAttenuationCodec());
codecService.registerCodec(Ofdpa3CopyField.class, new Ofdpa3CopyFieldCodec());
log.info("Registered default driver codecs.");
}
@Deactivate
public void deactivate() {
codecService.unregisterCodec(MoveExtensionTreatment.class);
codecService.unregisterCodec(NiciraMatchNshSi.class);
codecService.unregisterCodec(NiciraMatchNshSpi.class);
codecService.unregisterCodec(NiciraResubmit.class);
codecService.unregisterCodec(NiciraResubmitTable.class);
codecService.unregisterCodec(NiciraSetNshSi.class);
codecService.unregisterCodec(NiciraSetNshSpi.class);
codecService.unregisterCodec(NiciraSetTunnelDst.class);
codecService.unregisterCodec(NiciraSetNshContextHeader.class);
codecService.unregisterCodec(OfdpaMatchVlanVid.class);
codecService.unregisterCodec(OfdpaSetVlanVid.class);
codecService.unregisterCodec(Ofdpa3SetMplsType.class);
codecService.unregisterCodec(Ofdpa3MatchOvid.class);
codecService.unregisterCodec(Ofdpa3SetOvid.class);
codecService.unregisterCodec(Ofdpa3SetQosIndex.class);
codecService.unregisterCodec(Ofdpa3MatchMplsL2Port.class);
codecService.unregisterCodec(Ofdpa3SetMplsL2Port.class);
codecService.unregisterCodec(OplinkAttenuation.class);
log.info("Unregistered default driver codecs.");
}
}