Message ID | 1420044346-27957-1-git-send-email-blp@nicira.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
On Wednesday, December 31, 2014 08:45:46 AM Ben Pfaff wrote: > Until now, when VLAN acceleration was in use, the bytes of the VLAN header > were not included in port or flow byte counters. They were however > included when VLAN acceleration was not used. This commit corrects the > inconsistency, by always including the VLAN header in byte counters. > > Previous discussion at > http://openvswitch.org/pipermail/dev/2014-December/049521.html > > Reported-by: Motonori Shindo <mshindo@vmware.com> > Signed-off-by: Ben Pfaff <blp@nicira.com> > --- > net/openvswitch/flow.c | 5 +++-- > net/openvswitch/vport.c | 2 +- > 2 files changed, 4 insertions(+), 3 deletions(-) Looks good to me. Reviewed-by: Flavio Leitner <fbl@sysclose.org> -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wed, Dec 31, 2014 at 8:45 AM, Ben Pfaff <blp@nicira.com> wrote: > Until now, when VLAN acceleration was in use, the bytes of the VLAN header > were not included in port or flow byte counters. They were however > included when VLAN acceleration was not used. This commit corrects the > inconsistency, by always including the VLAN header in byte counters. > > Previous discussion at > http://openvswitch.org/pipermail/dev/2014-December/049521.html > > Reported-by: Motonori Shindo <mshindo@vmware.com> > Signed-off-by: Ben Pfaff <blp@nicira.com> Looks good. Acked-by: Pravin B Shelar <pshelar@nicira.com> -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
From: Ben Pfaff <blp@nicira.com> Date: Wed, 31 Dec 2014 08:45:46 -0800 > Until now, when VLAN acceleration was in use, the bytes of the VLAN header > were not included in port or flow byte counters. They were however > included when VLAN acceleration was not used. This commit corrects the > inconsistency, by always including the VLAN header in byte counters. > > Previous discussion at > http://openvswitch.org/pipermail/dev/2014-December/049521.html > > Reported-by: Motonori Shindo <mshindo@vmware.com> > Signed-off-by: Ben Pfaff <blp@nicira.com> Applied, thank you. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/net/openvswitch/flow.c b/net/openvswitch/flow.c index 70bef2a..da2fae0 100644 --- a/net/openvswitch/flow.c +++ b/net/openvswitch/flow.c @@ -70,6 +70,7 @@ void ovs_flow_stats_update(struct sw_flow *flow, __be16 tcp_flags, { struct flow_stats *stats; int node = numa_node_id(); + int len = skb->len + (vlan_tx_tag_present(skb) ? VLAN_HLEN : 0); stats = rcu_dereference(flow->stats[node]); @@ -105,7 +106,7 @@ void ovs_flow_stats_update(struct sw_flow *flow, __be16 tcp_flags, if (likely(new_stats)) { new_stats->used = jiffies; new_stats->packet_count = 1; - new_stats->byte_count = skb->len; + new_stats->byte_count = len; new_stats->tcp_flags = tcp_flags; spin_lock_init(&new_stats->lock); @@ -120,7 +121,7 @@ void ovs_flow_stats_update(struct sw_flow *flow, __be16 tcp_flags, stats->used = jiffies; stats->packet_count++; - stats->byte_count += skb->len; + stats->byte_count += len; stats->tcp_flags |= tcp_flags; unlock: spin_unlock(&stats->lock); diff --git a/net/openvswitch/vport.c b/net/openvswitch/vport.c index 53f3ebb..2034c6d 100644 --- a/net/openvswitch/vport.c +++ b/net/openvswitch/vport.c @@ -480,7 +480,7 @@ void ovs_vport_receive(struct vport *vport, struct sk_buff *skb, stats = this_cpu_ptr(vport->percpu_stats); u64_stats_update_begin(&stats->syncp); stats->rx_packets++; - stats->rx_bytes += skb->len; + stats->rx_bytes += skb->len + (vlan_tx_tag_present(skb) ? VLAN_HLEN : 0); u64_stats_update_end(&stats->syncp); OVS_CB(skb)->input_vport = vport;
Until now, when VLAN acceleration was in use, the bytes of the VLAN header were not included in port or flow byte counters. They were however included when VLAN acceleration was not used. This commit corrects the inconsistency, by always including the VLAN header in byte counters. Previous discussion at http://openvswitch.org/pipermail/dev/2014-December/049521.html Reported-by: Motonori Shindo <mshindo@vmware.com> Signed-off-by: Ben Pfaff <blp@nicira.com> --- net/openvswitch/flow.c | 5 +++-- net/openvswitch/vport.c | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-)