File:  [NetBSD Developer Wiki] / wikisrc / projects / project / npf_ipv6.mdwn
Revision 1.2: download - view: text, annotated - select for diffs
Sun Nov 6 14:48:47 2011 UTC (2 years, 5 months ago) by jmmv
Branches: MAIN
CVS tags: HEAD
Define the per-project category and difficulty at the template level,
instead of manually tagging the project pages.  While doing this, prefix
the tags with "category:" and "difficulty:" to make them easier to
understand.

[[!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.
"""
]]

[[!tag gsoc]]

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