ipv6gen(1)

πŸ“¦ version 1.0, in fedora 43, fedora 44

✨ ipv6gen β€” the manual page, bestie edition ✨

okay so you opened ipv6gen(1), a General Commands Manual page, and honestly? you're about to have a great time. grab a snack πŸ“


πŸ’– NAME πŸ’–

ipv6gen β€” IPv6 prefix generator. that's it, that's the girl. she makes prefixes. πŸ‘‘


🌸 SYNOPSIS 🌸

ipv6gen [ -d ] [ -lmr ] [ -s <num> ] <prefix> <prefix_length>

πŸ¦‹ DESCRIPTION πŸ¦‹

so ipv6gen is the tool that generates a whole list of IPv6 prefixes β€” you give her a prefix and a prefix length, and she hands you back prefixes of that given prefix length derived from your certain prefix, following RFC 3531. no cap, that's literally the whole job and she eats every time πŸ’…


πŸŽ€ OPTIONS πŸŽ€

  • -d β€” debug mode, bestie. she displays the allocated prefix as a bit array so you can actually see what's happening. it's giving transparency ✨
  • -l β€” allocate bits from the left. so like, for delta 4, the bit array looks exactly like this:
0000
1000
0100
1100
0010
1010
0110
1110
0001
1001
0101
1101
0011
1011
0111
1111
  • -r β€” allocate bits from the right. this is the same as allocation from the left but reversed πŸ”. e.g. again for delta of value 4:
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
  • -m β€” allocate bits from the middle. this method tries to allocate bits close to the axis of delta first and then proceeds to sides 🫢. for delta of value 4 it is:
0000
0100
0010
0110
1000
1100
1010
1110
0001
0011
0101
0111
1001
1011
1101
1111

for delta of value 5, it is:

00000
00100
01000
01100
00010
00110
01010
01110
...

00001
00011
00101
00111
01001
01011
01101
01111
10001
10011
10101
10111
11001
11011
11101
11111
  • -s <num> β€” set the step between generated prefixes. she'll leave out step-1 prefixes between each two generated prefixes, okay? and the default step value is 1. iconique default behavior 🌈

⭐ EXAMPLES ⭐

say we need to split a /48 prefix into two prefixes. easy:

worm[~/IPv6/ipv6gen]> ./ipv6gen.pl 2001:1508:1003::/48 49
2001:1508:1003:0000::/49
2001:1508:1003:8000::/49

and to allocate bits from the middle from a /32 prefix with a 4-bits wide delta:

worm[~/IPv6/ipv6gen]> ./ipv6gen.pl -m 2001:1508::/32 36
2001:1508:0000::/36
2001:1508:4000::/36
2001:1508:2000::/36
2001:1508:6000::/36
2001:1508:8000::/36
2001:1508:C000::/36
2001:1508:A000::/36
2001:1508:E000::/36
2001:1508:1000::/36
2001:1508:3000::/36
2001:1508:5000::/36
2001:1508:7000::/36
2001:1508:9000::/36
2001:1508:B000::/36
2001:1508:D000::/36
2001:1508:F000::/36

πŸ‘‘ AUTHOR πŸ‘‘

Vladimir Kotal <vlada@devnull.cz> β€” shoutout to the author fr fr 🫑


🌈 WEBPAGE 🌈

http://techie.devnull.cz/ipv6/ipv6gen

go visit, iykyk πŸ’œ


πŸ’€ BUGS/TODO πŸ’€

ipv6gen should be converted to a Perl library/module. that's the todo, bestie, it's on the list 😭


and that's the whole page!! this came out of the ipv6gen(1) page in the General Commands Manual (section 1) β€” mwah, sending you all the prefix vibes, go generate something beautiful πŸ§šβ€β™€οΈπŸ’–βœ¨

πŸ“¦ where this page comes from