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 <equinox@opensourcerouting.org>
This commit is contained in:
David Lamparter 2022-01-10 09:40:50 +01:00
parent 26625d514a
commit bedc005a7a
3 changed files with 9 additions and 2 deletions

View file

@ -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

View file

@ -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

View file

@ -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