Package org.midonet.client.resource

Examples of org.midonet.client.resource.Bridge


            return false;
        }

        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

        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

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.