Checksum verification of hello & dbdesc packets with ospfv3 in quagga

In the current Quagga Code for OSPFv3, checksum verification is not taken into account for OSPFv3 hello and Database description packet.
Still while sending the packets, checksum is having a 0 value but at receiver it is coming out to be a non zero value.
Going through the code, it is written that…

In ospf6_send() function****

/* fill OSPF header /
oh->version = OSPFV3_VERSION;
/
message type must be set before /
/
message length must be set before */
oh->router_id = oi->area->ospf6->router_id;
oh->area_id = oi->area->area_id;
/ checksum is calculated by kernel /
oh->instance_id = oi->instance_id;
oh->reserved = 0;


But the code where it is calculated by Kernel cannot be found.
Please suggest where the exact calculation for checksum is done.

Also in LSA packets, there is functions in code to calculate checksum value using ospf6_lsa_checksum() in the file ospf6_intra.c, also another ospf6_receive_lsa() function in the file ospf6_flood.c verifies it’s value in receving packet.
So please guide me how to calculate checksum value in sending as well as reciving end for hello & dbdesc packets?
Can we use those functions in hello & dbdesc packets?

any solution is welcome…

On Sat, 26 Jan 2013 14:06:01 +0000, lpareta wrote:

> So please guide me how to calculate checksum value in sending as well as
> reciving end for hello & dbdesc packets?

You might do well by talking to developers on the kernel mailing list who
were involved in writing the code.

I have to admit that this sounds like it might be a homework assignment,
though.

Jim

Jim Henderson
openSUSE Forums Administrator
Forum Use Terms & Conditions at http://tinyurl.com/openSUSE-T-C