udevで `ATTR{type}=="1"`はどういう意味ですか?

udevで `ATTR{type}==

ネットワークデバイスに関する情報を取得するときに、最上位デバイスにリストされている属性の1つは次のとおりです。

ATTR{type}=="1"

なぜこれが何を意味するのか、ネットワークデバイスに永続名を与えるルールが一致するのはなぜですか?

ベストアンサー1

ATTR{type}/sysudevフィルタの他の要素でフィルタリングされた仕様の対応する項目値。これにより、find /sys/ -name typeさまざまなサブシステムの多数のオブジェクトに適用できることがわかります。

私は質問に私のタグを付けたので、linux networking問題はネットワークデバイスにのみ関連していると仮定できます。ネットワークインタフェースプロトコルtype:

内容: /sys/class/net/<iface>/type
日付: 2005 年 4 月
カーネルバージョン: 2.6.12
連絡先情報: [Eメール保護]
説明:
インターフェース・プロトコルのタイプを 10 進値で表します。バラよりinclude/uapi/linux/if_arp.h可能なすべての値について。

このファイル既知の値を順番に定義します。

#define ARPHRD_ETHER    1       /* Ethernet 10Mbps      */

1では、これはATTR{type}=="1"単に「イーサネットデバイス」を意味します(ワイヤレスなどの擬似イーサネットデバイスを含む、実際のもの、veth、またはブリッジを含む仮想などの速度に関係なく...)。

もう1つの一般的なインターフェースは、次のようにloタイプ772の1つです(したがって、udev以前のインターフェースで検出されてもかまいませんATTR{type}=="1")。

#define ARPHRD_LOOPBACK 772     /* Loopback device      */

これは次のように確認できます。

$ cat /sys/class/net/lo/type
772

おすすめ記事