| 319 | | |
| 320 | | ################################### |
| 321 | | # Setup the mgmt ip address on the |
| 322 | | # lan network |
| 323 | | ################################### |
| 324 | | local ifn="$mgmt_ifname" |
| 325 | | |
| 326 | | ifconfig "$ifn:1" 127.1.6.8 up # use an invalid address as source for arping |
| 327 | | |
| 328 | | local ip=169.254.255.1 |
| 329 | | while :; do |
| 330 | | if arping -c 1 -I "$ifn" -s 127.1.6.8 "$ip" >/dev/null 2>/dev/null; then |
| 331 | | # already taken |
| 332 | | ip="169.254.255.$((${ip##*\.} + 1))" |
| 333 | | else |
| 334 | | break; |
| 335 | | fi |
| 336 | | |
| 337 | | # this should never happen: |
| 338 | | [ "${ip##*\.}" = "254" ] && { |
| 339 | | ifconfig "$ifn:1" 0.0.0.0 down |
| 340 | | return 1 |
| 341 | | } |
| 342 | | done |
| 343 | | ifconfig "$ifn:1" "$ip" netmask 255.255.0.0 |