return ${EXIT_OK}
}
+function ipv4_get_prefix() {
+ local address=${1}
+ local broadcast=${2}
+
+ assert isset address
+ assert isset broadcast
+
+ local PREFIX
+ eval $(ipcalc --prefix ${address} ${broadcast})
+ assert isset PREFIX
+
+ echo "${PREFIX}"
+ return ${EXIT_OK}
+}
+
+function ipv4_flush_device() {
+ #
+ # Flushes all routes, addresses from the device
+ # and clears the ARP cache.
+ #
+
+ local device=${1}
+ assert isset device
+
+ ip -4 addr flush dev ${device} >/dev/null 2>&1
+ ip -4 route flush dev ${device} >/dev/null 2>&1
+ ip -4 neigh flush dev ${device} >/dev/null 2>&1
+
+ return 0
++
+ function ipv4_prefix2netmask() {
+ local prefix=${1}
+ shift
+
+ assert isinteger prefix
+
+ # XXX this function is a stub
+
+ case "${prefix}" in
+ 24)
+ echo "255.255.255.0"
+ ;;
+ *)
+ assert false NOT IMPLEMENTED
+ ;;
+ esac
}