summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrwatson <rwatson@FreeBSD.org>2007-04-30 23:12:05 +0000
committerrwatson <rwatson@FreeBSD.org>2007-04-30 23:12:05 +0000
commitc27ef034149379823d3f1a1ed091d766fe5abb17 (patch)
tree119273487ff879cda562b2fa2b8c40c1b950e2b0
parent7af8abc0c5540217c84e7fef30f265f5ebdee5c6 (diff)
downloadFreeBSD-src-c27ef034149379823d3f1a1ed091d766fe5abb17.zip
FreeBSD-src-c27ef034149379823d3f1a1ed091d766fe5abb17.tar.gz
Rename some fields of struct inpcbinfo to have the ipi_ prefix,
consistent with the naming of other structure field members, and reducing improper grep matches. Clean up and comment structure fields in structure definition.
-rw-r--r--sys/netinet/in_pcb.c39
-rw-r--r--sys/netinet/in_pcb.h92
-rw-r--r--sys/netinet/ip_divert.c9
-rw-r--r--sys/netinet/raw_ip.c9
-rw-r--r--sys/netinet/tcp_subr.c15
-rw-r--r--sys/netinet/tcp_timewait.c15
-rw-r--r--sys/netinet/udp_usrreq.c11
-rw-r--r--sys/netinet6/in6_pcb.c22
-rw-r--r--sys/netinet6/in6_src.c6
9 files changed, 127 insertions, 91 deletions
diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c
index fc31367..0ad44f4 100644
--- a/sys/netinet/in_pcb.c
+++ b/sys/netinet/in_pcb.c
@@ -216,7 +216,7 @@ in_pcballoc(struct socket *so, struct inpcbinfo *pcbinfo)
inp->inp_flags |= IN6P_IPV6_V6ONLY;
}
#endif
- LIST_INSERT_HEAD(pcbinfo->listhead, inp, inp_list);
+ LIST_INSERT_HEAD(pcbinfo->ipi_listhead, inp, inp_list);
pcbinfo->ipi_count++;
so->so_pcb = (caddr_t)inp;
#ifdef INET6
@@ -408,7 +408,7 @@ in_pcbbind_setup(struct inpcb *inp, struct sockaddr *nam, in_addr_t *laddrp,
if (inp->inp_flags & INP_HIGHPORT) {
first = ipport_hifirstauto; /* sysctl */
last = ipport_hilastauto;
- lastport = &pcbinfo->lasthi;
+ lastport = &pcbinfo->ipi_lasthi;
} else if (inp->inp_flags & INP_LOWPORT) {
error = priv_check_cred(cred,
PRIV_NETINET_RESERVEDPORT, SUSER_ALLOWJAIL);
@@ -416,11 +416,11 @@ in_pcbbind_setup(struct inpcb *inp, struct sockaddr *nam, in_addr_t *laddrp,
return error;
first = ipport_lowfirstauto; /* 1023 */
last = ipport_lowlastauto; /* 600 */
- lastport = &pcbinfo->lastlow;
+ lastport = &pcbinfo->ipi_lastlow;
} else {
first = ipport_firstauto; /* sysctl */
last = ipport_lastauto;
- lastport = &pcbinfo->lastport;
+ lastport = &pcbinfo->ipi_lastport;
}
/*
* For UDP, use random port allocation as long as the user
@@ -846,7 +846,7 @@ in_pcbnotifyall(struct inpcbinfo *pcbinfo, struct in_addr faddr, int errno,
struct inpcbhead *head;
INP_INFO_WLOCK(pcbinfo);
- head = pcbinfo->listhead;
+ head = pcbinfo->ipi_listhead;
for (inp = LIST_FIRST(head); inp != NULL; inp = ninp) {
INP_LOCK(inp);
ninp = LIST_NEXT(inp, inp_list);
@@ -875,7 +875,7 @@ in_pcbpurgeif0(struct inpcbinfo *pcbinfo, struct ifnet *ifp)
int i, gap;
INP_INFO_RLOCK(pcbinfo);
- LIST_FOREACH(inp, pcbinfo->listhead, inp_list) {
+ LIST_FOREACH(inp, pcbinfo->ipi_listhead, inp_list) {
INP_LOCK(inp);
imo = inp->inp_moptions;
if ((inp->inp_vflag & INP_IPV4) &&
@@ -932,7 +932,8 @@ in_pcblookup_local(struct inpcbinfo *pcbinfo, struct in_addr laddr,
* Look for an unconnected (wildcard foreign addr) PCB that
* matches the local address and port we're looking for.
*/
- head = &pcbinfo->hashbase[INP_PCBHASH(INADDR_ANY, lport, 0, pcbinfo->hashmask)];
+ head = &pcbinfo->ipi_hashbase[INP_PCBHASH(INADDR_ANY, lport,
+ 0, pcbinfo->ipi_hashmask)];
LIST_FOREACH(inp, head, inp_hash) {
#ifdef INET6
if ((inp->inp_vflag & INP_IPV4) == 0)
@@ -961,8 +962,8 @@ in_pcblookup_local(struct inpcbinfo *pcbinfo, struct in_addr laddr,
* First see if this local port is in use by looking on the
* port hash list.
*/
- porthash = &pcbinfo->porthashbase[INP_PCBPORTHASH(lport,
- pcbinfo->porthashmask)];
+ porthash = &pcbinfo->ipi_porthashbase[INP_PCBPORTHASH(lport,
+ pcbinfo->ipi_porthashmask)];
LIST_FOREACH(phd, porthash, phd_hash) {
if (phd->phd_port == lport)
break;
@@ -1035,8 +1036,8 @@ in_pcblookup_hash(struct inpcbinfo *pcbinfo, struct in_addr faddr,
/*
* First look for an exact match.
*/
- head = &pcbinfo->hashbase[INP_PCBHASH(faddr.s_addr, lport, fport,
- pcbinfo->hashmask)];
+ head = &pcbinfo->ipi_hashbase[INP_PCBHASH(faddr.s_addr, lport, fport,
+ pcbinfo->ipi_hashmask)];
LIST_FOREACH(inp, head, inp_hash) {
#ifdef INET6
if ((inp->inp_vflag & INP_IPV4) == 0)
@@ -1058,8 +1059,8 @@ in_pcblookup_hash(struct inpcbinfo *pcbinfo, struct in_addr faddr,
struct inpcb *local_wild_mapped = NULL;
#endif
- head = &pcbinfo->hashbase[INP_PCBHASH(INADDR_ANY, lport, 0,
- pcbinfo->hashmask)];
+ head = &pcbinfo->ipi_hashbase[INP_PCBHASH(INADDR_ANY, lport,
+ 0, pcbinfo->ipi_hashmask)];
LIST_FOREACH(inp, head, inp_hash) {
#ifdef INET6
if ((inp->inp_vflag & INP_IPV4) == 0)
@@ -1114,11 +1115,11 @@ in_pcbinshash(struct inpcb *inp)
#endif /* INET6 */
hashkey_faddr = inp->inp_faddr.s_addr;
- pcbhash = &pcbinfo->hashbase[INP_PCBHASH(hashkey_faddr,
- inp->inp_lport, inp->inp_fport, pcbinfo->hashmask)];
+ pcbhash = &pcbinfo->ipi_hashbase[INP_PCBHASH(hashkey_faddr,
+ inp->inp_lport, inp->inp_fport, pcbinfo->ipi_hashmask)];
- pcbporthash = &pcbinfo->porthashbase[INP_PCBPORTHASH(inp->inp_lport,
- pcbinfo->porthashmask)];
+ pcbporthash = &pcbinfo->ipi_porthashbase[
+ INP_PCBPORTHASH(inp->inp_lport, pcbinfo->ipi_porthashmask)];
/*
* Go through port list and look for a head for this lport.
@@ -1168,8 +1169,8 @@ in_pcbrehash(struct inpcb *inp)
#endif /* INET6 */
hashkey_faddr = inp->inp_faddr.s_addr;
- head = &pcbinfo->hashbase[INP_PCBHASH(hashkey_faddr,
- inp->inp_lport, inp->inp_fport, pcbinfo->hashmask)];
+ head = &pcbinfo->ipi_hashbase[INP_PCBHASH(hashkey_faddr,
+ inp->inp_lport, inp->inp_fport, pcbinfo->ipi_hashmask)];
LIST_REMOVE(inp, inp_hash);
LIST_INSERT_HEAD(head, inp, inp_hash);
diff --git a/sys/netinet/in_pcb.h b/sys/netinet/in_pcb.h
index 0de251a..c2d9c2b 100644
--- a/sys/netinet/in_pcb.h
+++ b/sys/netinet/in_pcb.h
@@ -44,11 +44,12 @@
struct inpcbpolicy;
/*
- * Common structure pcb for internet protocol implementation.
- * Here are stored pointers to local and foreign host table
- * entries, local and foreign socket numbers, and pointers
- * up (to a socket structure) and down (to a protocol-specific)
- * control block.
+ * Struct inpcb is the ommon structure pcb for the Internet Protocol
+ * implementation.
+ *
+ * Pointers to local and foreign host table entries, local and foreign socket
+ * numbers, and pointers up (to a socket structure) and down (to a
+ * protocol-specific control block) are stored here.
*/
LIST_HEAD(inpcbhead, inpcb);
LIST_HEAD(inpcbporthead, inpcbport);
@@ -56,8 +57,8 @@ typedef u_quad_t inp_gen_t;
/*
* PCB with AF_INET6 null bind'ed laddr can receive AF_INET input packet.
- * So, AF_INET6 null laddr is also used as AF_INET null laddr,
- * by utilize following structure. (At last, same as INRIA)
+ * So, AF_INET6 null laddr is also used as AF_INET null laddr, by utilizing
+ * the following structure.
*/
struct in_addr_4in6 {
u_int32_t ia46_pad32[3];
@@ -65,8 +66,8 @@ struct in_addr_4in6 {
};
/*
- * NOTE: ipv6 addrs should be 64-bit aligned, per RFC 2553.
- * in_conninfo has some extra padding to accomplish this.
+ * NOTE: ipv6 addrs should be 64-bit aligned, per RFC 2553. in_conninfo has
+ * some extra padding to accomplish this.
*/
struct in_endpoints {
u_int16_t ie_fport; /* foreign port */
@@ -89,8 +90,8 @@ struct in_endpoints {
};
/*
- * XXX
- * the defines for inc_* are hacks and should be changed to direct references
+ * XXX The defines for inc_* are hacks and should be changed to direct
+ * references.
*/
struct in_conninfo {
u_int8_t inc_flags;
@@ -137,7 +138,7 @@ struct inpcb {
u_char inp_ip_p; /* protocol proto */
u_char inp_ip_minttl; /* minimum TTL or drop */
- /* Protocol dependent part; options. */
+ /* Protocol-dependent part; options. */
struct {
u_char inp4_ip_tos; /* type of service proto */
struct mbuf *inp4_options; /* IP options */
@@ -187,15 +188,15 @@ struct inpcb {
#define in6p_ppcb inp_ppcb /* for KAME src sync over BSD*'s */
};
/*
- * The range of the generation count, as used in this implementation,
- * is 9e19. We would have to create 300 billion connections per
- * second for this number to roll over in a year. This seems sufficiently
- * unlikely that we simply don't concern ourselves with that possibility.
+ * The range of the generation count, as used in this implementation, is 9e19.
+ * We would have to create 300 billion connections per second for this number
+ * to roll over in a year. This seems sufficiently unlikely that we simply
+ * don't concern ourselves with that possibility.
*/
/*
- * Interface exported to userland by various protocols which use
- * inpcbs. Hack alert -- only define if struct xsocket is in scope.
+ * Interface exported to userland by various protocols which use inpcbs. Hack
+ * alert -- only define if struct xsocket is in scope.
*/
#ifdef _SYS_SOCKETVAR_H_
struct xinpcb {
@@ -219,19 +220,48 @@ struct inpcbport {
u_short phd_port;
};
-struct inpcbinfo { /* XXX documentation, prefixes */
- struct inpcbhead *hashbase;
- u_long hashmask;
- struct inpcbporthead *porthashbase;
- u_long porthashmask;
- struct inpcbhead *listhead;
- u_short lastport;
- u_short lastlow;
- u_short lasthi;
- struct uma_zone *ipi_zone; /* zone to allocate pcbs from */
- u_int ipi_count; /* number of pcbs in this list */
- u_quad_t ipi_gencnt; /* current generation count */
- struct mtx ipi_mtx;
+/*
+ * Global data structure for each high-level protocol (UDP, TCP, ...) in both
+ * IPv4 and IPv6. Holds inpcb lists and information for managing them.
+ */
+struct inpcbinfo {
+ /*
+ * Global list of inpcbs on the protocol.
+ */
+ struct inpcbhead *ipi_listhead;
+ u_int ipi_count;
+
+ /*
+ * Global hash of inpcbs, hashed by local and foreign addresses and
+ * port numbers.
+ */
+ struct inpcbhead *ipi_hashbase;
+ u_long ipi_hashmask;
+
+ /*
+ * Global hash of inpcbs, hashed by only local port number.
+ */
+ struct inpcbporthead *ipi_porthashbase;
+ u_long ipi_porthashmask;
+
+ /*
+ * Fields associated with port lookup and allocation.
+ */
+ u_short ipi_lastport;
+ u_short ipi_lastlow;
+ u_short ipi_lasthi;
+
+ /*
+ * UMA zone from which inpcbs are allocated for this protocol.
+ */
+ struct uma_zone *ipi_zone;
+
+ /*
+ * Generation count--incremented each time a connection is allocated
+ * or freed.
+ */
+ u_quad_t ipi_gencnt;
+ struct mtx ipi_mtx;
};
#define INP_LOCK_INIT(inp, d, t) \
diff --git a/sys/netinet/ip_divert.c b/sys/netinet/ip_divert.c
index 24806ef..bec12a2 100644
--- a/sys/netinet/ip_divert.c
+++ b/sys/netinet/ip_divert.c
@@ -147,14 +147,15 @@ div_init(void)
{
INP_INFO_LOCK_INIT(&divcbinfo, "div");
LIST_INIT(&divcb);
- divcbinfo.listhead = &divcb;
+ divcbinfo.ipi_listhead = &divcb;
/*
* XXX We don't use the hash list for divert IP, but it's easier
* to allocate a one entry hash list than it is to check all
* over the place for hashbase == NULL.
*/
- divcbinfo.hashbase = hashinit(1, M_PCB, &divcbinfo.hashmask);
- divcbinfo.porthashbase = hashinit(1, M_PCB, &divcbinfo.porthashmask);
+ divcbinfo.ipi_hashbase = hashinit(1, M_PCB, &divcbinfo.ipi_hashmask);
+ divcbinfo.ipi_porthashbase = hashinit(1, M_PCB,
+ &divcbinfo.ipi_porthashmask);
divcbinfo.ipi_zone = uma_zcreate("divcb", sizeof(struct inpcb),
NULL, NULL, div_inpcb_init, div_inpcb_fini, UMA_ALIGN_PTR,
UMA_ZONE_NOFREE);
@@ -575,7 +576,7 @@ div_pcblist(SYSCTL_HANDLER_ARGS)
return ENOMEM;
INP_INFO_RLOCK(&divcbinfo);
- for (inp = LIST_FIRST(divcbinfo.listhead), i = 0; inp && i < n;
+ for (inp = LIST_FIRST(divcbinfo.ipi_listhead), i = 0; inp && i < n;
inp = LIST_NEXT(inp, inp_list)) {
INP_LOCK(inp);
if (inp->inp_gencnt <= gencnt &&
diff --git a/sys/netinet/raw_ip.c b/sys/netinet/raw_ip.c
index 0c76d30..80c2d72 100644
--- a/sys/netinet/raw_ip.c
+++ b/sys/netinet/raw_ip.c
@@ -133,14 +133,15 @@ rip_init()
{
INP_INFO_LOCK_INIT(&ripcbinfo, "rip");
LIST_INIT(&ripcb);
- ripcbinfo.listhead = &ripcb;
+ ripcbinfo.ipi_listhead = &ripcb;
/*
* XXX We don't use the hash list for raw IP, but it's easier
* to allocate a one entry hash list than it is to check all
* over the place for hashbase == NULL.
*/
- ripcbinfo.hashbase = hashinit(1, M_PCB, &ripcbinfo.hashmask);
- ripcbinfo.porthashbase = hashinit(1, M_PCB, &ripcbinfo.porthashmask);
+ ripcbinfo.ipi_hashbase = hashinit(1, M_PCB, &ripcbinfo.ipi_hashmask);
+ ripcbinfo.ipi_porthashbase = hashinit(1, M_PCB,
+ &ripcbinfo.ipi_porthashmask);
ripcbinfo.ipi_zone = uma_zcreate("ripcb", sizeof(struct inpcb),
NULL, NULL, rip_inpcb_init, NULL, UMA_ALIGN_PTR, UMA_ZONE_NOFREE);
uma_zone_set_max(ripcbinfo.ipi_zone, maxsockets);
@@ -858,7 +859,7 @@ rip_pcblist(SYSCTL_HANDLER_ARGS)
return ENOMEM;
INP_INFO_RLOCK(&ripcbinfo);
- for (inp = LIST_FIRST(ripcbinfo.listhead), i = 0; inp && i < n;
+ for (inp = LIST_FIRST(ripcbinfo.ipi_listhead), i = 0; inp && i < n;
inp = LIST_NEXT(inp, inp_list)) {
INP_LOCK(inp);
if (inp->inp_gencnt <= gencnt &&
diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c
index 0ef4a0d..656231c 100644
--- a/sys/netinet/tcp_subr.c
+++ b/sys/netinet/tcp_subr.c
@@ -315,16 +315,17 @@ tcp_init(void)
INP_INFO_LOCK_INIT(&tcbinfo, "tcp");
LIST_INIT(&tcb);
- tcbinfo.listhead = &tcb;
+ tcbinfo.ipi_listhead = &tcb;
TUNABLE_INT_FETCH("net.inet.tcp.tcbhashsize", &hashsize);
if (!powerof2(hashsize)) {
printf("WARNING: TCB hash size not a power of 2\n");
hashsize = 512; /* safe default */
}
tcp_tcbhashsize = hashsize;
- tcbinfo.hashbase = hashinit(hashsize, M_PCB, &tcbinfo.hashmask);
- tcbinfo.porthashbase = hashinit(hashsize, M_PCB,
- &tcbinfo.porthashmask);
+ tcbinfo.ipi_hashbase = hashinit(hashsize, M_PCB,
+ &tcbinfo.ipi_hashmask);
+ tcbinfo.ipi_porthashbase = hashinit(hashsize, M_PCB,
+ &tcbinfo.ipi_porthashmask);
tcbinfo.ipi_zone = uma_zcreate("inpcb", sizeof(struct inpcb),
NULL, NULL, tcp_inpcb_init, NULL, UMA_ALIGN_PTR, UMA_ZONE_NOFREE);
uma_zone_set_max(tcbinfo.ipi_zone, maxsockets);
@@ -856,7 +857,7 @@ tcp_drain(void)
* usefull.
*/
INP_INFO_RLOCK(&tcbinfo);
- LIST_FOREACH(inpb, tcbinfo.listhead, inp_list) {
+ LIST_FOREACH(inpb, tcbinfo.ipi_listhead, inp_list) {
if (inpb->inp_vflag & INP_TIMEWAIT)
continue;
INP_LOCK(inpb);
@@ -977,8 +978,8 @@ tcp_pcblist(SYSCTL_HANDLER_ARGS)
return (ENOMEM);
INP_INFO_RLOCK(&tcbinfo);
- for (inp = LIST_FIRST(tcbinfo.listhead), i = 0; inp != NULL && i < n;
- inp = LIST_NEXT(inp, inp_list)) {
+ for (inp = LIST_FIRST(tcbinfo.ipi_listhead), i = 0; inp != NULL && i
+ < n; inp = LIST_NEXT(inp, inp_list)) {
INP_LOCK(inp);
if (inp->inp_gencnt <= gencnt) {
/*
diff --git a/sys/netinet/tcp_timewait.c b/sys/netinet/tcp_timewait.c
index 0ef4a0d..656231c 100644
--- a/sys/netinet/tcp_timewait.c
+++ b/sys/netinet/tcp_timewait.c
@@ -315,16 +315,17 @@ tcp_init(void)
INP_INFO_LOCK_INIT(&tcbinfo, "tcp");
LIST_INIT(&tcb);
- tcbinfo.listhead = &tcb;
+ tcbinfo.ipi_listhead = &tcb;
TUNABLE_INT_FETCH("net.inet.tcp.tcbhashsize", &hashsize);
if (!powerof2(hashsize)) {
printf("WARNING: TCB hash size not a power of 2\n");
hashsize = 512; /* safe default */
}
tcp_tcbhashsize = hashsize;
- tcbinfo.hashbase = hashinit(hashsize, M_PCB, &tcbinfo.hashmask);
- tcbinfo.porthashbase = hashinit(hashsize, M_PCB,
- &tcbinfo.porthashmask);
+ tcbinfo.ipi_hashbase = hashinit(hashsize, M_PCB,
+ &tcbinfo.ipi_hashmask);
+ tcbinfo.ipi_porthashbase = hashinit(hashsize, M_PCB,
+ &tcbinfo.ipi_porthashmask);
tcbinfo.ipi_zone = uma_zcreate("inpcb", sizeof(struct inpcb),
NULL, NULL, tcp_inpcb_init, NULL, UMA_ALIGN_PTR, UMA_ZONE_NOFREE);
uma_zone_set_max(tcbinfo.ipi_zone, maxsockets);
@@ -856,7 +857,7 @@ tcp_drain(void)
* usefull.
*/
INP_INFO_RLOCK(&tcbinfo);
- LIST_FOREACH(inpb, tcbinfo.listhead, inp_list) {
+ LIST_FOREACH(inpb, tcbinfo.ipi_listhead, inp_list) {
if (inpb->inp_vflag & INP_TIMEWAIT)
continue;
INP_LOCK(inpb);
@@ -977,8 +978,8 @@ tcp_pcblist(SYSCTL_HANDLER_ARGS)
return (ENOMEM);
INP_INFO_RLOCK(&tcbinfo);
- for (inp = LIST_FIRST(tcbinfo.listhead), i = 0; inp != NULL && i < n;
- inp = LIST_NEXT(inp, inp_list)) {
+ for (inp = LIST_FIRST(tcbinfo.ipi_listhead), i = 0; inp != NULL && i
+ < n; inp = LIST_NEXT(inp, inp_list)) {
INP_LOCK(inp);
if (inp->inp_gencnt <= gencnt) {
/*
diff --git a/sys/netinet/udp_usrreq.c b/sys/netinet/udp_usrreq.c
index 0966f2e..f6be5dc 100644
--- a/sys/netinet/udp_usrreq.c
+++ b/sys/netinet/udp_usrreq.c
@@ -156,10 +156,11 @@ udp_init()
{
INP_INFO_LOCK_INIT(&udbinfo, "udp");
LIST_INIT(&udb);
- udbinfo.listhead = &udb;
- udbinfo.hashbase = hashinit(UDBHASHSIZE, M_PCB, &udbinfo.hashmask);
- udbinfo.porthashbase = hashinit(UDBHASHSIZE, M_PCB,
- &udbinfo.porthashmask);
+ udbinfo.ipi_listhead = &udb;
+ udbinfo.ipi_hashbase = hashinit(UDBHASHSIZE, M_PCB,
+ &udbinfo.ipi_hashmask);
+ udbinfo.ipi_porthashbase = hashinit(UDBHASHSIZE, M_PCB,
+ &udbinfo.ipi_porthashmask);
udbinfo.ipi_zone = uma_zcreate("udpcb", sizeof(struct inpcb), NULL,
NULL, udp_inpcb_init, NULL, UMA_ALIGN_PTR, UMA_ZONE_NOFREE);
uma_zone_set_max(udbinfo.ipi_zone, maxsockets);
@@ -633,7 +634,7 @@ udp_pcblist(SYSCTL_HANDLER_ARGS)
return (ENOMEM);
INP_INFO_RLOCK(&udbinfo);
- for (inp = LIST_FIRST(udbinfo.listhead), i = 0; inp && i < n;
+ for (inp = LIST_FIRST(udbinfo.ipi_listhead), i = 0; inp && i < n;
inp = LIST_NEXT(inp, inp_list)) {
INP_LOCK(inp);
if (inp->inp_gencnt <= gencnt &&
diff --git a/sys/netinet6/in6_pcb.c b/sys/netinet6/in6_pcb.c
index 001d5cd..6367152 100644
--- a/sys/netinet6/in6_pcb.c
+++ b/sys/netinet6/in6_pcb.c
@@ -650,7 +650,7 @@ in6_pcbnotify(pcbinfo, dst, fport_arg, src, lport_arg, cmd, cmdarg, notify)
notify = in6_rtchange;
}
errno = inet6ctlerrmap[cmd];
- head = pcbinfo->listhead;
+ head = pcbinfo->ipi_listhead;
INP_INFO_WLOCK(pcbinfo);
for (inp = LIST_FIRST(head); inp != NULL; inp = ninp) {
INP_LOCK(inp);
@@ -734,8 +734,8 @@ in6_pcblookup_local(pcbinfo, laddr, lport_arg, wild_okay)
* Look for an unconnected (wildcard foreign addr) PCB that
* matches the local address and port we're looking for.
*/
- head = &pcbinfo->hashbase[INP_PCBHASH(INADDR_ANY, lport, 0,
- pcbinfo->hashmask)];
+ head = &pcbinfo->ipi_hashbase[INP_PCBHASH(INADDR_ANY, lport,
+ 0, pcbinfo->ipi_hashmask)];
LIST_FOREACH(inp, head, inp_hash) {
if ((inp->inp_vflag & INP_IPV6) == 0)
continue;
@@ -762,8 +762,8 @@ in6_pcblookup_local(pcbinfo, laddr, lport_arg, wild_okay)
* First see if this local port is in use by looking on the
* port hash list.
*/
- porthash = &pcbinfo->porthashbase[INP_PCBPORTHASH(lport,
- pcbinfo->porthashmask)];
+ porthash = &pcbinfo->ipi_porthashbase[INP_PCBPORTHASH(lport,
+ pcbinfo->ipi_porthashmask)];
LIST_FOREACH(phd, porthash, phd_hash) {
if (phd->phd_port == lport)
break;
@@ -813,7 +813,7 @@ in6_pcbpurgeif0(pcbinfo, ifp)
struct in6_multi_mship *imm, *nimm;
INP_INFO_RLOCK(pcbinfo);
- LIST_FOREACH(in6p, pcbinfo->listhead, inp_list) {
+ LIST_FOREACH(in6p, pcbinfo->ipi_listhead, inp_list) {
INP_LOCK(in6p);
im6o = in6p->in6p_moptions;
if ((in6p->inp_vflag & INP_IPV6) &&
@@ -903,9 +903,9 @@ in6_pcblookup_hash(pcbinfo, faddr, fport_arg, laddr, lport_arg, wildcard, ifp)
/*
* First look for an exact match.
*/
- head = &pcbinfo->hashbase[INP_PCBHASH(faddr->s6_addr32[3] /* XXX */,
- lport, fport,
- pcbinfo->hashmask)];
+ head = &pcbinfo->ipi_hashbase[
+ INP_PCBHASH(faddr->s6_addr32[3] /* XXX */, lport, fport,
+ pcbinfo->ipi_hashmask)];
LIST_FOREACH(inp, head, inp_hash) {
if ((inp->inp_vflag & INP_IPV6) == 0)
continue;
@@ -922,8 +922,8 @@ in6_pcblookup_hash(pcbinfo, faddr, fport_arg, laddr, lport_arg, wildcard, ifp)
if (wildcard) {
struct inpcb *local_wild = NULL;
- head = &pcbinfo->hashbase[INP_PCBHASH(INADDR_ANY, lport, 0,
- pcbinfo->hashmask)];
+ head = &pcbinfo->ipi_hashbase[INP_PCBHASH(INADDR_ANY, lport,
+ 0, pcbinfo->ipi_hashmask)];
LIST_FOREACH(inp, head, inp_hash) {
if ((inp->inp_vflag & INP_IPV6) == 0)
continue;
diff --git a/sys/netinet6/in6_src.c b/sys/netinet6/in6_src.c
index 204781e..bee583c 100644
--- a/sys/netinet6/in6_src.c
+++ b/sys/netinet6/in6_src.c
@@ -773,7 +773,7 @@ in6_pcbsetport(laddr, inp, cred)
if (inp->inp_flags & INP_HIGHPORT) {
first = ipport_hifirstauto; /* sysctl */
last = ipport_hilastauto;
- lastport = &pcbinfo->lasthi;
+ lastport = &pcbinfo->ipi_lasthi;
} else if (inp->inp_flags & INP_LOWPORT) {
error = priv_check_cred(cred, PRIV_NETINET_RESERVEDPORT,
SUSER_ALLOWJAIL);
@@ -781,11 +781,11 @@ in6_pcbsetport(laddr, inp, cred)
return error;
first = ipport_lowfirstauto; /* 1023 */
last = ipport_lowlastauto; /* 600 */
- lastport = &pcbinfo->lastlow;
+ lastport = &pcbinfo->ipi_lastlow;
} else {
first = ipport_firstauto; /* sysctl */
last = ipport_lastauto;
- lastport = &pcbinfo->lastport;
+ lastport = &pcbinfo->ipi_lastport;
}
/*
* Simple check to ensure all ports are not used up causing
OpenPOWER on IntegriCloud