multiple DSL modems and pppoe sessions on the same ethernet ?
fooler
fooler at skyinet.net
Fri Jul 28 04:17:11 UTC 2006
----- Original Message -----
From: "Luigi Rizzo" <rizzo at icir.org>
To: <net at 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.
More information about the freebsd-net
mailing list