Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 03 May 2023 01:08:27 +1000
From:      Ian Smith <smithi@nimnet.asn.au>
To:        Gary Aitken <freebsd@dreamchaser.org>
Cc:        Kristof Provost <kp@FreeBSD.org>,questions@freebsd.org
Subject:   Re: PPPoE bridge / vlan? setup help needed
Message-ID:  <985DD85F-C87A-418A-9D3B-A507BC952266@nimnet.asn.au>
In-Reply-To: <7c972cc1-3c49-ad0a-b86f-91bd0b978537@dreamchaser.org>
References:  <7c972cc1-3c49-ad0a-b86f-91bd0b978537@dreamchaser.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2 May 2023 11:32:25 am AEST, Gary Aitken <freebsd@dreamchaser=2Eorg> wro=
te:

 > Having trouble setting up a dsl modem as a bridge=2E
 > ISP info:
 >    Fixed IP
 >    LLC-Based multiplexing
 >    VPI 0
 >    VCI 100
 >=20
 > Nowhere in ppp=2Econf do I see anything about
 > multiplexing mode, vpi, vci, or dsl mode;

Thanks to kristof's message nudging my brain into gear =2E=2E=2E also C=2E=
 15 years since last setting up dialup or ADSL ppp=2E

Apart from the IP address, those things are configured on the DSL modem, a=
s is choice between bridge mode or having the modem do PPP itself=2E

 > searching I found something about setting up a vlan and associating
 > it with the hardware interface, but it's not clear to me how=2E
 > Handbook Ch 33=2E11 VLANs shows examples using a single number, the
 > vlan tag=2E

This has nothing to do with vlans=2E

 > Otherwise, nothing I've been able to find about setting up PPPoE
 > bridged says anything about vpi/vci=2E

It's most likely already set 0/100 for your country or region=2E Here it's=
 0/35 (IIRC)=2E
Similarly LLC or =2E=2E=2E the other one :)

 > pp=2Econf:
 >=20
 > default:
 >   set log Phase tun command
 >   ident user-ppp VERSION
 >=20
 > myisp:
 >   set log Phase Chat LCP IPCP CCP Connect DNS tun command
 >   set device PPPoE:xl0
 >   set mtu max 1492
 >   set mru max 1492
 >   disable ipv6cp

Does the ISP offer ipv6?  If so, is this all you have to dl to disable it?

 >   set dial
 >   set login
 >   set timeout 0
 > # set speed 20000000       # is speed needed for PPPoE?

No=2E  Used if you had a serial link to the modem instead, commonly 115200=
=2E

 >   set authname ********
 >   set authkey ********
 >   set ifaddr my=2Eisp=2Eassigned=2Eip/29 0=2E0=2E0=2E0
 > add! default HISADDR     # Override existing default route with new
 > one

Not sure you need the '!' ?

 > With no vlan set up, I see:
 > Sorry it's long, seems to succeed through SUCCESS but don't know what
 > from the earlier output may be relevant=2E
 >=20
 >       tun0: Phase: Using interface: tun0
 > tun0: Command: myisp: set log Phase Chat LCP IPCP CCP Connect DNS tun
 > comman
 > d
 >       tun0: Command: myisp: set device PPPoE:xl0
 >       tun0: Command: myisp: set redial 3 0
 >       tun0: Command: myisp: set mtu max 1492
 >       tun0: Command: myisp: set mru max 1492
 >       tun0: Command: myisp: disable ipv6cp
 >       tun0: Command: myisp: set dial
 >       tun0: Command: myisp: set login
 >       tun0: Command: myisp: set timeout 0
 >       tun0: Command: myisp: set authname ********
 >       tun0: Command: myisp: set authkey ********
 >       tun0: Command: myisp: set ifaddr my=2Eisp=2Eassigned=2Eip/29 0=2E=
0=2E0=2E0
 >       tun0: Command: myisp: add! default HISADDR
 >       tun0: Phase: PPP Started (ddial mode)=2E
 >       tun0: Phase: bundle: Establish
 >       tun0: Phase: deflink: closed -> opening
 >       tun0: Phase: deflink: Connected!
 >       tun0: Phase: deflink: opening -> dial
 >       tun0: Phase: deflink: dial -> carrier
 >       tun0: Phase: Received NGM_PPPOE_ACNAME (hook "MSSLMT-CO-MX480")
 >       tun0: Phase: Received NGM_PPPOE_SESSIONID
 >       tun0: Phase: Received NGM_PPPOE_SUCCESS
 >       tun0: Phase: deflink: carrier -> login

