From: Stephen Hemminger <stephen@networkplumber.org>
To: dev@dpdk.org, Tyler Retzlaff <roretzla@linux.microsoft.com>
Subject: Portable alternative to inet_ntop?
Date: Wed, 24 Jul 2024 09:21:13 -0700 [thread overview]
Message-ID: <20240724092113.4977b047@hermes.local> (raw)
The function inet_ntop is useful to make printable addresses for debugging.
It is available on Linux and FreeBSD but not on Windows.
There are some alternatives:
- add yet another OS shim in lib/eal/windows/include.
Win32 has similar InetNtoP but it uses wide characters.
- copy/paste code from FreeBSD into some new functions.
Hate duplicating code, but portability is a problem here.
diff --git a/lib/net/rte_ip.h b/lib/net/rte_ip.h
index 0d103d4127..a9404b4b41 100644
--- a/lib/net/rte_ip.h
+++ b/lib/net/rte_ip.h
@@ -839,6 +839,27 @@ rte_ipv6_get_next_ext(const uint8_t *p, int proto, size_t *ext_len)
return next_proto;
}
+
+#define RTE_IPV4_ADDR_FMT_SIZE 16
+#define RTE_IPV6_ADDR_FMT_SIZE 46
+
+__rte_experimental
+int
+rte_ipv4_format_addr(char *buf, uint16_t size, const void *addr);
+
+__rte_experimental
+void
+rte_ipv4_unformat_addr(const char *str, void *addr);
+
+__rte_experimental
+void
+rte_ipv6_format_addr(char *buf, uint16_t size, const void *addr);
+
+__rte_experimental
+void
+rte_ipv4_unformat_addr(const char *str, void *addr);
next reply other threads:[~2024-07-24 16:21 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-24 16:21 Stephen Hemminger [this message]
2024-07-26 12:36 ` Portable alternative to inet_ntop? Morten Brørup
2024-08-06 5:35 ` Tyler Retzlaff
2024-08-07 22:23 ` Stephen Hemminger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240724092113.4977b047@hermes.local \
--to=stephen@networkplumber.org \
--cc=dev@dpdk.org \
--cc=roretzla@linux.microsoft.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.