Remove functions from nas_config that are not used, mark static
- Remove unused NAS_config(): It does most of what the highly similar nas_config() does. - Remove unused set_gateway() - Remove unused blocking_NAS_config() - Remove unused functions getNetMask() - Remove unused broadcast functionality: functions setBroadcastAddress() and getBroadcastAddress(), as well as global variable broadcastAddr are not used in consumers. Remove it. - Make functions static
This commit is contained in:
+11
-110
@@ -52,10 +52,8 @@
|
|||||||
|
|
||||||
char *baseNetAddress ;
|
char *baseNetAddress ;
|
||||||
char *netMask ;
|
char *netMask ;
|
||||||
char *broadcastAddr ;
|
|
||||||
#define NASHLP_NETPREFIX "<NAS network prefix, two first bytes of network addresses>\n"
|
#define NASHLP_NETPREFIX "<NAS network prefix, two first bytes of network addresses>\n"
|
||||||
#define NASHLP_NETMASK "<NAS network mask>\n"
|
#define NASHLP_NETMASK "<NAS network mask>\n"
|
||||||
#define NASHLP_BROADCASTADDR "<NAS network broadcast address>\n"
|
|
||||||
void nas_getparams(void) {
|
void nas_getparams(void) {
|
||||||
// this datamodel require this static because we partially keep data like baseNetAddress (malloc on a global)
|
// this datamodel require this static because we partially keep data like baseNetAddress (malloc on a global)
|
||||||
// but we loose the opther attributes in nasoptions between two calls if is is not static !
|
// but we loose the opther attributes in nasoptions between two calls if is is not static !
|
||||||
@@ -67,7 +65,6 @@ void nas_getparams(void) {
|
|||||||
/*--------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
|
/*--------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
|
||||||
{"NetworkPrefix", NASHLP_NETPREFIX, 0, .strptr=&baseNetAddress, .defstrval="10.0", TYPE_STRING, 0 },
|
{"NetworkPrefix", NASHLP_NETPREFIX, 0, .strptr=&baseNetAddress, .defstrval="10.0", TYPE_STRING, 0 },
|
||||||
{"NetworkMask", NASHLP_NETMASK, 0, .strptr=&netMask, .defstrval="255.255.255.0", TYPE_STRING, 0 },
|
{"NetworkMask", NASHLP_NETMASK, 0, .strptr=&netMask, .defstrval="255.255.255.0", TYPE_STRING, 0 },
|
||||||
{"BroadcastAddr", NASHLP_BROADCASTADDR, 0, .strptr=&broadcastAddr, .defstrval="10.0.255.255", TYPE_STRING, 0 },
|
|
||||||
};
|
};
|
||||||
// clang-format on
|
// clang-format on
|
||||||
config_get(config_get_if(), nasoptions, sizeofArray(nasoptions), "nas.noS1");
|
config_get(config_get_if(), nasoptions, sizeofArray(nasoptions), "nas.noS1");
|
||||||
@@ -77,77 +74,14 @@ void setBaseNetAddress (char *baseAddr) {
|
|||||||
strcpy(baseNetAddress,baseAddr);
|
strcpy(baseNetAddress,baseAddr);
|
||||||
}
|
}
|
||||||
|
|
||||||
char *getBaseNetAddress (void) {
|
|
||||||
return baseNetAddress;
|
|
||||||
}
|
|
||||||
|
|
||||||
void setNetMask (char *baseAddr) {
|
void setNetMask (char *baseAddr) {
|
||||||
strcpy(netMask,baseAddr);
|
strcpy(netMask,baseAddr);
|
||||||
}
|
}
|
||||||
|
|
||||||
char *getNetMask (void) {
|
|
||||||
return netMask;
|
|
||||||
}
|
|
||||||
|
|
||||||
void setBroadcastAddress (char *baseAddr) {
|
|
||||||
strcpy(broadcastAddr, baseAddr);
|
|
||||||
}
|
|
||||||
|
|
||||||
char *getBroadcastAddress (void) {
|
|
||||||
return broadcastAddr;
|
|
||||||
}
|
|
||||||
|
|
||||||
//Add Gateway to the interface
|
|
||||||
int set_gateway(char *interfaceName, char *gateway) {
|
|
||||||
int sock_fd;
|
|
||||||
struct rtentry rt;
|
|
||||||
struct sockaddr_in addr;
|
|
||||||
|
|
||||||
if((sock_fd = socket(AF_INET,SOCK_DGRAM,0)) < 0) {
|
|
||||||
perror("socket failed");
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
memset (&rt, 0, sizeof (rt));
|
|
||||||
addr.sin_family = AF_INET;
|
|
||||||
/*set Destination addr*/
|
|
||||||
inet_aton("0.0.0.0",&addr.sin_addr);
|
|
||||||
memcpy(&rt.rt_dst, &addr, sizeof(struct sockaddr_in));
|
|
||||||
/*set gateway addr*/
|
|
||||||
inet_aton(gateway,&addr.sin_addr);
|
|
||||||
memcpy(&rt.rt_gateway, &addr, sizeof(struct sockaddr_in));
|
|
||||||
/*set genmask addr*/
|
|
||||||
inet_aton("0.0.0.0",&addr.sin_addr);
|
|
||||||
memcpy(&rt.rt_genmask, &addr, sizeof(struct sockaddr_in));
|
|
||||||
rt.rt_dev = interfaceName;
|
|
||||||
//rt.rt_flags = RTF_UP|RTF_GATEWAY|RTF_DEFAULT;
|
|
||||||
/* SR: rt_flags on 16 bits but RTF_DEFAULT = 0x00010000
|
|
||||||
* therefore doesn't lie in container -> disable it
|
|
||||||
*/
|
|
||||||
//rt.rt_flags = RTF_GATEWAY|RTF_DEFAULT;
|
|
||||||
rt.rt_flags = RTF_GATEWAY;
|
|
||||||
|
|
||||||
if (ioctl(sock_fd, SIOCADDRT, &rt) < 0) {
|
|
||||||
close(sock_fd);
|
|
||||||
|
|
||||||
if(strstr(strerror(errno),"File exists") == NULL) {
|
|
||||||
LOG_E(OIP,"ioctl SIOCADDRT failed : %s\n",strerror(errno));
|
|
||||||
return 2;
|
|
||||||
} else { /*if SIOCADDRT error is route exist, retrun success*/
|
|
||||||
LOG_I(OIP,"File Exist ...\n");
|
|
||||||
LOG_I(OIP,"set_gateway OK!\n");
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
close(sock_fd);
|
|
||||||
LOG_D(OIP,"Set Gateway OK!\n");
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
// sets a genneric interface parameter
|
// sets a genneric interface parameter
|
||||||
// (SIOCSIFADDR, SIOCSIFNETMASK, SIOCSIFBRDADDR, SIOCSIFFLAGS)
|
// (SIOCSIFADDR, SIOCSIFNETMASK, SIOCSIFBRDADDR, SIOCSIFFLAGS)
|
||||||
int setInterfaceParameter(char *interfaceName, char *settingAddress, int operation) {
|
static int setInterfaceParameter(const char *interfaceName, const char *settingAddress, int operation)
|
||||||
|
{
|
||||||
int sock_fd;
|
int sock_fd;
|
||||||
struct ifreq ifr;
|
struct ifreq ifr;
|
||||||
struct sockaddr_in addr;
|
struct sockaddr_in addr;
|
||||||
@@ -178,7 +112,8 @@ int setInterfaceParameter(char *interfaceName, char *settingAddress, int operati
|
|||||||
|
|
||||||
// sets a genneric interface parameter
|
// sets a genneric interface parameter
|
||||||
// (SIOCSIFADDR, SIOCSIFNETMASK, SIOCSIFBRDADDR, SIOCSIFFLAGS)
|
// (SIOCSIFADDR, SIOCSIFNETMASK, SIOCSIFBRDADDR, SIOCSIFFLAGS)
|
||||||
int bringInterfaceUp(char *interfaceName, int up) {
|
static int bringInterfaceUp(char *interfaceName, int up)
|
||||||
|
{
|
||||||
int sock_fd;
|
int sock_fd;
|
||||||
struct ifreq ifr;
|
struct ifreq ifr;
|
||||||
|
|
||||||
@@ -213,27 +148,6 @@ int bringInterfaceUp(char *interfaceName, int up) {
|
|||||||
close( sock_fd );
|
close( sock_fd );
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
// non blocking full configuration of the interface (address, net mask, and broadcast mask)
|
|
||||||
int NAS_config(char *interfaceName, char *ipAddress, char *networkMask, char *broadcastAddress) {
|
|
||||||
bringInterfaceUp(interfaceName, 0);
|
|
||||||
// sets the machine address
|
|
||||||
int returnValue= setInterfaceParameter(interfaceName, ipAddress,SIOCSIFADDR);
|
|
||||||
|
|
||||||
// sets the machine network mask
|
|
||||||
if(!returnValue)
|
|
||||||
returnValue= setInterfaceParameter(interfaceName, networkMask,SIOCSIFNETMASK);
|
|
||||||
|
|
||||||
// sets the machine broadcast address
|
|
||||||
if(!returnValue)
|
|
||||||
returnValue= setInterfaceParameter(interfaceName, broadcastAddress,SIOCSIFBRDADDR);
|
|
||||||
|
|
||||||
// if(!returnValue)
|
|
||||||
// returnValue=set_gateway(interfaceName, broadcastAddress);
|
|
||||||
if(!returnValue)
|
|
||||||
returnValue = bringInterfaceUp(interfaceName, 1);
|
|
||||||
|
|
||||||
return returnValue;
|
|
||||||
}
|
|
||||||
|
|
||||||
int nas_config_mbms(int interface_id, int thirdOctet, int fourthOctet, char *ifname) {
|
int nas_config_mbms(int interface_id, int thirdOctet, int fourthOctet, char *ifname) {
|
||||||
//char buf[5];
|
//char buf[5];
|
||||||
@@ -370,25 +284,11 @@ int nas_config(int interface_id, int thirdOctet, int fourthOctet, char *ifname)
|
|||||||
return returnValue;
|
return returnValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Blocking full configuration of the interface (address, net mask, and broadcast mask)
|
#ifdef STANDALONE
|
||||||
int blocking_NAS_config(char *interfaceName, char *ipAddress, char *networkMask, char *broadcastAddress) {
|
|
||||||
char command[200];
|
|
||||||
command[0]='\0';
|
|
||||||
strcat(command, "ifconfig ");
|
|
||||||
strncat(command, interfaceName, sizeof(command) - strlen(command) - 1);
|
|
||||||
strncat(command, " ", sizeof(command) - strlen(command) - 1);
|
|
||||||
strncat(command, ipAddress, sizeof(command) - strlen(command) - 1);
|
|
||||||
strncat(command, " networkMask ", sizeof(command) - strlen(command) - 1);
|
|
||||||
strncat(command, networkMask, sizeof(command) - strlen(command) - 1);
|
|
||||||
strncat(command, " broadcast ", sizeof(command) - strlen(command) - 1);
|
|
||||||
strncat(command, broadcastAddress, sizeof(command) - strlen(command) - 1);
|
|
||||||
// ifconfig nasmesh0 10.0.1.1 networkMask 255.255.255.0 broadcast 10.0.1.255
|
|
||||||
int i = system (command);
|
|
||||||
return i;
|
|
||||||
}
|
|
||||||
|
|
||||||
// program help
|
// program help
|
||||||
void helpOptions(char **argv) {
|
static void helpOptions(char **argv)
|
||||||
|
{
|
||||||
printf("Help for %s\n", argv[0]);
|
printf("Help for %s\n", argv[0]);
|
||||||
printf(" -i <interfaceName>\n");
|
printf(" -i <interfaceName>\n");
|
||||||
printf(" -a <IP address>\n");
|
printf(" -a <IP address>\n");
|
||||||
@@ -404,7 +304,8 @@ void helpOptions(char **argv) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// creates the broadcast address if it wasn't set before
|
// creates the broadcast address if it wasn't set before
|
||||||
void createBroadcast(char *broadcastAddress) {
|
static void createBroadcast(char *broadcastAddress)
|
||||||
|
{
|
||||||
int pos=strlen(broadcastAddress)-1;
|
int pos=strlen(broadcastAddress)-1;
|
||||||
|
|
||||||
while(broadcastAddress[pos]!='.')
|
while(broadcastAddress[pos]!='.')
|
||||||
@@ -415,7 +316,7 @@ void createBroadcast(char *broadcastAddress) {
|
|||||||
broadcastAddress[++pos]='5';
|
broadcastAddress[++pos]='5';
|
||||||
broadcastAddress[++pos]='\0';
|
broadcastAddress[++pos]='\0';
|
||||||
}
|
}
|
||||||
#ifdef STANDALONE
|
|
||||||
// main function
|
// main function
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
int main(int argc,char **argv)
|
int main(int argc,char **argv)
|
||||||
@@ -473,7 +374,7 @@ int main(int argc,char **argv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
printf("Command: ifconfig %s %s networkMask %s broadcast %s\n", interfaceName, ipAddress, networkMask, broadcastAddress);
|
printf("Command: ifconfig %s %s networkMask %s broadcast %s\n", interfaceName, ipAddress, networkMask, broadcastAddress);
|
||||||
NAS_config(interfaceName, ipAddress, networkMask, broadcastAddress);
|
|
||||||
//test
|
//test
|
||||||
// setBaseNetAddress("11.11");
|
// setBaseNetAddress("11.11");
|
||||||
// nas_config(interfaceName, 33, 44);
|
// nas_config(interfaceName, 33, 44);
|
||||||
|
|||||||
@@ -38,18 +38,6 @@
|
|||||||
*/
|
*/
|
||||||
void nas_getparams(void);
|
void nas_getparams(void);
|
||||||
|
|
||||||
/*! \fn int NAS_config(char*, char*, char*, char*)
|
|
||||||
* \brief This function initializes the nasmesh interface
|
|
||||||
* \param[in] interfaceName, the name of the interface, e.g. nasmesh0 or nasmesh1
|
|
||||||
* \param[in] ipAddress, the address of the interface, e.g. 10.0.1.1
|
|
||||||
* \param[in] networkMask, the network mask to be used, e.g. 255.255.255.0
|
|
||||||
* \param[in] broadcastAddress, the broadcast address for the subnet, e.g. 10.0.1.255
|
|
||||||
* \return 0 on success, otherwise 1, if couldn't open a socket and 2 if the ioctl fails
|
|
||||||
* \note
|
|
||||||
* @ingroup _nas
|
|
||||||
*/
|
|
||||||
int NAS_config(char *interfaceName, char *ipAddress, char *networkMask, char *broadcastAddress);
|
|
||||||
|
|
||||||
/*! \fn int nas_config(char*, int, int)
|
/*! \fn int nas_config(char*, int, int)
|
||||||
* \brief This function initializes the nasmesh interface using the basic values,
|
* \brief This function initializes the nasmesh interface using the basic values,
|
||||||
* basic address, network mask and broadcast address, as the default configured
|
* basic address, network mask and broadcast address, as the default configured
|
||||||
@@ -89,42 +77,6 @@ int nas_config_mbms(int interface_id, int thirdOctet, int fourthOctet, char *ifs
|
|||||||
*/
|
*/
|
||||||
int nas_config_mbms_s1(int interface_id, int thirdOctet, int fourthOctet, char *ifsuffix);
|
int nas_config_mbms_s1(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
|
|
||||||
* \param[in] interfaceName, the name of the interface, e.g. nasmesh0 or nasmesh1
|
|
||||||
* \param[in] ipAddress, the address of the interface, e.g. 10.0.1.1
|
|
||||||
* \param[in] networkMask, the network mask to be used, e.g. 255.255.255.0
|
|
||||||
* \param[in] broadcastAddress, the broadcast address for the subnet, e.g. 10.0.1.255
|
|
||||||
* \return 0 on success, otherwise 1
|
|
||||||
* \note
|
|
||||||
* @ingroup _nas
|
|
||||||
*/
|
|
||||||
int blocking_NAS_config(char *interfaceName, char *ipAddress, char *networkMask, char *broadcastAddress);
|
|
||||||
|
|
||||||
/*! \fn int setInterfaceParameter(char*, char*, int)
|
|
||||||
* \brief This function sets an genneric interface parameter (SIOCSIFADDR,
|
|
||||||
* SIOCSIFNETMASK, SIOCSIFBRDADDR, SIOCSIFFLAGS)
|
|
||||||
* \param[in] interfaceName, the name of the interface, e.g. nasmesh0 or nasmesh1
|
|
||||||
* \param[in] address, the value of the parameter to set, e.g. 10.0.1.255
|
|
||||||
* \param[in] operation, the operation to perform, (SIOCSIFADDR, SIOCSIFNETMASK,
|
|
||||||
* SIOCSIFBRDADDR, SIOCSIFFLAGS), e.g. SIOCSIFBRDADDR
|
|
||||||
* \return 0 on success, otherwise 1, if couldn't open a socket and 2 if the ioctl fails
|
|
||||||
* \note
|
|
||||||
* @ingroup _nas
|
|
||||||
*/
|
|
||||||
int setInterfaceParameter(char *interfaceName, char *settingAddress, int operation);
|
|
||||||
|
|
||||||
/*! \fn int set_gateway(char*, char*)
|
|
||||||
* \brief This function sets the interface gateway
|
|
||||||
* \param[in] interfaceName, the name of the interface, e.g. nasmesh0 or nasmesh1
|
|
||||||
* \param[in] address, the address of the gateway, e.g. 10.0.1.2
|
|
||||||
* \return 0 on success, otherwise 1, if couldn't open a socket and 2 if the ioctl fails
|
|
||||||
* \note
|
|
||||||
* @ingroup _nas
|
|
||||||
*/
|
|
||||||
int set_gateway(char *interfaceName, char *gateway);
|
|
||||||
|
|
||||||
/*! \fn void setBaseNetAddress(char*)
|
/*! \fn void setBaseNetAddress(char*)
|
||||||
* \brief This function sets the basic network address used
|
* \brief This function sets the basic network address used
|
||||||
* \param[in] baseAddr, the new basic address e.g.for 10.0.1.2, would be 10.0
|
* \param[in] baseAddr, the new basic address e.g.for 10.0.1.2, would be 10.0
|
||||||
@@ -133,14 +85,6 @@ int set_gateway(char *interfaceName, char *gateway);
|
|||||||
*/
|
*/
|
||||||
void setBaseNetAddress(char *baseAddr);
|
void setBaseNetAddress(char *baseAddr);
|
||||||
|
|
||||||
/*! \fn char* getBaseNetAddress()
|
|
||||||
* \brief This function returns the basic network address used
|
|
||||||
* \return the basic network address in use
|
|
||||||
* \note
|
|
||||||
* @ingroup _nas
|
|
||||||
*/
|
|
||||||
char *getBaseNetAddress(void);
|
|
||||||
|
|
||||||
/*! \fn void setNetMask(char*)
|
/*! \fn void setNetMask(char*)
|
||||||
* \brief This function sets the new default network mask used
|
* \brief This function sets the new default network mask used
|
||||||
* \param[in] newNetworkMask, the new network mask e.g.for 255.255.0.0
|
* \param[in] newNetworkMask, the new network mask e.g.for 255.255.0.0
|
||||||
@@ -149,30 +93,4 @@ char *getBaseNetAddress(void);
|
|||||||
*/
|
*/
|
||||||
void setNetMask(char *baseAddr);
|
void setNetMask(char *baseAddr);
|
||||||
|
|
||||||
/*! \fn char* getNetMask()
|
|
||||||
* \brief This function returns the network mask address in use
|
|
||||||
* \return the network mask in use
|
|
||||||
* \note
|
|
||||||
* @ingroup _nas
|
|
||||||
*/
|
|
||||||
char *getNetMask(void);
|
|
||||||
|
|
||||||
/*! \fn coid setBroadcastAddress(char*)
|
|
||||||
* \brief This function sets the new broadcast address used
|
|
||||||
* \param[in] newNetworkMask, the new broadcast address e.g.for 10.0.255.255
|
|
||||||
* \note
|
|
||||||
* @ingroup _nas
|
|
||||||
*/
|
|
||||||
void setBroadcastAddress(char *baseAddr);
|
|
||||||
|
|
||||||
/*! \fn char* getBroadcastAddress()
|
|
||||||
* \brief This function returns the broadcast address in use
|
|
||||||
* \return the broadcast address in use
|
|
||||||
* \note
|
|
||||||
* @ingroup _nas
|
|
||||||
*/
|
|
||||||
char *getBroadcastAddress(void);
|
|
||||||
|
|
||||||
int bringInterfaceUp(char *interfaceName, int up);
|
|
||||||
|
|
||||||
#endif /*NAS_CONFIG_H_*/
|
#endif /*NAS_CONFIG_H_*/
|
||||||
|
|||||||
Reference in New Issue
Block a user