PPP, fixed VJ compression/decompression output IP path

This commit is contained in:
Sylvain Rochet 2014-01-14 18:20:18 +01:00
parent bf37afd7c7
commit 357b28f675

View File

@ -729,8 +729,8 @@ void ppp_input(ppp_pcb *pcb, struct pbuf *pb) {
* Clip off the VJ header and prepend the rebuilt TCP/IP header and
* pass the result to IP.
*/
if ((vj_uncompress_tcp(&pb, &pcb->vj_comp) >= 0) && (pcb->netif.input)) {
pcb->netif.input(pb, &pcb->netif);
if (vj_uncompress_tcp(&pb, &pcb->vj_comp) >= 0) {
ip_input(pb, &pcb->netif);
return;
}
/* Something's wrong so drop it. */
@ -743,8 +743,8 @@ void ppp_input(ppp_pcb *pcb, struct pbuf *pb) {
* Process the TCP/IP header for VJ header compression and then pass
* the packet to IP.
*/
if ((vj_uncompress_uncomp(pb, &pcb->vj_comp) >= 0) && pcb->netif.input) {
pcb->netif.input(pb, &pcb->netif);
if (vj_uncompress_uncomp(pb, &pcb->vj_comp) >= 0) {
ip_input(pb, &pcb->netif);
return;
}
/* Something's wrong so drop it. */