Tom and I discussed this and we're not clear what you are running. Have
you changed create_pppox() in mtpd with the code fragment from your
original mail?
Here is the commit for mtpd where I'm changing Android L2TP
implementation to mainline implementation:
http://git.linaro.org/people/semen.protsenko/mtpd.git/blobdiff/27a25e28b7c84d3f49c50a3e7b1fc3a46ac4ff51..01265f20617e7f3ca041e55dbf557912a0ecebd5:/l2tp_up.c
Are you sure that your modified mtpd gets the correct
local/remote tunnel-id and session-id to make its connect() call?
Judging from xl2tpd and mtpd logs, they are actually different. Seems
like this is actual issue. But I still didn't figured why it's
happening.
As I understand, mtpd should have the same values for remote
tunnel-id/session-id as xl2tpd has for local ones, but it's not the
case for my code.