summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2017-08-26 08:05:36 -0400
committerGitHub <noreply@github.com>2017-08-26 08:05:36 -0400
commitc3f779dc1ab632b1ba74bf16c39dc2f18e6187bc (patch)
tree9e6fb20b162b8f3ce619b8a7be515cd741242c39
parente1bd637370df9708af91c699b2510a788625bc5a (diff)
parentd9e5b009554f99230be1eee62daf098403c3cadf (diff)
Merge pull request #1049 from opensourcerouting/openbsd-warnings
fix warnings on OpenBSD
-rw-r--r--babeld/babeld.c4
-rw-r--r--babeld/message.c2
-rw-r--r--bgpd/bgp_attr.h2
-rw-r--r--isisd/isis_bpf.c32
-rw-r--r--isisd/isisd.c4
-rw-r--r--lib/module.c6
-rw-r--r--lib/prefix.h2
-rw-r--r--lib/spf_backoff.c10
-rw-r--r--lib/termtable.c88
-rw-r--r--pimd/pim_join.c2
-rw-r--r--zebra/kernel_socket.c9
-rw-r--r--zebra/zserv.c2
12 files changed, 88 insertions, 75 deletions
diff --git a/babeld/babeld.c b/babeld/babeld.c
index f995745e41..207c37d9b1 100644
--- a/babeld/babeld.c
+++ b/babeld/babeld.c
@@ -331,8 +331,8 @@ babel_main_loop(struct thread *thread)
/* if there is no timeout, we must wait. */
if(timeval_compare(&tv, &babel_now) > 0) {
timeval_minus(&tv, &tv, &babel_now);
- debugf(BABEL_DEBUG_TIMEOUT, "babel main loop : timeout: %ld msecs",
- tv.tv_sec * 1000 + tv.tv_usec / 1000);
+ debugf(BABEL_DEBUG_TIMEOUT, "babel main loop : timeout: %lld msecs",
+ (long long)tv.tv_sec * 1000 + tv.tv_usec / 1000);
/* it happens often to have less than 1 ms, it's bad. */
timeval_add_msec(&tv, &tv, 300);
babel_set_timer(&tv);
diff --git a/babeld/message.c b/babeld/message.c
index 5990373b69..e31d5de5df 100644
--- a/babeld/message.c
+++ b/babeld/message.c
@@ -391,7 +391,7 @@ parse_packet(const unsigned char *from, struct interface *ifp,
} else if(type == MESSAGE_HELLO) {
unsigned short seqno, interval;
int changed;
- unsigned int timestamp;
+ unsigned int timestamp = 0;
DO_NTOHS(seqno, message + 4);
DO_NTOHS(interval, message + 6);
debugf(BABEL_DEBUG_COMMON,"Received hello %d (%d) from %s on %s.",
diff --git a/bgpd/bgp_attr.h b/bgpd/bgp_attr.h
index 324813c085..4dd38459f8 100644
--- a/bgpd/bgp_attr.h
+++ b/bgpd/bgp_attr.h
@@ -72,7 +72,7 @@ struct bgp_attr_encap_subtlv {
unsigned long refcnt;
uint16_t type;
uint16_t length;
- uint8_t value[1]; /* will be extended */
+ uint8_t value[0]; /* will be extended */
};
#if ENABLE_BGP_VNC
diff --git a/isisd/isis_bpf.c b/isisd/isis_bpf.c
index 98f612f827..2c8b126088 100644
--- a/isisd/isis_bpf.c
+++ b/isisd/isis_bpf.c
@@ -48,14 +48,15 @@
extern struct zebra_privs_t isisd_privs;
struct bpf_insn llcfilter[] = {
- BPF_STMT(BPF_LD + BPF_B + BPF_ABS,
- ETHER_HDR_LEN), /* check first byte */
+ /* check first byte */
+ BPF_STMT(BPF_LD + BPF_B + BPF_ABS, ETH_ALEN),
BPF_JUMP(BPF_JMP + BPF_JEQ + BPF_K, ISO_SAP, 0, 5),
- BPF_STMT(BPF_LD + BPF_B + BPF_ABS, ETHER_HDR_LEN + 1),
- BPF_JUMP(BPF_JMP + BPF_JEQ + BPF_K, ISO_SAP, 0,
- 3), /* check second byte */
- BPF_STMT(BPF_LD + BPF_B + BPF_ABS, ETHER_HDR_LEN + 2),
- BPF_JUMP(BPF_JMP + BPF_JEQ + BPF_K, 0x03, 0, 1), /* check third byte */
+ /* check second byte */
+ BPF_STMT(BPF_LD + BPF_B + BPF_ABS, ETH_ALEN + 1),
+ BPF_JUMP(BPF_JMP + BPF_JEQ + BPF_K, ISO_SAP, 0, 3),
+ /* check third byte */
+ BPF_STMT(BPF_LD + BPF_B + BPF_ABS, ETH_ALEN + 2),
+ BPF_JUMP(BPF_JMP + BPF_JEQ + BPF_K, 0x03, 0, 1),
BPF_STMT(BPF_RET + BPF_K, (u_int)-1),
BPF_STMT(BPF_RET + BPF_K, 0)};
u_int readblen = 0;
@@ -243,15 +244,14 @@ int isis_recv_pdu_bcast(struct isis_circuit *circuit, u_char *ssnpa)
assert(bpf_hdr->bh_caplen == bpf_hdr->bh_datalen);
- offset = bpf_hdr->bh_hdrlen + LLC_LEN + ETHER_HDR_LEN;
+ offset = bpf_hdr->bh_hdrlen + LLC_LEN + ETH_ALEN;
/* then we lose the BPF, LLC and ethernet headers */
stream_write(circuit->rcv_stream, readbuff + offset,
- bpf_hdr->bh_caplen - LLC_LEN - ETHER_HDR_LEN);
+ bpf_hdr->bh_caplen - LLC_LEN - ETH_ALEN);
stream_set_getp(circuit->rcv_stream, 0);
- memcpy(ssnpa, readbuff + bpf_hdr->bh_hdrlen + ETH_ALEN,
- ETH_ALEN);
+ memcpy(ssnpa, readbuff + bpf_hdr->bh_hdrlen + ETH_ALEN, ETH_ALEN);
if (ioctl(circuit->fd, BIOCFLUSH, &one) < 0)
zlog_warn("Flushing failed: %s", safe_strerror(errno));
@@ -265,7 +265,7 @@ int isis_send_pdu_bcast(struct isis_circuit *circuit, int level)
ssize_t written;
size_t buflen;
- buflen = stream_get_endp(circuit->snd_stream) + LLC_LEN + ETHER_HDR_LEN;
+ buflen = stream_get_endp(circuit->snd_stream) + LLC_LEN + ETH_ALEN;
if (buflen > sizeof(sock_buff)) {
zlog_warn(
"isis_send_pdu_bcast: sock_buff size %zu is less than "
@@ -291,12 +291,12 @@ int isis_send_pdu_bcast(struct isis_circuit *circuit, int level)
/*
* Then the LLC
*/
- sock_buff[ETHER_HDR_LEN] = ISO_SAP;
- sock_buff[ETHER_HDR_LEN + 1] = ISO_SAP;
- sock_buff[ETHER_HDR_LEN + 2] = 0x03;
+ sock_buff[ETH_ALEN] = ISO_SAP;
+ sock_buff[ETH_ALEN + 1] = ISO_SAP;
+ sock_buff[ETH_ALEN + 2] = 0x03;
/* then we copy the data */
- memcpy(sock_buff + (LLC_LEN + ETHER_HDR_LEN), circuit->snd_stream->data,
+ memcpy(sock_buff + (LLC_LEN + ETH_ALEN), circuit->snd_stream->data,
stream_get_endp(circuit->snd_stream));
/* now we can send this */
diff --git a/isisd/isisd.c b/isisd/isisd.c
index f8a9df45c7..3d39a1ed52 100644
--- a/isisd/isisd.c
+++ b/isisd/isisd.c
@@ -1260,8 +1260,8 @@ DEFUN (show_isis_spf_ietf,
if (area->spf_timer[level - 1]) {
struct timeval remain = thread_timer_remain(
area->spf_timer[level - 1]);
- vty_out(vty, "Pending, due in %ld msec\n",
- remain.tv_sec * 1000
+ vty_out(vty, "Pending, due in %lld msec\n",
+ (long long)remain.tv_sec * 1000
+ remain.tv_usec / 1000);
} else {
vty_out(vty, "Not scheduled\n");
diff --git a/lib/module.c b/lib/module.c
index beef791093..b3ab91c4ea 100644
--- a/lib/module.c
+++ b/lib/module.c
@@ -42,8 +42,10 @@ static struct frrmod_info frrmod_default_info = {
.description = "libfrr core module",
};
union _frrmod_runtime_u frrmod_default = {
- .r.info = &frrmod_default_info,
- .r.finished_loading = 1,
+ .r = {
+ .info = &frrmod_default_info,
+ .finished_loading = 1,
+ },
};
// if defined(HAVE_SYS_WEAK_ALIAS_ATTRIBUTE)
diff --git a/lib/prefix.h b/lib/prefix.h
index eab4ac2bb7..a27f46ba0a 100644
--- a/lib/prefix.h
+++ b/lib/prefix.h
@@ -125,7 +125,7 @@ struct prefix {
struct in_addr adv_router;
} lp;
struct ethaddr prefix_eth; /* AF_ETHERNET */
- u_char val[8];
+ u_char val[16];
uintptr_t ptr;
struct evpn_addr prefix_evpn; /* AF_EVPN */
} u __attribute__((aligned(8)));
diff --git a/lib/spf_backoff.c b/lib/spf_backoff.c
index d075e70d4e..92b7620eda 100644
--- a/lib/spf_backoff.c
+++ b/lib/spf_backoff.c
@@ -226,8 +226,9 @@ void spf_backoff_show(struct spf_backoff *backoff, struct vty *vty,
if (backoff->t_holddown) {
struct timeval remain =
thread_timer_remain(backoff->t_holddown);
- vty_out(vty, "%s Still runs for %ld msec\n",
- prefix, remain.tv_sec * 1000 + remain.tv_usec / 1000);
+ vty_out(vty, "%s Still runs for %lld msec\n",
+ prefix, (long long)remain.tv_sec * 1000
+ + remain.tv_usec / 1000);
} else {
vty_out(vty, "%s Inactive\n", prefix);
}
@@ -237,8 +238,9 @@ void spf_backoff_show(struct spf_backoff *backoff, struct vty *vty,
if (backoff->t_timetolearn) {
struct timeval remain =
thread_timer_remain(backoff->t_timetolearn);
- vty_out(vty, "%s Still runs for %ld msec\n",
- prefix, remain.tv_sec * 1000 + remain.tv_usec / 1000);
+ vty_out(vty, "%s Still runs for %lld msec\n",
+ prefix, (long long)remain.tv_sec * 1000
+ + remain.tv_usec / 1000);
} else {
vty_out(vty, "%s Inactive\n", prefix);
}
diff --git a/lib/termtable.c b/lib/termtable.c
index f7aec43118..ba85962cc9 100644
--- a/lib/termtable.c
+++ b/lib/termtable.c
@@ -31,48 +31,60 @@ struct ttable_style ttable_styles[] = {
.corner = '+',
.rownums_on = false,
.indent = 1,
- .border.top = '-',
- .border.bottom = '-',
- .border.left = '|',
- .border.right = '|',
- .border.top_on = true,
- .border.bottom_on = true,
- .border.left_on = true,
- .border.right_on = true,
- .cell.lpad = 1,
- .cell.rpad = 1,
- .cell.align = LEFT,
- .cell.border.bottom = '-',
- .cell.border.bottom_on = true,
- .cell.border.top = '-',
- .cell.border.top_on = false,
- .cell.border.right = '|',
- .cell.border.right_on = true,
- .cell.border.left = '|',
- .cell.border.left_on = false,
+ .border = {
+ .top = '-',
+ .bottom = '-',
+ .left = '|',
+ .right = '|',
+ .top_on = true,
+ .bottom_on = true,
+ .left_on = true,
+ .right_on = true,
+ },
+ .cell = {
+ .lpad = 1,
+ .rpad = 1,
+ .align = LEFT,
+ .border = {
+ .bottom = '-',
+ .bottom_on = true,
+ .top = '-',
+ .top_on = false,
+ .right = '|',
+ .right_on = true,
+ .left = '|',
+ .left_on = false,
+ },
+ },
}, { // blank, suitable for plaintext alignment
.corner = ' ',
.rownums_on = false,
.indent = 1,
- .border.top = ' ',
- .border.bottom = ' ',
- .border.left = ' ',
- .border.right = ' ',
- .border.top_on = false,
- .border.bottom_on = false,
- .border.left_on = false,
- .border.right_on = false,
- .cell.lpad = 0,
- .cell.rpad = 3,
- .cell.align = LEFT,
- .cell.border.bottom = ' ',
- .cell.border.bottom_on = false,
- .cell.border.top = ' ',
- .cell.border.top_on = false,
- .cell.border.right = ' ',
- .cell.border.right_on = false,
- .cell.border.left = ' ',
- .cell.border.left_on = false,
+ .border = {
+ .top = ' ',
+ .bottom = ' ',
+ .left = ' ',
+ .right = ' ',
+ .top_on = false,
+ .bottom_on = false,
+ .left_on = false,
+ .right_on = false,
+ },
+ .cell = {
+ .lpad = 0,
+ .rpad = 3,
+ .align = LEFT,
+ .border = {
+ .bottom = ' ',
+ .bottom_on = false,
+ .top = ' ',
+ .top_on = false,
+ .right = ' ',
+ .right_on = false,
+ .left = ' ',
+ .left_on = false,
+ },
+ }
}
};
/* clang-format on */
diff --git a/pimd/pim_join.c b/pimd/pim_join.c
index 9d65330e5f..4f5e534010 100644
--- a/pimd/pim_join.c
+++ b/pimd/pim_join.c
@@ -414,7 +414,7 @@ int pim_joinprune_send(struct pim_rpf *rpf, struct list *groups)
struct pim_jp_agg_group *group;
struct pim_interface *pim_ifp = NULL;
struct pim_jp_groups *grp = NULL;
- struct pim_jp *msg;
+ struct pim_jp *msg = NULL;
struct listnode *node, *nnode;
uint8_t pim_msg[10000];
uint8_t *curr_ptr = pim_msg;
diff --git a/zebra/kernel_socket.c b/zebra/kernel_socket.c
index 84d01bca6f..e2a1deb9ac 100644
--- a/zebra/kernel_socket.c
+++ b/zebra/kernel_socket.c
@@ -88,13 +88,10 @@ extern struct zebra_privs_t zserv_privs;
#if !defined(ROUNDUP)
/*
- * It's a bug for a platform not to define rounding/alignment for
- * sockaddrs on the routing socket. This warning really is
- * intentional, to provoke filing bug reports with operating systems
- * that don't define RT_ROUNDUP or equivalent.
+ * If you're porting to a platform that changed RT_ROUNDUP but doesn't
+ * have it in its headers, this will break rather obviously and you'll
+ * have to fix it here.
*/
-#warning \
- "net/route.h does not define RT_ROUNDUP; making unwarranted assumptions!"
/* OS X (Xcode as of 2014-12) is known not to define RT_ROUNDUP */
#ifdef __APPLE__
diff --git a/zebra/zserv.c b/zebra/zserv.c
index 7899a8375c..0e0cc78bbe 100644
--- a/zebra/zserv.c
+++ b/zebra/zserv.c
@@ -1198,7 +1198,7 @@ static int zread_ipv4_add(struct zserv *client, u_short length,
ifindex_t ifindex;
safi_t safi;
int ret;
- enum lsp_types_t label_type;
+ enum lsp_types_t label_type = ZEBRA_LSP_NONE;
mpls_label_t label;
struct nexthop *nexthop;