IP-FOU(8)
โจ NAME โจ
Hey bestie, this is the ip-fou page ๐ It covers two things: Foo-over-UDP receive port configuration and Generic UDP Encapsulation receive port configuration (that's the ip-gue part) ๐
๐ SYNOPSIS ๐
ip [ OPTIONS ] fou { COMMAND | help }
ip fou add port PORT { gue | ipproto PROTO } [ local IFADDR ] [ peer
IFADDR ] [ peer_port PORT ] [ dev IFNAME ]
ip fou del port PORT [ local IFADDR ] [ peer IFADDR ] [ peer_port PORT
] [ dev IFNAME ]
ip fou show
๐ฆ DESCRIPTION ๐ฆ
okay so the ip fou commands are how you create and delete receive ports for Foo-over-UDP (FOU) and also Generic UDP Encapsulation (GUE) ๐ธ
Foo-over-UDP lets you wrap packets of an IP protocol straight up inside UDP. The receiver figures out what protocol a packet is by looking at the FOU UDP port it came in on. Whatever protocol is configured for that port? That's the one it gets treated as ๐ง
Generic UDP Encapsulation (GUE) is a little different. It wraps packets of an IP protocol inside UDP and an encapsulation header. That header holds the IP protocol number of the packet inside, so it's giving extra info ๐
When you make a FOU or GUE receive port, you give it a port number with the PORT argument. If you're doing FOU, you also set the IP protocol number for that port with the PROTO argument โจ You can pin the port to a local address or interface too: use the IFADDR argument for an address, or the IFNAME argument for a device ๐ And if you want the port to be connected, you can set a peer address with peer IFADDR and a peer port with peer_port PORT ๐
To delete a FOU or GUE receive port, use the delete command with the PORT. You can also include the local address/interface or the peer address/port, if those were set ๐ซถ
๐ EXAMPLES ๐
๐ธ Configure a FOU receive port for GRE bound to 7777
# ip fou add port 7777 ipproto 47
๐ฆ Configure a FOU receive port for IPIP bound to 8888
# ip fou add port 8888 ipproto 4
๐ง Configure a GUE receive port bound to 9999
# ip fou add port 9999 gue
๐ Delete the GUE receive port bound to 9999
# ip fou del port 9999
๐ Configure a FOU receive port for GRE bound to 1.2.3.4:7777
# ip fou add port 7777 ipproto 47 local 1.2.3.4
๐ SEE ALSO ๐
ip(8) โจ
๐ AUTHOR ๐
Tom Herbert <therbert@google.com> ๐ซถ
๐ That's the whole tea, bestie! This page was IP-FOU(8) from iproute2, dated 2 Nov 2014 ๐ Go slay your receive ports ๐ โจ
๐ฆ where this page comes from
- alpine 3.22: iproute2-doc 6.15.0-r0 ยท GPL-2.0-or-later
- alpine 3.23: iproute2-doc 6.17.0-r0 ยท GPL-2.0-or-later
- alpine 3.24: iproute2-doc 7.0.0-r0 ยท GPL-2.0-or-later
- arch rolling: iproute2 7.2.0-1
- arch rolling: iproute2 7.3.0-1 ยท GPL-2.0-or-later
- centos-stream 10: iproute 7.0.0-2.el10 ยท GPL-2.0-or-later AND NIST-PD
- centos-stream 9: iproute 6.17.0-3.el9 ยท GPL-2.0-or-later AND NIST-PD
- debian bookworm: iproute2 6.1.0-3 ยท GPL-2.0-only
- debian trixie: iproute2 6.15.0-1 ยท GPL-2.0-only
- fedora 43: iproute 6.14.0-2.fc43 ยท GPL-2.0-or-later AND NIST-PD
- fedora 44: iproute 6.17.0-2.fc44 ยท GPL-2.0-or-later AND NIST-PD
- nixos 26.05: iproute2 7.0.0
- nixpkgs unstable: iproute2 7.2.0
- opensuse-leap 16.0: iproute2 6.12-160000.4.1 ยท GPL-2.0-only
- opensuse-leap 16.0: iproute2 6.12-160000.4.1 ยท GPL-2.0-only
- opensuse-leap 16.0: iproute2 6.12-160000.4.1 ยท GPL-2.0-only
- opensuse-leap 16.0: iproute2 6.12-160000.4.1 ยท GPL-2.0-only
- ubuntu jammy: iproute2 5.15.0-1ubuntu2 ยท GPL-2.0-only
- ubuntu jammy: iproute2 5.15.0-1ubuntu2.2 ยท GPL-2.0-only
- ubuntu noble: iproute2 6.1.0-1ubuntu6 ยท GPL-2.0-only
- ubuntu noble: iproute2 6.1.0-1ubuntu6.4 ยท GPL-2.0-only
- ubuntu questing: iproute2 6.16.0-1ubuntu2
- ubuntu questing: iproute2 6.16.0-1ubuntu2.1 ยท GPL-2.0-only
- ubuntu questing: iproute2 6.16.0-1ubuntu2.2
- ubuntu resolute: iproute2 6.19.0-1ubuntu1 ยท GPL-2.0-only
- ubuntu resolute: iproute2 6.19.0-1ubuntu1.1 ยท GPL-2.0-only
- ubuntu stonking: iproute2 7.2.0-1ubuntu1 ยท GPL-2.0-only
- ๐ girlified by anthropic/claude-haiku-5.5 on : a language model's rewrite of the original, under its terms