[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [lwip-users] IP forwarding to/from PPP working for one netif, but no
From: |
Sylvain Rochet |
Subject: |
Re: [lwip-users] IP forwarding to/from PPP working for one netif, but not another |
Date: |
Thu, 30 Jan 2020 22:02:49 +0100 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
Hi Simon,
On Thu, Jan 30, 2020 at 09:31:11PM +0100, address@hidden wrote:
> Am 30.01.2020 um 20:42 schrieb Sylvain Rochet:
> > On Wed, Jan 29, 2020 at 08:15:11PM -0800, Andrew Pullin wrote:
> > >
> > > Host2:
> > > - Micontroller device, ESP32
> > > - has both WiFi and Ethernet PHY hardware (IP101GRI Ethernet PHY),
> > > used
> > >mutually exclusively
> > > - Running lwIP
> > > - WiFi and Ethernet are independently verified to work to reach WAN
> > > from
> > >this host
> > > - PPPoS server
> > > - ppp0 : 10.0.0.1/32
> > > - IP for server and client are hard-coded in
> > > - I believe it is /32, as the netmask is reported as
> > > 255.255.255.255
> > > - When running w/ WiFi:
> > > - wlan0 : ip 10.0.200.136/16 (IP and /16 from DHCP server)
> > > - When running w/ Ethernet:
> > > - eth0 : ip 10.0.200.113/16 (IP and /16 from DHCP server)
>
> One odd thing I find here is that lwIP does not support 2 interfaces in
> the same subnet. So you would have to take care that only one netif at a
> time has its link set up (or its address set or its administrative
> status up, or whatever). In any case, having both wlan0 and eth0 up and
> running with an address in the same subnet will result in packets being
> accepted on both netifs but transmitted on whichever was registered last
> (or was it first?).
I assumed that both were not active at the same time, good catch, this
might be an issue as well.
> > This is not "connection sharing", this is IP routing, not NAT !,
> > "connection sharing" is usually used for hosts that do SNAT on their
> > Interface facing Internet.
> >
> > IP routing needs a complete routing table on all hosts telling how to
> > reach (i.e. which next-hop to use) every host of the whole network.
> >
> > Example with 2 subnets and 3 Hosts:
> >
> > A-eth0 --------------------- eth0-B-eth1 --------------------- eth0-C
> > 192.168.0.1/24 192.168.0.2/24 172.16.1.1/24 172.16.1.2/24
> >
> > Host A routing table:
> > 192.168.0.0/24 dev eth0
> > 172.16.1.0/24 via 192.168.0.2
> >
> > Host B routing table:
> > 192.168.0.0/24 dev eth0
> > 172.16.1.0/24 dev eth1
> >
> > Host C routing table:
> > 192.168.0.0/24 via 172.16.1.1
> > 172.16.1.0/24 dev eth0
> >
> > dev = directly connected
> > via = next-hop, gateway if you prefer
> >
> > What you could see is that each host have a similar routing table, just
> > the next-hop changes. Default route is just a way to reduce the routing
> > table size by removing all entries that have an identical next-hop.
>
> Which brings me to a question: how do we define such routing rules in
> lwIP? Hmm...
I'm surprised by the question :-) In lwIP, "dev" rules don't need to be
added, the ip4_route function "create" them dynamically using the
interface address/netmask.
But thanks you for asking that because there is a huuuuuge issue about
that with the aforementioned case. Since "dev" rules are not ordered
because we just foreach on interfaces list until a match, we don't
respect that smaller subnets should be checked and matched first. So if
an IP subnet is within the IP subnet of another interface, although
perfectly legal configuration but *bad* design, it does not work in
lwIP. In lwIP it actually depends on the order interfaces were added :-)
For "via" routes, we have LWIP_HOOK_IP4_ROUTE.
Sylvain
signature.asc
Description: Digital signature
- [lwip-users] IP forwarding to/from PPP working for one netif, but not another, Andrew Pullin, 2020/01/28
- Re: [lwip-users] IP forwarding to/from PPP working for one netif, but not another, Sylvain Rochet, 2020/01/29
- Re: [lwip-users] IP forwarding to/from PPP working for one netif, but not another, Andrew Pullin, 2020/01/29
- Re: [lwip-users] IP forwarding to/from PPP working for one netif, but not another, Jens Nielsen, 2020/01/30
- Re: [lwip-users] IP forwarding to/from PPP working for one netif, but not another, Sylvain Rochet, 2020/01/30
- Re: [lwip-users] IP forwarding to/from PPP working for one netif, but not another, address@hidden, 2020/01/30
- Re: [lwip-users] IP forwarding to/from PPP working for one netif, but not another,
Sylvain Rochet <=
- Re: [lwip-users] IP forwarding to/from PPP working for one netif, but not another, address@hidden, 2020/01/30
- Re: [lwip-users] IP forwarding to/from PPP working for one netif, but not another, Sylvain Rochet, 2020/01/31
- Re: [lwip-users] IP forwarding to/from PPP working for one netif, but not another, Andrew Pullin, 2020/01/31
- Re: [lwip-users] IP forwarding to/from PPP working for one netif, but not another, Sylvain Rochet, 2020/01/31