diff options
Diffstat (limited to 'src/stateless')
-rw-r--r-- | src/stateless/rx/trex_stateless_rx_port_mngr.cpp | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/src/stateless/rx/trex_stateless_rx_port_mngr.cpp b/src/stateless/rx/trex_stateless_rx_port_mngr.cpp index b01665ec..6ebe0a97 100644 --- a/src/stateless/rx/trex_stateless_rx_port_mngr.cpp +++ b/src/stateless/rx/trex_stateless_rx_port_mngr.cpp @@ -367,18 +367,24 @@ RXServer::create(uint8_t port_id, CPortLatencyHWBase *io, const CManyIPInfo *src void RXServer::handle_pkt(const rte_mbuf_t *m) { - - RXPktParser parser(m); - - if (parser.m_icmp) { - handle_icmp(parser); - } else if (parser.m_arp) { - handle_arp(parser); - } else { + try { + + RXPktParser parser(m); + + if (parser.m_icmp) { + handle_icmp(parser); + } else if (parser.m_arp) { + handle_arp(parser); + } else { + return; + } + + } catch (const TrexException &e) { return; } } + void RXServer::handle_icmp(RXPktParser &parser) { |