base-files: add network_get_ipaddrs_all()
Return all IPv4 and IPv6 addresses. Signed-off-by: Mathias Kresin <openwrt@kresin.me> SVN-Revision: 42856
This commit is contained in:
		@@ -94,6 +94,29 @@ network_get_ipaddrs6() {
 | 
				
			|||||||
	return 1
 | 
						return 1
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# determine all IP addresses of given logical interface
 | 
				
			||||||
 | 
					# 1: destination variable
 | 
				
			||||||
 | 
					# 2: interface
 | 
				
			||||||
 | 
					network_get_ipaddrs_all() {
 | 
				
			||||||
 | 
						local __addr
 | 
				
			||||||
 | 
						local __list=""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if __network_ifstatus "__addr" "$2" "['ipv4-address','ipv6-address','ipv6-prefix-assignment'][*].address"; then
 | 
				
			||||||
 | 
							for __addr in $__addr; do
 | 
				
			||||||
 | 
								case "$__addr" in
 | 
				
			||||||
 | 
									*:) __list="${__list:+$__list }${__addr}1" ;;
 | 
				
			||||||
 | 
									*)  __list="${__list:+$__list }${__addr}"  ;;
 | 
				
			||||||
 | 
								esac
 | 
				
			||||||
 | 
							done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							export "$1=$__list"
 | 
				
			||||||
 | 
							return 0
 | 
				
			||||||
 | 
						fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						unset "$1"
 | 
				
			||||||
 | 
						return 1
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# determine all IPv4 subnets of given logical interface
 | 
					# determine all IPv4 subnets of given logical interface
 | 
				
			||||||
# 1: destination variable
 | 
					# 1: destination variable
 | 
				
			||||||
# 2: interface
 | 
					# 2: interface
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user