diff options
author | Deepak S <deepak.s@linux.intel.com> | 2017-06-27 04:05:24 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@opnfv.org> | 2017-06-27 04:05:24 +0000 |
commit | d38200c52fe80c5917b6c50fe6d1a35f62c18dcd (patch) | |
tree | 555808fde6ec76cbc6291ad14325965ddc8bd700 /common/VIL/conntrack | |
parent | 59d5f45dd8999274a96389d211a585867d71d82d (diff) | |
parent | 923cc1be1f0966c398f122e4aac0a8f31d52d181 (diff) |
Merge "conntrack: Fix to avoid duplicate connections in initial burst"
Diffstat (limited to 'common/VIL/conntrack')
-rw-r--r-- | common/VIL/conntrack/rte_cnxn_tracking.c | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/common/VIL/conntrack/rte_cnxn_tracking.c b/common/VIL/conntrack/rte_cnxn_tracking.c index aa18058e..15596212 100644 --- a/common/VIL/conntrack/rte_cnxn_tracking.c +++ b/common/VIL/conntrack/rte_cnxn_tracking.c @@ -1481,6 +1481,7 @@ rte_ct_cnxn_tracker_batch_lookup_basic_type( struct rte_ct_cnxn_data *cnxn_data_entry[RTE_HASH_LOOKUP_BULK_MAX]; rte_prefetch0(ct->hash_table_entries); + rte_prefetch0(ct->rhash); if (CNXN_TRX_DEBUG > 1) { printf("Enter cnxn tracker %p", ct); @@ -1647,18 +1648,6 @@ rte_ct_cnxn_tracker_batch_lookup_basic_type( rte_prefetch0(entry); rte_prefetch0(&entry->key_is_client_order); } - else { - uint8_t pkt_index = compacting_map[i]; - uint32_t *key = ct->hash_key_ptrs[pkt_index]; - uint8_t protocol = *(key + 9); - if (protocol == UDP_PROTOCOL) { - /* Search in new connections only for UDP */ - entry = rte_ct_search_new_connections(ct, key); - rte_prefetch0(&entry->counters.packets_forwarded); - rte_prefetch0(entry); - rte_prefetch0(&entry->key_is_client_order); - } - } cnxn_data_entry[i] = entry; } @@ -1735,7 +1724,7 @@ rte_ct_cnxn_tracker_batch_lookup_basic_type( */ struct rte_ct_cnxn_data *recent_entry = - cnxn_data_entry[i]; + rte_ct_search_new_connections(ct, key); if (recent_entry != NULL) { if (rte_ct_udp_packet(ct, recent_entry, |