コード例 #1
0
ファイル: extraroute_db.py プロジェクト: kakawxy/neutron-1
    def _validate_routes(self, context, router_id, routes):
        if len(routes) > cfg.CONF.max_routes:
            raise extraroute.RoutesExhausted(router_id=router_id,
                                             quota=cfg.CONF.max_routes)

        filters = {'device_id': [router_id]}
        ports = self._core_plugin.get_ports(context, filters)
        for route in routes:
            self._validate_routes_nexthop(context, ports, routes,
                                          route['nexthop'])
コード例 #2
0
    def _validate_routes(self, context, router_id, routes):
        if len(routes) > cfg.CONF.max_routes:
            raise extraroute.RoutesExhausted(router_id=router_id,
                                             quota=cfg.CONF.max_routes)

        filters = {'device_id': [router_id]}
        ports = self._core_plugin.get_ports(context, filters)
        cidrs = []
        ips = []
        for port in ports:
            for ip in port['fixed_ips']:
                cidrs.append(
                    self._core_plugin._get_subnet(context,
                                                  ip['subnet_id'])['cidr'])
                ips.append(ip['ip_address'])
        for route in routes:
            self._validate_routes_nexthop(cidrs, ips, routes, route['nexthop'])