diff options
author | Sepherosa Ziehau <sephe@FreeBSD.org> | 2016-04-01 06:28:33 +0000 |
---|---|---|
committer | Sepherosa Ziehau <sephe@FreeBSD.org> | 2016-04-01 06:28:33 +0000 |
commit | 6dd38b8716bd9c53029707749f00ced53c5ceb7c (patch) | |
tree | 35cb00c20034dc9b981e3d82e79fbab135221de3 /sys/dev/cxgb | |
parent | 04c247a1d073b57419345ae83581f2cb4db7d61f (diff) | |
download | src-6dd38b8716bd9c53029707749f00ced53c5ceb7c.tar.gz src-6dd38b8716bd9c53029707749f00ced53c5ceb7c.zip |
tcp/lro: Use tcp_lro_flush_all in device drivers to avoid code duplication
And factor out tcp_lro_rx_done, which deduplicates the same logic with
netinet/tcp_lro.c
Reviewed by: gallatin (1st version), hps, zbb, np, Dexuan Cui <decui microsoft com>
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D5725
Notes
Notes:
svn path=/head/; revision=297482
Diffstat (limited to 'sys/dev/cxgb')
-rw-r--r-- | sys/dev/cxgb/cxgb_sge.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/sys/dev/cxgb/cxgb_sge.c b/sys/dev/cxgb/cxgb_sge.c index a622fcfef566..c83bd66379e7 100644 --- a/sys/dev/cxgb/cxgb_sge.c +++ b/sys/dev/cxgb/cxgb_sge.c @@ -2976,11 +2976,7 @@ process_responses(adapter_t *adap, struct sge_qset *qs, int budget) #if defined(INET6) || defined(INET) /* Flush LRO */ - while (!SLIST_EMPTY(&lro_ctrl->lro_active)) { - struct lro_entry *queued = SLIST_FIRST(&lro_ctrl->lro_active); - SLIST_REMOVE_HEAD(&lro_ctrl->lro_active, next); - tcp_lro_flush(lro_ctrl, queued); - } + tcp_lro_flush_all(lro_ctrl); #endif if (sleeping) |