Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 16 Dec 2007 10:07:47 -0800
From:      "Kip Macy" <kip.macy@gmail.com>
To:        "Robert Watson" <rwatson@freebsd.org>
Cc:        FreeBSD Current <freebsd-current@freebsd.org>, freebsd-arch@freebsd.org
Subject:   Re: pending changes for TOE support
Message-ID:  <b1fa29170712161007l6f0b996axf9bd411f0859420d@mail.gmail.com>
In-Reply-To: <20071216111315.C49036@fledge.watson.org>
References:  <b1fa29170712121303x537fd11fj4b8827bb353ad8e4@mail.gmail.com> <b1fa29170712150057m690bd36bm7a1910969e92293b@mail.gmail.com> <20071215100351.Q70617@fledge.watson.org> <b1fa29170712151040icb371efseaf61d9b79907b24@mail.gmail.com> <20071216111315.C49036@fledge.watson.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Dec 16, 2007 3:17 AM, Robert Watson <rwatson@freebsd.org> wrote:
>
> On Sat, 15 Dec 2007, Kip Macy wrote:
>
> >> + * + tu_abort
> >> + *   - closes the connection and sends a RST to peer
> >> + *   - driver is expectd to trigger an RST and detach the toepcb
> >>
> >> In regular TCP, the pru_abort method is only called on pending connections
> >> while still in the listen queues of a listen socket.  Is this true of
> >> tu_abort, or is tu_abort a more general method to be used to cancel
> >> connections?  If so, probably worth commenting on that.
> >
> > tu_abort is called in place of tcp_output in pru_abort.
>
> The reason I ask is that it appears tu_abort appears to be the only interface
> allowing the stack to request that TOE reset of a connection.  In regular TCP,
> soabort/pru_abort/tcp_usr_abort are used only on nascent unaccepted
> connections; at least one other path, used by tcpdrop(8), can lead to
> connections being reset as well.  Perhaps a more general tu_reset could be
> used to address this?  I'm not sure what other direct-to-reset paths exist but
> a review for them may be called for.
>

The patch is at the same location as before:
 http://www.fsmware.com/freebsd/tcp/tcp_offload.diff


I've made all the changes that I mentioned previously (documenting
calls and what fields the callers are expected to look at, etc.). In
addition I've widened the interface to listen as I know that it only
has start and stop. I've changed _abort to _reset, and I now check the
capenable field instead of flags in connect.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?b1fa29170712161007l6f0b996axf9bd411f0859420d>