PPP_STATS_SUPPORT

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

PPP_STATS_SUPPORT

Danish Ali
I have LWIP 2.1.2 running using PPPOS through a 4G modem.

I now want to route the PPPOS via CMUX mode so that I can receive SMS
messages while leaving the PPP link up.

Although this largely works, I find it less reliable than without the
CMUX wrapper, so I thought I might check if the PPP layer was rejecting
anything as garbled.

Looking through ppp.h and ppp.c it seems there is an option
PPP_STATS_SUPPORT which would collect statistics on the link. But if I
#define PPP_STATS_SUPPORT 1 in lwipopts.h then compilation fails in
ipcp.c with the error
 > netif/ppp/ipcp.c:2096:23: error: 'fsm' {aka 'struct fsm'} has no
member named 'unit'
 > netif/ppp/ipcp.c:2129:24: error: 'fsm' {aka 'struct fsm'} has no
member named 'unit'

The offending lines are
> #if PPP_STATS_SUPPORT
>     reset_link_stats(f->unit);
> #endif /* PPP_STATS_SUPPORT */

> #if PPP_STATS_SUPPORT
>     /* XXX a bit IPv4-centric here, we only need to get the stats
>      * before the interface is marked down. */
>     /* XXX more correct: we must get the stats before running the notifiers,
>      * at least for the radius plugin */
>     update_link_stats(f->unit);
> #endif /* PPP_STATS_SUPPORT */

Do you have any suggestions as to how I could either fix this or use an
alternative way to monitor the PPP process.

Thanks,
Danish

_______________________________________________
lwip-users mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/lwip-users
Reply | Threaded
Open this post in threaded view
|

Re: PPP_STATS_SUPPORT

Sylvain Rochet
Hi Danish,

On Thu, Feb 06, 2020 at 10:30:31AM +0000, Danish Ali wrote:

> I have LWIP 2.1.2 running using PPPOS through a 4G modem.
>
> I now want to route the PPPOS via CMUX mode so that I can receive SMS
> messages while leaving the PPP link up.
>
> Although this largely works, I find it less reliable than without the CMUX
> wrapper, so I thought I might check if the PPP layer was rejecting anything
> as garbled.
>
> Looking through ppp.h and ppp.c it seems there is an option
> PPP_STATS_SUPPORT which would collect statistics on the link. But if I
> #define PPP_STATS_SUPPORT 1 in lwipopts.h then compilation fails in ipcp.c
> with the error
> > netif/ppp/ipcp.c:2096:23: error: 'fsm' {aka 'struct fsm'} has no member
> named 'unit'
> > netif/ppp/ipcp.c:2129:24: error: 'fsm' {aka 'struct fsm'} has no member
> named 'unit'
>
> The offending lines are
> >#if PPP_STATS_SUPPORT
> >    reset_link_stats(f->unit);
> >#endif /* PPP_STATS_SUPPORT */
>
> >#if PPP_STATS_SUPPORT
> >    /* XXX a bit IPv4-centric here, we only need to get the stats
> >     * before the interface is marked down. */
> >    /* XXX more correct: we must get the stats before running the notifiers,
> >     * at least for the radius plugin */
> >    update_link_stats(f->unit);
> >#endif /* PPP_STATS_SUPPORT */
>
> Do you have any suggestions as to how I could either fix this or use an
> alternative way to monitor the PPP process.
PPP_STATS_SUPPORT is a leftover from pppd, it is not meant to be
enabled. Use LINK_STATS instead.

Best, enable PPP_DEBUG + PRINTPKT_SUPPORT (+ PPP_PROTOCOLNAME) and you
will get a trace with PPPoS input errors (FCS checks, ...).

Sylvain

_______________________________________________
lwip-users mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/lwip-users

signature.asc (188 bytes) Download Attachment