假设 linux 上建立了一个 bridge br0 ,此 br0 有 eth0 ,eth1 ,eth2 三个 slave interface.当一个单播包从 eth0 上来,又假设 br0 由于某种原因没有学习到包中的目的 mac 位于哪个 slave interface 。此时包会 flood 到各个 interface 。我的理解是这个包对应的 skb 会被 clone 。问题是:
1.这个包是 clone 几份? 1 份还是 2 份?
2.发往 eth1 和 eth2 全部是 clone 的包,还是有一个接口是原始的 skb ?
3.原始的 skb 这个结构体的 cloned 成员[1]也会被置为 1 吗?还是只有被 clone 的 skb 的 cloned 成员会被置为 1 ?
[1]https://elixir.bootlin.com/linux/latest/source/include/linux/skbuff.h#L915
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.