From eec53f12145687a916500a9360999ffb8cecf856 Mon Sep 17 00:00:00 2001 From: Lionel Gauthier <lionel.gauthier@eurecom.fr> Date: Tue, 4 Nov 2014 08:09:58 +0000 Subject: [PATCH] git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5960 818b1a75-f10b-46b9-bf7c-635c3b92a50f --- openair-cn/GTPV1-U/nw-gtpv1u/src/NwGtpv1u.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/openair-cn/GTPV1-U/nw-gtpv1u/src/NwGtpv1u.c b/openair-cn/GTPV1-U/nw-gtpv1u/src/NwGtpv1u.c index 366a340119..59659c4256 100644 --- a/openair-cn/GTPV1-U/nw-gtpv1u/src/NwGtpv1u.c +++ b/openair-cn/GTPV1-U/nw-gtpv1u/src/NwGtpv1u.c @@ -510,20 +510,22 @@ nwGtpv1uProcessGpdu( NwGtpv1uStackT *thiz, gpduLen, &hMsg); - payload_len = ntohs(msgHdr->msgLength); - hdr_len = NW_GTPV1U_EPC_MIN_HEADER_SIZE; - if (msgHdr->S || msgHdr->PN || msgHdr->E ) { - hdr_len = NW_GTPV1U_EPC_SPECIFIC_HEADER_SIZE; - payload_len = payload_len - (NW_GTPV1U_EPC_SPECIFIC_HEADER_SIZE - NW_GTPV1U_EPC_MIN_HEADER_SIZE); - } - AssertFatal(gpduLen == (payload_len + hdr_len), - "Mismatch gpduLen %d / hdr_len %d / payload_len %d", - gpduLen, hdr_len, payload_len); if(NW_GTPV1U_OK == rc) { NwGtpv1uMsgT *pMsg = (NwGtpv1uMsgT *) hMsg; GTPU_DEBUG("Received T-PDU over tunnel end-point '%x' of size %u from "NW_IPV4_ADDR"\n", ntohl(msgHdr->teid), pMsg->msgLen, NW_IPV4_ADDR_FORMAT((peerIp))); + + payload_len = ntohs(msgHdr->msgLength); + hdr_len = NW_GTPV1U_EPC_MIN_HEADER_SIZE; + if (msgHdr->S || msgHdr->PN || msgHdr->E ) { + hdr_len = NW_GTPV1U_EPC_SPECIFIC_HEADER_SIZE; + payload_len = payload_len - (NW_GTPV1U_EPC_SPECIFIC_HEADER_SIZE - NW_GTPV1U_EPC_MIN_HEADER_SIZE); + } + AssertFatal(gpduLen == (payload_len + hdr_len), + "Mismatch gpduLen %d / hdr_len %d / payload_len %d", + gpduLen, hdr_len, payload_len); + rc = nwGtpSessionSendMsgApiToUlpEntity(pTunnelEndPoint, pMsg); } } else { -- GitLab