svn commit: r271538 - head/sys/net
Alexander V. Chernikov
melifaro at FreeBSD.org
Tue Sep 16 21:51:14 UTC 2014
On 15.09.2014 14:56, Gleb Smirnoff wrote:
> On Sat, Sep 13, 2014 at 06:13:08PM +0000, Alexander V. Chernikov wrote:
> A> @@ -1099,15 +1117,39 @@ vlan_transmit(struct ifnet *ifp, struct
> A> * Send it, precisely as ether_output() would have.
> A> */
> A> error = (p->if_transmit)(p, m);
> A> - if (!error) {
> A> - ifp->if_opackets++;
> A> - ifp->if_omcasts += mcast;
> A> - ifp->if_obytes += len;
> A> + if (error == 0) {
> A> + counter_u64_add(ifv->ifv_opackets, 1);
> A> + counter_u64_add(ifv->ifv_obytes, len);
> A> + counter_u64_add(ifv->ifv_omcasts, 1);
> A> } else
> A> ifp->if_oerrors++;
> A> return (error);
> A> }
>
> This looks like counting all packets as multicasts. Strange that compiler
> didn't warn you about write only variable.
Unfortunately, clang does not warn about this kind of thing.
>
> P.S. Why did you decide to keep if_oerrors old style?
Id had a stong feeling that oerrors is used both by drivers and stack.
It looks like this is not the case.
I've committed both changes in r271691.
>
More information about the svn-src-all
mailing list