改变配置语法-智能功率模块ipm的主要特点及内部结构原理
14.2 改变配置语法可以改变在 ospfd
配置文件 /etc/ospfd.conf
中使用的语法。可以使用语法匹配 Cisco 路由器的 OSPF 配置语法或者 GATED 的配置语法。必须编写定义新配置命令的新 Tcl 代码,用于代替在文件 /usr/sbin/ospfd.tcl
中定义的当前命令。为了进一步理解如何修改 ospfd
配置语法,下面来更详细考查 ospfd
的配置过程。
在初始化时执行配置,或者是在收到 Linux 信号 SIGUSR1
时执行重新配置,见 14.3 节。在上述两种情形下,都要调用 LinuxOspfd::read_config()
。假设已经定义了一种新的配置语法,其程序流如下。
程序清单 14.1 读取 ospfd
配置 ospfd_linux.C
342 void LinuxOspfd::read_config()
343 {
344 Tcl_Interp *interp; //解释配置命令
345 char sendcfg[] = "sendcfg";
346 int namlen;
347 char *filename;
348
349 new_router_id = 0;
350 interp = Tcl_CreateInterp();
351 Tcl_CreateCommand(interp, "routerid", SetRouterID, 0);
352 Tcl_CreateCommand(interp, "sendgen", SendGeneral, 0);
353 Tcl_CreateCommand(interp, "sendarea", SendArea, 0);
354 Tcl_CreateCommand(interp, "sendagg", SendAggregate, 0);
355 Tcl_CreateCommand(interp, "sendhost", SendHost, 0);
356 Tcl_CreateCommand(interp, "sendifc", SendInterface, 0);
357 Tcl_CreateCommand(interp, "sendvl", SendVL, 0);
358 Tcl_CreateCommand(interp, "sendnbr", SendNeighbor, 0);
359 Tcl_CreateCommand(interp, "sendextrt", SendExtRt, 0);
360 Tcl_CreateCommand(interp, "sendmd5", SendMD5Key, 0);
}
了解更多关于 OSPFD
源代码的信息,可以点击 这里。如果你需要配置文件以便在 UltraEdit 中为 Tcl 和 Tk 语法着色,也可以在 此处 获取。对于 Tcl 语法的详细信息,参考 TCL语法 这个资源。
下载地址
用户评论