udhcp: finish support of classless static routes

function                                             old     new   delta
udhcp_str2optset                                     415     532    +117

Signed-off-by: Michael McTernan <Michael.McTernan.2001@cs.bris.ac.uk>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Michael McTernan 2011-12-16 17:05:52 +01:00 committed by Denys Vlasenko
parent be2a557918
commit 7b57ff4436
2 changed files with 13 additions and 2 deletions

View File

@ -68,6 +68,8 @@ opt wins 192.168.10.10
option dns 129.219.13.81 # appended to above DNS servers for a total of 3
option domain local
option lease 864000 # default: 10 days
option msstaticroutes 10.0.0.0/8 10.127.0.1 # single static route
option staticroutes 10.0.0.0/8 10.127.0.1, 10.11.12.0/24 10.11.12.1
# Arbitrary option in hex form:
option 0x08 01020304 # option 8: "cookie server IP addr: 1.2.3.4"
@ -101,6 +103,8 @@ option 0x08 01020304 # option 8: "cookie server IP addr: 1.2.3.4"
#opt swapsrv IP
# Options specifying routes
#opt routes IP_PAIR_LIST
#opt staticroutes STATIC_ROUTES # RFC 3442 classless static route option
#opt msstaticroutes STATIC_ROUTES # same, using MS option number
# Obsolete options, no longer supported
#opt logsrv IP_LIST # 704/UDP log server (not syslog!)
#opt namesrv IP_LIST # IEN 116 name server, obsolete (August 1979!!!)
@ -109,5 +113,3 @@ option 0x08 01020304 # option 8: "cookie server IP addr: 1.2.3.4"
# TODO: in development
#opt userclass STRING # RFC 3004. set of LASCII strings. "I am a printer" etc
#opt sipserv STRING LIST # RFC 3361. flag byte, then: 0: domain names, 1: IP addrs
#opt staticroutes STATIC_ROUTES
#opt msstaticroutes STATIC_ROUTES

View File

@ -168,6 +168,15 @@ uint32_t bb_strtou32(const char *arg, char **endp, int base)
return bb_strtoul(arg, endp, base);
return BUG_bb_strtou32_unimplemented();
}
static ALWAYS_INLINE
int32_t bb_strtoi32(const char *arg, char **endp, int base)
{
if (sizeof(int32_t) == sizeof(int))
return bb_strtoi(arg, endp, base);
if (sizeof(int32_t) == sizeof(long))
return bb_strtol(arg, endp, base);
return BUG_bb_strtou32_unimplemented();
}
/* Floating point */