NG_RFC1490(4)

πŸ’– NG_RFC1490 β€” the RFC 1490 netgraph node type, bestie edition πŸ’–

okay so real quick, this is the manual page for ng_rfc1490(4) from the Kernel Interfaces Manual, and honestly? she's giving protocol-encapsulation royalty πŸ‘‘. let's get into it.


✨ NAME ✨

ng_rfc1490 β€” the RFC 1490 netgraph node type πŸ¦‹


✨ SYNOPSIS ✨

#include <netgraph/ng_rfc1490.h>

✨ DESCRIPTION ✨

so the rfc1490 node type does protocol encapsulation, de-encapsulation, and multiplexing according to RFC 1490 β€” which, heads up bestie, has since been updated by RFC 2427 πŸ“œ. this particular flavor of encapsulation is often used on top of frame relay DLCI channels.

the downstream hook is the one that transmits and receives the encapsulated frames. on the other side of the node, the inet and ppp hooks handle raw IP frames and PPP frames respectively. PPP frames go in and out according to RFC 1973 β€” and important detail, frames showing up on the ppp hook begin with the PPP protocol number. the ethernet hook is there for transmitting and receiving Ethernet frames (no checksum, we're built different) in RFC 1490's bridging format 🌈.

typically the inet hook gets connected to the inet hook of an ng_iface(4) node. it's giving soulmates 🫢.


🌸 HOOKS 🌸

this node type supports the following hooks:

  • 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 the following:

  • 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 it has to be one of the following supported encapsulation modes:
    • "ietf-ip" β€” IP packets are sent using simple RFC1490/2427 encapsulation.
    • "ietf-snap" β€” IP packets are sent inside SNAP frames. also conforms to RFC1490/2427.
    • "cisco" β€” IP packets are sent and received using proprietary Cisco encapsulation method.
  • NGM_RFC1490_GET_ENCAP (getencap) β€” this command returns the current encapsulation method on the node.

πŸ’€ SHUTDOWN πŸ’€

this node shuts down when it receives a NGM_SHUTDOWN control message, or when all hooks have been disconnected. it's the netgraph equivalent of everyone leaving the group chat 😭.


πŸ”₯ SEE ALSO πŸ”₯


⭐ HISTORY ⭐

the ng_rfc1490 node type was implemented in FreeBSD 4.0. vintage, iconic, we love her πŸ’œ.


πŸŽ€ AUTHORS πŸŽ€

Julian Elischer <julian@FreeBSD.org> β€” thank you for your service, king 🫑✨


πŸ™ˆ BUGS πŸ™ˆ

not all of RFC 1490 is implemented. yeah. that's it. that's the whole bug list. lowkey relatable ngl πŸ’€.


and that's the whole page bestie! go forth and encapsulate responsibly, no cap 🧚

this one's from the Debian manual collection, dated January 19, 1999 β€” yeah she's an elder but she ate and left no crumbs πŸ’…πŸŒΈ

πŸ“¦ where this page comes from