From 9e42ae359628b3876e6afb8b0d75f9c030ce059d Mon Sep 17 00:00:00 2001 From: 崔一鸣 Date: Fri, 13 Dec 2019 16:37:05 +0800 Subject: 修复当包大小超过MTU时段错误的bug MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- entry/src/kni_entry.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/entry/src/kni_entry.cpp b/entry/src/kni_entry.cpp index 34f4090..e3f7fa8 100644 --- a/entry/src/kni_entry.cpp +++ b/entry/src/kni_entry.cpp @@ -1254,6 +1254,11 @@ static char data_opstate(struct streaminfo *stream, struct pme_info *pmeinfo, co ipv4_hdr = (struct iphdr*)a_packet; len = ntohs(ipv4_hdr->tot_len); } + if(pktinfo.ip_totlen > KNI_DEFAULT_MTU){ + KNI_LOG_DEBUG(logger, "Next data packet exceed MTU(1500), stream traceid = %s, stream addr = %s", + pmeinfo->stream_traceid, pmeinfo->stream_addr); + return APP_STATE_DROPPKT | APP_STATE_GIVEME; + } ret = send_to_tfe((char*)a_packet, len, thread_seq, pmeinfo->tfe_id, pmeinfo->addr_type); if(ret < 0){ KNI_LOG_ERROR(logger, "Failed at send continue packet to tfe%d, stream traceid = %s, stream addr = %s", -- cgit v1.2.3