PPP, PPPoS, TCPIP: add packet input path for point to point interfaces (only PPPoS for now) through the TCPIP API

!NO_SYS users may now use as well the TCPIP API for PPPoS input data,
this way they can disable PPP_INPROC_MULTITHREADED and run pppos_input()
inside the lwIP thread, which fixes, at least for them, all the
threading issues related to PPP_INPROC_MULTITHREADED.
This commit is contained in:
Sylvain Rochet
2015-03-11 00:58:09 +01:00
parent 636ff411f1
commit 9778b1411c
2 changed files with 26 additions and 0 deletions

View File

@@ -114,6 +114,13 @@ tcpip_thread(void *arg)
ethernet_input(msg->msg.inp.p, msg->msg.inp.netif);
} else
#endif /* LWIP_ETHERNET */
#if PPPOS_SUPPORT
/* FIXME: can be generalized to all point to point interfaces */
if ((msg->msg.inp.netif->flags & NETIF_FLAG_BROADCAST) == 0
&& msg->msg.inp.netif->input) {
msg->msg.inp.netif->input(msg->msg.inp.p, msg->msg.inp.netif);
} else
#endif /* PPPOS_SUPPORT */
#if LWIP_IPV6
if (((*(u8_t*)(msg->msg.inp.p->payload)) & 0xf0) == 0x60) {
ip6_input(msg->msg.inp.p, msg->msg.inp.netif);