blob: 09a52fbba3fdab1d53d4618c08dbb3fe27f29df1 [file] [log] [blame]
Charles Chan40132b32017-01-22 00:19:37 -08001/*
Brian O'Connora09fe5b2017-08-03 21:12:30 -07002 * Copyright 2017-present Open Networking Foundation
Charles Chan40132b32017-01-22 00:19:37 -08003 *
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 */
16
Yi Tsengef19de12017-04-24 11:33:05 -070017package org.onosproject.driver.pipeline.ofdpa;
Charles Chan40132b32017-01-22 00:19:37 -080018
19import org.onosproject.net.behaviour.PipelinerContext;
Charles Chan0f43e472017-02-14 14:00:16 -080020
Charles Chan40132b32017-01-22 00:19:37 -080021/**
22 * Driver for software switch emulation of the OFDPA pipeline.
Saurav Das1547b3f2017-05-05 17:01:08 -070023 * The software switch is the OVS OF 1.3 switch (version 2.5 or later).
Charles Chan40132b32017-01-22 00:19:37 -080024 */
25public class OvsOfdpa2Pipeline extends CpqdOfdpa2Pipeline {
Charles Chan0f43e472017-02-14 14:00:16 -080026
Charles Chan40132b32017-01-22 00:19:37 -080027 @Override
28 protected void initDriverId() {
29 driverId = coreService.registerApplication(
30 "org.onosproject.driver.OvsOfdpa2Pipeline");
31 }
32
33 @Override
34 protected void initGroupHander(PipelinerContext context) {
pier95e62512020-03-20 11:00:38 +010035 // Terminate internal references
36 // We are terminating the references here
37 // because when the device is offline the apps
38 // are still sending flowobjectives
39 if (groupHandler != null) {
40 groupHandler.terminate();
41 }
Charles Chan40132b32017-01-22 00:19:37 -080042 groupHandler = new OvsOfdpa2GroupHandler();
43 groupHandler.init(deviceId, context);
44 }
45
46 @Override
47 protected boolean supportCopyTtl() {
48 return false;
49 }
Charles Chan0f43e472017-02-14 14:00:16 -080050
51 @Override
52 protected boolean supportTaggedMpls() {
53 return true;
54 }
55
56 @Override
57 protected boolean supportPuntGroup() {
58 return true;
59 }
Andrea Campanella84ac4df2018-04-30 11:48:55 +020060
61 @Override
62 protected boolean supportsUnicastBlackHole() {
63 return true;
64 }
Harshada Chaundkarb73d5d62019-08-05 15:33:30 +000065
66 @Override
67 protected boolean requireEthType() {
68 return false;
69 }
Charles Chan40132b32017-01-22 00:19:37 -080070}