Date: Thu, 10 May 2018 18:01:48 -0700 (PDT) From: "Rodney W. Grimes" <freebsd@pdx.rh.CN85.dnsmgr.net> To: =?UTF-8?Q?Dag-Erling_Sm=C3=B8rgrav?= <des@freebsd.org> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r333476 - head/sys/net Message-ID: <201805110101.w4B11m6w072994@pdx.rh.CN85.dnsmgr.net> In-Reply-To: <201805110019.w4B0Jn0X026500@repo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
> Author: des > Date: Fri May 11 00:19:49 2018 > New Revision: 333476 > URL: https://svnweb.freebsd.org/changeset/base/333476 > > Log: > Slight cleanup of interface event logging. > > Make if_printf() use vlog() instead of vprintf(). This means it can no > longer return the number of characters printed, as it used to, but every > single call to if_printf() in the entire kernel ignores the return value > anyway; just return 0 so we don't have to change the prototype. > > Consistently use if_printf() throughout sys/net/if.c, instead of a > mixture of if_printf() and log(). > > In ifa_maintain_loopback_route(), don't needlessly log an error if we > either failed to add a route because it already existed or failed to > remove one because it did not. We still return an error code, though. Those are the only conditions under which I have ever seen this code log anything. These usually occur for me when a tunX device is going down, the route gets ripped out long before maintain_loopback ever has a chance to remove it. I still feel this whole maintain_loopback_route() is a implementaton of a hardcoded route policy in the kernel that we do not need, or want. > MFC after: 1 week > > Modified: > head/sys/net/if.c > > Modified: head/sys/net/if.c > ============================================================================== > --- head/sys/net/if.c Fri May 11 00:01:43 2018 (r333475) > +++ head/sys/net/if.c Fri May 11 00:19:49 2018 (r333476) > @@ -1832,9 +1832,10 @@ ifa_maintain_loopback_route(int cmd, const char *otype > > error = rtrequest1_fib(cmd, &info, NULL, ifp->if_fib); > > - if (error != 0) > - log(LOG_DEBUG, "%s: %s failed for interface %s: %u\n", > - __func__, otype, if_name(ifp), error); > + if (error != 0 && > + !(cmd == RTM_ADD && error == EEXIST) && > + !(cmd == RTM_DELETE && error == ENOENT)) > + if_printf(ifp, "%s failed: %d\n", otype, error); > > return (error); > } > @@ -2328,7 +2329,7 @@ do_link_state_change(void *arg, int pending) > if (pending > 1) > if_printf(ifp, "%d link states coalesced\n", pending); > if (log_link_state_change) > - log(LOG_NOTICE, "%s: link state changed to %s\n", ifp->if_xname, > + if_printf(ifp, "link state changed to %s\n", > (link_state == LINK_STATE_UP) ? "UP" : "DOWN" ); > EVENTHANDLER_INVOKE(ifnet_link_event, ifp, link_state); > CURVNET_RESTORE(); > @@ -2631,8 +2632,7 @@ ifhwioctl(u_long cmd, struct ifnet *ifp, caddr_t data, > else if (ifp->if_pcount == 0) > ifp->if_flags &= ~IFF_PROMISC; > if (log_promisc_mode_change) > - log(LOG_INFO, "%s: permanently promiscuous mode %s\n", > - ifp->if_xname, > + if_printf(ifp, "permanently promiscuous mode %s\n", > ((new_flags & IFF_PPROMISC) ? > "enabled" : "disabled")); > } > @@ -2695,8 +2695,7 @@ ifhwioctl(u_long cmd, struct ifnet *ifp, caddr_t data, > rt_ifannouncemsg(ifp, IFAN_DEPARTURE); > EVENTHANDLER_INVOKE(ifnet_departure_event, ifp); > > - log(LOG_INFO, "%s: changing name to '%s'\n", > - ifp->if_xname, new_name); > + if_printf(ifp, "changing name to '%s'\n", new_name); > > IF_ADDR_WLOCK(ifp); > strlcpy(ifp->if_xname, new_name, sizeof(ifp->if_xname)); > @@ -3199,8 +3198,7 @@ ifpromisc(struct ifnet *ifp, int pswitch) > /* If promiscuous mode status has changed, log a message */ > if (error == 0 && ((ifp->if_flags ^ oldflags) & IFF_PROMISC) && > log_promisc_mode_change) > - log(LOG_INFO, "%s: promiscuous mode %s\n", > - ifp->if_xname, > + if_printf(ifp, "promiscuous mode %s\n", > (ifp->if_flags & IFF_PROMISC) ? "enabled" : "disabled"); > return (error); > } > @@ -3905,16 +3903,16 @@ if_initname(struct ifnet *ifp, const char *name, int u > } > > int > -if_printf(struct ifnet *ifp, const char * fmt, ...) > +if_printf(struct ifnet *ifp, const char *fmt, ...) > { > + char if_fmt[256]; > va_list ap; > - int retval; > > - retval = printf("%s: ", ifp->if_xname); > + snprintf(if_fmt, sizeof(if_fmt), "%s: %s", ifp->if_xname, fmt); > va_start(ap, fmt); > - retval += vprintf(fmt, ap); > + vlog(LOG_INFO, if_fmt, ap); > va_end(ap); > - return (retval); > + return (0); > } > > void > > -- Rod Grimes rgrimes@freebsd.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201805110101.w4B11m6w072994>