summaryrefslogtreecommitdiff
path: root/share
diff options
context:
space:
mode:
authorTed Unangst <tedu@cvs.openbsd.org>2003-04-14 18:11:33 +0000
committerTed Unangst <tedu@cvs.openbsd.org>2003-04-14 18:11:33 +0000
commite3b9387ca9f59798d3325cd9aa554d056f07a24a (patch)
tree187422d8c7e5f266e64b928a7726b1bc9fbda88c /share
parent6cd7ac31b83bdbc8fee289d68747b09ca927dd92 (diff)
correct IFQ_ENQUEUE definition. some grammar.
also sort .Xr from jmc@ ok kjc@
Diffstat (limited to 'share')
-rw-r--r--share/man/man9/altq.943
1 files changed, 24 insertions, 19 deletions
diff --git a/share/man/man9/altq.9 b/share/man/man9/altq.9
index 98cf53ca9b4..94bdb740cc7 100644
--- a/share/man/man9/altq.9
+++ b/share/man/man9/altq.9
@@ -1,4 +1,4 @@
-.\" $OpenBSD: altq.9,v 1.9 2002/12/02 15:05:23 mickey Exp $
+.\" $OpenBSD: altq.9,v 1.10 2003/04/14 18:11:32 tedu Exp $
.\"
.\" Copyright (C) 2001
.\" Sony Computer Science Laboratories Inc. All rights reserved.
@@ -36,7 +36,7 @@
.Fd #include <sys/socket.h>
.Fd #include <net/if.h>
.Ft void \"macro
-.Fn IFQ_ENQUEUE "struct ifaltq *ifq" "struct mbuf *m" "int error"
+.Fn IFQ_ENQUEUE "struct ifaltq *ifq" "struct mbuf *m" "struct altq_pktattr *pa" "int err"
.Ft void \"macro
.Fn IFQ_DEQUEUE "struct ifaltq *ifq" "struct mbuf *m"
.Ft void \"macro
@@ -205,28 +205,33 @@ macros looks like:
#endif
.Ed
.Ss Enqueue operation
-The semantics of the enqueue operation is changed.
+The semantics of the enqueue operation are changed.
In the new style,
enqueue and packet drop are combined since they cannot be easily
separated in many queuing disciplines.
The new enqueue operation corresponds to the following macro that is
written with the old macros.
.Bd -literal
-#define IFQ_ENQUEUE(ifq, m, error) \e
-do { \e
- if (IF_QFULL((ifq))) { \e
- m_freem((m)); \e
- (error) = ENOBUFS; \e
- IF_DROP(ifq); \e
- } else { \e
- IF_ENQUEUE((ifq), (m)); \e
- (error) = 0; \e
- } \e
+#define IFQ_ENQUEUE(ifq, m, pattr, err) \e
+do { \e
+ if (ALTQ_IS_ENABLED((ifq))) \e
+ ALTQ_ENQUEUE((ifq), (m), (pattr), (err)); \e
+ else { \e
+ if (IF_QFULL((ifq))) { \e
+ m_freem((m)); \e
+ (err) = ENOBUFS; \e
+ } else { \e
+ IF_ENQUEUE((ifq), (m)); \e
+ (err) = 0; \e
+ } \e
+ } \e
+ if ((err)) \e
+ (ifq)->ifq_drops++; \e
} while (0)
.Ed
.Pp
.Fn IFQ_ENQUEUE
-does the followings:
+does the following:
.Bl -hyphen -compact
.It
queue a packet
@@ -234,7 +239,7 @@ queue a packet
drop (and free) a packet if the enqueue operation fails
.El
If the enqueue operation fails,
-.Fa error
+.Fa err
is set to
.Dv ENOBUFS .
.Fa mbuf
@@ -265,7 +270,7 @@ looks as follows:
| len = m->m_pkthdr.len;
s = splimp(); | s = splimp();
if (IF_QFULL(&ifp->if_snd)) { | IFQ_ENQUEUE(&ifp->if_snd, m,
- | error);
+ | NULL, error);
IF_DROP(&ifp->if_snd); | if (error != 0) {
splx(s); | splx(s);
senderr(ENOBUFS); | return (error);
@@ -545,7 +550,7 @@ The enqueue operation looks like:
IF_ENQUEUE(ifq, m); | }
| } else
| IFQ_ENQUEUE(&sc->sc_if.if_snd,
- | m, error);
+ | NULL, m, error);
|
| if (error) {
| splx(s);
@@ -581,8 +586,8 @@ Queuing disciplines also need to guarantee the same mbuf is returned if
is called immediately after
.Fn IFQ_POLL .
.Sh SEE ALSO
-.Xr pfctl 8 ,
-.Xr pf.conf 5
+.Xr pf.conf 5 ,
+.Xr pfctl 8
.Sh HISTORY
The
.Nm