diff options
-rw-r--r-- | examples/udhcp/udhcpd.conf | 9 | ||||
-rw-r--r-- | networking/udhcp/Config.src | 8 | ||||
-rw-r--r-- | networking/udhcp/common.c | 8 | ||||
-rw-r--r-- | networking/udhcp/common.h | 2 |
4 files changed, 27 insertions, 0 deletions
diff --git a/examples/udhcp/udhcpd.conf b/examples/udhcp/udhcpd.conf index 23fc834b7..43b49df89 100644 --- a/examples/udhcp/udhcpd.conf +++ b/examples/udhcp/udhcpd.conf @@ -90,6 +90,8 @@ option 0x08 01020304 # option 8: "cookie server IP addr: 1.2.3.4" #opt wpad STRING #opt serverid IP # default: server's IP #opt message STRING # error message (udhcpd sends it on success too) +#opt vlanid NUM # 802.1P VLAN ID +#opt vlanpriority NUM # 802.1Q VLAN priority # Options specifying server(s) #opt dns IP_LIST #opt wins IP_LIST @@ -97,8 +99,15 @@ option 0x08 01020304 # option 8: "cookie server IP addr: 1.2.3.4" #opt ntpsrv IP_LIST #opt lprsrv IP_LIST #opt swapsrv IP +# Options specifying routes +#opt routes IP_PAIR_LIST # 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!!!) #opt cookiesrv IP_LIST # RFC 865 "quote of the day" server, rarely (never?) used #opt timesrv IP_LIST # RFC 868 time server, rarely (never?) used +# 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 diff --git a/networking/udhcp/Config.src b/networking/udhcp/Config.src index 9cd8cbbae..6bfa398ea 100644 --- a/networking/udhcp/Config.src +++ b/networking/udhcp/Config.src @@ -113,6 +113,14 @@ config FEATURE_UDHCP_RFC3397 search lists via option 119, specified in RFC 3397, and SIP servers option 120, specified in RFC 3361. +config FEATURE_UDHCP_8021Q + bool "Support for 802.1Q VLAN parameters" + default y + depends on UDHCPD || UDHCPC + help + If selected, both client and server will support passing of VLAN + ID and priority via options 132 and 133 as per 802.1Q. + config UDHCPC_DEFAULT_SCRIPT string "Absolute path to config script" default "/usr/share/udhcpc/default.script" diff --git a/networking/udhcp/common.c b/networking/udhcp/common.c index 0a60261ab..70e34614c 100644 --- a/networking/udhcp/common.c +++ b/networking/udhcp/common.c @@ -55,6 +55,10 @@ const struct dhcp_optflag dhcp_optflags[] = { { OPTION_SIP_SERVERS , 0x78 }, /* DHCP_SIP_SERVERS */ #endif { OPTION_STATIC_ROUTES , 0x79 }, /* DHCP_STATIC_ROUTES */ +#if ENABLE_FEATURE_UDHCP_8021Q + { OPTION_U16 , 0x84 }, /* DHCP_VLAN_ID */ + { OPTION_U8 , 0x85 }, /* DHCP_VLAN_PRIORITY */ +#endif { OPTION_STATIC_ROUTES , 0xf9 }, /* DHCP_MS_STATIC_ROUTES */ { OPTION_STRING , 0xfc }, /* DHCP_WPAD */ @@ -118,6 +122,10 @@ const char dhcp_option_strings[] ALIGN1 = // doesn't work in udhcpd.conf since OPTION_STATIC_ROUTES // is not handled yet by "string->option" conversion code: "staticroutes" "\0"/* DHCP_STATIC_ROUTES */ +#if ENABLE_FEATURE_UDHCP_8021Q + "vlanid" "\0" /* DHCP_VLAN_ID */ + "vlanpriority" "\0"/* DHCP_VLAN_PRIORITY */ +#endif "msstaticroutes""\0"/* DHCP_MS_STATIC_ROUTES */ "wpad" "\0" /* DHCP_WPAD */ ; diff --git a/networking/udhcp/common.h b/networking/udhcp/common.h index f8f18ff01..ad6991c94 100644 --- a/networking/udhcp/common.h +++ b/networking/udhcp/common.h @@ -145,6 +145,8 @@ enum { //#define DHCP_DOMAIN_SEARCH 0x77 /* RFC 3397. set of ASCIZ string, DNS-style compressed */ //#define DHCP_SIP_SERVERS 0x78 /* RFC 3361. flag byte, then: 0: domain names, 1: IP addrs */ //#define DHCP_STATIC_ROUTES 0x79 /* RFC 3442. (mask,ip,router) tuples */ +#define DHCP_VLAN_ID 0x84 /* 802.1P VLAN ID */ +#define DHCP_VLAN_PRIORITY 0x85 /* 802.1Q VLAN priority */ //#define DHCP_MS_STATIC_ROUTES 0xf9 /* Microsoft's pre-RFC 3442 code for 0x79? */ //#define DHCP_WPAD 0xfc /* MSIE's Web Proxy Autodiscovery Protocol */ #define DHCP_END 0xff |