Revert "zebra: the mlag_rd_buf_offset variable was write only"

This reverts commit 00e0d113e5.
This commit is contained in:
Donald Sharp 2020-10-05 12:19:41 -04:00
parent 82b4a8bf2c
commit ded3e3e39c
3 changed files with 6 additions and 1 deletions

View File

@ -49,6 +49,7 @@ DEFINE_HOOK(zebra_mlag_private_cleanup_data, (), ())
uint8_t mlag_wr_buffer[ZEBRA_MLAG_BUF_LIMIT];
uint8_t mlag_rd_buffer[ZEBRA_MLAG_BUF_LIMIT];
uint32_t mlag_rd_buf_offset;
static bool test_mlag_in_progress;

View File

@ -42,10 +42,12 @@ DECLARE_HOOK(zebra_mlag_private_cleanup_data, (), ())
extern uint8_t mlag_wr_buffer[ZEBRA_MLAG_BUF_LIMIT];
extern uint8_t mlag_rd_buffer[ZEBRA_MLAG_BUF_LIMIT];
extern uint32_t mlag_rd_buf_offset;
static inline void zebra_mlag_reset_read_buffer(void)
{
memset(mlag_wr_buffer, 0, ZEBRA_MLAG_BUF_LIMIT);
mlag_rd_buf_offset = 0;
}
enum zebra_mlag_state {

View File

@ -76,7 +76,7 @@ static int zebra_mlag_read(struct thread *thread)
{
uint32_t *msglen;
uint32_t h_msglen;
uint32_t tot_len, curr_len = 0;
uint32_t tot_len, curr_len = mlag_rd_buf_offset;
/*
* Received message in sock_stream looks like below
@ -99,6 +99,7 @@ static int zebra_mlag_read(struct thread *thread)
zebra_mlag_handle_process_state(MLAG_DOWN);
return -1;
}
mlag_rd_buf_offset += data_len;
if (data_len != (ssize_t)(ZEBRA_MLAG_LEN_SIZE - curr_len)) {
/* Try again later */
zebra_mlag_sched_read();
@ -136,6 +137,7 @@ static int zebra_mlag_read(struct thread *thread)
zebra_mlag_handle_process_state(MLAG_DOWN);
return -1;
}
mlag_rd_buf_offset += data_len;
if (data_len != (ssize_t)(tot_len - curr_len)) {
/* Try again later */
zebra_mlag_sched_read();