Minor tweaks to interface used by Openstack L3 forwarding
[ovsdb.git] / openstack / net-virt / src / main / java / org / opendaylight / ovsdb / openstack / netvirt / api / MultiTenantRouterForwardingProvider.java
1 /*
2  * Copyright (C) 2014 Red Hat, Inc.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  *
8  * Authors : Dave Tucker, Flavio Fernandes
9  */
10
11 package org.opendaylight.ovsdb.openstack.netvirt.api;
12
13 import org.opendaylight.controller.sal.core.Node;
14 import org.opendaylight.controller.sal.utils.Status;
15 import org.opendaylight.ovsdb.openstack.netvirt.AbstractEvent;
16
17 import java.net.InetAddress;
18
19 /**
20  * A MultiTenantForwardingProvider provides Multi-Tenant L3 Forwarding
21  */
22 public interface MultiTenantRouterForwardingProvider {
23
24     Status programStaticArpEntry(Node node, Long dpid, String segmentationId,
25                                  String macAddress, InetAddress ipAddress, AbstractEvent.Action action);
26
27     Status programIpRewriteRule(Node node, Long dpid, String segmentationId, InetAddress matchAddress,
28                                 InetAddress rewriteAddress, AbstractEvent.Action action);
29
30     Status programIpRewriteExclusion(Node node, Long dpid, String segmentationId,
31                                      String excludedCidr, AbstractEvent.Action action);
32
33     Status programRouterInterface(Node node, Long dpid, String segmentationId, String macAddress,
34                                   InetAddress address, int mask, AbstractEvent.Action action);
35
36     Status programForwardingTableEntry(Node node, Long dpid, String segmentationId, InetAddress ipAddress,
37                                        String macAddress, AbstractEvent.Action action);
38
39     Status programDefaultRouteEntry(Node node, Long dpid, String segmentationId, String macAddress,
40                                     InetAddress nextHop, AbstractEvent.Action action);
41
42 }