summaryrefslogtreecommitdiffstats
path: root/fs/afs/Makefile
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2023-10-27 12:42:57 +0200
committerDavid Howells <dhowells@redhat.com>2024-01-01 17:37:26 +0100
commitf94f70d39cc2d54079ebae934862198516315db2 (patch)
tree52929e344b7cc368a5a31fd71fd37e53eaafdb8b /fs/afs/Makefile
parentafs: Remove the unimplemented afs_cmp_addr_list() (diff)
downloadlinux-f94f70d39cc2d54079ebae934862198516315db2.tar.xz
linux-f94f70d39cc2d54079ebae934862198516315db2.zip
afs: Provide a way to configure address priorities
AFS servers may have multiple addresses, but the client can't easily judge between them as to which one is best. For instance, an address that has a larger RTT might actually have a better bandwidth because it goes through a switch rather than being directly connected - but we can't work this out dynamically unless we push through sufficient data that we can measure it. To allow the administrator to configure this, add a list of preference weightings for server addresses by IPv4/IPv6 address or subnet and allow this to be viewed through a procfile and altered by writing text commands to that same file. Preference rules can be added/updated by: echo "add <proto> <addr>[/<subnet>] <prior>" >/proc/fs/afs/addr_prefs echo "add udp 1.2.3.4 1000" >/proc/fs/afs/addr_prefs echo "add udp 192.168.0.0/16 3000" >/proc/fs/afs/addr_prefs echo "add udp 1001:2002:0:6::/64 4000" >/proc/fs/afs/addr_prefs and removed by: echo "del <proto> <addr>[/<subnet>]" >/proc/fs/afs/addr_prefs echo "del udp 1.2.3.4" >/proc/fs/afs/addr_prefs where the priority is a number between 0 and 65535. The list is split between IPv4 and IPv6 addresses and each sublist is kept in numerical order, with rules that would otherwise match but have different subnet masking being ordered with the most specific submatch first. A subsequent patch will apply these rules. Signed-off-by: David Howells <dhowells@redhat.com> cc: Marc Dionne <marc.dionne@auristor.com> cc: linux-afs@lists.infradead.org
Diffstat (limited to 'fs/afs/Makefile')
-rw-r--r--fs/afs/Makefile1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/afs/Makefile b/fs/afs/Makefile
index e8956b65d7ff..b3849bea0553 100644
--- a/fs/afs/Makefile
+++ b/fs/afs/Makefile
@@ -5,6 +5,7 @@
kafs-y := \
addr_list.o \
+ addr_prefs.o \
callback.o \
cell.o \
cmservice.o \