openbcm

Git mirror of https://github.com/Broadcom-Network-Switching-Software/OpenBCM
git clone git://git.finwo.net/mirror/broadcom/openbcm
Log | Files | Refs | README

eth_lm_dm_pack.h (4379B)


      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:        eth_lm_dm_pack.h
      8  * Purpose:     Interface to pack and unpack routines common to
      9  *              SDK and uKernel for:
     10  *              - ETH_LM_DM Control messages
     11  *              - Network Packet headers
     12  *
     13  *              This is to be shared between SDK host and uKernel.
     14  */
     15 
     16 #ifndef   _ETH_LM_DM_PACK_H_
     17 #define   _ETH_LM_DM_PACK_H_
     18 
     19 #ifdef BCM_UKERNEL
     20   /* Build for uKernel not SDK */
     21   #include "sdk_typedefs.h"
     22 #else
     23   #include <bcm/types.h>
     24 #endif
     25 
     26 #include <soc/shared/eth_lm_dm_msg.h>
     27 #include <soc/shared/eth_lm_dm_pkt.h>
     28 
     29 /*
     30  * TLV Types
     31  */
     32 #define SHR_ETH_LM_DM_TLV_END            0x00
     33 
     34 
     35 #define SHR_ETH_LM_DM_ID_ZERO_LEN 24
     36 #define _ETH_LM_DM_MAC_ADDR_LENGTH 6
     37 
     38 
     39 /* ETH_LM_DM Control Messages pack/unpack */
     40 extern uint8 *
     41 shr_eth_lm_dm_msg_ctrl_init_pack(uint8 *buf, shr_eth_lm_dm_msg_ctrl_init_t *msg);
     42 extern uint8 *
     43 shr_eth_lm_dm_msg_ctrl_init_unpack(uint8 *buf, shr_eth_lm_dm_msg_ctrl_init_t *msg);
     44 
     45 extern uint8 *
     46 shr_eth_lm_dm_msg_ctrl_sess_set_pack(uint8 *buf,
     47                                shr_eth_lm_dm_msg_ctrl_sess_set_t *msg);
     48 extern uint8 *
     49 shr_eth_lm_dm_msg_ctrl_sess_set_unpack(uint8 *buf,
     50                                  shr_eth_lm_dm_msg_ctrl_sess_set_t *msg);
     51 
     52 extern uint8 *
     53 shr_eth_lm_dm_msg_ctrl_sess_get_pack(uint8 *buf,
     54                                shr_eth_lm_dm_msg_ctrl_sess_get_t *msg);
     55 extern uint8 *
     56 shr_eth_lm_dm_msg_ctrl_sess_get_unpack(uint8 *buf,
     57 				 shr_eth_lm_dm_msg_ctrl_sess_get_t *msg); 
     58 
     59 extern uint8 *
     60 shr_eth_lm_dm_msg_ctrl_sess_delete_pack(uint8 *buf,
     61 				  shr_eth_lm_dm_msg_ctrl_sess_delete_t *msg);
     62 extern uint8 *
     63 shr_eth_lm_dm_msg_ctrl_sess_delete_unpack(uint8 *buf,
     64 				    shr_eth_lm_dm_msg_ctrl_sess_delete_t *msg);
     65 
     66 extern uint8 *
     67 shr_eth_lm_dm_msg_ctrl_stat_req_pack(uint8 *buf,
     68                                shr_eth_lm_dm_msg_ctrl_stat_req_t *msg);
     69 extern uint8 *
     70 shr_eth_lm_dm_msg_ctrl_stat_req_unpack(uint8 *buf,
     71                                  shr_eth_lm_dm_msg_ctrl_stat_req_t *msg);
     72 
     73 extern uint8 *
     74 shr_eth_lm_dm_msg_ctrl_stat_reply_pack(uint8 *buf,
     75                                  shr_eth_lm_dm_msg_ctrl_stat_reply_t *msg);
     76 extern uint8 *
     77 shr_eth_lm_dm_msg_ctrl_stat_reply_unpack(uint8 *buf,
     78                                    shr_eth_lm_dm_msg_ctrl_stat_reply_t *msg);
     79 extern uint8 *
     80 shr_eth_lm_dm_msg_ctrl_loss_add_pack(uint8 *buf,
     81 				   shr_eth_lm_dm_msg_ctrl_loss_add_t *msg);
     82 extern uint8 *
     83 shr_eth_lm_dm_msg_ctrl_loss_add_unpack(uint8 *buf,
     84 				     shr_eth_lm_dm_msg_ctrl_loss_add_t *msg);
     85 extern uint8 *
     86 shr_eth_lm_dm_msg_ctrl_loss_delete_pack(uint8 *buf,
     87 				   shr_eth_lm_dm_msg_ctrl_loss_delete_t *msg);
     88 extern uint8 *
     89 shr_eth_lm_dm_msg_ctrl_loss_delete_unpack(uint8 *buf,
     90 				     shr_eth_lm_dm_msg_ctrl_loss_delete_t *msg);
     91 extern uint8 *
     92 shr_eth_lm_dm_msg_ctrl_loss_get_pack(uint8 *buf,
     93 				   shr_eth_lm_dm_msg_ctrl_loss_get_t *msg);
     94 extern uint8 *
     95 shr_eth_lm_dm_msg_ctrl_loss_get_unpack(uint8 *buf,
     96 				     shr_eth_lm_dm_msg_ctrl_loss_get_t *msg);
     97 extern uint8 *
     98 shr_eth_lm_dm_msg_ctrl_delay_add_pack(uint8 *buf,
     99 				   shr_eth_lm_dm_msg_ctrl_delay_add_t *msg);
    100 extern uint8 *
    101 shr_eth_lm_dm_msg_ctrl_delay_add_unpack(uint8 *buf,
    102 				     shr_eth_lm_dm_msg_ctrl_delay_add_t *msg);
    103 extern uint8 *
    104 shr_eth_lm_dm_msg_ctrl_delay_delete_pack(uint8 *buf,
    105 				   shr_eth_lm_dm_msg_ctrl_delay_delete_t *msg);
    106 extern uint8 *
    107 shr_eth_lm_dm_msg_ctrl_delay_delete_unpack(uint8 *buf,
    108 				     shr_eth_lm_dm_msg_ctrl_delay_delete_t *msg);
    109 extern uint8 *
    110 shr_eth_lm_dm_msg_ctrl_delay_get_pack(uint8 *buf,
    111 				   shr_eth_lm_dm_msg_ctrl_delay_get_t *msg);
    112 extern uint8 *
    113 shr_eth_lm_dm_msg_ctrl_delay_get_unpack(uint8 *buf,
    114 				     shr_eth_lm_dm_msg_ctrl_delay_get_t *msg);
    115 
    116 
    117 /* ETH_LM_DM Network Packet headers pack/unpack */
    118 extern uint8 *
    119 shr_eth_lm_dm_header_pack(uint8 *buf, shr_eth_lm_dm_header_t *eth_lm_dm);
    120 extern uint8 *
    121 shr_eth_lm_dm_header_unpack(uint8 *buf, shr_eth_lm_dm_header_t *eth_lm_dm);
    122 extern uint8 *
    123 shr_eth_lm_dm_slm_info_header_pack(uint8 *buf, shr_eth_lm_dm_slm_info_header_t *eth_lm_dm_slm_info);
    124 extern uint8 *
    125 shr_eth_lm_dm_slm_info_header_unpack(uint8 *buf, shr_eth_lm_dm_slm_info_header_t *eth_lm_dm_slm_info);
    126 #endif /* _ETH_LM_DM_PACK_H_ */