YOSHIFUJI Hideaki / ???? wrote:
If it is okay to defer the checksumming after checking the next header
protocol, we can omit the checksumming in mip6_mh_filter(), and
leave it to rawv6_rcv() and rawv6_recvmsg().
Anyway, we have 4 options.
1. IPV6_CHECKSUM default for IPPROTO_MH == 4
omit checksumming in mip6_mh_filter()
2. IPV6_CHECKSUM default for IPPROTO_MH == -1
omit checksumming in mip6_mh_filter()
3. IPV6_CHECKSUM for IPPROTO_MH == 4
always perform checksumming in mip6_mh_filter()
4. IPV6_CHECKSUM default for IPPROTO_MH == -1
always perform checksumming in mip6_mh_filter()
Current behavior is 4, but it is not appropriate.
I guess 1 is the way to go.
I would like to have 1, too.
Another question may arise; is it okay to change the default if the
raw socket for Mobility Header is NOT for user-space daemon? or,
For such application (if any), it has used setsockopt = 4 or hasn't used it
for inbound checksum. Those code should work with the kernel change then I
can not find any issue here. Do you have anything else to be discussed?
is it okay to have two different default value depending on CONFIG_IPV6_MIP6?
If we take these question seriously, we should take 2.
We have a solution here, to remove "ifdef CONFIG_IPV6_MIP6" from
rawv6_init_sk() to have the same default value = 4 for IPPROTO_MH
regardless user config.
BTW ICMPv6 default is on and offset = 2. It is better idea for me
to have the similar design for both MH and ICMPv6 as raw socket stuff
than you pointed.
Regards,
--
Masahide NAKAMURA
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html