2 * Copyright (C) 2014 Red Hat, Inc.
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
8 * Authors : Dave Tucker, Flavio Fernandes
11 package org.opendaylight.ovsdb.openstack.netvirt.impl;
13 import org.opendaylight.ovsdb.openstack.netvirt.ConfigInterface;
14 import org.opendaylight.ovsdb.openstack.netvirt.api.MultiTenantAwareRouter;
16 import java.net.InetAddress;
17 import java.util.UUID;
18 import org.osgi.framework.BundleContext;
19 import org.osgi.framework.ServiceReference;
22 * OpenStack router implements the MultiTenantAwareRouter interfaces It provides routing functionality for multiple
23 * tenants in an OpenStack cloud
25 public class OpenstackRouter implements MultiTenantAwareRouter, ConfigInterface {
28 public void addInterface(UUID tenantId, String interfaceName, InetAddress address, int mask) {
33 public void addInterface(UUID tenantId, String interfaceName, String macAddress, InetAddress address, int mask) {
38 public void updateInterface(UUID tenantId, String interfaceName, InetAddress address, int mask) {
43 public void updateInterface(UUID tenantId, String interfaceName, String macAddress, InetAddress address, int mask) {
48 public void removeInterface(UUID tenantId, String interfaceName) {
53 public void addRoute(UUID tenantId, String destinationCidr, InetAddress nextHop) {
58 public void addRoute(UUID tenantId, String destinationCidr, InetAddress nextHop, Integer priority) {
63 public void removeRoute(UUID tenantId, String destinationCidr, InetAddress nextHop) {
68 public void removeRoute(UUID tenantId, String destinationCidr, InetAddress nextHop, Integer priority) {
73 public void addDefaultRoute(UUID tenantId, InetAddress nextHop) {
78 public void addDefaultRoute(UUID tenantId, InetAddress nextHop, Integer priority) {
83 public void addNatRule(UUID tenantId, InetAddress matchAddress, InetAddress rewriteAddress) {
88 public void setDependencies(BundleContext bundleContext, ServiceReference serviceReference) {
93 public void setDependencies(Object impl) {