summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author崔一鸣 <[email protected]>2019-12-13 16:37:05 +0800
committer崔一鸣 <[email protected]>2019-12-13 16:37:05 +0800
commit9e42ae359628b3876e6afb8b0d75f9c030ce059d (patch)
treebed38774532db26d3e77e35f32515d741ccfa6fd
parentb7a0b7ef9f4e0597d06e3cbe56b994ef387662ef (diff)
修复当包大小超过MTU时段错误的bugv2.1.5-20191217
-rw-r--r--entry/src/kni_entry.cpp5
1 files changed, 5 insertions, 0 deletions
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",