Development issues regarding the cerowrt test router project
 help / color / mirror / Atom feed
From: David Personette <dperson@gmail.com>
To: Dave Taht <dave.taht@gmail.com>
Cc: "cerowrt-devel@lists.bufferbloat.net"
	<cerowrt-devel@lists.bufferbloat.net>
Subject: Re: [Cerowrt-devel] procd support for core daemons?
Date: Wed, 22 Jan 2014 13:45:30 -0500	[thread overview]
Message-ID: <CAMybZqz5=L-yxOguSReDNU+gw7Dc_ZW-KPoCXupssFQ5bY3M2A@mail.gmail.com> (raw)
In-Reply-To: <CAA93jw5-Vm+WXzDFEdLBe0rd1J3qheXof5F9-R=ecJ=kHKW8Xw@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 4701 bytes --]

It sounds like a good project, I'll look into it this weekend.

-- 
David P.



On Wed, Jan 22, 2014 at 1:08 AM, Dave Taht <dave.taht@gmail.com> wrote:

> this is not a list of "must haves" but a "would likes".
>
> Earlier this year, openwrt started working on a replacement for the first
> process in the system, the "init" process. Most distros have migrated
> away from init towards things like systemd (which provide kitchen sink
> services)
>
> Openwrt went in another direction for something simpler and lighter weight,
> called "procd".
>
> http://wiki.openwrt.org/doc/techref/procd
>
> Documentation on it is pretty sparse, the best way to learn how to use
> it is to grep USE_PROCD /etc/init.d/* and read those files.
>
>  A huge disadvantage
> of old init system is once a daemon dies, it stays dead until a human
> restarts it. If that daemon is critical you are hosed.
>
> The principal advantages of procd are that it can restart a process
> after it crashes, and that it integrates with other messages sent
> along the ubus so that multiple restarts can be suppressed as
> various network things get configured.
>
> There are a ton of daemons in cero that while pretty reliable, can be made
> more so, if wrapped by procd. Converting an existing init script in
> /etc/init.d
> is pretty easy if you look at the code already done there, and how
> dependencies
> work in /etc/config/ucitrack .
>
> And: that ton of daemons in cero has not been converted to procd yet.
> Doing a couple of these would be a good project(s) for someone(s) as
> the conversion can be done directly on the router, and tested, no need
> for a toolchain. Getting  grip on how uci works
> is very helpful for scripting tests and the like, and getting a working
> package
> is only a bit more work. (and the work can quickly go upstream to openwrt)
>
> the core non-procd daemons in cero currently are
>
> dbus: I don't even know if this needed anymore (?)
>
> babeld: of all these, when babeld crashes it's most bad, the router
> drops off the mesh. Right now the yurtlab is down... However converting
> it to procd looks kind of involved, so I pinged the babel list if they
> were interested
>
> xinetd: if xinetd crashes it's very bad, things like ssh stop working.
> However
> in practice xinetd has been very mature code and has never crashed. I kind
> of like it existing independently of procd. That said, I'd like closer ties
> with things like dhcpv6-pd so that ipv6 permissions get added and deleted.
>
> someday procd will gain xinetd-like functionality.
>
> lighthttpd: cero runs two instances of the lighttpd web server. One is
> outward
> facing, drops root permissions, and the other is for configuration,
> and keeps root.
>
> If it were up to me, these would be disabled after installation, and the
> only
> path into the router would be by ssh secure key. Since it isn't, it would
> be nice to keep them running no matter what. Getting two separate instances
> started would be a matter of some uci syntax in /etc/config/lighttpd, but
> doing the full lighthttpd.conf file format in uci an exercise in pain.
>
> I'd like it if there was some way to to have it start from xinetd (and die
> when
> unneeded). would like to run one daemon with non-root privs talking to fcgi
> with root privs, too. can't have everything.
>
> polipo: if nobody but me is using polipo, we can disable it by default,
> but it
> too would be nice to be more network aware and use procd.
>
> ahcpd: this has been a pita generally. I don't know what to do about
> it. Of all these, this needs the most love to work right in our
> dynamic ipv6 universe.
>
> rngd: the random number daemon. It used to be that if this crashed,
> ssh connections and wpa wifi came to a near halt. It's unknown if it's
> still needed after all the random number
> fixes that went into the kernel...
>
> I just moved rngd to procd. (I'd like it if folk running wpa and heavy
> crypto stopped rngd for a day to see what happened)
>
> pimd - this too, I just moved to procd. not that we think it's working.
>
> snmpd: looks easy
>
> minissdpd: looks easy but we have other problems with it
> miniupnpd: looks easy
> avahi: looks easy
>
> There are several other optional daemons like ipsec, samba, & openvpn
> that could use
> a procd treatment.
>
> --
> Dave Täht
>
> Fixing bufferbloat with cerowrt:
> http://www.teklibre.com/cerowrt/subscribe.html
> _______________________________________________
> Cerowrt-devel mailing list
> Cerowrt-devel@lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/cerowrt-devel
>

[-- Attachment #2: Type: text/html, Size: 5689 bytes --]

  reply	other threads:[~2014-01-22 18:45 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-22  6:08 Dave Taht
2014-01-22 18:45 ` David Personette [this message]
2014-01-25 16:14 Dave Taht
2014-01-25 16:43 ` Toke Høiland-Jørgensen
2014-01-25 16:50   ` Dave Taht
2014-01-25 17:06     ` Toke Høiland-Jørgensen
2014-01-25 17:18       ` Dave Taht
2014-01-25 20:23 ` Aaron Wood

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://lists.bufferbloat.net/postorius/lists/cerowrt-devel.lists.bufferbloat.net/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAMybZqz5=L-yxOguSReDNU+gw7Dc_ZW-KPoCXupssFQ5bY3M2A@mail.gmail.com' \
    --to=dperson@gmail.com \
    --cc=cerowrt-devel@lists.bufferbloat.net \
    --cc=dave.taht@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox