public SetStaticRouteAnswer(SetStaticRouteCommand cmd, boolean success, String[] results) { super(cmd, success, null); if (results != null) { assert (cmd.getStaticRoutes().length == results.length) : "Static routes and their results should be the same length"; this.results = Arrays.copyOf(results, results.length); } }
final String[] results = new String[cmd.getStaticRoutes().length]; int i = 0; final String[] rules = cmd.generateSRouteRules(); final StringBuilder sb = new StringBuilder();
public void createStaticRouteCommands(final List<StaticRouteProfile> staticRoutes, final VirtualRouter router, final Commands cmds) { final SetStaticRouteCommand cmd = new SetStaticRouteCommand(staticRoutes); cmd.setAccessDetail(NetworkElementCommand.ROUTER_IP, _routerControlHelper.getRouterControlIp(router.getId())); cmd.setAccessDetail(NetworkElementCommand.ROUTER_NAME, router.getInstanceName()); final DataCenterVO dcVo = _dcDao.findById(router.getDataCenterId()); cmd.setAccessDetail(NetworkElementCommand.ZONE_NETWORK_TYPE, dcVo.getNetworkType().toString()); cmds.addCommand(cmd); }
public void createStaticRouteCommands(final List<StaticRouteProfile> staticRoutes, final DomainRouterVO router, final Commands cmds) { final SetStaticRouteCommand cmd = new SetStaticRouteCommand(staticRoutes); cmd.setAccessDetail(NetworkElementCommand.ROUTER_IP, _routerControlHelper.getRouterControlIp(router.getId())); cmd.setAccessDetail(NetworkElementCommand.ROUTER_NAME, router.getInstanceName()); final DataCenterVO dcVo = _dcDao.findById(router.getDataCenterId()); cmd.setAccessDetail(NetworkElementCommand.ZONE_NETWORK_TYPE, dcVo.getNetworkType().toString()); cmds.addCommand(cmd); }
@Override public List<ConfigItem> generateConfig(final NetworkElementCommand cmd) { final SetStaticRouteCommand command = (SetStaticRouteCommand) cmd; final LinkedList<StaticRoute> routes = new LinkedList<>(); for (final StaticRouteProfile profile : command.getStaticRoutes()) { final String cidr = profile.getCidr(); final String subnet = NetUtils.getCidrSubNet(cidr); final String cidrSize = cidr.split("\\/")[1]; final boolean keep = profile.getState() == com.cloud.network.vpc.StaticRoute.State.Active || profile.getState() == com.cloud.network.vpc.StaticRoute.State.Add; routes.add(new StaticRoute(!keep, profile.getIp4Address(), profile.getGateway(), subnet + "/" + cidrSize)); } return generateConfigItems(new StaticRoutes(routes)); }