Skip site navigation (1)Skip section navigation (2)
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>