cmac
ctx->cmac.c[2] ^= (u8)(alen >> 24);
ctx->cmac.c[3] ^= (u8)(alen >> 16);
ctx->cmac.c[4] ^= (u8)(alen >> 8);
ctx->cmac.c[5] ^= (u8)alen;
ctx->cmac.c[i] ^= *aad;
(*block)(ctx->cmac.c, ctx->cmac.c, ctx->key), ctx->blocks++;
(*block)(ctx->nonce.c, ctx->cmac.c, key), ctx->blocks++;
ctx->cmac.u[0] ^= temp.u[0];
ctx->cmac.u[1] ^= temp.u[1];
ctx->cmac.u[0] ^= ((u64_a1 *)inp)[0];
ctx->cmac.u[1] ^= ((u64_a1 *)inp)[1];
(*block)(ctx->cmac.c, ctx->cmac.c, key);
ctx->cmac.c[i] ^= inp[i];
(*block)(ctx->cmac.c, ctx->cmac.c, key);
ctx->cmac.u[0] ^= scratch.u[0];
ctx->cmac.u[1] ^= scratch.u[1];
(*block)(ctx->nonce.c, ctx->cmac.c, key);
ctx->cmac.u[0] ^= (scratch.u[0] ^= temp.u[0]);
ctx->cmac.u[1] ^= (scratch.u[1] ^= temp.u[1]);
ctx->cmac.u[0] ^= (((u64_a1 *)out)[0]
ctx->cmac.u[1] ^= (((u64_a1 *)out)[1]
(*block)(ctx->cmac.c, ctx->cmac.c, key);
ctx->cmac.c[i] ^= (out[i] = scratch.c[i] ^ inp[i]);
(*block)(ctx->cmac.c, ctx->cmac.c, key);
ctx->cmac.u[0] ^= scratch.u[0];
ctx->cmac.u[1] ^= scratch.u[1];
(*block)(ctx->nonce.c, ctx->cmac.c, key), ctx->blocks++;
(*stream)(inp, out, n, key, ctx->nonce.c, ctx->cmac.c);
ctx->cmac.c[i] ^= inp[i];
(*block)(ctx->cmac.c, ctx->cmac.c, key);
ctx->cmac.u[0] ^= scratch.u[0];
ctx->cmac.u[1] ^= scratch.u[1];
(*block)(ctx->nonce.c, ctx->cmac.c, key);
(*stream)(inp, out, n, key, ctx->nonce.c, ctx->cmac.c);
ctx->cmac.c[i] ^= (out[i] = scratch.c[i] ^ inp[i]);
(*block)(ctx->cmac.c, ctx->cmac.c, key);
ctx->cmac.u[0] ^= scratch.u[0];
ctx->cmac.u[1] ^= scratch.u[1];
memcpy(tag, ctx->cmac.c, M);
(*block)(ctx->nonce.c, ctx->cmac.c, ctx->key), ctx->blocks++;
ctx->cmac.c[0] ^= (u8)(alen >> 8);
ctx->cmac.c[1] ^= (u8)alen;
ctx->cmac.c[0] ^= 0xFF;
ctx->cmac.c[1] ^= 0xFF;
ctx->cmac.c[2] ^= (u8)(alen >> (56 % (sizeof(alen) * 8)));
ctx->cmac.c[3] ^= (u8)(alen >> (48 % (sizeof(alen) * 8)));
ctx->cmac.c[4] ^= (u8)(alen >> (40 % (sizeof(alen) * 8)));
ctx->cmac.c[5] ^= (u8)(alen >> (32 % (sizeof(alen) * 8)));
ctx->cmac.c[6] ^= (u8)(alen >> 24);
ctx->cmac.c[7] ^= (u8)(alen >> 16);
ctx->cmac.c[8] ^= (u8)(alen >> 8);
ctx->cmac.c[9] ^= (u8)alen;
ctx->cmac.c[0] ^= 0xFF;
ctx->cmac.c[1] ^= 0xFE;
unsigned char cmac[16]);
unsigned char cmac[16]);
} nonce, cmac;
unsigned char cmac[16]);
int cmac;
MAC_KEY *ossl_mac_key_new(OSSL_LIB_CTX *libctx, int cmac);
if (key->cmac && !ossl_prov_cipher_load_from_params(&key->cipher, params, key->libctx)) {
MAC_KEY *ossl_mac_key_new(OSSL_LIB_CTX *libctx, int cmac)
mackey->cmac = cmac;
MAC_SETTABLE_CTX_PARAMS(cmac, "CMAC")
MAC_SIGNATURE_FUNCTIONS(cmac)
MAC_NEWCTX(cmac, "CMAC")
int t3_link_start(struct cphy *phy, struct cmac *mac, struct link_config *lc);
void mac_prep(struct cmac *mac, adapter_t *adapter, int index);
int t3_mac_init(struct cmac *mac);
void t3b_pcs_reset(struct cmac *mac);
void t3c_pcs_force_los(struct cmac *mac);
void t3_mac_disable_exact_filters(struct cmac *mac);
void t3_mac_enable_exact_filters(struct cmac *mac);
int t3_mac_enable(struct cmac *mac, int which);
int t3_mac_disable(struct cmac *mac, int which);
int t3_mac_set_mtu(struct cmac *mac, unsigned int mtu);
int t3_mac_set_rx_mode(struct cmac *mac, struct t3_rx_mode *rm);
int t3_mac_set_address(struct cmac *mac, unsigned int idx, u8 addr[6]);
int t3_mac_set_num_ucast(struct cmac *mac, unsigned char n);
const struct mac_stats *t3_mac_update_stats(struct cmac *mac);
int t3_mac_set_speed_duplex_fc(struct cmac *mac, int speed, int duplex,
int t3b2_mac_watchdog_task(struct cmac *mac);
const struct mac_stats *t3_vsc7323_update_stats(struct cmac *mac);
static void t3_gate_rx_traffic(struct cmac *mac, u32 *rx_cfg,
static void t3_open_rx_traffic(struct cmac *mac, u32 rx_cfg,
struct cmac *mac = &pi->mac;
struct cmac *mac = &pi->mac;
struct cmac *mac = &pi->mac;
int t3_link_start(struct cphy *phy, struct cmac *mac, struct link_config *lc)
struct cmac *mac;
void mac_prep(struct cmac *mac, adapter_t *adapter, int index)
const struct mac_stats *t3_vsc7323_update_stats(struct cmac *mac)
void t3c_pcs_force_los(struct cmac *mac)
int t3_mac_init(struct cmac *mac)
static int t3_mac_reset(struct cmac *mac, int portspeed)
static void set_addr_filter(struct cmac *mac, int idx, const u8 *addr)
int t3_mac_set_address(struct cmac *mac, unsigned int idx, u8 addr[6])
int t3_mac_set_num_ucast(struct cmac *mac, unsigned char n)
void t3_mac_disable_exact_filters(struct cmac *mac)
void t3_mac_enable_exact_filters(struct cmac *mac)
static inline int macidx(const struct cmac *mac)
struct cmac *mac;
int t3_mac_set_rx_mode(struct cmac *mac, struct t3_rx_mode *rm)
static inline int xgm_reset_ctrl(const struct cmac *mac)
int t3_mac_set_mtu(struct cmac *mac, unsigned int mtu)
int t3_mac_set_speed_duplex_fc(struct cmac *mac, int speed, int duplex, int fc)
int t3_mac_enable(struct cmac *mac, int which)
static void xaui_serdes_reset(struct cmac *mac)
int t3_mac_disable(struct cmac *mac, int which)
int t3b2_mac_watchdog_task(struct cmac *mac)
const struct mac_stats *t3_mac_update_stats(struct cmac *mac)
void t3b_pcs_reset(struct cmac *mac)
struct cmac mac;
struct cmac *mac = &p->mac;
struct cmac *mac = &p->mac;
struct cmac *mac = &pi->mac;
struct cmac *mac = &p->mac;
struct cmac *mac = &pi->mac;
q80_config_mac_addr_t *cmac;
cmac = (q80_config_mac_addr_t *)ha->hw.mbox;
bzero(cmac, (sizeof (q80_config_mac_addr_t)));
cmac->opcode = Q8_MBX_CONFIG_MAC_ADDR;
cmac->count_version = sizeof (q80_config_mac_addr_t) >> 2;
cmac->count_version |= Q8_MBX_CMD_VERSION;
cmac->cmd = Q8_MBX_CMAC_CMD_ADD_MAC_ADDR;
cmac->cmd = Q8_MBX_CMAC_CMD_DEL_MAC_ADDR;
cmac->cmd |= Q8_MBX_CMAC_CMD_CAM_INGRESS;
cmac->nmac_entries = num_mac;
cmac->cntxt_id = ha->hw.rcv_cntxt_id;
bcopy(mac_addr, cmac->mac_addr[i].addr, Q8_ETHER_ADDR_LEN);
if (qla_mbx_cmd(ha, (uint32_t *)cmac,