From: Patrick McHardy <kaber@trash.net>
To: hadi@cyberus.ca
Cc: Jesper Dangaard Brouer <hawk@comx.dk>,
hawk@diku.dk, russell-tcatm@stuart.id.au, netdev@vger.kernel.org,
Stephen Hemminger <shemminger@osdl.org>
Subject: Re: [PATCH 0/2] NET: Accurate packet scheduling for ATM/ADSL
Date: Fri, 23 Jun 2006 16:32:34 +0200 [thread overview]
Message-ID: <449BFB82.9000008@trash.net> (raw)
In-Reply-To: <1151001712.5392.47.camel@jzny2>
jamal wrote:
> On Tue, 2006-20-06 at 17:09 +0200, Patrick McHardy wrote:
>
>>The thing I'm not sure about is whether this wouldn't be handled better
>>by userspace,
>
>
> If you do it in user space you will need a daemon of some form; this is
> my preference but it seems a lot of people hate daemons - the standard
> claim is it is counter-usability. Such people are forgiving if you built
> the daemon into the kernel as a thread. Perhaps the netcarrier that
> Stefan Rompf has added could be extended to handle this)
I absolutely disagree, in my opinion we currently have too few
specialized daemons and a lot too much wild shell scripting with
seding, awking, grepping. I'm actually working on a daemon that
provides a small scripting language to express networking configuration
states and react to result set changes and state transitions.
Its far from complete, but already allows you to express things like
"on transition from { none, link flags !up } to { link flags up }
execute /etc/network/link/$LINK_NAME up" (same for routes, addresses,
basically all object types) or "for each link with flags lowerup,up
execute add-to-bridge.sh". The value of each expression is dumped
into the environment on execution, so you can comfortably use
$LINK_NAME or $LINK_MTU instead of having to cut it out the
"ip link list" output. Should be trivial to support link speed changes
once we have notifications for that.
>>if the link layer speed changes you might not want
>>proportional scaling but prefer to still give a fixed amount of that
>>bandwidth to some class, for example VoIP traffic. Do we have netlink
>>notifications for link speed changes?
>
>
> Not there at the moment - but we do emit event for other link layer
> stuff like carrier on/off - so adding this should be trivial and a
> reasonable thing to have; with a caveat: it will be link-layer specific;
> so whoever ends up adding will have to be careful to make sure it is not
> hard-coded to be specific to ethernet-like netdevices. It could probably
> be reported together with link state as a TLV like ETHER_SPEED_CHANGED
> which carries probably old speed and new speed
> and maybe even reason why it changed.
I don't think it should carry both old and new speed. Netlink
notifications usually provide a snapshot of the new state, but
no indication what changed, with one notable exception, the
ifi_change field, which IMO is a hack for lazy userspace. Since
notifications can get lost, userspace needs to resync occasionally.
The naiive approach (works for every other object) to determine if
the object state changed from my last known state is to compare
all attributes .. but the ifi_change field will be different
between notifications and dumps even if the object itself didn't
change. "Lazy userspace" because looking at ifi_change is obviously
only useful if it doesn't keep its last known state and tries to
derive the change from update notifications alone .. which means it
fails when notifications are lost.
next prev parent reply other threads:[~2006-06-23 14:32 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-06-14 9:40 [PATCH 0/2] NET: Accurate packet scheduling for ATM/ADSL Jesper Dangaard Brouer
2006-06-14 12:06 ` jamal
2006-06-14 12:55 ` Jesper Dangaard Brouer
2006-06-15 12:57 ` jamal
2006-06-15 13:16 ` jamal
2006-06-20 1:04 ` Patrick McHardy
2006-06-20 14:59 ` jamal
2006-06-20 15:16 ` Patrick McHardy
2006-06-21 12:21 ` Krzysztof Matusik
2006-06-21 12:54 ` Patrick McHardy
2006-06-21 14:33 ` Krzysztof Matusik
2006-06-14 15:32 ` Andy Furniss
2006-06-20 0:54 ` Patrick McHardy
2006-06-20 14:56 ` jamal
2006-06-20 15:09 ` Patrick McHardy
2006-06-22 18:41 ` jamal
2006-06-23 14:32 ` Patrick McHardy [this message]
2006-06-24 14:39 ` jamal
2006-06-26 11:21 ` Patrick McHardy
2006-06-27 13:01 ` jamal
2006-07-02 4:23 ` Patrick McHardy
2006-07-02 13:59 ` jamal
[not found] ` <1150287983.3246.27.camel@ras.pc.brisbane.lube>
[not found] ` <1150292693.5197.1.camel@jzny2>
[not found] ` <1150843471.17455.2.camel@ras.pc.brisbane.lube>
[not found] ` <15653CE98281AD4FBD7F70BCEE3666E53CD54A@comxexch01.comx.local>
[not found] ` <1151000966.5392.34.camel@jzny2>
2006-06-23 12:37 ` Russell Stuart
2006-06-23 15:21 ` Patrick McHardy
2006-06-26 0:45 ` Russell Stuart
2006-06-26 11:10 ` Patrick McHardy
2006-06-27 6:19 ` Russell Stuart
2006-06-27 17:18 ` Patrick McHardy
2006-07-04 13:29 ` Patrick McHardy
2006-07-04 19:29 ` jamal
2006-07-04 23:53 ` Patrick McHardy
2006-07-06 0:39 ` Russell Stuart
2006-07-07 8:00 ` Patrick McHardy
2006-07-10 8:44 ` Russell Stuart
2006-06-24 14:13 ` jamal
2006-06-26 4:23 ` Russell Stuart
2006-07-18 2:06 ` Russell Stuart
2006-07-18 13:35 ` jamal
2006-07-18 21:46 ` Andy Furniss
2006-07-19 1:02 ` Russell Stuart
2006-07-19 14:42 ` Andy Furniss
2006-07-19 14:54 ` Patrick McHardy
2006-07-19 20:26 ` [PATCH 0/2] NET: Accurate packet scheduling for ATM/ADSL (RTAB BUG) Jesper Dangaard Brouer
2006-07-19 21:00 ` Alexey Kuznetsov
2006-07-20 5:47 ` Russell Stuart
2006-07-20 23:49 ` Alexey Kuznetsov
2006-07-19 14:50 ` [PATCH 0/2] NET: Accurate packet scheduling for ATM/ADSL Patrick McHardy
2006-07-20 4:56 ` Russell Stuart
2006-07-30 23:06 ` Russell Stuart
2006-08-08 22:01 ` Russell Stuart
2006-08-09 11:33 ` jamal
2006-09-04 10:37 ` Russell Stuart
2006-06-14 14:27 ` Phillip Susi
2006-06-14 15:08 ` Jesper Dangaard Brouer
2006-06-20 5:35 ` Chris Wedgwood
2006-06-20 7:33 ` Jesper Dangaard Brouer
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=449BFB82.9000008@trash.net \
--to=kaber@trash.net \
--cc=hadi@cyberus.ca \
--cc=hawk@comx.dk \
--cc=hawk@diku.dk \
--cc=netdev@vger.kernel.org \
--cc=russell-tcatm@stuart.id.au \
--cc=shemminger@osdl.org \
/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;
as well as URLs for NNTP newsgroup(s).