Linux桥mac地址表(Hash表)结构「终于解决」

Linux桥mac地址表(Hash表)结构「终于解决」structnet_bridgestructhlist_headhash[BR_HASH_SIZE];…structnet_bridge_fdb_entrystructhlist_nodehlist;structnet_bridge_port*dst;mac_addraddr;…进行地址学习时调用br_fdb_updat…

大家好,欢迎来到IT知识分享网。

Linux内核桥关于mac地址表的两个数据结构:

struct net_bridge
{ 
   
	struct hlist_head    hash[BR_HASH_SIZE];
	...
}
struct net_bridge_fdb_entry
{ 
   
	struct hlist_node    hlist;
	struct net_bridge_port   *dst;
	mac_addr   addr;
	...
}

这里写图片描述

进行地址学习时调用
br_fdb_update(br, p, eth_hdr(skb)->h_source, vid);
将源mac地址传入,更新转发表。

查找转发表时调用
const unsigned char *dest = eth_hdr(skb)->h_dest
dst = __br_fdb_get(br, dest, vid)
判断目的mac地址表项是否存在。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/25127.html

(0)
上一篇 2023-08-02 21:33
下一篇 2023-08-03 14:00

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信