Re: что означает RUNNING у ifconfig ?
Alexey Zagarin <alexey@aqc.ru> writes:
> alexey@alexey:~$ /sbin/ifconfig
> eth0 Link encap:Ethernet HWaddr 00:02:44:20:EB:7B
> inet addr:192.168.1.89 Bcast:192.168.1.255 Mask:255.255.255.0
> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
> RX packets:164050 errors:0 dropped:0 overruns:0 frame:0
> TX packets:37255 errors:0 dropped:0 overruns:7 carrier:0
> collisions:0 txqueuelen:100
> RX bytes:44678521 (42.6 MiB) TX bytes:4126061 (3.9 MiB)
> Interrupt:10
>
> Что означает слово RUNNING в выводе ifconfig? Вернее, меня даже больше
> интересует, что может означать, когда UP есть, а RUNNING нет. У меня на
> одном сервере такое. При этом сам себя он пингует, а соседа в сети нет.
> Более того, в ARP таблице у соседа его IP есть, а пакеты не ходят. Из-за
> чего такое бывает?
>
Элементарно находиться грепом по исходникам ядра. IFF_RUNNING -
наличие физического коннекта. IFF_UP - просто поднят интерфейс. Наличие
хоста в arp таблице ничего не значит, он просто еще не успел
проэкспириться.
Кстати, нашел забавное место в iproute2 : ip/ipaddress.c
void print_link_flags(FILE *fp, unsigned flags, unsigned mdown)
{
fprintf(fp, "<");
flags &= ~IFF_RUNNING;
#define _PF(f) if (flags&IFF_##f) { \
flags &= ~IFF_##f ; \
fprintf(fp, #f "%s", flags ? "," : ""); }
_PF(LOOPBACK);
_PF(BROADCAST);
_PF(POINTOPOINT);
_PF(MULTICAST);
_PF(NOARP);
_PF(ALLMULTI);
_PF(PROMISC);
_PF(MASTER);
_PF(SLAVE);
_PF(DEBUG);
_PF(DYNAMIC);
_PF(AUTOMEDIA);
_PF(PORTSEL);
_PF(NOTRAILERS);
_PF(UP);
#undef _PF
if (flags)
fprintf(fp, "%x", flags);
if (mdown)
fprintf(fp, ",M-DOWN");
fprintf(fp, "> ");
}
Как используется mdown - я не смог понять, документация про "M-DOWN"
тоже молчит. Но вот почему не печатается RUNNING - загадка.
--
Mon at phobos.loc
Der kalte Mond in voller Pracht...
The Moon is Waning Crescent (4% of Full)
Reply to: