On Wed, Apr 15, 2015 at 02:53:34PM +0200, Luigi Rizzo wrote:
L> > L> >   With the new ifnet KPI, that is now being developed in 
projects/ifnet,
L> > L> > the ALTQ will need some tweaking. It is discontinued by initial author
L> > L> > for a decade now, and it has already experienced direct commits in
L> > L> > our tree. Thus, I see no good reasons to continue keeping it in 
contrib.
L> > L> > In NetBSD they have it in sys/altq.
L> > L> >
L> > L> > I'd prefer to move it to sys/net/altq.
L> > L> >
L> > L> > Any objections or better ideas?
L> > L>
L> > L> my first question is what is the expected residual lifetime of altq ?
L> >
L> > If I get it working properly in projects/ifnet, I see no reasons to
L> > remove it. It is going to be a plugin into network stack and will no
L> > longer require editing drivers. It will run on drivers that aren't
L> > supported by ALTQ now. However in the latter case the ALTQ will sit
L> > on top of interface own queue, and will start to work only when
L> > interface's own queue overflows. But if we later add a new interface
L> > method to modify length of own queue at runtime, this issue will
L> > go away.
L> >
L> > L> If it is destined to be removed soon (and probably that is not
L> > L> unlikely given its unmaintained state, the absence of multiqueue
L> > L> support etc.) maybe we could live for the next
L> > L> couple of years just leaving it where it is now and avoid the
L> > L> repo churn.
L> > L>
L> > L> If we really plan to relocate the code, I guess the options are
L> > L>
L> > L>     sys/altq         as in netbsd
L> > L>
L> > L>     sys/netaltq              this would be an alternative location to
L> > L>                      the above one, justified by the fact that
L> > L>                      we have already a bunch of net* subdirs
L> > L>
L> > L>     sys/net/altq     as you propose, i guess to stay close to
L> > L>                      the rest of the ifnet code (and perhaps
L> > L>                      as a first step in cleaning up sys/net
L> > L>                      by putting stuff in various subdirs)
L> > L>
L> > L> In any case my preference would really be to leave it where it is.
L> >
L> > I don't like to keep in contrib a code maintained and edited by the
L> > project. Especially I don't like tautological path of contrib/altq/altq.
L> > I don't like extra glue in Makefiles, especially modyfing CFLAGS for the
L> > whole kernel build.
L> >
L> > If it is a regular piece of kernel code, let it be like the rest of
L> > kernel code.
L> 
L> ok thanks for the clarification.
L> 
L> Then if you do sys/net/altq/ do you also plan to split the current
L> content of sys/net/ into separate subdirectories ?
L> 
L> We currently have quite a few separate things in sys/net/, such as
L> - various bpf files
L> - generic ifnet support (including raw sockets)
L> - various libraries (compression and hash functions)
L> - routing code
L> - bridging code
L> - a ton of special ifnets, (tun, tap, epair, gif, ....)
L> - bridging code
L> that could benefit from a bit of partitioning

I definitely agree that a) special interfaces b) lagg+lacp
c) generic libraries should be separated. I don't mind if anyone does
this job :)

But I personally would prefer is this is done after the lifetime
of the projects/ifnet branch, since if stuff is moved while I work
on projects/ifnet, my merging will become a nightmare. I already have
conflicts quite often.

-- 
Totus tuus, Glebius.
_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"

Reply via email to