NG_LMI(4)
π NG_LMI β frame relay LMI protocol netgraph node type π
okay bestie, pull up a chair because we're talking about ng_lmi(4) β it's a netgraph node type, and it lives in the Kernel Interfaces Manual, so you know it's main character energy in the kernel world. π«Ά
β¨ SYNOPSIS β¨
#include <sys/types.h>
#include <netgraph/ng_lmi.h>
that's it, that's the whole vibe. two includes. slay. π
πΈ DESCRIPTION πΈ
so the lmi node type does the frame relay LMI protocol. iconic behavior honestly.
it supports these LMI types:
- ITU Annex A
- ANSI Annex D
- Group-of-four
and also?? it supports auto-detection of the LMI type. the way that it just figures out what the switch is doing?? obsessed. π
To enable a specific LMI type, you connect the corresponding hook (annexA, annexD, or group4) to DLCI 0 or 1023 of a ng_frame_relay(4) node. Typically, Annex A and Annex D live on DLCI 0 while Group-of-four lives on DLCI 1023.
To enable LMI type auto-detection, connect the auto0 hook to DLCI 0 and the auto1023 hook to DLCI 1023. The node will attempt to automatically determine which LMI type is running at the switch, and go into that mode. bestie it literally detects. it's giving detective. πβ¨
Only one fixed LMI type, or auto-detection, can be active at any given time. pick a lane, babe. π
The NGM_LMI_GET_STATUS control message can be used at any time to query the current status of the LMI protocol and each DLCI channel. This node also supports the NGM_TEXT_STATUS control message.
π HOOKS π
This node type supports the following hooks:
annexAβ ITU Annex A LMI hook. πannexDβ ANSI Annex D LMI hook. πgroup4β Group-of-four LMI hook. πauto0β Auto-detection hook for DLCI 0. β¨auto1023β Auto-detection hook for DLCI 1023. β¨
five hooks, five little doorways into the node. vibe check: passed. π¦
π CONTROL MESSAGES π
This node type supports the generic control messages, plus the following:
NGM_LMI_GET_STATUSβ This command returns status information in astruct nglmistat:
#define NGM_LMI_STAT_ARYSIZE (1024/8)
struct nglmistat {
u_char proto[12]; /* Active proto (same as hook name) */
u_char hook[12]; /* Active hook */
u_char fixed; /* If set to fixed LMI mode */
u_char autod; /* If currently auto-detecting */
u_char seen[NGM_LMI_STAT_ARYSIZE]; /* DLCIs ever seen */
u_char up[NGM_LMI_STAT_ARYSIZE]; /* DLCIs currently up */
};
not me reading that struct like a love letter.proto,hook,fixed,autod,seen,upβ every field accounted for, no notes. π
NGM_TEXT_STATUSβ This generic message returns is a human-readable version of the node status.
(yeah, the original says "returns is" β we don't gatekeep typos here, we preserve them. periodt. π)
π SHUTDOWN π
This node shuts down upon receipt of a NGM_SHUTDOWN control message, or when all hooks have been disconnected.
so basically: either someone tells it to leave, or everyone abandons it. friendship breakup coded. π the node said "if all y'all gone, i'm gone too." iconic. π
π₯ SEE ALSO π₯
netgraph(4)ng_frame_relay(4)ngctl(8)- ANSI T1.617-1991 Annex D.
- ITU-T Q.933 Digital Subscriber Signaling System No. 1 - Signaling Specification for Frame Mode Basic Call Control, Annex A.
(the standards really said "let us introduce ourselves" and honestly? respected. π)
π¦ HISTORY π¦
The ng_lmi node type was implemented in FreeBSD 4.0. old money. vintage. classic. π
π« AUTHORS π«
Julian Elischer <julian@FreeBSD.org>
shoutout to Julian, fr fr. π«Ά
and that's the whole page, bestie β you ate this, go configure some frame relay β¨
this was the Debian edition of the ng_lmi(4) manual page, dated November 13, 2012 β mwah, take care of her, she's been around a minute. ππ
π¦ where this page comes from
- debian bookworm: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- debian trixie: freebsd-manpages 12.2-2 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu jammy: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu noble: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu questing: freebsd-manpages 12.2-2
- ubuntu resolute: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu stonking: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- Copyright (c) 1996-1999 Whistle Communications, Inc
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms