ipv6: Add labels for site-local and 6bone testing addresses (RFC6724)
Added labels for site-local addresses (fec0::/10) and 6bone testing addresses (3ffe::/16) in order to depreference them. Note that the RFC introduced new rows for Teredo, ULA and 6to4 addresses in the default policy table. Some of them have different labels from ours. For backward compatibility, we do not change the "default" labels. Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
8289bab1da
commit
417962a02b
|
@ -57,7 +57,7 @@ struct net *ip6addrlbl_net(const struct ip6addrlbl_entry *lbl)
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Default policy table (RFC3484 + extensions)
|
* Default policy table (RFC6724 + extensions)
|
||||||
*
|
*
|
||||||
* prefix addr_type label
|
* prefix addr_type label
|
||||||
* -------------------------------------------------------------------------
|
* -------------------------------------------------------------------------
|
||||||
|
@ -69,8 +69,12 @@ struct net *ip6addrlbl_net(const struct ip6addrlbl_entry *lbl)
|
||||||
* fc00::/7 N/A 5 ULA (RFC 4193)
|
* fc00::/7 N/A 5 ULA (RFC 4193)
|
||||||
* 2001::/32 N/A 6 Teredo (RFC 4380)
|
* 2001::/32 N/A 6 Teredo (RFC 4380)
|
||||||
* 2001:10::/28 N/A 7 ORCHID (RFC 4843)
|
* 2001:10::/28 N/A 7 ORCHID (RFC 4843)
|
||||||
|
* fec0::/10 N/A 11 Site-local
|
||||||
|
* (deprecated by RFC3879)
|
||||||
|
* 3ffe::/16 N/A 12 6bone
|
||||||
*
|
*
|
||||||
* Note: 0xffffffff is used if we do not have any policies.
|
* Note: 0xffffffff is used if we do not have any policies.
|
||||||
|
* Note: Labels for ULA and 6to4 are different from labels listed in RFC6724.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define IPV6_ADDR_LABEL_DEFAULT 0xffffffffUL
|
#define IPV6_ADDR_LABEL_DEFAULT 0xffffffffUL
|
||||||
|
@ -88,10 +92,18 @@ static const __net_initdata struct ip6addrlbl_init_table
|
||||||
.prefix = &(struct in6_addr){{{ 0xfc }}},
|
.prefix = &(struct in6_addr){{{ 0xfc }}},
|
||||||
.prefixlen = 7,
|
.prefixlen = 7,
|
||||||
.label = 5,
|
.label = 5,
|
||||||
|
},{ /* fec0::/10 */
|
||||||
|
.prefix = &(struct in6_addr){{{ 0xfe, 0xc0 }}},
|
||||||
|
.prefixlen = 10,
|
||||||
|
.label = 11,
|
||||||
},{ /* 2002::/16 */
|
},{ /* 2002::/16 */
|
||||||
.prefix = &(struct in6_addr){{{ 0x20, 0x02 }}},
|
.prefix = &(struct in6_addr){{{ 0x20, 0x02 }}},
|
||||||
.prefixlen = 16,
|
.prefixlen = 16,
|
||||||
.label = 2,
|
.label = 2,
|
||||||
|
},{ /* 3ffe::/16 */
|
||||||
|
.prefix = &(struct in6_addr){{{ 0x3f, 0xfe }}},
|
||||||
|
.prefixlen = 16,
|
||||||
|
.label = 12,
|
||||||
},{ /* 2001::/32 */
|
},{ /* 2001::/32 */
|
||||||
.prefix = &(struct in6_addr){{{ 0x20, 0x01 }}},
|
.prefix = &(struct in6_addr){{{ 0x20, 0x01 }}},
|
||||||
.prefixlen = 32,
|
.prefixlen = 32,
|
||||||
|
|
Loading…
Reference in New Issue