Skip to content

Commit 543d41c

Browse files
authored
Merge pull request #129 from CESNET/dpdk-update
dpdk: resolve issues #117, #118, #122, #125
2 parents ab8293b + c266f19 commit 543d41c

File tree

2 files changed

+4
-16
lines changed

2 files changed

+4
-16
lines changed

input/dpdk.cpp

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -263,7 +263,8 @@ bool DpdkCore::isNfbDpdkDriver()
263263

264264
std::vector<char *> DpdkCore::convertStringToArgvFormat(const std::string& ealParams)
265265
{
266-
std::vector<char *> args;
266+
// set first value as program name (argv[0])
267+
std::vector<char *> args = {"ipfixprobe"};
267268
std::istringstream iss(ealParams);
268269
std::string token;
269270

@@ -327,7 +328,6 @@ void DpdkReader::init(const char* params)
327328
createRteMempool(m_dpdkCore.parser.pkt_mempool_size());
328329
createRteMbufs(m_dpdkCore.parser.pkt_buffer_size());
329330
setupRxQueue();
330-
set_thread_affinity(m_rxQueueId);
331331

332332
m_dpdkCore.startIfReady();
333333
}
@@ -370,16 +370,6 @@ void DpdkReader::setupRxQueue()
370370
}
371371
}
372372

373-
int DpdkReader::set_thread_affinity(uint16_t thread_id)
374-
{
375-
cpu_set_t cpuset;
376-
377-
CPU_ZERO(&cpuset);
378-
CPU_SET(thread_id, &cpuset);
379-
380-
return pthread_setaffinity_np(pthread_self(), sizeof(cpuset), &cpuset);
381-
}
382-
383373
struct timeval DpdkReader::getTimestamp(rte_mbuf* mbuf)
384374
{
385375
struct timeval tv;
@@ -413,15 +403,15 @@ InputPlugin::Result DpdkReader::get(PacketBlock& packets)
413403
}
414404

415405
#ifndef WITH_FLEXPROBE
416-
parser_opt_t opt { &packets, false, false, DLT_EN10MB };
406+
parser_opt_t opt {&packets, false, false, 0};
417407
#endif
418408
packets.cnt = 0;
419409
for (auto i = 0; i < pkts_read_; i++) {
420410
rte_pktmbuf_free(mbufs_[i]);
421411
}
422412
pkts_read_ = rte_eth_rx_burst(m_portId, m_rxQueueId, mbufs_.data(), mbufs_.size());
423413
if (pkts_read_ == 0) {
424-
return Result::NOT_PARSED;
414+
return Result::TIMEOUT;
425415
}
426416

427417
for (auto i = 0; i < pkts_read_; i++) {
@@ -444,7 +434,6 @@ InputPlugin::Result DpdkReader::get(PacketBlock& packets)
444434
rte_pktmbuf_data_len(mbufs_[i]));
445435
m_seen++;
446436
m_parsed++;
447-
packets.cnt++;
448437
#endif
449438
}
450439

input/dpdk.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,6 @@ class DpdkReader : public InputPlugin {
218218
void createRteMempool(uint16_t mempoolSize);
219219
void createRteMbufs(uint16_t mbufsSize);
220220
void setupRxQueue();
221-
int set_thread_affinity(uint16_t thread_id);
222221
struct timeval getTimestamp(rte_mbuf* mbuf);
223222

224223
DpdkCore& m_dpdkCore;

0 commit comments

Comments
 (0)