We've got a lovely shiny new carp thanks to glebius in head but unfortunately its not going to get MFC'ed so for the time being those users on -RELEASE / -STABLE need to use the current implementation which has a nasty issue where by it doesn't cleanup when IP's are removed hence gets into an invalid state.
The code was there for address cleanup but was never being called because in_control was never calling ifp->if_ioctl in the SIOCDIFADDR case. Once I wired this up it uncovered a few more issues with carp_del_addr* methods, so I've patched those too. The call from in_control ignores EINVAL and ENOTTY (which seems like compat and appears to only be used in if_mxge) to try and ensure backwards compatibility, I could go further and ignore all error returns but I don't think that would be a good idea. Given this can't go into head first as carp has changed so much I'd like to get feedback to confirm it all looks good and isn't going to break the world. What do people think? Did I miss anything or is there a better way to do this that anyone knows of? I should mention Glebius has already looked at it and seemed to think it looked sane. Regards Steve ================================================This e.mail is private and confidential between Multiplay (UK) Ltd. and the person or entity to whom it is addressed. In the event of misdirection, the recipient is prohibited from using, copying, printing or otherwise disseminating it or any information contained in it.
In the event of misdirection, illegible or incomplete transmission please telephone +44 845 868 1337 or return the E.mail to postmas...@multiplay.co.uk.
carp-addr-del.patch
Description: Binary data
_______________________________________________ freebsd-net@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"