使用route的路由标志与使用cat /proc/net/route的路由标志之间的关系

使用route的路由标志与使用cat /proc/net/route的路由标志之间的关系

当您在命令行中输入路线时,对于标志,它会打印出 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)   */

相关内容