NG_RFC1490(4)
π NG_RFC1490(4) β bestie's guide to the rfc1490 netgraph node β¨
okay so this is page NG_RFC1490(4) from the Kernel Interfaces Manual, and today's main character is ng_rfc1490 β the RFC 1490 netgraph node type. buckle up π
πΈ NAME πΈ
ng_rfc1490 β the RFC 1490 netgraph node type, no cap π
β¨ SYNOPSIS β¨
#include <netgraph/ng_rfc1490.h>
literally just that one include and you're in, iykyk π¦
π DESCRIPTION π
so the rfc1490 node type does protocol encapsulation, de-encapsulation, and multiplexing according to RFC 1490 β which, btw, has since been updated by RFC 2427, so keep that in mind π. this particular type of encapsulation is often used on top of frame relay DLCI channels, and honestly it's giving very much "the layer underneath everything" energy.
the downstream hook is where you transmit and receive encapsulated frames. then, on the other side of the node, the inet and ppp hooks handle raw IP frames and PPP frames respectively β each one minding its own business π«Ά. PPP frames get transmitted and received according to RFC 1973; in particular, frames appearing on the ppp hook begin with the PPP protocol number π₯. and the ethernet hook can be used to transmit and receive Ethernet frames (without a checksum) in RFC 1490's bridging format β cute, no checksum, we love a low-effort baddie π
.
typically the inet hook is connected to the inet hook of an ng_iface(4) node. that's the classic combo, fr fr β
π¦ HOOKS π¦
this node type supports the following hooks, and yes, there's exactly four, I'm not skipping any:
downstreamβ connects to the RFC 1490 peer entity πethernetβ transmits and receives bridged raw Ethernet frames, without a checksum πinetβ transmits and receives raw IP frames πpppβ transmits and receives PPP frames β¨
π CONTROL MESSAGES π
this node type supports the generic control messages, plus these two icons π:
NGM_RFC1490_SET_ENCAP(setencap) β this command sets the encapsulation method for the node. the desired method must be passed as a string message argument, and must be one of the following supported encapsulation modes, bestie, no improvising:NGM_RFC1490_GET_ENCAP(getencap) β this command returns the current encapsulation method on the node. vibe check on your own config, we stan self-awareness β
π SHUTDOWN π
this node shuts down upon receipt of a NGM_SHUTDOWN control message, or when all hooks have been disconnected. so basically it ghosts you the moment everyone leaves the group chat π
π₯ SEE ALSO π₯
- netgraph(4)
- ng_frame_relay(4)
- ng_iface(4)
- ngctl(8)
- C. Brown and A. Malis, Multiprotocol Interconnect over Frame Relay, RFC 2427.
- W. Simpson, PPP in Frame Relay, RFC 1973.
http://www.cisco.com/warp/public/121/frf8modes.pdf
π HISTORY π
the ng_rfc1490 node type was implemented in FreeBSD 4.0. vintage! iconic! a true elder π
π«Ά AUTHORS π«Ά
Julian Elischer <julian@FreeBSD.org> β thank you for your service, king π
π BUGS π
not all of RFC 1490 is implemented. that's it, that's the bug. incomplete slay π
lowkey important reminder: this page comes to you from Debian, dated January 19, 1999 β so go forth, connect those hooks, and remember: the checksum on the ethernet hook? not there. never was. periodt πβ¨π
π¦ where this page comes from
- freebsd 14.5: base 14.5
- freebsd 15.1: base 15.1
- nixpkgs unstable: source
- Copyright (c) 1996-1999 Whistle Communications, Inc
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms