On 10/15/10, James Carlson <carlsonj@xxxxxxxxxxxxxxx> wrote: > There's a known flaw in the way PPPoE assigns session ID numbers. > Instead of assigning a separate session number for each direction (as is > done with most competent tunneling protocols), PPPoE uses a single > session number that's assigned by the server. > > This raises a problem. If you have a single client talking to two or > more servers, there's no guarantee at all that the session IDs assigned > by those servers will be distinct. If they're not, then the client must > match on MAC address. > > Is this the problem you're running into? Are you talking to two > different servers? No. Customer, who reports problem, use linux-based router with our firmware - http://wl500g.googlecode.com to access internet resources and pppd on it establish PPPoE session with ISP. i.e. there were only one session from client. One qualified user("good") of this ISP give us advice about not-unique session_id. After blocking aliens MAC's and inserting debug printk into pppoe_disc_rcv(), we got output: PADT h_source=00:11:95:fc:83:f3 h_dest: 00:0e:08:2f:da:c5 session_id: 1 PADT h_source=00:11:95:fc:83:f3 h_dest: 00:14:85:03:da:49 session_id: 1 PADT h_source=00:11:95:fc:83:f3 h_dest: e0:cb:4e:37:09:66 session_id: 1 PADT h_source=00:11:95:fc:83:f3 h_dest: 00:26:5a:32:68:36 session_id: 1 PADT h_source=00:11:95:fc:83:f3 h_dest: 00:14:85:03:da:49 session_id: 1 PADT h_source=00:11:95:fc:83:f3 h_dest: 00:11:95:fc:83:f3 session_id: 1 PADT h_source=00:11:95:fc:83:f3 h_dest: 00:24:54:2a:14:d7 session_id: 1 PADT h_source=00:11:95:fc:83:f3 h_dest: 00:14:85:03:da:49 session_id: 1 PADT h_source=00:11:95:fc:83:f3 h_dest: 00:26:5a:32:68:36 session_id: 1 where only one MAC e0:cb:4e:37:09:66 belongs to our client router. Seems to be that ISP has flat (badly segmented) network with buggy hardware which can't provide uniqueness of session_id. Further investigation shows that both user-space rp-pppoe & M$ windows checks destination address in PADT frames. After fixing problem in our firmware, I decided to push patch into pppoe driver mainstream to add extra foolproof. Thank you for detailed explanation! Regards, Leonid -- To unsubscribe from this list: send the line "unsubscribe linux-ppp" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html