From 64e3c4e551a8b10384cfa3fe927133a1d88d790b Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Tue, 5 Jan 2016 11:42:51 -0800 Subject: [PATCH 1/1] pinsched: Remove obsolete ofpbuf_trim(). This call to ofpbuf_trim() comes from a time when the packets passed to pinsched came directly from a dpif. For some time now that's no longer true--now they are messages generated by ofputil_encode_packet_in(), which generally are well sized and do not benefit from trimming. This is not a bug fix--the code is equally correct either way, it's only the rationale for trimming that's obsolete. Signed-off-by: Ben Pfaff Acked-by: Jarno Rajahalme --- ofproto/pinsched.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/ofproto/pinsched.c b/ofproto/pinsched.c index d81c9b305..c7118a6cf 100644 --- a/ofproto/pinsched.c +++ b/ofproto/pinsched.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013, 2014 Nicira, Inc. + * Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2016 Nicira, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -195,18 +195,11 @@ pinsched_send(struct pinsched *ps, ofp_port_t port_no, list_push_back(txq, &packet->list_node); } else { /* Otherwise queue it up for the periodic callback to drain out. */ - struct pinqueue *q; - - /* We might be called with a buffer obtained from dpif_recv() that has - * much more allocated space than actual content most of the time. - * Since we're going to store the packet for some time, free up that - * otherwise wasted space. */ - ofpbuf_trim(packet); - if (ps->n_queued * 1000 >= ps->token_bucket.burst) { drop_packet(ps); } - q = pinqueue_get(ps, port_no); + + struct pinqueue *q = pinqueue_get(ps, port_no); list_push_back(&q->packets, &packet->list_node); q->n++; ps->n_queued++; -- 2.20.1