blob: 0c59d54a9b06ac6772387d580cc5cea6936eedef [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
18import org.apache.felix.scr.annotations.Activate;
19import org.apache.felix.scr.annotations.Component;
20import org.apache.felix.scr.annotations.Deactivate;
21import org.apache.felix.scr.annotations.Reference;
22import org.apache.felix.scr.annotations.ReferenceCardinality;
23import 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;
Pier Ventre958fd992016-10-24 13:46:43 -070033import org.onosproject.driver.extensions.Ofdpa3MatchMplsL2Port;
34import org.onosproject.driver.extensions.Ofdpa3MatchOvid;
35import org.onosproject.driver.extensions.Ofdpa3SetMplsL2Port;
36import org.onosproject.driver.extensions.Ofdpa3SetMplsType;
37import org.onosproject.driver.extensions.Ofdpa3SetOvid;
38import org.onosproject.driver.extensions.Ofdpa3SetQosIndex;
Jian Li08926a92016-05-05 15:35:40 -070039import org.onosproject.driver.extensions.OfdpaMatchVlanVid;
40import org.onosproject.driver.extensions.OfdpaSetVlanVid;
yjimmyycfcb0532016-07-11 16:03:48 -070041import org.onosproject.driver.extensions.OplinkAttenuation;
Jian Lidab72562016-04-12 14:10:32 -070042import org.onosproject.driver.extensions.codec.MoveExtensionTreatmentCodec;
43import org.onosproject.driver.extensions.codec.NiciraMatchNshSiCodec;
44import org.onosproject.driver.extensions.codec.NiciraMatchNshSpiCodec;
45import org.onosproject.driver.extensions.codec.NiciraResubmitCodec;
46import org.onosproject.driver.extensions.codec.NiciraResubmitTableCodec;
47import org.onosproject.driver.extensions.codec.NiciraSetNshContextHeaderCodec;
48import org.onosproject.driver.extensions.codec.NiciraSetNshSiCodec;
49import org.onosproject.driver.extensions.codec.NiciraSetNshSpiCodec;
50import org.onosproject.driver.extensions.codec.NiciraSetTunnelDstCodec;
Pier Ventre958fd992016-10-24 13:46:43 -070051import org.onosproject.driver.extensions.codec.Ofdpa3MatchMplsL2PortCodec;
52import org.onosproject.driver.extensions.codec.Ofdpa3MatchOvidCodec;
53import org.onosproject.driver.extensions.codec.Ofdpa3SetMplsL2PortCodec;
54import org.onosproject.driver.extensions.codec.Ofdpa3SetMplsTypeCodec;
55import org.onosproject.driver.extensions.codec.Ofdpa3SetOvidCodec;
56import org.onosproject.driver.extensions.codec.Ofdpa3SetQosIndexCodec;
Jian Li08926a92016-05-05 15:35:40 -070057import org.onosproject.driver.extensions.codec.OfdpaMatchVlanVidCodec;
58import org.onosproject.driver.extensions.codec.OfdpaSetVlanVidCodec;
yjimmyycfcb0532016-07-11 16:03:48 -070059import org.onosproject.driver.extensions.codec.OplinkAttenuationCodec;
Jian Lidab72562016-04-12 14:10:32 -070060import org.slf4j.Logger;
61
62import static org.slf4j.LoggerFactory.getLogger;
63
64/**
65 * Codec register for default drivers.
66 */
67@Component(immediate = true)
68public class DefaultCodecRegister {
69
70 private final Logger log = getLogger(getClass());
71
72 @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
73 protected CodecService codecService;
74
75 @Activate
76 public void activate() {
77 codecService.registerCodec(MoveExtensionTreatment.class, new MoveExtensionTreatmentCodec());
78 codecService.registerCodec(NiciraMatchNshSi.class, new NiciraMatchNshSiCodec());
79 codecService.registerCodec(NiciraMatchNshSpi.class, new NiciraMatchNshSpiCodec());
80 codecService.registerCodec(NiciraResubmit.class, new NiciraResubmitCodec());
81 codecService.registerCodec(NiciraResubmitTable.class, new NiciraResubmitTableCodec());
82 codecService.registerCodec(NiciraSetNshSi.class, new NiciraSetNshSiCodec());
83 codecService.registerCodec(NiciraSetNshSpi.class, new NiciraSetNshSpiCodec());
84 codecService.registerCodec(NiciraSetTunnelDst.class, new NiciraSetTunnelDstCodec());
85 codecService.registerCodec(NiciraSetNshContextHeader.class, new NiciraSetNshContextHeaderCodec());
Jian Li08926a92016-05-05 15:35:40 -070086 codecService.registerCodec(OfdpaMatchVlanVid.class, new OfdpaMatchVlanVidCodec());
87 codecService.registerCodec(OfdpaSetVlanVid.class, new OfdpaSetVlanVidCodec());
Pier Ventre958fd992016-10-24 13:46:43 -070088 codecService.registerCodec(Ofdpa3SetMplsType.class, new Ofdpa3SetMplsTypeCodec());
89 codecService.registerCodec(Ofdpa3MatchOvid.class, new Ofdpa3MatchOvidCodec());
90 codecService.registerCodec(Ofdpa3SetOvid.class, new Ofdpa3SetOvidCodec());
91 codecService.registerCodec(Ofdpa3SetQosIndex.class, new Ofdpa3SetQosIndexCodec());
92 codecService.registerCodec(Ofdpa3MatchMplsL2Port.class, new Ofdpa3MatchMplsL2PortCodec());
93 codecService.registerCodec(Ofdpa3SetMplsL2Port.class, new Ofdpa3SetMplsL2PortCodec());
yjimmyycfcb0532016-07-11 16:03:48 -070094 codecService.registerCodec(OplinkAttenuation.class, new OplinkAttenuationCodec());
Jian Lidab72562016-04-12 14:10:32 -070095 log.info("Registered default driver codecs.");
96 }
97
98 @Deactivate
99 public void deactivate() {
100 codecService.unregisterCodec(MoveExtensionTreatment.class);
101 codecService.unregisterCodec(NiciraMatchNshSi.class);
102 codecService.unregisterCodec(NiciraMatchNshSpi.class);
103 codecService.unregisterCodec(NiciraResubmit.class);
104 codecService.unregisterCodec(NiciraResubmitTable.class);
105 codecService.unregisterCodec(NiciraSetNshSi.class);
106 codecService.unregisterCodec(NiciraSetNshSpi.class);
107 codecService.unregisterCodec(NiciraSetTunnelDst.class);
108 codecService.unregisterCodec(NiciraSetNshContextHeader.class);
Jian Li08926a92016-05-05 15:35:40 -0700109 codecService.unregisterCodec(OfdpaMatchVlanVid.class);
110 codecService.unregisterCodec(OfdpaSetVlanVid.class);
Pier Ventre958fd992016-10-24 13:46:43 -0700111 codecService.unregisterCodec(Ofdpa3SetMplsType.class);
112 codecService.unregisterCodec(Ofdpa3MatchOvid.class);
113 codecService.unregisterCodec(Ofdpa3SetOvid.class);
114 codecService.unregisterCodec(Ofdpa3SetQosIndex.class);
115 codecService.unregisterCodec(Ofdpa3MatchMplsL2Port.class);
116 codecService.unregisterCodec(Ofdpa3SetMplsL2Port.class);
yjimmyycfcb0532016-07-11 16:03:48 -0700117 codecService.unregisterCodec(OplinkAttenuation.class);
Jian Lidab72562016-04-12 14:10:32 -0700118 log.info("Unregistered default driver codecs.");
119 }
120}