On 10/9/2018 8:24 PM, Bob Jones wrote:
Hello,
I'm trying to resolve an issue with regards to PPP and ARP requests.
My network topology is as follows,
Laptop (192.168.1.3, ethernet) <-> MCU #1 (192.168.1.4, ethernet) <->
MCU #1 (192.168.1.126, PPP serial [server]) <-> MCU #2 (192.168.1.127
PPP serial [client])
The issue I'm running into is that when I try to send a packet to MCU
#2 (192.168.1.127) from the laptop, the ARP request the laptop sends
is never satisfied. This makes sense to me, as the instance of lwip
running on MCU #1 can't respond to this ARP request as it doesn't
have MCU #2's IP address in its routing table (and shouldn't). In
this case, one solution is to add a static route to the laptop's
routing table to send all requests destined for 192.168.1.127 out of
the interface corresponding to 192.168.1.4. Voila, no ARP request for
192.168.1.127, no problem.
Unfortunately, however, our team is working with some antiquated
hardware in place of the "laptop" in the above example that doesn't
support adding static routes.
So, in doing some Googling around and reading of past posts on this
forum, it seems like layer 2 forwarding is one possible solution here
(MCU #1 would be responsible for this). I was thinking of using PPP
proxy arp support on MCU #1, but noticed that it was commented out of
the lwip ppp implementation in 2015 (commit hash 99bcce78...). The
commit message simply reads "PPP, IPCP, removed proxy ARP support".
Was curious to know if this is something that, if the surrounding
`#define`s were removed, would likely just work, or if there was some
underlying implementation issue that led to its removal. Also, any
other ideas about how this problem might be resolved otherwise, given
the constraints on network topology?
Hello Bob,
What version of LwIP are you using? What are your subnet masks on the
various devices?
Scenario #1:
The subnet mask includes all the devices in question (i.e.
192.168.1.0/24). In this case, MCU#1 will have to answer ARP requests
for MCU#2.
Scenario #2:
The subnets are truly broken up (i.e. ethernet is 192.168.1.0/22
and PPP is 192.168.1.64/22) and MCU#1 is acting as a router