Please sign in to comment.
clarified goto-ours logic:
1. separated checks against spoofed ::1 src/dst from the goto-ours check. this also fixed a bug that the kernel accepted a packet with src=::1, dst=invalid, rcvif=lo0 (you can test it by 'ping6 -S ::1 fe80::xxxx%lo0", where xxxx is not an interface ID of lo0) 2. (experimentally) omitted a specical case for link-local destinations at a loopback interface. I believe this is correct, because - we now have a host route for fe80::1%lo0, so we can accept a packet to the address using the generic logic. - we can reject packets to fe80::xxxx%lo0 (xxxx != 1) by the check for the RTF_GATEWAY bit for rt_flags (ip6_input.c line 872). *** NOTE to developers:*** this is the case for bsdi4, but please check it on other platforms. after the confirmation, I'll completely remove the part (currently, it's just escaped by '#ifdef 0')
- Loading branch information...