SRT(4)

πŸ“¦ version 11.0, in nixpkgs unstable

πŸ’… SRT(4) β€” source-routing network interface πŸ’…

okay bestie, welcome to the Kernel Interfaces Manual page for srt β€” yes, the manual name is folded right up in here, we’re doing this cute and complete. ✨

✨ NAME ✨

srt β€” source-routing network interface. name drop complete, no cap. πŸ’–

πŸ¦‹ SYNOPSIS πŸ¦‹

pseudo-device srt

πŸ’– DESCRIPTION πŸ’–

okay so the srt interface is a software interface that implements source-address-based routing. Packets get directed to the srt interface using the normal routing decision process. Then, packets queued for delivery are processed according to the rules established for the interface using the srtconfig(1) utility. periodt. 🫢

To use an srt device, the administrator must first create the interface. This can be done by using the ifconfig(8) create command. An open(2) call on /dev/srtN will also create a network interface with a unit number the same as the minor device number of that device if the interface doesn't exist yet. iconic behavior, honestly. ✨

To be useful, the srt interface needs to be configured using srtconfig(1) which uses the associated srt character device /dev/srt#. iykyk. πŸ’…

The network interfaces should be named srt0, srt1, etc. The srt interface supports only the open(2), close(2), and ioctl(2) operations; other operations such as read(2) and write(2) are not supported.

🚨 bestie, heads up: read(2) and write(2) are literally not supported here. the srt interface only does open(2), close(2), and ioctl(2). do not come for it with read/write energy. πŸ’€

All standard network interface ioctl(2) calls are supported by the srt interface. In addition, the following ioctl(2) calls (defined in ⟨net/if_srt.h⟩) are supported on the srt character device:

πŸŽ€ the extra ioctl(2) calls πŸŽ€

  • SRT_GETNRT β€” The argument is a pointer to an integer, in which the number of entries in the device's routing table is returned. lowkey just β€œhow many routes are in there?” vibes. πŸ¦‹
  • SRT_GETRT β€” The argument is the address of a struct srt_rt. The routing table entry specified by the β€œinx” member is returned.
  • SRT_SETRT β€” The argument is the address of a struct srt_rt. The routing entry is placed into the device's routing table at the index specified by the β€œinx” member. slay, it’s routed into place. πŸ’…
  • SRT_DELRT β€” The argument is the address of a struct srt_rt. The routing entry specified by the β€œinx” member is deleted from the device's routing table. (Any entries in the device's routing table with higher index values are renumbered.) the way that renumbering happens is giving cleanup main character energy. 🧹✨
  • SRT_SFLAGS β€” The argument is a pointer to an integer containing any of the following flags to be set:
    • SSF_MTULOCK β€” If set, do not automatically update the interface's MTU.
  • SRT_GFLAGS β€” The argument is a pointer to an integer in which the current flags are returned. vibe check: flags acquired. 🌈
  • SRT_SGFLAGS β€” This call updates the flags in the same manner as SRT_SFLAGS. The original flags are returned in the integer pointed to by the argument.
  • SRT_DEBUG β€” Currently this is a no-op. not me expecting debug output and getting literally nothing. πŸ’€

πŸ‘‘ SEE ALSO πŸ‘‘

srtconfig(1), inet(4), intro(4) β€” go read the friends, fr fr. πŸ“šπŸ’–

🌸 HISTORY 🌸

The srt device was added in NetBSD 5.0 by der Mouse <mouse@NetBSD.org>. This manual page was prepared by Paul Goyette <pgoyette@NetBSD.org>. iconic contributions, honestly. πŸ‘‘


source/version: Debian Β· date: March 27, 2019 Β· manual: SRT(4) β€” bye bestie, mwah πŸ’‹πŸŽ€

πŸ“¦ where this page comes from