*** sflowtool-3.13-orig/src/sflowtool.c 2009-04-28 12:28:38.000000000 +0400 --- sflowtool-3.13/src/sflowtool.c 2009-04-28 12:29:59.000000000 +0400 *************** *** 687,692 **** --- 687,701 ---- else return; } } + + if (type_len == 0x8864 && ptr[6]==0x00 && ptr[7]==0x21) { + /* IP over 8864 (PPPoE) */ + sf_log("pppoeSessionID %lu\n", (ptr[2] << 8) + ptr[3]); + sf_log("pppoePayloadLength %lu\n", (ptr[4] << 8) + ptr[5]); + ptr += 8; + /* force the type_len to be IP so we can inline the IP decode below */ + type_len = 0x0800; + } /* assume type_len is an ethernet-type now */ sample->eth_type = type_len;