Skip to content

Commit fced3a6

Browse files
committed
doc: update discovery document
Signed-off-by: Joachim Wiberg <[email protected]>
1 parent b98a015 commit fced3a6

File tree

1 file changed

+72
-35
lines changed

1 file changed

+72
-35
lines changed

doc/discovery.md

Lines changed: 72 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ admin@fe80::ff:fec0:ffed%tap0's password: admin
3939
admin@infix-c0-ff-ee:~$
4040
```
4141

42+
4243
## Discovery mechanisms available in Infix
4344

4445
Infix advertises its presence via the [mDNS](#mdns) and [LLDP](#lldp)
@@ -47,9 +48,10 @@ discovery protocols.
4748

4849
### LLDP
4950

50-
Infix supports LLDP (IEEE 802.1AB). For a unit with factory default
51-
settings, the PC can readout the link-local IPv6 address from the
51+
Infix supports LLDP (IEEE 802.1AB). For a unit with factory default
52+
settings, the PC can read out the link-local IPv6 address from the
5253
Management Address TLV using *tcpdump* or other sniffing tools[^1].
54+
5355
```
5456
linux-pc:# tcpdump -i tap0 -Qin -v ether proto 0x88cc
5557
tcpdump: listening on tap0, link-type EN10MB (Ethernet), snapshot length 262144 bytes
@@ -86,8 +88,9 @@ linux-pc:#
8688
If the unit has an IPv4 address assigned, it is shown in an additional
8789
Management Address TLV.
8890

89-
> **Note** The Management Addresses shown by LLDP are not
90-
> necessarily associated with the port transmitting the LLDP message.
91+
> [!NOTE]
92+
> The Management Addresses shown by LLDP are not necessarily associated
93+
> with the port transmitting the LLDP message.
9194
9295
In the example below, the IPv4 address (10.0.1.1) happens to be
9396
assigned to *eth0*, while the IPv6 address (2001:db8::1) is not.
@@ -130,10 +133,6 @@ tcpdump: listening on tap0, link-type EN10MB (Ethernet), snapshot length 262144
130133
linux-pc:#
131134
```
132135

133-
[^1]: [lldpd: implementation of IEEE 802.1ab
134-
(LLDP)](https://github.com/lldp/lldpd) includes *lldpcli*, which
135-
is handy to sniff and display LLDP packets.
136-
137136
The LLDP service can be disabled using the following commands.
138137

139138
```
@@ -143,13 +142,39 @@ admin@infix-c0-ff-ee:/config/> leave
143142
admin@infix-c0-ff-ee:/>
144143
```
145144

146-
### mDNS
147145

148-
DNS-SD/mDNS can be used to discover Infix units and services. Infix
149-
units present their IP addresses, services and hostname within the
150-
.local domain. This method has good client support in Apple and Linux
151-
systems. On Linux, tools such as *avahi-browse* or *mdns-scan*[^2] can
152-
be used to search for devices advertising their services via mDNS.
146+
### mDNS-SD
147+
148+
DNS-SD/mDNS-SD can be used to discover Infix devices and services. By
149+
default, Infix use the `.local` domain for advertising services. Some
150+
networks use `.lan` instead, so this configurable:
151+
152+
```
153+
admin@infix-c0-ff-ee:/> configure
154+
admin@infix-c0-ff-ee:/config/> edit mdns
155+
admin@infix-c0-ff-ee:/config/mdns/> set domain lan
156+
```
157+
158+
Other available settings include limiting the interfaces mDNS responder
159+
acts on:
160+
161+
```
162+
admin@infix-c0-ff-ee:/config/> set interfaces allow e1
163+
```
164+
165+
or
166+
167+
```
168+
admin@infix-c0-ff-ee:/config/> set interfaces deny wan
169+
```
170+
171+
The `allow` and `deny` settings are complementary, `deny` always wins.
172+
173+
----
174+
175+
mDNS-SD has good client support in Windows, macOS and on Linux systems.
176+
In the latter, tools such as *avahi-browse* or *mdns-scan*[^2] can be
177+
used to search for devices advertising their services via mDNS.
153178

154179
```
155180
linux-pc:# avahi-browse -ar
@@ -181,9 +206,15 @@ linux-pc:# avahi-browse -ar
181206
linux-pc:#
182207
```
183208

209+
> [!TIP]
210+
> The `-t` option is also very useful, it stops browsing automatically
211+
> when a "more or less complete list" has been printed. However, some
212+
> devices on the LAN may be in deep sleep so run the command again if
213+
> you cannot find the device you are looking for.
214+
184215
Additionally, *avahi-resolve-host-name* can be used to verify domain
185-
name mappings for IP addresses. By default, it translates from IPv4
186-
addresses. This function allows users to confirm that addresses are
216+
name mappings for IP addresses. By default, it translates from IPv4
217+
addresses. This function allows users to confirm that addresses are
187218
mapped correctly.
188219

189220
```
@@ -219,6 +250,7 @@ linux-pc:#
219250
```
220251

221252
To disable mDNS/mDNS-SD, type the commands:
253+
222254
```
223255
admin@infix-c0-ff-ee:/> configure
224256
admin@infix-c0-ff-ee:/config/> no mdns
@@ -227,12 +259,12 @@ admin@infix-c0-ff-ee:/config/> leave
227259

