summaryrefslogtreecommitdiff
path: root/sysdep/bsd/krt-sock.Y
diff options
context:
space:
mode:
authorMaria Matejka <mq@ucw.cz>2023-01-23 19:46:26 +0100
committerMaria Matejka <mq@ucw.cz>2023-01-23 19:46:26 +0100
commit758aabd96c0f09709183dff4261ffbfdd72ae870 (patch)
tree75d17bb906331213d5107a6be6446f58f0251541 /sysdep/bsd/krt-sock.Y
parent4821612c94f9e935a6e841f6bcace9465dd2ad78 (diff)
parent7fb23041a52d01754c53ba963e2282e524813364 (diff)
Merge commit '7fb23041a52d01754c53ba963e2282e524813364' into thread-next
Diffstat (limited to 'sysdep/bsd/krt-sock.Y')
-rw-r--r--sysdep/bsd/krt-sock.Y10
1 files changed, 9 insertions, 1 deletions
diff --git a/sysdep/bsd/krt-sock.Y b/sysdep/bsd/krt-sock.Y
index 8581bd43..a03d6df5 100644
--- a/sysdep/bsd/krt-sock.Y
+++ b/sysdep/bsd/krt-sock.Y
@@ -10,7 +10,7 @@ CF_HDR
CF_DECLS
-CF_KEYWORDS(KERNEL, TABLE)
+CF_KEYWORDS(KERNEL, TABLE, METRIC)
CF_GRAMMAR
@@ -25,6 +25,14 @@ kern_sys_item:
THIS_KRT->sys.table_id = $3;
}
+ | METRIC expr {
+ if ($2 && !krt_max_metric)
+ cf_error("Kernel route metric not supported");
+ if ($2 > krt_max_metric)
+ cf_error("Kernel table id must be in range 0-%u", krt_max_metric);
+
+ THIS_KRT->sys.metric = $2;
+ }
;
CF_CODE