LES(8)
β¨ LES(8) β the LAN Emulation service demons, explained by your fave β¨
okay bestie, pull up a chair π this is the les and bus manual page, from the Maintenance Commands corner of the Linux manpages. Two little ATM LAN Emulation service demons, living their best life. Let's get into it.
π NAME π
les, bus β ATM LAN Emulation service demons
no cap, they're literally called demons. iconic.
π¦ SYNOPSIS π¦
les [-d module] [-m module] [-f configuration_file]
bus [-d module] [-m module] [-f configuration_file]
πΈ DESCRIPTION πΈ
The LE Service is made up of three components, and the way they run the whole operation is lowkey a girl group:
- LAN Emulation Configuration Server β that's
lecs(8) - LAN Emulation Server β that's
les - Broadcast and Unknown Server β that's
bus
π
so what does les actually do
les is the one running the control coordination function for the emulated LAN. Main character energy, honestly.
LE clients register MAC addresses and/or route descriptors that they represent over to les, and then later they query it when they wanna resolve MAC addresses / route descriptors into ATM addresses. And any other LE control messages that need to get distributed to every client in the ELAN also get sent to les too. les then forwards those messages using the Control Distribute VCC that it has set up to every client in the ELAN. she's got connections everywhere, periodt.
π and bus?
bus handles the data that clients send to broadcast and multicast MAC addresses, plus some of the data that's directed at unicast addresses. Here's the tea: an LE Client has the possibility to send data directed to some unicast address to the bus before the target's ATM address has been resolved and the Data Direct VCC has been established. so like, sending it before you even know where it's going. brave. π«Ά
π§ configuration file example for les and bus
[main]
memdebug=True
debug=True
[load]
#memdebug=True
#debug=True
[conn]
debug=True
#S1, LE Server's ATM address
#S1=:47:00:23:00:00:00:03:00:00:01:00:02:01:00:20:ea:00:05:aa:00
S1=:47:00:23:00:00:00:03:03:00:01:00:02:01:00:20:ea:00:0a:e9:01
#S2, LAN Type
S2="802.3"
#S3, Maximum Frame Size
S3=1516
#S4, Join Timeout, s
S4=15
#S5, Maximum Frame Age, s
S5=6
#S6, BUS Atm address
S6=:47:00:23:00:00:00:03:03:00:01:00:02:01:00:20:ea:00:0a:e9:02 #viulu
#S6=0,0,170
#ELANNAME="asdf"
β how the config file works
The configuration file has each module's name in brackets, followed by the variable definitions for that module. The definitions are in the form variable=value, and that value can be any of:
- an integer
- a truth value (
True/False) - a string enclosed in double quotes (
"string") - an ATM address in hexadecimal format
The variables you can set are the debug/memdebug for each module, plus variables S1-S6 as defined in the LE specification. let's break them down:
S1= Address of the LES. This address is used in ATM signalling.S2= Type of the emulated LAN. Valid values is"802.3".S3= Maximum frame size. Valid value is1516.S4= Join Timeout. Time in seconds which LES waits forLE_JOIN_REQUESTbefore tearing down a connection.S5= Maximum frame Age. Currently not used.S6= Address of the BUS. This address is used in ATM signalling.ELANNAME= Name of the emulated LAN
π signals, aka the mood ring of the server
SIGHUPβ causes restart of the server. All resources are released and the server is started. fresh start bestie πSIGUSR1β causes the server to dump its internal state. journaling! we love self-reflection β¨SIGUSR2β shuts down the server, (hopefully) gracefully. key word hopefully π
π OPTIONS π
-dmodule β Sets debugging messages on for a module."All"sets debugging on for all modules.-mmodule β Sets memory debugging messages on for a module."All"sets debugging on for all modules.-fconfiguration_file β Use the specified configuration file instead of.lanevars.
π FILES π
.lanevarsβ configuration file
π BUGS π
ngl, this is the part where it gets real:
- The servers don't establish point-to-multipoint connections to LE clients as the specification states, which means that some LE clients won't work with these servers. π
- Supports only IEEE 802.3 / Ethernet type of ELANs.
- This manual page is confusing.
okay the last one is so honest of them, we have to respect it π
π AUTHOR π
Marko Kiiskila, TUT <carnil@cs.tut.fi>
π SEE ALSO π
lecs(8), atmsigd(8), zeppelin(8)
and that's the whole page, bestie!! this one came from the Linux manpages, dated Sep 11, 1996 β so it's giving vintage, it's giving retro tech, and it's still out here doing its thing. mwah π β¨
π¦ where this page comes from
- arch rolling: linux-atm 2.5.2-9 Β· GPL-2.0-only
- debian bookworm: atm-tools 1:2.5.1-4+b2
- debian trixie: atm-tools 1:2.5.1-7
- fedora 43: linux-atm 2.5.1-45.fc43 Β· GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.0-or-later
- fedora 44: linux-atm 2.5.1-46.fc44 Β· GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.0-or-later
- opensuse-leap 16.0: linux-atm 2.5.2-160000.3.2 Β· BSD-3-Clause AND GPL-2.0-or-later AND LGPL-2.1-or-later
- opensuse-leap 16.0: linux-atm 2.5.2-160000.3.2 Β· BSD-3-Clause AND GPL-2.0-or-later AND LGPL-2.1-or-later
- opensuse-leap 16.0: linux-atm 2.5.2-160000.3.2 Β· BSD-3-Clause AND GPL-2.0-or-later AND LGPL-2.1-or-later
- opensuse-leap 16.0: linux-atm 2.5.2-160000.3.2 Β· BSD-3-Clause AND GPL-2.0-or-later AND LGPL-2.1-or-later
- ubuntu jammy: atm-tools 1:2.5.1-4build2
- ubuntu noble: atm-tools 1:2.5.1-5.1build1
- ubuntu resolute: atm-tools 1:2.5.1-9
- ubuntu stonking: atm-tools 1:2.5.1-9
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms