截止目前为止,还能够正常使用wide-dhcp6c。 原因,暂时找不到原因在哪里。 只有通过打印日志来看。 一直怀疑是配置文件出错了,但是也没看到过一个可以使用的配置文件,dhcp6c.conf. 都是example等等,附加e文和缩写。 虽然看过,也是很粗糙的理解其意思。

先修改一下cftoken.l,将yywrap在cfdebug_print函数之前补上,这样make clean ,再make的时候,就不用再生成的cftoken.c 里面加了。

int yywrap()
{return 1;
}static void
cfdebug_print(w, t, l)char *w, *t;int l;
{if (w) {dprintf(LOG_DEBUG, FNAME,"<%d>%s [%s] (%d)", yy_start, w, t, l);} else {dprintf(LOG_DEBUG, FNAME,"<%d>[%s] (%d)", yy_start, t, l);}
}

另外将YYDEBUG这个宏打开,设置为1。 同时将全局变量yydebug 也在最开始的地方赋值为1. 这样就可以看到过程中哪里分析错误了。

root@vc0718t-evm:/usrfs# ./dhcp6c -c ./dhcp6c.conf -Df eth0
Jan/01/2000 06:11:10: get_duid: extracted an existing DUID from /usr/share/dhcp6c_duid: 00:01:00:01:00:00:3a:35:00:16:8e:a7:8c:f6
Jan/01/2000 06:11:10: dhcp6_ctl_authinit: failed to open /usr/share/dhcp6cctlkey: No such file or directory
Jan/01/2000 06:11:10: client6_init: failed initialize control message authentication282
Jan/01/2000 06:11:10: client6_init: skip opening control port375
5
should !
Starting parse
no should !
Entering state 0
Reducing stack by rule 1 (line 149):
-> $$ = nterm statements ()
Stack now 0
Entering state 1
Reading a token: Next token is token INTERFACE ()
Shifting token INTERFACE ()
Entering state 3
Reading a token: Next token is token IFNAME ()
Shifting token IFNAME ()
Entering state 20
Reading a token: Next token is token BCL ()
Shifting token BCL ()
Entering state 40
Reducing stack by rule 36 (line 486):
-> $$ = nterm declarations ()
Stack now 0 1 3 20 40
Entering state 62
Reading a token: Next token is token SEND ()
Shifting token SEND ()
Entering state 87
Reading a token: Next token is token IA_NA ()
Shifting token IA_NA ()
Entering state 126
Reading a token: Next token is token NUMBER ()
Shifting token NUMBER ()
Entering state 185
Reducing stack by rule 55 (line 643):$1 = token IA_NA ()$2 = token NUMBER ()
-> $$ = nterm dhcpoption ()
Stack now 0 1 3 20 40 62 87
Entering state 142
Reading a token: Next token is token EOS ()
Reducing stack by rule 50 (line 605):$1 = nterm dhcpoption ()
-> $$ = nterm dhcpoption_list ()
Stack now 0 1 3 20 40 62 87
Entering state 143
Next token is token EOS ()
Shifting token EOS ()
Entering state 189
Reducing stack by rule 38 (line 505):$1 = token SEND ()$2 = nterm dhcpoption_list ()$3 = token EOS ()
-> $$ = nterm declaration ()
Stack now 0 1 3 20 40 62
Entering state 98
Reducing stack by rule 37 (line 487):$1 = nterm declarations ()$2 = nterm declaration ()
-> $$ = nterm declarations ()
Stack now 0 1 3 20 40
Entering state 62
Reading a token: Next token is token SEND ()
Shifting token SEND ()
Entering state 87
Reading a token: Next token is token IA_PD ()
Shifting token IA_PD ()
Entering state 125
Reading a token: Next token is token NUMBER ()
Shifting token NUMBER ()
Entering state 184
Reducing stack by rule 54 (line 635):$1 = token IA_PD ()$2 = token NUMBER ()
-> $$ = nterm dhcpoption ()
Stack now 0 1 3 20 40 62 87
Entering state 142
Reading a token: Next token is token EOS ()
Reducing stack by rule 50 (line 605):$1 = nterm dhcpoption ()
-> $$ = nterm dhcpoption_list ()
Stack now 0 1 3 20 40 62 87
Entering state 143
Next token is token EOS ()
Shifting token EOS ()
Entering state 189
Reducing stack by rule 38 (line 505):$1 = token SEND ()$2 = nterm dhcpoption_list ()$3 = token EOS ()
-> $$ = nterm declaration ()
Stack now 0 1 3 20 40 62
Entering state 98
Reducing stack by rule 37 (line 487):$1 = nterm declarations ()$2 = nterm declaration ()
-> $$ = nterm declarations ()
Stack now 0 1 3 20 40
Entering state 62
Reading a token: Next token is token SEND ()
Shifting token SEND ()
Entering state 87
Reading a token: Next token is token DNS_SERVERS ()
Shifting token DNS_SERVERS ()
Entering state 128
Reducing stack by rule 58 (line 667):$1 = token DNS_SERVERS ()
-> $$ = nterm dhcpoption ()
Stack now 0 1 3 20 40 62 87
Entering state 142
Reading a token: Next token is token COMMA ()
Shifting token COMMA ()
Entering state 188
Reading a token: Next token is token DNS_NAME ()
Shifting token DNS_NAME ()
Entering state 129
Reducing stack by rule 59 (line 675):$1 = token DNS_NAME ()
-> $$ = nterm dhcpoption ()
Stack now 0 1 3 20 40 62 87 142 188
Entering state 142
Reading a token: Next token is token EOS ()
Reducing stack by rule 50 (line 605):$1 = nterm dhcpoption ()
-> $$ = nterm dhcpoption_list ()
Stack now 0 1 3 20 40 62 87 142 188
Entering state 215
Reducing stack by rule 51 (line 609):$1 = nterm dhcpoption ()$2 = token COMMA ()$3 = nterm dhcpoption_list ()
-> $$ = nterm dhcpoption_list ()
Stack now 0 1 3 20 40 62 87
Entering state 143
Next token is token EOS ()
Shifting token EOS ()
Entering state 189
Reducing stack by rule 38 (line 505):$1 = token SEND ()$2 = nterm dhcpoption_list ()$3 = token EOS ()
-> $$ = nterm declaration ()
Stack now 0 1 3 20 40 62
Entering state 98
Reducing stack by rule 37 (line 487):$1 = nterm declarations ()$2 = nterm declaration ()
-> $$ = nterm declarations ()
Stack now 0 1 3 20 40
Entering state 62
Reading a token: Next token is token ECL ()
Shifting token ECL ()
Entering state 96
Reading a token: Next token is token EOS ()
Shifting token EOS ()
Entering state 154
Reducing stack by rule 11 (line 166):$1 = token INTERFACE ()$2 = token IFNAME ()$3 = token BCL ()$4 = nterm declarations ()$5 = token ECL ()$6 = token EOS ()
-> $$ = nterm interface_statement ()
Stack now 0 1
Entering state 12
Reducing stack by rule 3 (line 155):$1 = nterm interface_statement ()
-> $$ = nterm statement ()
Stack now 0 1
Entering state 11
Reducing stack by rule 2 (line 151):$1 = nterm statements ()$2 = nterm statement ()
-> $$ = nterm statements ()
Stack now 0
Entering state 1
Reading a token: Next token is token STRING ()
Error: popping nterm statements ()
Stack now 0
Cleanup: discarding lookahead token STRING ()
Stack now 0
Jan/01/2000 06:11:10: main: failed to parse configuration file 230

