diff options
author | Dimitri Staessens <dimitri@ouroboros.rocks> | 2022-03-26 09:39:49 +0100 |
---|---|---|
committer | Sander Vrijders <sander@ouroboros.rocks> | 2022-03-30 15:05:05 +0200 |
commit | 63dde087796bfcd730508b069ebae7c79b7cebe8 (patch) | |
tree | e5e338b9583d023c5895ed0d3a20b679fae76ddf /src/ipcpd/unicast/fa.c | |
parent | 0b45e1e5363f61febc7033f1b9bda14689c88644 (diff) | |
download | ouroboros-63dde087796bfcd730508b069ebae7c79b7cebe8.tar.gz ouroboros-63dde087796bfcd730508b069ebae7c79b7cebe8.zip |
lib: Refactor reading packet from rbuff
Reading packets from the rbuff and checking their validity (non-zero
size, pass crc check, pass decryption) is now extracted into a
function.
Also adds a function to get the length of an sdu_du_buff instead of
subtracting the tail and head pointers.
Signed-off-by: Dimitri Staessens <dimitri@ouroboros.rocks>
Signed-off-by: Sander Vrijders <sander@ouroboros.rocks>
Diffstat (limited to 'src/ipcpd/unicast/fa.c')
-rw-r--r-- | src/ipcpd/unicast/fa.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/ipcpd/unicast/fa.c b/src/ipcpd/unicast/fa.c index 508f2d73..5f3dd1a7 100644 --- a/src/ipcpd/unicast/fa.c +++ b/src/ipcpd/unicast/fa.c @@ -341,7 +341,7 @@ static void packet_handler(int fd, pthread_rwlock_wrlock(&fa.flows_lock); - len = shm_du_buff_tail(sdb) - shm_du_buff_head(sdb); + len = shm_du_buff_len(sdb); #ifdef IPCP_FLOW_STATS ++flow->p_snd; @@ -453,7 +453,7 @@ static size_t fa_wait_for_fa_msg(struct fa_msg * msg) pthread_cleanup_pop(true); - len = shm_du_buff_tail(cmd->sdb) - shm_du_buff_head(cmd->sdb); + len = shm_du_buff_len(cmd->sdb); if (len > MSGBUFSZ || len < sizeof(*msg)) { log_warn("Invalid flow allocation message (len: %zd)\n", len); free(cmd); @@ -988,7 +988,7 @@ void fa_np1_rcv(uint64_t eid, int fd; size_t len; - len = shm_du_buff_tail(sdb) - shm_du_buff_head(sdb); + len = shm_du_buff_len(sdb); pthread_rwlock_wrlock(&fa.flows_lock); |