aboutsummaryrefslogtreecommitdiff
path: root/sys/netinet/tcp_hostcache.h
diff options
context:
space:
mode:
authorAndrey V. Elsukov <ae@FreeBSD.org>2014-09-10 16:26:18 +0000
committerAndrey V. Elsukov <ae@FreeBSD.org>2014-09-10 16:26:18 +0000
commit028bdf289df048af19dd5d599114dff27afc36c5 (patch)
treeb93298b87693389ded830b8e1830613117b2ba1d /sys/netinet/tcp_hostcache.h
parentb8fd1e31d984c0ffe888bed30908e71ae7950dd9 (diff)
downloadsrc-028bdf289df048af19dd5d599114dff27afc36c5.tar.gz
src-028bdf289df048af19dd5d599114dff27afc36c5.zip
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.h1
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 */