Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F165021060
D35753.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
7 KB
Referenced Files
None
Subscribers
None
D35753.diff
View Options
Index: sys/kern/uipc_domain.c
===================================================================
--- sys/kern/uipc_domain.c
+++ sys/kern/uipc_domain.c
@@ -479,6 +479,18 @@
(*pr->pr_ctlinput)(cmd, sa, (void *)0);
}
+int
+pr_milli_to_slowtimo(int ms)
+{
+ return (ms * PR_SLOWHZ / 1000);
+}
+
+int
+pr_milli_to_fasttimo(int ms)
+{
+ return (ms * PR_FASTHZ / 1000);
+}
+
static void
pfslowtimo(void *arg)
{
Index: sys/net/route.h
===================================================================
--- sys/net/route.h
+++ sys/net/route.h
@@ -85,21 +85,15 @@
u_long rmx_recvpipe; /* inbound delay-bandwidth product */
u_long rmx_sendpipe; /* outbound delay-bandwidth product */
u_long rmx_ssthresh; /* outbound gateway buffer limit */
- u_long rmx_rtt; /* estimated round trip time */
- u_long rmx_rttvar; /* estimated rtt variance */
+ u_long rmx_rtt; /* estimated round trip time (microseconds) */
+ u_long rmx_rttvar; /* estimated rtt variance (microseconds) */
u_long rmx_pksent; /* packets sent using this route */
u_long rmx_weight; /* route weight */
u_long rmx_nhidx; /* route nexhop index */
u_long rmx_filler[2]; /* will be used for T/TCP later */
};
-/*
- * rmx_rtt and rmx_rttvar are stored as microseconds;
- * RTTTOPRHZ(rtt) converts to a value suitable for use
- * by a protocol slowtimo counter.
- */
#define RTM_RTTUNIT 1000000 /* units for rtt, rttvar, as units per sec */
-#define RTTTOPRHZ(r) ((r) / (RTM_RTTUNIT / PR_SLOWHZ))
/* lle state is exported in rmx_state rt_metrics field */
#define rmx_state rmx_weight
Index: sys/netinet/igmp.c
===================================================================
--- sys/netinet/igmp.c
+++ sys/netinet/igmp.c
@@ -816,7 +816,7 @@
case IGMP_AWAKENING_MEMBER:
inm->inm_state = IGMP_REPORTING_MEMBER;
inm->inm_timer = IGMP_RANDOM_DELAY(
- IGMP_V1V2_MAX_RI * PR_FASTHZ);
+ pr_milli_to_fasttimo(IGMP_V1V2_MAX_RI * 1000));
V_current_state_timers_running = 1;
break;
case IGMP_LEAVING_MEMBER:
@@ -886,7 +886,7 @@
igmp_set_version(igi, IGMP_VERSION_2);
- timer = igmp->igmp_code * PR_FASTHZ / IGMP_TIMER_SCALE;
+ timer = pr_milli_to_fasttimo(igmp->igmp_code * 1000) / IGMP_TIMER_SCALE;
if (timer == 0)
timer = 1;
@@ -1026,7 +1026,7 @@
(IGMP_EXP(igmpv3->igmp_qqi) + 3);
}
- timer = maxresp * PR_FASTHZ / IGMP_TIMER_SCALE;
+ timer = pr_milli_to_fasttimo(maxresp * 1000) / IGMP_TIMER_SCALE;
if (timer == 0)
timer = 1;
@@ -1740,8 +1740,8 @@
if (igi->igi_version == IGMP_VERSION_3) {
loop = (igi->igi_flags & IGIF_LOOPBACK) ? 1 : 0;
- uri_fasthz = IGMP_RANDOM_DELAY(igi->igi_uri *
- PR_FASTHZ);
+ uri_fasthz = IGMP_RANDOM_DELAY(
+ pr_milli_to_fasttimo(igi->igi_uri * 1000));
mbufq_init(&qrq, IGMP_MAX_G_GS_PACKETS);
mbufq_init(&scq, IGMP_MAX_STATE_CHANGE_PACKETS);
}
@@ -2000,7 +2000,7 @@
* Section 8.12.
*/
old_version_timer = igi->igi_rv * igi->igi_qi + igi->igi_qri;
- old_version_timer *= PR_SLOWHZ;
+ old_version_timer = pr_milli_to_slowtimo(old_version_timer * 1000);
if (version == IGMP_VERSION_1) {
igi->igi_v1_timer = old_version_timer;
@@ -2433,7 +2433,7 @@
IGMP_v1_HOST_MEMBERSHIP_REPORT);
if (error == 0) {
inm->inm_timer = IGMP_RANDOM_DELAY(
- IGMP_V1V2_MAX_RI * PR_FASTHZ);
+ pr_milli_to_fasttimo(IGMP_V1V2_MAX_RI * 1000));
V_current_state_timers_running = 1;
}
break;
@@ -3422,7 +3422,7 @@
*/
if (mbufq_first(&igi->igi_gq) != NULL) {
igi->igi_v3_timer = 1 + IGMP_RANDOM_DELAY(
- IGMP_RESPONSE_BURST_INTERVAL);
+ pr_milli_to_fasttimo(IGMP_RESPONSE_BURST_INTERVAL_MS));
V_interface_timers_running = 1;
}
}
Index: sys/netinet/igmp_var.h
===================================================================
--- sys/netinet/igmp_var.h
+++ sys/netinet/igmp_var.h
@@ -148,7 +148,7 @@
#define IGMP_MAX_STATE_CHANGE_PACKETS 8 /* # of packets per state change */
#define IGMP_MAX_RESPONSE_PACKETS 16 /* # of packets for general query */
#define IGMP_MAX_RESPONSE_BURST 4 /* # of responses to send at once */
-#define IGMP_RESPONSE_BURST_INTERVAL (PR_FASTHZ / 2) /* 500ms */
+#define IGMP_RESPONSE_BURST_INTERVAL_MS 500
/*
* IGMP-specific mbuf flags.
Index: sys/netinet6/in6.c
===================================================================
--- sys/netinet6/in6.c
+++ sys/netinet6/in6.c
@@ -733,7 +733,7 @@
return (NULL);
}
- delay = (delay * PR_FASTHZ) / hz;
+ delay = pr_milli_to_fasttimo(delay * 1000) / hz;
error = in6_joingroup(ifp, mcaddr, NULL, &imm->i6mm_maddr, delay);
if (error) {
Index: sys/netinet6/mld6.c
===================================================================
--- sys/netinet6/mld6.c
+++ sys/netinet6/mld6.c
@@ -670,7 +670,7 @@
KASSERT(mli != NULL, ("%s: no mld_ifsoftc for ifp %p", __func__, ifp));
mld_set_version(mli, MLD_VERSION_1);
- timer = (ntohs(mld->mld_maxdelay) * PR_FASTHZ) / MLD_TIMER_SCALE;
+ timer = (pr_milli_to_fasttimo(ntohs(mld->mld_maxdelay) * 1000)) / MLD_TIMER_SCALE;
if (timer == 0)
timer = 1;
@@ -821,7 +821,7 @@
maxdelay = (MLD_MRC_MANT(maxdelay) | 0x1000) <<
(MLD_MRC_EXP(maxdelay) + 3);
}
- timer = (maxdelay * PR_FASTHZ) / MLD_TIMER_SCALE;
+ timer = (pr_milli_to_fasttimo(maxdelay * 1000)) / MLD_TIMER_SCALE;
if (timer == 0)
timer = 1;
@@ -1380,7 +1380,7 @@
if (mli->mli_version == MLD_VERSION_2) {
uri_fasthz = MLD_RANDOM_DELAY(mli->mli_uri *
- PR_FASTHZ);
+ pr_milli_to_fasttimo(1000));
mbufq_init(&qrq, MLD_MAX_G_GS_PACKETS);
mbufq_init(&scq, MLD_MAX_STATE_CHANGE_PACKETS);
}
@@ -1616,7 +1616,7 @@
* Section 9.12.
*/
old_version_timer = (mli->mli_rv * mli->mli_qi) + mli->mli_qri;
- old_version_timer *= PR_SLOWHZ;
+ old_version_timer *= pr_milli_to_slowtimo(1000);
mli->mli_v1_timer = old_version_timer;
}
@@ -2003,7 +2003,7 @@
* and delay sending the initial MLDv1 report
* by not transitioning to the IDLE state.
*/
- odelay = MLD_RANDOM_DELAY(MLD_V1_MAX_RI * PR_FASTHZ);
+ odelay = MLD_RANDOM_DELAY(pr_milli_to_fasttimo(MLD_V1_MAX_RI * 1000));
if (delay) {
inm->in6m_timer = max(delay, odelay);
V_current_state_timers_running6 = 1;
@@ -3039,7 +3039,7 @@
*/
if (mbufq_first(&mli->mli_gq) != NULL) {
mli->mli_v2_timer = 1 + MLD_RANDOM_DELAY(
- MLD_RESPONSE_BURST_INTERVAL);
+ pr_milli_to_fasttimo(MLD_RESPONSE_BURST_INTERVAL_MS));
V_interface_timers_running6 = 1;
}
}
Index: sys/netinet6/mld6_var.h
===================================================================
--- sys/netinet6/mld6_var.h
+++ sys/netinet6/mld6_var.h
@@ -83,7 +83,7 @@
#define MLD_MAX_STATE_CHANGE_PACKETS 8 /* # of packets per state change */
#define MLD_MAX_RESPONSE_PACKETS 16 /* # of packets for general query */
#define MLD_MAX_RESPONSE_BURST 4 /* # of responses to send at once */
-#define MLD_RESPONSE_BURST_INTERVAL (PR_FASTHZ / 2) /* 500ms */
+#define MLD_RESPONSE_BURST_INTERVAL_MS 500
/*
* MLD-specific mbuf flags.
Index: sys/sys/protosw.h
===================================================================
--- sys/sys/protosw.h
+++ sys/sys/protosw.h
@@ -100,6 +100,9 @@
#define PR_SLOWHZ 2 /* 2 slow timeouts per second */
#define PR_FASTHZ 5 /* 5 fast timeouts per second */
+int pr_milli_to_slowtimo(int ms);
+int pr_milli_to_fasttimo(int ms);
+
/*
* This number should be defined again within each protocol family to avoid
* confusion.
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Thu, Aug 6, 8:52 AM (13 h, 13 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
36106592
Default Alt Text
D35753.diff (7 KB)
Attached To
Mode
D35753: protosw: hide PR_FASTHZ / PR_SLOWHZ.
Attached
Detach File
Event Timeline
Log In to Comment