File:  [NetBSD Developer Wiki] / wikisrc / projects / project / npf_ipv6.mdwn
Revision 1.4: download - view: text, annotated - select for diffs
Wed Nov 9 21:14:03 2011 UTC (2 years, 5 months ago) by jmmv
Branches: MAIN
CVS tags: HEAD
Add the ability to mark projects as "done" by setting the "done_by" template
attribute to the name of the person that completed them.

Marking a project as done excludes it from all the indexes except from the
new "Completed projects" index.  This is intended to showcase that the
project proposals in this site are actually useful and sometimes get done.

While doing this, reinstantiate the gio and npf proposals I had removed
earlier on to populate the completed projects index.

[[!template id=project

title="IPv6 support for NPF"

contact="""
[tech-net](mailto:tech-net@NetBSD.org)
"""

mentors="""
[Mindaugas Rasiukevicius](mailto:rmind@NetBSD.org)
"""

category="kernel"
difficulty="hard"
duration="3 months"

description="""
NPF is a recently developed firewall for the NetBSD system.  One of its
missing features is support for IPv6.  The student would have to add fully
functional and reasonably tested IPv6 support for NPF.  This work should not
require design changes to NPF.  Many modules in NPF contain abstracted
logic/mechanism and do not rely on the length IP addresses.  As an
additional help, there is a task list document, describing specific
steps at code level in order to achieve this objective.

High level deliverables are the following:

* Add support for IPv6 filtering criteria (userland + kernel).
* Adjust components where needed and make sure that stateful filtering works with IPv6 (kernel).
* Handle IPv6 addresses in the NPF tables - a container for a fast lookup (userland + kernel).
* IPv6 reassembly support, re-using NetBSD's network stack code (kernel).

Optionally (hard):

* Analyse IPv6 reassembly implications.
* Add support for protocol translation (NAT46, NAT64) and/or prefix translation (NPTv6).
* Kittens!

Note: good understanding of IPv6, some knowledge of data structures and
concurrency are the prerequisites.
"""

done_by="Zoltan Arnold Nagy"
]]

[[!tag gsoc]]

CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb