v0.2.0
ADDED: * num-nets subcommand' this is MUCH much faster than actually splitting if you're trying to figure out how many times a given subnet fits into a network.
This commit is contained in:
@@ -33,6 +33,8 @@ func main() {
|
||||
var remaining *netipx.IPSet
|
||||
var buf *bytes.Buffer
|
||||
var res *netsplit.StructuredResults
|
||||
var numNets uint
|
||||
var v6Only bool
|
||||
var noStrict bool
|
||||
var strictErr error
|
||||
var reservations map[netip.Prefix]*netsplit.IANAAddrNetResRecord
|
||||
@@ -79,6 +81,27 @@ func main() {
|
||||
log.Panicln(err)
|
||||
}
|
||||
return
|
||||
case "num-nets":
|
||||
if numNets, v6Only, err = netsplit.NumNets(
|
||||
args.NumNets.Sizes.SubnetSize,
|
||||
args.NumNets.Sizes.NetworkSize,
|
||||
); err != nil {
|
||||
log.Panicln(err)
|
||||
}
|
||||
if !args.NumNets.Verbose {
|
||||
fmt.Printf("%d\n", numNets)
|
||||
if !args.NumNets.NoV6Check {
|
||||
fmt.Println(v6Only)
|
||||
}
|
||||
} else {
|
||||
fmt.Printf("Network Size:\t\t\t%d\n", args.NumNets.Sizes.NetworkSize)
|
||||
fmt.Printf("Subnet Size:\t\t\t%d\n", args.NumNets.Sizes.SubnetSize)
|
||||
fmt.Printf("Number of Subnets:\t\t%d\n", numNets)
|
||||
if !args.NumNets.NoV6Check {
|
||||
fmt.Printf("Subnetting is IPv6-Only:\t%v\n", v6Only)
|
||||
}
|
||||
}
|
||||
return
|
||||
case "reserved":
|
||||
if origPfx, err = netip.ParsePrefix(args.Check.Network.Network); err != nil {
|
||||
log.Panicln(err)
|
||||
@@ -136,7 +159,12 @@ func main() {
|
||||
origPfx = *resPfx
|
||||
}
|
||||
pfx = netipx.PrefixIPNet(origPfx.Masked())
|
||||
cmnArgs = args.Parse.common
|
||||
cmnArgs = common{
|
||||
commonBase: args.Parse.commonBase,
|
||||
Network: Net{
|
||||
Network: res.Original.String(),
|
||||
},
|
||||
}
|
||||
if err = printNets(&origPfx, pfx, nets, remaining, &cmnArgs, res.GetSplitter()); err != nil {
|
||||
log.Panicln(err)
|
||||
}
|
||||
@@ -185,7 +213,7 @@ func main() {
|
||||
PrefixLength: args.SplitCIDR.Prefix,
|
||||
BaseSplitter: new(netsplit.BaseSplitter),
|
||||
}
|
||||
case "vlsm":
|
||||
case "split-vlsm":
|
||||
if err = validate.Struct(args.VLSM); err != nil {
|
||||
log.Panicln(err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user