aboutsummaryrefslogtreecommitdiff
path: root/sys/net/altq/altq_subr.c
diff options
context:
space:
mode:
authorLuiz Otavio O Souza <loos@FreeBSD.org>2015-08-21 22:02:22 +0000
committerLuiz Otavio O Souza <loos@FreeBSD.org>2015-08-21 22:02:22 +0000
commit0a70aaf8f5d93454d0940a09b94deecd7aa5fa0d (patch)
treeea97933754c975699989e1fe3ca8b6e419c1d685 /sys/net/altq/altq_subr.c
parente64ac86eb40fe4fdb16aff084aa0eda49540470f (diff)
downloadsrc-0a70aaf8f5d93454d0940a09b94deecd7aa5fa0d.tar.gz
src-0a70aaf8f5d93454d0940a09b94deecd7aa5fa0d.zip
Add ALTQ(9) support for the CoDel algorithm.
CoDel is a parameterless queue discipline that handles variable bandwidth and RTT. It can be used as the single queue discipline on an interface or as a sub discipline of existing queue disciplines such as PRIQ, CBQ, HFSC, FAIRQ. Differential Revision: https://reviews.freebsd.org/D3272 Reviewd by: rpaulo, gnn (previous version) Obtained from: pfSense Sponsored by: Rubicon Communications (Netgate)
Notes
Notes: svn path=/head/; revision=287009
Diffstat (limited to 'sys/net/altq/altq_subr.c')
-rw-r--r--sys/net/altq/altq_subr.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/sys/net/altq/altq_subr.c b/sys/net/altq/altq_subr.c
index 2d10c8c12721..873d7bd83aa6 100644
--- a/sys/net/altq/altq_subr.c
+++ b/sys/net/altq/altq_subr.c
@@ -512,6 +512,11 @@ altq_pfattach(struct pf_altq *a)
error = fairq_pfattach(a);
break;
#endif
+#ifdef ALTQ_CODEL
+ case ALTQT_CODEL:
+ error = codel_pfattach(a);
+ break;
+#endif
default:
error = ENXIO;
}
@@ -588,6 +593,11 @@ altq_add(struct pf_altq *a)
error = fairq_add_altq(a);
break;
#endif
+#ifdef ALTQ_CODEL
+ case ALTQT_CODEL:
+ error = codel_add_altq(a);
+ break;
+#endif
default:
error = ENXIO;
}
@@ -629,6 +639,11 @@ altq_remove(struct pf_altq *a)
error = fairq_remove_altq(a);
break;
#endif
+#ifdef ALTQ_CODEL
+ case ALTQT_CODEL:
+ error = codel_remove_altq(a);
+ break;
+#endif
default:
error = ENXIO;
}
@@ -743,6 +758,11 @@ altq_getqstats(struct pf_altq *a, void *ubuf, int *nbytes)
error = fairq_getqstats(a, ubuf, nbytes);
break;
#endif
+#ifdef ALTQ_CODEL
+ case ALTQT_CODEL:
+ error = codel_getqstats(a, ubuf, nbytes);
+ break;
+#endif
default:
error = ENXIO;
}