From bedc005a7ae9fd9e087f69a55f30daf47ff9d4a9 Mon Sep 17 00:00:00 2001 From: David Lamparter Date: Mon, 10 Jan 2022 09:40:50 +0100 Subject: [PATCH] pimd: temporarily disable IPv6 types Just putting the infrastructure in place and having it disabled is actually good progress here; have the compiler make itself useful and tell us what we have to do to get the basics right. (The next commit will cause a *lot* of compile errors as soon as `PIM_V6_TEMP_BREAK` is set; but there is no reason to force everything into a single step here.) To enable `pim_addr = in6_addr`, run `make PIM_V6_TEMP_BREAK=1` (remove previous compile results with `rm pimd/pim6d-*.o`) Signed-off-by: David Lamparter --- pimd/pim_addr.c | 3 +++ pimd/pim_addr.h | 6 +++++- pimd/subdir.am | 2 +- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/pimd/pim_addr.c b/pimd/pim_addr.c index bc9beca4ef..825f38274a 100644 --- a/pimd/pim_addr.c +++ b/pimd/pim_addr.c @@ -48,6 +48,9 @@ static ssize_t printfrr_pimaddr(struct fbuf *buf, struct printfrr_eargs *ea, #if PIM_IPV == 4 return bprintfrr(buf, "%pI4", addr); +#elif !defined(PIM_V6_TEMP_BREAK) + CPP_NOTICE("note IPv6 typing for pim_addr is temporarily disabled."); + return bprintfrr(buf, "%pI4", addr); #else return bprintfrr(buf, "%pI6", addr); #endif diff --git a/pimd/pim_addr.h b/pimd/pim_addr.h index 1e9da77779..a1a8b55a5c 100644 --- a/pimd/pim_addr.h +++ b/pimd/pim_addr.h @@ -22,7 +22,11 @@ #include "jhash.h" -#if PIM_IPV == 4 +/* temporarily disable IPv6 types to keep code compiling. + * Defining PIM_V6_TEMP_BREAK will show a lot of compile errors - they are + * very useful to see TODOs. + */ +#if PIM_IPV == 4 || !defined(PIM_V6_TEMP_BREAK) typedef struct in_addr pim_addr; #define PIM_ADDRSTRLEN INET_ADDRSTRLEN #else diff --git a/pimd/subdir.am b/pimd/subdir.am index 355389ed74..ff20164c06 100644 --- a/pimd/subdir.am +++ b/pimd/subdir.am @@ -158,7 +158,7 @@ if DEV_BUILD # (change noinst_ to sbin_ below to install it.) # noinst_PROGRAMS += pimd/pim6d -pimd_pim6d_CFLAGS = $(AM_CFLAGS) -DPIM_IPV=6 +pimd_pim6d_CFLAGS = $(AM_CFLAGS) -DPIM_IPV=6 $(and $(PIM_V6_TEMP_BREAK),-DPIM_V6_TEMP_BREAK) pimd_pim6d_LDADD = lib/libfrr.la $(LIBCAP) endif endif