static void parse_long_opts(int opt_index, char *opt_arg) { errno = 0; switch (opt_index) { case COMMAND_OPT_INDEX: usage_internal(); break; case CREATE_OPT_INDEX: vxlan_op = SANDESH_OP_ADD; vxlan_vnid = strtoul(opt_arg, NULL, 0); if (errno) usage_internal(); break; case DELETE_OPT_INDEX: vxlan_op = SANDESH_OP_DELETE; vxlan_vnid = strtoul(opt_arg, NULL, 0); if (errno) usage_internal(); break; case DUMP_OPT_INDEX: vxlan_op = SANDESH_OP_DUMP; break; case GET_OPT_INDEX: vxlan_op = SANDESH_OP_GET; vxlan_vnid = strtoul(opt_arg, NULL, 0); if (errno) Usage(); break; case HELP_OPT_INDEX: Usage(); break; case NEXTHOP_OPT_INDEX: vxlan_nh = strtoul(opt_arg, NULL, 0); if (errno) usage_internal(); break; default: Usage(); break; } return; }
static void validate_options(void) { int sum_op = create_set + delete_set + dump_set + get_set; if (sum_op > 1 || vxlan_op < 0) Usage(); if (create_set) if (!nh_set) usage_internal(); if (vnid_set) if (!create_set || !delete_set || !get_set) usage_internal(); return; }
static void parse_long_opts(int opt_index, char *opt_arg) { errno = 0; switch (opt_index) { case COMMAND_OPT_INDEX: usage_internal(); break; case CREATE_OPT_INDEX: mirror_op = SANDESH_OP_ADD; mirror_index = strtoul(opt_arg, NULL, 0); if (errno) usage_internal(); break; case DELETE_OPT_INDEX: mirror_op = SANDESH_OP_DEL; mirror_index = strtoul(opt_arg, NULL, 0); if (errno) usage_internal(); break; case DUMP_OPT_INDEX: mirror_op = SANDESH_OP_DUMP; break; case GET_OPT_INDEX: mirror_op = SANDESH_OP_GET; mirror_index = strtoul(opt_arg, NULL, 0); if (errno) Usage(); break; case HELP_OPT_INDEX: Usage(); break; case NEXTHOP_OPT_INDEX: mirror_nh = strtoul(opt_arg, NULL, 0); if (errno) usage_internal(); break; case DYNAMIC_OPT_INDEX: mirror_flags = VR_MIRROR_FLAG_DYNAMIC; break; case VNI_OPT_INDEX: vni_id = strtoul(opt_arg, NULL, 0); if (errno) usage_internal(); break; default: Usage(); break; } return; }