Bug 7853 - (net ppp) Get "mppe_decompress: osize too small" while forwarding from pptp
Summary: (net ppp) Get "mppe_decompress: osize too small" while forwarding from pptp
Status: REJECTED INSUFFICIENT_DATA
Alias: None
Product: Drivers
Classification: Unclassified
Component: Network (show other bugs)
Hardware: i386 Linux
: P2 normal
Assignee: Paul Mackerras
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-01-19 10:09 UTC by Andrey Bondarenko
Modified: 2009-01-09 09:01 UTC (History)
3 users (show)

See Also:
Kernel Version: 2.6.16.37
Subsystem:
Regression: ---
Bisected commit-id:


Attachments

Description Andrey Bondarenko 2007-01-19 10:09:04 UTC
Most recent kernel where this bug did *NOT* occur: none
Distribution: Debian GNU/Linux 3.1 Sarge

Hardware Environment:

cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 11
model name      : Intel(R) Celeron(TM) CPU                1400MHz
stepping        : 4
cpu MHz         : 1615.892
cache size      : 256 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 2
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat
pse36 mmx fxsr sse
bogomips        : 3233.64


cat /proc/iomem
00000000-0009ffff : System RAM
000a0000-000bffff : Video RAM area
000c0000-000c9fff : Video ROM
000f0000-000fffff : System ROM
00100000-1feeffff : System RAM
  00100000-00297cdc : Kernel code
  00297cdd-00347da7 : Kernel data
1fef0000-1fef2fff : ACPI Non-volatile Storage
1fef3000-1fefffff : ACPI Tables
1ff00000-1fffffff : reserved
20000000-200fffff : PCI Bus #01
  20000000-2000ffff : 0000:01:00.0
  20010000-2001ffff : 0000:01:06.0
  20020000-20027fff : 0000:01:01.0
e0000000-e3ffffff : 0000:00:02.0
e4000000-e5ffffff : PCI Bus #01
  e5000000-e50000ff : 0000:01:01.0
    e5000000-e50000ff : 8139too
  e5001000-e50010ff : 0000:01:06.0
    e5001000-e50010ff : 8139too
  e5002000-e50020ff : 0000:01:07.0
    e5002000-e50020ff : 8139too
e6000000-e607ffff : 0000:00:02.0
ffb00000-ffffffff : reserved


cat /proc/ioports
0000-001f : dma1
0020-0021 : pic1
0040-0043 : timer0
0050-0053 : timer1
0060-006f : keyboard
0080-008f : dma page reg
00a0-00a1 : pic2
00c0-00df : dma2
00f0-00ff : fpu
0170-0177 : ide1
01f0-01f7 : ide0
02f8-02ff : serial
0376-0376 : ide1
03c0-03df : vga+
03f6-03f6 : ide0
03f8-03ff : serial
0cf8-0cff : PCI conf1
4000-407f : 0000:00:1f.0
  4000-4003 : PM1a_EVT_BLK
  4004-4005 : PM1a_CNT_BLK
  4008-400b : PM_TMR
  4010-4015 : ACPI CPU throttle
  4028-402b : GPE1_BLK
  402c-402f : GPE0_BLK
4080-40bf : 0000:00:1f.0
5000-500f : 0000:00:1f.3
9000-afff : PCI Bus #01
  9000-903f : 0000:01:00.0
    9000-903f : 0000:01:00.0
  9400-94ff : 0000:01:01.0
    9400-94ff : 8139too
  9800-98ff : 0000:01:06.0
    9800-98ff : 8139too
  9c00-9cff : 0000:01:07.0
    9c00-9cff : 8139too
  a000-a01f : 0000:01:0a.0
    a000-a01f : ne2k-pci
b000-b01f : 0000:00:1f.2
b800-b81f : 0000:00:1f.4
f000-f00f : 0000:00:1f.1
  f000-f007 : ide0
  f008-f00f : ide1


lspci -vvv
0000:00:00.0 Host bridge: Intel Corp. 82815 815 Chipset Host Bridge and Memory
Controller Hub (rev 04)
        Subsystem: Intel Corp. 82815 815 Chipset Host Bridge and Memory
Controller Hub
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
        Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort-
<MAbort+ >SERR- <PERR-
        Latency: 0
        Capabilities: <available only to root>

