mapFromCidrv4(cidr: PrefixedCidrv4): PrefixedCidrv6
Converts an IPv4 CIDR block with a prefix length to its IPv4-mapped IPv6 CIDR representation.
cidr: PrefixedCidrv4
The IPv4 CIDR block
The equivalent IPv4-mapped IPv6 CIDR block, with a prefix length
mapFromCidrv4(cidr: MaskedCidrv4): MaskedCidrv6
Converts an IPv4 CIDR block with a mask to its IPv4-mapped IPv6 CIDR representation.
cidr: MaskedCidrv4
The IPv4 CIDR block
The equivalent IPv4-mapped IPv6 CIDR block, with a mask
mapFromCidrv4(cidr: Cidrv4): Cidrv6
Converts an IPv4 CIDR block to its IPv4-mapped IPv6 CIDR representation.
The address is embedded into the ::ffff:0:0/96 prefix. The dialect is
preserved: a prefix length is offset by 96, so an IPv4 /8 becomes an
IPv6 /104; a mask becomes the low 32 bits under the all-ones /96
prefix, so 255.0.0.0 becomes ffff:ffff:ffff:ffff:ffff:ffff:ff00:0.
Example 1
Example 1
import { assertEquals } from "@std/assert"; import { mapFromCidrv4, stringifyCidrv6 } from "@hertzg/ip/cidrv6"; import { parseCidrv4 } from "@hertzg/ip/cidrv4"; assertEquals( stringifyCidrv6(mapFromCidrv4(parseCidrv4("10.0.0.0/8"))), "::ffff:a00:0/104", ); assertEquals( stringifyCidrv6(mapFromCidrv4(parseCidrv4("192.168.1.0/24"))), "::ffff:c0a8:100/120", ); assertEquals( stringifyCidrv6(mapFromCidrv4(parseCidrv4("0.0.0.0/0"))), "::ffff:0:0/96", );
cidr: Cidrv4
The IPv4 CIDR block
The equivalent IPv4-mapped IPv6 CIDR block