diff options
-rw-r--r-- | sbin/pfctl/parse.y | 5 | ||||
-rw-r--r-- | sbin/pfctl/pfctl_parser.h | 28 |
2 files changed, 24 insertions, 9 deletions
diff --git a/sbin/pfctl/parse.y b/sbin/pfctl/parse.y index bbb00c1992e..9619257e19d 100644 --- a/sbin/pfctl/parse.y +++ b/sbin/pfctl/parse.y @@ -1,4 +1,4 @@ -/* $OpenBSD: parse.y,v 1.359 2003/04/13 20:16:06 henning Exp $ */ +/* $OpenBSD: parse.y,v 1.360 2003/04/13 20:41:37 henning Exp $ */ /* * Copyright (c) 2001 Markus Friedl. All rights reserved. @@ -982,7 +982,8 @@ scheduler : CBQ { } | HFSC { $$.qtype = ALTQT_HFSC; - $$.data.hfsc_opts.flags = 0; + bzero(&$$.data.hfsc_opts, + sizeof(struct node_hfsc_opts)); } | HFSC '(' hfscflags_list ')' { $$.qtype = ALTQT_HFSC; diff --git a/sbin/pfctl/pfctl_parser.h b/sbin/pfctl/pfctl_parser.h index 495e5f01d84..7af5b2c7862 100644 --- a/sbin/pfctl/pfctl_parser.h +++ b/sbin/pfctl/pfctl_parser.h @@ -1,4 +1,4 @@ -/* $OpenBSD: pfctl_parser.h,v 1.55 2003/04/13 20:16:06 henning Exp $ */ +/* $OpenBSD: pfctl_parser.h,v 1.56 2003/04/13 20:41:37 henning Exp $ */ /* * Copyright (c) 2001 Daniel Hartmeier @@ -93,20 +93,34 @@ struct node_host { struct node_host *tail; }; +struct node_queue_bw { + u_int32_t bw_absolute; + u_int16_t bw_percent; +}; + +struct node_hfsc_sc { + struct node_queue_bw m1; /* slope of 1st segment; bps */ + u_int d; /* x-projection of m1; msec */ + struct node_queue_bw m2; /* slope of 2nd segment; bps */ + u_int8_t used; +}; + +struct node_hfsc_opts { + struct node_hfsc_sc realtime; + struct node_hfsc_sc linkshare; + struct node_hfsc_sc upperlimit; + int flags; +}; + struct node_queue_opt { int qtype; union { struct cbq_opts cbq_opts; struct priq_opts priq_opts; - struct hfsc_opts hfsc_opts; + struct node_hfsc_opts hfsc_opts; } data; }; -struct node_queue_bw { - u_int32_t bw_absolute; - u_int16_t bw_percent; -}; - int pfctl_add_rule(struct pfctl *, struct pf_rule *); int pfctl_add_altq(struct pfctl *, struct pf_altq *); int pfctl_add_pool(struct pfctl *, struct pf_pool *, sa_family_t); |