So far so good, looks like=2E

 >       tun0: Phase: deflink: login -> lcp
 >       tun0: LCP: FSM: Using "deflink" as a transport
 >       tun0: LCP: deflink: State change Initial --> Closed
 >       tun0: LCP: deflink: State change Closed --> Stopped
 >       tun0: LCP: deflink: RecvConfigReq(163) state =3D Stopped
 >       tun0: LCP:  MRU[4] 1492
 >       tun0: LCP:  AUTHPROTO[4] 0xc023 (PAP)
 >       tun0: LCP:  MAGICNUM[6] 0x3bbf819a
 >     tun0: Warning: deflink: Reducing configured MRU from 1500 to 1492
 >       tun0: LCP: deflink: SendConfigReq(1) state =3D Stopped
 >       tun0: LCP:  ACFCOMP[2]
 >       tun0: LCP:  PROTOCOMP[2]
 >       tun0: LCP:  ACCMAP[6] 0x00000000
 >       tun0: LCP:  MRU[4] 1492
 >       tun0: LCP:  MAGICNUM[6] 0x3bbf5181
 >       tun0: LCP: deflink: SendConfigAck(163) state =3D Stopped
 >       tun0: LCP:  MRU[4] 1492
 >       tun0: LCP:  AUTHPROTO[4] 0xc023 (PAP)
 >       tun0: LCP:  MAGICNUM[6] 0x3bbf819a
 >       tun0: LCP: deflink: LayerStart
 >       tun0: LCP: deflink: State change Stopped --> Ack-Sent

I think that's ok =2E=2E=2E chatty, ain't it =2E=2E

 >       tun0: LCP: deflink: RecvConfigAck(1) state =3D Ack-Sent
 >       tun0: LCP:  ACFCOMP[2]
 >       tun0: LCP:  PROTOCOMP[2]
 >       tun0: LCP:  ACCMAP[6] 0x00000000
 >       tun0: LCP:  MRU[4] 1492
 >       tun0: LCP:  MAGICNUM[6] 0x3bbf5181
 >       tun0: LCP: deflink: State change Ack-Sent --> Opened
 >       tun0: LCP: deflink: LayerUp
 >       tun0: LCP: deflink: SendIdent(0) state =3D Opened
 >       tun0: LCP:  MAGICNUM 3bbf5181
 >       tun0: LCP:  TEXT user-ppp 3=2E4=2E2
 >       tun0: Phase: bundle: Authenticate
 >       tun0: Phase: deflink: his =3D PAP, mine =3D none
 >       tun0: Phase: Pap Output: ******** ********
 >       tun0: Phase: Pap Input: SUCCESS ()

Looks ok, but then starting CCP negotiation (compression control)

 >       tun0: CCP: FSM: Using "deflink" as a transport
 >       tun0: CCP: deflink: State change Initial --> Closed
 >       tun0: CCP: deflink: LayerStart=2E
 >       tun0: CCP: MPPE: Not usable without CHAP81

This looks maybe ominous=2E

 >       tun0: CCP: deflink: SendConfigReq(1) state =3D Closed
 >       tun0: CCP:  DEFLATE[4] win 15
 >       tun0: CCP:  PRED1[2]
 >       tun0: CCP: deflink: State change Closed --> Req-Sent

So you want deflate or pred1 =2E=2E=2E but now moving to IPCP (IP Control =
protocol)

 >       tun0: Phase: deflink: lcp -> open
 >       tun0: Phase: bundle: Network
 >       tun0: IPCP: FSM: Using "deflink" as a transport
 >       tun0: IPCP: deflink: State change Initial --> Closed
 >       tun0: IPCP: deflink: LayerStart=2E
 >       tun0: IPCP: deflink: SendConfigReq(1) state =3D Closed
 >       tun0: IPCP:  IPADDR[6] my=2Eisp=2Eassigned=2Eip
 >       tun0: IPCP:  COMPPROTO[6] 16 VJ slots with slot compression
 >       tun0: IPCP: deflink: State change Closed --> Req-Sent
 >       tun0: LCP: deflink: RecvProtocolRej(164) state =3D Opened
 > ***  tun0: LCP: deflink: -- Protocol 0x80fd (Compression Control
 > Protocol) was reject
 > ed!

