diff options
author | John Rigby <john.rigby@linaro.org> | 2012-08-09 14:17:11 -0600 |
---|---|---|
committer | John Rigby <john.rigby@linaro.org> | 2012-08-09 15:08:27 -0600 |
commit | 2c872ca6e22ad5e5011fcd76e4293b75b37ffed5 (patch) | |
tree | 9da4079a907ca932f4d19d4babb1bbb8e4b6d1d5 | |
parent | cfb48a3a75a8860f4d004a3a3e384732b3593b99 (diff) |
dhcp: add default weak dhcp_vendorex_{prep,proc} functions
Signed-off-by: John Rigby <john.rigby@linaro.org>
-rw-r--r-- | net/bootp.c | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/net/bootp.c b/net/bootp.c index 9e324769d..b1b7b0c1e 100644 --- a/net/bootp.c +++ b/net/bootp.c @@ -68,8 +68,35 @@ static char *dhcpmsg2str(int type) #if defined(CONFIG_BOOTP_VENDOREX) extern u8 *dhcp_vendorex_prep (u8 *e); /*rtn new e after add own opts. */ extern u8 *dhcp_vendorex_proc (u8 *e); /*rtn next e if mine,else NULL */ -#endif +u8 *__dhcp_vendorex_prep(u8 *e) +{ + char *ptr; + + /* DHCP vendor-class-identifier = 60 */ + if ((ptr = getenv("dhcp_vendor-class-identifier"))) { + *e++ = 60; + *e++ = strlen(ptr); + while (*ptr) + *e++ = *ptr++; + } + /* DHCP_CLIENT_IDENTIFIER = 61 */ + if ((ptr = getenv("dhcp_client_id"))) { + *e++ = 61; + *e++ = strlen(ptr); + while (*ptr) + *e++ = *ptr++; + } + return e; +} + +u8 *__dhcp_vendorex_proc(u8 *popt) +{ + return NULL; +} +u8 *dhcp_vendorex_prep(u8 *e) __attribute__((weak, alias("__dhcp_vendorex_prep"))); +u8 *dhcp_vendorex_proc(u8 *e) __attribute__((weak, alias("__dhcp_vendorex_proc"))); +#endif #endif static int BootpCheckPkt(uchar *pkt, unsigned dest, unsigned src, unsigned len) |