执行程序后,可以看到貌似是 下一步的分析出错,reading a token: Next token is STRING(),看样子是这里分析文件出错了。

那么还是配置文件的问题。。。

待续

配置出来了,配置文件其实也很简单。e文不太好,看了半天很多的看了也似懂非懂的。

然后参考了

www.infradead.org/~tgr/libnl/

上面写的一大堆东西,也没看懂多少。

就是dhcp6c.conf简单的配置文件如下,原先的时候添加几个其他的配置信息,结果反而一大堆错误

interface eth0 {send ia-na 0;
};id-assoc na{
};

然后从日志信息来看

Jan/01/2000 08:41:46: dhcp6_get_options: get DHCP option status code, len 2
Jan/01/2000 08:41:46:   status code: success
Jan/01/2000 08:41:46: dhcp6_get_options: get DHCP option DNS, len 16
Jan/01/2000 08:41:46: dhcp6_get_options: get DHCP option SIP server address, len 64
Jan/01/2000 08:41:46: dhcp6_get_options: get DHCP option NTP server, len 48
Jan/01/2000 08:41:46: client6_recvreply: status code: success
Jan/01/2000 08:41:46: info_printf: nameserver[0] 2001:db8:3333::39cc:fe88:d094
Jan/01/2000 08:41:46: info_printf: NTP server[0] 2000::200
Jan/01/2000 08:41:46: info_printf: NTP server[1] 2000::201
Jan/01/2000 08:41:46: info_printf: NTP server[2] 2000::202
Jan/01/2000 08:41:46: info_printf: SIP server address[0] 2000::300
Jan/01/2000 08:41:46: info_printf: SIP server address[1] 2000::302
Jan/01/2000 08:41:46: info_printf: SIP server address[2] 2000::303
Jan/01/2000 08:41:46: info_printf: SIP server address[3] 2000::304
Jan/01/2000 08:41:46: get_ia: make an IA: NA-0
Jan/01/2000 08:41:46: update_address: create an address 2001:db8:3333::39cc:0:1007 pltime=86400, vltime=86400
Jan/01/2000 08:41:46: ifaddrconf: add an address 2001:db8:3333::39cc:0:1007/128 on eth0
Jan/01/2000 08:41:46: dhcp6_remove_event: removing an event on eth0, state=REQUEST

