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
연락처 정보: [이메일 보호됨]
설명:
인터페이스 프로토콜 유형을 10진수 값으로 나타냅니다. 바라보다include/uapi/linux/if_arp.h가능한 모든 값에 대해.

이 파일알려진 값을 차례로 정의하십시오.

#define ARPHRD_ETHER    1       /* Ethernet 10Mbps      */

1에서 이는 ATTR{type}=="1"단순히 "이더넷 장치"를 의미합니다(무선과 같은 의사 이더넷 장치를 포함하여 실제 여부, veth 또는 브리지를 포함한 가상 등 속도에 관계없이...).

또 다른 일반적인 인터페이스는 다음과 같이 lo유형 772 중 하나입니다(따라서 udev이전 인터페이스에서 감지되더라도 상관없습니다 ATTR{type}=="1").

#define ARPHRD_LOOPBACK 772     /* Loopback device      */

이는 다음을 통해 확인할 수 있습니다.

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

관련 정보