this up. It took awhile, but by and large we are there, though many of the Unix vendors who use these systems as routers still haven't taken the code from CSRG and LBL that would make this work for them.
To my knowledge, No Unix vendor currently has full support of variable subnet masks, the exception being the BSD 4.4 release. I have pointed a few vendors at fixes to these problems, but I'm not sure if they have yet made it into releases. The CSRG folks did not manage to rip out all the assumptions about class so multiple interfaces to the same `natural' network with different masks will not work. Other aspects of variable subnet masks do work, such as discontiguous subnets and supernet aggregates. Even BSD 4.4 is not capable of having an interface on a subnet of a supernet whose mask is more general than the natural. Although most of the fixes (to the kernel) are rather minor. I did discuss this with the CSRG folks, but it was too late to make it into the 4.4 release. I don't think I was successful in convincing them to remove the idea of the `all-nets' broadcast. The last remaining holdout of `natural' networks in BSD 4.4 is that TCP uses it to calculate an MSS. This could be solved by MTU discovery and the glue necessary to get TCP to use it. Independent of kernel support, I have (hopefully) removed all knowledge of networking class from the core of gated. It is only present in protocols where it is required, RIPv1, EGP, BGPv2&3 and DCN HELLO. A snapshot of this code is available from gated.cornell.edu as gated 3.1Alpha1. A fair bit of work is necessary before this becomes a release, but it is there if you would like to play with it. Jeff