summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJulian Anastasov <ja@ssi.bg>2026-02-24 23:50:42 +0300
committerJakub Kicinski <kuba@kernel.org>2026-02-26 06:36:25 +0300
commitb24ae1a387e404e832385448ccad30cb03520e45 (patch)
tree22689dbb4b9c31e38b76b72229fb7b32a2dd2f92 /include
parent3de0ec2873eac27ba033e867f5da23e081929c8f (diff)
downloadlinux-b24ae1a387e404e832385448ccad30cb03520e45.tar.xz
ipvs: use single svc table
fwmark based services and non-fwmark based services can be hashed in same service table. This reduces the burden of working with two tables. Signed-off-by: Julian Anastasov <ja@ssi.bg> Signed-off-by: Florian Westphal <fw@strlen.de> Link: https://patch.msgid.link/20260224205048.4718-4-fw@strlen.de Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'include')
-rw-r--r--include/net/ip_vs.h8
1 files changed, 2 insertions, 6 deletions
diff --git a/include/net/ip_vs.h b/include/net/ip_vs.h
index 074a204ec6db..b5a5a5efe3cc 100644
--- a/include/net/ip_vs.h
+++ b/include/net/ip_vs.h
@@ -679,8 +679,7 @@ struct ip_vs_dest_user_kern {
* forwarding entries.
*/
struct ip_vs_service {
- struct hlist_node s_list; /* for normal service table */
- struct hlist_node f_list; /* for fwmark-based service table */
+ struct hlist_node s_list; /* node in service table */
atomic_t refcnt; /* reference counter */
u16 af; /* address family */
@@ -1050,10 +1049,7 @@ struct netns_ipvs {
/* the service mutex that protect svc_table and svc_fwm_table */
struct mutex service_mutex;
- /* the service table hashed by <protocol, addr, port> */
- struct hlist_head svc_table[IP_VS_SVC_TAB_SIZE];
- /* the service table hashed by fwmark */
- struct hlist_head svc_fwm_table[IP_VS_SVC_TAB_SIZE];
+ struct hlist_head svc_table[IP_VS_SVC_TAB_SIZE]; /* Services */
};
#define DEFAULT_SYNC_THRESHOLD 3