rlink.h (1902B)
1 /* 2 * 3 * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file. 4 * 5 * Copyright 2007-2019 Broadcom Inc. All rights reserved. 6 * 7 * File: rlink.h 8 * Purpose: RLINK protocol interfaces 9 */ 10 11 #ifndef _BCM_SRC_RLINK_H 12 #define _BCM_SRC_RLINK_H 13 14 #include <shared/idents.h> 15 16 #define RLINK_CLIENT_ID SHARED_CLIENT_ID_RLINK 17 18 typedef enum { 19 RLINK_MSG_ADD, /* scan add (client to server) */ 20 RLINK_MSG_DELETE, /* scan delete (client to server) */ 21 RLINK_MSG_NOTIFY, /* run handlers (server to client) */ 22 RLINK_MSG_TRAVERSE /* traverse processing */ 23 } rlink_msg_t; 24 25 typedef enum { 26 RLINK_TYPE_LINK = 1, /* linkscan */ 27 RLINK_TYPE_AUTH, /* auth unauth callback */ 28 RLINK_TYPE_L2, /* l2 notify */ 29 RLINK_TYPE_RX, /* RX tunnelling */ 30 RLINK_TYPE_ADD, /* Msg add processing */ 31 RLINK_TYPE_DELETE, /* Msg delete processing */ 32 RLINK_TYPE_OAM, /* oam event */ 33 RLINK_TYPE_BFD, /* bfd event */ 34 RLINK_TYPE_FABRIC, /* fabric event */ 35 RLINK_TYPE_START, /* traverse start c>s */ 36 RLINK_TYPE_NEXT, /* traverse next c>s */ 37 RLINK_TYPE_QUIT, /* traverse quit c>s */ 38 RLINK_TYPE_ERROR, /* traverse error s>c */ 39 RLINK_TYPE_MORE, /* traverse more s>c */ 40 RLINK_TYPE_DONE /* traverse done s>c */ 41 } rlink_type_t; 42 43 44 extern uint8 *bcm_rlink_decode(uint8 *buf, 45 rlink_msg_t *msgp, 46 rlink_type_t *typep, 47 int *unitp); 48 49 extern uint8 *bcm_rlink_encode(uint8 *buf, 50 rlink_msg_t msg, 51 rlink_type_t type, 52 int unit); 53 54 55 #endif /* _BCM_SRC_RLINK_H */