Lines Matching full:sa
33 "SA count=%u tx=%u\n", in nsim_dbg_netdev_ops_read()
37 struct nsim_sa *sap = &ipsec->sa[i]; in nsim_dbg_netdev_ops_read()
43 "sa[%i] %cx ipaddr=0x%08x %08x %08x %08x\n", in nsim_dbg_netdev_ops_read()
47 "sa[%i] spi=0x%08x proto=0x%x salt=0x%08x crypt=%d\n", in nsim_dbg_netdev_ops_read()
51 "sa[%i] key=0x%08x %08x %08x %08x\n", in nsim_dbg_netdev_ops_read()
75 /* search sa table */ in nsim_ipsec_find_empty_idx()
77 if (!ipsec->sa[i].used) in nsim_ipsec_find_empty_idx()
133 struct nsim_sa sa; in nsim_ipsec_add_sa() local
155 netdev_err(dev, "No space for SA in Rx table!\n"); in nsim_ipsec_add_sa()
160 memset(&sa, 0, sizeof(sa)); in nsim_ipsec_add_sa()
161 sa.used = true; in nsim_ipsec_add_sa()
162 sa.xs = xs; in nsim_ipsec_add_sa()
164 if (sa.xs->id.proto & IPPROTO_ESP) in nsim_ipsec_add_sa()
165 sa.crypt = xs->ealg || xs->aead; in nsim_ipsec_add_sa()
168 ret = nsim_ipsec_parse_proto_keys(xs, sa.key, &sa.salt); in nsim_ipsec_add_sa()
170 netdev_err(dev, "Failed to get key data for SA table\n"); in nsim_ipsec_add_sa()
175 sa.rx = true; in nsim_ipsec_add_sa()
178 memcpy(sa.ipaddr, &xs->id.daddr.a6, 16); in nsim_ipsec_add_sa()
180 memcpy(&sa.ipaddr[3], &xs->id.daddr.a4, 4); in nsim_ipsec_add_sa()
184 memcpy(&ipsec->sa[sa_idx], &sa, sizeof(sa)); in nsim_ipsec_add_sa()
202 if (!ipsec->sa[sa_idx].used) { in nsim_ipsec_del_sa()
203 netdev_err(ns->netdev, "Invalid SA for delete sa_idx=%d\n", in nsim_ipsec_del_sa()
208 memset(&ipsec->sa[sa_idx], 0, sizeof(struct nsim_sa)); in nsim_ipsec_del_sa()
259 tsa = &ipsec->sa[sa_idx]; in nsim_ipsec_tx()