James,

I submitted the bug, implemented your contribution into 1.8.1, 
QA'ed the changes, uploaded the updated version of 1.8.1, filed 
the change log, and documented your contribution.  The updated 
1.8.1 download is available here:

http://opensolaris.org/os/project/zonemgr/files/zonemgr-1.8.1.txt

Thanks again!

Brad


On Thu, 2007-01-25 at 22:01 -0600, Brad Diggs wrote:
> James,
> 
> Honestly when I initially wrote these conversions I had hoped
> that someone would provide a much simpler way of doing them.
> I was surprised that there wasn't a standard OS command to do 
> the conversions for you.
> 
> That being said, your method is absolutely brilliant.  Thanks!
> 
> With respect to the default cidr=/24, I meant to condition both
> directions of conversion to throw an error if the inputs exceeded
> boundary conditions.  However as you can see I forgot to get 
> around to that.  Now I will get it into 1.8.1 thanks to your
> contribution.
> 
> Brad
> 
> On Thu, 2007-01-25 at 09:27 -0500, James Carlson wrote:
> > Graham Hares writes:
> > >      if [ $oct1 -lt 128 ]&&[ $oct2 -eq   0 ]&&[ $oct3 -eq   0 ]&&[ $oct4 
> > > -eq   0 ];then cidr=0;
> > 
> > You can do most of this with:
> > 
> > perl -e 'use Socket; print unpack("%32b*",inet_aton($ARGV[0])), "\n";' $nm
> > 
> > If you really want to make sure that unsupported non-contiguous
> > netmasks are all transformed into /24 as this script does (not sure
> > why that's a good thing), then:
> > 
> > perl -e 'use Socket;
> >     $addr = inet_aton($ARGV[0]);
> >     $bits = unpack("%32b*",$addr);
> >     $contig = pack("N",~((1<<(32-$bits))-1));
> >     print (($contig eq $addr ? $bits : 24), "\n");' $nm
> > 
> > > cidr2dot() {
> > >    cidr=$1
> > >      if [ $cidr -ge 32 ];then netmask='255.255.255.255'
> > 
> > Similarly:
> > 
> > perl -e 'use Socket;
> >     ($c1,$c2,$c3,$c4) = unpack("C4",pack("N",~((1<<(32-$ARGV[0]))-1)));
> >     print "$c1.$c2.$c3.$c4\n";' $cidr
> > 
> > There probably ought to be better ways of handling IP values in your
> > shell of choice.
> > 
> 
> _______________________________________________
> zones-discuss mailing list
> zones-discuss@opensolaris.org

_______________________________________________
zones-discuss mailing list
zones-discuss@opensolaris.org

Reply via email to