From nobody Wed May 20 20:58:52 2026 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4gLP647444z6fPyh for ; Wed, 20 May 2026 20:58:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gLP643vJvz41tl for ; Wed, 20 May 2026 20:58:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1779310732; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fgqtwruRYnrJdth48gEXicoDj5pPXsO/sSvFNDi2QnI=; b=lC+c8YlTU1ral1RlNMJAI/cu/msAyKU0OBikmyNPLChIO1BKY4RQmKQXRMpZivN+cnqoa6 YD7iKeHLhuudvod+9+n3ksFMx4a4KxBdJ5mmnq86iZstP7ga6a+CoxVFePcxo5AWaGGT48 ghCNzRRZEe+qW1JJxgCK8ZI/weGQf7LZtyS3ncvq2UfJl4M5Qcfyf+WxZSoIjepbPiEBfv DOl4bvGWxCe62iZVGoACHpRYGhlXtv7gLOYFs+If8dx9MLb7/wVgZXCiUNt9AO7M+oWD0g 31AH61r6ZIwroQHALhEPE4M9eF7+rliJO+Nij+tF4kRjRlRa9ld1ZszXGfdHQQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1779310732; a=rsa-sha256; cv=none; b=PqyC4tmZHk35Pl1tKsbvN33SGeZXSIwFtxO8lpQmUKN/oF+9fykwC5PljRsukWm6h3XX/f LZZE+7OQLS5m8Cx3Ilw31IF+NR4IabWcW8FKPJWUqoHWh12EHbNtgrt9wcr3ClIArUsLZ1 BOdS0TKgHmETISqk2tpNONKg/d8kaosEyQ+atS9QPsICq3c2UokB+hXlZewnC6xbncY9Hx vHdRKTk5xWwkm94hMh5gR4Sk+eKd0DiSXqK0EE2CAxj4OWpbL4toIq+CKnphIu3ucXlYFt Pr5sJXdAj2UMFcKFZVvcHZwjdFQw2+OvBkuVgA6+zmlDQZ7cO1Tho23qJr4gyA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1779310732; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fgqtwruRYnrJdth48gEXicoDj5pPXsO/sSvFNDi2QnI=; b=PkCKyLEP2jMvGGmBViWRK/gtEYGkVaF+YBXfSF62vaga93j7pb1VSiQudMoGyTYTlLrOAC UcWk0+f0xx87nkpUEvk+gPpGfkNbB2oyPia80XpfpHhE0xuLR/AzKR3qLF8sTeqppSo0Hb j1o0pdUy977RstSO27B2TKMw5i6NTTR0g01E6YG79PyJubGQKX5BpEntRgUo8nXJOlOMip RoD0Bcb8AZHi3lRaWPYS6E94Kec2uwCXQpLCvtQHmZtJbCkbQpMBMExWYD+Wozt7yGO4AG IFYk0fwWgeDTw8w/pyX4boFDdRaVaBMzRSqWbLKYZ9E1cNQBW17n4b4UHELqgg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gLP643QJNz1H8L for ; Wed, 20 May 2026 20:58:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3ebd8 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 20 May 2026 20:58:52 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Pouria Mousavizadeh Tehrani Subject: git: 2e2d402d061d - main - route(8): Add metric argument List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: pouria X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 2e2d402d061dc0d091308c477ab800b3eda007ad Auto-Submitted: auto-generated Date: Wed, 20 May 2026 20:58:52 +0000 Message-Id: <6a0e208c.3ebd8.14f1859c@gitrepo.freebsd.org> The branch main has been updated by pouria: URL: https://cgit.FreeBSD.org/src/commit/?id=2e2d402d061dc0d091308c477ab800b3eda007ad commit 2e2d402d061dc0d091308c477ab800b3eda007ad Author: Pouria Mousavizadeh Tehrani AuthorDate: 2026-05-02 21:22:17 +0000 Commit: Pouria Mousavizadeh Tehrani CommitDate: 2026-05-20 20:55:08 +0000 route(8): Add metric argument Add support for metric in route command. Differential Revision: https://reviews.freebsd.org/D56335 --- sbin/route/keywords | 1 + sbin/route/route.c | 4 ++++ sbin/route/route_netlink.c | 2 ++ 3 files changed, 7 insertions(+) diff --git a/sbin/route/keywords b/sbin/route/keywords index cbd8799ffb6b..3dbfcd187773 100644 --- a/sbin/route/keywords +++ b/sbin/route/keywords @@ -50,6 +50,7 @@ ssthresh static sticky weight +metric x25 xns xresolve diff --git a/sbin/route/route.c b/sbin/route/route.c index f0d9515f9892..84c520bd4f39 100644 --- a/sbin/route/route.c +++ b/sbin/route/route.c @@ -813,6 +813,7 @@ set_metric(char *value, int key) caseof(K_RTT, RTV_RTT, rmx_rtt); caseof(K_RTTVAR, RTV_RTTVAR, rmx_rttvar); caseof(K_WEIGHT, RTV_WEIGHT, rmx_weight); + caseof(K_METRIC, RTV_METRIC, rmx_metric); } rtm_inits |= flag; if (lockrest || locking) @@ -823,6 +824,8 @@ set_metric(char *value, int key) *valp = strtol(value, &endptr, 0); if (errno == 0 && *endptr != '\0') errno = EINVAL; + if (flag & RTV_METRIC && *valp == RT_WILDCARD_METRIC) + err(EX_USAGE, "Metric can not be zero"); if (errno) err(EX_USAGE, "%s", value); if (flag & RTV_EXPIRE && (value[0] == '+' || value[0] == '-')) { @@ -999,6 +1002,7 @@ newroute(int argc, char **argv) case K_RTT: case K_RTTVAR: case K_WEIGHT: + case K_METRIC: if (!--argc) usage(NULL); set_metric(*++argv, key); diff --git a/sbin/route/route_netlink.c b/sbin/route/route_netlink.c index 20c82c25f5cf..051662688047 100644 --- a/sbin/route/route_netlink.c +++ b/sbin/route/route_netlink.c @@ -270,6 +270,8 @@ rtmsg_nl_int(struct nl_helper *h, int cmd, int rtm_flags, int fib, int rtm_addrs if (rt_metrics->rmx_expire > 0) snl_add_msg_attr_u32(&nw, NL_RTA_EXPIRES, rt_metrics->rmx_expire); + if (rt_metrics->rmx_metric > 0) + snl_add_msg_attr_u32(&nw, NL_RTA_PRIORITY, rt_metrics->rmx_metric); if (rt_metrics->rmx_weight > 0) snl_add_msg_attr_u32(&nw, NL_RTA_WEIGHT, rt_metrics->rmx_weight);