Temporary fix of o1 compilation .[Issue-Id: ODUHIGH-285]
[o-du/l2.git] / src / 5gnrrlc / mac_stub.c
1 /*******************************************************************************
2 ################################################################################
3 #   Copyright (c) [2017-2019] [Radisys]                                        #
4 #                                                                              #
5 #   Licensed under the Apache License, Version 2.0 (the "License");            #
6 #   you may not use this file except in compliance with the License.           #
7 #   You may obtain a copy of the License at                                    #
8 #                                                                              #
9 #       http://www.apache.org/licenses/LICENSE-2.0                             #
10 #                                                                              #
11 #   Unless required by applicable law or agreed to in writing, software        #
12 #   distributed under the License is distributed on an "AS IS" BASIS,          #
13 #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.   #
14 #   See the License for the specific language governing permissions and        #
15 #   limitations under the License.                                             #
16 ################################################################################
17 *******************************************************************************/
18
19 #ifdef EGTP_TEST
20 #include "common_def.h"
21
22 #define DU_IP_V4_ADDR "192.168.130.81"
23 #define CU_IP_V4_ADDR "192.168.130.82"
24
25 uint8_t rlcDatSn = 0;
26
27 void macStubBuildUlData(Buffer *mBuf)
28 {
29    char data[30] = "This is EGTP data from DU";
30    int datSize = 30;
31
32    ODU_ADD_POST_MSG_MULT((Data *)data, datSize, mBuf);
33
34    /* filling IPv4 header */
35    CmIpv4Hdr ipv4Hdr;
36    MsgLen    mLen;
37    uint32_t ipv4_du, ipv4_cu;
38    
39    cmInetAddr((S8*)DU_IP_V4_ADDR, &ipv4_du);
40    cmInetAddr((S8*)CU_IP_V4_ADDR, &ipv4_cu);
41
42    mLen = 0;
43    SFndLenMsg(mBuf, &mLen);
44  
45    memset(&ipv4Hdr, 0, sizeof(CmIpv4Hdr));
46    ipv4Hdr.length = CM_IPV4_HDRLEN + mLen;
47    ipv4Hdr.hdrVer = 0x45;
48    ipv4Hdr.proto = 1;
49    ipv4Hdr.srcAddr = CM_INET_NTOH_UINT32(ipv4_du);
50    ipv4Hdr.destAddr = CM_INET_NTOH_UINT32(ipv4_cu);
51   
52    /* Packing IPv4 header into buffer */
53    S16          ret, cnt, idx;
54    Data         revPkArray[CM_IPV4_HDRLEN];
55    Data         pkArray[CM_IPV4_HDRLEN];
56   
57    /* initialize locals */
58    cnt = 0;
59    memset(revPkArray, 0, CM_IPV4_HDRLEN);
60    memset(pkArray, 0, CM_IPV4_HDRLEN);
61  
62    /* Pack Header Version */
63    pkArray[cnt++] = ipv4Hdr.hdrVer;
64   
65    /* Pack TOS */
66    pkArray[cnt++] = ipv4Hdr.tos;
67   
68    pkArray[cnt++] = (Data)GetHiByte(ipv4Hdr.length);
69    pkArray[cnt++] = (Data)GetLoByte(ipv4Hdr.length);
70     
71    /* Pack Id */
72    pkArray[cnt++] = (Data) GetHiByte(ipv4Hdr.id);
73    pkArray[cnt++] = (Data) GetLoByte(ipv4Hdr.id);
74     
75    /* Pack Offset */
76    pkArray[cnt++] = (Data)GetHiByte(ipv4Hdr.off);
77    pkArray[cnt++] = (Data)GetLoByte(ipv4Hdr.off);
78    
79    /* Pack TTL */
80    pkArray[cnt++] = ipv4Hdr.ttl;
81     
82    /* Pack Protocol */
83    pkArray[cnt++] = ipv4Hdr.proto;
84     
85    /* Pack Checksum */
86    pkArray[cnt++] = (Data)GetHiByte(ipv4Hdr.chkSum);
87    pkArray[cnt++] = (Data)GetLoByte(ipv4Hdr.chkSum);
88     
89    /* Pack Source Address */
90    pkArray[cnt++] = (Data)GetHiByte(GetHiWord(ipv4Hdr.srcAddr));
91    pkArray[cnt++] = (Data)GetLoByte(GetHiWord(ipv4Hdr.srcAddr));
92    pkArray[cnt++] = (Data)GetHiByte(GetLoWord(ipv4Hdr.srcAddr));
93    pkArray[cnt++] = (Data)GetLoByte(GetLoWord(ipv4Hdr.srcAddr));
94     
95    /* Pack Destination Address */
96    pkArray[cnt++] = (Data)GetHiByte(GetHiWord(ipv4Hdr.destAddr));
97    pkArray[cnt++] = (Data)GetLoByte(GetHiWord(ipv4Hdr.destAddr));
98    pkArray[cnt++] = (Data)GetHiByte(GetLoWord(ipv4Hdr.destAddr));
99    pkArray[cnt++] = (Data)GetLoByte(GetLoWord(ipv4Hdr.destAddr));
100     
101    for (idx = 0;  idx < CM_IPV4_HDRLEN;  idx++)
102         revPkArray[idx] = pkArray[CM_IPV4_HDRLEN - idx -1];
103     
104    /* this function automatically reverses revPkArray */
105    ret = ODU_ADD_PRE_MSG_MULT(revPkArray, (MsgLen)cnt, mBuf);
106
107    ODU_ADD_PRE_MSG_MULT((Data *)&rlcDatSn, sizeof(uint8_t), mBuf);
108
109    if(rlcDatSn++ >15 )
110       rlcDatSn = 0;
111
112 } /* macStubBuildUlData */
113
114 #endif /* EGTP_TEST */
115
116 /**********************************************************************
117          End of file
118 **********************************************************************/