228260
#### Human-Friendly Hostname Alias
229261

230-
Each Infix unit will advertise itself as *infix.local*, in addition to
231-
its full hostname (e.g., *infix-c0-ff-ee.local* or *foo.local*). This
232-
alias works seamlessly on a network with a single Infix device, and
233-
makes it easy to connect when the exact hostname is not known in
234-
advance. The examples below show how the alias can be used for
235-
actions such as pinging or establishing an SSH connection:
262+
Each Infix deviuce advertise itself as *infix.local*, in addition to its
263+
full hostname (e.g., *infix-c0-ff-ee.local* or *foo.local*). This alias
264+
works seamlessly on a network with a single Infix device, and makes it
265+
easy to connect when the exact hostname is not known in advance. The
266+
examples below show how the alias can be used for actions such as
267+
pinging or establishing an SSH connection:
236268

237269
```
238270
linux-pc:# ping infix.local -c 3
@@ -254,37 +286,42 @@ linux-pc:# ssh [email protected]
254286
255287
Run the command 'cli' for interactive OAM
256288
257-
linux-pc:#
289+
admin@infix-c0-ff-ee:~$
258290
```
259291

260292
When multiple Infix devices are present on the LAN the alias will not
261293
uniquely identify a device; *infix.local* will refer to any of the
262294
Infix devices, likely the one that first appeared.
263295

264-
> When multiple Infix units are present, use the full hostname (e.g.,
265-
> *infix-c0-ff-ee.local* or *foo.local*) rather than the alias
266-
> infix.local to deterministically connect to a unit.
296+
> [!NOTE]
297+
> When multiple Infix devices are present on the LAN, use the full name,
298+
> e.g., *infix-c0-ff-ee.local* or *foo.local* rather than the alias
299+
> *infix.local* to deterministically connect to the device.
267300
268301

269-
#### Netbrowse service to find all your devices
302+
#### Netbrowse using *network.local*
270303

271-
Another mDNS alias that all Infix devices can advertise is
272-
*network.local*. This is a web service which basically runs avahi-browse
273-
and displays a table of other Infix devices and their services.
304+
Another mDNS alias that all Infix devices advertise is *network.local*.
305+
This is a web service which basically runs `avahi-browse` and displays a
306+
table of other Infix devices and their services.
274307

275308
![Netbrowse Service - network.local](img/network-local.png)
276309

277-
With multiple Infix devices on the LAN, one will be your portal to
278-
access all others, if it goes down another will take its place.
310+
With multiple Infix devices on the LAN, one will take the role of your
311+
portal to access all others, if it goes down another takes its place.
312+
313+
To disable the netbrowse service, and the *network.local* alias, the
314+
following commands can be used:
279315

280-
To disable the netbrowse service, the following commands can be used:
281316
```
282317
admin@infix-c0-ff-ee:/> configure
283318
admin@infix-c0-ff-ee:/config/> edit web
284319
admin@infix-c0-ff-ee:/config/web/> no netbrowse
285320
admin@infix-c0-ff-ee:/config/web/> leave
286321
```
287322

323+
324+
[^1]: E.g., [lldpd](https://github.com/lldp/lldpd) which includes the
325+
*lldpcli* too, handy to sniff and display LLDP packets.
288326
[^2]: [mdns-scan](http://0pointer.de/lennart/projects/mdns-scan/): a
289-
tool for scanning for mDNS/DNS-SD published services on the local
290-
network
327+
tool for scanning for mDNS/DNS-SD services on the local network.

0 commit comments

Comments
 (0)