1、zmpls的安装

1.1安装环境

ubuntu 12.04 kernel 2.6.35 (对原来的内核进行了替换)

1.2 下载链接

文件zMPLS-0.95-alpha.tar.gz的下载地址为:

http://sourceforge.net/projects/zmpls/files/latest/download?source=files

1.3安装过程

$ cd zMPLS-0.95-alpha/
$ ./configure
$ sudo make
$ sudo make install

1.4 清理配置信息

$ sudo make clean

$ sudo make distclean

2、安装过程中遇到的问题及解决方案

2.1 问题1

提示错误:sockunion.c 244:22 error struct sockaddr_in6 has no member named sin_port

解决方案:

打开文件lib/sockunion.c文件,定位到244行,将sin_port改成sin6_port

2.1 问题2

提示错误:stream.c 383:34  error: request for member 'ipv6_host'  in something not a structure or union.

Stream.c 391:34 error: request for member 'ipv6_prefix' in something not a structure or union

…..........392—393

解决方案:

打开文件lib/stream.c文件,然后分别进行如下修改:

1)383行: fec_rule.ipv6_host → fec_rule->rule.ipv6_host

2)391行的fec_rule.ipv6_prefix → fec_rule->rule.ipv6_prefix

3)392-393行的ipv6_prefix → prefix_ipv6

解决此问题之后,清除配置信息重新配置编译,接着可能会出现下面问题

2.3 问题3

提示错误:rtadv.c: 123:18: error: dereferencing pointer to incomplete type

….......124, 130 …

rtadv.c: 149:49: error: invalid application of 'sizeof' to incomplete type 'struct in6_pktinfo'

rtadv.c: 268:15: error: dereferencing pointer to incomplete type

解决方案:

在lib/zebra.h中第103行添加如下代码:

#ifdef GNU_LINUX

#define __USE_GNU

#endif

2.4 问题4

提示错误:rsvp_packet.c: 644:15: error: label at end of compound statement

解决方案:

打开文件rsvpd/rsvp_packet.c文件。定位到644行,在每个缺少break的case后面加上一个break语句,并且在最后加上default: break;

case: RSVP_CALSS_RESV_CONF:

         break;

case: RSVP_CLASS_SCOPE:

         break;

case: RSVP_CLASS_POLICY_DATA:

         break;

case: RSVP_CLASS_STYLE:

         break;

default:

         break;

2.5 问题5

提示错误:ospfd.h 510:23: error: array type has incomplete element type

ospfd.h 511:23: error: array type has incomplete element type

….............

ospfd.h 515:23: error: array type has incomplete element type

解决方案:

打开文件ospfd/ospfd.h文件,加上头文件:#include “log.h”。

2.6 问题6

提示错误:在make install时,出现下面错误:

/bin/bash: -c: line 7: syntax error: unexpected end of file

解决方案:

打开ldpd/Makefile文件,定位到文件的一段代码,将此段代码替换成文件zmpls/Makefile文件的最后一段代码。保持退出即可。

即使用如下代码替换掉ldpd/Makefile文件的最后的与此一样的代码

install-sysconfDATA: $(sysconf_DATA)

         @$(NORMAL_INSTALL)

         $(mkinstalldirs) $(DESTDIR)$(sysconfdir)

         @list='$(sysconf_DATA)'; for p in $$list; do \

           if test -f $(srcdir)/$$p; then \

             echo " $(INSTALL_SDATA) $(srcdir)/$$p $(DESTDIR)$(sysconfdir)/$$p"; \

             $(INSTALL_SDATA) $(srcdir)/$$p $(DESTDIR)$(sysconfdir)/$$p; \

           else if test -f $$p; then \

             echo " $(INSTALL_SDATA) $$p $(DESTDIR)$(sysconfdir)/$$p"; \

             $(INSTALL_SDATA) $$p $(DESTDIR)$(sysconfdir)/$$p; \

           fi; fi; \

         done

注意:Makefile文件在make的时候自动生成的,所以在修改Makefile文件之后不要进行make。

3、ZMPLS的配置

首先获得配置文件所在的目录,默认放置在目录/usr/local/etc/目录下面。还有一些文件放置在其相应的目录下面,比如zebra.conf文件放置在zmpls/目录下,ldpd.conf放置在ldpd/目录下,rsvpd.conf放置在rsvpd/目录下。

在目录/usr/local/etc/目录下面的一些.conf.sample文件或者.conf文件,需要的时候将.conf.sample文件拷贝成.conf文件。

3.1zmpls usage

Start zmplsd as :

$ zmpls -f /tmp/zebra.conf

Connect to zmpls as :

$ telnet 127.0.0.1 

default password: zmpls

3.2ldpd usage

Start ldpd as :

$ ldpd -f  /tmp/ldpd.conf

Connect to  ldpd as :

$ telnet 127.0.0.1 

default password: zmpls

3.3rsvpd usage

Start rsvpd as :

$ rsvpd -f /tmp/rsvpd.conf

Connect to rsvpd as :

