On 02/25/2010 02:50 PM, Eric S. Johnson wrote: > > [email protected] said: >> Can you try the attached patch and see if it properly detects the >> failure (at runtime) and takes proper action to use the ioctl? > > Quick answer, with no time today to investigate further, it didn't > work. I see what you tried to do, but something just wasn't right. > > It looked to me like: > > if (NlmUtils::check_netlink_request(_ns_reader, ns, nlh->nlmsg_seq, > last_errno, error_msg) > != XORP_OK) { > error_msg = c_format("check_netlink_request Cannot set the > interface flags to 0x%x on " > "interface %s: %s", > interface_flags, ifname.c_str(), > error_msg.c_str()); > return (XORP_ERROR); > } > > failed and vrrp aborted. I changed the error message to be different > than the one above it, that is how I know this one is the one that > failed. > > I tried just commenting out the return but that didn't help either. > > Heading home, will review in more detail tomorrow.
Can you let me know exactly what the error message was? That check_netlink_request can fail in several different ways... I think if you replace that return (XORP_ERROR) with: goto try_ioctl; it will work, but before I commit this, I'd like to see if I can only do that goto logic on certain errors from netlink.. Thanks, Ben > > E > -- Ben Greear <[email protected]> Candela Technologies Inc http://www.candelatech.com _______________________________________________ Xorp-hackers mailing list [email protected] http://mailman.ICSI.Berkeley.EDU/mailman/listinfo/xorp-hackers