Right, so CCP requested mode is wrong=2E Ask them what they expect / requi=
re=2E

 >       tun0: CCP: deflink: State change Req-Sent --> Stopped
 >       tun0: IPCP: deflink: RecvConfigReq(101) state =3D Req-Sent
 >       tun0: IPCP:  IPADDR[6] 69=2E51=2E80=2E35
 >       tun0: IPCP: deflink: SendConfigAck(101) state =3D Req-Sent
 >       tun0: IPCP:  IPADDR[6] 69=2E51=2E80=2E35
 >       tun0: IPCP: deflink: State change Req-Sent --> Ack-Sent

So you've accepted their offered IP address, and acknowledged it=2E

 >       tun0: IPCP: deflink: RecvConfigRej(1) state =3D Ack-Sent
 >       tun0: LCP: deflink: SendIdent(1) state =3D Opened
 >       tun0: LCP:  MAGICNUM 3bbf5181
 >       tun0: LCP:  TEXT user-ppp 3=2E4=2E2
 >       tun0: IPCP:  COMPPROTO[6] 16 VJ slots with slot compression
 >       tun0: IPCP: deflink: SendConfigReq(2) state =3D Ack-Sent
 >       tun0: IPCP:  IPADDR[6] my=2Eisp=2Eassigned=2Eip
 >       tun0: IPCP: deflink: RecvConfigNak(2) state =3D Ack-Sent
 >       tun0: IPCP:  IPADDR[6] 66=2E109=2E136=2E47

But they want you to use this 66=2E address, is that related or similar to=
 the address  =20
'my=2Eisp=2Eassigned=2Eip'?  Within your /29?

 > ***  tun0: IPCP: 66=2E109=2E136=2E47: Unacceptable address!

So you reject it=2E  Maybe if you don't insist on 'my=2Eisp=2Eassigned=2Ei=
p' it might go - but then they've provided the wrong info=2E=20

At this stage I'd send them the log and ask what's up?

It's all downhill from here =2E=2E=2E

 >       tun0: IPCP: deflink: SendTerminateReq(3) state =3D Ack-Sent
 >       tun0: IPCP: deflink: State change Ack-Sent --> Closing
 >       tun0: IPCP: deflink: RecvTerminateAck(3) state =3D Closing
 >       tun0: IPCP: deflink: LayerFinish=2E
 >       tun0: IPCP: Connect time: 0 secs: 0 octets in, 0 octets out
 >       tun0: IPCP: 0 packets in, 0 packets out
 > tun0: IPCP:  total 0 bytes/sec, peak 0 bytes/sec on Mon May  1
 > 18:57:32 2023
 >       tun0: IPCP: deflink: State change Closing --> Closed
 >       tun0: Phase: bundle: Terminate
 >       tun0: CCP: deflink: State change Stopped --> Closed
 >       tun0: CCP: deflink: State change Closed --> Initial
 >       tun0: LCP: deflink: LayerDown
 >       tun0: LCP: deflink: SendTerminateReq(2) state =3D Opened
 >       tun0: LCP: deflink: State change Opened --> Closing
 >       tun0: Phase: deflink: open -> lcp
 > tun0: Warning: ff02::/: Change route failed: errno: Network is
 > unreachable
 >       tun0: IPCP: deflink: State change Closed --> Initial
 >       tun0: LCP: deflink: RecvTerminateAck(2) state =3D Closing
 >       tun0: LCP: deflink: LayerFinish
 >       tun0: LCP: deflink: State change Closing --> Closed
 >       tun0: LCP: deflink: State change Closed --> Initial
 >       tun0: Phase: deflink: Disconnected!
 >       tun0: Phase: deflink: lcp -> logout
 >       tun0: Phase: deflink: logout -> hangup
 >       tun0: Phase: deflink: Disconnected!
 >=20
 > Any pointers would be much appreciated=2E
 > Thanks,
 >=20
 > Gary

It's been a long time, I may have missed something obvious=2E

We moved from user ppp to mpd C=2E '07, and found it better and easier, bu=
t that won't help if their setup info is wrong=2E

cheers, Ian



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?985DD85F-C87A-418A-9D3B-A507BC952266>