Date: Sun, 9 Dec 2007 06:27:40 GMT From: Kip Macy <kmacy@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 130531 for review Message-ID: <200712090627.lB96ReTk017152@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=130531 Change 130531 by kmacy@kmacy:storage:toestack on 2007/12/09 06:26:59 add interface hook to allow TCP to tell the TOE that the upper level data structures are going away Affected files ... .. //depot/projects/toestack/sys/netinet/tcp_ofld.c#7 edit .. //depot/projects/toestack/sys/netinet/tcp_ofld.h#7 edit .. //depot/projects/toestack/sys/netinet/tcp_subr.c#9 edit Differences ... ==== //depot/projects/toestack/sys/netinet/tcp_ofld.c#7 (text+ko) ==== @@ -88,6 +88,12 @@ } void +ofld_detach(struct tcpcb *tp) +{ + tp->t_tu->tu_detach(tp); +} + +void ofld_listen_open(struct tcpcb *tp) { EVENTHANDLER_INVOKE(ofld_listen, OFLD_LISTEN_OPEN, tp); ==== //depot/projects/toestack/sys/netinet/tcp_ofld.h#7 (text+ko) ==== @@ -12,6 +12,7 @@ int ofld_rcvd(struct tcpcb *tp); int ofld_disconnect(struct tcpcb *tp); int ofld_abort(struct tcpcb *tp); +void ofld_detach(struct tcpcb *tp); void ofld_listen_open(struct tcpcb *tp); void ofld_listen_close(struct tcpcb *tp); @@ -96,6 +97,13 @@ { ofld_listen_close(tp); } + +static __inline void +tcp_gen_detach(struct tcpcb *tp) +{ + ofld_detach(tp); +} + #else static __inline int @@ -134,6 +142,12 @@ static __inline void tcp_gen_listen_close(struct tcpcb *tp) {} +static __inline void +tcp_gen_detach(struct tcpcb *tp) {} + + + + #endif struct toe_usrreqs { @@ -141,6 +155,7 @@ int (*tu_rcvd)(struct tcpcb *tp); int (*tu_disconnect)(struct tcpcb *tp); int (*tu_abort)(struct tcpcb *tp); + void (*tu_detach)(struct tcpcb *tp); }; ==== //depot/projects/toestack/sys/netinet/tcp_subr.c#9 (text+ko) ==== @@ -750,6 +750,9 @@ tp->t_segqlen--; tcp_reass_qsize--; } + if (tp->t_flags & TF_TOE) + tcp_gen_detach(tp); + tcp_free_sackholes(tp); inp->inp_ppcb = NULL; tp->t_inpcb = NULL;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200712090627.lB96ReTk017152>