Package org.midonet.client.resource

Examples of org.midonet.client.resource.Bridge


        if (vm.getType() != VirtualMachine.Type.User) {
            return false;
        }

        // Get MidoNet bridge
        Bridge netBridge = getOrCreateNetworkBridge(network);

        // On bridge, get DHCP subnet (ensure it exists)
        ResourceCollection res = netBridge.getDhcpSubnets();

        DhcpSubnet sub = null;

        if(!res.isEmpty()){
            sub = (DhcpSubnet) res.get(0);
        } else {
            Pair<String,Integer> cidrInfo = NetUtils.getCidr(network.getCidr());
            sub = netBridge.addDhcpSubnet();

            sub.subnetLength(cidrInfo.second());
            sub.subnetPrefix(cidrInfo.first());
            sub.defaultGateway(network.getGateway());
            List<String> dcs = new ArrayList<String>();
View Full Code Here


            return false;
        }

        if(network.getTrafficType() == Networks.TrafficType.Guest){
            // Create the Midonet bridge for this network
            Bridge netBridge = getOrCreateNetworkBridge(network);
            Router tenantRouter = getOrCreateGuestNetworkRouter(network);

            // connect router and bridge
            ensureBridgeConnectedToRouter(network, netBridge, tenantRouter);
        }
View Full Code Here

        }

        if (nic.getTrafficType() == Networks.TrafficType.Guest ||
                nic.getTrafficType() == Networks.TrafficType.Public &&
                nic.getBroadcastType() == Networks.BroadcastDomainType.Mido){
            Bridge netBridge = getOrCreateNetworkBridge(network);
            if(nic.getTrafficType() == Networks.TrafficType.Public &&
                vm.getVirtualMachine().getType() != VirtualMachine.Type.DomainRouter){
                // Get provider router
                Router providerRouter = api.getRouter(_providerRouterId);

                Port[] ports = getOrCreatePublicBridgePorts(nic, netBridge, providerRouter);

                RouterPort providerDownlink = (RouterPort) ports[1];

                // Set route from router to bridge for this particular IP. Prepare
                // is called in both starting a new VM and restarting a VM, so the
                // NIC may
                boolean routeExists = false;
                for (Route route : providerRouter.getRoutes(new MultivaluedMapImpl())) {
                    String ip4 = route.getDstNetworkAddr();
                    if (ip4 != null && ip4.equals(nic.getIp4Address())) {
                        routeExists = true;
                        break;
                    }
                }

                if (!routeExists) {
                    providerRouter.addRoute()
                                  .type("Normal")
                                  .weight(100)
                                  .srcNetworkAddr("0.0.0.0")
                                  .srcNetworkLength(0)
                                  .dstNetworkAddr(nic.getIp4Address())
                                  .dstNetworkLength(32)
                                  .nextHopPort(providerDownlink.getId())
                                  .nextHopGateway(null)
                                  .create();
                }
            }

            // Add port on bridge
            BridgePort newPort = netBridge.addExteriorPort().create(); // returns wrapper resource of port

            // Set MidoNet port VIF ID to UUID of nic
            UUID nicUUID = getNicUUID(nic);
            newPort.vifId(nicUUID).update();
        }
