[quagga-dev 10250] Re: Implementing Auto-Configuration ospf6d

David Lamparter equinox at opensourcerouting.org
Mon Feb 11 13:00:52 GMT 2013


Hi Edward,


On Mon, Feb 11, 2013 at 12:33:56PM +0000, seabrook e.j.f. (ejfs1g10) wrote:
> First of all, let me introduce myself. I am Edward Seabrook, I am a third year
> undergraduate studying Computer Science at the University of Southampton. For
> my third year project I shall be extending Quagga's ospf6d to implement
> auto-configuration OSPFv3. I felt I should let the community know, and see if
> anyone has any advice.
> 
> The changes that I plan on making are based on a draft standard[1] published by
> Ericsson. The draft also depends on some other drafts that may or may not
> require implementing as well. If anyone has any reasons they feel these changes
> would be impossible with Quagga, please let me know!

> [1] http://tools.ietf.org/id/draft-ietf-ospf-ospfv3-autoconfig-00.txt

That's very nice to hear!  I've been following the draft, and I think
it's an important project for future end-user devices.  Quite happy to
hear someone is looking at implementing it for Quagga.

> I would like my work to be as useful as possible to the community, as such I
> aim on complying with the standards that the project follows. I have read the
> GNU coding standards document as recommended in the Quagga Hacking guide. If
> anyone has any other tips or caveats I would love to hear them.

Don't stick to the GNU coding standards too much.  The point isn't to
stick to some arbitrary rules, but rather to keep the codebase
consistent.

Also, I don't know what the current academic stance on coding style is,
so: please don't comment too much.  You should never comment _what_ the
code does (that should be clear from the code!).  Add comments when it
is unclear /why/ something is the way it is.  Short references to what
section of the draft a particular function is about fall under that
category.  Also, complex algorithmic conditions or invariants do, since
those are not usually obvious from the code.

> Currently I shall be storing my code in a fork of Quagga on GitHub. If there is
> a preferred way of doing this I will be more that happy to switch to it. I have
> forked the latest release and plan on sticking with this release for the
> duration of the project - I have read that ospf6d is undergoing some
> fundamental changes, depending on the scale of these changes I may be able to
> apply my changes to the new code.

A good part of those changes has already been posted to the mailing
list.  However, as long as you work with git, everything is fine.  Note
that ospf6d is quite buggy and you may have to pull fixes from master if
they block your work.  If that happens, it would be preferable to
forward-port your entire branch.  Git should really make this reasonably
easy - if you need help on the git side of things, just ask!

> As a final note, I am new to mailing lists, so please excuse me if I have done
> anything wrong here!

All fine, welcome to Quagga & the list!


-David


P.S.: Your main implementation difficulty will /probably/ be managing to
cleanly deinitialise and "reboot" ospf6d in order to change the
router-id.  This probably involves some cleanup work that may overlap
with the pending cleanups.  If you manage to do this in a compatible
way, that would be extra awesome ;)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 230 bytes
Desc: Digital signature
URL: <http://lists.quagga.net/pipermail/quagga-dev/attachments/20130211/609bce1a/attachment-0001.sig>


More information about the Quagga-dev mailing list