networking: add 'ip neigh' command
This patch ports the 'ip neigh' command, originally written by Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru>, to busybox. The base of the port is the version of iproute that shipped with Debian Squeeze, taken from: http://http.debian.net/debian/pool/main/i/iproute/iproute_20100519.orig.tar.gz This patch has actively been used by the Open Network Install Environment (ONIE) project for over 3 years without incident. function old new delta print_neigh - 933 +933 ipneigh_list_or_flush - 742 +742 get_hz - 109 +109 do_ipneigh - 62 +62 do_iproute 2112 2153 +41 packed_usage 30647 30667 +20 ipneigh_main - 14 +14 static.ip_neigh_commands - 12 +12 static.nuds - 9 +9 static.ip_func_ptrs 32 36 +4 print_route 1858 1727 -131 ------------------------------------------------------------------------------ (add/remove: 8/0 grow/shrink: 3/1 up/down: 1946/-131) Total: 1815 bytes Signed-off-by: Curt Brune <curt@cumulusnetworks.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
committed by
Denys Vlasenko
parent
7b85ec30b5
commit
69934701fd
@@ -13,6 +13,28 @@
|
||||
#include "utils.h"
|
||||
#include "inet_common.h"
|
||||
|
||||
unsigned get_hz(void)
|
||||
{
|
||||
static unsigned hz_internal;
|
||||
FILE *fp;
|
||||
|
||||
if (hz_internal)
|
||||
return hz_internal;
|
||||
|
||||
fp = fopen_for_read("/proc/net/psched");
|
||||
if (fp) {
|
||||
unsigned nom, denom;
|
||||
|
||||
if (fscanf(fp, "%*08x%*08x%08x%08x", &nom, &denom) == 2)
|
||||
if (nom == 1000000)
|
||||
hz_internal = denom;
|
||||
fclose(fp);
|
||||
}
|
||||
if (!hz_internal)
|
||||
hz_internal = bb_clk_tck();
|
||||
return hz_internal;
|
||||
}
|
||||
|
||||
unsigned get_unsigned(char *arg, const char *errmsg)
|
||||
{
|
||||
unsigned long res;
|
||||
|
Reference in New Issue
Block a user