📄 ospf_vty.c
字号:
vl_config.auth_type = OSPF_AUTH_CRYPTOGRAPHIC; i++; } } } break; case 'm': /* message-digest-key */ i++; vl_config.crypto_key_id = strtol (argv[i], NULL, 10); if (vl_config.crypto_key_id < 0) return CMD_WARNING; i++; memset(md5_key, 0, OSPF_AUTH_MD5_SIZE+1); strncpy (md5_key, argv[i], OSPF_AUTH_MD5_SIZE); vl_config.md5_key = md5_key; break; case 'h': /* Hello interval */ i++; vl_config.hello_interval = strtol (argv[i], NULL, 10); if (vl_config.hello_interval < 0) return CMD_WARNING; break; case 'r': /* Retransmit Interval */ i++; vl_config.retransmit_interval = strtol (argv[i], NULL, 10); if (vl_config.retransmit_interval < 0) return CMD_WARNING; break; case 't': /* Transmit Delay */ i++; vl_config.transmit_delay = strtol (argv[i], NULL, 10); if (vl_config.transmit_delay < 0) return CMD_WARNING; break; case 'd': /* Dead Interval */ i++; vl_config.dead_interval = strtol (argv[i], NULL, 10); if (vl_config.dead_interval < 0) return CMD_WARNING; break; } } /* Action configuration */ return ospf_vl_set (ospf, &vl_config);}DEFUN (no_ospf_area_vlink, no_ospf_area_vlink_cmd, "no area (A.B.C.D|<0-4294967295>) virtual-link A.B.C.D", NO_STR VLINK_HELPSTR_IPADDR){ struct ospf *ospf = vty->index; struct ospf_area *area; struct ospf_vl_config_data vl_config; struct ospf_vl_data *vl_data = NULL; char auth_key[OSPF_AUTH_SIMPLE_SIZE+1]; int i; int ret, format; ospf_vl_config_data_init(&vl_config, vty); ret = ospf_str2area_id (argv[0], &vl_config.area_id, &format); if (ret < 0) { vty_out (vty, "OSPF area ID is invalid%s", VTY_NEWLINE); return CMD_WARNING; } area = ospf_area_lookup_by_area_id (ospf, vl_config.area_id); if (!area) { vty_out (vty, "Area does not exist%s", VTY_NEWLINE); return CMD_WARNING; } ret = inet_aton (argv[1], &vl_config.vl_peer); if (! ret) { vty_out (vty, "Please specify valid Router ID as a.b.c.d%s", VTY_NEWLINE); return CMD_WARNING; } if (argc <=2) { /* Basic VLink no command */ /* Thats all folks! - BUGS B. strikes again!!!*/ if ((vl_data = ospf_vl_lookup (area, vl_config.vl_peer))) ospf_vl_delete (ospf, vl_data); ospf_area_check_free (ospf, vl_config.area_id); return CMD_SUCCESS; } /* If we are down here, we are reseting parameters */ /* Deal with other parameters */ for (i=2; i < argc; i++) { /* vty_out (vty, "argv[%d] - %s%s", i, argv[i], VTY_NEWLINE); */ switch (argv[i][0]) { case 'a': if (i > 2 || strncmp (argv[i], "authentication-", 15) == 0) { /* authentication-key - this option can occur anywhere on command line. At start of command line must check for authentication option. */ memset (auth_key, 0, OSPF_AUTH_SIMPLE_SIZE + 1); vl_config.auth_key = auth_key; } else if (strncmp (argv[i], "authentication", 14) == 0) { /* authentication - this option can only occur at start of command line */ vl_config.auth_type = OSPF_AUTH_NOTSET; } break; case 'm': /* message-digest-key */ /* Delete one key */ i++; vl_config.crypto_key_id = strtol (argv[i], NULL, 10); if (vl_config.crypto_key_id < 0) return CMD_WARNING; vl_config.md5_key = NULL; break; case 'h': /* Hello interval */ vl_config.hello_interval = OSPF_HELLO_INTERVAL_DEFAULT; break; case 'r': /* Retransmit Interval */ vl_config.retransmit_interval = OSPF_RETRANSMIT_INTERVAL_DEFAULT; break; case 't': /* Transmit Delay */ vl_config.transmit_delay = OSPF_TRANSMIT_DELAY_DEFAULT; break; case 'd': /* Dead Interval */ i++; vl_config.dead_interval = OSPF_ROUTER_DEAD_INTERVAL_DEFAULT; break; } } /* Action configuration */ return ospf_vl_set (ospf, &vl_config);}ALIAS (ospf_area_vlink, ospf_area_vlink_param1_cmd, "area (A.B.C.D|<0-4294967295>) virtual-link A.B.C.D " "(hello-interval|retransmit-interval|transmit-delay|dead-interval) <1-65535>", VLINK_HELPSTR_IPADDR VLINK_HELPSTR_TIME_PARAM);ALIAS (no_ospf_area_vlink, no_ospf_area_vlink_param1_cmd, "no area (A.B.C.D|<0-4294967295>) virtual-link A.B.C.D " "(hello-interval|retransmit-interval|transmit-delay|dead-interval)", NO_STR VLINK_HELPSTR_IPADDR VLINK_HELPSTR_TIME_PARAM);ALIAS (ospf_area_vlink, ospf_area_vlink_param2_cmd, "area (A.B.C.D|<0-4294967295>) virtual-link A.B.C.D " "(hello-interval|retransmit-interval|transmit-delay|dead-interval) <1-65535> " "(hello-interval|retransmit-interval|transmit-delay|dead-interval) <1-65535>", VLINK_HELPSTR_IPADDR VLINK_HELPSTR_TIME_PARAM VLINK_HELPSTR_TIME_PARAM);ALIAS (no_ospf_area_vlink, no_ospf_area_vlink_param2_cmd, "no area (A.B.C.D|<0-4294967295>) virtual-link A.B.C.D " "(hello-interval|retransmit-interval|transmit-delay|dead-interval) " "(hello-interval|retransmit-interval|transmit-delay|dead-interval)", NO_STR VLINK_HELPSTR_IPADDR VLINK_HELPSTR_TIME_PARAM VLINK_HELPSTR_TIME_PARAM);ALIAS (ospf_area_vlink, ospf_area_vlink_param3_cmd, "area (A.B.C.D|<0-4294967295>) virtual-link A.B.C.D " "(hello-interval|retransmit-interval|transmit-delay|dead-interval) <1-65535> " "(hello-interval|retransmit-interval|transmit-delay|dead-interval) <1-65535> " "(hello-interval|retransmit-interval|transmit-delay|dead-interval) <1-65535>", VLINK_HELPSTR_IPADDR VLINK_HELPSTR_TIME_PARAM VLINK_HELPSTR_TIME_PARAM VLINK_HELPSTR_TIME_PARAM);ALIAS (no_ospf_area_vlink, no_ospf_area_vlink_param3_cmd, "no area (A.B.C.D|<0-4294967295>) virtual-link A.B.C.D " "(hello-interval|retransmit-interval|transmit-delay|dead-interval) " "(hello-interval|retransmit-interval|transmit-delay|dead-interval) " "(hello-interval|retransmit-interval|transmit-delay|dead-interval)", NO_STR VLINK_HELPSTR_IPADDR VLINK_HELPSTR_TIME_PARAM VLINK_HELPSTR_TIME_PARAM VLINK_HELPSTR_TIME_PARAM);ALIAS (ospf_area_vlink, ospf_area_vlink_param4_cmd, "area (A.B.C.D|<0-4294967295>) virtual-link A.B.C.D " "(hello-interval|retransmit-interval|transmit-delay|dead-interval) <1-65535> " "(hello-interval|retransmit-interval|transmit-delay|dead-interval) <1-65535> " "(hello-interval|retransmit-interval|transmit-delay|dead-interval) <1-65535> " "(hello-interval|retransmit-interval|transmit-delay|dead-interval) <1-65535>", VLINK_HELPSTR_IPADDR VLINK_HELPSTR_TIME_PARAM VLINK_HELPSTR_TIME_PARAM VLINK_HELPSTR_TIME_PARAM VLINK_HELPSTR_TIME_PARAM);ALIAS (no_ospf_area_vlink, no_ospf_area_vlink_param4_cmd, "no area (A.B.C.D|<0-4294967295>) virtual-link A.B.C.D " "(hello-interval|retransmit-interval|transmit-delay|dead-interval) " "(hello-interval|retransmit-interval|transmit-delay|dead-interval) " "(hello-interval|retransmit-interval|transmit-delay|dead-interval) " "(hello-interval|retransmit-interval|transmit-delay|dead-interval)", NO_STR VLINK_HELPSTR_IPADDR VLINK_HELPSTR_TIME_PARAM VLINK_HELPSTR_TIME_PARAM VLINK_HELPSTR_TIME_PARAM VLINK_HELPSTR_TIME_PARAM);ALIAS (ospf_area_vlink, ospf_area_vlink_authtype_args_cmd, "area (A.B.C.D|<0-4294967295>) virtual-link A.B.C.D " "(authentication|) (message-digest|null)", VLINK_HELPSTR_IPADDR VLINK_HELPSTR_AUTHTYPE_ALL);ALIAS (ospf_area_vlink, ospf_area_vlink_authtype_cmd, "area (A.B.C.D|<0-4294967295>) virtual-link A.B.C.D " "(authentication|)", VLINK_HELPSTR_IPADDR VLINK_HELPSTR_AUTHTYPE_SIMPLE);ALIAS (no_ospf_area_vlink, no_ospf_area_vlink_authtype_cmd, "no area (A.B.C.D|<0-4294967295>) virtual-link A.B.C.D " "(authentication|)", NO_STR VLINK_HELPSTR_IPADDR VLINK_HELPSTR_AUTHTYPE_SIMPLE);ALIAS (ospf_area_vlink, ospf_area_vlink_md5_cmd, "area (A.B.C.D|<0-4294967295>) virtual-link A.B.C.D " "(message-digest-key|) <1-255> md5 KEY", VLINK_HELPSTR_IPADDR VLINK_HELPSTR_AUTH_MD5);ALIAS (no_ospf_area_vlink, no_ospf_area_vlink_md5_cmd, "no area (A.B.C.D|<0-4294967295>) virtual-link A.B.C.D " "(message-digest-key|) <1-255>", NO_STR VLINK_HELPSTR_IPADDR VLINK_HELPSTR_AUTH_MD5);ALIAS (ospf_area_vlink, ospf_area_vlink_authkey_cmd, "area (A.B.C.D|<0-4294967295>) virtual-link A.B.C.D " "(authentication-key|) AUTH_KEY", VLINK_HELPSTR_IPADDR VLINK_HELPSTR_AUTH_SIMPLE);ALIAS (no_ospf_area_vlink, no_ospf_area_vlink_authkey_cmd, "no area (A.B.C.D|<0-4294967295>) virtual-link A.B.C.D " "(authentication-key|)", NO_STR VLINK_HELPSTR_IPADDR VLINK_HELPSTR_AUTH_SIMPLE);ALIAS (ospf_area_vlink, ospf_area_vlink_authtype_args_authkey_cmd, "area (A.B.C.D|<0-4294967295>) virtual-link A.B.C.D " "(authentication|) (message-digest|null) " "(authentication-key|) AUTH_KEY", VLINK_HELPSTR_IPADDR VLINK_HELPSTR_AUTHTYPE_ALL VLINK_HELPSTR_AUTH_SIMPLE);ALIAS (ospf_area_vlink, ospf_area_vlink_authtype_authkey_cmd, "area (A.B.C.D|<0-4294967295>) virtual-link A.B.C.D " "(authentication|) " "(authentication-key|) AUTH_KEY", VLINK_HELPSTR_IPADDR VLINK_HELPSTR_AUTHTYPE_SIMPLE VLINK_HELPSTR_AUTH_SIMPLE);ALIAS (no_ospf_area_vlink, no_ospf_area_vlink_authtype_authkey_cmd, "no area (A.B.C.D|<0-4294967295>) virtual-link A.B.C.D " "(authentication|) " "(authentication-key|)", NO_STR VLINK_HELPSTR_IPADDR VLINK_HELPSTR_AUTHTYPE_SIMPLE VLINK_HELPSTR_AUTH_SIMPLE);ALIAS (ospf_area_vlink, ospf_area_vlink_authtype_args_md5_cmd, "area (A.B.C.D|<0-4294967295>) virtual-link A.B.C.D " "(authentication|) (message-digest|null) " "(message-digest-key|) <1-255> md5 KEY", VLINK_HELPSTR_IPADDR VLINK_HELPSTR_AUTHTYPE_ALL VLINK_HELPSTR_AUTH_MD5);ALIAS (ospf_area_vlink, ospf_area_vlink_authtype_md5_cmd, "area (A.B.C.D|<0-4294967295>) virtual-link A.B.C.D " "(authentication|) " "(message-digest-key|) <1-255> md5 KEY", VLINK_HELPSTR_IPADDR VLINK_HELPSTR_AUTHTYPE_SIMPLE VLINK_HELPSTR_AUTH_MD5);ALIAS (no_ospf_area_vlink, no_ospf_area_vlink_authtype_md5_cmd, "no area (A.B.C.D|<0-4294967295>) virtual-link A.B.C.D " "(authentication|) " "(message-digest-key|)", NO_STR VLINK_HELPSTR_IPADDR VLINK_HELPSTR_AUTHTYPE_SIMPLE VLINK_HELPSTR_AUTH_MD5);DEFUN (ospf_area_shortcut, ospf_area_shortcut_cmd, "area (A.B.C.D|<0-4294967295>) shortcut (default|enable|disable)", "OSPF area parameters\n" "OSPF area ID in IP address format\n" "OSPF area ID as a decimal value\n" "Configure the area's shortcutting mode\n" "Set default shortcutting behavior\n" "Enable shortcutting through the area\n" "Disable shortcutting through the area\n"){ struct ospf *ospf = vty->index; struct ospf_area *area; struct in_addr area_id; int mode; int format; VTY_GET_OSPF_AREA_ID_NO_BB ("shortcut", area_id, format, argv[0]); area = ospf_area_get (ospf, area_id, format); if (strncmp (argv[1], "de", 2) == 0) mode = OSPF_SHORTCUT_DEFAULT; else if (strncmp (argv[1], "di", 2) == 0) mode = OSPF_SHORTCUT_DISABLE; else if (strncmp (argv[1], "e", 1) == 0) mode = OSPF_SHORTCUT_ENABLE; else return CMD_WARNING; ospf_area_shortcut_set (ospf, area, mode); if (ospf->abr_type != OSPF_ABR_SHORTCUT) vty_out (vty, "Shortcut area setting will take effect " "only when the router is configured as Shortcut ABR%s", VTY_NEWLINE); return CMD_SUCCESS;}DEFUN (no_ospf_area_shortcut, no_ospf_area_shortcut_cmd, "no area (A.B.C.D|<0-4294967295>) shortcut (enable|disable)", NO_STR "OSPF area parameters\n" "OSPF area ID in IP address format\n" "OSPF area ID as a decimal value\n" "Deconfigure the area's shortcutting mode\n" "Deconfigure enabled shortcutting through the area\n" "Deconfigure disabled shortcutting through the area\n"){ struct ospf *ospf = vty->index; struct ospf_area *area; struct in_addr area_id; int format; VTY_GET_OSPF_AREA_ID_NO_BB ("shortcut", area_id, format, argv[0]); area = ospf_area_lookup_by_area_id (ospf, area_id); if (!area) return CMD_SUCCESS; ospf_area_shortcut_unset (ospf, area); return CMD_SUCCESS;}DEFUN (ospf_area_stub, ospf_area_stub_cmd, "area (A.B.C.D|<0-4294967295>) stub", "OSPF area parameters\n" "OSPF area ID in IP address format\n" "OSPF area ID as a decimal value\n" "Configure OSPF area as stub\n"){ struct ospf *ospf = vty->index; struct in_addr area_id; int ret, format; VTY_GET_OSPF_AREA_ID_NO_BB ("stub", area_id, format, argv[0]); ret = ospf_area_stub_set (ospf, area_id); if (ret == 0) { vty_out (vty, "First deconfigure all virtual link through this area%s", VTY_NEWLINE); return CMD_WARNING; } ospf_area_no_summary_unset (ospf, area_id); return CMD_SUCCESS;}DEFUN (ospf_area_stub_no_summary, ospf_area_stub_no_summary_cmd, "area (A.B.C.D|<0-4294967295>) stub no-summary", "OSPF stub parameters\n" "OSPF area ID in IP address format\n" "OSPF area ID as a decimal value\n" "Configure OSPF area as stub\n" "Do not inject inter-area routes into stub\n"){ struct ospf *ospf = vty->index;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -