Linux

如果在網橋中添加或刪除乙太網,rtnetlink 行為是什麼?

  • March 13, 2017

在我研究 RTNETLINK 時,我知道如果在核心空間添加/刪除介面,核心將發送 RTM_ADDLINK 或 RTM_DELLINK。但是,如果在網橋中添加或刪除乙太網,我對 RTNETLINK 消息有疑問?由於向/從橋接器添加或刪除乙太網實際上並不是添加或刪除介面,因此是否有任何 RTNETLINK 消息實際上在兩者之間傳輸?

Rtnetlink 處理介面的路由和其他第 3 層細節。簡單地將介面添加到網橋根本不會涉及 rtnetlink。橋接——以及將介面附加到橋接器——完全發生在第 2 層。

只有當我們申請 IP 地址並開始需要修改路由表時,我們才需要涉及 rtnetlink。由於任何第 3 層定址都開始於橋之上而不是橋之下,因此在添加介面時這不是問題。

您甚至不需要網橋上的 IP 即可將其用作第 2 層交換設備。您也不需要為網橋提供 IP 來啟動它。當你給它一個第 3 層地址時,就會呼叫 rtnetlink 來智能地修改你的路由表。此第 3 層地址是否與網橋、物理 NIC 或分接設備相關聯無關緊要。

引用自:https://serverfault.com/questions/837826