以及敲击iconfig,地址都是配置上了。看来兜了好几天的空闲时间。这边用的 是美国netgear作为ipv6分配的服务器。 看样子是ok的 。。。。

wide-dhcp6c(3)相关推荐

  1. wide-dhcpv6的dhcp6c配置

    源码里面已经有man文档,直接打开用如下命令打开就好 man -l wide-dhcpv6/dhcp6c.conf.5 DHCP6C.CONF(5)                           ...

  2. Wide Deep的OneFlow网络训练

    Wide & Deep的OneFlow网络训练 HugeCTR是英伟达提供的一种高效的GPU框架,专为点击率(CTR)估计训练而设计. OneFlow对标HugeCTR搭建了Wide & ...

  3. keras训练完以后怎么预测_使用Keras建立Wide Deep神经网络,通过描述预测葡萄酒价格...

    你能通过"优雅的单宁香"."成熟的黑醋栗香气"或"浓郁的酒香"这样的描述,预测葡萄酒的价格吗?事实证明,机器学习模型可以. 在这篇文章中,我 ...

  4. R语定义函数对宽分布(wide distribution )、有偏分布(skew distribution)的数据进行对数变换(符号对数变换函数、signed log transformation)

    R语言自定义函数对宽分布(wide distribution ).有偏分布(skew distribution)的数据进行对数变换(符号对数变换函数.signed log transformation ...

  5. R语言将dataframe数据从宽表(wide)变为长表(long)实战:tidyr包的gather函数、cdata包的unpivot_to_blocks函数、data.table使用melt函数

    R语言将dataframe数据从宽表(wide)变为长表(long)实战:tidyr包的gather函数.cdata包的unpivot_to_blocks函数.data.table使用melt函数 目 ...

  6. 使用wide和buildbox构建完全在线的开发集成环境

    开发十年,就只剩下这套Java开发体系了 >>>    wide:go语言编写的一款在线IDE工具,支持团队开发,支持git buildbox:go语言编写一款持续集成工具,支持go ...

  7. python opencv 得到图片路径image_path的宽wide、高heigh和深度deep

    python opencv 得到图片路径image_path的宽wide.高heigh和深度deep 图片路径是:'1.jpg' 下面是具体代码: import cv2 #得到图片路径image_pa ...

  8. [perl]Wide character in print报错

    2019独角兽企业重金招聘Python工程师标准>>> 用perl写文本处理程序,或者写服务器端脚本的时候,常常会遇到"Wide character in print&qu ...

  9. Wide ResNet ResNeXt DenseNet DPNet [9] NASNet [10] SENet [11] Capsules [12

    ResNet [1, 2] Wide ResNet [3] ResNeXt [4] DenseNet [5] DPNet [9] NASNet [10] SENet [11] Capsules [12 ...

  10. deep$wide keras

    代码下载 # -*- coding: utf-8 -*- # to run: # python wide_and_deep_keras.py --method method --model_type ...

最新文章

  1. delete指针之后应该赋值NULL
  2. Java——this
  3. jvm内存溢出分析实践案例:javax.crypto.JceSecurity大量BouncyCastleProvider实例无法被回收
  4. 7. SVM松弛变量
  5. 前端学习(1769):前端调试之什么是manifest
  6. linux php 执行python,Linux(Ubuntu)下php使用exec调用python程序返回json数据
  7. javascript Date object
  8. Java Log4j日志简单配置
  9. 马自达 3 为什么抛弃了触摸屏?
  10. 逻辑斯谛(Logistic)回归、参数估计教程
  11. HighCharts:plotLines基准线与数据相差过大不显示
  12. 阿里云盘内测_阿里云盘 | 内测码分享 + 火速体验!
  13. Stata15重编码
  14. [计算机数值分析]开方公式-牛顿法
  15. tail关键字查询日志
  16. thinksystem sr550 安装ubuntu14.04 无法识别网卡驱动(连不了网)
  17. 博通Brocade漏洞影响多家大厂的存储解决方案
  18. Matlab系列之数组(矩阵)的生成
  19. 统计学之三大相关性系数(pearson、spearman、kendall)matlab实现
  20. Spring Bean到底是什么?有什么用?

热门文章

  1. edrawmax使用技巧备忘
  2. 【T+】将查询账套更换成可以业务操作的正式版账套
  3. 28人买可乐喝,3个可乐瓶盖可以换一瓶可乐,那么要买多少瓶可乐
  4. 百度智能云携手央视网打造人工智能编辑部 多款产品已用于原创策划
  5. react-native Image 实现placeholder占位图
  6. C# 接收邮件之QQ邮箱
  7. 关于西安电子科技大学821电路的难点辨析(二)---电阻电路的分析方法
  8. 工业中常用流量计及其测量原理
  9. 物理机centos7配置静态IP和网关
  10. SIEMENSplc200和电脑电缆通讯设置(设置PC/PG接口)