我寫的udev規則自動重命名和編號具有特定MAC地址的網卡。使用udev自動重命名和編號nics使用udev
產生的規則應該這樣做幾乎相同75-persistent-net-generator.rules
不(符合前3個字節網卡的MAC地址,這取決於如何此供應商的多卡安裝它命名爲「mycard *」,寫重命名規則爲70-persistent-net.rules
)。
這是多遠我來直到如今
# udev rules to name rename cards to mycard
ACTION!="add", GOTO="persistent_mycard_generator_end"
SUBSYSTEM!="net", GOTO="persistent_mycard_generator_end"
# ignore the interface if a name has already been set
NAME=="mycard*", GOTO="persistent_mycard_generator_end"
# device name whitelist
KERNEL!="eth*", GOTO="persistent_mycard_generator_end"
# read MAC address
ENV{MATCHADDR}="$attr{address}"
# match interface type
ENV{MATCHIFTYPE}="$attr{type}"
# ignore non mycard MAC addresses
ENV{MATCHADDR}!="00:11:22:*", GOTO="persistent_mycard_generator_end"
# default comment
ENV{COMMENT}=="", ENV{COMMENT}="mycard connected through ($attr{driver})"
#### THIS IS THE PART I DON'T GET ####
# write rule
DRIVERS=="?*", IMPORT{program}="write_net_rules"
# rename interface if needed
ENV{INTERFACE_NEW}=="?*", NAME="mycard*"
#### THIS IS THE END OF THE PART I DON'T GET ####
LABEL="persistent_mycard_generator_end
任務「部分我不明白」應該做的是重命名卡(可以說這是ETH3)如果要mycard0或它是系統中具有匹配的MAC地址mycard1等的第二張卡。
由於提前, flokra
幾乎就是這樣。留下一個問題:編寫的規則具有'KERNEL == mycard *'而不是'KERNEL == eth *',因此不適用。我今天早上寫了一個完整的解決方案,並在我回家時發佈。 – flokra 2009-11-06 15:19:25