About Connection between PPP and linux Sockets
Hi
I have a little question just as the title said?
In Ofono how to connect PPP to Linux socket, when we receive packet from network, how the packet go through the kernel to application?
modem -->PPP-->? --> linux kernel(network part)--> socket --> application?
steven
---------------------------------------------------------------------------------------------------
Confidentiality Notice: The information contained in this e-mail and any accompanying attachment(s) is intended only for the use of the intended recipient and may be confidential and/or privileged of Neusoft Corporation, its subsidiaries and/or its affiliates. If any reader of this communication is not the intended recipient, unauthorized use, forwarding, printing, storing, disclosure or copying is strictly prohibited, and may be unlawful.If you have received this communication in error,please immediately notify the sender by return e-mail, and delete the original message and all copies from your system. Thank you.
---------------------------------------------------------------------------------------------------
Hi Steven,
Quoted 5 lines
I have a little question just as the title said?
In Ofono how to connect PPP to Linux socket, when we receive packet from network, how the packet go through the kernel to application?modem -->PPP-->? --> linux kernel(network part)--> socket --> application?
it is more like this:
modem -> TTY -> PPP -> TUN/TAP -> Kernel Net-Stack -> socket -> application.
With the TTY being in kernel, the PPP being in userspace, and TUN/TAP etc. begin in the kernel again.
A future enhancement is to use the kernel PPP layer, but we haven't gotten there yet.
Regards
Marcel
Zhang
Hi Marcel,
Quoted 11 lines · Marcel Holtmann
Hi Steven,
Quoted 6 lines
I have a little question just as the title said?
In Ofono how to connect PPP to Linux socket, when we receive packet from network, how the packet go through the kernel to application?modem -->PPP-->? --> linux kernel(network part)--> socket --> application?
it is more like this:
Quoted 8 lines
modem -> TTY -> PPP -> TUN/TAP -> Kernel Net-Stack -> socket -> application.
With the TTY being in kernel, the PPP being in userspace, and TUN/TAP etc. begin in the kernel again.
A future enhancement is to use the kernel PPP layer, but we haven't gotten there yet.
I am interested to know how could we use kernel PPP layer instead of gatppp. Shall we add this item into our TODO?
Quoted 9 lines
Regards
Marcel
_______________________________________________
ofono mailing list
ofono(a)ofono.org
http://lists.ofono.org/listinfo/ofono
Regards,
Zhenhua
Hi Zhenhua,
Quoted 12 lines
Quoted 12 lines
Quoted 6 lines
I have a little question just as the title said?
In Ofono how to connect PPP to Linux socket, when we receive packet from network, how the packet go through the kernel to application?modem -->PPP-->? --> linux kernel(network part)--> socket --> application?
it is more like this:
modem -> TTY -> PPP -> TUN/TAP -> Kernel Net-Stack -> socket -> application.
Quoted 7 lines
Quoted 5 lines
With the TTY being in kernel, the PPP being in userspace, and TUN/TAP etc. begin in the kernel again.
A future enhancement is to use the kernel PPP layer, but we haven't gotten there yet.
I am interested to know how could we use kernel PPP layer instead of gatppp. Shall we add this item into our TODO?
the kernel PPP line discipline can be used and then LCP and IPCP will be spoken via a side channel to the kernel. And all the packet handling is done by the kernel itself via the TTY line discipline. It is a bit more work than just using a TUN/TAP device. And of course it only works in real TTYs. Not on the GIOChannel that you get from GAtMux.
Regards
Marcel
Hi Zhang
Quoted 16 lines · Zhenhua
Hi Marcel,
Quoted 13 lines · Marcel Holtmann
Hi Steven,
Quoted 6 lines
I have a little question just as the title said?
In Ofono how to connect PPP to Linux socket, when we receive packet from network, how the packet go through the kernel to application?modem -->PPP-->? --> linux kernel(network part)--> socket --> application?
it is more like this:
modem -> TTY -> PPP -> TUN/TAP -> Kernel Net-Stack -> socket -> application.
Quoted 8 lines
Quoted 5 lines
With the TTY being in kernel, the PPP being in userspace, and TUN/TAP etc. begin in the kernel again.
A future enhancement is to use the kernel PPP layer, but we haven't gotten there yet.
I am interested to know how could we use kernel PPP layer instead of gatppp. Shall we add this item into our TODO?
Maybe you can reference to RILD in Android, it used kernel PPP.
B.R
Steven
---------------------------------------------------------------------------------------------------
Confidentiality Notice: The information contained in this e-mail and any accompanying attachment(s) is intended only for the use of the intended recipient and may be confidential and/or privileged of Neusoft Corporation, its subsidiaries and/or its affiliates. If any reader of this communication is not the intended recipient, unauthorized use, forwarding, printing, storing, disclosure or copying is strictly prohibited, and may be unlawful.If you have received this communication in error,please immediately notify the sender by return e-mail, and delete the original message and all copies from your system. Thank you.
---------------------------------------------------------------------------------------------------
Zhang
Hi Steven,
Quoted 21 lines · Steven
Hi Zhang
Quoted 19 lines · Zhenhua
Hi Marcel,
Quoted 16 lines · Marcel Holtmann
Hi Steven,
Quoted 6 lines
I have a little question just as the title said?
In Ofono how to connect PPP to Linux socket, when we receive packet from network, how the packet go through the kernel to application?modem -->PPP-->? --> linux kernel(network part)--> socket --> application?
it is more like this:
modem -> TTY -> PPP -> TUN/TAP -> Kernel Net-Stack -> socket -> application.
With the TTY being in kernel, the PPP being in userspace, and TUN/TAP etc. begin in the kernel again.
Quoted 8 lines
Quoted 6 lines
Quoted 2 lines
A future enhancement is to use the kernel PPP layer, but we haven't gotten there yet.
I am interested to know how could we use kernel PPP layer instead of gatppp. Shall we add this item into our TODO?
Maybe you can reference to RILD in Android, it used kernel PPP.
Thanks. Will take a look then.
Quoted 4 lines
B.R
Steven
Quoted 16 lines
---------------------------------------------------------------------------------------------------
Confidentiality Notice: The information contained in this e-mail and any accompanying attachment(s) is intended only for the use of the intended recipient and may be confidential and/or privileged of Neusoft Corporation, its subsidiaries and/or its affiliates. If any reader of this communication is not the intended recipient, unauthorized use, forwarding, printing, storing, disclosure or copying is strictly prohibited, and may be unlawful.If you have received this communication in error,please immediately notify the sender by return e-mail, and delete the original message and all copies from your system. Thank you.
---------------------------------------------------------------------------------------------------
_______________________________________________
ofono mailing list
ofono(a)ofono.org
http://lists.ofono.org/listinfo/ofono
Regards,
Zhenhua
Hi Zhang,
Quoted 24 lines · Zhenhua
Hi Steven,
Quoted 21 lines · Steven
Hi Zhang
Quoted 19 lines · Zhenhua
Hi Marcel,
Quoted 16 lines · Marcel Holtmann
Hi Steven,
Quoted 6 lines
I have a little question just as the title said?
In Ofono how to connect PPP to Linux socket, when we receive packet from network, how the packet go through the kernel to application?modem -->PPP-->? --> linux kernel(network part)--> socket --> application?
it is more like this:
modem -> TTY -> PPP -> TUN/TAP -> Kernel Net-Stack -> socket -> application.
With the TTY being in kernel, the PPP being in userspace, and TUN/TAP etc. begin in the kernel again.
Quoted 8 lines
Quoted 6 lines
Quoted 5 lines
Quoted 2 lines
A future enhancement is to use the kernel PPP layer, but we haven't gotten there yet.
I am interested to know how could we use kernel PPP layer instead of gatppp. Shall we add this item into our TODO?
Maybe you can reference to RILD in Android, it used kernel PPP.
Thanks. Will take a look then.
This information is a good start point.
http://www.devdiv.net/viewthread-26543
But only for Chinese people:(
B.R
Steven
---------------------------------------------------------------------------------------------------
Confidentiality Notice: The information contained in this e-mail and any accompanying attachment(s) is intended only for the use of the intended recipient and may be confidential and/or privileged of Neusoft Corporation, its subsidiaries and/or its affiliates. If any reader of this communication is not the intended recipient, unauthorized use, forwarding, printing, storing, disclosure or copying is strictly prohibited, and may be unlawful.If you have received this communication in error,please immediately notify the sender by return e-mail, and delete the original message and all copies from your system. Thank you.
---------------------------------------------------------------------------------------------------
Zhang
Hi Steven,
Quoted 33 lines · Steven
Hi Zhang,
Quoted 30 lines · Zhenhua
Hi Steven,
Quoted 27 lines · Steven
Hi Zhang
Quoted 25 lines · Zhenhua
Hi Marcel,
Quoted 11 lines · Marcel Holtmann
Hi Steven,
Quoted 7 lines
I have a little question just as the title said? In Ofono how to connect PPP to Linux socket, when we receive packet from network, how the packet go through the kernel to application?
modem -->PPP-->? --> linux kernel(network part)--> socket --> application?
it is more like this:
Quoted 8 lines
modem -> TTY -> PPP -> TUN/TAP -> Kernel Net-Stack -> socket -> application.
With the TTY being in kernel, the PPP being in userspace, and TUN/TAP etc. begin in the kernel again.
A future enhancement is to use the kernel PPP layer, but we haven't gotten there yet.
I am interested to know how could we use kernel PPP layer instead of gatppp. Shall we add this item into our TODO?
Quoted 8 lines
Quoted 3 lines
Quoted 1 line
Maybe you can reference to RILD in Android, it used kernel PPP.
Thanks. Will take a look then.
This information is a good start point.
http://www.devdiv.net/viewthread-26543But only for Chinese people:(
Thanks. I have read this before. ;-). The original article is from maxleng's blog:
http://blog.csdn.net/maxleng/archive/2010/05/10/5576509.aspx
However, it's just a big picture about phone stack in Android. It said nothing about how Android works with kernel PPP layer.
Quoted 4 lines
B.R
Steven
Quoted 16 lines
---------------------------------------------------------------------------------------------------
Confidentiality Notice: The information contained in this e-mail and any accompanying attachment(s) is intended only for the use of the intended recipient and may be confidential and/or privileged of Neusoft Corporation, its subsidiaries and/or its affiliates. If any reader of this communication is not the intended recipient, unauthorized use, forwarding, printing, storing, disclosure or copying is strictly prohibited, and may be unlawful.If you have received this communication in error,please immediately notify the sender by return e-mail, and delete the original message and all copies from your system. Thank you.
---------------------------------------------------------------------------------------------------
_______________________________________________
ofono mailing list
ofono(a)ofono.org
http://lists.ofono.org/listinfo/ofono
Regards,
Zhenhua
Hi Zhenhua,
Quoted 27 lines
Quoted 27 lines
Quoted 15 lines
Quoted 15 lines
Quoted 15 lines
Quoted 15 lines
Quoted 7 lines
I have a little question just as the title said? In Ofono how to connect PPP to Linux socket, when we receive packet from network, how the packet go through the kernel to application?
modem -->PPP-->? --> linux kernel(network part)--> socket --> application?
it is more like this:
modem -> TTY -> PPP -> TUN/TAP -> Kernel Net-Stack -> socket -> application.
With the TTY being in kernel, the PPP being in userspace, and TUN/TAP etc. begin in the kernel again.
Quoted 8 lines
Quoted 6 lines
Quoted 5 lines
Quoted 2 lines
A future enhancement is to use the kernel PPP layer, but we haven't gotten there yet.
I am interested to know how could we use kernel PPP layer instead of gatppp. Shall we add this item into our TODO?
Maybe you can reference to RILD in Android, it used kernel PPP.
Thanks. Will take a look then.
This information is a good start point.
http://www.devdiv.net/viewthread-26543
Quoted 7 lines
Quoted 1 line
But only for Chinese people:(
Thanks. I have read this before. ;-). The original article is from maxleng's blog:
http://blog.csdn.net/maxleng/archive/2010/05/10/5576509.aspx
However, it's just a big picture about phone stack in Android. It said nothing about how Android works with kernel PPP layer.
could be that Andoid uses the kernel PPP and also uses pppd for it. We are not using pppd on purpose since it is the wrong piece for an embedded phone solution. We are not using the kernel PPP part, because we haven't gotten around that yet. It also only works when having real TTY devices. If your multiplexer runs in userspace then you also have the problem that you don't have a real TTY. And using a PTS, then you can just run PPP also in userspace.
Regards
Marcel
Hi Marcel,
Quoted 32 lines · Marcel Holtmann
Hi Zhenhua,
Quoted 30 lines
Quoted 20 lines
Quoted 20 lines
Quoted 20 lines
Quoted 20 lines
Quoted 9 lines
Quoted 7 lines
I have a little question just as the title said? In Ofono how to connect PPP to Linux socket, when we receive packet from network, how the packet go through the kernel to application?
modem -->PPP-->? --> linux kernel(network part)--> socket --> application?
it is more like this:
Quoted 8 lines
modem -> TTY -> PPP -> TUN/TAP -> Kernel Net-Stack -> socket -> application.
With the TTY being in kernel, the PPP being in userspace, and TUN/TAP etc. begin in the kernel again.
A future enhancement is to use the kernel PPP layer, but we haven't gotten there yet.
I am interested to know how could we use kernel PPP layer instead of gatppp. Shall we add this item into our TODO?
Quoted 6 lines
Quoted 2 lines
Quoted 1 line
Maybe you can reference to RILD in Android, it used kernel PPP.
Thanks. Will take a look then.
This information is a good start point.
http://www.devdiv.net/viewthread-26543But only for Chinese people:(
Thanks. I have read this before. ;-). The original article is from maxleng's blog:
http://blog.csdn.net/maxleng/archive/2010/05/10/5576509.aspx
Quoted 7 lines
Quoted 1 line
However, it's just a big picture about phone stack in Android. It said nothing about how Android works with kernel PPP layer.
could be that Andoid uses the kernel PPP and also uses pppd for it. We are not using pppd on purpose since it is the wrong piece for an embedded phone solution. We are not using the kernel PPP part, because we haven't gotten around that yet. It also only works when having real TTY devices.
I don't think using pppd is a wrong piece for embedded phone, if we using pppd, we can ease the ppp part of ofono and also support full ppp functionalities, such as auth method(plain text, pap, chap, eap and so on)
If your multiplexer runs in userspace then you also have
Quoted 2 lines
the problem that you don't have a real TTY. And using a PTS, then you can just run PPP also in userspace.
A little question, if we runs multiplexer in kernel space, can we using kernel ppp part?
Steven
---------------------------------------------------------------------------------------------------
Confidentiality Notice: The information contained in this e-mail and any accompanying attachment(s) is intended only for the use of the intended recipient and may be confidential and/or privileged of Neusoft Corporation, its subsidiaries and/or its affiliates. If any reader of this communication is not the intended recipient, unauthorized use, forwarding, printing, storing, disclosure or copying is strictly prohibited, and may be unlawful.If you have received this communication in error,please immediately notify the sender by return e-mail, and delete the original message and all copies from your system. Thank you.
---------------------------------------------------------------------------------------------------
Hi Steven,
Quoted 32 lines
Quoted 32 lines
Quoted 31 lines
Quoted 20 lines
Quoted 20 lines
Quoted 20 lines
Quoted 20 lines
Quoted 9 lines
Quoted 7 lines
I have a little question just as the title said? In Ofono how to connect PPP to Linux socket, when we receive packet from network, how the packet go through the kernel to application?
modem -->PPP-->? --> linux kernel(network part)--> socket --> application?
it is more like this:
Quoted 8 lines
modem -> TTY -> PPP -> TUN/TAP -> Kernel Net-Stack -> socket -> application.
With the TTY being in kernel, the PPP being in userspace, and TUN/TAP etc. begin in the kernel again.
A future enhancement is to use the kernel PPP layer, but we haven't gotten there yet.
I am interested to know how could we use kernel PPP layer instead of gatppp. Shall we add this item into our TODO?
Quoted 6 lines
Quoted 2 lines
Quoted 1 line
Maybe you can reference to RILD in Android, it used kernel PPP.
Thanks. Will take a look then.
This information is a good start point.
http://www.devdiv.net/viewthread-26543But only for Chinese people:(
Thanks. I have read this before. ;-). The original article is from maxleng's blog:
http://blog.csdn.net/maxleng/archive/2010/05/10/5576509.aspx
However, it's just a big picture about phone stack in Android. It said nothing about how Android works with kernel PPP layer.
Quoted 8 lines
Quoted 5 lines
could be that Andoid uses the kernel PPP and also uses pppd for it. We are not using pppd on purpose since it is the wrong piece for an embedded phone solution. We are not using the kernel PPP part, because we haven't gotten around that yet. It also only works when having real TTY devices.
I don't think using pppd is a wrong piece for embedded phone, if we using pppd, we can ease the ppp part of ofono and also support full ppp functionalities, such as auth
method(plain text, pap, chap, eap and so on)
for a mobile telephony stack, pppd is wrong. Once you understand how 3G missuses PPP for IP and PDP context setup, you see what I mean ;)
Quoted 6 lines
If your multiplexer runs in userspace then you also have
Quoted 2 lines
the problem that you don't have a real TTY. And using a PTS, then you can just run PPP also in userspace.
A little question, if we runs multiplexer in kernel space, can we using kernel ppp part?
Yes, we could. We have a kernel multiplexer, but not tested or integrated it with oFono or real hardware.
Regards
Marcel
Quoted 2 lines · Marcel Holtmann
for a mobile telephony stack, pppd is wrong. Once you understand how 3G missuses PPP for IP and PDP context setup, you see what I mean ;)
For mobile telephony, PPP as a _protocol_ is wrong - sure. That being stated, I don't see how pppd as a _software_ is better or worse than any other PPP implementation.
Considering the high bandwidth involved in high HSPA categories, and soon LTE networks, going through user space seems like a bad idea. That's why Phonet GPRS has its own kernel network device driver, even though Phonet can also interact with a TUN device. As such, the PPP-only modems are hopeless. Then why bother rewriting a custom PPP implementation that will be suboptimal in any case?
oFono PPP is just as non-performant as pppd in case the user-space AT MUX is used. And it seems worse in case the kernel AT MUX or a raw TTY is used (pppd has kernel path then).
So I must be missing something.
Signature · 3 lines
Rémi Denis-Courmont http://www.remlab.net http://fi.linkedin.com/in/remidenis
Hi Remi,
Quoted 14 lines
Quoted 2 lines
for a mobile telephony stack, pppd is wrong. Once you understand how 3G missuses PPP for IP and PDP context setup, you see what I mean ;)
For mobile telephony, PPP as a _protocol_ is wrong - sure. That being stated, I don't see how pppd as a _software_ is better or worse than any other PPP implementation.
Considering the high bandwidth involved in high HSPA categories, and soon LTE networks, going through user space seems like a bad idea. That's why Phonet GPRS has its own kernel network device driver, even though Phonet can also interact with a TUN device. As such, the PPP-only modems are hopeless. Then why bother rewriting a custom PPP implementation that will be suboptimal in any case?
Quoted 3 lines
oFono PPP is just as non-performant as pppd in case the user-space AT MUX is used. And it seems worse in case the kernel AT MUX or a raw TTY is used (pppd has kernel path then).
this is not about performance. It is about actually being able to control the PPP link from oFono (or any other telephony stack for that matter). With pppd you have no control points. It either works or you are in deep sh*t.
Regards
Marcel
Hi Marcel,
Quoted 8 lines
Quoted 5 lines
I have a little question just as the title said?
In Ofono how to connect PPP to Linux socket, when we receive packet from network, how the packet go through the kernel to application?modem -->PPP-->? --> linux kernel(network part)--> socket --> application?
it is more like this:
Quoted 7 lines
modem -> TTY -> PPP -> TUN/TAP -> Kernel Net-Stack -> socket -> application.
With the TTY being in kernel, the PPP being in userspace, and TUN/TAP etc. begin in the kernel again.
A future enhancement is to use the kernel PPP layer, but we haven't gotten there yet.
I got it, thanks
B.R
Steven
---------------------------------------------------------------------------------------------------
Confidentiality Notice: The information contained in this e-mail and any accompanying attachment(s) is intended only for the use of the intended recipient and may be confidential and/or privileged of Neusoft Corporation, its subsidiaries and/or its affiliates. If any reader of this communication is not the intended recipient, unauthorized use, forwarding, printing, storing, disclosure or copying is strictly prohibited, and may be unlawful.If you have received this communication in error,please immediately notify the sender by return e-mail, and delete the original message and all copies from your system. Thank you.
---------------------------------------------------------------------------------------------------