The branch stable/12 has been updated by kp:

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

commit 4ef480e600b9f48217e58ea688527362846d5982
Author:     Kristof Provost <[email protected]>
AuthorDate: 2021-09-07 12:41:37 +0000
Commit:     Kristof Provost <[email protected]>
CommitDate: 2021-09-17 15:54:38 +0000

    pf: qid and pqid can be uint16_t
    
    tag2name() returns a uint16_t, so we don't need to use uint32_t for the
    qid (or pqid). This reduces the size of struct pf_kstate slightly. That
    in turn buys us space to add extra fields for dummynet later.
    
    Happily these fields are not exposed to user space (there are user space
    versions of them, but they can just stay uint32_t), so there's no ABI
    breakage in modifying this.
    
    MFC after:      1 week
    Sponsored by:   Rubicon Communications, LLC ("Netgate")
    Differential Revision:  https://reviews.freebsd.org/D31873
    
    (cherry picked from commit b64f7ce98f5286721a38b31fa2180313f800fb1d)
---
 sys/net/pfvar.h           | 12 ++++++------
 sys/netpfil/pf/pf_altq.h  |  2 +-
 sys/netpfil/pf/pf_ioctl.c | 12 ++++++------
 sys/netpfil/pf/pf_mtag.h  |  2 +-
 4 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h
index ffa90555c52e..57d19c6c6018 100644
--- a/sys/net/pfvar.h
+++ b/sys/net/pfvar.h
@@ -558,8 +558,8 @@ struct pf_kpool {
 };
 
 struct pf_rule_actions {
-       u_int32_t       qid;
-       u_int32_t       pqid;
+       uint16_t         qid;
+       uint16_t         pqid;
 };
 
 union pf_krule_ptr {
@@ -603,8 +603,8 @@ struct pf_krule {
                u_int32_t               limit;
                u_int32_t               seconds;
        }                        max_src_conn_rate;
-       u_int32_t                qid;
-       u_int32_t                pqid;
+       u_int16_t                qid;
+       u_int16_t                pqid;
        u_int32_t                nr;
        u_int32_t                prob;
        uid_t                    cuid;
@@ -853,8 +853,8 @@ struct pf_kstate {
        u_int32_t                creation;
        u_int32_t                expire;
        u_int32_t                pfsync_time;
-       u_int32_t                qid;
-       u_int32_t                pqid;
+       u_int16_t                qid;
+       u_int16_t                pqid;
        u_int16_t                tag;
        u_int8_t                 log;
 };
diff --git a/sys/netpfil/pf/pf_altq.h b/sys/netpfil/pf/pf_altq.h
index 35d2d5cb8bbe..0b913a19c2ff 100644
--- a/sys/netpfil/pf/pf_altq.h
+++ b/sys/netpfil/pf/pf_altq.h
@@ -220,7 +220,7 @@ struct pf_kaltq {
                struct fairq_opts        fairq_opts;
        } pq_u;
 
-       uint32_t                 qid;           /* return value */
+       uint16_t                 qid;           /* return value */
 };
 #endif /* _KERNEL */
 
diff --git a/sys/netpfil/pf/pf_ioctl.c b/sys/netpfil/pf/pf_ioctl.c
index e3d194f92c61..cf17d67cc894 100644
--- a/sys/netpfil/pf/pf_ioctl.c
+++ b/sys/netpfil/pf/pf_ioctl.c
@@ -113,8 +113,8 @@ static int           pf_rollback_altq(u_int32_t);
 static int              pf_commit_altq(u_int32_t);
 static int              pf_enable_altq(struct pf_altq *);
 static int              pf_disable_altq(struct pf_altq *);
-static u_int32_t        pf_qname2qid(char *);
-static void             pf_qid_unref(u_int32_t);
+static uint16_t                 pf_qname2qid(char *);
+static void             pf_qid_unref(uint16_t);
 #endif /* ALTQ */
 static int              pf_begin_rules(u_int32_t *, int, const char *);
 static int              pf_rollback_rules(u_int32_t, int, char *);
@@ -655,16 +655,16 @@ pf_tagname2tag(char *tagname)
 }
 
 #ifdef ALTQ
-static u_int32_t
+static uint16_t
 pf_qname2qid(char *qname)
 {
-       return ((u_int32_t)tagname2tag(&V_pf_qids, qname));
+       return (tagname2tag(&V_pf_qids, qname));
 }
 
 static void
-pf_qid_unref(u_int32_t qid)
+pf_qid_unref(uint16_t qid)
 {
-       tag_unref(&V_pf_qids, (u_int16_t)qid);
+       tag_unref(&V_pf_qids, qid);
 }
 
 static int
diff --git a/sys/netpfil/pf/pf_mtag.h b/sys/netpfil/pf/pf_mtag.h
index b1402e1ac77f..9f556e262b07 100644
--- a/sys/netpfil/pf/pf_mtag.h
+++ b/sys/netpfil/pf/pf_mtag.h
@@ -46,7 +46,7 @@
 
 struct pf_mtag {
        void            *hdr;           /* saved hdr pos in mbuf, for ECN */
-       u_int32_t        qid;           /* queue id */
+       u_int16_t        qid;           /* queue id */
        u_int32_t        qid_hash;      /* queue hashid used by WFQ like algos 
*/
        u_int16_t        tag;           /* tag id */
        u_int8_t         flags;
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/dev-commits-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to