Text for IPv6 Scope

Michael Tuexen Michael.Tuexen at lurchi.franken.de
Sat Jan 5 03:52:58 PST 2008


Dear all,

aren't site-local IPv6 addresses depreceated (RFC 3879)? So shouldn't
the site-local stuff be removed?

Best regards
Michael

On Jan 4, 2008, at 10:56 PM, Crist J. Clark wrote:

> Anyone up for adding text to the scopeid field in the ifconfig(8)
> output for IPv6 addresses? Other OSes do. To avoid too much
> disruption to the current format, the text is appended after the
> currently printed hexadecimal field.
>
> Example:
>
> fxp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>        options=8<VLAN_MTU>
>        inet6 fe80::290:27ff:fe13:2540%fxp0 prefixlen 64 scopeid  
> 0x5(site-local)
>
> While we're at it, update the in6.h file to include all scopes
> in RFC4291.
>
> Look OK? Anyone up for applying these?
>
> Patches (diffs off of a not-too-current CURRENT):
>
> Index: sbin/ifconfig/af_inet6.c
> ===================================================================
> RCS file: /ncvs/freebsd/src/sbin/ifconfig/af_inet6.c,v
> retrieving revision 1.5
> diff -u -r1.5 af_inet6.c
> --- sbin/ifconfig/af_inet6.c	3 Feb 2007 03:40:33 -0000	1.5
> +++ sbin/ifconfig/af_inet6.c	4 Jan 2008 21:53:26 -0000
> @@ -290,8 +290,31 @@
> 	if ((flags6 & IN6_IFF_TEMPORARY) != 0)
> 		printf("temporary ");
>
> -        if (scopeid)
> -		printf("scopeid 0x%x ", scopeid);
> +        if (scopeid) {
> +		printf("scopeid 0x%x", scopeid);
> +		switch (scopeid) {
> +		case __IPV6_ADDR_SCOPE_INTFACELOCAL:
> +			printf("(interface-local) ");
> +			break;
> +		case __IPV6_ADDR_SCOPE_LINKLOCAL:
> +			printf("(link-local) ");
> +			break;
> +		case __IPV6_ADDR_SCOPE_ADMINLOCAL:
> +			printf("(admin-local) ");
> +			break;
> +		case __IPV6_ADDR_SCOPE_SITELOCAL:
> +			printf("(site-local) ");
> +			break;
> +		case __IPV6_ADDR_SCOPE_ORGLOCAL:
> +			printf("(org-local) ");
> +			break;
> +		case __IPV6_ADDR_SCOPE_GLOBAL:
> +			printf("(global) ");
> +			break;
> +		default:
> +			putchar(' ');
> +		}
> +	}
>
> 	if (ip6lifetime && (lifetime.ia6t_preferred ||  
> lifetime.ia6t_expire)) {
> 		printf("pltime ");
> Index: sys/netinet6/in6.h
> ===================================================================
> RCS file: /ncvs/freebsd/src/sys/netinet6/in6.h,v
> retrieving revision 1.44
> diff -u -r1.44 in6.h
> --- sys/netinet6/in6.h	28 Mar 2006 12:51:22 -0000	1.44
> +++ sys/netinet6/in6.h	4 Jan 2008 21:44:36 -0000
> @@ -271,6 +271,7 @@
> #define IPV6_ADDR_SCOPE_NODELOCAL	0x01
> #define IPV6_ADDR_SCOPE_INTFACELOCAL	0x01
> #define IPV6_ADDR_SCOPE_LINKLOCAL	0x02
> +#define IPV6_ADDR_SCOPE_ADMINLOCAL	0x04
> #define IPV6_ADDR_SCOPE_SITELOCAL	0x05
> #define IPV6_ADDR_SCOPE_ORGLOCAL	0x08	/* just used in this file */
> #define IPV6_ADDR_SCOPE_GLOBAL		0x0e
> @@ -278,6 +279,7 @@
> #define __IPV6_ADDR_SCOPE_NODELOCAL	0x01
> #define __IPV6_ADDR_SCOPE_INTFACELOCAL	0x01
> #define __IPV6_ADDR_SCOPE_LINKLOCAL	0x02
> +#define __IPV6_ADDR_SCOPE_ADMINLOCAL	0x04
> #define __IPV6_ADDR_SCOPE_SITELOCAL	0x05
> #define __IPV6_ADDR_SCOPE_ORGLOCAL	0x08	/* just used in this file */
> #define __IPV6_ADDR_SCOPE_GLOBAL	0x0e
> -- 
> Crist J. Clark                     |     cjclark at alum.mit.edu
> _______________________________________________
> freebsd-net at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"
>



More information about the freebsd-net mailing list