diff options
Diffstat (limited to 'lib/if.c')
| -rw-r--r-- | lib/if.c | 77 |
1 files changed, 28 insertions, 49 deletions
@@ -750,36 +750,37 @@ if_sunwzebra_get (const char *name, size_t nlen, vrf_id_t vrf_id) DEFUN (interface, interface_cmd, - "interface IFNAME", + "interface IFNAME" VRF_CMD_STR_OPT, "Select an interface to configure\n" - "Interface's name\n") + "Interface's name\n" + VRF_CMD_HELP_STR) { struct interface *ifp; size_t sl; vrf_id_t vrf_id = VRF_DEFAULT; - if ((sl = strlen(argv[0])) > INTERFACE_NAMSIZ) + if ((sl = strlen(argv[0]->arg)) > INTERFACE_NAMSIZ) { vty_out (vty, "%% Interface name %s is invalid: length exceeds " "%d characters%s", - argv[0], INTERFACE_NAMSIZ, VTY_NEWLINE); + argv[0]->arg, INTERFACE_NAMSIZ, VTY_NEWLINE); return CMD_WARNING; } /*Pending: need proper vrf name based lookup/(possible creation of VRF) Imagine forward reference of a vrf by name in this interface config */ if (argc > 1) - VRF_GET_ID (vrf_id, argv[1]); + VRF_GET_ID (vrf_id, argv[1]->arg); #ifdef SUNOS_5 - ifp = if_sunwzebra_get (argv[0], sl, vrf_id); + ifp = if_sunwzebra_get (argv[0]->arg, sl, vrf_id); #else - ifp = if_get_by_name_len_vrf (argv[0], sl, vrf_id, 1); + ifp = if_get_by_name_len_vrf (argv[0]->arg, sl, vrf_id, 1); #endif /* SUNOS_5 */ if (!ifp) { - vty_out (vty, "%% interface %s not in %s%s", argv[0], argv[1], VTY_NEWLINE); + vty_out (vty, "%% interface %s not in %s%s", argv[0]->arg, argv[1]->arg, VTY_NEWLINE); return CMD_WARNING; } vty->index = ifp; @@ -788,32 +789,26 @@ DEFUN (interface, return CMD_SUCCESS; } -ALIAS (interface, - interface_vrf_cmd, - "interface IFNAME " VRF_CMD_STR, - "Select an interface to configure\n" - "Interface's name\n" - VRF_CMD_HELP_STR) - DEFUN_NOSH (no_interface, no_interface_cmd, - "no interface IFNAME", + "no interface IFNAME" VRF_CMD_STR_OPT, NO_STR "Delete a pseudo interface's configuration\n" - "Interface's name\n") + "Interface's name\n" + VRF_CMD_HELP_STR) { // deleting interface struct interface *ifp; vrf_id_t vrf_id = VRF_DEFAULT; if (argc > 1) - VRF_GET_ID (vrf_id, argv[1]); + VRF_GET_ID (vrf_id, argv[1]->arg); - ifp = if_lookup_by_name_vrf (argv[0], vrf_id); + ifp = if_lookup_by_name_vrf (argv[0]->arg, vrf_id); if (ifp == NULL) { - vty_out (vty, "%% Interface %s does not exist%s", argv[0], VTY_NEWLINE); + vty_out (vty, "%% Interface %s does not exist%s", argv[0]->arg, VTY_NEWLINE); return CMD_WARNING; } @@ -829,32 +824,23 @@ DEFUN_NOSH (no_interface, return CMD_SUCCESS; } -ALIAS (no_interface, - no_interface_vrf_cmd, - "no interface IFNAME " VRF_CMD_STR, - NO_STR - "Delete a pseudo interface's configuration\n" - "Interface's name\n" - VRF_CMD_HELP_STR) - DEFUN (vrf, vrf_cmd, - "vrf NAME", - "Select a VRF to configure\n" - "VRF's name\n") + VRF_CMD_STR, + VRF_CMD_HELP_STR) { struct vrf *vrfp; size_t sl; - if ((sl = strlen(argv[0])) > VRF_NAMSIZ) + if ((sl = strlen(argv[0]->arg)) > VRF_NAMSIZ) { vty_out (vty, "%% VRF name %s is invalid: length exceeds " "%d characters%s", - argv[0], VRF_NAMSIZ, VTY_NEWLINE); + argv[0]->arg, VRF_NAMSIZ, VTY_NEWLINE); return CMD_WARNING; } - vrfp = vrf_get (VRF_UNKNOWN, argv[0]); + vrfp = vrf_get (VRF_UNKNOWN, argv[0]->arg); vty->index = vrfp; vty->node = VRF_NODE; @@ -864,18 +850,17 @@ DEFUN (vrf, DEFUN_NOSH (no_vrf, no_vrf_cmd, - "no vrf NAME", + "no " VRF_CMD_STR, NO_STR - "Delete a pseudo VRF's configuration\n" - "VRF's name\n") + VRF_CMD_HELP_STR) { struct vrf *vrfp; - vrfp = vrf_list_lookup_by_name (argv[0]); + vrfp = vrf_list_lookup_by_name (argv[0]->arg); if (vrfp == NULL) { - vty_out (vty, "%% VRF %s does not exist%s", argv[0], VTY_NEWLINE); + vty_out (vty, "%% VRF %s does not exist%s", argv[0]->arg, VTY_NEWLINE); return CMD_WARNING; } @@ -895,9 +880,10 @@ DEFUN_NOSH (no_vrf, /* For debug purpose. */ DEFUN (show_address, show_address_cmd, - "show address", + "show address" VRF_CMD_STR_OPT, SHOW_STR - "address\n") + "address\n" + VRF_CMD_HELP_STR) { struct listnode *node; struct listnode *node2; @@ -907,7 +893,7 @@ DEFUN (show_address, vrf_id_t vrf_id = VRF_DEFAULT; if (argc > 0) - VRF_GET_ID (vrf_id, argv[0]); + VRF_GET_ID (vrf_id, argv[0]->arg); for (ALL_LIST_ELEMENTS_RO (vrf_iflist (vrf_id), node, ifp)) { @@ -923,13 +909,6 @@ DEFUN (show_address, return CMD_SUCCESS; } -ALIAS (show_address, - show_address_vrf_cmd, - "show address " VRF_CMD_STR, - SHOW_STR - "address\n" - VRF_CMD_HELP_STR) - DEFUN (show_address_vrf_all, show_address_vrf_all_cmd, "show address " VRF_ALL_CMD_STR, |
