linux/drivers/net/ethernet/aquantia/atlantic/aq_macsec.h

/* SPDX-License-Identifier: GPL-2.0-only */
/* Atlantic Network Driver
 * Copyright (C) 2020 Marvell International Ltd.
 */

#ifndef AQ_MACSEC_H
#define AQ_MACSEC_H

#include <linux/netdevice.h>
#if IS_ENABLED(CONFIG_MACSEC)

#include "net/macsec.h"

struct aq_nic_s;

#define AQ_MACSEC_MAX_SC
#define AQ_MACSEC_MAX_SA

enum aq_macsec_sc_sa {};

struct aq_macsec_common_stats {};

/* Ingress SA Counters */
struct aq_macsec_rx_sa_stats {};

/* Egress SA Counters */
struct aq_macsec_tx_sa_stats {};

/* Egress SC Counters */
struct aq_macsec_tx_sc_stats {};

struct aq_macsec_txsc {};

struct aq_macsec_rxsc {};

struct aq_macsec_cfg {};

extern const struct macsec_ops aq_macsec_ops;

int aq_macsec_init(struct aq_nic_s *nic);
void aq_macsec_free(struct aq_nic_s *nic);
int aq_macsec_enable(struct aq_nic_s *nic);
void aq_macsec_work(struct aq_nic_s *nic);
u64 *aq_macsec_get_stats(struct aq_nic_s *nic, u64 *data);
int aq_macsec_rx_sa_cnt(struct aq_nic_s *nic);
int aq_macsec_tx_sc_cnt(struct aq_nic_s *nic);
int aq_macsec_tx_sa_cnt(struct aq_nic_s *nic);

#endif

#endif /* AQ_MACSEC_H */