blob: ead2785e4cc9bbb3a6d8b9b3b6b0ddacd50840e8 [file] [log] [blame]
Jian Li0e09eaa2017-02-14 02:01:18 +09001/*
2 * Copyright 2017-present Open Networking Laboratory
3 *
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.mapping.addresses;
17
Jian Li924995b2017-03-18 12:34:46 +090018import org.onlab.util.KryoNamespace;
Jian Li2c4e9a92017-03-13 16:45:53 +090019import org.onosproject.net.flow.Extension;
Jian Li924995b2017-03-18 12:34:46 +090020import org.onosproject.store.serializers.KryoNamespaces;
Jian Li0e09eaa2017-02-14 02:01:18 +090021
22/**
Jian Li2c4e9a92017-03-13 16:45:53 +090023 * An extension for the mapping address API.
Jian Li0e09eaa2017-02-14 02:01:18 +090024 */
Jian Li2c4e9a92017-03-13 16:45:53 +090025public interface ExtensionMappingAddress extends Extension {
Jian Li0e09eaa2017-02-14 02:01:18 +090026
Jian Li924995b2017-03-18 12:34:46 +090027 KryoNamespace APP_KRYO = new KryoNamespace.Builder()
28 .register(KryoNamespaces.API)
29 .register(MappingAddress.class)
30 .register(MappingAddress.Type.class)
31 .register(IPMappingAddress.class)
32 .register(ASMappingAddress.class)
33 .register(DNMappingAddress.class)
34 .register(EthMappingAddress.class)
35 .build();
36
Jian Li0e09eaa2017-02-14 02:01:18 +090037 /**
Jian Li2c4e9a92017-03-13 16:45:53 +090038 * Obtains the type of the extension mapping address.
Jian Li0e09eaa2017-02-14 02:01:18 +090039 *
Jian Li2c4e9a92017-03-13 16:45:53 +090040 * @return type
Jian Li0e09eaa2017-02-14 02:01:18 +090041 */
Jian Li2c4e9a92017-03-13 16:45:53 +090042 ExtensionMappingAddressType type();
Jian Li0e09eaa2017-02-14 02:01:18 +090043}