aboutsummaryrefslogtreecommitdiffstats
path: root/filter_plugins/ipv4.py
diff options
context:
space:
mode:
authorJan Tuomi <jan@jantuomi.fi>2026-08-04 12:00:39 +0300
committerJan Tuomi <jan@jantuomi.fi>2026-08-04 12:00:39 +0300
commitd38fe54ab035f8e3248b8e20a58abd89861833bf (patch)
treefcc78428a726799568a1ae2253a16590e883c816 /filter_plugins/ipv4.py
parent017b29539749da3c62202879d757a45ffc71208c (diff)
Simplify jail configuration
Diffstat (limited to 'filter_plugins/ipv4.py')
-rw-r--r--filter_plugins/ipv4.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/filter_plugins/ipv4.py b/filter_plugins/ipv4.py
index 0bf8c67..d0043b6 100644
--- a/filter_plugins/ipv4.py
+++ b/filter_plugins/ipv4.py
@@ -40,6 +40,29 @@ def ipv4_prefixlen(cidr):
return cidr.split("/")[1]
+def normalize_zfs(entries):
+ """Expand short ZFS dataset names to full zroot/jails/volumes/ paths."""
+ result = []
+ for entry in entries:
+ e = dict(entry)
+ if '/' not in e.get('name', ''):
+ e['name'] = 'zroot/jails/volumes/' + e['name']
+ result.append(e)
+ return result
+
+
+def normalize_nullfs(entries):
+ """Expand short nullfs src names to full /usr/local/jails/volumes/ paths."""
+ result = []
+ for entry in entries:
+ e = dict(entry)
+ src = e.get('src', '')
+ if not src.startswith('/'):
+ e['src'] = '/usr/local/jails/volumes/' + src
+ result.append(e)
+ return result
+
+
class FilterModule(object):
def filters(self):
return {
@@ -48,4 +71,6 @@ class FilterModule(object):
"ipv4_nth_cidr": ipv4_nth_cidr,
"ipv4_host": ipv4_host,
"ipv4_prefixlen": ipv4_prefixlen,
+ "normalize_zfs": normalize_zfs,
+ "normalize_nullfs": normalize_nullfs,
}