修复当包大小超过MTU时段错误的bug

This commit is contained in:
崔一鸣
2019-12-13 16:37:05 +08:00
parent b7a0b7ef9f
commit 9e42ae3596

View File

@@ -1254,6 +1254,11 @@ static char data_opstate(struct streaminfo *stream, struct pme_info *pmeinfo, co
ipv4_hdr = (struct iphdr*)a_packet; ipv4_hdr = (struct iphdr*)a_packet;
len = ntohs(ipv4_hdr->tot_len); 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); ret = send_to_tfe((char*)a_packet, len, thread_seq, pmeinfo->tfe_id, pmeinfo->addr_type);
if(ret < 0){ if(ret < 0){
KNI_LOG_ERROR(logger, "Failed at send continue packet to tfe%d, stream traceid = %s, stream addr = %s", KNI_LOG_ERROR(logger, "Failed at send continue packet to tfe%d, stream traceid = %s, stream addr = %s",