diff --git a/src/add-ons/kernel/network/stack/interfaces.cpp b/src/add-ons/kernel/network/stack/interfaces.cpp index 4a00f1a53b..cb877fbfce 100644 --- a/src/add-ons/kernel/network/stack/interfaces.cpp +++ b/src/add-ons/kernel/network/stack/interfaces.cpp @@ -92,11 +92,21 @@ static int dump_interface(int argc, char** argv) { if (argc != 2) { - kprintf("usage: %s [address]\n", argv[0]); + kprintf("usage: %s [name|address]\n", argv[0]); return 0; } - Interface* interface = (Interface*)parse_expression(argv[1]); + Interface* interface = NULL; + + InterfaceList::Iterator iterator = sInterfaces.GetIterator(); + while ((interface = iterator.Next()) != NULL) { + if (!strcmp(argv[1], interface->name)) + break; + } + + if (interface == NULL) + interface = (Interface*)parse_expression(argv[1]); + interface->Dump(); return 0;