diff options
author | Andrey V. Elsukov <ae@FreeBSD.org> | 2014-09-10 16:26:18 +0000 |
---|---|---|
committer | Andrey V. Elsukov <ae@FreeBSD.org> | 2014-09-10 16:26:18 +0000 |
commit | 028bdf289df048af19dd5d599114dff27afc36c5 (patch) | |
tree | b93298b87693389ded830b8e1830613117b2ba1d /sys/netinet/tcp_hostcache.h | |
parent | b8fd1e31d984c0ffe888bed30908e71ae7950dd9 (diff) |
Add scope zone id to the in_endpoints and hc_metrics structures.
A non-global IPv6 address can be used in more than one zone of the same
scope. This zone index is used to identify to which zone a non-global
address belongs.
Also we can have many foreign hosts with equal non-global addresses,
but from different zones. So, they can have different metrics in the
host cache.
Obtained from: Yandex LLC
Sponsored by: Yandex LLC
Notes
Notes:
svn path=/head/; revision=271400
Diffstat (limited to 'sys/netinet/tcp_hostcache.h')
-rw-r--r-- | sys/netinet/tcp_hostcache.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/netinet/tcp_hostcache.h b/sys/netinet/tcp_hostcache.h index 8569edccec25..05aea125f3fb 100644 --- a/sys/netinet/tcp_hostcache.h +++ b/sys/netinet/tcp_hostcache.h @@ -51,6 +51,7 @@ struct hc_metrics { struct hc_head *rmx_head; /* head of bucket tail queue */ struct in_addr ip4; /* IP address */ struct in6_addr ip6; /* IP6 address */ + uint32_t ip6_zoneid; /* IPv6 scope zone id */ /* endpoint specific values for tcp */ u_long rmx_mtu; /* MTU for this path */ u_long rmx_ssthresh; /* outbound gateway buffer limit */ |