LES(8)
π LES(8) β the ATM LAN Emulation service demons, bestie edition β¨
okay so you opened the manpage for les and bus, two little ATM LAN Emulation service demons. this one's from the Maintenance Commands corner of the manual and ngl it's giving vintage 1996 realness, but we're gonna make it make sense. let's go π«Ά
πΈ NAME πΈ
les, bus β ATM LAN Emulation service demons. literally what it says on the tin.
β¨ SYNOPSIS β¨
les [-d module] [-m module] [-f configuration_file]
bus [-d module] [-m module] [-f configuration_file]
both of them take the exact same flags, so you only have to learn this once. slay.
π DESCRIPTION π
okay so the LE Service is a whole trio, a little friend group of daemons:
- LAN Emulation Configuration Server β that's
lecs(8) - LAN Emulation Server β that's
les - Broadcast and Unknown Server β that's
bus
π what les is actually doing
les runs the control coordination function for the emulated LAN. LE clients register the MAC addresses and/or route descriptors they represent with les, and then later they query it when they want to resolve MAC addresses/route descriptors into ATM addresses. it's the main character of address resolution, periodt.
other LE control messages that need to be distributed to every client in the ELAN also get sent to les, and les forwards them using the Control Distribute VCC which it has set up to every client in the ELAN. it's the group-chat admin broadcasting to everyone π
π¦ what bus is actually doing
bus handles data sent by clients to broadcast and multicast MAC addresses, plus some of the data directed to unicast addresses. why unicast? because an LE Client has the option to send data directed to some unicast address to bus before the target's ATM address has been resolved and the Data Direct VCC has been established. it's the "idk where they live yet so just drop it here" energy π
π§ the configuration file, ft. a full example
here's a configuration file example for les and bus, copied exactly because details matter:
[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"
so the config file contains each module's name in brackets, followed by variable definitions for that module. the definitions are of the form variable=value, where the value can be either:
- 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, and the variables S1-S6 as defined in the LE specification. here's the breakdown, no skipping:
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 how to talk to your daemon
SIGHUPcauses restart of the server. all resources are released and the server is started. it's giving "log out, log back in, fresh start" β¨SIGUSR1causes the server to dump its internal state. perfect for when you need the tea on what it's thinking.SIGUSR2shuts down the server (hopefully) gracefully. the "(hopefully)" is doing a lot of heavy lifting there, ngl π
π₯ OPTIONS π₯
-d moduleβ Set debugging messages on for a module."All"sets debugging on for all modules. everything, everywhere, all at once.-m moduleβ Set memory debugging messages on for a module."All"sets debugging on for all modules.-f configuration_fileβ Use the specified configuration file instead of.lanevars. your file, your rules.
π FILES π
.lanevarsβ configuration file. the default one, the og.
π BUGS π
okay bestie, sit down for this part:
- 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. not ideal, fr fr.
- Supports only IEEE 802.3 / Ethernet type of ELANs. that's the whole menu, no substitutions.
- This manual page is confusing. it SAID that. the manpage is self-aware. iconic honestly π
π AUTHOR π
Marko Kiiskila, TUT <carnil@cs.tut.fi>. thank you for your service π«Ά
π SEE ALSO π
lecs(8), atmsigd(8), zeppelin(8) β go read those too, iykyk.
and that's the whole page, bestie πΈ it's from the Linux manual, Sep 11, 1996, LES(8) β 1996 called and it wants its ATM LAN emulation back, but honestly the vibes are immaculate. you're welcome πβ¨π
π¦ where this page comes from
- arch rolling: linux-atm 2.5.2-9 Β· GPL-2.0-only
- 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
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms