Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 25 Jan 2021 19:59:05 GMT
From:      Kristof Provost <kp@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: dcd1e41f0cbc - main - pfctl: FreeBSD now supports DIOCGIFSPEED
Message-ID:  <202101251959.10PJx5At006056@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by kp:

URL: https://cgit.FreeBSD.org/src/commit/?id=dcd1e41f0cbcb8f7ec5f7a891a690be959bc1ea8

commit dcd1e41f0cbcb8f7ec5f7a891a690be959bc1ea8
Author:     Kristof Provost <kp@FreeBSD.org>
AuthorDate: 2021-01-23 09:37:22 +0000
Commit:     Kristof Provost <kp@FreeBSD.org>
CommitDate: 2021-01-25 18:58:22 +0000

    pfctl: FreeBSD now supports DIOCGIFSPEED
    
    There's no need for a special case here to work around the lack of
    DIOCGIFSPEED. That was introduced in FreeBSD in
    c1aedfcbd9896401f637bc815ba4e51dca107f6f.
    
    Reported by:    jmg@
    Reviewed by:    donner@
    Differential Revision:  https://reviews.freebsd.org/D28305
---
 sbin/pfctl/pfctl_altq.c | 29 -----------------------------
 1 file changed, 29 deletions(-)

diff --git a/sbin/pfctl/pfctl_altq.c b/sbin/pfctl/pfctl_altq.c
index f23fe057f703..6541c031c75e 100644
--- a/sbin/pfctl/pfctl_altq.c
+++ b/sbin/pfctl/pfctl_altq.c
@@ -98,11 +98,7 @@ static int		 gsc_add_seg(struct gen_sc *, double, double, double,
 			     double);
 static double		 sc_x2y(struct service_curve *, double);
 
-#ifdef __FreeBSD__
-u_int64_t	getifspeed(int, char *);
-#else
 u_int32_t	 getifspeed(char *);
-#endif
 u_long		 getifmtu(char *);
 int		 eval_queue_opts(struct pf_altq *, struct node_queue_opt *,
 		     u_int64_t);
@@ -317,11 +313,7 @@ eval_pfaltq(struct pfctl *pf, struct pf_altq *pa, struct node_queue_bw *bw,
 	if (bw->bw_absolute > 0)
 		pa->ifbandwidth = bw->bw_absolute;
 	else
-#ifdef __FreeBSD__
-		if ((rate = getifspeed(pf->dev, pa->ifname)) == 0) {
-#else
 		if ((rate = getifspeed(pa->ifname)) == 0) {
-#endif
 			fprintf(stderr, "interface %s does not know its bandwidth, "
 			    "please specify an absolute bandwidth\n",
 			    pa->ifname);
@@ -1254,26 +1246,6 @@ rate2str(double rate)
 	return (buf);
 }
 
-#ifdef __FreeBSD__
-/*
- * XXX
- * FreeBSD does not have SIOCGIFDATA.
- * To emulate this, DIOCGIFSPEED ioctl added to pf.
- */
-u_int64_t
-getifspeed(int pfdev, char *ifname)
-{
-	struct pf_ifspeed io;
-
-	bzero(&io, sizeof io);
-	if (strlcpy(io.ifname, ifname, IFNAMSIZ) >=
-	    sizeof(io.ifname)) 
-		errx(1, "getifspeed: strlcpy");
-	if (ioctl(pfdev, DIOCGIFSPEED, &io) == -1)
-		err(1, "DIOCGIFSPEED");
-	return (io.baudrate);
-}
-#else
 u_int32_t
 getifspeed(char *ifname)
 {
@@ -1291,7 +1263,6 @@ getifspeed(char *ifname)
 		err(1, "SIOCGIFDATA");
 	return ((u_int32_t)ifrdat.ifi_baudrate);
 }
-#endif
 
 u_long
 getifmtu(char *ifname)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202101251959.10PJx5At006056>