> So my next question is ‘what is External and what is Internal?’

  - External: connected to the ISP's (non-Homenet) router.

  - Internal: interior link within your Homenet, connected to other
    Homenet routers and to (unmodified) hosts.

Here's a possible topology, where interfaces are marked "e" for External
and umarked for Internal.  A, B, C and D are Homenet routers, "+" are
(layer 2) switches.

                    B -- Host
                    |
                    |
            e       |       e
  ISP A ----- A ----+---- D ----- ISP B
                \       /
                 \     /
                  \   /--Host
                    C
                    |
                    |
            Host ---+--- Host

On an Internal link, we speak HNCP and Babel.  On an External link, we
speak neither HNCP nor Babel.

(The OpenWRT implementation additionally sets static routing, NAT and
firewall rules on External links, but shncpd doesn't.)

> How is this topolgical aspect identified and the ‘shared, agreed
> topology’ communicated between routing entities

The difference between External and Internal is defined statically -- the
expectation is that you have a dedicated Ethernet port to your ISP, which
is statically configured as External.  A useful mental model is that of
a router with one Ethernet port marked Wan being External, and four
Ethernet ports marked LAN being Internal.

(The OpenWRT implementation has the ability to automatically detect
External ports, but it relies on acting as a DHCPv6-PD and DHCPv4 client,
so it's not implemented in shncpd yet.)

> Or is it expected that the user nominates the topology and it’s static?

HNCP and Babel only run on Internal ports, so only the Internal topology
is detected automatically.  You can add and remove Internal cables at
will, and this will be detected within a few seconds, but you cannot
switch a port between Internal and External without reconfiguration.

> I think that I read in the homenet documentation that directed graph
> topologies are anticipated,

We don't require an acyclic graph (see figure above).  Arbitrary Internal
topologies are supported, and HNCP and Babel cooperate to do The Right Thing.

-- Juliusz

_______________________________________________
homenet mailing list
homenet@ietf.org
https://www.ietf.org/mailman/listinfo/homenet

Reply via email to