Changeset 29532e3 for lib/protocols_l3.c

01/05/12 16:49:23 (10 years ago)
Shane Alcock <salcock@…>
4.0.1-hotfixes, cachetimestamps, develop, dpdk-ndag, etsilive, getfragoff, help, libtrace4, master, ndag_format, pfring, rc-4.0.1, rc-4.0.2, rc-4.0.3, rc-4.0.4, ringdecrementfix, ringperformance, ringtimestampfixes

Added support for parsing OSPFv2 headers, based on Simon Wadsworth's 591 project.

A few comments on the implementation thus far:

  • This code has only been tested with Hello, LS Update and LS Acknowledge packets. DB Desc and LS Request is completely untested, mainly due to a lack of traces containing those packets.
  • This release supports not only accessing the basic OSPF headers but also parsing the interesting LSAs and Link Ids in LSA Update packets.
  • OSPF is not a nice protocol - there's lots of dynamic length stuff for starters. I've tried to design the API so that is as nice as possible for the end user who may not be overly knowledgeable about OSPF. In particular, I've tried to minimise the amount of pointer arithmetic needed to get at the LSAs and Link Ids. More documentation and an example program will come in a later commit.
  • Also, whoever came up with 24-bit metric values should be shot. To make life easier for users, I've included functions to return the correct value for the metric from a given header. I hope you all appreciate the extra effort :)
(No files)

Note: See TracChangeset for help on using the changeset viewer.