diff options
Diffstat (limited to 'infra/src/ldbc.c')
| -rw-r--r-- | infra/src/ldbc.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/infra/src/ldbc.c b/infra/src/ldbc.c index db66d90..1c2fced 100644 --- a/infra/src/ldbc.c +++ b/infra/src/ldbc.c @@ -248,6 +248,10 @@ static void packet_parse_udp(struct pkt_parser * handler, const struct rte_mbuf struct rte_udp_hdr udp_hdr_copy; const struct rte_udp_hdr * udp_hdr = rte_pktmbuf_read(mbuf, offset, sizeof(struct rte_udp_hdr), &udp_hdr_copy); + if(unlikely(udp_hdr == NULL)) + { + return; + } /* 专用设备VxLAN封装 */ if (udp_hdr->dst_port == RTE_BE16(G_VXLAN_DPORT)) @@ -275,6 +279,10 @@ static void packet_parse_gre(struct pkt_parser * handler, const struct rte_mbuf struct rte_gre_hdr gre_hdr_copy; const struct rte_gre_hdr * gre_hdr = rte_pktmbuf_read(mbuf, offset, sizeof(struct rte_gre_hdr), &gre_hdr_copy); + if(unlikely(gre_hdr == NULL)) + { + return; + } uint16_t flags = rte_be_to_cpu_16(*(const uint16_t *)gre_hdr); flags >>= 12; |
