diff options
author | Claudio Jeker <claudio@cvs.openbsd.org> | 2009-11-13 20:54:06 +0000 |
---|---|---|
committer | Claudio Jeker <claudio@cvs.openbsd.org> | 2009-11-13 20:54:06 +0000 |
commit | a49dcb067ccc0d0288291f437054538b34b31dcf (patch) | |
tree | 0579937c1bf07d3bb795d722753a4f295db15530 /sys/netinet/tcp_timer.c | |
parent | 750113cd50e6e0756d40eaf9d929ace22ff84a05 (diff) |
Extend the protosw pr_ctlinput function to include the rdomain. This is
needed so that the route and inp lookups done in TCP and UDP know where
to look. Additionally in_pcbnotifyall() and tcp_respond() got a rdomain
argument as well for similar reasons. With this tcp seems to be now
fully rdomain save and no longer leaks single packets into the main domain.
Looks good markus@, henning@
Diffstat (limited to 'sys/netinet/tcp_timer.c')
-rw-r--r-- | sys/netinet/tcp_timer.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/netinet/tcp_timer.c b/sys/netinet/tcp_timer.c index f939e3faa0a..8253775bfa3 100644 --- a/sys/netinet/tcp_timer.c +++ b/sys/netinet/tcp_timer.c @@ -1,4 +1,4 @@ -/* $OpenBSD: tcp_timer.c,v 1.43 2009/06/05 00:05:22 claudio Exp $ */ +/* $OpenBSD: tcp_timer.c,v 1.44 2009/11/13 20:54:05 claudio Exp $ */ /* $NetBSD: tcp_timer.c,v 1.14 1996/02/13 23:44:09 christos Exp $ */ /* @@ -219,8 +219,8 @@ tcp_timer_rexmt(void *arg) * Notify all connections to the same peer about * new mss and trigger retransmit. */ - in_pcbnotifyall(&tcbtable, sintosa(&icmpsrc), EMSGSIZE, - tcp_mtudisc); + in_pcbnotifyall(&tcbtable, sintosa(&icmpsrc), + tp->t_inpcb->inp_rdomain, EMSGSIZE, tcp_mtudisc); splx(s); return; } @@ -454,7 +454,7 @@ tcp_timer_keep(void *arg) */ tcpstat.tcps_keepprobe++; tcp_respond(tp, mtod(tp->t_template, caddr_t), - NULL, tp->rcv_nxt, tp->snd_una - 1, 0); + NULL, tp->rcv_nxt, tp->snd_una - 1, 0, 0); TCP_TIMER_ARM(tp, TCPT_KEEP, tcp_keepintvl); } else TCP_TIMER_ARM(tp, TCPT_KEEP, tcp_keepidle); |