0000:00:02.0 VGA compatible controller: Intel Corp. 82815 CGC [Chipset Graphics
Controller] (rev 04) (prog-if 00 [VGA])
        Subsystem: Intel Corp. 82815 CGC [Chipset Graphics Controller]
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
        Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 0
        Interrupt: pin A routed to IRQ 11
        Region 0: Memory at e0000000 (32-bit, prefetchable) [size=64M]
        Region 1: Memory at e6000000 (32-bit, non-prefetchable) [size=512K]
        Capabilities: <available only to root>

0000:00:1e.0 PCI bridge: Intel Corp. 82801 PCI Bridge (rev 11) (prog-if 00
[Normal decode])
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR+ FastB2B-
        Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
        Latency: 0
        Bus: primary=00, secondary=01, subordinate=01, sec-latency=32
        I/O behind bridge: 00009000-0000afff
        Memory behind bridge: e4000000-e5ffffff
        Prefetchable memory behind bridge: 20000000-200fffff
        BridgeCtl: Parity- SERR+ NoISA+ VGA- MAbort- >Reset- FastB2B-

0000:00:1f.0 ISA bridge: Intel Corp. 82801BA ISA Bridge (LPC) (rev 11)
        Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
        Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 0

0000:00:1f.1 IDE interface: Intel Corp. 82801BA IDE U100 (rev 11) (prog-if 80
[Master])
        Subsystem: Intel Corp.: Unknown device 2442
        Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
        Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 0
        Region 4: I/O ports at f000 [size=16]

