1.什么是邻居子系统?
同属一个子网的主机,及三层概念上的下一跳。
2.邻居子系统框架
2.1 neigh_tables结构
struct neigh_table *next:该链表中除了ARP的arp_tbl,还有IPV6T的nd_tbl。
int family 邻居协议所属的地址族,ARP是AF_INET。
int entry_size arp_tbl初始化为sizeof(neighbour+4)
char *id neighbour结构实例的缓冲池名称。arp为arp_cache。
int gc_interval 垃圾回收时钟
atomic_t entries 邻居项数目
struct neigh_statistics *stats 各类统计数据
struct neighbour **hash_buckets存储邻居项的散列表,可扩容。
2.2 neighbour结构
一个邻居并不代表一个主机,而是一个ip地址。