Network device driver KPI/ABI and TOE

Kip Macy kip.macy at gmail.com
Mon Feb 18 05:41:32 UTC 2008


You might want to check out sys/modules/cxgb/tom/Makefile.

 -Kip

On Feb 17, 2008 1:24 PM, Bjoern A. Zeeb <bzeeb-lists at lists.zabbadoz.net> wrote:
> On Sun, 6 Jan 2008, Robert Watson wrote:
>
> Hi,
>
> [cutting a long mail short and randomly replying;-)]
>
> I came across dev/cxgb/ulp/tom/cxgb_tcp_subr.c vs. netinet/tcp_subr.c
> and I am a bit worried with the way things are done atm. For those
> functions copied over there are only changes like:
>
> -                       tp = cxgb_tcp_drop(tp, ECONNABORTED);
> +                       tp = tcp_drop(tp, ECONNABORTED);
>
> -               notify = cxgb_tcp_drop_syn_sent;
> +               notify = tcp_drop_syn_sent;
>
> -               tcp_gen_listen_close(tp);
> +               tcp_offload_listen_close(tp);
>
> -               (void) tcp_gen_reset(tp);
> +               (void) tcp_output_reset(tp);
>
> and SYSCTL stuff.
>
>
> This is a "problem" for following reasons:
> - code duplication
> - if one changes netinet/tcp_subr.c one has to change foo4_tcp_subr.c
>    as well
> - if more drivers are going to implement things that way it'll be
>    even more code duplication.
> - developers will have to check lots of different places they might
>    not expect in first place.
> - those things might interfere with our locking as well.
>
> I assume (without looking) the other files in the tom directory expose
> similar behavior. So this is a more general problem:
>
> we need to seriously think about abstracting our tcp_subr.c (and
> other) functions to avoid this duplication or at least integrate
> things better by other ways.
>
> This is mostly asking networking people to think about this so we can
> iteratively improve things. cxgb has done a good first step in that
> direction, now is the time to further hone things.
>
>
> /bz
>
> --
> Bjoern A. Zeeb                                 bzeeb at Zabbadoz dot NeT
> Software is harder than hardware  so better get it right the first time.
>
> _______________________________________________
> freebsd-arch at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-arch
> To unsubscribe, send any mail to "freebsd-arch-unsubscribe at freebsd.org"
>


More information about the freebsd-net mailing list