mirror of
https://github.com/opennetworkinglab/onos.git
synced 2025-10-22 21:01:00 +02:00
[ONOS-2834] Define a L3ForwardService interface providing the rules in
L3Forward table. Change-Id: I49097305985add091a85b655257d772b5b71e667
This commit is contained in:
parent
4128225a5f
commit
d470eb94e6
@ -0,0 +1,47 @@
|
||||
/*
|
||||
* Copyright 2015 Open Networking Laboratory
|
||||
*
|
||||
* 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.vtn.table;
|
||||
|
||||
import org.onlab.packet.IpAddress;
|
||||
import org.onlab.packet.MacAddress;
|
||||
import org.onosproject.net.DeviceId;
|
||||
import org.onosproject.net.flowobjective.Objective;
|
||||
import org.onosproject.vtnrsc.SegmentationId;
|
||||
|
||||
/**
|
||||
* L3ForwardService interface provide the rules in L3Forward table which is Table(30).
|
||||
*/
|
||||
public interface L3ForwardService {
|
||||
|
||||
/**
|
||||
* Assemble the L3Forward table rules.
|
||||
* Match: ipv4 type, vnid and destination ip.
|
||||
* Action: set eth_src, set eth_dst, set vnid and goto L2Forward Table(50).
|
||||
*
|
||||
* @param deviceId Device Id
|
||||
* @param l3Vni the vni of L3 network
|
||||
* @param dstVmIP destination vm ip
|
||||
* @param dstVni the vni of the destination network (l2vni)
|
||||
* @param dstVmGwMac destination VM gateway mac
|
||||
* @param dstVmMac destination VM mac
|
||||
* @param type the operation type of the flow rules
|
||||
*/
|
||||
void programRouteRules(DeviceId deviceId, SegmentationId l3Vni,
|
||||
IpAddress dstVmIP, SegmentationId dstVni,
|
||||
MacAddress dstVmGwMac, MacAddress dstVmMac,
|
||||
Objective.Operation type);
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user