0000:00:1f.2 USB Controller: Intel Corp. 82801BA/BAM USB (Hub #1) (rev 11)
(prog-if 00 [UHCI])
        Subsystem: Intel Corp. 82801BA/BAM USB (Hub #1)
        Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
        Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 0
        Interrupt: pin D routed to IRQ 10
        Region 4: I/O ports at b000 [size=32]

0000:00:1f.3 SMBus: Intel Corp. 82801BA/BAM SMBus (rev 11)
        Subsystem: Intel Corp.: Unknown device 2442
        Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
        Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
        Interrupt: pin B routed to IRQ 5
        Region 4: I/O ports at 5000 [size=16]

0000:00:1f.4 USB Controller: Intel Corp. 82801BA/BAM USB (Hub #2) (rev 11)
(prog-if 00 [UHCI])
        Subsystem: Intel Corp.: Unknown device 2442
        Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
        Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 0
        Interrupt: pin C routed to IRQ 7
        Region 4: I/O ports at b800 [size=32]

0000:01:00.0 Ethernet controller: 3Com Corporation 3c905 100BaseTX [Boomerang]
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
        Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 64 (750ns min, 2000ns max)
        Interrupt: pin A routed to IRQ 11
        Region 0: I/O ports at 9000 [size=64]
        Expansion ROM at 20000000 [disabled] [size=64K]

0000:01:01.0 Ethernet controller: Realtek Semiconductor Co., Ltd.
RTL-8139/8139C/8139C+ (rev 10)
        Subsystem: Realtek Semiconductor Co., Ltd. RT8139
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
        Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 64 (8000ns min, 16000ns max)
        Interrupt: pin A routed to IRQ 5
        Region 0: I/O ports at 9400 [size=256]
        Region 1: Memory at e5000000 (32-bit, non-prefetchable) [size=256]
        Expansion ROM at 20020000 [disabled] [size=32K]
        Capabilities: <available only to root>

0000:01:06.0 Ethernet controller: Realtek Semiconductor Co., Ltd.
RTL-8139/8139C/8139C+ (rev 10)
        Subsystem: Realtek Semiconductor Co., Ltd. RT8139
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
        Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 64 (8000ns min, 16000ns max)
        Interrupt: pin A routed to IRQ 12
        Region 0: I/O ports at 9800 [size=256]
        Region 1: Memory at e5001000 (32-bit, non-prefetchable) [size=256]
        Expansion ROM at 20010000 [disabled] [size=64K]
        Capabilities: <available only to root>

0000:01:07.0 Ethernet controller: Realtek Semiconductor Co., Ltd.
RTL-8139/8139C/8139C+ (rev 10)
        Subsystem: Realtek Semiconductor Co., Ltd. RT8139
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
        Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 64 (8000ns min, 16000ns max)
        Interrupt: pin A routed to IRQ 10
        Region 0: I/O ports at 9c00 [size=256]
        Region 1: Memory at e5002000 (32-bit, non-prefetchable) [size=256]
        Capabilities: <available only to root>

0000:01:0a.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8029(AS)
        Subsystem: Realtek Semiconductor Co., Ltd. RTL-8029(AS)
        Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
        Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
        Interrupt: pin A routed to IRQ 11
        Region 0: I/O ports at a000 [size=32]


Software Environment:

scripts/ver_linux

Linux monolith 2.6.16.37-imq #1 Sat Jan 13 14:41:05 YEKT 2007 i686 GNU/Linux

Gnu C                  3.3.5
Gnu make               3.80
binutils               2.15
util-linux             2.12p
mount                  2.12p
module-init-tools      3.2-pre1
e2fsprogs              1.37
reiserfsprogs          3.6.19
reiser4progs           line
nfs-utils              1.0.6
Linux C Library        2.3.2
Dynamic linker (ldd)   2.3.2
Procps                 3.2.1
Net-tools              1.60
Console-tools          0.2.3
Sh-utils               5.2.1
udev                   056
Modules Loaded         cls_u32 cls_tcindex ipt_IMQ imq sch_sfq sch_htb
sch_dsmark xt_state iptable_mangle ipt_MASQUERADE iptable_nat ip_nat
ip_conntrack iptable_filter ip_tables ipt_ULOG x_tables sha1 arc4 ppp_mppe
ppp_async crc_ccitt ppp_generic slhc autofs4 ebtable_filter ebtables ne2k_pci
8390 8139too crc32 3c59x mii it87 hwmon_vid i2c_isa i2c_i810 i2c_algo_bit i2c_core


Problem Description:

I'm sharing single PPTP connection to my ISP for several client machines.
Linux router establishes a PPTP connection with MPPE-128 encryption to 
the ISP and masquerades clients requests.

Client ---> Router (MASQUERADE) ---( PPTP MPPE-128 )---> ISP

When I'm trying to open ISP's web page (support.mgn.ru) from a client
machine I get timeout and get errors in a router syslog:

kernel: mppe_decompress[2]: osize too small! (have: 1480 need: 1483)

Have value always MTU of ppp interface + 4, need value may vary 
up to MTU of eth interface + 4.  

Other sites can be accessed from client machines without problems.
But on windows clients I see timeouts on yandex.ru as described in bug 6548.
The ISP's site can be accessed from router without problems.

It seems problem related with MTU size. Underlying LAN has 
MTU 1500 bytes, and PPTP tunnel has MTU = 1476 bytes. 

If I'm trying to ping ISP's host from client machine with small packets 
it works ok. But if I do ping with larger packets (by example -s 1449)
I get an error from mppe_decompress listed above.

Experimenting with MTU size of ppp interface, I have found that error disappear
if ppp interface MTU size larger then MTU of ethernet interface. By example
when I set mtu of ppp interface to 1512 while mtu of eth interface 1500 bytes
I can contact ISP host without problem.
Comment 1 Andrey Bondarenko 2007-01-19 10:14:52 UTC
Sorry, I forgot to mention.
Kernel version 2.6.13.5 with linux-2.6.13-mppe-mppc-1.3.patch.gz
from http://mppe-mppc.alphacron.de/ works without errors.
Comment 2 Frank Cusack 2007-01-19 14:50:42 UTC
How often have I fixed this?  Let me count the times.  One, two, three, three times.

The reporter has in every case disappeared and not even acknowledged my patch so
I've discarded it.  One more try?  This time it's in a bug system somewhere and
not just an email to me, so I hope that means a patch will be tested.
Comment 3 Natalie Protasevich 2007-07-07 19:44:36 UTC
Frank,
The patch should be submitted to LKML; was it ever submitted/reviewed?
Thanks.
Comment 4 Andrew Morton 2007-07-27 15:23:14 UTC
yeah, what patch?

Send it to me if you like.
Comment 5 Alan 2008-09-22 12:42:51 UTC
Closing - no activity
Comment 6 Damjan Georgievski 2009-01-09 09:01:42 UTC
is this the same as http://bugzilla.kernel.org/show_bug.cgi?id=5827

Note You need to log in before you can comment on or make changes to this bug.