mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-29 07:04:10 +08:00
ipv6: Remove IPV6_ADDR_RESERVED
RFC 4291 section 2.4 states that all uncategorized addresses should be considered as Global Unicast. This will remove IPV6_ADDR_RESERVED completely and return IPV6_ADDR_UNICAST in ipv6_addr_type() instead. Signed-off-by: Ulrich Weber <uweber@astaro.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
1d9cfc4e35
commit
45bb006090
@ -73,7 +73,6 @@
|
||||
#define IPV6_ADDR_SCOPE_MASK 0x00f0U
|
||||
|
||||
#define IPV6_ADDR_MAPPED 0x1000U
|
||||
#define IPV6_ADDR_RESERVED 0x2000U /* reserved address space */
|
||||
|
||||
/*
|
||||
* Addr scopes
|
||||
|
@ -992,8 +992,7 @@ struct ipv6_saddr_dst {
|
||||
|
||||
static inline int ipv6_saddr_preferred(int type)
|
||||
{
|
||||
if (type & (IPV6_ADDR_MAPPED|IPV6_ADDR_COMPATv4|
|
||||
IPV6_ADDR_LOOPBACK|IPV6_ADDR_RESERVED))
|
||||
if (type & (IPV6_ADDR_MAPPED|IPV6_ADDR_COMPATv4|IPV6_ADDR_LOOPBACK))
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
@ -72,7 +72,7 @@ int __ipv6_addr_type(const struct in6_addr *addr)
|
||||
IPV6_ADDR_SCOPE_TYPE(IPV6_ADDR_SCOPE_GLOBAL)); /* addr-select 3.3 */
|
||||
}
|
||||
|
||||
return (IPV6_ADDR_RESERVED |
|
||||
return (IPV6_ADDR_UNICAST |
|
||||
IPV6_ADDR_SCOPE_TYPE(IPV6_ADDR_SCOPE_GLOBAL)); /* addr-select 3.4 */
|
||||
}
|
||||
EXPORT_SYMBOL(__ipv6_addr_type);
|
||||
|
@ -1873,7 +1873,7 @@ static int ip6_pkt_drop(struct sk_buff *skb, u8 code, int ipstats_mib_noroutes)
|
||||
switch (ipstats_mib_noroutes) {
|
||||
case IPSTATS_MIB_INNOROUTES:
|
||||
type = ipv6_addr_type(&ipv6_hdr(skb)->daddr);
|
||||
if (type == IPV6_ADDR_ANY || type == IPV6_ADDR_RESERVED) {
|
||||
if (type == IPV6_ADDR_ANY) {
|
||||
IP6_INC_STATS(dev_net(dst->dev), ip6_dst_idev(dst),
|
||||
IPSTATS_MIB_INADDRERRORS);
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user