MTU 1500 на ppp-интерфейсах

PPPoE related questions
Post Reply
demyan
Posts: 2
Joined: 30 Jan 2017, 12:00

MTU 1500 на ppp-интерфейсах

Post by demyan »

Добрый день.

Версия

Code: Select all

1.11.1 (406f825)
Для всех создаваемых ppp-интерфейсов устанавливается MTU 1500:

Code: Select all

...
2589: ppp1657: <POINTOPOINT,UP,LOWER_UP> mtu 1500 qdisc tbf state UNKNOWN mode DEFAULT group default qlen 3
    link/ppp 
2333: ppp1401: <POINTOPOINT,UP,LOWER_UP> mtu 1500 qdisc tbf state UNKNOWN mode DEFAULT group default qlen 3
    link/ppp 
2077: ppp1145: <POINTOPOINT,UP,LOWER_UP> mtu 1500 qdisc tbf state UNKNOWN mode DEFAULT group default qlen 3
    link/ppp 
...
в конфиге MTU/MRU 1492:

Code: Select all

...
[ppp]
verbose=0
min-mtu=1280
max-mtu=1492
mtu=1492
mru=1492
ipv4=require
ipv6=deny
lcp-echo-interval=20
lcp-echo-timeout=120
unit-cache=1000
unit-preallocate=1

[pppoe]
attr-l4-redirect=L4-Redirect
l4-redirect-ipset=l4-redirect
interface=re:^eth3\.[6-9][0-9]$
ac-name=bras
verbose=1
...
Возможно ли заставить accel ограничивать MTU на ppp-интерфейсах значением mtu из конфига ?
demyan
Posts: 2
Joined: 30 Jan 2017, 12:00

Re: MTU 1500 на ppp-интерфейсах

Post by demyan »

Похоже, что проблема с unit-preallocate=1

accel-pppd/ppp/ppp.c

Code: Select all

...
114         if (conf_unit_preallocate) {
115                 if (connect_ppp_channel(ppp))
116                         goto exit_close_chan;
...
Т.е connect_ppp_channel() выполняется раньше фазы в которой происходит обработка LCP-опций.
А в фазе LCP-опций, собственно и принимается решение о размере MTU/MRU для интерфейса. Таким образом в момент первого вызова connect_ppp_channel() mtu=0 и интерфейс получает дефолтные 1500
Post Reply