View Full Code Here

        UUID nicUUID = getNicUUID(nic);
        if(nic.getTrafficType() == Networks.TrafficType.Guest ||
                (nic.getTrafficType() == Networks.TrafficType.Public &&
                nic.getBroadcastType() == Networks.BroadcastDomainType.Mido)) {
            // Seems like a good place to remove the port in midonet
            Bridge netBridge = getOrCreateNetworkBridge(network);

            Router providerRouter = api.getRouter(_providerRouterId);

            //remove the routes associated with this IP address
            for (Route route : providerRouter.getRoutes(new MultivaluedMapImpl())) {
                String routeDstAddr = route.getDstNetworkAddr();
                if (routeDstAddr != null && routeDstAddr.equals(nic.getIp4Address())) {
                    route.delete();
                }
            }

            for (BridgePort p : netBridge.getPorts()) {
                UUID vifID = p.getVifId();
                if(vifID != null && vifID.equals(nicUUID)){
                    // This is the MidoNet port which corresponds to the NIC we are releasing

                    // Set VIF ID to null
View Full Code Here

        // Find the single bridge for this network, create if doesn't exist
        return getOrCreateNetworkBridge(network.getId(), getAccountUuid(network));
    }

    private Bridge getOrCreateNetworkBridge(long networkID, String accountUuid){
        Bridge netBridge = getNetworkBridge(networkID, accountUuid);
        if(netBridge == null){

            String networkUUIDStr = String.valueOf(networkID);

            s_logger.debug("Attempting to create guest network bridge");
View Full Code Here

    private void deleteNetworkBridges(Network network){
        String accountUuid = getAccountUuid(network);
        long networkID = network.getId();

        Bridge netBridge = getNetworkBridge(networkID, accountUuid);
        if(netBridge != null){

            cleanBridge(netBridge);

            // Delete DHCP subnets
            for(Object dhcpSubnet : netBridge.getDhcpSubnets()){
                DhcpSubnet sub = (DhcpSubnet) dhcpSubnet;
                sub.delete();
            }

            netBridge.delete();
        }
    }
View Full Code Here

        //mockSubnetCollection
        ResourceCollection mockSubnetCollection = mock(ResourceCollection.class);
        when(mockSubnetCollection.get(anyInt())).thenReturn(mockSub);

        //mockBridge
        Bridge mockBridge = mock(Bridge.class);
        when(api.addBridge().tenantId(anyString()).name(anyString()).create()).thenReturn(mockBridge);
        when(mockBridge.getDhcpSubnets()).thenReturn(mockSubnetCollection);

        //mockRouter
        Router mockRouter = mock(Router.class);
        when(api.addRouter().tenantId(anyString()).name(anyString()).create()).thenReturn(mockRouter);
View Full Code Here

        ResourceCollection<Port> peerPorts = new ResourceCollection<Port>(new ArrayList<Port>());

        peerPorts.add(mockPort);

        //mockBridge
        Bridge mockBridge = mock(Bridge.class, RETURNS_DEEP_STUBS);
        when(api.addBridge().tenantId(anyString()).name(anyString()).create()).thenReturn(mockBridge);
        when(mockBridge.addInteriorPort().create()).thenReturn(mockBPort);
        when(mockBridge.getPeerPorts()).thenReturn(peerPorts);

        //mockRouter
        Router mockRouter = mock(Router.class, RETURNS_DEEP_STUBS);
        when(api.addRouter().tenantId(anyString()).name(anyString()).create()).thenReturn(mockRouter);
        when(mockRouter.addInteriorRouterPort().create()).thenReturn(mockRPort);
View Full Code Here

        if (vm.getType() != VirtualMachine.Type.User) {
            return false;
        }

        // Get MidoNet bridge
        Bridge netBridge = getOrCreateNetworkBridge(network);

        // On bridge, get DHCP subnet (ensure it exists)
        ResourceCollection res = netBridge.getDhcpSubnets();

        DhcpSubnet sub = null;

        if (!res.isEmpty()) {
            sub = (DhcpSubnet)res.get(0);
        } else {
            Pair<String, Integer> cidrInfo = NetUtils.getCidr(network.getCidr());
            sub = netBridge.addDhcpSubnet();

            sub.subnetLength(cidrInfo.second());
            sub.subnetPrefix(cidrInfo.first());
            sub.defaultGateway(network.getGateway());
            List<String> dcs = new ArrayList<String>();
View Full Code Here

            return false;
        }

        if (network.getTrafficType() == Networks.TrafficType.Guest) {
            // Create the Midonet bridge for this network
            Bridge netBridge = getOrCreateNetworkBridge(network);
            Router tenantRouter = getOrCreateGuestNetworkRouter(network);

            // connect router and bridge
            ensureBridgeConnectedToRouter(network, netBridge, tenantRouter);
        }
View Full Code Here

TOP

Related Classes of org.midonet.client.resource.Bridge

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.