Hi,
I would like to add a support of `IPV6_TCLASS` on the GNU Hurd.
More generally, the IPv6 traffic control mechanism for GNU Hurd,
which I attempt to do as my first contribution.
After I searched the Internet and read several papers about traffic
control [1][2],
including what Linux have done [3]. It's a bigger project although, in
my humble opinion,
if GNU Hurd has already implemented a lot of groundwork, it won't be
infeasible task.
But considering the fact that I am not familiar with the GNU Hurd,
and maybe lack real experiences with real projects.
I want some suggestions from you, who have more experiences than me.
Maybe there lurks some pitfalls and tricky issues hard to be overcome,
which I don't know for now. For example, maybe it's hard to be tested
since it requires real network or multiple devices running GNU Hurd
which I don't have.
Or maybe, it's hard to write it correctly because of tricky edge cases.
Or maybe, it's a huge project to do which exceeds a single programmer's
ability.
I also have read the GNU Hurd source code to find where to start
from, but sadly,
due to a lack of documentations. It's inefficient to hack through the
source code
in order to figure out what it wants to do. Is there exists any
documentations about
the network architecture and its implementation under GNU Hurd,
especially IPv6?
In summary, what confuse me and drive me to found help from you is
these three questions:
1. Why doesn't GNU have a support to `IPv6_TCLASS`? Is there exists
any obstacles found in the past that are hard to overcome?
2. Are there any documentations to describe the network architecture
and its implementations, including current status, what to do in next?
3. Is it feasible for a mediocre programmer to implement a complete
support of `IPV6_TCLASS` for GNU Hurd? If it is not feasible, which is
a better point to start with that is small, practical but also
related to what I want to do?
Thank you!
---
hahawang
References:
[1] Fgee, E. B., Kenney, J. D., Phillips, W. J., Robertson, W., &
Sivakumar, S. (2004, May). Implementing an IPv6 QoS management scheme
using flow label & class of service fields. In Canadian Conference on
Electrical and Computer Engineering 2004 (IEEE Cat. No. 04CH37513) (Vol.
2, pp. 1049-1052). IEEE.
[2] Issac, B., Hamid, K., & Tan, C. E. (2014). QoS Survey in IPv6 and
Queuing Methods. arXiv preprint arXiv:1410.4695.
[3] Almesberger, W. (1999). Linux network traffic control—implementation
overview.