Would you guys please look this over and say yes or no for Linus. I've posted this as a fix for several people several times and not gotten any responses from the top dogs. There are no complaints about it, it's in the form Alexey wants and fixes the arp problem. The second portion of the patch removes the %s, "*" for the mask as the mask isn't implemented in this area and I'm told it won't be. current broken implementation (eth0 works, this is an example, other types of devices yield the below): $ cat /proc/net/arp IP address HW type Flags HW address Mask Device 208.179.0.1930x1 0x2 00:E0:98:70:1E:AF * eth0 fixed version: $ cat /proc/net/arp IP address HW type Flags HW address Mask Device 208.179.0.193 0x1 0x2 00:E0:98:70:1E:AF * eth0 -d -- "There is a natural aristocracy among men. The grounds of this are virtue and talents", Thomas Jefferson [1742-1826], 3rd US President
--- net/ipv4/arp.c.orig Fri Aug 4 18:18:49 2000 +++ net/ipv4/arp.c Sat Sep 23 12:47:03 2000 @@ -65,6 +65,7 @@ * clean up the APFDDI & gen. FDDI bits. * Alexey Kuznetsov: new arp state machine; * now it is in net/core/neighbour.c. + * David Ford : More fixes cleaning up the proc output */ /* RFC1122 Status: @@ -1025,6 +1026,7 @@ char hbuffer[HBUFFERLEN]; int i,j,k; const char hexbuf[] = "0123456789ABCDEF"; + char abuf[16]; size = sprintf(buffer,"IP address HW type Flags HW address Mask Device\n"); @@ -1063,20 +1065,15 @@ } #endif - { - char tbuf[16]; - sprintf(tbuf, "%u.%u.%u.%u", NIPQUAD(*(u32*)n->primary_key)); - - size = sprintf(buffer+len, "%-16s 0x%-10x0x%-10x%s", - tbuf, - hatype, - arp_state_to_flags(n), - hbuffer); - - size += sprintf(buffer+len+size, - " %-8s %s\n", - "*", dev->name); - } + size = sprintf(buffer+len, "%-16s 0x%-10x0x%-10x%s", + in_ntoa2(*(u32*)n->primary_key, abuf), + hatype, + arp_state_to_flags(n), + hbuffer); + + size += sprintf(buffer+len+size, + " * %-16s\n", + dev->name); read_unlock(&n->lock); @@ -1099,15 +1096,15 @@ struct net_device *dev = n->dev; int hatype = dev ? dev->type : 0; - size = sprintf(buffer+len, - "%u.%u.%u.%u0x%-10x0x%-10x%s", - NIPQUAD(*(u32*)n->key), + size = sprintf(buffer+len, "%-16s 0x%-10x0x%-10x%s", + in_ntoa2(*(u32*)n->key, abuf), hatype, ATF_PUBL|ATF_PERM, "00:00:00:00:00:00"); + size += sprintf(buffer+len+size, - " %-17s %s\n", - "*", dev ? dev->name : "*"); + " * %-16s\n", + dev ? dev->name : "*"); len += size; pos += size;
begin:vcard n:Ford;David x-mozilla-html:TRUE org:<img src="http://www.kalifornia.com/images/paradise.jpg"> adr:;;;;;; version:2.1 email;internet:[EMAIL PROTECTED] title:Blue Labs Developer x-mozilla-cpt:;28256 fn:David Ford end:vcard