tracelog: /proc/net/dev
起因:同事問我怎麼抓到ifconfig -a中所有的interface
追蹤記錄:
執行檔 ifconfig => 套件 net-tool
關鍵字 "-a" => 函示 "for_all_interface" => 檔案 "/proc/net/dev"
檔案 "/proc/net/dev" => 函示 "dev_proc_init" (net/core/dev.c)
函示 "proc_net_fops_create" (include/linux/proc_fs.h)
目錄 "/proc/net" => 函示 proc_root_init (fs/proc/root.c)
dev_seq_fops (net/core/dev.c) => open => dev_seq_open => dev_seq_ops
結論:
net/core/dev.c中的 dev (struct net_device) 就是核心的 net device list
追蹤記錄:
執行檔 ifconfig => 套件 net-tool
關鍵字 "-a" => 函示 "for_all_interface" => 檔案 "/proc/net/dev"
檔案 "/proc/net/dev" => 函示 "dev_proc_init" (net/core/dev.c)
函示 "proc_net_fops_create" (include/linux/proc_fs.h)
目錄 "/proc/net" => 函示 proc_root_init (fs/proc/root.c)
dev_seq_fops (net/core/dev.c) => open => dev_seq_open => dev_seq_ops
結論:
net/core/dev.c中的 dev (struct net_device) 就是核心的 net device list
留言