diff options
author | David Gibson <david@gibson.dropbear.id.au> | 2024-03-21 15:04:48 +1100 |
---|---|---|
committer | Stefano Brivio <sbrivio@redhat.com> | 2024-04-05 16:59:05 +0200 |
commit | 67a62589185f947a8757528818e090f9ae264738 (patch) | |
tree | 4f22aa987f0b68733c0a9dd8db5563dab8425d97 | |
parent | f4e38b5cd232cefa63ec6ca901efb95aad87c2c3 (diff) | |
download | passt-67a62589185f947a8757528818e090f9ae264738.tar passt-67a62589185f947a8757528818e090f9ae264738.tar.gz passt-67a62589185f947a8757528818e090f9ae264738.tar.bz2 passt-67a62589185f947a8757528818e090f9ae264738.tar.lz passt-67a62589185f947a8757528818e090f9ae264738.tar.xz passt-67a62589185f947a8757528818e090f9ae264738.tar.zst passt-67a62589185f947a8757528818e090f9ae264738.zip |
util: Add helper to return name of address family
We have a few places where we want to include the name of the internet
protocol version (IPv4 or IPv6) in a message, which we handle with an
open-coded ?: expression.
This seems like something that might be more widely useful, so make a
trivial helper to return the correct string based on the address family.
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
-rw-r--r-- | netlink.c | 6 | ||||
-rw-r--r-- | util.h | 18 |
2 files changed, 21 insertions, 3 deletions
@@ -309,7 +309,7 @@ unsigned int nl_get_ext_if(int s, sa_family_t af) if (defifi) { if (ndef > 1) info("Multiple default %s routes, picked first", - af == AF_INET ? "IPv4" : "IPv6"); + af_name(af)); return defifi; } @@ -318,11 +318,11 @@ unsigned int nl_get_ext_if(int s, sa_family_t af) return anyifi; info("Multiple interfaces with %s routes, use -i to select one", - af == AF_INET ? "IPv4" : "IPv6"); + af_name(af)); } if (!nany) - info("No interfaces with %s routes", af == AF_INET ? "IPv4" : "IPv6"); + info("No interfaces with %s routes", af_name(af)); return 0; } @@ -157,6 +157,24 @@ int write_file(const char *path, const char *buf); int write_remainder(int fd, const struct iovec *iov, int iovcnt, size_t skip); /** + * af_name() - Return name of an address family + * @af: Address/protocol family (AF_INET or AF_INET6) + * + * Returns: Name of the protocol family as a string + */ +static inline const char *af_name(sa_family_t af) +{ + switch (af) { + case AF_INET: + return "IPv4"; + case AF_INET6: + return "IPv6"; + default: + return "<unknown address family>"; + } +} + +/** * mod_sub() - Modular arithmetic subtraction * @a: Minued, unsigned value < @m * @b: Subtrahend, unsigned value < @m |