blob: 9b643efdc3cc6f4f88433b3b5fb614437ae69be2 [file] [log] [blame]
Jian Lidab72562016-04-12 14:10:32 -07001/*
Brian O'Connora09fe5b2017-08-03 21:12:30 -07002 * Copyright 2016-present Open Networking Foundation
Jian Lidab72562016-04-12 14:10:32 -07003 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16package org.onosproject.driver;
17
Ray Milkeyd84f89b2018-08-17 14:54:17 -070018import org.osgi.service.component.annotations.Activate;
19import org.osgi.service.component.annotations.Component;
20import org.osgi.service.component.annotations.Deactivate;
21import org.osgi.service.component.annotations.Reference;
22import org.osgi.service.component.annotations.ReferenceCardinality;
Jian Lidab72562016-04-12 14:10:32 -070023import org.onosproject.codec.CodecService;
24import org.onosproject.driver.extensions.MoveExtensionTreatment;
25import org.onosproject.driver.extensions.NiciraMatchNshSi;
26import org.onosproject.driver.extensions.NiciraMatchNshSpi;
27import org.onosproject.driver.extensions.NiciraResubmit;
28import org.onosproject.driver.extensions.NiciraResubmitTable;
29import org.onosproject.driver.extensions.NiciraSetNshContextHeader;
30import org.onosproject.driver.extensions.NiciraSetNshSi;
31import org.onosproject.driver.extensions.NiciraSetNshSpi;
32import org.onosproject.driver.extensions.NiciraSetTunnelDst;
Andreas Pantelopoulosfdcfe532018-04-02 10:59:23 -070033import org.onosproject.driver.extensions.Ofdpa3CopyField;
Pier Ventre958fd992016-10-24 13:46:43 -070034import org.onosproject.driver.extensions.Ofdpa3MatchMplsL2Port;
35import org.onosproject.driver.extensions.Ofdpa3MatchOvid;
36import org.onosproject.driver.extensions.Ofdpa3SetMplsL2Port;
37import org.onosproject.driver.extensions.Ofdpa3SetMplsType;
38import org.onosproject.driver.extensions.Ofdpa3SetOvid;
39import org.onosproject.driver.extensions.Ofdpa3SetQosIndex;
Andreas Pantelopoulosfdcfe532018-04-02 10:59:23 -070040import org.onosproject.driver.extensions.OfdpaMatchActsetOutput;
41import org.onosproject.driver.extensions.OfdpaMatchAllowVlanTranslation;
Jian Li08926a92016-05-05 15:35:40 -070042import org.onosproject.driver.extensions.OfdpaMatchVlanVid;
43import org.onosproject.driver.extensions.OfdpaSetVlanVid;
yjimmyycfcb0532016-07-11 16:03:48 -070044import org.onosproject.driver.extensions.OplinkAttenuation;
Jian Lidab72562016-04-12 14:10:32 -070045import org.onosproject.driver.extensions.codec.MoveExtensionTreatmentCodec;
46import org.onosproject.driver.extensions.codec.NiciraMatchNshSiCodec;
47import org.onosproject.driver.extensions.codec.NiciraMatchNshSpiCodec;
48import org.onosproject.driver.extensions.codec.NiciraResubmitCodec;
49import org.onosproject.driver.extensions.codec.NiciraResubmitTableCodec;
50import org.onosproject.driver.extensions.codec.NiciraSetNshContextHeaderCodec;
51import org.onosproject.driver.extensions.codec.NiciraSetNshSiCodec;
52import org.onosproject.driver.extensions.codec.NiciraSetNshSpiCodec;
53import org.onosproject.driver.extensions.codec.NiciraSetTunnelDstCodec;
Andreas Pantelopoulosfdcfe532018-04-02 10:59:23 -070054import org.onosproject.driver.extensions.codec.Ofdpa3CopyFieldCodec;
Pier Ventre958fd992016-10-24 13:46:43 -070055import org.onosproject.driver.extensions.codec.Ofdpa3MatchMplsL2PortCodec;
56import org.onosproject.driver.extensions.codec.Ofdpa3MatchOvidCodec;
57import org.onosproject.driver.extensions.codec.Ofdpa3SetMplsL2PortCodec;
58import org.onosproject.driver.extensions.codec.Ofdpa3SetMplsTypeCodec;
59import org.onosproject.driver.extensions.codec.Ofdpa3SetOvidCodec;
60import org.onosproject.driver.extensions.codec.Ofdpa3SetQosIndexCodec;
Andreas Pantelopoulosfdcfe532018-04-02 10:59:23 -070061import org.onosproject.driver.extensions.codec.OfdpaMatchActsetOutputCodec;
62import org.onosproject.driver.extensions.codec.OfdpaMatchAllowVlanTranslationCodec;
Jian Li08926a92016-05-05 15:35:40 -070063import org.onosproject.driver.extensions.codec.OfdpaMatchVlanVidCodec;
64import org.onosproject.driver.extensions.codec.OfdpaSetVlanVidCodec;
yjimmyycfcb0532016-07-11 16:03:48 -070065import org.onosproject.driver.extensions.codec.OplinkAttenuationCodec;
Jian Lidab72562016-04-12 14:10:32 -070066import org.slf4j.Logger;
67
68import static org.slf4j.LoggerFactory.getLogger;
69
70/**
71 * Codec register for default drivers.
72 */
73@Component(immediate = true)
74public class DefaultCodecRegister {
75
76 private final Logger log = getLogger(getClass());
77
Ray Milkeyd84f89b2018-08-17 14:54:17 -070078 @Reference(cardinality = ReferenceCardinality.MANDATORY)
Jian Lidab72562016-04-12 14:10:32 -070079 protected CodecService codecService;
80
81 @Activate
82 public void activate() {
83 codecService.registerCodec(MoveExtensionTreatment.class, new MoveExtensionTreatmentCodec());
84 codecService.registerCodec(NiciraMatchNshSi.class, new NiciraMatchNshSiCodec());
85 codecService.registerCodec(NiciraMatchNshSpi.class, new NiciraMatchNshSpiCodec());
86 codecService.registerCodec(NiciraResubmit.class, new NiciraResubmitCodec());
87 codecService.registerCodec(NiciraResubmitTable.class, new NiciraResubmitTableCodec());
88 codecService.registerCodec(NiciraSetNshSi.class, new NiciraSetNshSiCodec());
89 codecService.registerCodec(NiciraSetNshSpi.class, new NiciraSetNshSpiCodec());
90 codecService.registerCodec(NiciraSetTunnelDst.class, new NiciraSetTunnelDstCodec());
91 codecService.registerCodec(NiciraSetNshContextHeader.class, new NiciraSetNshContextHeaderCodec());
Jian Li08926a92016-05-05 15:35:40 -070092 codecService.registerCodec(OfdpaMatchVlanVid.class, new OfdpaMatchVlanVidCodec());
93 codecService.registerCodec(OfdpaSetVlanVid.class, new OfdpaSetVlanVidCodec());
Andreas Pantelopoulosfdcfe532018-04-02 10:59:23 -070094 codecService.registerCodec(OfdpaMatchActsetOutput.class, new OfdpaMatchActsetOutputCodec());
95 codecService.registerCodec(OfdpaMatchAllowVlanTranslation.class, new OfdpaMatchAllowVlanTranslationCodec());
Pier Ventre958fd992016-10-24 13:46:43 -070096 codecService.registerCodec(Ofdpa3SetMplsType.class, new Ofdpa3SetMplsTypeCodec());
97 codecService.registerCodec(Ofdpa3MatchOvid.class, new Ofdpa3MatchOvidCodec());
98 codecService.registerCodec(Ofdpa3SetOvid.class, new Ofdpa3SetOvidCodec());
99 codecService.registerCodec(Ofdpa3SetQosIndex.class, new Ofdpa3SetQosIndexCodec());
100 codecService.registerCodec(Ofdpa3MatchMplsL2Port.class, new Ofdpa3MatchMplsL2PortCodec());
101 codecService.registerCodec(Ofdpa3SetMplsL2Port.class, new Ofdpa3SetMplsL2PortCodec());
yjimmyycfcb0532016-07-11 16:03:48 -0700102 codecService.registerCodec(OplinkAttenuation.class, new OplinkAttenuationCodec());
Andreas Pantelopoulosfdcfe532018-04-02 10:59:23 -0700103 codecService.registerCodec(Ofdpa3CopyField.class, new Ofdpa3CopyFieldCodec());
Jian Lidab72562016-04-12 14:10:32 -0700104 log.info("Registered default driver codecs.");
105 }
106
107 @Deactivate
108 public void deactivate() {
109 codecService.unregisterCodec(MoveExtensionTreatment.class);
110 codecService.unregisterCodec(NiciraMatchNshSi.class);
111 codecService.unregisterCodec(NiciraMatchNshSpi.class);
112 codecService.unregisterCodec(NiciraResubmit.class);
113 codecService.unregisterCodec(NiciraResubmitTable.class);
114 codecService.unregisterCodec(NiciraSetNshSi.class);
115 codecService.unregisterCodec(NiciraSetNshSpi.class);
116 codecService.unregisterCodec(NiciraSetTunnelDst.class);
117 codecService.unregisterCodec(NiciraSetNshContextHeader.class);
Jian Li08926a92016-05-05 15:35:40 -0700118 codecService.unregisterCodec(OfdpaMatchVlanVid.class);
119 codecService.unregisterCodec(OfdpaSetVlanVid.class);
Pier Ventre958fd992016-10-24 13:46:43 -0700120 codecService.unregisterCodec(Ofdpa3SetMplsType.class);
121 codecService.unregisterCodec(Ofdpa3MatchOvid.class);
122 codecService.unregisterCodec(Ofdpa3SetOvid.class);
123 codecService.unregisterCodec(Ofdpa3SetQosIndex.class);
124 codecService.unregisterCodec(Ofdpa3MatchMplsL2Port.class);
125 codecService.unregisterCodec(Ofdpa3SetMplsL2Port.class);
yjimmyycfcb0532016-07-11 16:03:48 -0700126 codecService.unregisterCodec(OplinkAttenuation.class);
Jian Lidab72562016-04-12 14:10:32 -0700127 log.info("Unregistered default driver codecs.");
128 }
129}