protocol isis issues(续1)
2015-11-02 20:10
525 查看
在files-0(1)/var/log/*中的stdout中,打印quagga运行仿真的日志。
错误:
1. isis_pfpacket.c:130–open_packet_socket(): bind() failed: Invalid argument
2. isis_pfpacket.c:184–isis_sock_init: could not initialize the socket
bind() -> dce_fd.cc:444(dce_bind) -> unix-socket-fd.cc:796(Bind)
-> unix-socket-fd.cc:698(PosixAddressToNs3Address)
地址转化,原程序中并没有对sa_family=AF_PACKET的处理。
添加的代码:
这段代码主要是把结构sockaddr_ll转化为类PacketSocketAddress的对象。其实就是把数据链路层(MAC)的地址转化为NS3中定义的地址。(详情见续1.2)
错误:
1. isis_pfpacket.c:130–open_packet_socket(): bind() failed: Invalid argument
2. isis_pfpacket.c:184–isis_sock_init: could not initialize the socket
错误1
memset (&s_addr, 0, sizeof (struct sockaddr_ll)); s_addr.sll_family = AF_PACKET; s_addr.sll_protocol = htons (ETH_P_ALL); s_addr.sll_ifindex = circuit->interface->ifindex; if (bind (fd, (struct sockaddr *) (&s_addr), sizeof (struct sockaddr_ll)) < 0) { zlog_warn ("open_packet_socket(): bind() failed: %s", safe_strerror (errno)); return ISIS_WARNING; }
bind() -> dce_fd.cc:444(dce_bind) -> unix-socket-fd.cc:796(Bind)
-> unix-socket-fd.cc:698(PosixAddressToNs3Address)
地址转化,原程序中并没有对sa_family=AF_PACKET的处理。
添加的代码:
else if(my_addr->sa_family == AF_PACKET) { const struct sockaddr_ll *addr = (const struct sockaddr_ll *)my_addr; PacketSocketAddress paaddress=PacketSocketAddress(); paaddress.SetProtocol(addr->sll_protocol); paaddress.SetSingleDevice(addr->sll_ifindex); Address address=Address(addr->sll_pkttype,addr->sll_addr,addr->sll_halen); paaddress.SetPhysicalAddress(address); return paaddress; }
这段代码主要是把结构sockaddr_ll转化为类PacketSocketAddress的对象。其实就是把数据链路层(MAC)的地址转化为NS3中定义的地址。(详情见续1.2)
错误2
int isis_sock_init (struct isis_circuit *circuit) { int retval = ISIS_OK; if (isisd_privs.change (ZPRIVS_RAISE)) zlog_err ("%s: could not raise privs, %s", __func__, safe_strerror (errno)); retval = open_packet_socket (circuit); if (retval != ISIS_OK) { zlog_warn ("%s: could not initialize the socket", __func__); goto end; } ... }
相关文章推荐
- UIView视图
- N皇后回溯解法 leetcode N-Queens
- Java图形开发--GUI
- UIImagePickerController 选照片 拍照 录视频
- BestCoder Round #58 Beauty of Sequence 即hdu5496 (递推)
- UISearchBar基本属性
- hdu2454 Degree Sequence of Graph G (Havel-Hakimi定理,可图化判定)
- BestCoder Round #60 GT and sequence (排序)
- UIScrollview嵌套UITableview时,点击Statasubar不能滚动到顶部的问题
- Mac OS 10.9.4下配置APUE中的apue.h
- UIScrollView
- Generating Unique Random Numbers in Java
- 关于解决Installation failed due to invalid APK file! Please check logcat output for more details.Launch
- UIslider滑块大小
- 仿造微信界面左右拖拽的UI
- UIButton 的setImageEdgeInsets以及setTitleEdgeInsets
- hdu 5531 Rebuild 三分
- 我是弱弱的UI小生,我要正式进军UI
- Java设计模式--Java Builder模式
- jsp中request传递参数汉字乱码