Skip to content

Commit

Permalink
[rx] use defines to determine RX data types vs random numbers
Browse files Browse the repository at this point in the history
also extend a bit to make ready for SCTP extra return codes

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
  • Loading branch information
fabbione committed Jan 30, 2020
1 parent 92be1fa commit e8ba24d
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 6 deletions.
15 changes: 11 additions & 4 deletions libknet/threads_rx.c
Expand Up @@ -814,18 +814,18 @@ static void _handle_recv_from_links(knet_handle_t knet_h, int sockfd, struct kne
*/

switch(err) {
case -1: /* on error */
case KNET_TRANSPORT_RX_ERROR: /* on error */
log_debug(knet_h, KNET_SUB_RX, "Transport reported error parsing packet");
goto exit_unlock;
break;
case 0: /* packet is not data and we should continue the packet process loop */
case KNET_TRANSPORT_RX_NOT_DATA_CONTINUE: /* packet is not data and we should continue the packet process loop */
log_debug(knet_h, KNET_SUB_RX, "Transport reported no data, continue");
break;
case 1: /* packet is not data and we should STOP the packet process loop */
case KNET_TRANSPORT_RX_NOT_DATA_STOP: /* packet is not data and we should STOP the packet process loop */
log_debug(knet_h, KNET_SUB_RX, "Transport reported no data, stop");
goto exit_unlock;
break;
case 2: /* packet is data and should be parsed as such */
case KNET_TRANSPORT_RX_IS_DATA: /* packet is data and should be parsed as such */
/*
* processing incoming packets vs access lists
*/
Expand Down Expand Up @@ -853,6 +853,13 @@ static void _handle_recv_from_links(knet_handle_t knet_h, int sockfd, struct kne
}
_parse_recv_from_links(knet_h, sockfd, &msg[i]);
break;
case KNET_TRANSPORT_RX_OOB_DATA_CONTINUE:
log_debug(knet_h, KNET_SUB_RX, "Transport is processing sock OOB data, continue");
break;
case KNET_TRANSPORT_RX_OOB_DATA_STOP:
log_debug(knet_h, KNET_SUB_RX, "Transport has completed processing sock OOB data, stop");
goto exit_unlock;
break;
}
}

Expand Down
5 changes: 3 additions & 2 deletions libknet/transport_udp.c
Expand Up @@ -29,6 +29,7 @@
#include "common.h"
#include "transport_common.h"
#include "transport_udp.h"
#include "transports.h"
#include "threads_common.h"

typedef struct udp_handle_info {
Expand Down Expand Up @@ -421,9 +422,9 @@ int udp_transport_tx_sock_error(knet_handle_t knet_h, int sockfd, int recv_err,
int udp_transport_rx_is_data(knet_handle_t knet_h, int sockfd, struct knet_mmsghdr *msg)
{
if (msg->msg_len == 0)
return 0;
return KNET_TRANSPORT_RX_NOT_DATA_CONTINUE;

return 2;
return KNET_TRANSPORT_RX_IS_DATA;
}

int udp_transport_link_dyn_connect(knet_handle_t knet_h, int sockfd, struct knet_link *kn_link)
Expand Down
7 changes: 7 additions & 0 deletions libknet/transports.h
Expand Up @@ -9,6 +9,13 @@
#ifndef __KNET_TRANSPORTS_H__
#define __KNET_TRANSPORTS_H__

#define KNET_TRANSPORT_RX_ERROR -1
#define KNET_TRANSPORT_RX_NOT_DATA_CONTINUE 0
#define KNET_TRANSPORT_RX_NOT_DATA_STOP 1
#define KNET_TRANSPORT_RX_IS_DATA 2
#define KNET_TRANSPORT_RX_OOB_DATA_CONTINUE 3
#define KNET_TRANSPORT_RX_OOB_DATA_STOP 4

int start_all_transports(knet_handle_t knet_h);
void stop_all_transports(knet_handle_t knet_h);

Expand Down

0 comments on commit e8ba24d

Please sign in to comment.