base-files: board.d: support specifiying the protocol of lan and wan
Some boards, e.g. the Sheeva Plug, require the lan interface to be set to DHCP instead of a static address, therfore support that. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 47732
This commit is contained in:
		| @@ -32,9 +32,26 @@ json_select_object() { | ||||
| _ucidef_set_interface() { | ||||
| 	local name="$1" | ||||
| 	local iface="$2" | ||||
| 	local proto="$3" | ||||
|  | ||||
| 	json_select_object "$name" | ||||
| 	json_add_string ifname "$iface" | ||||
|  | ||||
| 	if ! json_is_a protocol string; then | ||||
| 		case "$proto" in | ||||
| 			static|dhcp|none) : ;; | ||||
| 			*) | ||||
| 				case "$name" in | ||||
| 					lan) proto="static" ;; | ||||
| 					wan) proto="dhcp" ;; | ||||
| 					*) proto="none" ;; | ||||
| 				esac | ||||
| 			;; | ||||
| 		esac | ||||
|  | ||||
| 		json_add_string protocol "$proto" | ||||
| 	fi | ||||
|  | ||||
| 	json_select .. | ||||
| } | ||||
|  | ||||
| @@ -57,19 +74,15 @@ ucidef_set_interface_loopback() | ||||
| } | ||||
|  | ||||
| ucidef_set_interface_lan() { | ||||
| 	local lan_if="$1" | ||||
|  | ||||
| 	json_select_object network | ||||
| 	_ucidef_set_interface lan "$lan_if" | ||||
| 	_ucidef_set_interface lan "$@" | ||||
| 	json_select .. | ||||
| } | ||||
|  | ||||
| ucidef_set_interface_wan() { | ||||
|         local wan_if="$1" | ||||
|  | ||||
|         json_select_object network | ||||
|         _ucidef_set_interface wan "$wan_if" | ||||
|         json_select .. | ||||
| 	json_select_object network | ||||
| 	_ucidef_set_interface wan "$@" | ||||
| 	json_select .. | ||||
| } | ||||
|  | ||||
| ucidef_set_interfaces_lan_wan() { | ||||
| @@ -164,14 +177,17 @@ _ucidef_finish_switch_roles() { | ||||
| 		json_select .. | ||||
|  | ||||
| 		json_select_object network | ||||
| 			local devices | ||||
|  | ||||
| 			json_select_object "$role" | ||||
| 				# attach previous interfaces (for multi-switch devices) | ||||
| 				local devices; json_get_var devices ifname | ||||
| 				json_get_var devices ifname | ||||
| 				if ! list_contains devices "$device"; then | ||||
| 					devices="${devices:+$devices }$device" | ||||
| 				fi | ||||
| 				json_add_string ifname "$devices" | ||||
| 			json_select .. | ||||
|  | ||||
| 			_ucidef_set_interface "$role" "$devices" | ||||
| 		json_select .. | ||||
| 	done | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Jo-Philipp Wich
					Jo-Philipp Wich