$ telnet 127.0.0.1 

default password: zebra

zMPLS的安装与配置的更多相关文章

  1. JDK安装与配置

    JDK安装与配置 一.下载 JDK是ORACLE提供免费下载使用的,官网地址:https://www.oracle.com/index.html 一般选择Java SE版本即可,企业版的选择Java ...

  2. Node.js 教程 01 - 简介、安装及配置

    系列目录: Node.js 教程 01 - 简介.安装及配置 Node.js 教程 02 - 经典的Hello World Node.js 教程 03 - 创建HTTP服务器 Node.js 教程 0 ...

  3. 烂泥:redis3.2.3安装与配置

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 前一段时间写过一篇codis集群的文章,写那篇文章主要是因为当时的项目不支持redis自 ...

  4. mysql源码包手动安装、配置以及测试(亲测可行)

    笔记编者:小波/qq463431476博客首页:http://www.cnblogs.com/xiaobo-Linux/ 记下这篇mysql笔记,望日后有用! redhat6采用centos yum源 ...

  5. 环境搭建系列-系统安装之centos 6.5安装与配置

    按照国际惯例,系列目录先奉上: 系列一:系统安装之centos 6.5安装与配置 系列二:准备工作之Java环境安装 系列三:数据为先之MySQL读写集群搭建 系列四:谈分布式之RabbitMQ集群搭 ...

  6. ZooKeeper安装与配置

    一. 单机安装.配置: 1. 下载zookeeper二进制安装包下载地址:http://apache.dataguru.cn/zookeeper/zookeeper-3.4.3/zookeeper-3 ...

  7. mac 下JDK 与 tomcat 的安装与配置

    一.Mac下JDK的安装 1.先检测Mac是否已经安装过JDK,在终端中输入java 或者 javac 显示说明,表明已经安装过JDK,JDK版本查询终端键入java -version,终端会返回JD ...

  8. 烂泥:zabbix3.0安装与配置

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 这个月又快过完了,最近也比较忙,没时间写文章,今天挤点时间把zabbix3.0安装与配置 ...

  9. Jenkins入门系列之——02第二章 Jenkins安装与配置

    2014-12-08:已不再担任SCM和CI的职位,Jenkins的文章如无必要不会再维护. 写的我想吐血,累死了. 网页看着不爽的,自己去下载PDF.有问题请留言! Jenkins入门系列之——03 ...

随机推荐

  1. hdu_2457_DNA repair(AC自动机+DP)

    题目连接:hdu_2457_DNA repair 题意: 给你N个字符串,最后再给你一个要匹配的串,问你最少修改多少次,使得这个串不出现之前给的N的字符串 题解: 刚学AC自动机,切这题还真不知道怎么 ...

  2. docker rmi all

    docker stop $(docker ps -a -q) docker rm $(docker ps -a -q)

  3. iis7支持asp(访问页面,页面存在仍然提示404)

    1. win7下安装IIS时ASP一般被默认不选中的状态,因此需要打开IIS检查功能视图栏中是否存在ASP选项,若没有则需要从控制面板->程序和 功能->打开或关闭Windows功能-&g ...

  4. zf-关于差旅报销的excel表单填写

    日期一定要填,还有二级科目事由跟申请金额,如果申请金额为0的话,那么久直接删除哪一行,因为如果不删除的话,Excel表单将提交出错.

  5. javascript 中{}和[] 的理解

    下面的一段解释是摘抄的,基本理解正确,做个记录.其实js中数组其实就是对象,typeof(['a', 'b', 'c'])//测试之后结果为 :  "object" 一.{ } 大 ...

  6. 文件夹添加 IIS 应用程序池用户权限

    http://serverfault.com/questions/81165/how-to-assign-permissions-to-applicationpoolidentity-account ...

  7. 挂载了Cinder Volume的实例无法动态迁移排错

    现象:挂载了Cinder Volume的实例无法动态迁移 [root@node-5 nova]# tail -f compute.log 2016-01-13 16:36:12.870 18762 E ...

  8. 利用cookie实现“只弹出一次窗口”的JS代码

    弹出式窗口通常被用来做弹出广告(CPM),其实用弹出式窗口用来做消息通知也是最普遍而且是最有效的方法,但如果每次刷新页面特别是刷新首页都要弹出窗口的话,那绝对是让访问者厌烦的事情. 比如你将上面的脚本 ...

  9. 写一个程序,统计自己C语言共写了多少行代码,Github基本操作

    前言 在上一篇博客中,本人提到了自己的文件操作可以说是几乎没用过.现在想想,这也算是只在OJ上做题的一个弊端吧.虽然通过OJ做题是一个学习代码好手段,但其他方面也要多多涉猎才好,而不是说OJ用不到文件 ...

  10. 利用MFC编写计算器

    端午节这两天没什么事,就用MFC写了一个简单的计算器,界面做的也比较简单,如下图1,可以进行简单的加.减.乘和除功能,小数点显示这块做的不是很好,比如输入1.2,不会一个个的显示,而是先显示“1”,后 ...