branch LG_PRE_RELEASE_0.3 reintegration

git-svn-id: http://svn.eurecom.fr/openair4G/trunk@7117 818b1a75-f10b-46b9-bf7c-635c3b92a50f
This commit is contained in:
Lionel Gauthier
2015-04-10 13:18:11 +00:00
parent 4f583e2053
commit 56c9000558
227 changed files with 11342 additions and 10069 deletions
+5 -5
View File
@@ -1,6 +1,6 @@
# NAS CELLULAR Driver makefile
#
include $(OPENAIR_HOME)/common/utils/Makefile.inc
include $(OPENAIR_DIR)/common/utils/Makefile.inc
NAS_UPDIR := $(shell /bin/pwd)
####################################################
@@ -21,8 +21,8 @@ EXTRA_CFLAGS += -DNAS_DRIVER_TYPE_ETHERNET
endif
ifdef NAS_NETLINK
EXTRA_CFLAGS += -DNAS_NETLINK
ifdef PDCP_USE_NETLINK
EXTRA_CFLAGS += -DPDCP_USE_NETLINK
else
EXTRA_CFLAGS += $(shell rtai-config --module-cflags) -DRTAI -D__IN_RTAI__ -Wall
endif
@@ -52,7 +52,7 @@ nascellmt-objs += nasmt_iocontrol.o
nascellmt-objs += nasmt_classifier.o
nascellmt-objs += nasmt_tool.o
nascellmt-objs += nasmt_ascontrol.o
ifdef NAS_NETLINK
ifdef PDCP_USE_NETLINK
nascellmt-objs += nasmt_netlink.o
endif
@@ -61,7 +61,7 @@ endif
####################################################
#netlink.ko:
#make $(x)$(y) NAS_NETLINK=1 V=1 -C $(KERNEL_DIR) M=`pwd` modules
#make $(x)$(y) PDCP_USE_NETLINK=1 V=1 -C $(KERNEL_DIR) M=`pwd` modules
#nasmesh.ko:
# make V=1 -C $(KERNEL_DIR) M=`pwd` modules
@@ -59,7 +59,7 @@ int nasmt_ASCTL_write(int sap, unsigned char *data_buffer, unsigned int data_len
{
//---------------------------------------------------------------------------
int bytes_wrote = 0;
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
unsigned char xmit_buffer [NAS_MESSAGE_MAXLEN];
//MT xmit on DC-SAP only
xmit_buffer[0] = RRC_NAS_DC0_IN;
@@ -68,7 +68,7 @@ int nasmt_ASCTL_write(int sap, unsigned char *data_buffer, unsigned int data_len
#else
//bytes_wrote = rtf_put(cx->sap[NAS_DC_INPUT_SAPI], p, p->length); //original version
bytes_wrote = rtf_put(sap, data_buffer, data_length);
#endif //NAS_NETLINK
#endif //PDCP_USE_NETLINK
return bytes_wrote;
}
@@ -443,7 +443,7 @@ void nasmt_ASCTL_DC_send_sig_data_request(struct sk_buff *skb, struct cx_entity
struct nas_ue_dc_element *p;
char data_type = 'A';
int bytes_wrote = 0;
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
unsigned char xbuffer[NAS_MESSAGE_MAXLEN];
int count=0;
#endif
@@ -472,7 +472,7 @@ void nasmt_ASCTL_DC_send_sig_data_request(struct sk_buff *skb, struct cx_entity
p->nasUEDCPrimitive.data_transfer_req.nasDataLength = (skb->len)+1; //adds category character
//bytes_wrote = rtf_put(cx->sap[NAS_DC_INPUT_SAPI], p, p->length); //original version
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
memcpy(xbuffer,(unsigned char *)p, p->length);
count = p->length;
bytes_wrote = count;
@@ -486,7 +486,7 @@ void nasmt_ASCTL_DC_send_sig_data_request(struct sk_buff *skb, struct cx_entity
return;
}
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
memcpy(&(xbuffer[count]),(unsigned char *)&data_type, 1);
count += 1;
bytes_wrote = count;
@@ -494,7 +494,7 @@ void nasmt_ASCTL_DC_send_sig_data_request(struct sk_buff *skb, struct cx_entity
bytes_wrote += nasmt_ASCTL_write(cx->sap[NAS_DC_INPUT_SAPI], (unsigned char *)&data_type, 1);
#endif
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
memcpy(&(xbuffer[count]),(unsigned char *)skb->data, skb->len);
count += skb->len;
bytes_wrote = nasmt_ASCTL_write(cx->sap[NAS_DC_INPUT_SAPI], xbuffer, count);
@@ -524,7 +524,7 @@ void nasmt_ASCTL_DC_send_peer_sig_data_request(struct cx_entity *cx, uint8_t sig
unsigned int nasmt_length;
char data_type = 'Z';
int bytes_wrote = 0;
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
unsigned char xbuffer[NAS_MESSAGE_MAXLEN];
int count=0;
#endif
@@ -559,7 +559,7 @@ void nasmt_ASCTL_DC_send_peer_sig_data_request(struct cx_entity *cx, uint8_t sig
p->nasUEDCPrimitive.data_transfer_req.nasDataLength = (nasmt_length)+1; //adds category character
//bytes_wrote = rtf_put(cx->sap[NAS_DC_INPUT_SAPI], p, p->length); //original version
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
memcpy(xbuffer,(unsigned char *)p, p->length);
count = p->length;
bytes_wrote = count;
@@ -573,14 +573,14 @@ void nasmt_ASCTL_DC_send_peer_sig_data_request(struct cx_entity *cx, uint8_t sig
return;
}
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
memcpy(&(xbuffer[count]),(unsigned char *)&data_type, 1);
count += 1;
#else
bytes_wrote += nasmt_ASCTL_write(cx->sap[NAS_DC_INPUT_SAPI], (unsigned char *)&data_type, 1);
#endif
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
memcpy(&(xbuffer[count]),(unsigned char *)nasmt_data, nasmt_length);
count += nasmt_length;
bytes_wrote = nasmt_ASCTL_write(cx->sap[NAS_DC_INPUT_SAPI], xbuffer, count);
@@ -720,7 +720,7 @@ void nasmt_ASCTL_DC_decode_sig_data_ind(struct cx_entity *cx, struct nas_ue_dc_e
#endif
//nasmt_COMMON_receive(p->length, p->nasUEDCPrimitive.data_transfer_ind.nasDataLength, cx->sap[GRAAL_DC_OUTPUT_SAPI]); // original
#ifndef NAS_NETLINK
#ifndef PDCP_USE_NETLINK
//void nasmt_COMMON_receive(uint16_t bytes_read, uint16_t payload_length, void *data_buffer, int rb_id, int sap);
// data_buffer is NULL because FIFO should be read directly in the skbuff (LITE has an intermediary buffer)
nasmt_COMMON_receive(p->length, p->nasUEDCPrimitive.data_transfer_ind.nasDataLength, NULL, 2, cx->sap[NAS_DC_OUTPUT_SAPI]);
@@ -945,7 +945,7 @@ int nasmt_ASCTL_DC_receive(struct cx_entity *cx, char *buffer)
// End debug information
#ifndef NAS_NETLINK
#ifndef PDCP_USE_NETLINK
bytes_read = rtf_get(cx->sap[NAS_DC_OUTPUT_SAPI] , gpriv->rbuffer, NAS_TL_SIZE);
#else
bytes_read = NAS_TL_SIZE;
@@ -955,7 +955,7 @@ int nasmt_ASCTL_DC_receive(struct cx_entity *cx, char *buffer)
if (bytes_read>0) {
struct nas_ue_dc_element *p;
#ifndef NAS_NETLINK
#ifndef PDCP_USE_NETLINK
p= (struct nas_ue_dc_element *)(gpriv->rbuffer);
//get the rest of the primitive
bytes_read += rtf_get(cx->sap[NAS_DC_OUTPUT_SAPI], (uint8_t *)p+NAS_TL_SIZE, p->length-NAS_TL_SIZE);
@@ -1105,7 +1105,7 @@ int nasmt_ASCTL_GC_receive(char *buffer)
#endif
// End debug information
#ifndef NAS_NETLINK
#ifndef PDCP_USE_NETLINK
bytes_read = rtf_get(gpriv->sap[NAS_GC_SAPI], gpriv->rbuffer, NAS_TL_SIZE);
#else
bytes_read = NAS_TL_SIZE;
@@ -1114,7 +1114,7 @@ int nasmt_ASCTL_GC_receive(char *buffer)
//
if (bytes_read>0) {
struct nas_ue_gc_element *p;
#ifndef NAS_NETLINK
#ifndef PDCP_USE_NETLINK
p= (struct nas_ue_gc_element *)(gpriv->rbuffer);
//get the rest of the primitive
bytes_read += rtf_get(gpriv->sap[NAS_GC_SAPI], (uint8_t *)p+NAS_TL_SIZE, p->length-NAS_TL_SIZE);
@@ -1132,7 +1132,7 @@ int nasmt_ASCTL_GC_receive(char *buffer)
// start decoding message
switch (p->type) {
case INFO_BROADCAST_IND :
#ifndef NAS_NETLINK
#ifndef PDCP_USE_NETLINK
bytes_read += rtf_get(gpriv->sap[NAS_GC_SAPI], (uint8_t *)p+p->length, p->nasUEGCPrimitive.broadcast_ind.nasDataLength);
if (bytes_read!=p->length+p->nasUEGCPrimitive.broadcast_ind.nasDataLength) {
@@ -57,7 +57,7 @@ void nasmt_COMMON_receive(uint16_t bytes_read, uint16_t payload_length, void *da
#ifdef NAS_DEBUG_RECEIVE
printk("nasmt_COMMON_receive: begin\n");
#endif
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
// data_buffer is NULL if FIFOs
if (!data_buffer) {
@@ -77,7 +77,7 @@ void nasmt_COMMON_receive(uint16_t bytes_read, uint16_t payload_length, void *da
skb_reserve(skb,2);
#ifndef NAS_NETLINK
#ifndef PDCP_USE_NETLINK
bytes_read += rtf_get(sap, skb_put(skb, payload_length), payload_length);
if (bytes_read != NAS_PDCPH_SIZE + payload_length) {
@@ -247,14 +247,14 @@ void nasmt_COMMON_QOS_send(struct sk_buff *skb, struct cx_entity *cx, struct cla
pdcph.rb_id = ((gc->rb)->rab_id+(32*cx->lcr))-NAS_SIG_NUM_SRB;
pdcph.inst = 0;
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
bytes_wrote = nasmt_netlink_send((unsigned char *)&pdcph,NAS_PDCPH_SIZE, NASNL_DEST_PDCP);
//printk("nasmt_COMMON_QOS_send - Wrote %d bytes (header for %d byte skb) to PDCP via netlink\n", bytes_wrote,skb->len);
#else
//bytes_wrote = rtf_put(gpriv->sap[(gc->rb)->sapi], &pdcph, NAS_PDCPH_SIZE);
bytes_wrote = rtf_put(NAS2PDCP_FIFO, &pdcph, NAS_PDCPH_SIZE);
//printk("nasmt_COMMON_QOS_send - Wrote %d bytes (header for %d byte skb) to PDCP fifo\n", bytes_wrote,skb->len);
#endif //NAS_NETLINK
#endif //PDCP_USE_NETLINK
if (bytes_wrote != NAS_PDCPH_SIZE) {
printk("nasmt_COMMON_QOS_send: problem while writing PDCP's header\n");
@@ -263,12 +263,12 @@ void nasmt_COMMON_QOS_send(struct sk_buff *skb, struct cx_entity *cx, struct cla
return;
}
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
bytes_wrote += nasmt_netlink_send((unsigned char *)skb->data,skb->len, NASNL_DEST_PDCP);
#else
//bytes_wrote += rtf_put(gpriv->sap[(gc->rb)->sapi], skb->data, skb->len);
bytes_wrote += rtf_put(NAS2PDCP_FIFO, skb->data, skb->len);
#endif //NAS_NETLINK
#endif //PDCP_USE_NETLINK
if (bytes_wrote != skb->len + NAS_PDCPH_SIZE) {
printk("nasmt_COMMON_QOS_send: problem while writing PDCP's data\n"); // congestion
@@ -287,7 +287,7 @@ void nasmt_COMMON_QOS_send(struct sk_buff *skb, struct cx_entity *cx, struct cla
#endif
}
#ifndef NAS_NETLINK
#ifndef PDCP_USE_NETLINK
//---------------------------------------------------------------------------
void nasmt_COMMON_QOS_receive(struct cx_entity *cx)
{
@@ -361,7 +361,7 @@ void nasmt_COMMON_QOS_receive(struct nlmsghdr *nlh)
nasmt_COMMON_receive(NAS_PDCPH_SIZE + pdcph->data_size, pdcph->data_size, (unsigned char *)NLMSG_DATA(nlh) + NAS_PDCPH_SIZE, pdcph->rb_id, 0);
}
#endif //NAS_NETLINK
#endif //PDCP_USE_NETLINK
//---------------------------------------------------------------------------
@@ -203,7 +203,7 @@
/**********************************************************/
/* Constants related with Netlink sockets */
/**********************************************************/
#define NAS_NETLINK_ID 31
#define OAI_IP_DRIVER_NETLINK_ID 31
#define NL_DEST_PID 1
// defined in rrc_nas_sap.h
@@ -35,12 +35,12 @@
* \email: michelle.wetterwald@eurecom.fr, raymond.knopp@eurecom.fr, navid.nikaein@eurecom.fr, lionel.gauthier@eurecom.fr
*/
/*******************************************************************************/
#ifndef NAS_NETLINK
#ifndef PDCP_USE_NETLINK
#ifdef RTAI
#include "rtai_posix.h"
#define RTAI_IRQ 30 //try to get this irq with RTAI
#endif // RTAI
#endif // NAS_NETLINK
#endif // PDCP_USE_NETLINK
//:::::::::::::::::::::::::::::::::::::::;;
#include "nasmt_variables.h"
#include "nasmt_proto.h"
@@ -81,14 +81,14 @@ static unsigned char nas_IMEI[14];
static int m_arg=0;
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
extern void nasmt_netlink_release(void);
extern int nasmt_netlink_init(void);
#endif
extern void nasmt_ASCTL_timer(unsigned long data);
#ifndef NAS_NETLINK
#ifndef PDCP_USE_NETLINK
//---------------------------------------------------------------------------
//void nasmt_interrupt(void){
void *nasmt_interrupt(void)
@@ -121,7 +121,7 @@ int nasmt_open(struct net_device *dev)
gpriv=netdev_priv(dev);
// Address has already been set at init
#ifndef NAS_NETLINK
#ifndef PDCP_USE_NETLINK
if (gpriv->irq==-EBUSY) {
printk("nasmt_open: irq failure\n");
@@ -169,26 +169,26 @@ void nasmt_teardown(struct net_device *dev)
{
//---------------------------------------------------------------------------
int cxi;
#ifndef NAS_NETLINK
#ifndef PDCP_USE_NETLINK
struct nas_priv *priv = netdev_priv(dev);
#endif //NAS_NETLINK
#endif //PDCP_USE_NETLINK
printk("nasmt_teardown: begin\n");
// priv=(struct nas_priv *)(gdev.priv);
if (dev) {
#ifndef NAS_NETLINK
#ifndef PDCP_USE_NETLINK
if (priv->irq!=-EBUSY) {
*pt_nas_ue_irq=-1;
rt_free_srq(priv->irq);
}
#endif //NAS_NETLINK
#endif //PDCP_USE_NETLINK
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
nasmt_netlink_release();
#endif //NAS_NETLINK
#endif //PDCP_USE_NETLINK
// for (sapi=0; sapi<NAS_SAPI_MAX; ++sapi)
// close(priv->sap[sapi]);
nasmt_CLASS_flush_rclassifier();
@@ -395,7 +395,7 @@ void nasmt_init(struct net_device *dev)
//gpriv->sap[NAS_CO_INPUT_SAPI] = QOS_DEVICE_CONVERSATIONAL_INPUT;
//gpriv->sap[NAS_CO_OUTPUT_SAPI] = QOS_DEVICE_CONVERSATIONAL_OUTPUT;
gpriv->sap[NAS_DRB_INPUT_SAPI] = PDCP2NAS_FIFO;//QOS_DEVICE_CONVERSATIONAL_INPUT;
gpriv->sap[NAS_DRB_INPUT_SAPI] = PDCP2PDCP_USE_RT_FIFO;//QOS_DEVICE_CONVERSATIONAL_INPUT;
gpriv->sap[NAS_DRB_OUTPUT_SAPI] = NAS2PDCP_FIFO;//QOS_DEVICE_STREAMING_INPUT;
gpriv->retry_limit = NAS_RETRY_LIMIT_DEFAULT;
@@ -469,7 +469,7 @@ int init_module (void)
printk("\n");
#ifndef NAS_NETLINK
#ifndef PDCP_USE_NETLINK
// Initialize parameters shared with RRC (done first to avoid going further)
if (pt_nas_ue_irq==NULL) {
@@ -491,7 +491,7 @@ int init_module (void)
#endif
priv = netdev_priv(gdev);
////
#ifndef NAS_NETLINK
#ifndef PDCP_USE_NETLINK
priv->irq=rt_request_srq(0, nasmt_interrupt, NULL);
if (priv->irq == -EBUSY || priv->irq == -EINVAL) {
@@ -514,7 +514,7 @@ int init_module (void)
#endif
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
if ((err=nasmt_netlink_init()) == -1)
printk("init_module: NETLINK failed\n");
@@ -133,7 +133,7 @@ int nasmt_netlink_init(void)
//---------------------------------------------------------------------------
printk("nasmt_netlink_init - begin \n");
nas_nl_sk = netlink_kernel_create(&init_net,NAS_NETLINK_ID, 0, nasmt_nl_data_ready,
nas_nl_sk = netlink_kernel_create(&init_net,OAI_IP_DRIVER_NETLINK_ID, 0, nasmt_nl_data_ready,
&nasmt_mutex, // NULL
THIS_MODULE);
@@ -71,7 +71,7 @@ void nasmt_COMMON_receive(uint16_t bytes_read, uint16_t payload_length, void *da
void nasmt_COMMON_QOS_send(struct sk_buff *skb, struct cx_entity *cx, struct classifier_entity *gc);
void nasmt_COMMON_del_send(struct sk_buff *skb, struct cx_entity *cx, struct classifier_entity *gc);
#ifndef NAS_NETLINK
#ifndef PDCP_USE_NETLINK
void nasmt_COMMON_QOS_receive(struct cx_entity *cx);
#else
void nasmt_COMMON_QOS_receive(struct nlmsghdr *nlh);
@@ -45,7 +45,7 @@
//#define QOS_DEVICE_CONVERSATIONAL_INPUT QOS_SAPI_CONVERSATIONAL_INPUT_MT
//#define QOS_DEVICE_CONVERSATIONAL_OUTPUT QOS_SAPI_CONVERSATIONAL_OUTPUT_MT
#define PDCP2NAS_FIFO 21
#define PDCP2PDCP_USE_RT_FIFO 21
#define NAS2PDCP_FIFO 22
//FIFO indexes in control blocks
+5 -5
View File
@@ -1,6 +1,6 @@
# NAS CELLULAR Driver makefile
#
include $(OPENAIR_HOME)/common/utils/Makefile.inc
include $(OPENAIR_DIR)/common/utils/Makefile.inc
NAS_UPDIR := $(shell /bin/pwd)
@@ -22,8 +22,8 @@ EXTRA_CFLAGS += -DNAS_DRIVER_TYPE_ETHERNET
endif
ifdef NAS_NETLINK
EXTRA_CFLAGS += -DNAS_NETLINK
ifdef PDCP_USE_NETLINK
EXTRA_CFLAGS += -DPDCP_USE_NETLINK
else
EXTRA_CFLAGS += $(shell rtai-config --module-cflags) -DRTAI -D__IN_RTAI__ -Wall
endif
@@ -53,7 +53,7 @@ nascellrg-objs += nasrg_iocontrol.o
nascellrg-objs += nasrg_classifier.o
nascellrg-objs += nasrg_tool.o
nascellrg-objs += nasrg_ascontrol.o
ifdef NAS_NETLINK
ifdef PDCP_USE_NETLINK
nascellrg-objs += nasrg_netlink.o
endif
@@ -62,7 +62,7 @@ endif
####################################################
#netlink.ko:
#make $(x)$(y) NAS_NETLINK=1 V=1 -C $(KERNEL_DIR) M=`pwd` modules
#make $(x)$(y) PDCP_USE_NETLINK=1 V=1 -C $(KERNEL_DIR) M=`pwd` modules
#nasmesh.ko:
# make V=1 -C $(KERNEL_DIR) M=`pwd` modules
@@ -64,7 +64,7 @@ int nasrg_ASCTL_write(int sap, unsigned char *data_buffer, unsigned int data_len
{
//---------------------------------------------------------------------------
int bytes_wrote = 0;
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
unsigned char xmit_buffer [NAS_MESSAGE_MAXLEN];
//write SAP_Id
@@ -102,7 +102,7 @@ int nasrg_ASCTL_write(int sap, unsigned char *data_buffer, unsigned int data_len
#else
//bytes_wrote = rtf_put(cx->sap[NAS_DC_INPUT_SAPI], p, p->length); //original version
bytes_wrote = rtf_put(sap, data_buffer, data_length+1);
#endif //NAS_NETLINK
#endif //PDCP_USE_NETLINK
return bytes_wrote-1;
}
@@ -410,7 +410,7 @@ int nasrg_ASCTL_GC_send_broadcast_request(uint8_t category)
//---------------------------------------------------------------------------
char *xmit_data = "TESTING BROADCASTING ROUTER ADVERTISEMENT. TESTING BROADCASTING ROUTER ADVERTISEMENT. BROADCASTING ROUTER.\0";
int bytes_wrote = 0;
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
unsigned char xbuffer[NAS_MESSAGE_MAXLEN];
int count=0;
#endif
@@ -425,7 +425,7 @@ int nasrg_ASCTL_GC_send_broadcast_request(uint8_t category)
p->nasRGGCPrimitive.broadcast_req.nasDataLength = strlen(xmit_data)+1; // TBD
//bytes_wrote = rtf_put(gpriv->sap[NAS_GC_SAPI], p, p->length); //original version
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
memcpy(xbuffer,(unsigned char *)p, p->length);
count = p->length;
bytes_wrote = count;
@@ -435,7 +435,7 @@ int nasrg_ASCTL_GC_send_broadcast_request(uint8_t category)
//printk("nasrg_ASCTL_GC_send_broadcast_request - Wrote %d bytes to RRC NAS_GC_SAPII\n", bytes_wrote);
//bytes_wrote += rtf_put(gpriv->sap[NAS_GC_SAPI], xmit_data, p->nasRGGCPrimitive.broadcast_req.nasDataLength);
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
memcpy(&(xbuffer[count]),(unsigned char *)xmit_data, p->nasRGGCPrimitive.broadcast_req.nasDataLength);
count += p->nasRGGCPrimitive.broadcast_req.nasDataLength;
bytes_wrote += nasrg_ASCTL_write(gpriv->sap[NAS_GC_SAPI], xbuffer, count);
@@ -462,7 +462,7 @@ int nasrg_ASCTL_GC_send_SIB1_broadcast_request(struct sk_buff *skb)
struct nas_rg_gc_element *p;
char sib1_flag; // will be used for reception in nas_ue
int bytes_wrote = 0;
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
unsigned char xbuffer[NAS_MESSAGE_MAXLEN];
int count=0;
#endif
@@ -488,7 +488,7 @@ int nasrg_ASCTL_GC_send_SIB1_broadcast_request(struct sk_buff *skb)
sib1_flag = 1;
// send header
//bytes_wrote = rtf_put(gpriv->sap[NAS_GC_SAPI], p, p->length); //original version
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
memcpy(xbuffer,(unsigned char *)p, p->length);
count = p->length;
bytes_wrote = count;
@@ -505,7 +505,7 @@ int nasrg_ASCTL_GC_send_SIB1_broadcast_request(struct sk_buff *skb)
// send sib1_flag
//bytes_wrote += rtf_put(gpriv->sap[NAS_GC_SAPI], &sib1_flag, 1);
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
memcpy(&(xbuffer[count]),(unsigned char *)&sib1_flag, 1);
count += 1;
bytes_wrote = count;
@@ -520,7 +520,7 @@ int nasrg_ASCTL_GC_send_SIB1_broadcast_request(struct sk_buff *skb)
// send data
//bytes_wrote += rtf_put(gpriv->sap[NAS_GC_SAPI], skb->data, skb->len);
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
memcpy(&(xbuffer[count]),skb->data, skb->len);
count += skb->len;
bytes_wrote = nasrg_ASCTL_write(gpriv->sap[NAS_GC_SAPI], xbuffer, count);
@@ -827,7 +827,7 @@ void nasrg_ASCTL_DC_send_sig_data_request(struct sk_buff *skb, struct cx_entity
//---------------------------------------------------------------------------
struct nas_rg_dc_element *p;
int bytes_wrote = 0;
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
unsigned char xbuffer[NAS_MESSAGE_MAXLEN];
int count=0;
#endif
@@ -857,7 +857,7 @@ void nasrg_ASCTL_DC_send_sig_data_request(struct sk_buff *skb, struct cx_entity
p->nasRGDCPrimitive.data_transfer_req.nasDataLength = skb->len;
//
//bytes_wrote = rtf_put(cx->sap[NAS_DC_INPUT_SAPI], p, p->length);
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
memcpy(xbuffer,(unsigned char *)p, p->length);
count = p->length;
bytes_wrote = count;
@@ -871,7 +871,7 @@ void nasrg_ASCTL_DC_send_sig_data_request(struct sk_buff *skb, struct cx_entity
}
//bytes_wrote += rtf_put(cx->sap[NAS_DC_INPUT_SAPI], skb->data, skb->len);
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
memcpy(&(xbuffer[count]),(unsigned char *)skb->data, skb->len);
count += skb->len;
bytes_wrote = nasrg_ASCTL_write(cx->sap[NAS_DC_INPUT_SAPI], xbuffer, count);
@@ -1110,7 +1110,7 @@ void nasrg_ASCTL_DC_decode_data_transfer_ind(struct cx_entity *cx, struct nas_rg
bytes_read=p->length;
// Get first character
nas_length = (p->nasRGDCPrimitive.data_transfer_ind.nasDataLength) -1;
#ifndef NAS_NETLINK
#ifndef PDCP_USE_NETLINK
bytes_read += rtf_get(cx->sap[NAS_DC_OUTPUT_SAPI], &data_type, 1);
#else
memcpy (&data_type, (char *)(&buffer[bytes_read]), 1);
@@ -1121,7 +1121,7 @@ void nasrg_ASCTL_DC_decode_data_transfer_ind(struct cx_entity *cx, struct nas_rg
if (data_type =='A') {
// receive in a skbuff
//nasrg_COMMON_receive((p->length) + 1, nas_length, cx->sap[NAS_DC_OUTPUT_SAPI]); // original
#ifndef NAS_NETLINK
#ifndef PDCP_USE_NETLINK
//void nasrg_COMMON_receive(uint16_t bytes_read, uint16_t payload_length, void *data_buffer, int rb_id, int sap);
// data_buffer is NULL because FIFO should be read directly in the skbuff (LITE has an intermediary buffer)
nasrg_COMMON_receive((p->length) + 1, nas_length, NULL, 2, cx->sap[NAS_DC_OUTPUT_SAPI]);
@@ -1131,12 +1131,12 @@ void nasrg_ASCTL_DC_decode_data_transfer_ind(struct cx_entity *cx, struct nas_rg
#endif
} else {
// if FIFO, empty remaining data
#ifndef NAS_NETLINK
#ifndef PDCP_USE_NETLINK
bytes_read += rtf_get(cx->sap[NAS_DC_OUTPUT_SAPI], (gpriv->rbuffer)+ (p->length), nas_length);
#endif
if (data_type=='Z') {
#ifndef NAS_NETLINK
#ifndef PDCP_USE_NETLINK
memcpy (&nasrg_data, (char *)(gpriv->rbuffer)+ (p->length), 10);
#else
memcpy (&nasrg_data, (char *)(&buffer[bytes_read]), 10);
@@ -1350,7 +1350,7 @@ int nasrg_ASCTL_DC_receive(struct cx_entity *cx, char *buffer)
// End debug information
#ifndef NAS_NETLINK
#ifndef PDCP_USE_NETLINK
bytes_read = rtf_get(cx->sap[NAS_DC_OUTPUT_SAPI] , gpriv->rbuffer, NAS_TL_SIZE);
#else
bytes_read = NAS_TL_SIZE;
@@ -1358,7 +1358,7 @@ int nasrg_ASCTL_DC_receive(struct cx_entity *cx, char *buffer)
if (bytes_read>0) {
struct nas_rg_dc_element *p;
#ifndef NAS_NETLINK
#ifndef PDCP_USE_NETLINK
p= (struct nas_rg_dc_element *)(gpriv->rbuffer);
//get the rest of the primitive
bytes_read += rtf_get(cx->sap[NAS_DC_OUTPUT_SAPI], (uint8_t *)p+NAS_TL_SIZE, p->length-NAS_TL_SIZE);
@@ -56,7 +56,7 @@ void nasrg_COMMON_receive(uint16_t bytes_read, uint16_t payload_length, void *da
#ifdef NAS_DEBUG_RECEIVE
printk("nasrg_COMMON_receive: begin\n");
#endif
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
// data_buffer is NULL if FIFOs
if (!data_buffer) {
@@ -76,7 +76,7 @@ void nasrg_COMMON_receive(uint16_t bytes_read, uint16_t payload_length, void *da
skb_reserve(skb,2);
#ifndef NAS_NETLINK
#ifndef PDCP_USE_NETLINK
bytes_read += rtf_get(sap, skb_put(skb, payload_length), payload_length);
if (bytes_read != NAS_PDCPH_SIZE + payload_length) {
@@ -244,7 +244,7 @@ void nasrg_COMMON_QOS_send(struct sk_buff *skb, struct cx_entity *cx, struct cla
pdcph.rb_id = ((gc->rb)->rab_id)-NAS_SIG_NUM_SRB;
pdcph.inst = 0;
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
bytes_wrote = nasrg_netlink_send((unsigned char *)&pdcph,NAS_PDCPH_SIZE, NASNL_DEST_PDCP);
#ifdef NAS_DEBUG_SEND_DETAIL
printk("nasrg_COMMON_QOS_send - Wrote %d bytes (header for %d byte skb) to PDCP via netlink\n", bytes_wrote,skb->len);
@@ -255,7 +255,7 @@ void nasrg_COMMON_QOS_send(struct sk_buff *skb, struct cx_entity *cx, struct cla
#ifdef NAS_DEBUG_SEND_DETAIL
printk("nasrg_COMMON_QOS_send - Wrote %d bytes (header for %d byte skb) to PDCP fifo\n", bytes_wrote,skb->len);
#endif
#endif //NAS_NETLINK
#endif //PDCP_USE_NETLINK
if (bytes_wrote != NAS_PDCPH_SIZE) {
printk("nasrg_COMMON_QOS_send: problem while writing PDCP's header\n");
@@ -269,12 +269,12 @@ void nasrg_COMMON_QOS_send(struct sk_buff *skb, struct cx_entity *cx, struct cla
printk("Header bytes written : %d\n", bytes_wrote);
#endif
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
bytes_wrote += nasrg_netlink_send((unsigned char *)skb->data,skb->len, NASNL_DEST_PDCP);
#else
//bytes_wrote += rtf_put(gpriv->sap[(gc->rb)->sapi], skb->data, skb->len);
bytes_wrote += rtf_put(NAS2PDCP_FIFO, skb->data, skb->len);
#endif //NAS_NETLINK
#endif //PDCP_USE_NETLINK
if (bytes_wrote != skb->len+NAS_PDCPH_SIZE) {
printk("nasrg_COMMON_QOS_send: problem while writing PDCP's data\n"); // congestion
@@ -330,14 +330,14 @@ void nasrg_COMMON_QOS_send_test_netlink(struct sk_buff *skb)
pdcph.rb_id = 6;
pdcph.inst = 0;
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
bytes_wrote = nasrg_netlink_send((unsigned char *)&pdcph,NAS_PDCPH_SIZE, NASNL_DEST_PDCP);
//printk("nasrg_COMMON_QOS_send - Wrote %d bytes (header for %d byte skb) to PDCP via netlink\n", bytes_wrote,skb->len);
#else
//bytes_wrote = rtf_put(gpriv->sap[(gc->rb)->sapi], &pdcph, NAS_PDCPH_SIZE);
bytes_wrote = rtf_put(NAS2PDCP_FIFO, &pdcph, NAS_PDCPH_SIZE);
//printk("nasrg_COMMON_QOS_send - Wrote %d bytes (header for %d byte skb) to PDCP fifo\n", bytes_wrote,skb->len);
#endif //NAS_NETLINK
#endif //PDCP_USE_NETLINK
if (bytes_wrote != NAS_PDCPH_SIZE) {
printk("nasrg_COMMON_QOS_send: problem while writing PDCP's header\n");
@@ -351,12 +351,12 @@ void nasrg_COMMON_QOS_send_test_netlink(struct sk_buff *skb)
printk("Header bytes wrote : %d\n", bytes_wrote);
#endif
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
bytes_wrote += nasrg_netlink_send((unsigned char *)skb->data,skb->len, NASNL_DEST_PDCP);
#else
//bytes_wrote += rtf_put(gpriv->sap[(gc->rb)->sapi], skb->data, skb->len);
bytes_wrote += rtf_put(NAS2PDCP_FIFO, skb->data, skb->len);
#endif //NAS_NETLINK
#endif //PDCP_USE_NETLINK
if (bytes_wrote != skb->len+NAS_PDCPH_SIZE) {
printk("nasrg_COMMON_QOS_send: problem while writing PDCP's data\n"); // congestion
@@ -376,7 +376,7 @@ void nasrg_COMMON_QOS_send_test_netlink(struct sk_buff *skb)
#endif
}
#ifndef NAS_NETLINK
#ifndef PDCP_USE_NETLINK
//---------------------------------------------------------------------------
void nasrg_COMMON_QOS_receive(struct cx_entity *cx)
{
@@ -445,7 +445,7 @@ void nasrg_COMMON_QOS_receive(struct nlmsghdr *nlh)
//void nasrg_COMMON_receive(uint16_t bytes_read, uint16_t payload_length, void *data_buffer, int rb_id, int sap);
nasrg_COMMON_receive(NAS_PDCPH_SIZE + pdcph->data_size, pdcph->data_size, (unsigned char *)NLMSG_DATA(nlh) + NAS_PDCPH_SIZE, pdcph->rb_id, 0);
}
#endif //NAS_NETLINK
#endif //PDCP_USE_NETLINK
//---------------------------------------------------------------------------
struct cx_entity *nasrg_COMMON_search_cx(nasLocalConnectionRef_t lcr)
@@ -214,7 +214,7 @@
/**********************************************************/
/* Constants related with Netlink sockets */
/**********************************************************/
#define NAS_NETLINK_ID 31
#define OAI_IP_DRIVER_NETLINK_ID 31
#define NL_DEST_PID 1
// defined in rrc_nas_sap.h
@@ -35,12 +35,12 @@
* \email: michelle.wetterwald@eurecom.fr, raymond.knopp@eurecom.fr, navid.nikaein@eurecom.fr, lionel.gauthier@eurecom.fr
*/
/*******************************************************************************/
#ifndef NAS_NETLINK
#ifndef PDCP_USE_NETLINK
#ifdef RTAI
#include "rtai_posix.h"
#define RTAI_IRQ 30 //try to get this irq with RTAI
#endif // RTAI
#endif // NAS_NETLINK
#endif // PDCP_USE_NETLINK
//:::::::::::::::::::::::::::::::::::::::;;
#include "nasrg_variables.h"
#include "nasrg_proto.h"
@@ -75,13 +75,13 @@ uint8_t NAS_NULL_IMEI[14]= {0x00, 0x00, 0x00, 0x00, 0x00 ,0x00, 0x00, 0x00, 0x00
uint16_t local_rg_cell_id;
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
extern void nasrg_netlink_release(void);
extern int nasrg_netlink_init(void);
#endif
extern void nasrg_ASCTL_timer(unsigned long data);
#ifndef NAS_NETLINK
#ifndef PDCP_USE_NETLINK
//---------------------------------------------------------------------------
void *nasrg_interrupt(void)
{
@@ -116,7 +116,7 @@ int nasrg_open(struct net_device *dev)
gpriv=netdev_priv(dev);
// Address has already been set at init
#ifndef NAS_NETLINK
#ifndef PDCP_USE_NETLINK
if (gpriv->irq==-EBUSY) {
printk("nasrg_open: irq failure\n");
@@ -160,25 +160,25 @@ void nasrg_teardown(struct net_device *dev)
{
//---------------------------------------------------------------------------
int cxi;
#ifndef NAS_NETLINK
#ifndef PDCP_USE_NETLINK
struct nas_priv *priv = netdev_priv(dev);
#endif //NAS_NETLINK
#endif //PDCP_USE_NETLINK
printk("nasrg_teardown: begin\n");
if (dev) {
#ifndef NAS_NETLINK
#ifndef PDCP_USE_NETLINK
if (priv->irq!=-EBUSY) {
*pt_nas_rg_irq=-1;
rt_free_srq(priv->irq);
}
#endif //NAS_NETLINK
#endif //PDCP_USE_NETLINK
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
nasrg_netlink_release();
#endif //NAS_NETLINK
#endif //PDCP_USE_NETLINK
// for (sapi=0; sapi<NAS_SAPI_MAX; ++sapi)
// close(priv->sap[sapi]);
@@ -385,7 +385,7 @@ void nasrg_init(struct net_device *dev)
gpriv->cx[1].sap[NAS_DC_OUTPUT_SAPI] = RRC_DEVICE_DC_OUTPUT1;
// gpriv->sap[NAS_CO_INPUT_SAPI] = QOS_DEVICE_CONVERSATIONAL_INPUT;
// gpriv->sap[NAS_CO_OUTPUT_SAPI] = QOS_DEVICE_CONVERSATIONAL_OUTPUT;
gpriv->sap[NAS_DRB_INPUT_SAPI] = PDCP2NAS_FIFO;//QOS_DEVICE_CONVERSATIONAL_INPUT;
gpriv->sap[NAS_DRB_INPUT_SAPI] = PDCP2PDCP_USE_RT_FIFO;//QOS_DEVICE_CONVERSATIONAL_INPUT;
gpriv->sap[NAS_DRB_OUTPUT_SAPI] = NAS2PDCP_FIFO;//QOS_DEVICE_STREAMING_INPUT;
//
gpriv->retry_limit=NAS_RETRY_LIMIT_DEFAULT;
@@ -444,7 +444,7 @@ int init_module (void)
printk("\n\n\n\nnasrg_init_module: begin \n");
// Initialize parameters shared with RRC
#ifndef NAS_NETLINK
#ifndef PDCP_USE_NETLINK
if (pt_nas_rg_irq==NULL) {
printk("nasrg_init_module: shared irq parameter not initialised\n");
@@ -479,7 +479,7 @@ int init_module (void)
priv = netdev_priv(gdev);
////
//
#ifndef NAS_NETLINK
#ifndef PDCP_USE_NETLINK
priv->irq=rt_request_srq(0, nasrg_interrupt, NULL);
if (priv->irq == -EBUSY || priv->irq == -EINVAL) {
@@ -503,7 +503,7 @@ int init_module (void)
#endif
//
//////
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
if ((err=nasrg_netlink_init()) < 0)
printk("nasrg_init_module: NETLINK failed\n");
@@ -141,7 +141,7 @@ int nasrg_netlink_init(void)
//---------------------------------------------------------------------------
printk("nasrg_netlink_init - begin \n");
nas_nl_sk = netlink_kernel_create(&init_net,NAS_NETLINK_ID, 0, nasrg_nl_data_ready,
nas_nl_sk = netlink_kernel_create(&init_net,OAI_IP_DRIVER_NETLINK_ID, 0, nasrg_nl_data_ready,
&nasrg_mutex, // NULL
THIS_MODULE);
@@ -72,7 +72,7 @@ void nasrg_COMMON_receive(uint16_t bytes_read, uint16_t payload_length, void *da
void nasrg_COMMON_QOS_send(struct sk_buff *skb, struct cx_entity *cx, struct classifier_entity *gc);
void nasrg_COMMON_QOS_send_test_netlink(struct sk_buff *skb);
void nasrg_COMMON_del_send(struct sk_buff *skb, struct cx_entity *cx, struct classifier_entity *gc);
#ifndef NAS_NETLINK
#ifndef PDCP_USE_NETLINK
void nasrg_COMMON_QOS_receive(struct cx_entity *cx);
#else
void nasrg_COMMON_QOS_receive(struct nlmsghdr *nlh);
@@ -49,7 +49,7 @@
//#define QOS_DEVICE_CONVERSATIONAL_INPUT QOS_SAPI_CONVERSATIONAL_INPUT_RG
//#define QOS_DEVICE_CONVERSATIONAL_OUTPUT QOS_SAPI_CONVERSATIONAL_OUTPUT_RG
#define PDCP2NAS_FIFO 21
#define PDCP2PDCP_USE_RT_FIFO 21
#define NAS2PDCP_FIFO 22
//FIFO indexes in control blocks
@@ -56,7 +56,7 @@ struct nlmsghdr *nlh = NULL;
struct iovec iov;
int sock_fd;
struct msghdr msg;
#define NAS_NETLINK_ID 31
#define OAI_IP_DRIVER_NETLINK_ID 31
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
@@ -85,7 +85,7 @@ int main()
perror("Could not install the new signal handler");
// create both sockets
sock_fd = socket(PF_NETLINK, SOCK_RAW,NAS_NETLINK_ID);
sock_fd = socket(PF_NETLINK, SOCK_RAW,OAI_IP_DRIVER_NETLINK_ID);
printf("Opened socket with fd %d\n",sock_fd);
ret = fcntl(sock_fd,F_SETFL,O_NONBLOCK);
printf("fcntl returns %d\n",ret);
@@ -40,7 +40,7 @@ void foo( int sig )
}
#define NAS_NETLINK_ID 31
#define OAI_IP_DRIVER_NETLINK_ID 31
void main()
{
@@ -56,7 +56,7 @@ void main()
if ( sigaction( SIGINT, &newaction, NULL ) == -1)
perror("Could not install the new signal handler");
sock_fd = socket(PF_NETLINK, SOCK_RAW,NAS_NETLINK_ID);
sock_fd = socket(PF_NETLINK, SOCK_RAW,OAI_IP_DRIVER_NETLINK_ID);
printf("Opened socket with fd %d\n",sock_fd);
+2 -2
View File
@@ -1,6 +1,6 @@
# NASMESH Driver makefile
#
include $(OPENAIR_HOME)/common/utils/Makefile.inc
include $(OPENAIR_DIR)/common/utils/Makefile.inc
NAS_UPDIR := $(shell /bin/pwd)
KERNEL_ARCH:=$(shell echo `uname -m`)
@@ -54,7 +54,7 @@ endif
####################################################
#netlink.ko:
#make $(x)$(y) NAS_NETLINK=1 V=1 -C $(KERNEL_DIR) M=`pwd` modules
#make $(x)$(y) PDCP_USE_NETLINK=1 V=1 -C $(KERNEL_DIR) M=`pwd` modules
#oai_nw_drv.ko:
# make V=1 -C $(KERNEL_DIR) M=`pwd` modules
+3 -3
View File
@@ -52,7 +52,7 @@
//#define NETLINK_DEBUG 1
#define NAS_NETLINK_ID 31
#define OAI_IP_DRIVER_NETLINK_ID 31
#define NL_DEST_PID 1
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0)
@@ -110,7 +110,7 @@ int oai_nw_drv_netlink_init(void)
nas_nl_sk = netlink_kernel_create(
&init_net,
NAS_NETLINK_ID,
OAI_IP_DRIVER_NETLINK_ID,
# if LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0)
THIS_MODULE,
# endif
@@ -118,7 +118,7 @@ int oai_nw_drv_netlink_init(void)
#else /* LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0) */
nas_nl_sk = netlink_kernel_create(
&init_net,
NAS_NETLINK_ID,
OAI_IP_DRIVER_NETLINK_ID,
0,
nas_nl_data_ready,
&nasmesh_mutex, // NULL
+12 -5
View File
@@ -1,6 +1,6 @@
# NASMESH Driver makefile
#
include $(OPENAIR_HOME)/common/utils/Makefile.inc
include $(OPENAIR_DIR)/common/utils/Makefile.inc
NAS_UPDIR := $(shell /bin/pwd)
####################################################
@@ -17,8 +17,8 @@ NAS_UPDIR := $(shell /bin/pwd)
####################################################
#EXTRA_CFLAGS = -fno-common -fno-stack-protector -mpreferred-stack-boundary=4 $(if $(SET_X64),-DARCH_64,) $(if $(SET_X64),-mcmodel=kernel,) $(if $(SET_X64),-m64,)
EXTRA_CFLAGS += -I$(OPENAIR2_DIR)
ifdef NAS_NETLINK
EXTRA_CFLAGS += -DNAS_NETLINK
ifdef PDCP_USE_NETLINK
EXTRA_CFLAGS += -DPDCP_USE_NETLINK
else
EXTRA_CFLAGS += $(shell rtai-config --module-cflags) -DRTAI -D__IN_RTAI__ -Wall
endif
@@ -30,6 +30,13 @@ endif
ifdef ADDRESS_FIX
EXTRA_CFLAGS += -DNAS_ADDRESS_FIX
endif
ifdef NAS_DEBUG_RECEIVE
EXTRA_CFLAGS += -DNAS_DEBUG_RECEIVE
endif
ifdef NAS_DEBUG_SEND
EXTRA_CFLAGS += -DNAS_DEBUG_SEND
endif
ccflags-y := $(CFLAGS) $(EXTRA_CFLAGS)
CFLAGS=
@@ -44,7 +51,7 @@ nasmesh-objs += ioctl.o
nasmesh-objs += classifier.o
nasmesh-objs += tool.o
nasmesh-objs += mesh.o
ifdef NAS_NETLINK
ifdef PDCP_USE_NETLINK
nasmesh-objs += netlink.o
endif
@@ -53,7 +60,7 @@ endif
####################################################
#netlink.ko:
# make NAS_NETLINK=1 V=1 -C $(KERNEL_DIR) M=`pwd` modules
# make PDCP_USE_NETLINK=1 V=1 -C $(KERNEL_DIR) M=`pwd` modules
#nasmesh.ko:
# make V=1 -C $(KERNEL_DIR) M=`pwd` modules
@@ -40,7 +40,7 @@ void foo( int sig )
}
#define NAS_NETLINK_ID 31
#define OAI_IP_DRIVER_NETLINK_ID 31
void main()
{
@@ -56,7 +56,7 @@ void main()
if ( sigaction( SIGINT, &newaction, NULL ) == -1)
perror("Could not install the new signal handler");
sock_fd = socket(PF_NETLINK, SOCK_RAW,NAS_NETLINK_ID);
sock_fd = socket(PF_NETLINK, SOCK_RAW,OAI_IP_DRIVER_NETLINK_ID);
printf("Opened socket with fd %d\n",sock_fd);
+14 -14
View File
@@ -38,7 +38,7 @@
//#include "nas_common.h"
#include "local.h"
#include "proto_extern.h"
#ifndef NAS_NETLINK
#ifdef RTAI
#include "rtai_fifos.h"
#endif
@@ -402,7 +402,7 @@ void nas_COMMON_QOS_send(struct sk_buff *skb, struct cx_entity *cx, struct class
pdcph.inst = inst;
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
bytes_wrote = nas_netlink_send((char *)&pdcph,NAS_PDCPH_SIZE);
#ifdef NAS_DEBUG_SEND
printk("[NAS] Wrote %d bytes (header for %d byte skb) to PDCP via netlink\n",
@@ -414,22 +414,22 @@ void nas_COMMON_QOS_send(struct sk_buff *skb, struct cx_entity *cx, struct class
printk("[NAS] Wrote %d bytes (header for %d byte skb) to PDCP fifo\n",
bytes_wrote,skb->len);
#endif
#endif //NAS_NETLINK
#endif //PDCP_USE_NETLINK
if (bytes_wrote != NAS_PDCPH_SIZE) {
printk("NAS_COMMON_QOS_SEND: problem while writing PDCP's header (bytes wrote = %d )\n",bytes_wrote);
printk("rb_id %d, Wrote %d, Header Size %lu\n", pdcph.rb_id , bytes_wrote, NAS_PDCPH_SIZE);
#ifndef NAS_NETLINK
#ifndef PDCP_USE_NETLINK
rtf_reset(NAS2PDCP_FIFO);
#endif //NAS_NETLINK
#endif //PDCP_USE_NETLINK
return;
}
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
bytes_wrote += nas_netlink_send((char *)skb->data,skb->len);
#else
bytes_wrote += rtf_put(NAS2PDCP_FIFO, skb->data, skb->len);
#endif //NAS_NETLINK
#endif //PDCP_USE_NETLINK
if (bytes_wrote != skb->len+NAS_PDCPH_SIZE) {
printk("NAS_COMMON_QOS_SEND: Inst %d, RB_ID %d: problem while writing PDCP's data, bytes_wrote = %d, Data_len %d, PDCPH_SIZE %lu\n",
@@ -438,9 +438,9 @@ void nas_COMMON_QOS_send(struct sk_buff *skb, struct cx_entity *cx, struct class
bytes_wrote,
skb->len,
NAS_PDCPH_SIZE); // congestion
#ifndef NAS_NETLINK
#ifndef PDCP_USE_NETLINK
rtf_reset(NAS2PDCP_FIFO);
#endif //NAS_NETLINK
#endif //PDCP_USE_NETLINK
return;
}
@@ -460,7 +460,7 @@ void nas_COMMON_QOS_send(struct sk_buff *skb, struct cx_entity *cx, struct class
#endif
}
#ifndef NAS_NETLINK
#ifndef PDCP_USE_NETLINK
//---------------------------------------------------------------------------
void nas_COMMON_QOS_receive()
{
@@ -479,7 +479,7 @@ void nas_COMMON_QOS_receive()
// End debug information
bytes_read = rtf_get(PDCP2NAS_FIFO,&pdcph, NAS_PDCPH_SIZE);
bytes_read = rtf_get(PDCP2PDCP_USE_RT_FIFO,&pdcph, NAS_PDCPH_SIZE);
while (bytes_read>0) {
if (bytes_read != NAS_PDCPH_SIZE) {
@@ -490,7 +490,7 @@ void nas_COMMON_QOS_receive()
priv=netdev_priv(nasdev[pdcph.inst]);
rclass = nas_COMMON_search_class_for_rb(pdcph.rb_id,priv);
bytes_read+= rtf_get(PDCP2NAS_FIFO,
bytes_read+= rtf_get(PDCP2PDCP_USE_RT_FIFO,
data_buffer,
pdcph.data_size);
@@ -512,7 +512,7 @@ void nas_COMMON_QOS_receive()
pdcph.rb_id);
}
bytes_read = rtf_get(PDCP2NAS_FIFO, &pdcph, NAS_PDCPH_SIZE);
bytes_read = rtf_get(PDCP2PDCP_USE_RT_FIFO, &pdcph, NAS_PDCPH_SIZE);
}
@@ -553,7 +553,7 @@ void nas_COMMON_QOS_receive(struct nlmsghdr *nlh)
}
}
#endif //NAS_NETLINK
#endif //PDCP_USE_NETLINK
//---------------------------------------------------------------------------
struct cx_entity *nas_COMMON_search_cx(nasLocalConnectionRef_t lcr,struct nas_priv *priv)
+13 -13
View File
@@ -36,12 +36,12 @@
*/
/*******************************************************************************/
#ifndef NAS_NETLINK
#ifndef PDCP_USE_NETLINK
#ifdef RTAI
#include "rtai_posix.h"
#define RTAI_IRQ 30 //try to get this irq with RTAI
#endif // RTAI
#endif // NAS_NETLINK
#endif // PDCP_USE_NETLINK
#include "constant.h"
#include "local.h"
@@ -68,7 +68,7 @@
struct net_device *nasdev[NB_INSTANCES_MAX];
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
extern void nas_netlink_release(void);
extern int nas_netlink_init(void);
#endif
@@ -97,7 +97,7 @@ int find_inst(struct net_device *dev)
//---------------------------------------------------------------------------
#ifndef NAS_NETLINK
#ifndef PDCP_USE_NETLINK
//void interrupt(void){
void *nas_interrupt(void)
{
@@ -116,7 +116,7 @@ void *nas_interrupt(void)
cxi=0;
// mesh_GC_receive();
// mesh_DC_receive(naspriv->cx+cxi);
#ifndef NAS_NETLINK
#ifndef PDCP_USE_NETLINK
nas_COMMON_QOS_receive();
#endif
// spin_unlock_irqrestore(&priv->lock,flags);
@@ -138,14 +138,14 @@ int nas_open(struct net_device *dev)
// MOD_INC_USE_COUNT;
// Address has already been set at init
#ifndef NAS_NETLINK
#ifndef PDCP_USE_NETLINK
if (pdcp_2_nas_irq==-EBUSY) {
printk("OPEN: irq failure\n");
return -EBUSY;
}
#endif //NAS_NETLINK
#endif //PDCP_USE_NETLINK
/*
netif_start_queue(dev);
@@ -366,7 +366,7 @@ void nas_init(struct net_device *dev)
// Initialize private structure
// priv->sap[NAS_GC_SAPI] = RRC_DEVICE_GC;
// priv->sap[NAS_NT_SAPI] = RRC_DEVICE_NT;
priv->sap[NAS_RAB_INPUT_SAPI] = PDCP2NAS_FIFO;//QOS_DEVICE_CONVERSATIONAL_INPUT;
priv->sap[NAS_RAB_INPUT_SAPI] = PDCP2PDCP_USE_RT_FIFO;//QOS_DEVICE_CONVERSATIONAL_INPUT;
priv->sap[NAS_RAB_OUTPUT_SAPI] = NAS2PDCP_FIFO;//QOS_DEVICE_STREAMING_INPUT;
// priv->retry_limit=RETRY_LIMIT_DEFAULT;
@@ -450,7 +450,7 @@ int init_module (void)
printk("Starting NASMESH, number of IMEI paramters %d, IMEI %X%X\n",m_arg,nas_IMEI[0],nas_IMEI[1]);
#ifndef NAS_NETLINK
#ifndef PDCP_USE_NETLINK
#ifdef RTAI //with RTAI you have to indicate which irq# you want
@@ -505,7 +505,7 @@ int init_module (void)
}
}
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
if ((err=nas_netlink_init()) == -1)
printk("[NAS][INIT] NETLINK failed\n");
@@ -528,7 +528,7 @@ void cleanup_module(void)
printk("[NAS][CLEANUP]nasmesh_cleanup_module: begin\n");
#ifndef NAS_NETLINK
#ifndef PDCP_USE_NETLINK
if (pdcp_2_nas_irq!=-EBUSY) {
pdcp_2_nas_irq=0;
@@ -559,9 +559,9 @@ void cleanup_module(void)
free_netdev(nasdev[inst]);
}
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
nas_netlink_release();
#endif //NAS_NETLINK
#endif //PDCP_USE_NETLINK
printk("nasmesh_cleanup_module: end\n");
}
+2 -2
View File
@@ -63,7 +63,7 @@
//#include "rrc_nas_primitives.h"
//#include "rrc_sap.h"
#define PDCP2NAS_FIFO 21
#define PDCP2PDCP_USE_RT_FIFO 21
#define NAS2PDCP_FIFO 22
#include "constant.h"
@@ -185,7 +185,7 @@ extern struct net_device *nasdev[NB_INSTANCES_MAX];
extern uint8_t NAS_NULL_IMEI[14];
//global variables shared with RRC
#ifndef NAS_NETLINK
#ifndef PDCP_USE_NETLINK
extern int pdcp_2_nas_irq;
#endif
//extern uint8_t nas_IMEI[14];
+12 -12
View File
@@ -288,7 +288,7 @@ int nas_mesh_DC_send_cx_establish_request(struct cx_entity *cx,struct nas_priv *
nas_tool_print_buffer((char *)p,p->length);
#endif
++cx->retry;
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
#else
// bytes_wrote = rtf_put(cx->sap[NAS_DC_INPUT_SAPI], p, p->length);
#endif
@@ -348,7 +348,7 @@ int nas_mesh_DC_send_cx_release_request(struct cx_entity *cx,
p->length = NAS_TL_SIZE + sizeof(struct NASConnReleaseReq);
p->nasUEDCPrimitive.conn_release_req.localConnectionRef = cx->lcr;
p->nasUEDCPrimitive.conn_release_req.releaseCause = NAS_CX_RELEASE_UNDEF_CAUSE;
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
#else
// bytes_wrote = rtf_put(cx->sap[NAS_DC_INPUT_SAPI], p, p->length);
@@ -435,7 +435,7 @@ void nas_mesh_DC_send_sig_data_request(struct sk_buff *skb,
p->nasUEDCPrimitive.data_transfer_req.localConnectionRef = cx->lcr;
p->nasUEDCPrimitive.data_transfer_req.priority = 3; // TBD
p->nasUEDCPrimitive.data_transfer_req.nasDataLength = (skb->len)+1; //adds category character
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
#else
// bytes_wrote = rtf_put(cx->sap[NAS_DC_INPUT_SAPI], p, p->length);
#endif
@@ -445,7 +445,7 @@ void nas_mesh_DC_send_sig_data_request(struct sk_buff *skb,
return;
}
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
#else
// bytes_wrote += rtf_put(cx->sap[NAS_DC_INPUT_SAPI], &data_type, 1);
// bytes_wrote += rtf_put(cx->sap[NAS_DC_INPUT_SAPI], skb->data, skb->len);
@@ -505,7 +505,7 @@ void nas_mesh_DC_send_peer_sig_data_request(struct cx_entity *cx, uint8_t sig_ca
p->nasUEDCPrimitive.data_transfer_req.localConnectionRef = cx->lcr;
p->nasUEDCPrimitive.data_transfer_req.priority = 3; // TBD
p->nasUEDCPrimitive.data_transfer_req.nasDataLength = (nas_length)+1; //adds category character
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
#else
// bytes_wrote = rtf_put(cx->sap[NAS_DC_INPUT_SAPI], p, p->length);
#endif
@@ -515,7 +515,7 @@ void nas_mesh_DC_send_peer_sig_data_request(struct cx_entity *cx, uint8_t sig_ca
return;
}
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
#else
// bytes_wrote += rtf_put(cx->sap[NAS_DC_INPUT_SAPI], &data_type, 1);
// bytes_wrote += rtf_put(cx->sap[NAS_DC_INPUT_SAPI], (char *)nas_data, nas_length);
@@ -659,7 +659,7 @@ void nas_mesh_DC_decode_sig_data_ind(struct cx_entity *cx, struct nas_ue_dc_elem
}
// End debug information
#ifndef NAS_NETLINK
#ifndef PDCP_USE_NETLINK
// nas_COMMON_receive(p->length, p->nasUEDCPrimitive.data_transfer_ind.nasDataLength, cx->sap[NAS_DC_OUTPUT_SAPI]);
#endif
#ifdef NAS_DEBUG_DC
@@ -836,7 +836,7 @@ int nas_mesh_DC_receive(struct cx_entity *cx,struct nas_priv *gpriv)
}
// End debug information
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
#else
// bytes_read = rtf_get(cx->sap[NAS_DC_OUTPUT_SAPI] , gpriv->rbuffer, NAS_TL_SIZE);
#endif
@@ -846,7 +846,7 @@ int nas_mesh_DC_receive(struct cx_entity *cx,struct nas_priv *gpriv)
p= (struct nas_ue_dc_element *)(gpriv->rbuffer);
//get the rest of the primitive
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
#else
// bytes_read += rtf_get(cx->sap[NAS_DC_OUTPUT_SAPI], (uint8_t *)p+NAS_TL_SIZE, p->length-NAS_TL_SIZE);
#endif
@@ -975,7 +975,7 @@ int nas_mesh_GC_receive(struct nas_priv *gpriv)
#ifdef NAS_DEBUG_GC
printk("NAS_MESH_GC_RECEIVE - begin \n");
#endif
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
#else
// bytes_read = rtf_get(gpriv->sap[NAS_GC_SAPI], gpriv->rbuffer, NAS_TL_SIZE);
#endif
@@ -984,7 +984,7 @@ int nas_mesh_GC_receive(struct nas_priv *gpriv)
struct nas_ue_gc_element *p;
p= (struct nas_ue_gc_element *)(gpriv->rbuffer);
//get the rest of the primitive
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
#else
// bytes_read += rtf_get(gpriv->sap[NAS_GC_SAPI], (uint8_t *)p+NAS_TL_SIZE, p->length-NAS_TL_SIZE);
#endif
@@ -997,7 +997,7 @@ int nas_mesh_GC_receive(struct nas_priv *gpriv)
// start decoding message
switch (p->type) {
case INFO_BROADCAST_IND :
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
#else
// bytes_read += rtf_get(gpriv->sap[NAS_GC_SAPI], (uint8_t *)p+p->length, p->nasUEGCPrimitive.broadcast_ind.nasDataLength);
#endif
+5 -5
View File
@@ -52,7 +52,7 @@
//#define NETLINK_DEBUG 1
#define NAS_NETLINK_ID 31
#define OAI_IP_DRIVER_NETLINK_ID 31
#define NL_DEST_PID 1
@@ -113,7 +113,7 @@ int nas_netlink_init()
nas_nl_sk = netlink_kernel_create(
&init_net,
NAS_NETLINK_ID,
OAI_IP_DRIVER_NETLINK_ID,
# if LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0)
THIS_MODULE,
# endif
@@ -121,7 +121,7 @@ int nas_netlink_init()
#else /* LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0) */
nas_nl_sk = netlink_kernel_create(
&init_net,
NAS_NETLINK_ID,
OAI_IP_DRIVER_NETLINK_ID,
0,
nas_nl_data_ready,
&nasmesh_mutex, // NULL
@@ -185,9 +185,9 @@ int nas_netlink_send(unsigned char *data,unsigned int len)
#endif
#ifdef NETLINK_DEBUG
printk("[NAS][NETLINK] In nas_netlink_send, nl_skb %p, nl_sk %x, nlh %p, nlh->nlmsg_len %d (NAS_NETLINK_ID %d)\n",
printk("[NAS][NETLINK] In nas_netlink_send, nl_skb %p, nl_sk %x, nlh %p, nlh->nlmsg_len %d (OAI_IP_DRIVER_NETLINK_ID %d)\n",
nl_skb,nas_nl_sk,nlh,nlh->nlmsg_len,
NAS_NETLINK_ID);
OAI_IP_DRIVER_NETLINK_ID);
#endif //DEBUG_NETLINK
if (nas_nl_sk) {
+33 -16
View File
@@ -101,7 +101,9 @@ void nas_COMMON_receive(unsigned short dlen,
@param gc pointer to classifier entity for SDU
@param inst device instance
*/
void nas_COMMON_QOS_send(struct sk_buff *skb, struct cx_entity *cx, struct classifier_entity *gc,int inst);
void nas_COMMON_QOS_send(struct sk_buff *skb,
struct cx_entity *cx,
struct classifier_entity *gc,int inst);
/**
\fn void nas_COMMON_del_send(struct sk_buff *skb, struct cx_entity *cx, struct classifier_entity *gc,int inst)
@@ -111,15 +113,17 @@ void nas_COMMON_QOS_send(struct sk_buff *skb, struct cx_entity *cx, struct class
@param gc pointer to classifier entity for SDU
@param inst device instance
*/
void nas_COMMON_del_send(struct sk_buff *skb, struct cx_entity *cx, struct classifier_entity *gc,int inst);
void nas_COMMON_del_send(struct sk_buff *skb,
struct cx_entity *cx,
struct classifier_entity *gc,int inst);
#ifndef NAS_NETLINK
#ifndef PDCP_USE_NETLINK
/**
\fn void nas_COMMON_QOS_receive()
\brief Retrieve PDU from PDCP for connection
*/
void nas_COMMON_QOS_receive(void);
#endif //NAS_NETLINK
#endif //PDCP_USE_NETLINK
/**
\fn struct rb_entity *nas_COMMON_add_rb(struct cx_entity *cx, nasRadioBearerId_t rabi, nasQoSTrafficClass_t qos)
@@ -128,7 +132,9 @@ void nas_COMMON_QOS_receive(void);
@param rabi radio-bearer index
@param qos NAS QOS traffic class
*/
struct rb_entity *nas_COMMON_add_rb(struct cx_entity *cx, nasRadioBearerId_t rabi, nasQoSTrafficClass_t qos);
struct rb_entity *nas_COMMON_add_rb(
struct cx_entity *cx, nasRadioBearerId_t rabi,
nasQoSTrafficClass_t qos);
/**
\fn struct rb_entity *nas_COMMON_search_rb(struct cx_entity *cx, nasRadioBearerId_t rabi)
@@ -137,7 +143,8 @@ struct rb_entity *nas_COMMON_add_rb(struct cx_entity *cx, nasRadioBearerId_t rab
@param rabi radio-bearer index
@returns A pointer to the radio-bearer entity
*/
struct rb_entity *nas_COMMON_search_rb(struct cx_entity *cx, nasRadioBearerId_t rabi);
struct rb_entity *nas_COMMON_search_rb(
struct cx_entity *cx, nasRadioBearerId_t rabi);
/**
\fn struct cx_entity *nas_COMMON_search_cx(nasLocalConnectionRef_t lcr,struct nas_priv *gpriv)
@@ -146,7 +153,9 @@ struct rb_entity *nas_COMMON_search_rb(struct cx_entity *cx, nasRadioBearerId_t
@param gpriv pointer to nas_priv for device
@returns A pointer to the connection entity
*/
struct cx_entity *nas_COMMON_search_cx(nasLocalConnectionRef_t lcr,struct nas_priv *gpriv);
struct cx_entity *nas_COMMON_search_cx(
nasLocalConnectionRef_t lcr,
struct nas_priv *gpriv);
/**
\fn struct classifier_entity *nas_COMMON_search_class_for_rb(nasRadioBearerId_t rab_id,struct nas_priv *priv)
@@ -155,7 +164,9 @@ struct cx_entity *nas_COMMON_search_cx(nasLocalConnectionRef_t lcr,struct nas_pr
@param priv pointer to nas_priv for device
@returns A pointer to the corresponding RX classifier entity
*/
struct classifier_entity *nas_COMMON_search_class_for_rb(nasRadioBearerId_t rab_id,struct nas_priv *priv);
struct classifier_entity
*nas_COMMON_search_class_for_rb(nasRadioBearerId_t
rab_id,struct nas_priv *priv);
/**
\fn void nas_COMMON_flush_rb(struct cx_entity *cx)
@@ -164,7 +175,7 @@ struct classifier_entity *nas_COMMON_search_class_for_rb(nasRadioBearerId_t rab_
*/
void nas_COMMON_flush_rb(struct cx_entity *cx);
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
/**
\fn int nas_netlink_send(unsigned char *data,unsigned int len)
\brief Request the transfer of data by PDCP via netlink socket
@@ -181,7 +192,7 @@ int nas_netlink_send(unsigned char *data,unsigned int len);
*/
void nas_COMMON_QOS_receive(struct nlmsghdr *nlh);
#endif //NAS_NETLINK
#endif //PDCP_USE_NETLINK
//nasmesh.c
/**
@@ -191,7 +202,8 @@ void nas_mesh_init(int inst //!< Instance ID
);
void nas_mesh_timer(unsigned long data,struct nas_priv *gpriv);
void nas_mesh_timer(unsigned long data,
struct nas_priv *gpriv);
int nas_mesh_DC_receive(struct cx_entity *cx,struct nas_priv *gpriv);
int nas_mesh_GC_receive(struct nas_priv *gpriv);
@@ -200,9 +212,12 @@ int nas_mesh_DC_send_cx_release_request(struct cx_entity *cx,struct nas_priv *g
void nas_mesh_DC_send_sig_data_request(struct sk_buff *skb, struct cx_entity *cx, struct classifier_entity *gc,struct nas_priv *gpriv);
// iocontrol.c
void nas_CTL_send(struct sk_buff *skb, struct cx_entity *cx, struct classifier_entity *gc);
void nas_CTL_send(struct sk_buff *skb,
struct cx_entity *cx,
struct classifier_entity *gc);
//int nas_CTL_receive_authentication(struct ipv6hdr *iph, struct cx-entity *cx, unsigned char sapi);
int nas_CTL_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd);
int nas_CTL_ioctl(struct net_device *dev,
struct ifreq *ifr, int cmd);
// classifier.c
@@ -220,7 +235,8 @@ struct classifier_entity *nas_CLASS_add_sclassifier(struct cx_entity *cx, unsign
/**
\brief Send a socket received from IP to classifier for a particular instance ID.
*/
struct classifier_entity *nas_CLASS_add_fclassifier(struct cx_entity *cx,
struct classifier_entity
*nas_CLASS_add_fclassifier(struct cx_entity *cx,
unsigned char dscp,
unsigned short classref
);
@@ -228,7 +244,8 @@ struct classifier_entity *nas_CLASS_add_fclassifier(struct cx_entity *cx,
/**
\brief Send a socket received from IP to classifier for a particular instance ID.
*/
struct classifier_entity *nas_CLASS_add_rclassifier(unsigned char dscp,
struct classifier_entity
*nas_CLASS_add_rclassifier(unsigned char dscp,
unsigned short classref,
struct nas_priv*
);
@@ -297,7 +314,7 @@ void nas_tool_print_buffer(char * buffer,int length);
void nas_print_rb_entity(struct rb_entity *rb);
void nas_print_classifier(struct classifier_entity *gc);
#ifdef NAS_NETLINK
#ifdef PDCP_USE_NETLINK
// nas_netlink.c
void nas_netlink_release(void);
+1 -1
View File
@@ -7,7 +7,7 @@
# You can modify the below as well, but probably
# won't need to.
include $(OPENAIR_HOME)/common/utils/Makefile.inc
include $(OPENAIR_DIR)/common/utils/Makefile.inc
#UPDIR := /homes/mwett/rh_mw/RHODOS
COMMON_DIR = $(OPENAIR2_DIR)/COMMON
RRC_CELL_DIR = $(OPENAIR2_DIR)/RRC/CELLULAR