netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: John Ousterhout <ouster@cs.stanford.edu>
To: netdev@vger.kernel.org
Cc: pabeni@redhat.com, edumazet@google.com, horms@kernel.org,
	kuba@kernel.org, John Ousterhout <ouster@cs.stanford.edu>
Subject: [PATCH net-next v12 15/15] net: homa: create Makefile and Kconfig
Date: Thu, 24 Jul 2025 11:40:48 -0700	[thread overview]
Message-ID: <20250724184050.3130-16-ouster@cs.stanford.edu> (raw)
In-Reply-To: <20250724184050.3130-1-ouster@cs.stanford.edu>

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 | 16 ++++++++++++++++
 4 files changed, 39 insertions(+)
 create mode 100644 net/homa/Kconfig
 create mode 100644 net/homa/Makefile

diff --git a/net/Kconfig b/net/Kconfig
index ebc80a98fc91..cb89196c63ff 100644
--- a/net/Kconfig
+++ b/net/Kconfig
@@ -250,6 +250,7 @@ source "net/bridge/netfilter/Kconfig"
 endif
 
 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 aac960c41db6..71f740e0dc34 100644
--- a/net/Makefile
+++ b/net/Makefile
@@ -43,6 +43,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..8ce5fbf08258
--- /dev/null
+++ b/net/homa/Kconfig
@@ -0,0 +1,21 @@
+# SPDX-License-Identifier: BSD-2-Clause
+#
+# 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..ed894ebab176
--- /dev/null
+++ b/net/homa/Makefile
@@ -0,0 +1,16 @@
+# SPDX-License-Identifier: BSD-2-Clause
+#
+# Makefile for the Linux implementation of the Homa transport protocol.
+
+obj-$(CONFIG_HOMA) := homa.o
+homa-y:=        homa_incoming.o \
+		homa_interest.o \
+		homa_outgoing.o \
+		homa_pacer.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


  parent reply	other threads:[~2025-07-24 18:41 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-24 18:40 [PATCH net-next v12 00/15] Begin upstreaming Homa transport protocol John Ousterhout
2025-07-24 18:40 ` [PATCH net-next v12 01/15] net: homa: define user-visible API for Homa John Ousterhout
2025-07-24 18:40 ` [PATCH net-next v12 02/15] net: homa: create homa_wire.h John Ousterhout
2025-07-24 18:40 ` [PATCH net-next v12 03/15] net: homa: create shared Homa header files John Ousterhout
2025-07-24 18:40 ` [PATCH net-next v12 04/15] net: homa: create homa_pool.h and homa_pool.c John Ousterhout
2025-07-24 18:40 ` [PATCH net-next v12 05/15] net: homa: create homa_peer.h and homa_peer.c John Ousterhout
2025-07-24 18:40 ` [PATCH net-next v12 06/15] net: homa: create homa_sock.h and homa_sock.c John Ousterhout
2025-07-24 18:40 ` [PATCH net-next v12 07/15] net: homa: create homa_interest.h and homa_interest.c John Ousterhout
2025-07-24 18:40 ` [PATCH net-next v12 08/15] net: homa: create homa_pacer.h and homa_pacer.c John Ousterhout
2025-07-24 18:40 ` [PATCH net-next v12 09/15] net: homa: create homa_rpc.h and homa_rpc.c John Ousterhout
2025-07-24 18:40 ` [PATCH net-next v12 10/15] net: homa: create homa_outgoing.c John Ousterhout
2025-07-24 18:40 ` [PATCH net-next v12 11/15] net: homa: create homa_utils.c John Ousterhout
2025-07-24 18:40 ` [PATCH net-next v12 12/15] net: homa: create homa_incoming.c John Ousterhout
2025-07-24 18:40 ` [PATCH net-next v12 13/15] net: homa: create homa_timer.c John Ousterhout
2025-07-24 18:40 ` [PATCH net-next v12 14/15] net: homa: create homa_plumbing.c John Ousterhout
2025-07-24 19:38   ` Kuniyuki Iwashima
2025-07-25 16:11     ` John Ousterhout
2025-07-24 18:40 ` John Ousterhout [this message]
2025-07-26 22:41   ` [PATCH net-next v12 15/15] net: homa: create Makefile and Kconfig kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250724184050.3130-16-ouster@cs.stanford.edu \
    --to=ouster@cs.stanford.edu \
    --cc=edumazet@google.com \
    --cc=horms@kernel.org \
    --cc=kuba@kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).