commit: e337a9906e526b4b60fea7d260a4b21badb89ca1
Author: Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 23 23:41:00 2016 +0000
Commit: Robin H. Johnson <robbat2 <AT> gentoo <DOT> org>
CommitDate: Sun Oct 23 23:41:00 2016 +0000
URL: https://gitweb.gentoo.org/proj/netifrc.git/commit/?id=e337a990
net.lo: framework for error handling customization.
Signed-off-by: Robin H. Johnson <robbat2 <AT> gentoo.org>
init.d/net.lo.in | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
diff --git a/init.d/net.lo.in b/init.d/net.lo.in
index a8e19dd..3b47f1a 100644
--- a/init.d/net.lo.in
+++ b/init.d/net.lo.in
@@ -227,6 +227,34 @@ _show_address()
einfo "received address $(_get_inet_address "${IFACE}")"
}
+# Allow custom error handling behavior to be set by the user.
+# Known used combinations, with defaults
+# errh_IFVAR_address_EEXIST=warn
+# errh_IFVAR_route_EEXIST=warn
+_get_errorhandler_behavior() {
+ IFVAR="$1"
+ object="$2"
+ error="$3"
+ fallback="$4"
+ value=
+ for key in \
+ "errh_${IFVAR}_${object}_${error}" \
+ "errh_${IFVAR}_${object}_DEFAULT" \
+ "errh_${IFVAR}_DEFAULT_${error}" \
+ "errh_${IFVAR}_DEFAULT_DEFAULT" \
+ "errh_DEFAULT_${object}_${error}" \
+ "errh_DEFAULT_${object}_DEFAULT" \
+ "errh_DEFAULT_DEFAULT_${error}" \
+ "errh_DEFAULT_DEFAULT_DEFAULT" \
+ "errh" \
+ "fallback" ; do
+ eval value="\${key}"
+ if [ -n "$value" ]; then
+ echo "$value" && break
+ fi
+ done
+}
+
# Basically sorts our modules into order and saves the list
_gen_module_list()
{