声明:原创作品,严禁用于商业目的。 本系列文章将全面剖析以Bcm33xxx芯片开发Cablemodem产品的SDK源码为例,从编译系统到各个功能模块进行分析与探讨。
文章目录
0.写在前篇
本系列文章来自于博通公司相关项目开发中的学习资料和开发总结,是企业或者公司项目开发过程中必备的网络相关知识,主要涉及到ecos和linux系统编译、内存管理、接口管理、HAL抽象层、以及IPV6、DHCP、TR069等网络相关协议。为维护版权和相关知识产权,请购买官方SDK和相关服务,此系列文章仅为个人学习使用,如有不妥之处和技术相关知识,请私信留言!
博通Broadcom SDK源码学习与开发1——SDK源码探究与Cable Modem 系统编译
博通Broadcom SDK源码学习与开发2——Bootloader功能和编译过程
博通Broadcom SDK源码学习与开发3——Cable Modem Docsis3.0
博通Broadcom SDK源码学习与开发4——ECOS系统数据流
博通Broadcom SDK源码学习与开发5——ECOS系统层剖析
博通Broadcom SDK源码学习与开发6——支持Linux系统
博通Broadcom SDK源码学习与开发7——HAL硬件抽象层分析
博通Broadcom SDK源码学习与开发8——内存与参数管理
博通Broadcom SDK源码学习与开发9——Interface接口管理
博通Broadcom SDK源码学习与开发10——Cable Modem IPv6地址
博通Broadcom SDK源码学习与开发11——Cable Modem DHCP管理
博通Broadcom SDK源码学习与开发12终结篇——TR069网管协议
本文介绍 Cable Modem 上IPv6相关的功能。
1. 相关类结构
(1) BcmNeighborCacheEntry:
CacheEntry存储邻节点的相关信息:neighbor’s on-link IP address, IsRouter/IsHost, ReachabilityState, related Timers.
发送邻节点请求,处理邻节点公告相关的逻辑;
(2) BcmNeighborCache: Cache 是由CacheEntry组成的集合,使用neighbor’s on-link unicast IP address作为索引;
(3) BcmNeighborDiscoveryThread: ND Thread负责处理路由请求/公告,邻节点请求/公告,重复地址检测等;处理关联Cache的状态维护;
(4) BcmNeighborDiscoveryACT: 保存目的地址,以及数据包的索引,以实现异步地址解析;
(5) BcmNeighborDiscoveryManager:每个IpStack具有一个 ND Thread,维护自己所在网段的Neighbor Cache;ND Manager 为系统提供一个统一的接口,以检查某一个IPv6的地址