From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ie0-x22a.google.com (mail-ie0-x22a.google.com [IPv6:2607:f8b0:4001:c03::22a]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority" (verified OK)) by huchra.bufferbloat.net (Postfix) with ESMTPS id A81F321F1C5 for ; Wed, 8 May 2013 01:51:01 -0700 (PDT) Received: by mail-ie0-f170.google.com with SMTP id aq17so2752758iec.1 for ; Wed, 08 May 2013 01:51:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; bh=ncqu+8c/1OYil4reg+PK8DsnjAVuzHjUPMXgDEAx1f0=; b=Ov+fxqoReOUPOGSUm6laNmaF8UaXu6RkmMSY2Jc8WVGaJ5h+Zeq7joVAL3VUoRjQCU 7eio91cZSloe6mTCG0gK6LQhuUpfcP+9hUlN89pv2WSPfP4y5KU/1erwI0284LFRac63 9C5XEEomV4CyQUNWlGeHohjo8/Mt9metCIVPHryom6F+zonf8zTUi7dOo9tlYyc26yyY TAfg54mnEMRJ2JGLeOmYv0jvnyGcKyTfduWez8nJ4CRjfkJTwHZHcu6hks30v+m6m69s 2xj4pJk1oKU6ShV6gBz6MkuydWVyWAN4QiAFHCD2wpTs8raKjB6hO0fHPDqzwFeEHHJN ebCg== MIME-Version: 1.0 X-Received: by 10.50.120.4 with SMTP id ky4mr2045331igb.86.1368003060665; Wed, 08 May 2013 01:51:00 -0700 (PDT) Received: by 10.64.7.51 with HTTP; Wed, 8 May 2013 01:51:00 -0700 (PDT) In-Reply-To: <87sj1zgfot.wl%jch@pps.univ-paris-diderot.fr> References: <87vc6vgghx.wl%jch@pps.univ-paris-diderot.fr> <8F7177E4-6212-4A74-8A7C-A2D1703A59BF@iki.fi> <87sj1zgfot.wl%jch@pps.univ-paris-diderot.fr> Date: Wed, 8 May 2013 01:51:00 -0700 Message-ID: Subject: Re: [homenet] Source-specific routes in Linux [was: atomic updates...] From: Dave Taht To: Juliusz Chroboczek Content-Type: multipart/alternative; boundary=047d7b8746d47c150504dc310875 Cc: homenet@ietf.org, Markus Stenberg , bloat-devel , boutier@pps.univ-paris-diderot.fr X-BeenThere: bloat-devel@lists.bufferbloat.net X-Mailman-Version: 2.1.13 Precedence: list List-Id: "Developers working on AQM, device drivers, and networking stacks" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 May 2013 08:51:01 -0000 --047d7b8746d47c150504dc310875 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On Tue, May 7, 2013 at 5:03 AM, Juliusz Chroboczek < jch@pps.univ-paris-diderot.fr> wrote: > > > If you're actually doing source-specific routing, please show me how > > > you speak to the kernel. > > > Most of that code is in Lua, and while I could have included > > C extension module that did similar things as ip -6 does, I didn't > > bother. > > We're doing pretty the same in our prototype code (saying > system("ip...") rather than speaking the netlink dialect of the day). > Could you point us at the relevant code, please? > > > So I'm just using ip -6 {route,rule} to set up source-specific rules > > that map to destination tables. > > Ah, okay. So you're using rules, just as we found out (the hard way) > that we need to do. > > http://www.spinics.net/lists/netdev/msg235316.html > http://www.spinics.net/lists/netdev/msg235346.html > One thing that bugs me about hacks and workarounds like this is that Linux (as well as openwrt) are intensely mutable systems, and it's totally possible to improve linux rather than limp around in userspace. I have long disliked the ip rule system in its primary use prior to now (vpns), as buggy, arbitrary, and subject to race conditions, so if a better api and methods for injecting/managing source address dependent routing information could be designed I'm pretty sure there would be much enthusiasm across the vpn, mptcp/sctp, and routing worlds for getting it into linux itself. > > > One (destination-based) routing table is maintained by routing > > protocol, and the rest by Lua code which figures external defaults > > based on routes within routing protocol implementation. > > Nice hack. > Except that probably it interacts badly with existing vpn manipulation of these tables. > > -- Juliusz > _______________________________________________ > homenet mailing list > homenet@ietf.org > https://www.ietf.org/mailman/listinfo/homenet > --=20 Dave T=E4ht Fixing bufferbloat with cerowrt: http://www.teklibre.com/cerowrt/subscribe.html --047d7b8746d47c150504dc310875 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable

On Tue, May 7, 2013 at 5:03 AM, Juliusz = Chroboczek <jch@pps.univ-paris-diderot.fr> wrote= :
> > If you're ac= tually doing source-specific routing, please show me how
> > you speak to the kernel.

> Most of that code is in Lua, and while I could have included
> C extension module that did similar things as ip -6 does, I didn't=
> bother.

We're doing pretty the same in our prototype code (saying
system("ip...") rather than speaking the netlink dialect of the d= ay).
Could you point us at the relevant code, please?

> So I'm just using ip -6 {route,rule} to set up source-specific rul= es
> that map to destination tables.

Ah, okay. =A0So you're using rules, just as we found out (the har= d way)
that we need to do.

=A0 http://www.spinics.net/lists/netdev/msg235316.html
=A0 http://www.spinics.net/lists/netdev/msg235346.html

One thing that bugs me about hacks and workarounds like th= is is that Linux (as well as openwrt) are intensely mutable systems, and it= 's totally possible to improve linux rather than limp around in userspa= ce.

I have long disliked the ip rule system in its primary use prior to now= (vpns), as buggy, arbitrary, and subject to race conditions, so if a bette= r api and methods for injecting/managing source address dependent routing i= nformation could be designed I'm pretty sure there would be much enthus= iasm across the vpn, mptcp/sctp, and routing worlds for getting it into lin= ux itself.

=A0

> One (destination-based) routing table is maintained by routing
> protocol, and the rest by Lua code which figures external defaults
> based on routes within routing protocol implementation.

Nice hack.

Except that probably it interacts= badly with existing vpn manipulation of these tables.
=A0

-- Juliusz
_____________________= __________________________
homenet mailing list
homenet@ietf.org
https://www.ietf.org/mailman/listinfo/homenet



--
Dave T=E4ht=

Fixing bufferbloat with cerowrt: http://www.teklibre.com/cerowrt/= subscribe.html=20 --047d7b8746d47c150504dc310875--