当前位置: 首页 > 工具软件 > Zebra.berlios > 使用案例 >

vtysh 参数_zebra命令的编写.ppt

越星晖
2023-12-01

内容介绍 软件结构 软件结构-配置的发送 所有的命令组成一个命令树 vtysh知道几乎所有的命令,以及该命令属于哪些进程 每个进程只知道和自己相关的命令 输入一个命令后,该命令被传送给vtysh vtysh首先查找该命令是否存在 不存在------〉返回命令不存在信息 存在 ------〉则将该命令传给相关进程,返回进程处理信息 软件结构-几种命令模式 下面介绍几种命令模式: 普通模式:SmartHammer> 系统引导起来后,输入密码 特权模式:SmartHammer# 在普通模式下输入enable和密码 全局配置模式SmartHammer(config)# 在特权模式下输入configure terminal TTY配置模式 SmartHammer (config-line)#在全局配置模式下输入line tty 以太网接口配置模式SmartHammer (config-if)# 在全局配置模式下输入interface IFNAME,例如:interface ge0 后两种模式是并列的命令模式,相似的还有很多,输入命令的时候,可以使用TAB补齐命令,使用“?”查看提示信息。 内容介绍 Zebra编程的特点 zebra是一个多路由协议集成的软件,包括RIPv1, RIPv2, RIPNG, OSPF, OSPF6, BGP4 。同时他还提供一个类似CISCO的CLI界面(vtysh),通过命令行来配置其参数。 特点: 不能阻塞 可以添加定时计划任务 可以添加立刻不便执行的任务 内容介绍 编写zebra程序-线程的添加 编写zebra程序-线程的添加 编写zebra程序-线程的添加 编写zebra程序-线程的添加 struct thread *thread_add_read (struct thread_master *, int (*)(struct thread *), void *, int); struct thread *thread_add_write (struct thread_master *, int (*)(struct thread *), void *, int); struct thread *thread_add_timer (struct thread_master *, int (*)(struct thread *), void *, long); struct thread *thread_add_event (struct thread_master *, int (*)(struct thread *), void *, int ); THREAD_OFF(struct thread *); 编写zebra程序-命令结点cmd_node 编写zebra程序-命令cmd_element char *string; 指令定义 int (*func) (struct cmd_eleme………;指令输入后调用的函数 char *doc;命令解释 int daemon;属于哪个守候进程 vector strvec;上下文相关帮助系统 int cmdsize; char *config;当前配置字符 内容介绍 添加一个模块-初始化 添加一个模块-与vtysh通信 添加一个模块-zclient 内容介绍 命令配置的例子 命令结点的添加(一) 命令结点的添加(二) 命令结点的添加(三) 命令结点的添加(四) 命令结点的添加(五) 命令结点的添加(六) 命令结点的添加(七) 命令结点的添加(八) 命令结点的添加(九) 内容介绍 命令的添加(一) 命令的添加(二) 命令的添加(三) 命令的添加(四) 命令的添加(五) 命令的添加(六) 命令的添加(七) 内容介绍 命令行标准 命令行标准 内容介绍 怎样监控你的程序-常见问题 怎样监控你的程序-show memory 在memory.h中定义自己的内存类型,不同的结构定义不同的类型,便于查看 所有动态分配内存的地方请使用XMALLOC、XCALLOC、XFREE XMALLOC (MTYPE_XXX_XXX, sizeof(struct xxxx)); 在memory.c中添加相应的memory_list 在memory.c中添加相应的show memory命令 怎样监控你的程序-防止写溢出 仔细仔细,再仔细。 不使用strcpy,而使用strncpy,也得注意哦。 定义指针的时候,赋值为NULL,使用指针前判断指针是否存在。 怎样监控你的程序-调试和打印 strace gdb vsos_syslog vsos_debug_out asse

 类似资料: