Shad Ansari | 2f7f9be | 2017-06-07 13:34:53 -0700 | [diff] [blame] | 1 | /*
|
| 2 | <:copyright-BRCM:2016:DUAL/GPL:standard
|
| 3 |
|
| 4 | Broadcom Proprietary and Confidential.(c) 2016 Broadcom
|
| 5 | All Rights Reserved
|
| 6 |
|
| 7 | Unless you and Broadcom execute a separate written software license
|
| 8 | agreement governing use of this software, this software is licensed
|
| 9 | to you under the terms of the GNU General Public License version 2
|
| 10 | (the "GPL"), available at http://www.broadcom.com/licenses/GPLv2.php,
|
| 11 | with the following added to such license:
|
| 12 |
|
| 13 | As a special exception, the copyright holders of this software give
|
| 14 | you permission to link this software with independent modules, and
|
| 15 | to copy and distribute the resulting executable under terms of your
|
| 16 | choice, provided that you also meet, for each linked independent
|
| 17 | module, the terms and conditions of the license of that module.
|
| 18 | An independent module is a module which is not derived from this
|
| 19 | software. The special exception does not apply to any modifications
|
| 20 | of the software.
|
| 21 |
|
| 22 | Not withstanding the above, under no circumstances may you combine
|
| 23 | this software in any way with any other Broadcom software provided
|
| 24 | under a license other than the GPL, without Broadcom's express prior
|
| 25 | written consent.
|
| 26 |
|
| 27 | :>
|
| 28 | */
|
| 29 |
|
| 30 | #ifndef ENCRYPT_OAM_H_
|
| 31 | #define ENCRYPT_OAM_H_
|
| 32 |
|
| 33 | #include "oam_defs.h"
|
| 34 | #include "bcmolt_epon_hde.h"
|
| 35 |
|
| 36 | /* Send a Encryption Request OAM to ONU. */
|
| 37 | bcmos_errno dpoe_encrypt_oam_set_request_send(
|
| 38 | const hde_key *hde_link,
|
| 39 | uint16_t period,
|
| 40 | dpoe_encrypt_mode encrypt_mode,
|
| 41 | bcmos_mac_address pon_mac);
|
| 42 |
|
| 43 | /* Attempt to parse a DPoE set response and fill in the values of the two TLVs we initially sent down.
|
| 44 | * This will return BCM_ERR_PARSE if it fails to fill in either of the TLVs.
|
| 45 | */
|
| 46 | bcmos_errno dpoe_encrypt_oam_parse_set_response(
|
| 47 | const bcmolt_u8_list_u32 *frame,
|
| 48 | uint8_t *encrypt_mode_response,
|
| 49 | uint8_t *key_expiry_response);
|
| 50 |
|
| 51 | /* Attempts to parse an OAM frame and fill in the values of new_key and key_choice from that frame.
|
| 52 | * This will return BCM_ERR_PARSE if it fails to fill in either new_key or key_choice.
|
| 53 | */
|
| 54 | bcmos_errno dpoe_encrypt_oam_parse_new_key(
|
| 55 | const bcmolt_u8_list_u32 *frame,
|
| 56 | uint8_t *new_key,
|
| 57 | bcmolt_epon_key_choice *key_choice);
|
| 58 |
|
| 59 | #endif /* ENCRYPT_OAM_H_ */
|