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'])
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'])