lwip-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lwip-users] LCP fails to negotiate options continuously after many


From: Andrew Westberg
Subject: Re: [lwip-users] LCP fails to negotiate options continuously after many previous successes
Date: Sun, 18 May 2014 07:36:06 -0400

It's been running for over 15 hours on ppp_new without issue. I'd say the issue is solved. 

There may still be a bug in ppp.c with these two lines around 1762 if the platform isn't/can't support packed structs.

              *(payload++) = pcrx->in_protocol >> 8;
              *(payload) = pcrx->in_protocol & 0xFF;

In the old ppp, these fields are set by fields after first casting to a header struct so packed or not makes no difference.

Thanks for all your help!

- Andrew Westberg


On Sat, May 17, 2014 at 2:41 PM, Andrew Westberg <address@hidden> wrote:
I've solved it. It looks like I had my cc.h file incorrect for packed structures.

I modified it from this:

#define PACK_STRUCT_BEGIN
#define PACK_STRUCT_STRUCT
#define PACK_STRUCT_END
#define PACK_STRUCT_FIELD(x) x

to this:

#define PACK_STRUCT_BEGIN
#define PACK_STRUCT_STRUCT __attribute__((packed))
#define PACK_STRUCT_END
#define PACK_STRUCT_FIELD(x) x

I'm going to do another long-running test to see if the ppp_new branch doesn't have the same issues as master.

- Andrew Westberg


On Sat, May 17, 2014 at 10:59 AM, Andrew Westberg <address@hidden> wrote:
No, ppp_set_default() was what I was missing originally, but once I did set that, the exception started happening. It's occurring in 

ip4.c around line 377 (my line numbers may be a bit off as I might have added some extra debugging code)

 ip_addr_copy(*ipX_2_ip(&ip_data.current_iphdr_dest), iphdr->dest);

There is some issue with iphdr->dest as if the memory isn't valid or has already been free'd or something.



- Andrew Westberg


On Sat, May 17, 2014 at 6:09 AM, Sylvain Rochet <address@hidden> wrote:
Hello Andrew,

On Fri, May 16, 2014 at 11:57:51PM -0400, Andrew Westberg wrote:
> I'm using the savannah git repository, not github as I stated earlier. I've
> spent all afternoon and evening trying to get the new_ppp branch to work.
> It wouldn't ever get the default netif in order to make a DNS query. It
> looks like the default netif is not set in ipcp_up, so I tried adding that.
> Unfortunately, that seems to cause an exception somewhere that's nearly
> impossible to trace down.

Maybe you missed that:

/*
 * Set a PPP interface as the default network interface
 * (used to output all packets for which no specific route is found).
 */
void ppp_set_default(ppp_pcb *pcb);

Sylvain

_______________________________________________
lwip-users mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/lwip-users




reply via email to

[Prev in Thread] Current Thread [Next in Thread]