0.19: Peter Bieringer <pb@bieringer.de>
Extend "TODO" list
Print also info on "-?"
Fixes in spec file, see changelog at the end of that file
Add "COPYING" and "INSTALLING"
Add "installonly" on "Makefile" to support changes in spec file
0.18: Peter Bieringer <pb@bieringer.de>
Add "make test" after "make" in spec file to stop build process, if
compiling do not result in working code
Add samplecode directory
0.17: Peter Bieringer <pb@bieringer.de>
Fix "addr_to_ip6int" (sprintf)
Minor reviews
0.16: Peter Bieringer <pb@bieringer.de>
Review "Makefile" to make it usable on BSD systems
Minor reviews to enable a clean make on BSD systems
0.15: Peter Bieringer <pb@bieringer.de>
Create TODO
Some review
New option: mac_to_eui64
0.14: Peter Bieringer <pb@bieringer.de>
Review CREDITS
0.13: Peter Bieringer <pb@bieringer.de>
Add base85 support
Add compatv4/mapped support
Split away some RFC depended libaries
Rename internal used functions
Rename options (old ones still work)
Change IPv6 address compression method from getaddrinfo to
native calculation (hopefully bugless)
Some review
ipv6calc is a small utility in C to manipulate IPv6 addresses. The intentions
were to convert a given IPv6 address into compressed format, convert a given
IPv6 address into the same format like shown in Linux' /proc/net/if_inet6 and
(because it was not difficulty) migrate ip6_int into. Now only one utiltity is
needed to do a lot (perhaps the features grow on demand in the future).
This utility will be used in the future to extend features on
network-functions-ipv6.
Examples:
ipv6calc --addr2ip6_int ipv6addr[/prefixlength]
Converts given IPv6 address to a dot separated reverse nibble format for use with DNS
e.g. 3ffe:400:100:f101::1
-> 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.1.f.0.0.1.0.0.0.4.0.e.f.f.3.ip6.int
e.g. 3ffe:400:100:f101::1/64 -> 1.0.1.f.0.0.1.0.0.0.4.0.e.f.f.3.ip6.int
ipv6calc --addr2compaddr ipv6addr[/prefixlength]
Converts given IPv6 address to a compressed one
e.g. 3ffe:0400:0100:f101:0000:0000:0000:0001 -> 3ffe:400:100:f101::1
ipv6calc --addr2uncompaddr ipv6addr[/prefixlength]
Converts given IPv6 address to an uncompressed one
e.g. 3ffe:400:100:f101::1 -> 3ffe:400:100:f101:0:0:0:1
ipv6calc --addr2fulluncompaddr ipv6addr[/prefixlength]
Converts given IPv6 address to a full uncompressed one
e.g. 3ffe:400:100:f101::1 -> 3ffe:0400:0100:f101:0000:0000:0000:0001
ipv6calc --addr2if_inet6 ipv6addr[/prefixlength]
Converts given IPv6 address to similar format shown in /proc/net/if_inet6:
addr scope [prefixlength]
e.g. 3ffe:400:100:f101::1 -> 3ffe04000100f1010000000000000001 00
e.g. 3ffe:400:100:f101::1/64 -> 3ffe04000100f1010000000000000001 00 40
ipv6calc --if_inet62addr 32hexcharsIPv6addr [2hexcharsPrefixlength]
Converts given if_inet6 formatted IPv6 address to normal one
e.g. 3ffe04000100f1010000000000000001 -> 3ffe:400:100::1
e.g. 3ffe04000100f1010000000000000001 40 -> 3ffe:400:100::1/64