[PATCH net-next v18 15/15] net: homa: create Makefile and Kconfig

John Ousterhout
2026-04-10T20:03:46Z

Before this commit the Homa code is "inert": it won't be compiled
in kernel builds. This commit adds Homa's Makefile and Kconfig, and
also links Homa into net/Makefile and net/Kconfig, so that Homa
will be built during kernel builds if enabled (it is disabled by
default).

Signed-off-by: John Ousterhout <ouster@cs.stanford.edu>
---
net/Kconfig | 1 +
net/Makefile | 1 +
net/homa/Kconfig | 21 +++++++++++++++++++++
net/homa/Makefile | 11 +++++++++++
4 files changed, 34 insertions(+)
create mode 100644 net/homa/Kconfig
create mode 100644 net/homa/Makefile

diff --git a/net/Kconfig b/net/Kconfig
index 62266eaf0e95..41bcc80ee9ec 100644
--- a/net/Kconfig
+++ b/net/Kconfig
@@ -252,6 +252,7 @@ source "net/bridge/netfilter/Kconfig"
endif # if NETFILTER

source "net/sctp/Kconfig"
+source "net/homa/Kconfig"
source "net/rds/Kconfig"
source "net/tipc/Kconfig"
source "net/atm/Kconfig"
diff --git a/net/Makefile b/net/Makefile
index 90e3d72bf58b..17e0ba84bd15 100644
--- a/net/Makefile
+++ b/net/Makefile
@@ -44,6 +44,7 @@ ifneq ($(CONFIG_VLAN_8021Q),)
obj-y += 8021q/
endif
obj-$(CONFIG_IP_SCTP) += sctp/
+obj-$(CONFIG_HOMA) += homa/
obj-$(CONFIG_RDS) += rds/
obj-$(CONFIG_WIRELESS) += wireless/
obj-$(CONFIG_MAC80211) += mac80211/
diff --git a/net/homa/Kconfig b/net/homa/Kconfig
new file mode 100644
index 000000000000..16fec3fd52ba
--- /dev/null
+++ b/net/homa/Kconfig
@@ -0,0 +1,21 @@
+# SPDX-License-Identifier: BSD-2-Clause or GPL-2.0+
+#
+# Homa transport protocol
+#
+
+menuconfig HOMA
+ tristate "The Homa transport protocol"
+ depends on INET
+ depends on IPV6
+
+ help
+ Homa is a network transport protocol for communication within
+ a datacenter. It provides significantly lower latency than TCP,
+ particularly for workloads containing a mixture of large and small
+ messages operating at high network utilization. At present, Homa
+ has been only partially upstreamed; this version provides bare-bones
+ functionality but is not performant. For more information see the
+ homa(7) man page or checkout the Homa Wiki at
+ https://homa-transport.atlassian.net/wiki/spaces/HOMA/overview.
+
+ If unsure, say N.
diff --git a/net/homa/Makefile b/net/homa/Makefile
new file mode 100644
index 000000000000..57f051d44c6b
--- /dev/null
+++ b/net/homa/Makefile
@@ -0,0 +1,11 @@
+obj-$(CONFIG_HOMA) := homa.o
+homa-y:= homa_incoming.o \
+ homa_interest.o \
+ homa_outgoing.o \
+ homa_peer.o \
+ homa_plumbing.o \
+ homa_pool.o \
+ homa_rpc.o \
+ homa_sock.o \
+ homa_timer.o \
+ homa_utils.o
--
2.43.0