diff --git a/website/content/en/status/report-2026-04-2026-06/mpls.adoc b/website/content/en/status/report-2026-04-2026-06/mpls.adoc new file mode 100644 index 0000000000..9c677c6f31 --- /dev/null +++ b/website/content/en/status/report-2026-04-2026-06/mpls.adoc @@ -0,0 +1,21 @@ +=== Native MPLS Support for FreeBSD + +Links: + +link:https://wiki.freebsd.org/SummerOfCode2026Projects/NativeMPLSSupportForFreeBSD[GSoC Project Wiki] + +link:https://codeberg.org/Subhash_Murmu/freebsd-src[FreeBSD Source Fork] + +Contact: Subhash Murmu + +This project adds native Multiprotocol Label Switching (MPLS) support to the FreeBSD kernel as part of Google Summer of Code 2026, mentored by Bruce Simpson and Alexander Chernikov. +MPLS is widely deployed for label-switched forwarding in production networks, but FreeBSD has no MPLS data plane in the base system, so MPLS-capable routing daemons have no kernel forwarding path to program. +The work is built bottom-up, from wire-level encapsulation through the control plane, and integrates with the existing FreeBSD network stack rather than sitting beside it. + +Phases 1 through 3 are complete and pushed as a five-commit layered history on the `mpls` branch of the Codeberg fork. +Phase 1 adds link-layer encapsulation and man:netisr[9] dispatch for EtherType 0x8847. +Phase 2 ports OpenBSD's man:ldpd[8] to FreeBSD, where it now builds and runs. +Phase 3 adds the forwarding engine and a per-VNET Label Information Base, with end-to-end LSP transit verified under tcpdump between VNET jails over man:epair[4]. + +The series has not yet been submitted to Phabricator. +Work continues on kernel route programming for ldpd. + +Sponsor: Google Summer of Code 2026