⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ospf_vty.c

📁 router source code for the ospdf.
💻 C
📖 第 1 页 / 共 5 页
字号:
		      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 + -