diff options
Diffstat (limited to 'pimd/pim_msdp_packet.c')
| -rw-r--r-- | pimd/pim_msdp_packet.c | 33 |
1 files changed, 13 insertions, 20 deletions
diff --git a/pimd/pim_msdp_packet.c b/pimd/pim_msdp_packet.c index 395bbf6f26..03284ffa56 100644 --- a/pimd/pim_msdp_packet.c +++ b/pimd/pim_msdp_packet.c @@ -182,7 +182,7 @@ static void pim_msdp_write_proceed_actions(struct pim_msdp_peer *mp) } } -int pim_msdp_write(struct thread *thread) +void pim_msdp_write(struct thread *thread) { struct pim_msdp_peer *mp; struct stream *s; @@ -199,19 +199,19 @@ int pim_msdp_write(struct thread *thread) zlog_debug("MSDP peer %s pim_msdp_write", mp->key_str); } if (mp->fd < 0) { - return -1; + return; } /* check if TCP connection is established */ if (mp->state != PIM_MSDP_ESTABLISHED) { pim_msdp_connect_check(mp); - return 0; + return; } s = stream_fifo_head(mp->obuf); if (!s) { pim_msdp_write_proceed_actions(mp); - return 0; + return; } sockopt_cork(mp->fd, 1); @@ -237,7 +237,7 @@ int pim_msdp_write(struct thread *thread) } pim_msdp_peer_reset_tcp_conn(mp, "pkt-tx-failed"); - return 0; + return; } if (num != writenum) { @@ -286,8 +286,6 @@ int pim_msdp_write(struct thread *thread) zlog_debug("MSDP peer %s pim_msdp_write wrote %d packets", mp->key_str, work_cnt); } - - return 0; } static void pim_msdp_pkt_send(struct pim_msdp_peer *mp, struct stream *s) @@ -674,7 +672,7 @@ static int pim_msdp_read_packet(struct pim_msdp_peer *mp) return 0; } -int pim_msdp_read(struct thread *thread) +void pim_msdp_read(struct thread *thread) { struct pim_msdp_peer *mp; int rc; @@ -688,13 +686,13 @@ int pim_msdp_read(struct thread *thread) } if (mp->fd < 0) { - return -1; + return; } /* check if TCP connection is established */ if (mp->state != PIM_MSDP_ESTABLISHED) { pim_msdp_connect_check(mp); - return 0; + return; } PIM_MSDP_PEER_READ_ON(mp); @@ -706,32 +704,27 @@ int pim_msdp_read(struct thread *thread) if (stream_get_endp(mp->ibuf) < PIM_MSDP_HEADER_SIZE) { /* start by reading the TLV header */ rc = pim_msdp_read_packet(mp); - if (rc < 0) { - goto pim_msdp_read_end; - } + if (rc < 0) + return; /* Find TLV type and len */ stream_getc(mp->ibuf); len = stream_getw(mp->ibuf); if (len < PIM_MSDP_HEADER_SIZE) { pim_msdp_pkt_rxed_with_fatal_error(mp); - goto pim_msdp_read_end; + return; } /* read complete TLV */ mp->packet_size = len; } rc = pim_msdp_read_packet(mp); - if (rc < 0) { - goto pim_msdp_read_end; - } + if (rc < 0) + return; pim_msdp_pkt_rx(mp); /* reset input buffers and get ready for the next packet */ mp->packet_size = 0; stream_reset(mp->ibuf); - -pim_msdp_read_end: - return 0; } |
