-MBMS RRC procedures for M2AP
-On the fligh MBMS recofiguration for MBSFN, sib13,sib2 and MCCH enabled through M2 interface (MCE) -RRC NAS update for MBMS TUN interfaces configuration -UE RRC modified to handle dynamic SIB2 (MBSFN Subframe Config Lists), SIB13 (MCCH) reconfigurations (TO CAREFULLY BE CHECKED) ACKNOWLEDGEMENT: 1. This commit was developed at Vicomtech (https://www.vicomtech.org) under UE project CDN-X-ALL: "CDN edge-cloud computing for efficient cache and reliable streaming aCROSS Aggregated unicast-multicast LinkS" 2. Project funded by Fed4FIRE+ OC5 (https://www.fed4fire.eu) Signed-off-by: Javier Morgade <javier.morgade@ieee.org>
This commit is contained in:
@@ -230,6 +230,45 @@ int NAS_config(char *interfaceName, char *ipAddress, char *networkMask, char *br
|
||||
return returnValue;
|
||||
}
|
||||
|
||||
int nas_config_mbms(int interface_id, int thirdOctet, int fourthOctet, char *ifname) {
|
||||
//char buf[5];
|
||||
char ipAddress[20];
|
||||
char broadcastAddress[20];
|
||||
char interfaceName[20];
|
||||
int returnValue;
|
||||
//if(strcmp(ifname,"ue") == 0)
|
||||
//sprintf(ipAddress, "%s.%d.%d", "20.0",thirdOctet,fourthOctet);
|
||||
////else
|
||||
sprintf(ipAddress, "%s.%d.%d",baseNetAddress,thirdOctet,fourthOctet);
|
||||
|
||||
sprintf(broadcastAddress, "%s.%d.255",baseNetAddress, thirdOctet);
|
||||
sprintf(interfaceName, "%s%s%d", (UE_NAS_USE_TUN || ENB_NAS_USE_TUN)?"oaitun_":ifname,
|
||||
UE_NAS_USE_TUN?ifname/*"ue"*/: (ENB_NAS_USE_TUN?ifname/*"enb"*/:""),interface_id);
|
||||
bringInterfaceUp(interfaceName, 0);
|
||||
// sets the machine address
|
||||
returnValue= setInterfaceParameter(interfaceName, ipAddress,SIOCSIFADDR);
|
||||
|
||||
// sets the machine network mask
|
||||
if(!returnValue)
|
||||
returnValue= setInterfaceParameter(interfaceName, netMask,SIOCSIFNETMASK);
|
||||
|
||||
// sets the machine broadcast address
|
||||
if(!returnValue)
|
||||
returnValue= setInterfaceParameter(interfaceName, broadcastAddress,SIOCSIFBRDADDR);
|
||||
|
||||
if(!returnValue)
|
||||
bringInterfaceUp(interfaceName, 1);
|
||||
|
||||
if(!returnValue)
|
||||
LOG_I(OIP,"Interface %s successfuly configured, ip address %s, mask %s broadcast address %s\n",
|
||||
interfaceName, ipAddress, netMask, broadcastAddress);
|
||||
else
|
||||
LOG_E(OIP,"Interface %s couldn't be configured (ip address %s, mask %s broadcast address %s)\n",
|
||||
interfaceName, ipAddress, netMask, broadcastAddress);
|
||||
|
||||
return returnValue;
|
||||
}
|
||||
|
||||
// non blocking full configuration of the interface (address, and the two lest octets of the address)
|
||||
int nas_config(int interface_id, int thirdOctet, int fourthOctet, char *ifname) {
|
||||
//char buf[5];
|
||||
|
||||
@@ -63,6 +63,20 @@ int NAS_config(char *interfaceName, char *ipAddress, char *networkMask, char *br
|
||||
*/
|
||||
int nas_config(int interface_id, int thirdOctet, int fourthOctet, char *ifsuffix);
|
||||
|
||||
/*! \fn int nas_config_mbms(char*, int, int)
|
||||
* \brief This function initializes the nasmesh interface using the basic values,
|
||||
* basic address, network mask and broadcast address, as the default configured
|
||||
* ones
|
||||
* \param[in] interfaceName, the name of the interface, e.g. nasmesh0 or nasmesh1
|
||||
* \param[in] third octet of the ip address e.g. for the 10.1.2.3 address would be 2
|
||||
* \param[in] fourth octet of the ip address e.g. for the 10.1.2.3 address would be 3
|
||||
* \return 0 on success, otherwise 1, if couldn't open a socket and 2 if the ioctl fails
|
||||
* \note
|
||||
* @ingroup ?????
|
||||
*/
|
||||
int nas_config_mbms(int interface_id, int thirdOctet, int fourthOctet, char *ifsuffix);
|
||||
|
||||
|
||||
/*! \fn int blocking_NAS_config(char*, char*, char*, char*)
|
||||
* \brief This function initializes the nasmesh interface, in a blocking way,
|
||||
* the system calls are interrupted
|
||||
|
||||
Reference in New Issue
Block a user