• Eric Dumazet's avatar
    ip_gre: percpu stats accounting · e985aad7
    Eric Dumazet authored
    Le lundi 27 septembre 2010 à 14:29 +0100, Ben Hutchings a écrit :
    
    > > diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c
    > > index 5d6ddcb..de39b22 100644
    > > --- a/net/ipv4/ip_gre.c
    > > +++ b/net/ipv4/ip_gre.c
    > [...]
    > > @@ -377,7 +405,7 @@ static struct ip_tunnel *ipgre_tunnel_locate(struct net *net,
    > >  	if (parms->name[0])
    > >  		strlcpy(name, parms->name, IFNAMSIZ);
    > >  	else
    > > -		sprintf(name, "gre%%d");
    > > +		strcpy(name, "gre%d");
    > >
    > >  	dev = alloc_netdev(sizeof(*t), name, ipgre_tunnel_setup);
    > >  	if (!dev)
    > [...]
    >
    > This is a valid fix, but doesn't belong in this patch!
    >
    
    Sorry ? It was not a fix, but at most a cleanup ;)
    
    Anyway I forgot the gretap case...
    
    [PATCH 2/4 v2] ip_gre: percpu stats accounting
    
    Maintain per_cpu tx_bytes, tx_packets, rx_bytes, rx_packets.
    
    Other seldom used fields are kept in netdev->stats structure, possibly
    unsafe.
    
    This is a preliminary work to support lockless transmit path, and
    correct RX stats, that are already unsafe.
    Signed-off-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    e985aad7
ip_gre.c 42.1 KB