명령줄에 경로를 입력하면 플래그에 대해 U, UG 등이 인쇄됩니다. 경로 파일에는 플래그를 숫자 0001, 0003 등으로 저장합니다. /proc/net/ 파일의 플래그 번호는 어떻습니까? 경로가 인쇄된 표지판을 사용하여 경로를 문자로 변환합니까?
답변1
네트워크 도구의 소스는 다음과 같습니다.여기. lib/inet_gr.c의 플래그를 디코딩합니다.
/* Decode the flags. */
flags[0] = '\0';
if (iflags & RTF_UP)
strcat(flags, "U");
if (iflags & RTF_GATEWAY)
strcat(flags, "G");
...
플래그는 lib/net-support.h에 정의되어 있습니다. 예:
#define RTF_UP 0x0001 /* route usable */
#define RTF_GATEWAY 0x0002 /* destination is a gateway */
#define RTF_HOST 0x0004 /* host entry (net otherwise) */