@@ -0,0 +1,1747 @@
+/*%0A * Copyright 2015 Open Networking Laboratory%0A *%0A * Licensed under the Apache License, Version 2.0 (the %22License%22);%0A * you may not use this file except in compliance with the License.%0A * You may obtain a copy of the License at%0A *%0A *     http://www.apache.org/licenses/LICENSE-2.0%0A *%0A * Unless required by applicable law or agreed to in writing, software%0A * distributed under the License is distributed on an %22AS IS%22 BASIS,%0A * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0A * See the License for the specific language governing permissions and%0A * limitations under the License.%0A */%0Apackage org.onosproject.vtn.table;%0A%0Aimport org.onlab.packet.IpAddress;%0Aimport org.onlab.packet.MacAddress;%0Aimport org.onosproject.net.DeviceId;%0Aimport org.onosproject.net.flowobjective.Objective;%0Aimport org.onosproject.vtnrsc.SegmentationId;%0A%0A/**%0A * DnatService interface provides the rules in DNAT table which is Table(20) for ovs pipeline.%0A * DNAT means Destination Network Address Translation, it is acronym for network terminology.%0A * Handle the downward flows.%0A */%0Apublic interface DnatService %7B%0A%0A    /**%0A     * Assemble the DNAT table rules.%0A     * Match: ipv4 type and destination ip.%0A     * Action: set eth_src, set ip_dst, set vnid and goto L3Forward Table(30).%0A     *%0A     * @param deviceId Device Id%0A     * @param dstIp floating ip%0A     * @param ethSrc floating ip gateway mac%0A     * @param ipDst destination vm ip%0A     * @param actionVni the vni of L3 network%0A     * @param type the operation type of the flow rules%0A     */%0A    void programRules(DeviceId deviceId, IpAddress dstIp,%0A                          MacAddress ethSrc, IpAddress ipDst,%0A                          SegmentationId actionVni, Objective.Operation type);%0A%7D%0A

Define a DnatService interface providing the rules in DNAT table.