ipbits

package
v27.1.0+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 19, 2024 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Overview

Package ipbits contains utilities for manipulating netip.Addr values as numbers or bitfields.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Add

func Add(ip netip.Addr, x uint64, shift uint) netip.Addr

Add returns ip + (x << shift).

func Field

func Field(ip netip.Addr, u, v uint) uint64

Field returns the value of the bitfield [u, v] in ip as an integer, where bit 0 is the most-significant bit of ip.

The result is undefined if u > v, if v-u > 64, or if u or v is larger than ip.BitLen().

func SubnetsBetween

func SubnetsBetween(a1 netip.Addr, a2 netip.Addr, sz int) uint64

SubnetsBetween computes the number of subnets of size 'sz' available between 'a1' and 'a2'. The result is capped at math.MaxUint64. It returns 0 when one of 'a1' or 'a2' is invalid, if both aren't of the same family, or when 'a2' is less than 'a1'.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL