2 * Copyright (c) 2016 Red Hat, Inc. and others. All rights reserved.
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
9 package org.opendaylight.netvirt.netvirt.renderers.neutron;
11 import com.google.common.collect.ImmutableBiMap;
12 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.common.rev151227.NetworkTypeBase;
13 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.common.rev151227.NetworkTypeFlat;
14 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.common.rev151227.NetworkTypeGre;
15 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.common.rev151227.NetworkTypeVlan;
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.common.rev151227.NetworkTypeVxlan;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.ports.rev151227.PortTypeBase;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.ports.rev151227.PortTypeComputeNova;
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.ports.rev151227.PortTypeDhcp;
20 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.ports.rev151227.PortTypeFloatingIp;
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.ports.rev151227.PortTypeRouter;
22 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.ports.rev151227.PortTypeRouterGateway;
23 import org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.ports.rev151227.PortTypeRouterInterfaceDistributed;
26 * A collection of configuration constants
28 public final class Constants {
31 * Port owner descriptions used by Openstack Neutron
33 public static final String OWNER_ROUTER_INTERFACE = "network:router_interface";
34 public static final String OWNER_ROUTER_INTERFACE_DISTRIBUTED = "network:router_interface_distributed";
35 public static final String OWNER_ROUTER_GATEWAY = "network:router_gateway";
36 public static final String OWNER_NETWORK_DHCP = "network:dhcp";
37 public static final String OWNER_FLOATING_IP = "network:floatingip";
38 public static final String OWNER_COMPUTE_NOVA = "compute:nova";
41 public static final ImmutableBiMap<String, Class<? extends PortTypeBase>> NETVIRT_NEUTRON_PORT_TYPE_MAP
42 = new ImmutableBiMap.Builder<String, Class<? extends PortTypeBase>>()
43 .put(OWNER_ROUTER_INTERFACE, PortTypeRouter.class)
44 .put(OWNER_ROUTER_INTERFACE_DISTRIBUTED, PortTypeRouterInterfaceDistributed.class)
45 .put(OWNER_ROUTER_GATEWAY, PortTypeRouterGateway.class)
46 .put(OWNER_NETWORK_DHCP, PortTypeDhcp.class)
47 .put(OWNER_FLOATING_IP, PortTypeFloatingIp.class)
48 .put(OWNER_COMPUTE_NOVA, PortTypeComputeNova.class)
52 * Network type descriptions used by Openstack Neutron
54 public static final String NETWORK_TYPE_FLAT = "NetworkTypeFlat";
55 public static final String NETWORK_TYPE_VLAN = "NetworkTypeVlan";
56 public static final String NETWORK_TYPE_VXLAN = "NetworkTypeVxlan";
57 public static final String NETWORK_TYPE_GRE = "NetworkTypeGre";
59 public static final ImmutableBiMap<String, Class<? extends NetworkTypeBase>> NETVIRT_NEUTRON_NETWORK_TYPE_MAP
60 = new ImmutableBiMap.Builder<String, Class<? extends NetworkTypeBase>>()
61 .put(NETWORK_TYPE_FLAT, NetworkTypeFlat.class)
62 .put(NETWORK_TYPE_VLAN, NetworkTypeVlan.class)
63 .put(NETWORK_TYPE_VXLAN, NetworkTypeVxlan.class)
64 .put(NETWORK_TYPE_GRE, NetworkTypeGre.class)
67 public static final String NETVIRT_NEUTRON_OWNER_ENTITY_TYPE = "ovsdb-netvirt-neutron-provider";