[quagga-users 14996] Re: Which part of the kernel calculate the OSPF header checksum?
Matthias Ferdinand <mf-5+/[email protected]> Mon, 19 Nov 2018 17:27:06 +0100
| Newsgroups | gmane.network.quagga.user |
|---|---|
| Message-ID | <20181119162706.GE31811@xoff> |
On Sun, Nov 18, 2018 at 12:00:02PM +0000, quagga-users-request-UOy77sIEA+cAd7ICUelF/[email protected] wrote: > Message: 1 > Date: Sat, 17 Nov 2018 21:57:33 +0800 (GMT+08:00) > From: yanhc519 <yanhc519-9Onoh4P/[email protected]> > To: "quagga-users-UOy77sIEA+cAd7ICUelF/[email protected]" <quagga-users-UOy77sIEA+cAd7ICUelF/[email protected]> > Subject: [quagga-users 14995] Which part of the kernel calculate the > OSPF header checksum? > Message-ID: <6344384f.8712.16721f65ff4.Coremail.yanhc519-9Onoh4P/[email protected]> > Content-Type: text/plain; charset="utf-8" > > Hi, everyone! > > > In line 1649 of ospf6_message.c (\quagga-1.2.4\ospf6d), it says that "/* checksum is calculated by kernel */" as following. I am wondering which part of the kernel calculate the OSPF header checksum? In Sockets layer or IPv6 layer? And in which file of what kernel? > > > /* 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; > > > Thanks in advance! > > > Regards, > yanhc Hm, I don't remember the kernel meddling inside user space packets. Perhaps the comment is meant instead for authentication of OSPFv3 packets, as the protocol does not offer the simple auth mechanism as with OSPFv2. With v3, you have to resort to IPsec for authentication. Regards Matthias