]> git.proxmox.com Git - mirror_kronosnet.git/commitdiff
[rx] use defines to determine RX data types vs random numbers
authorFabio M. Di Nitto <fdinitto@redhat.com>
Fri, 24 Jan 2020 04:08:26 +0000 (05:08 +0100)
committerFabio M. Di Nitto <fdinitto@redhat.com>
Fri, 31 Jan 2020 05:29:32 +0000 (06:29 +0100)
also extend a bit to make ready for SCTP extra return codes

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
libknet/threads_rx.c
libknet/transport_udp.c
libknet/transports.h

index 869ce31033c4f9a1a7f729c21e5acdb446259c77..ee70ec9d7fb87ed3268c068d444b3b95a00a047c 100644 (file)
@@ -819,18 +819,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
                                 */
@@ -858,6 +858,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;
                }
        }
 
index 75156026521ff148c84826a32f4a743aa1afcfb5..315631d02c60203d053b11404321a57c0dcc2681 100644 (file)
@@ -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 {
@@ -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)
index 3a29ce61d910bd1a8bedc7a3f724d6e4807fba3b..90ac9cd4d2af1d9a84c8c2aa092499f4a228b778 100644 (file)
@@ -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);