On Wed, Dec 26, 2018 at 09:27:59PM +0100, Denis Fondras wrote: > Resend because of nasty typo :/ > > On Mon, Dec 24, 2018 at 08:43:10PM -0200, Martin Pieuchot wrote: > > I'm not happy with adding the IFF_MULTICAST flag and SIOC{ADD,DEL}MULTI > > ioctls. It seems to be a common pattern between in existing pseudo-driver, > > so this shouldn't block you. However I'd greatly appreciate if you > > could explain to us which code is asking for this and if this could be > > improved. > > > > Interface needs IFF_MULTICAST when enabling IPv6 as per in6_ifattach(). > When an address is configured, the interface joins multicast groups with > in6_joingroup() (hence use SIOCADDMULTI) but only if IFF_MULTICAST is set. It > is > useful for interfaces extern-facing interfaces, not so much for internal (like > mpe) as they won't process all-{nodes, routers} packets. > > We may remove the test in in6_ifattach() because there are many tests through > the stack. It works if I disable the test in in6_ifattach() and remove the > IFF_MULTICAST. However I haven't tested further so it may break elsewhere. >
Doing IFF_MULTICAST on a true IFF_POINTOPOINT interface is indeed trivial and save. I think that bit of the mpe(4) diff is OK and I would not go and try to work around this in in6 code. IPv6 requires multicast and it was an oversight in mpe(4) to not add it. -- :wq Claudio