Date: Fri, 28 Jul 2006 12:17:22 +0800 From: "fooler" <fooler@skyinet.net> To: "Luigi Rizzo" <rizzo@icir.org>, <net@freebsd.org> Subject: Re: multiple DSL modems and pppoe sessions on the same ethernet ? Message-ID: <06a801c6b1fc$bcc83470$42764eca@ilo.skyinet.net> References: <20060726071232.A96367@xorpc.icir.org>
next in thread | previous in thread | raw e-mail | index | archive | help
----- Original Message ----- From: "Luigi Rizzo" <rizzo@icir.org> To: <net@freebsd.org> Sent: Wednesday, July 26, 2006 10:12 PM Subject: multiple DSL modems and pppoe sessions on the same ethernet ? > hi, > i am trying to run, on a single FreeBSD box, multiple (3 in my case) > pppoe instances talking to as many DSL modems on the same ethernet cable > > ------+--------------+--------------+--------------+----- > | | | | > +-[modem1] +-[modem2] +-[modem3] +-[FreeBSD/ppp] > DSL#1 DSL#2 DSL#3 > > Ideally, in /etc/ppp/ppp.conf i can write something like > > modem1: > set device PPPoE:rl0:dsl1 > ... > > modem2: > set device PPPoE:rl0:dsl2 > ... > > modem3: > set device PPPoE:rl0:dsl3 > ... > > and the PPPoE spec (RFC2516) says this should work as long as each > DSL line has a different 'service name' (tag 0x101 in the packet). > > The problem is, my provider does not provide specific service names, > but it will accept anything i supply. So when i run the three ppp > instances, > they will all match, and the code in ng_pppoe.c will happily take the > first reply as good. > > The only approach left is then implement some form of MAC filtering, > e.g. overloading the 'service name' to specify the mac address of the > modem i am interested in. > There is a couple of ways to implement this, one is patching the > receive path (ng_pppoe_rcvdata(), case PADO_CODE) to filter replies > based on the source mac address, and the other one is to patch > the code transmitting the PADI packet to replace the broadcast > dst address with the unicast MAC taken from the "service name". > > Any better ideas ? hello luigi, have you considered pado's ac-name tag return? according to rfc2516 section 5.2... the pado packet MUST contain one ac-name tag containing the access concentrator's name... fooler.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?06a801c6b1fc$bcc83470$42764eca>