[ppml] 240/4

Leo Bicknell bicknell at ufp.org
Fri May 4 09:06:20 EDT 2007


In a message written on Fri, May 04, 2007 at 01:44:49AM +0000, bmanning at karoshi.com wrote:
> 	again, if you think this is useful idea, TRY IT OUT.
> 	then document the effects and what needs to be changed
> 	before writing a wellmeaning but worthless document.

Below are patches for FreeBSD 5.4-RELEASE.  Not fully tested, but
I post them to show the magnitude of the change.  The first patch
is all that's necessary to enable "Class E" space.  The second patch
is purely cleanup to keep the code neat and tidy.

I suspect the level of effort for any Unix based platform is similar,
and since new Windows lifted much of the BSD networking code it's
probably fairly similar over there.

For all the vendor moaning about this, the patch here amounts to
deleting 23 characters on a single line and recompiling.  If it's
not that simple for other vendors, they deserve all the pain they
get over it, because they wrote crappy code in the first place.

*** /usr/src/sys/netinet/in.c.orig      Fri May  4 08:58:07 2007
--- /usr/src/sys/netinet/in.c   Fri May  4 08:58:56 2007
***************
*** 127,133 ****
        register u_long i = ntohl(in.s_addr);
        register u_long net;
  
!       if (IN_EXPERIMENTAL(i) || IN_MULTICAST(i))
                return (0);
        if (IN_CLASSA(i)) {
                net = i & IN_CLASSA_NET;
--- 127,133 ----
        register u_long i = ntohl(in.s_addr);
        register u_long net;
  
!       if (IN_MULTICAST(i))
                return (0);
        if (IN_CLASSA(i)) {
                net = i & IN_CLASSA_NET;

*** /usr/src/sys/netinet/in.h.orig      Fri May  4 08:58:10 2007
--- /usr/src/sys/netinet/in.h   Fri May  4 08:58:38 2007
***************
*** 341,349 ****
  #define       IN_CLASSD_HOST          0x0fffffff      /* routing
needn't know.    */
  #define       IN_MULTICAST(i)         IN_CLASSD(i)
  
- #define       IN_EXPERIMENTAL(i)      (((u_int32_t)(i) & 0xf0000000) == 0xf0000000)
- #define       IN_BADCLASS(i)          (((u_int32_t)(i) & 0xf0000000) == 0xf0000000)
- 
  #define       INADDR_LOOPBACK         (u_int32_t)0x7f000001
  #ifndef _KERNEL
  #define       INADDR_NONE             0xffffffff              /* -1
return */
--- 341,346 ----

-- 
       Leo Bicknell - bicknell at ufp.org - CCIE 3440
        PGP keys at http://www.ufp.org/~bicknell/
Read TMBG List - tmbg-list-request at tmbg.org, www.tmbg.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
URL: <https://lists.arin.net/pipermail/arin-ppml/attachments/20070504/7f8e9a86/attachment.sig>


More information about the ARIN-PPML mailing list