Symbol: tdb
sys/dev/dt/dt_prov_static.c
107
DT_STATIC_PROBE3(refcnt, tdb, "void *", "int", "int");
sys/dev/dt/dt_prov_static.c
170
&_DT_STATIC_P(refcnt, tdb),
sys/dev/ic/rtw.c
1343
rtw_collect_txpkt(struct rtw_softc *sc, struct rtw_txdesc_blk *tdb,
sys/dev/ic/rtw.c
1353
tdb->tdb_nfree += ndesc;
sys/dev/ic/rtw.c
1355
tdn = &tdb->tdb_desc[ts->ts_last];
sys/dev/ic/rtw.c
1382
struct rtw_txdesc_blk *tdb;
sys/dev/ic/rtw.c
1386
tdb = &sc->sc_txdesc_blk[pri];
sys/dev/ic/rtw.c
1387
if (!SIMPLEQ_EMPTY(&tsb->tsb_freeq) && tdb->tdb_nfree > 0)
sys/dev/ic/rtw.c
1399
struct rtw_txdesc_blk *tdb, int force)
sys/dev/ic/rtw.c
1407
ndesc += tdb->tdb_ndesc;
sys/dev/ic/rtw.c
1411
rtw_txdescs_sync(tdb, ts->ts_first, ndesc,
sys/dev/ic/rtw.c
1416
for (i = ts->ts_first; ; i = RTW_NEXT_IDX(tdb, i)) {
sys/dev/ic/rtw.c
1417
tdb->tdb_desc[i].td_stat &=
sys/dev/ic/rtw.c
1422
rtw_txdescs_sync(tdb, ts->ts_first, ndesc,
sys/dev/ic/rtw.c
1424
} else if ((tdb->tdb_desc[ts->ts_last].td_stat &
sys/dev/ic/rtw.c
1428
rtw_collect_txpkt(sc, tdb, ts, ndesc);
sys/dev/ic/rtw.c
1443
struct rtw_txdesc_blk *tdb;
sys/dev/ic/rtw.c
1447
tdb = &sc->sc_txdesc_blk[pri];
sys/dev/ic/rtw.c
1449
rtw_collect_txring(sc, tsb, tdb, 0);
sys/dev/ic/rtw.c
1464
struct rtw_txdesc_blk *tdb = &sc->sc_txdesc_blk[RTW_TXPRIBCN];
sys/dev/ic/rtw.c
1472
next = rtw_txring_next(&sc->sc_regs, tdb);
sys/dev/ic/rtw.c
1476
(next == tdb->tdb_next) ? "" : "un", isr, next,
sys/dev/ic/rtw.c
1477
tdb->tdb_next, (uint64_t)tsfth << 32 | tsftl));
sys/dev/ic/rtw.c
1479
rtw_collect_txring(sc, tsb, tdb, 1);
sys/dev/ic/rtw.c
1480
tdb->tdb_next = 0;
sys/dev/ic/rtw.c
1521
struct rtw_txdesc_blk *tdb;
sys/dev/ic/rtw.c
1530
tdb = &sc->sc_txdesc_blk[pri];
sys/dev/ic/rtw.c
1532
tdb->tdb_ndesc, tdb->tdb_nfree);
sys/dev/ic/rtw.c
1533
for (desc = 0; desc < tdb->tdb_ndesc; desc++)
sys/dev/ic/rtw.c
1534
rtw_print_txdesc(sc, ".", NULL, tdb, desc);
sys/dev/ic/rtw.c
1555
struct rtw_txdesc_blk *tdb;
sys/dev/ic/rtw.c
1567
tdb = &sc->sc_txdesc_blk[pri];
sys/dev/ic/rtw.c
1568
RTW_WRITE(regs, tdb->tdb_basereg, tdb->tdb_base);
sys/dev/ic/rtw.c
1571
(u_int *)tdb->tdb_base));
sys/dev/ic/rtw.c
1588
struct rtw_txdesc_blk *tdb;
sys/dev/ic/rtw.c
1609
tdb = &sc->sc_txdesc_blk[0];
sys/dev/ic/rtw.c
1611
rtw_txdescs_sync(&tdb[pri], 0, tdb[pri].tdb_ndesc,
sys/dev/ic/rtw.c
1618
rtw_txdesc_blk_init(struct rtw_txdesc_blk *tdb)
sys/dev/ic/rtw.c
1622
bzero(tdb->tdb_desc, sizeof(tdb->tdb_desc[0]) * tdb->tdb_ndesc);
sys/dev/ic/rtw.c
1623
for (i = 0; i < tdb->tdb_ndesc; i++)
sys/dev/ic/rtw.c
1624
tdb->tdb_desc[i].td_next = htole32(RTW_NEXT_DESC(tdb, i));
sys/dev/ic/rtw.c
1628
rtw_txring_next(struct rtw_regs *regs, struct rtw_txdesc_blk *tdb)
sys/dev/ic/rtw.c
1630
return (letoh32(RTW_READ(regs, tdb->tdb_basereg)) - tdb->tdb_base) /
sys/dev/ic/rtw.c
1639
struct rtw_txdesc_blk *tdb;
sys/dev/ic/rtw.c
1643
tdb = &sc->sc_txdesc_blk[pri];
sys/dev/ic/rtw.c
1644
next = rtw_txring_next(regs, tdb);
sys/dev/ic/rtw.c
1645
if (tdb->tdb_next == next)
sys/dev/ic/rtw.c
1649
pri, tdb->tdb_next, next));
sys/dev/ic/rtw.c
1650
tdb->tdb_next = MIN(next, tdb->tdb_ndesc - 1);
sys/dev/ic/rtw.c
2663
struct rtw_txdesc_blk *tdb;
sys/dev/ic/rtw.c
2668
tdb = &sc->sc_txdesc_blk[pri];
sys/dev/ic/rtw.c
2670
if (SIMPLEQ_EMPTY(&tsb->tsb_freeq) || tdb->tdb_nfree == 0) {
sys/dev/ic/rtw.c
2678
*tdbp = tdb;
sys/dev/ic/rtw.c
3046
struct rtw_txsoft *ts, struct rtw_txdesc_blk *tdb, int desc)
sys/dev/ic/rtw.c
3048
struct rtw_txdesc *td = &tdb->tdb_desc[desc];
sys/dev/ic/rtw.c
3072
struct rtw_txdesc_blk *tdb;
sys/dev/ic/rtw.c
3092
if (rtw_dequeue(ifp, &tsb, &tdb, &m0, &ni) == -1)
sys/dev/ic/rtw.c
3101
tdb->tdb_nfree, &ifp->if_flags, sc->sc_dev.dv_xname);
sys/dev/ic/rtw.c
3179
ts->ts_first = tdb->tdb_next;
sys/dev/ic/rtw.c
3181
rtw_txdescs_sync(tdb, ts->ts_first, dmamap->dm_nsegs,
sys/dev/ic/rtw.c
3184
KASSERT(ts->ts_first < tdb->tdb_ndesc);
sys/dev/ic/rtw.c
3215
i++, desc = RTW_NEXT_IDX(tdb, desc)) {
sys/dev/ic/rtw.c
3221
td = &tdb->tdb_desc[desc];
sys/dev/ic/rtw.c
3230
rtw_print_txdesc(sc, "load", ts, tdb, desc);
sys/dev/ic/rtw.c
3234
KASSERT(desc < tdb->tdb_ndesc);
sys/dev/ic/rtw.c
3239
tdb->tdb_desc[ts->ts_last].td_ctl0 |= htole32(RTW_TXCTL0_LS);
sys/dev/ic/rtw.c
3240
tdb->tdb_desc[ts->ts_first].td_ctl0 |=
sys/dev/ic/rtw.c
3244
rtw_print_txdesc(sc, "FS on", ts, tdb, ts->ts_first);
sys/dev/ic/rtw.c
3245
rtw_print_txdesc(sc, "LS on", ts, tdb, ts->ts_last);
sys/dev/ic/rtw.c
3248
tdb->tdb_nfree -= dmamap->dm_nsegs;
sys/dev/ic/rtw.c
3249
tdb->tdb_next = desc;
sys/dev/ic/rtw.c
3251
rtw_txdescs_sync(tdb, ts->ts_first, dmamap->dm_nsegs,
sys/dev/ic/rtw.c
3254
tdb->tdb_desc[ts->ts_first].td_ctl0 |=
sys/dev/ic/rtw.c
3258
rtw_print_txdesc(sc, "OWN on", ts, tdb, ts->ts_first);
sys/dev/ic/rtw.c
3261
rtw_txdescs_sync(tdb, ts->ts_first, 1,
sys/dev/ic/rtw.c
3649
rtw_txdesc_blk_setup(struct rtw_txdesc_blk *tdb, struct rtw_txdesc *desc,
sys/dev/ic/rtw.c
3652
tdb->tdb_ndesc = ndesc;
sys/dev/ic/rtw.c
3653
tdb->tdb_desc = desc;
sys/dev/ic/rtw.c
3654
tdb->tdb_physbase = physbase;
sys/dev/ic/rtw.c
3655
tdb->tdb_ofs = ofs;
sys/dev/ic/rtw.c
3657
bzero(tdb->tdb_desc, sizeof(tdb->tdb_desc[0]) * tdb->tdb_ndesc);
sys/dev/ic/rtw.c
3659
rtw_txdesc_blk_init(tdb);
sys/dev/ic/rtw.c
3660
tdb->tdb_next = 0;
sys/dev/ic/rtw.c
820
rtw_txdesc_blk_init_all(struct rtw_txdesc_blk *tdb)
sys/dev/ic/rtw.c
848
tdb[pri].tdb_nfree = nfree[pri];
sys/dev/ic/rtw.c
849
tdb[pri].tdb_next = 0;
sys/dev/ic/rtw.c
902
rtw_txdescs_sync(struct rtw_txdesc_blk *tdb, u_int desc0, u_int nsync, int ops)
sys/dev/ic/rtw.c
905
if (desc0 + nsync > tdb->tdb_ndesc) {
sys/dev/ic/rtw.c
906
bus_dmamap_sync(tdb->tdb_dmat, tdb->tdb_dmamap,
sys/dev/ic/rtw.c
907
tdb->tdb_ofs + sizeof(struct rtw_txdesc) * desc0,
sys/dev/ic/rtw.c
908
sizeof(struct rtw_txdesc) * (tdb->tdb_ndesc - desc0),
sys/dev/ic/rtw.c
910
nsync -= (tdb->tdb_ndesc - desc0);
sys/dev/ic/rtw.c
915
bus_dmamap_sync(tdb->tdb_dmat, tdb->tdb_dmamap,
sys/dev/ic/rtw.c
916
tdb->tdb_ofs + sizeof(struct rtw_txdesc) * desc0,
sys/net/if_bridge.c
1488
struct tdb *tdb;
sys/net/if_bridge.c
1566
tdb = gettdb(ifp->if_rdomain, spi, &dst, proto);
sys/net/if_bridge.c
1567
if (tdb != NULL && (tdb->tdb_flags & TDBF_INVALID) == 0 &&
sys/net/if_bridge.c
1568
tdb->tdb_xform != NULL) {
sys/net/if_bridge.c
1569
if (tdb->tdb_first_use == 0) {
sys/net/if_bridge.c
1570
tdb->tdb_first_use = gettime();
sys/net/if_bridge.c
1571
if (tdb->tdb_flags & TDBF_FIRSTUSE) {
sys/net/if_bridge.c
1573
&tdb->tdb_first_tmo,
sys/net/if_bridge.c
1574
tdb->tdb_exp_first_use))
sys/net/if_bridge.c
1575
tdb_ref(tdb);
sys/net/if_bridge.c
1577
if (tdb->tdb_flags & TDBF_SOFT_FIRSTUSE) {
sys/net/if_bridge.c
1579
&tdb->tdb_sfirst_tmo,
sys/net/if_bridge.c
1580
tdb->tdb_soft_first_use))
sys/net/if_bridge.c
1581
tdb_ref(tdb);
sys/net/if_bridge.c
1585
prot = (*(tdb->tdb_xform->xf_input))(&m, tdb, hlen,
sys/net/if_bridge.c
1587
tdb_unref(tdb);
sys/net/if_bridge.c
1592
tdb_unref(tdb);
sys/net/if_bridge.c
1599
NULL, NULL, &tdb, NULL);
sys/net/if_bridge.c
1600
if (error == 0 && tdb != NULL) {
sys/net/if_bridge.c
1606
if ((encif = enc_getif(tdb->tdb_rdomain,
sys/net/if_bridge.c
1607
tdb->tdb_tap)) == NULL ||
sys/net/if_bridge.c
1610
tdb_unref(tdb);
sys/net/if_bridge.c
1614
tdb_unref(tdb);
sys/net/if_bridge.c
1629
tdb->tdb_mtu && ntohs(ip->ip_len) > tdb->tdb_mtu &&
sys/net/if_bridge.c
1630
tdb->tdb_mtutimeout > gettime()) {
sys/net/if_bridge.c
1632
hassnap, llc, tdb->tdb_mtu,
sys/net/if_bridge.c
1636
error = ipsp_process_packet(m, tdb, af, 0,
sys/net/if_bridge.c
1640
tdb_unref(tdb);
sys/net/if_pfsync.c
1286
static void pfsync_out_tdb(struct tdb *, void *);
sys/net/if_pfsync.c
1345
pfsync_tdb_enter(struct tdb *tdb)
sys/net/if_pfsync.c
1347
mtx_enter(&tdb->tdb_mtx);
sys/net/if_pfsync.c
1351
pfsync_tdb_leave(struct tdb *tdb)
sys/net/if_pfsync.c
1353
unsigned int snapped = ISSET(tdb->tdb_flags, TDBF_PFSYNC_SNAPPED);
sys/net/if_pfsync.c
1354
mtx_leave(&tdb->tdb_mtx);
sys/net/if_pfsync.c
1356
wakeup_one(&tdb->tdb_updates);
sys/net/if_pfsync.c
1366
struct tdb *tdb;
sys/net/if_pfsync.c
1384
while ((tdb = TAILQ_FIRST(&s->s_tdb_q)) != NULL) {
sys/net/if_pfsync.c
1385
TAILQ_REMOVE(&s->s_tdb_q, tdb, tdb_sync_entry);
sys/net/if_pfsync.c
1387
pfsync_tdb_enter(tdb);
sys/net/if_pfsync.c
1388
KASSERT(ISSET(tdb->tdb_flags, TDBF_PFSYNC));
sys/net/if_pfsync.c
1389
CLR(tdb->tdb_flags, TDBF_PFSYNC);
sys/net/if_pfsync.c
1390
pfsync_tdb_leave(tdb);
sys/net/if_pfsync.c
1481
struct tdb *tdb;
sys/net/if_pfsync.c
1487
while ((tdb = TAILQ_FIRST(&s->s_tdb_q)) != NULL) {
sys/net/if_pfsync.c
1488
TAILQ_REMOVE(&s->s_tdb_q, tdb, tdb_sync_entry);
sys/net/if_pfsync.c
1491
pfsync_tdb_enter(tdb);
sys/net/if_pfsync.c
1492
KASSERT(ISSET(tdb->tdb_flags, TDBF_PFSYNC));
sys/net/if_pfsync.c
1495
pfsync_out_tdb(tdb, ptr + off);
sys/net/if_pfsync.c
1497
CLR(tdb->tdb_flags, TDBF_PFSYNC);
sys/net/if_pfsync.c
1498
pfsync_tdb_leave(tdb);
sys/net/if_pfsync.c
155
TAILQ_HEAD(, tdb) s_tdb_q;
sys/net/if_pfsync.c
2380
pfsync_out_tdb(struct tdb *tdb, void *buf)
sys/net/if_pfsync.c
2385
ut->spi = tdb->tdb_spi;
sys/net/if_pfsync.c
2386
memcpy(&ut->dst, &tdb->tdb_dst, sizeof(ut->dst));
sys/net/if_pfsync.c
2405
ut->rpl = htobe64(tdb->tdb_rpl +
sys/net/if_pfsync.c
2406
(ISSET(tdb->tdb_flags, TDBF_PFSYNC_RPL) ? RPL_INCR : 0));
sys/net/if_pfsync.c
2407
ut->cur_bytes = htobe64(tdb->tdb_cur_bytes);
sys/net/if_pfsync.c
2408
ut->sproto = tdb->tdb_sproto;
sys/net/if_pfsync.c
2409
ut->rdomain = htons(tdb->tdb_rdomain);
sys/net/if_pfsync.c
2413
pfsync_slice_enter_tdb(struct pfsync_softc *sc, const struct tdb *t)
sys/net/if_pfsync.c
2432
pfsync_tdb_ins(struct pfsync_slice *s, struct tdb *tdb)
sys/net/if_pfsync.c
2440
MUTEX_ASSERT_UNLOCKED(&tdb->tdb_mtx);
sys/net/if_pfsync.c
2458
TAILQ_INSERT_TAIL(&s->s_tdb_q, tdb, tdb_sync_entry);
sys/net/if_pfsync.c
2459
tdb->tdb_updates = 0;
sys/net/if_pfsync.c
2466
pfsync_tdb_del(struct pfsync_slice *s, struct tdb *tdb)
sys/net/if_pfsync.c
2469
MUTEX_ASSERT_UNLOCKED(&tdb->tdb_mtx);
sys/net/if_pfsync.c
2471
TAILQ_REMOVE(&s->s_tdb_q, tdb, tdb_sync_entry);
sys/net/if_pfsync.c
2492
pfsync_update_tdb(struct tdb *tdb, int output)
sys/net/if_pfsync.c
2496
MUTEX_ASSERT_UNLOCKED(&tdb->tdb_mtx);
sys/net/if_pfsync.c
2501
struct pfsync_slice *s = pfsync_slice_enter_tdb(sc, tdb);
sys/net/if_pfsync.c
2504
if (!ISSET(tdb->tdb_flags, TDBF_PFSYNC)) {
sys/net/if_pfsync.c
2505
mtx_enter(&tdb->tdb_mtx);
sys/net/if_pfsync.c
2506
SET(tdb->tdb_flags, TDBF_PFSYNC);
sys/net/if_pfsync.c
2507
mtx_leave(&tdb->tdb_mtx);
sys/net/if_pfsync.c
2509
pfsync_tdb_ins(s, tdb);
sys/net/if_pfsync.c
2510
} else if (++tdb->tdb_updates >= sc->sc_maxupdates)
sys/net/if_pfsync.c
2521
pfsync_delete_tdb(struct tdb *tdb)
sys/net/if_pfsync.c
2525
MUTEX_ASSERT_UNLOCKED(&tdb->tdb_mtx);
sys/net/if_pfsync.c
2530
struct pfsync_slice *s = pfsync_slice_enter_tdb(sc, tdb);
sys/net/if_pfsync.c
2533
if (ISSET(tdb->tdb_flags, TDBF_PFSYNC)) {
sys/net/if_pfsync.c
2534
pfsync_tdb_del(s, tdb);
sys/net/if_pfsync.c
2536
mtx_enter(&tdb->tdb_mtx);
sys/net/if_pfsync.c
2537
CLR(tdb->tdb_flags, TDBF_PFSYNC);
sys/net/if_pfsync.c
2538
mtx_leave(&tdb->tdb_mtx);
sys/net/if_pfsync.c
2550
mtx_enter(&tdb->tdb_mtx);
sys/net/if_pfsync.c
2551
SET(tdb->tdb_flags, TDBF_PFSYNC_SNAPPED); /* like a thanos snap */
sys/net/if_pfsync.c
2552
while (ISSET(tdb->tdb_flags, TDBF_PFSYNC)) {
sys/net/if_pfsync.c
2553
msleep_nsec(&tdb->tdb_updates, &tdb->tdb_mtx, PWAIT,
sys/net/if_pfsync.c
2556
mtx_leave(&tdb->tdb_mtx);
sys/net/if_pfsync.c
3261
struct tdb *tdb;
sys/net/if_pfsync.c
3271
tdb = gettdb(ntohs(pt->rdomain), pt->spi,
sys/net/if_pfsync.c
3273
if (tdb) {
sys/net/if_pfsync.c
3278
mtx_enter(&tdb->tdb_mtx);
sys/net/if_pfsync.c
3279
if (rpl >= tdb->tdb_rpl &&
sys/net/if_pfsync.c
3280
cur_bytes >= tdb->tdb_cur_bytes) {
sys/net/if_pfsync.c
3281
tdb->tdb_rpl = rpl;
sys/net/if_pfsync.c
3282
tdb->tdb_cur_bytes = cur_bytes;
sys/net/if_pfsync.c
3284
mtx_leave(&tdb->tdb_mtx);
sys/net/if_pfsync.c
3286
tdb_unref(tdb);
sys/net/if_pfsync.h
329
void pfsync_update_tdb(struct tdb *, int);
sys/net/if_pfsync.h
330
void pfsync_delete_tdb(struct tdb *);
sys/net/if_sec.c
108
static struct tdb *sec_tdbh[256] __aligned(CACHELINESIZE);
sys/net/if_sec.c
110
static struct tdb *sec_tdb_gc_list;
sys/net/if_sec.c
371
struct tdb *tdb;
sys/net/if_sec.c
379
tdb = sec_tdb_get(sc->sc_unit);
sys/net/if_sec.c
380
if (tdb == NULL)
sys/net/if_sec.c
403
error = ipsp_process_packet(m, tdb,
sys/net/if_sec.c
411
tdb_unref(tdb);
sys/net/if_sec.c
505
sec_tdb_valid(struct tdb *tdb)
sys/net/if_sec.c
507
KASSERT(ISSET(tdb->tdb_flags, TDBF_IFACE));
sys/net/if_sec.c
509
if (!ISSET(tdb->tdb_flags, TDBF_TUNNELING))
sys/net/if_sec.c
511
if (ISSET(tdb->tdb_flags, TDBF_INVALID))
sys/net/if_sec.c
514
if (tdb->tdb_iface_dir != IPSP_DIRECTION_OUT)
sys/net/if_sec.c
526
sec_tdb_insert(struct tdb *tdb)
sys/net/if_sec.c
529
struct tdb **tdbp;
sys/net/if_sec.c
530
struct tdb *ltdb;
sys/net/if_sec.c
532
if (!sec_tdb_valid(tdb))
sys/net/if_sec.c
535
idx = stoeplitz_h32(tdb->tdb_iface) % nitems(sec_tdbh);
sys/net/if_sec.c
538
tdb_ref(tdb); /* take a ref for the SMR pointer */
sys/net/if_sec.c
542
SMR_PTR_SET_LOCKED(&tdb->tdb_dnext, ltdb);
sys/net/if_sec.c
543
SMR_PTR_SET_LOCKED(tdbp, tdb);
sys/net/if_sec.c
547
sec_tdb_remove(struct tdb *tdb)
sys/net/if_sec.c
549
struct tdb **tdbp;
sys/net/if_sec.c
550
struct tdb *ltdb;
sys/net/if_sec.c
553
if (!sec_tdb_valid(tdb))
sys/net/if_sec.c
556
idx = stoeplitz_h32(tdb->tdb_iface) % nitems(sec_tdbh);
sys/net/if_sec.c
560
if (ltdb == tdb) {
sys/net/if_sec.c
562
ltdb = SMR_PTR_GET_LOCKED(&tdb->tdb_dnext);
sys/net/if_sec.c
568
tdb->tdb_dnext = sec_tdb_gc_list;
sys/net/if_sec.c
569
sec_tdb_gc_list = tdb;
sys/net/if_sec.c
579
panic("%s: unable to find tdb %p", __func__, tdb);
sys/net/if_sec.c
585
struct tdb *tdb, *ntdb;
sys/net/if_sec.c
588
tdb = sec_tdb_gc_list;
sys/net/if_sec.c
592
if (tdb == NULL)
sys/net/if_sec.c
599
ntdb = tdb->tdb_dnext;
sys/net/if_sec.c
600
tdb_unref(tdb);
sys/net/if_sec.c
601
tdb = ntdb;
sys/net/if_sec.c
602
} while (tdb != NULL);
sys/net/if_sec.c
606
struct tdb *
sys/net/if_sec.c
610
struct tdb **tdbp;
sys/net/if_sec.c
611
struct tdb *tdb;
sys/net/if_sec.c
617
while ((tdb = SMR_PTR_GET(tdbp)) != NULL) {
sys/net/if_sec.c
618
KASSERT(ISSET(tdb->tdb_flags, TDBF_IFACE));
sys/net/if_sec.c
619
if (!ISSET(tdb->tdb_flags, TDBF_DELETED) &&
sys/net/if_sec.c
620
tdb->tdb_iface == unit) {
sys/net/if_sec.c
621
tdb_ref(tdb);
sys/net/if_sec.c
625
tdbp = &tdb->tdb_dnext;
sys/net/if_sec.c
629
return (tdb);
sys/net/if_sec.c
99
static struct tdb *
sys/net/if_sec.h
24
struct tdb;
sys/net/if_sec.h
39
void sec_tdb_insert(struct tdb *);
sys/net/if_sec.h
40
void sec_tdb_remove(struct tdb *);
sys/net/pfkeyv2.c
1001
tdb->tdb_rdomain);
sys/net/pfkeyv2.c
1016
pfkeyv2_sa_flush(struct tdb *tdb, void *satype_vp, int last)
sys/net/pfkeyv2.c
1019
tdb->tdb_satype == *((u_int8_t *) satype_vp))
sys/net/pfkeyv2.c
1020
tdb_delete(tdb);
sys/net/pfkeyv2.c
1111
struct tdb *sa1 = NULL, *sa2 = NULL;
sys/net/pfkeyv2.c
1286
struct tdb *newsa;
sys/net/pfkeyv2.c
1466
struct tdb *newsa;
sys/net/pfkeyv2.c
1735
struct tdb *tdb1, *tdb2, *tdb3;
sys/net/pfkeyv2.c
180
int pfkeyv2_sa_flush(struct tdb *, void *, int);
sys/net/pfkeyv2.c
2366
pfkeyv2_expire(struct tdb *tdb, u_int16_t type)
sys/net/pfkeyv2.c
2375
switch (tdb->tdb_sproto) {
sys/net/pfkeyv2.c
2392
sizeof(struct sadb_address) + PADUP(tdb->tdb_src.sa.sa_len) +
sys/net/pfkeyv2.c
2393
sizeof(struct sadb_address) + PADUP(tdb->tdb_dst.sa.sa_len);
sys/net/pfkeyv2.c
2410
smsg->sadb_msg_satype = tdb->tdb_satype;
sys/net/pfkeyv2.c
2418
export_sa(&p, tdb);
sys/net/pfkeyv2.c
2421
export_lifetime(&p, tdb, PFKEYV2_LIFETIME_CURRENT);
sys/net/pfkeyv2.c
2424
export_lifetime(&p, tdb, type == SADB_EXT_LIFETIME_SOFT ?
sys/net/pfkeyv2.c
2428
export_address(&p, &tdb->tdb_src.sa);
sys/net/pfkeyv2.c
2431
export_address(&p, &tdb->tdb_dst.sa);
sys/net/pfkeyv2.c
2434
NULL, 0, 0, tdb->tdb_rdomain)) != 0)
sys/net/pfkeyv2.c
2437
if (tdb->tdb_rdomain != tdb->tdb_rdomain_post)
sys/net/pfkeyv2.c
2440
tdb->tdb_rdomain_post)) != 0)
sys/net/pfkeyv2.c
2462
pfkeyv2_sysctl_walker(struct tdb *tdb, void *arg, int last)
sys/net/pfkeyv2.c
2470
w->w_satype != tdb->tdb_satype)
sys/net/pfkeyv2.c
2478
if ((error = pfkeyv2_get(tdb, headers, &buffer, &buflen,
sys/net/pfkeyv2.c
2488
msg.sadb_msg_satype = tdb->tdb_satype;
sys/net/pfkeyv2.c
2505
if ((error = pfkeyv2_get(tdb, NULL, NULL, &buflen, NULL)) != 0)
sys/net/pfkeyv2.c
760
pfkeyv2_get(struct tdb *tdb, void **headers, void **buffer, int *lenp,
sys/net/pfkeyv2.c
772
if (tdb->tdb_soft_allocations || tdb->tdb_soft_bytes ||
sys/net/pfkeyv2.c
773
tdb->tdb_soft_timeout || tdb->tdb_soft_first_use)
sys/net/pfkeyv2.c
776
if (tdb->tdb_exp_allocations || tdb->tdb_exp_bytes ||
sys/net/pfkeyv2.c
777
tdb->tdb_exp_timeout || tdb->tdb_exp_first_use)
sys/net/pfkeyv2.c
780
if (tdb->tdb_last_used)
sys/net/pfkeyv2.c
783
i += sizeof(struct sadb_address) + PADUP(tdb->tdb_src.sa.sa_len);
sys/net/pfkeyv2.c
784
i += sizeof(struct sadb_address) + PADUP(tdb->tdb_dst.sa.sa_len);
sys/net/pfkeyv2.c
786
if (tdb->tdb_ids) {
sys/net/pfkeyv2.c
787
i += sizeof(struct sadb_ident) + PADUP(tdb->tdb_ids->id_local->len);
sys/net/pfkeyv2.c
788
i += sizeof(struct sadb_ident) + PADUP(tdb->tdb_ids->id_remote->len);
sys/net/pfkeyv2.c
791
if (tdb->tdb_amxkey)
sys/net/pfkeyv2.c
792
i += sizeof(struct sadb_key) + PADUP(tdb->tdb_amxkeylen);
sys/net/pfkeyv2.c
794
if (tdb->tdb_emxkey)
sys/net/pfkeyv2.c
795
i += sizeof(struct sadb_key) + PADUP(tdb->tdb_emxkeylen);
sys/net/pfkeyv2.c
797
if (tdb->tdb_filter.sen_type) {
sys/net/pfkeyv2.c
801
switch (tdb->tdb_filter.sen_type) {
sys/net/pfkeyv2.c
818
if (tdb->tdb_onext) {
sys/net/pfkeyv2.c
821
PADUP(tdb->tdb_onext->tdb_dst.sa.sa_len);
sys/net/pfkeyv2.c
825
if (tdb->tdb_udpencap_port)
sys/net/pfkeyv2.c
830
if (tdb->tdb_mtu > 0)
sys/net/pfkeyv2.c
833
if (tdb->tdb_rdomain != tdb->tdb_rdomain_post)
sys/net/pfkeyv2.c
837
if (tdb->tdb_tag)
sys/net/pfkeyv2.c
839
if (tdb->tdb_tap)
sys/net/pfkeyv2.c
843
if (ISSET(tdb->tdb_flags, TDBF_IFACE))
sys/net/pfkeyv2.c
862
export_sa(&p, tdb); /* Export SA information (mostly flags) */
sys/net/pfkeyv2.c
866
export_lifetime(&p, tdb, PFKEYV2_LIFETIME_CURRENT);
sys/net/pfkeyv2.c
868
if (tdb->tdb_soft_allocations || tdb->tdb_soft_bytes ||
sys/net/pfkeyv2.c
869
tdb->tdb_soft_first_use || tdb->tdb_soft_timeout) {
sys/net/pfkeyv2.c
871
export_lifetime(&p, tdb, PFKEYV2_LIFETIME_SOFT);
sys/net/pfkeyv2.c
874
if (tdb->tdb_exp_allocations || tdb->tdb_exp_bytes ||
sys/net/pfkeyv2.c
875
tdb->tdb_exp_first_use || tdb->tdb_exp_timeout) {
sys/net/pfkeyv2.c
877
export_lifetime(&p, tdb, PFKEYV2_LIFETIME_HARD);
sys/net/pfkeyv2.c
880
if (tdb->tdb_last_used) {
sys/net/pfkeyv2.c
882
export_lifetime(&p, tdb, PFKEYV2_LIFETIME_LASTUSE);
sys/net/pfkeyv2.c
887
export_address(&p, &tdb->tdb_src.sa);
sys/net/pfkeyv2.c
891
export_address(&p, &tdb->tdb_dst.sa);
sys/net/pfkeyv2.c
894
if (tdb->tdb_ids)
sys/net/pfkeyv2.c
895
export_identities(&p, tdb->tdb_ids, tdb->tdb_ids_swapped, headers);
sys/net/pfkeyv2.c
898
if (tdb->tdb_amxkey) {
sys/net/pfkeyv2.c
900
export_key(&p, tdb, PFKEYV2_AUTHENTICATION_KEY);
sys/net/pfkeyv2.c
904
if (tdb->tdb_emxkey) {
sys/net/pfkeyv2.c
906
export_key(&p, tdb, PFKEYV2_ENCRYPTION_KEY);
sys/net/pfkeyv2.c
910
if (tdb->tdb_filter.sen_type)
sys/net/pfkeyv2.c
911
export_flow(&p, IPSP_IPSEC_USE, &tdb->tdb_filter,
sys/net/pfkeyv2.c
912
&tdb->tdb_filtermask, headers);
sys/net/pfkeyv2.c
914
if (tdb->tdb_onext) {
sys/net/pfkeyv2.c
916
export_sa(&p, tdb->tdb_onext);
sys/net/pfkeyv2.c
918
export_address(&p, &tdb->tdb_onext->tdb_dst.sa);
sys/net/pfkeyv2.c
920
export_satype(&p, tdb->tdb_onext);
sys/net/pfkeyv2.c
924
if (tdb->tdb_udpencap_port) {
sys/net/pfkeyv2.c
926
export_udpencap(&p, tdb);
sys/net/pfkeyv2.c
930
export_replay(&p, tdb);
sys/net/pfkeyv2.c
932
if (tdb->tdb_mtu > 0) {
sys/net/pfkeyv2.c
934
export_mtu(&p, tdb);
sys/net/pfkeyv2.c
938
if (tdb->tdb_rdomain != tdb->tdb_rdomain_post) {
sys/net/pfkeyv2.c
940
export_rdomain(&p, tdb);
sys/net/pfkeyv2.c
945
if (tdb->tdb_tag) {
sys/net/pfkeyv2.c
947
export_tag(&p, tdb);
sys/net/pfkeyv2.c
951
if (tdb->tdb_tap) {
sys/net/pfkeyv2.c
953
export_tap(&p, tdb);
sys/net/pfkeyv2.c
958
if (ISSET(tdb->tdb_flags, TDBF_IFACE)) {
sys/net/pfkeyv2.c
960
export_iface(&p, tdb);
sys/net/pfkeyv2.c
964
export_counter(&p, tdb);
sys/net/pfkeyv2.c
978
pfkeyv2_dump_walker(struct tdb *tdb, void *state, int last)
sys/net/pfkeyv2.c
987
(tdb->tdb_satype == dump_state->sadb_msg->sadb_msg_satype)) {
sys/net/pfkeyv2.c
992
if ((rval = pfkeyv2_get(tdb, headers, &buffer, &buflen, NULL)) != 0)
sys/net/pfkeyv2.h
410
struct tdb;
sys/net/pfkeyv2.h
418
int pfkeyv2_expire(struct tdb *, u_int16_t);
sys/net/pfkeyv2.h
422
int pfkeyv2_get(struct tdb *, void **, void **, int *, int *);
sys/net/pfkeyv2.h
427
int pfkeyv2_dump_walker(struct tdb *, void *, int);
sys/net/pfkeyv2.h
430
int pfkeyv2_sysctl_walker(struct tdb *, void *, int);
sys/net/pfkeyv2.h
436
void export_lifetime(void **, struct tdb *, int);
sys/net/pfkeyv2.h
437
void export_sa(void **, struct tdb *);
sys/net/pfkeyv2.h
440
void export_key(void **, struct tdb *, int);
sys/net/pfkeyv2.h
441
void export_udpencap(void **, struct tdb *);
sys/net/pfkeyv2.h
442
void export_tag(void **, struct tdb *);
sys/net/pfkeyv2.h
443
void export_replay(void **, struct tdb *);
sys/net/pfkeyv2.h
444
void export_rdomain(void **, struct tdb *);
sys/net/pfkeyv2.h
445
void export_mtu(void **, struct tdb *);
sys/net/pfkeyv2.h
446
void export_tap(void **, struct tdb *);
sys/net/pfkeyv2.h
447
void export_satype(void **, struct tdb *);
sys/net/pfkeyv2.h
448
void export_counter(void **, struct tdb *);
sys/net/pfkeyv2.h
449
void export_iface(void **, struct tdb *);
sys/net/pfkeyv2.h
455
void import_lifetime(struct tdb *, struct sadb_lifetime *, int);
sys/net/pfkeyv2.h
456
void import_sa(struct tdb *, struct sadb_sa *, struct ipsecinit *);
sys/net/pfkeyv2.h
460
void import_udpencap(struct tdb *, struct sadb_x_udpencap *);
sys/net/pfkeyv2.h
461
void import_tag(struct tdb *, struct sadb_x_tag *);
sys/net/pfkeyv2.h
462
void import_rdomain(struct tdb *, struct sadb_x_rdomain *);
sys/net/pfkeyv2.h
463
void import_tap(struct tdb *, struct sadb_x_tap *);
sys/net/pfkeyv2.h
464
void import_iface(struct tdb *, struct sadb_x_iface *);
sys/net/pfkeyv2_convert.c
118
import_sa(struct tdb *tdb, struct sadb_sa *sadb_sa, struct ipsecinit *ii)
sys/net/pfkeyv2_convert.c
123
mtx_enter(&tdb->tdb_mtx);
sys/net/pfkeyv2_convert.c
129
tdb->tdb_spi = sadb_sa->sadb_sa_spi;
sys/net/pfkeyv2_convert.c
130
tdb->tdb_wnd = sadb_sa->sadb_sa_replay;
sys/net/pfkeyv2_convert.c
133
tdb->tdb_flags |= TDBF_PFS;
sys/net/pfkeyv2_convert.c
136
tdb->tdb_flags |= TDBF_TUNNELING;
sys/net/pfkeyv2_convert.c
139
tdb->tdb_flags |= TDBF_UDPENCAP;
sys/net/pfkeyv2_convert.c
142
tdb->tdb_flags |= TDBF_ESN;
sys/net/pfkeyv2_convert.c
146
tdb->tdb_flags |= TDBF_INVALID;
sys/net/pfkeyv2_convert.c
147
mtx_leave(&tdb->tdb_mtx);
sys/net/pfkeyv2_convert.c
154
export_sa(void **p, struct tdb *tdb)
sys/net/pfkeyv2_convert.c
160
sadb_sa->sadb_sa_spi = tdb->tdb_spi;
sys/net/pfkeyv2_convert.c
161
sadb_sa->sadb_sa_replay = tdb->tdb_wnd;
sys/net/pfkeyv2_convert.c
163
if (tdb->tdb_flags & TDBF_INVALID)
sys/net/pfkeyv2_convert.c
168
if (tdb->tdb_sproto == IPPROTO_IPCOMP &&
sys/net/pfkeyv2_convert.c
169
tdb->tdb_compalgxform != NULL) {
sys/net/pfkeyv2_convert.c
170
switch (tdb->tdb_compalgxform->type) {
sys/net/pfkeyv2_convert.c
177
if (tdb->tdb_authalgxform) {
sys/net/pfkeyv2_convert.c
178
switch (tdb->tdb_authalgxform->type) {
sys/net/pfkeyv2_convert.c
221
if (tdb->tdb_encalgxform) {
sys/net/pfkeyv2_convert.c
222
switch (tdb->tdb_encalgxform->type) {
sys/net/pfkeyv2_convert.c
261
if (tdb->tdb_flags & TDBF_PFS)
sys/net/pfkeyv2_convert.c
264
if (tdb->tdb_flags & TDBF_TUNNELING)
sys/net/pfkeyv2_convert.c
267
if (tdb->tdb_flags & TDBF_UDPENCAP)
sys/net/pfkeyv2_convert.c
270
if (tdb->tdb_flags & TDBF_ESN)
sys/net/pfkeyv2_convert.c
280
import_lifetime(struct tdb *tdb, struct sadb_lifetime *sadb_lifetime, int type)
sys/net/pfkeyv2_convert.c
285
mtx_enter(&tdb->tdb_mtx);
sys/net/pfkeyv2_convert.c
288
if ((tdb->tdb_exp_allocations =
sys/net/pfkeyv2_convert.c
290
tdb->tdb_flags |= TDBF_ALLOCATIONS;
sys/net/pfkeyv2_convert.c
292
tdb->tdb_flags &= ~TDBF_ALLOCATIONS;
sys/net/pfkeyv2_convert.c
294
if ((tdb->tdb_exp_bytes =
sys/net/pfkeyv2_convert.c
296
tdb->tdb_flags |= TDBF_BYTES;
sys/net/pfkeyv2_convert.c
298
tdb->tdb_flags &= ~TDBF_BYTES;
sys/net/pfkeyv2_convert.c
300
if ((tdb->tdb_exp_timeout =
sys/net/pfkeyv2_convert.c
302
tdb->tdb_flags |= TDBF_TIMER;
sys/net/pfkeyv2_convert.c
304
tdb->tdb_flags &= ~TDBF_TIMER;
sys/net/pfkeyv2_convert.c
306
if ((tdb->tdb_exp_first_use =
sys/net/pfkeyv2_convert.c
308
tdb->tdb_flags |= TDBF_FIRSTUSE;
sys/net/pfkeyv2_convert.c
310
tdb->tdb_flags &= ~TDBF_FIRSTUSE;
sys/net/pfkeyv2_convert.c
314
if ((tdb->tdb_soft_allocations =
sys/net/pfkeyv2_convert.c
316
tdb->tdb_flags |= TDBF_SOFT_ALLOCATIONS;
sys/net/pfkeyv2_convert.c
318
tdb->tdb_flags &= ~TDBF_SOFT_ALLOCATIONS;
sys/net/pfkeyv2_convert.c
320
if ((tdb->tdb_soft_bytes =
sys/net/pfkeyv2_convert.c
322
tdb->tdb_flags |= TDBF_SOFT_BYTES;
sys/net/pfkeyv2_convert.c
324
tdb->tdb_flags &= ~TDBF_SOFT_BYTES;
sys/net/pfkeyv2_convert.c
326
if ((tdb->tdb_soft_timeout =
sys/net/pfkeyv2_convert.c
328
tdb->tdb_flags |= TDBF_SOFT_TIMER;
sys/net/pfkeyv2_convert.c
330
tdb->tdb_flags &= ~TDBF_SOFT_TIMER;
sys/net/pfkeyv2_convert.c
332
if ((tdb->tdb_soft_first_use =
sys/net/pfkeyv2_convert.c
334
tdb->tdb_flags |= TDBF_SOFT_FIRSTUSE;
sys/net/pfkeyv2_convert.c
336
tdb->tdb_flags &= ~TDBF_SOFT_FIRSTUSE;
sys/net/pfkeyv2_convert.c
340
tdb->tdb_cur_allocations =
sys/net/pfkeyv2_convert.c
342
tdb->tdb_cur_bytes = sadb_lifetime->sadb_lifetime_bytes;
sys/net/pfkeyv2_convert.c
343
tdb->tdb_established = sadb_lifetime->sadb_lifetime_addtime;
sys/net/pfkeyv2_convert.c
344
tdb->tdb_first_use = sadb_lifetime->sadb_lifetime_usetime;
sys/net/pfkeyv2_convert.c
346
mtx_leave(&tdb->tdb_mtx);
sys/net/pfkeyv2_convert.c
353
export_lifetime(void **p, struct tdb *tdb, int type)
sys/net/pfkeyv2_convert.c
362
if (tdb->tdb_flags & TDBF_ALLOCATIONS)
sys/net/pfkeyv2_convert.c
364
tdb->tdb_exp_allocations;
sys/net/pfkeyv2_convert.c
366
if (tdb->tdb_flags & TDBF_BYTES)
sys/net/pfkeyv2_convert.c
368
tdb->tdb_exp_bytes;
sys/net/pfkeyv2_convert.c
370
if (tdb->tdb_flags & TDBF_TIMER)
sys/net/pfkeyv2_convert.c
372
tdb->tdb_exp_timeout;
sys/net/pfkeyv2_convert.c
374
if (tdb->tdb_flags & TDBF_FIRSTUSE)
sys/net/pfkeyv2_convert.c
376
tdb->tdb_exp_first_use;
sys/net/pfkeyv2_convert.c
380
if (tdb->tdb_flags & TDBF_SOFT_ALLOCATIONS)
sys/net/pfkeyv2_convert.c
382
tdb->tdb_soft_allocations;
sys/net/pfkeyv2_convert.c
384
if (tdb->tdb_flags & TDBF_SOFT_BYTES)
sys/net/pfkeyv2_convert.c
386
tdb->tdb_soft_bytes;
sys/net/pfkeyv2_convert.c
388
if (tdb->tdb_flags & TDBF_SOFT_TIMER)
sys/net/pfkeyv2_convert.c
390
tdb->tdb_soft_timeout;
sys/net/pfkeyv2_convert.c
392
if (tdb->tdb_flags & TDBF_SOFT_FIRSTUSE)
sys/net/pfkeyv2_convert.c
394
tdb->tdb_soft_first_use;
sys/net/pfkeyv2_convert.c
399
tdb->tdb_cur_allocations;
sys/net/pfkeyv2_convert.c
400
sadb_lifetime->sadb_lifetime_bytes = tdb->tdb_cur_bytes;
sys/net/pfkeyv2_convert.c
401
sadb_lifetime->sadb_lifetime_addtime = tdb->tdb_established;
sys/net/pfkeyv2_convert.c
402
sadb_lifetime->sadb_lifetime_usetime = tdb->tdb_first_use;
sys/net/pfkeyv2_convert.c
409
sadb_lifetime->sadb_lifetime_usetime = tdb->tdb_last_used;
sys/net/pfkeyv2_convert.c
808
export_key(void **p, struct tdb *tdb, int type)
sys/net/pfkeyv2_convert.c
814
PADUP(tdb->tdb_emxkeylen)) /
sys/net/pfkeyv2_convert.c
816
sadb_key->sadb_key_bits = tdb->tdb_emxkeylen * 8;
sys/net/pfkeyv2_convert.c
818
bcopy(tdb->tdb_emxkey, *p, tdb->tdb_emxkeylen);
sys/net/pfkeyv2_convert.c
819
*p += PADUP(tdb->tdb_emxkeylen);
sys/net/pfkeyv2_convert.c
822
PADUP(tdb->tdb_amxkeylen)) /
sys/net/pfkeyv2_convert.c
824
sadb_key->sadb_key_bits = tdb->tdb_amxkeylen * 8;
sys/net/pfkeyv2_convert.c
826
bcopy(tdb->tdb_amxkey, *p, tdb->tdb_amxkeylen);
sys/net/pfkeyv2_convert.c
827
*p += PADUP(tdb->tdb_amxkeylen);
sys/net/pfkeyv2_convert.c
833
import_udpencap(struct tdb *tdb, struct sadb_x_udpencap *sadb_udpencap)
sys/net/pfkeyv2_convert.c
836
tdb->tdb_udpencap_port = sadb_udpencap->sadb_x_udpencap_port;
sys/net/pfkeyv2_convert.c
840
export_udpencap(void **p, struct tdb *tdb)
sys/net/pfkeyv2_convert.c
844
sadb_udpencap->sadb_x_udpencap_port = tdb->tdb_udpencap_port;
sys/net/pfkeyv2_convert.c
853
export_replay(void **p, struct tdb *tdb)
sys/net/pfkeyv2_convert.c
857
sreplay->sadb_x_replay_count = tdb->tdb_rpl;
sys/net/pfkeyv2_convert.c
865
export_mtu(void **p, struct tdb *tdb)
sys/net/pfkeyv2_convert.c
869
smtu->sadb_x_mtu_mtu = tdb->tdb_mtu;
sys/net/pfkeyv2_convert.c
877
import_rdomain(struct tdb *tdb, struct sadb_x_rdomain *srdomain)
sys/net/pfkeyv2_convert.c
880
tdb->tdb_rdomain_post = srdomain->sadb_x_rdomain_dom2;
sys/net/pfkeyv2_convert.c
885
export_rdomain(void **p, struct tdb *tdb)
sys/net/pfkeyv2_convert.c
889
srdomain->sadb_x_rdomain_dom1 = tdb->tdb_rdomain;
sys/net/pfkeyv2_convert.c
890
srdomain->sadb_x_rdomain_dom2 = tdb->tdb_rdomain_post;
sys/net/pfkeyv2_convert.c
899
import_tag(struct tdb *tdb, struct sadb_x_tag *stag)
sys/net/pfkeyv2_convert.c
905
tdb->tdb_tag = pf_tagname2tag(s, 1);
sys/net/pfkeyv2_convert.c
911
export_tag(void **p, struct tdb *tdb)
sys/net/pfkeyv2_convert.c
916
pf_tag2tagname(tdb->tdb_tag, s);
sys/net/pfkeyv2_convert.c
926
import_tap(struct tdb *tdb, struct sadb_x_tap *stap)
sys/net/pfkeyv2_convert.c
929
tdb->tdb_tap = stap->sadb_x_tap_unit;
sys/net/pfkeyv2_convert.c
934
export_tap(void **p, struct tdb *tdb)
sys/net/pfkeyv2_convert.c
938
stag->sadb_x_tap_unit = tdb->tdb_tap;
sys/net/pfkeyv2_convert.c
946
import_iface(struct tdb *tdb, struct sadb_x_iface *siface)
sys/net/pfkeyv2_convert.c
949
SET(tdb->tdb_flags, TDBF_IFACE);
sys/net/pfkeyv2_convert.c
950
tdb->tdb_iface = siface->sadb_x_iface_unit;
sys/net/pfkeyv2_convert.c
951
tdb->tdb_iface_dir = siface->sadb_x_iface_direction;
sys/net/pfkeyv2_convert.c
957
export_iface(void **p, struct tdb *tdb)
sys/net/pfkeyv2_convert.c
962
siface->sadb_x_iface_unit = tdb->tdb_iface;
sys/net/pfkeyv2_convert.c
963
siface->sadb_x_iface_direction = tdb->tdb_iface_dir;
sys/net/pfkeyv2_convert.c
969
export_satype(void **p, struct tdb *tdb)
sys/net/pfkeyv2_convert.c
975
sab->sadb_protocol_proto = tdb->tdb_satype;
sys/net/pfkeyv2_convert.c
980
export_counter(void **p, struct tdb *tdb)
sys/net/pfkeyv2_convert.c
985
counters_read(tdb->tdb_counters, counters, tdb_ncounters, NULL);
sys/netinet/ip_ah.c
101
ah_init(struct tdb *tdbp, const struct xformsw *xsp, struct ipsecinit *ii)
sys/netinet/ip_ah.c
1014
ah->ah_spi = tdb->tdb_spi;
sys/netinet/ip_ah.c
1019
replay64 = tdb->tdb_rpl++;
sys/netinet/ip_ah.c
1022
pfsync_update_tdb(tdb,1);
sys/netinet/ip_ah.c
1042
crda->crd_key = tdb->tdb_amxkey;
sys/netinet/ip_ah.c
1043
crda->crd_klen = tdb->tdb_amxkeylen * 8;
sys/netinet/ip_ah.c
1045
if ((tdb->tdb_wnd > 0) && (tdb->tdb_flags & TDBF_ESN)) {
sys/netinet/ip_ah.c
1069
switch (tdb->tdb_dst.sa.sa_family) {
sys/netinet/ip_ah.c
1097
error = ah_massage_headers(&m, tdb->tdb_dst.sa.sa_family, skip,
sys/netinet/ip_ah.c
1109
crp->crp_sid = tdb->tdb_cryptoid;
sys/netinet/ip_ah.c
1113
if (tdb->tdb_cryptoid != 0)
sys/netinet/ip_ah.c
1114
tdb->tdb_cryptoid = crp->crp_sid;
sys/netinet/ip_ah.c
1135
error = ipsp_process_done(m, tdb);
sys/netinet/ip_ah.c
178
ah_zeroize(struct tdb *tdbp)
sys/netinet/ip_ah.c
529
ah_input(struct mbuf **mp, struct tdb *tdb, int skip, int protoff,
sys/netinet/ip_ah.c
532
const struct auth_hash *ahx = tdb->tdb_authalgxform;
sys/netinet/ip_ah.c
553
if (tdb->tdb_wnd > 0) {
sys/netinet/ip_ah.c
558
switch (checkreplaywindow(tdb, tdb->tdb_rpl, btsx, &esn, 0)) {
sys/netinet/ip_ah.c
563
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ip_ah.c
564
ntohl(tdb->tdb_spi));
sys/netinet/ip_ah.c
569
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ip_ah.c
570
ntohl(tdb->tdb_spi));
sys/netinet/ip_ah.c
575
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ip_ah.c
576
ntohl(tdb->tdb_spi));
sys/netinet/ip_ah.c
582
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ip_ah.c
583
ntohl(tdb->tdb_spi));
sys/netinet/ip_ah.c
593
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ip_ah.c
594
ntohl(tdb->tdb_spi));
sys/netinet/ip_ah.c
602
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ip_ah.c
603
ntohl(tdb->tdb_spi));
sys/netinet/ip_ah.c
610
tdb->tdb_cur_bytes += ibytes;
sys/netinet/ip_ah.c
611
tdbstat_add(tdb, tdb_ibytes, ibytes);
sys/netinet/ip_ah.c
615
if ((tdb->tdb_flags & TDBF_BYTES) &&
sys/netinet/ip_ah.c
616
(tdb->tdb_cur_bytes >= tdb->tdb_exp_bytes)) {
sys/netinet/ip_ah.c
618
pfkeyv2_expire(tdb, SADB_EXT_LIFETIME_HARD);
sys/netinet/ip_ah.c
619
tdb_delete(tdb);
sys/netinet/ip_ah.c
624
mtx_enter(&tdb->tdb_mtx);
sys/netinet/ip_ah.c
625
if ((tdb->tdb_flags & TDBF_SOFT_BYTES) &&
sys/netinet/ip_ah.c
626
(tdb->tdb_cur_bytes >= tdb->tdb_soft_bytes)) {
sys/netinet/ip_ah.c
627
tdb->tdb_flags &= ~TDBF_SOFT_BYTES; /* Turn off checking */
sys/netinet/ip_ah.c
628
mtx_leave(&tdb->tdb_mtx);
sys/netinet/ip_ah.c
630
pfkeyv2_expire(tdb, SADB_EXT_LIFETIME_SOFT);
sys/netinet/ip_ah.c
632
mtx_leave(&tdb->tdb_mtx);
sys/netinet/ip_ah.c
650
crda->crd_key = tdb->tdb_amxkey;
sys/netinet/ip_ah.c
651
crda->crd_klen = tdb->tdb_amxkeylen * 8;
sys/netinet/ip_ah.c
653
if ((tdb->tdb_wnd > 0) && (tdb->tdb_flags & TDBF_ESN)) {
sys/netinet/ip_ah.c
677
error = ah_massage_headers(mp, tdb->tdb_dst.sa.sa_family, skip,
sys/netinet/ip_ah.c
688
crp->crp_sid = tdb->tdb_cryptoid;
sys/netinet/ip_ah.c
692
if (tdb->tdb_cryptoid != 0)
sys/netinet/ip_ah.c
693
tdb->tdb_cryptoid = crp->crp_sid;
sys/netinet/ip_ah.c
711
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ip_ah.c
712
ntohl(tdb->tdb_spi));
sys/netinet/ip_ah.c
727
if (tdb->tdb_wnd > 0) {
sys/netinet/ip_ah.c
732
switch (checkreplaywindow(tdb, tdb->tdb_rpl, btsx, &esn, 1)) {
sys/netinet/ip_ah.c
735
pfsync_update_tdb(tdb,0);
sys/netinet/ip_ah.c
740
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ip_ah.c
741
ntohl(tdb->tdb_spi));
sys/netinet/ip_ah.c
746
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ip_ah.c
747
ntohl(tdb->tdb_spi));
sys/netinet/ip_ah.c
752
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ip_ah.c
753
ntohl(tdb->tdb_spi));
sys/netinet/ip_ah.c
759
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ip_ah.c
760
ntohl(tdb->tdb_spi));
sys/netinet/ip_ah.c
770
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ip_ah.c
771
ntohl(tdb->tdb_spi));
sys/netinet/ip_ah.c
845
return ipsec_common_input_cb(mp, tdb, skip, protoff, ns);
sys/netinet/ip_ah.c
858
ah_output(struct mbuf *m, struct tdb *tdb, int skip, int protoff)
sys/netinet/ip_ah.c
860
const struct auth_hash *ahx = tdb->tdb_authalgxform;
sys/netinet/ip_ah.c
876
if ((encif = enc_getif(tdb->tdb_rdomain, tdb->tdb_tap)) != NULL) {
sys/netinet/ip_ah.c
882
.af = htonl(tdb->tdb_dst.sa.sa_family),
sys/netinet/ip_ah.c
883
.spi = tdb->tdb_spi,
sys/netinet/ip_ah.c
899
if ((tdb->tdb_rpl == 0) && (tdb->tdb_wnd > 0)) {
sys/netinet/ip_ah.c
901
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ip_ah.c
902
ntohl(tdb->tdb_spi));
sys/netinet/ip_ah.c
910
switch (tdb->tdb_dst.sa.sa_family) {
sys/netinet/ip_ah.c
915
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ip_ah.c
916
ntohl(tdb->tdb_spi));
sys/netinet/ip_ah.c
928
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ip_ah.c
929
ntohl(tdb->tdb_spi));
sys/netinet/ip_ah.c
939
tdb->tdb_dst.sa.sa_family,
sys/netinet/ip_ah.c
940
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ip_ah.c
941
ntohl(tdb->tdb_spi));
sys/netinet/ip_ah.c
948
tdb->tdb_cur_bytes += m->m_pkthdr.len - skip;
sys/netinet/ip_ah.c
952
if ((tdb->tdb_flags & TDBF_BYTES) &&
sys/netinet/ip_ah.c
953
(tdb->tdb_cur_bytes >= tdb->tdb_exp_bytes)) {
sys/netinet/ip_ah.c
955
pfkeyv2_expire(tdb, SADB_EXT_LIFETIME_HARD);
sys/netinet/ip_ah.c
956
tdb_delete(tdb);
sys/netinet/ip_ah.c
962
mtx_enter(&tdb->tdb_mtx);
sys/netinet/ip_ah.c
963
if ((tdb->tdb_flags & TDBF_SOFT_BYTES) &&
sys/netinet/ip_ah.c
964
(tdb->tdb_cur_bytes >= tdb->tdb_soft_bytes)) {
sys/netinet/ip_ah.c
965
tdb->tdb_flags &= ~TDBF_SOFT_BYTES; /* Turn off checking */
sys/netinet/ip_ah.c
966
mtx_leave(&tdb->tdb_mtx);
sys/netinet/ip_ah.c
968
pfkeyv2_expire(tdb, SADB_EXT_LIFETIME_SOFT);
sys/netinet/ip_ah.c
970
mtx_leave(&tdb->tdb_mtx);
sys/netinet/ip_ah.c
997
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ip_ah.c
998
ntohl(tdb->tdb_spi));
sys/netinet/ip_esp.c
1016
memset(tdb->tdb_seen, 0,
sys/netinet/ip_esp.c
1017
sizeof(tdb->tdb_seen));
sys/netinet/ip_esp.c
1023
tdb->tdb_seen[i] = 0;
sys/netinet/ip_esp.c
1026
tdb->tdb_seen[idx] |= packet;
sys/netinet/ip_esp.c
1027
tdb->tdb_rpl = ((u_int64_t)*seqh << 32) | seq;
sys/netinet/ip_esp.c
1032
if (tdb->tdb_seen[idx] & packet)
sys/netinet/ip_esp.c
1035
tdb->tdb_seen[idx] |= packet;
sys/netinet/ip_esp.c
1051
if (tdb->tdb_seen[idx] & packet)
sys/netinet/ip_esp.c
1055
tdb->tdb_seen[idx] |= packet;
sys/netinet/ip_esp.c
1068
memset(tdb->tdb_seen, 0, sizeof(tdb->tdb_seen));
sys/netinet/ip_esp.c
1074
tdb->tdb_seen[i] = 0;
sys/netinet/ip_esp.c
1077
tdb->tdb_seen[idx] |= packet;
sys/netinet/ip_esp.c
1078
tdb->tdb_rpl = ((u_int64_t)*seqh << 32) | seq;
sys/netinet/ip_esp.c
313
esp_zeroize(struct tdb *tdbp)
sys/netinet/ip_esp.c
340
esp_input(struct mbuf **mp, struct tdb *tdb, int skip, int protoff,
sys/netinet/ip_esp.c
343
const struct auth_hash *esph = tdb->tdb_authalgxform;
sys/netinet/ip_esp.c
344
const struct enc_xform *espx = tdb->tdb_encalgxform;
sys/netinet/ip_esp.c
357
hlen = 2 * sizeof(u_int32_t) + tdb->tdb_ivlen; /* "new" ESP */
sys/netinet/ip_esp.c
375
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ip_esp.c
376
ntohl(tdb->tdb_spi));
sys/netinet/ip_esp.c
383
if (tdb->tdb_wnd > 0) {
sys/netinet/ip_esp.c
388
switch (checkreplaywindow(tdb, tdb->tdb_rpl, btsx, &esn, 0)) {
sys/netinet/ip_esp.c
393
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ip_esp.c
394
ntohl(tdb->tdb_spi));
sys/netinet/ip_esp.c
399
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ip_esp.c
400
ntohl(tdb->tdb_spi));
sys/netinet/ip_esp.c
405
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ip_esp.c
406
ntohl(tdb->tdb_spi));
sys/netinet/ip_esp.c
412
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ip_esp.c
413
ntohl(tdb->tdb_spi));
sys/netinet/ip_esp.c
420
tdb->tdb_cur_bytes += plen;
sys/netinet/ip_esp.c
421
tdbstat_add(tdb, tdb_ibytes, plen);
sys/netinet/ip_esp.c
425
if ((tdb->tdb_flags & TDBF_BYTES) &&
sys/netinet/ip_esp.c
426
(tdb->tdb_cur_bytes >= tdb->tdb_exp_bytes)) {
sys/netinet/ip_esp.c
428
pfkeyv2_expire(tdb, SADB_EXT_LIFETIME_HARD);
sys/netinet/ip_esp.c
429
tdb_delete(tdb);
sys/netinet/ip_esp.c
434
mtx_enter(&tdb->tdb_mtx);
sys/netinet/ip_esp.c
435
if ((tdb->tdb_flags & TDBF_SOFT_BYTES) &&
sys/netinet/ip_esp.c
436
(tdb->tdb_cur_bytes >= tdb->tdb_soft_bytes)) {
sys/netinet/ip_esp.c
437
tdb->tdb_flags &= ~TDBF_SOFT_BYTES; /* Turn off checking */
sys/netinet/ip_esp.c
438
mtx_leave(&tdb->tdb_mtx);
sys/netinet/ip_esp.c
440
pfkeyv2_expire(tdb, SADB_EXT_LIFETIME_SOFT);
sys/netinet/ip_esp.c
442
mtx_leave(&tdb->tdb_mtx);
sys/netinet/ip_esp.c
461
crda->crd_key = tdb->tdb_amxkey;
sys/netinet/ip_esp.c
462
crda->crd_klen = tdb->tdb_amxkeylen * 8;
sys/netinet/ip_esp.c
464
if ((tdb->tdb_wnd > 0) && (tdb->tdb_flags & TDBF_ESN)) {
sys/netinet/ip_esp.c
473
crda->crd_len = hlen - tdb->tdb_ivlen;
sys/netinet/ip_esp.c
486
crp->crp_sid = tdb->tdb_cryptoid;
sys/netinet/ip_esp.c
491
crde->crd_inject = skip + hlen - tdb->tdb_ivlen;
sys/netinet/ip_esp.c
493
crde->crd_key = tdb->tdb_emxkey;
sys/netinet/ip_esp.c
494
crde->crd_klen = tdb->tdb_emxkeylen * 8;
sys/netinet/ip_esp.c
505
if (tdb->tdb_cryptoid != 0)
sys/netinet/ip_esp.c
506
tdb->tdb_cryptoid = crp->crp_sid;
sys/netinet/ip_esp.c
528
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ip_esp.c
529
ntohl(tdb->tdb_spi));
sys/netinet/ip_esp.c
539
if (tdb->tdb_wnd > 0) {
sys/netinet/ip_esp.c
544
switch (checkreplaywindow(tdb, tdb->tdb_rpl, btsx, &esn, 1)) {
sys/netinet/ip_esp.c
547
pfsync_update_tdb(tdb,0);
sys/netinet/ip_esp.c
553
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ip_esp.c
554
ntohl(tdb->tdb_spi));
sys/netinet/ip_esp.c
559
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ip_esp.c
560
ntohl(tdb->tdb_spi));
sys/netinet/ip_esp.c
565
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ip_esp.c
566
ntohl(tdb->tdb_spi));
sys/netinet/ip_esp.c
572
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ip_esp.c
573
ntohl(tdb->tdb_spi));
sys/netinet/ip_esp.c
583
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ip_esp.c
584
ntohl(tdb->tdb_spi));
sys/netinet/ip_esp.c
653
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ip_esp.c
654
ntohl(tdb->tdb_spi));
sys/netinet/ip_esp.c
662
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ip_esp.c
663
ntohl(tdb->tdb_spi));
sys/netinet/ip_esp.c
675
return ipsec_common_input_cb(mp, tdb, skip, protoff, ns);
sys/netinet/ip_esp.c
687
esp_output(struct mbuf *m, struct tdb *tdb, int skip, int protoff)
sys/netinet/ip_esp.c
689
const struct enc_xform *espx = tdb->tdb_encalgxform;
sys/netinet/ip_esp.c
690
const struct auth_hash *esph = tdb->tdb_authalgxform;
sys/netinet/ip_esp.c
705
if ((encif = enc_getif(tdb->tdb_rdomain, tdb->tdb_tap)) != NULL) {
sys/netinet/ip_esp.c
711
.af = htonl(tdb->tdb_dst.sa.sa_family),
sys/netinet/ip_esp.c
712
.spi = tdb->tdb_spi,
sys/netinet/ip_esp.c
726
hlen = 2 * sizeof(u_int32_t) + tdb->tdb_ivlen;
sys/netinet/ip_esp.c
739
switch (tdb->tdb_dst.sa.sa_family) {
sys/netinet/ip_esp.c
744
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ip_esp.c
745
ntohl(tdb->tdb_spi));
sys/netinet/ip_esp.c
757
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ip_esp.c
758
ntohl(tdb->tdb_spi));
sys/netinet/ip_esp.c
768
tdb->tdb_dst.sa.sa_family,
sys/netinet/ip_esp.c
769
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ip_esp.c
770
ntohl(tdb->tdb_spi));
sys/netinet/ip_esp.c
777
tdb->tdb_cur_bytes += m->m_pkthdr.len - skip;
sys/netinet/ip_esp.c
781
if ((tdb->tdb_flags & TDBF_BYTES) &&
sys/netinet/ip_esp.c
782
(tdb->tdb_cur_bytes >= tdb->tdb_exp_bytes)) {
sys/netinet/ip_esp.c
784
pfkeyv2_expire(tdb, SADB_EXT_LIFETIME_HARD);
sys/netinet/ip_esp.c
785
tdb_delete(tdb);
sys/netinet/ip_esp.c
791
mtx_enter(&tdb->tdb_mtx);
sys/netinet/ip_esp.c
792
if ((tdb->tdb_flags & TDBF_SOFT_BYTES) &&
sys/netinet/ip_esp.c
793
(tdb->tdb_cur_bytes >= tdb->tdb_soft_bytes)) {
sys/netinet/ip_esp.c
794
tdb->tdb_flags &= ~TDBF_SOFT_BYTES; /* Turn off checking */
sys/netinet/ip_esp.c
795
mtx_leave(&tdb->tdb_mtx);
sys/netinet/ip_esp.c
797
pfkeyv2_expire(tdb, SADB_EXT_LIFETIME_SOFT);
sys/netinet/ip_esp.c
799
mtx_leave(&tdb->tdb_mtx);
sys/netinet/ip_esp.c
814
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ip_esp.c
815
ntohl(tdb->tdb_spi));
sys/netinet/ip_esp.c
829
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ip_esp.c
830
ntohl(tdb->tdb_spi));
sys/netinet/ip_esp.c
837
memcpy(mtod(mo, caddr_t) + roff, (caddr_t) &tdb->tdb_spi,
sys/netinet/ip_esp.c
839
replay64 = tdb->tdb_rpl++; /* used for both header and ESN */
sys/netinet/ip_esp.c
845
pfsync_update_tdb(tdb,1);
sys/netinet/ip_esp.c
855
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ip_esp.c
856
ntohl(tdb->tdb_spi));
sys/netinet/ip_esp.c
891
crde->crd_inject = skip + hlen - tdb->tdb_ivlen;
sys/netinet/ip_esp.c
895
crde->crd_key = tdb->tdb_emxkey;
sys/netinet/ip_esp.c
896
crde->crd_klen = tdb->tdb_emxkeylen * 8;
sys/netinet/ip_esp.c
918
crp->crp_sid = tdb->tdb_cryptoid;
sys/netinet/ip_esp.c
927
crda->crd_key = tdb->tdb_amxkey;
sys/netinet/ip_esp.c
928
crda->crd_klen = tdb->tdb_amxkeylen * 8;
sys/netinet/ip_esp.c
930
if ((tdb->tdb_wnd > 0) && (tdb->tdb_flags & TDBF_ESN)) {
sys/netinet/ip_esp.c
941
crda->crd_len = hlen - tdb->tdb_ivlen;
sys/netinet/ip_esp.c
948
if (tdb->tdb_cryptoid != 0)
sys/netinet/ip_esp.c
949
tdb->tdb_cryptoid = crp->crp_sid;
sys/netinet/ip_esp.c
95
esp_init(struct tdb *tdbp, const struct xformsw *xsp, struct ipsecinit *ii)
sys/netinet/ip_esp.c
961
error = ipsp_process_done(m, tdb);
sys/netinet/ip_esp.c
981
checkreplaywindow(struct tdb *tdb, u_int64_t t, u_int32_t seq, u_int32_t *seqh,
sys/netinet/ip_esp.c
986
int idx, esn = tdb->tdb_flags & TDBF_ESN;
sys/netinet/ip_ipcomp.c
118
ipcomp_zeroize(struct tdb *tdbp)
sys/netinet/ip_ipcomp.c
133
ipcomp_input(struct mbuf **mp, struct tdb *tdb, int skip, int protoff,
sys/netinet/ip_ipcomp.c
136
const struct comp_algo *ipcompx = tdb->tdb_compalgxform;
sys/netinet/ip_ipcomp.c
172
crp->crp_sid = tdb->tdb_cryptoid;
sys/netinet/ip_ipcomp.c
176
if (tdb->tdb_cryptoid != 0)
sys/netinet/ip_ipcomp.c
177
tdb->tdb_cryptoid = crp->crp_sid;
sys/netinet/ip_ipcomp.c
193
tdb->tdb_cur_bytes += ibytes;
sys/netinet/ip_ipcomp.c
194
tdbstat_add(tdb, tdb_ibytes, ibytes);
sys/netinet/ip_ipcomp.c
198
if ((tdb->tdb_flags & TDBF_BYTES) &&
sys/netinet/ip_ipcomp.c
199
(tdb->tdb_cur_bytes >= tdb->tdb_exp_bytes)) {
sys/netinet/ip_ipcomp.c
201
pfkeyv2_expire(tdb, SADB_EXT_LIFETIME_HARD);
sys/netinet/ip_ipcomp.c
202
tdb_delete(tdb);
sys/netinet/ip_ipcomp.c
206
mtx_enter(&tdb->tdb_mtx);
sys/netinet/ip_ipcomp.c
207
if ((tdb->tdb_flags & TDBF_SOFT_BYTES) &&
sys/netinet/ip_ipcomp.c
208
(tdb->tdb_cur_bytes >= tdb->tdb_soft_bytes)) {
sys/netinet/ip_ipcomp.c
209
tdb->tdb_flags &= ~TDBF_SOFT_BYTES; /* Turn off checking */
sys/netinet/ip_ipcomp.c
210
mtx_leave(&tdb->tdb_mtx);
sys/netinet/ip_ipcomp.c
212
pfkeyv2_expire(tdb, SADB_EXT_LIFETIME_SOFT);
sys/netinet/ip_ipcomp.c
214
mtx_leave(&tdb->tdb_mtx);
sys/netinet/ip_ipcomp.c
229
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ip_ipcomp.c
230
ntohl(tdb->tdb_spi));
sys/netinet/ip_ipcomp.c
292
return ipsec_common_input_cb(mp, tdb, skip, protoff, ns);
sys/netinet/ip_ipcomp.c
304
ipcomp_output(struct mbuf *m, struct tdb *tdb, int skip, int protoff)
sys/netinet/ip_ipcomp.c
306
const struct comp_algo *ipcompx = tdb->tdb_compalgxform;
sys/netinet/ip_ipcomp.c
323
if ((encif = enc_getif(0, tdb->tdb_tap)) != NULL) {
sys/netinet/ip_ipcomp.c
329
.af = htonl(tdb->tdb_dst.sa.sa_family),
sys/netinet/ip_ipcomp.c
330
.spi = tdb->tdb_spi,
sys/netinet/ip_ipcomp.c
342
switch (tdb->tdb_dst.sa.sa_family) {
sys/netinet/ip_ipcomp.c
351
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ip_ipcomp.c
352
ntohl(tdb->tdb_spi));
sys/netinet/ip_ipcomp.c
364
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ip_ipcomp.c
365
ntohl(tdb->tdb_spi));
sys/netinet/ip_ipcomp.c
375
tdb->tdb_dst.sa.sa_family,
sys/netinet/ip_ipcomp.c
376
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ip_ipcomp.c
377
ntohl(tdb->tdb_spi));
sys/netinet/ip_ipcomp.c
384
tdb->tdb_cur_bytes += m->m_pkthdr.len - skip;
sys/netinet/ip_ipcomp.c
388
if ((tdb->tdb_flags & TDBF_BYTES) &&
sys/netinet/ip_ipcomp.c
389
(tdb->tdb_cur_bytes >= tdb->tdb_exp_bytes)) {
sys/netinet/ip_ipcomp.c
391
pfkeyv2_expire(tdb, SADB_EXT_LIFETIME_HARD);
sys/netinet/ip_ipcomp.c
392
tdb_delete(tdb);
sys/netinet/ip_ipcomp.c
398
mtx_enter(&tdb->tdb_mtx);
sys/netinet/ip_ipcomp.c
399
if ((tdb->tdb_flags & TDBF_SOFT_BYTES) &&
sys/netinet/ip_ipcomp.c
400
(tdb->tdb_cur_bytes >= tdb->tdb_soft_bytes)) {
sys/netinet/ip_ipcomp.c
401
tdb->tdb_flags &= ~TDBF_SOFT_BYTES; /* Turn off checking */
sys/netinet/ip_ipcomp.c
402
mtx_leave(&tdb->tdb_mtx);
sys/netinet/ip_ipcomp.c
404
pfkeyv2_expire(tdb, SADB_EXT_LIFETIME_SOFT);
sys/netinet/ip_ipcomp.c
406
mtx_leave(&tdb->tdb_mtx);
sys/netinet/ip_ipcomp.c
421
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ip_ipcomp.c
422
ntohl(tdb->tdb_spi));
sys/netinet/ip_ipcomp.c
456
crp->crp_sid = tdb->tdb_cryptoid;
sys/netinet/ip_ipcomp.c
460
if (tdb->tdb_cryptoid != 0)
sys/netinet/ip_ipcomp.c
461
tdb->tdb_cryptoid = crp->crp_sid;
sys/netinet/ip_ipcomp.c
489
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ip_ipcomp.c
490
ntohl(tdb->tdb_spi));
sys/netinet/ip_ipcomp.c
499
cpi = (u_int16_t) ntohl(tdb->tdb_spi);
sys/netinet/ip_ipcomp.c
503
switch (tdb->tdb_dst.sa.sa_family) {
sys/netinet/ip_ipcomp.c
518
tdb->tdb_dst.sa.sa_family,
sys/netinet/ip_ipcomp.c
519
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ip_ipcomp.c
520
ntohl(tdb->tdb_spi));
sys/netinet/ip_ipcomp.c
527
error = ipsp_process_done(m, tdb);
sys/netinet/ip_ipcomp.c
82
ipcomp_init(struct tdb *tdbp, const struct xformsw *xsp, struct ipsecinit *ii)
sys/netinet/ip_ipip.c
337
ipip_output(struct mbuf **mp, struct tdb *tdb)
sys/netinet/ip_ipip.c
356
switch (tdb->tdb_dst.sa.sa_family) {
sys/netinet/ip_ipip.c
358
if (tdb->tdb_src.sa.sa_family != AF_INET ||
sys/netinet/ip_ipip.c
359
tdb->tdb_src.sin.sin_addr.s_addr == INADDR_ANY ||
sys/netinet/ip_ipip.c
360
tdb->tdb_dst.sin.sin_addr.s_addr == INADDR_ANY) {
sys/netinet/ip_ipip.c
364
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ip_ipip.c
365
ntohl(tdb->tdb_spi));
sys/netinet/ip_ipip.c
388
ipo->ip_src = tdb->tdb_src.sin.sin_addr;
sys/netinet/ip_ipip.c
389
ipo->ip_dst = tdb->tdb_dst.sin.sin_addr;
sys/netinet/ip_ipip.c
441
if (tdb->tdb_xform->xf_type == XF_IP4)
sys/netinet/ip_ipip.c
442
tdb->tdb_cur_bytes += obytes;
sys/netinet/ip_ipip.c
447
if (IN6_IS_ADDR_UNSPECIFIED(&tdb->tdb_dst.sin6.sin6_addr) ||
sys/netinet/ip_ipip.c
448
tdb->tdb_src.sa.sa_family != AF_INET6 ||
sys/netinet/ip_ipip.c
449
IN6_IS_ADDR_UNSPECIFIED(&tdb->tdb_src.sin6.sin6_addr)) {
sys/netinet/ip_ipip.c
453
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ip_ipip.c
454
ntohl(tdb->tdb_spi));
sys/netinet/ip_ipip.c
487
in6_embedscope(&ip6o->ip6_src, &tdb->tdb_src.sin6, NULL, NULL);
sys/netinet/ip_ipip.c
488
in6_embedscope(&ip6o->ip6_dst, &tdb->tdb_dst.sin6, NULL, NULL);
sys/netinet/ip_ipip.c
521
if (tdb->tdb_xform->xf_type == XF_IP4)
sys/netinet/ip_ipip.c
522
tdb->tdb_cur_bytes += obytes;
sys/netinet/ip_ipip.c
528
tdb->tdb_dst.sa.sa_family);
sys/netinet/ip_ipip.c
550
ipe4_init(struct tdb *tdbp, const struct xformsw *xsp, struct ipsecinit *ii)
sys/netinet/ip_ipip.c
557
ipe4_zeroize(struct tdb *tdbp)
sys/netinet/ip_ipip.c
563
ipe4_input(struct mbuf **mp, struct tdb *tdb, int hlen, int proto,
sys/netinet/ip_ipip.h
113
struct tdb;
sys/netinet/ip_ipip.h
119
int ipip_output(struct mbuf **, struct tdb *);
sys/netinet/ip_ipsp.c
1019
tdb_deltimeouts(struct tdb *tdbp)
sys/netinet/ip_ipsp.c
1035
struct tdb *
sys/netinet/ip_ipsp.c
1036
tdb_ref(struct tdb *tdb)
sys/netinet/ip_ipsp.c
1038
if (tdb == NULL)
sys/netinet/ip_ipsp.c
1040
refcnt_take(&tdb->tdb_refcnt);
sys/netinet/ip_ipsp.c
1041
return tdb;
sys/netinet/ip_ipsp.c
1045
tdb_unref(struct tdb *tdb)
sys/netinet/ip_ipsp.c
1047
if (tdb == NULL)
sys/netinet/ip_ipsp.c
1049
if (refcnt_rele(&tdb->tdb_refcnt) == 0)
sys/netinet/ip_ipsp.c
1051
tdb_free(tdb);
sys/netinet/ip_ipsp.c
1055
tdb_delete(struct tdb *tdbp)
sys/netinet/ip_ipsp.c
1081
struct tdb *
sys/netinet/ip_ipsp.c
1084
struct tdb *tdbp;
sys/netinet/ip_ipsp.c
1112
tdb_free(struct tdb *tdbp)
sys/netinet/ip_ipsp.c
1158
tdb_init(struct tdb *tdbp, u_int16_t alg, struct ipsecinit *ii)
sys/netinet/ip_ipsp.c
202
static struct tdb **tdbh; /* [D] */
sys/netinet/ip_ipsp.c
203
static struct tdb **tdbdst; /* [D] */
sys/netinet/ip_ipsp.c
204
static struct tdb **tdbsrc; /* [D] */
sys/netinet/ip_ipsp.c
211
pool_init(&tdb_pool, sizeof(struct tdb), 0, IPL_SOFTNET, 0,
sys/netinet/ip_ipsp.c
215
tdbh = mallocarray(tdb_hashmask + 1, sizeof(struct tdb *), M_TDB,
sys/netinet/ip_ipsp.c
217
tdbdst = mallocarray(tdb_hashmask + 1, sizeof(struct tdb *), M_TDB,
sys/netinet/ip_ipsp.c
219
tdbsrc = mallocarray(tdb_hashmask + 1, sizeof(struct tdb *), M_TDB,
sys/netinet/ip_ipsp.c
252
struct tdb *tdbp, *exists;
sys/netinet/ip_ipsp.c
352
struct tdb *
sys/netinet/ip_ipsp.c
357
struct tdb *tdbp;
sys/netinet/ip_ipsp.c
381
struct tdb *
sys/netinet/ip_ipsp.c
386
struct tdb *tdbp;
sys/netinet/ip_ipsp.c
436
ipsp_aux_match(struct tdb *tdb,
sys/netinet/ip_ipsp.c
442
if (tdb->tdb_ids == NULL ||
sys/netinet/ip_ipsp.c
443
!ipsp_ids_match(tdb->tdb_ids, ids))
sys/netinet/ip_ipsp.c
448
tdb->tdb_filter.sen_type) {
sys/netinet/ip_ipsp.c
456
if (memcmp(&tdb->tdb_filter, pfilter,
sys/netinet/ip_ipsp.c
458
memcmp(&tdb->tdb_filtermask, pfiltermask,
sys/netinet/ip_ipsp.c
470
struct tdb *
sys/netinet/ip_ipsp.c
476
struct tdb *tdbp;
sys/netinet/ip_ipsp.c
501
struct tdb *
sys/netinet/ip_ipsp.c
507
struct tdb *tdbp;
sys/netinet/ip_ipsp.c
535
struct tdb *tdbp;
sys/netinet/ip_ipsp.c
558
#define DUMP(m, f) pr("%18s: " f "\n", #m, tdb->tdb_##m)
sys/netinet/ip_ipsp.c
562
struct tdb *tdb = addr;
sys/netinet/ip_ipsp.c
566
pr("tdb at %p\n", tdb);
sys/netinet/ip_ipsp.c
573
pr("%18s: %d\n", "refcnt", tdb->tdb_refcnt.r_refs);
sys/netinet/ip_ipsp.c
577
pr("%18s: %b\n", "flags", tdb->tdb_flags, TDBF_BITS);
sys/netinet/ip_ipsp.c
596
pr("%18s: %08x\n", "tdb_spi", ntohl(tdb->tdb_spi));
sys/netinet/ip_ipsp.c
605
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)));
sys/netinet/ip_ipsp.c
607
ipsp_address(&tdb->tdb_src, buf, sizeof(buf)));
sys/netinet/ip_ipsp.c
618
ntohs(tdb->tdb_udpencap_port));
sys/netinet/ip_ipsp.c
628
pr("%p:", tdb);
sys/netinet/ip_ipsp.c
629
pr(" %08x", ntohl(tdb->tdb_spi));
sys/netinet/ip_ipsp.c
630
pr(" %s", ipsp_address(&tdb->tdb_src, buf, sizeof(buf)));
sys/netinet/ip_ipsp.c
631
pr("->%s", ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)));
sys/netinet/ip_ipsp.c
632
pr(":%d", tdb->tdb_sproto);
sys/netinet/ip_ipsp.c
633
pr(" #%d", tdb->tdb_refcnt.r_refs);
sys/netinet/ip_ipsp.c
634
pr(" %08x\n", tdb->tdb_flags);
sys/netinet/ip_ipsp.c
641
tdb_walk(u_int rdomain, int (*walker)(struct tdb *, void *, int), void *arg)
sys/netinet/ip_ipsp.c
643
SIMPLEQ_HEAD(, tdb) tdblist;
sys/netinet/ip_ipsp.c
644
struct tdb *tdbp;
sys/netinet/ip_ipsp.c
680
struct tdb *tdb = v;
sys/netinet/ip_ipsp.c
683
if (tdb->tdb_flags & TDBF_TIMER) {
sys/netinet/ip_ipsp.c
685
if (!(tdb->tdb_flags & TDBF_INVALID)) {
sys/netinet/ip_ipsp.c
689
pfkeyv2_expire(tdb, SADB_EXT_LIFETIME_HARD);
sys/netinet/ip_ipsp.c
691
tdb_delete(tdb);
sys/netinet/ip_ipsp.c
694
tdb_unref(tdb);
sys/netinet/ip_ipsp.c
701
struct tdb *tdb = v;
sys/netinet/ip_ipsp.c
704
if (tdb->tdb_flags & TDBF_SOFT_FIRSTUSE) {
sys/netinet/ip_ipsp.c
706
if (tdb->tdb_first_use != 0) {
sys/netinet/ip_ipsp.c
710
pfkeyv2_expire(tdb, SADB_EXT_LIFETIME_HARD);
sys/netinet/ip_ipsp.c
712
tdb_delete(tdb);
sys/netinet/ip_ipsp.c
715
tdb_unref(tdb);
sys/netinet/ip_ipsp.c
720
tdb_addtimeouts(struct tdb *tdbp)
sys/netinet/ip_ipsp.c
739
struct tdb *tdb = v;
sys/netinet/ip_ipsp.c
742
mtx_enter(&tdb->tdb_mtx);
sys/netinet/ip_ipsp.c
743
if (tdb->tdb_flags & TDBF_SOFT_TIMER) {
sys/netinet/ip_ipsp.c
744
tdb->tdb_flags &= ~TDBF_SOFT_TIMER;
sys/netinet/ip_ipsp.c
745
mtx_leave(&tdb->tdb_mtx);
sys/netinet/ip_ipsp.c
747
pfkeyv2_expire(tdb, SADB_EXT_LIFETIME_SOFT);
sys/netinet/ip_ipsp.c
749
mtx_leave(&tdb->tdb_mtx);
sys/netinet/ip_ipsp.c
751
tdb_unref(tdb);
sys/netinet/ip_ipsp.c
758
struct tdb *tdb = v;
sys/netinet/ip_ipsp.c
761
mtx_enter(&tdb->tdb_mtx);
sys/netinet/ip_ipsp.c
762
if (tdb->tdb_flags & TDBF_SOFT_FIRSTUSE) {
sys/netinet/ip_ipsp.c
763
tdb->tdb_flags &= ~TDBF_SOFT_FIRSTUSE;
sys/netinet/ip_ipsp.c
764
mtx_leave(&tdb->tdb_mtx);
sys/netinet/ip_ipsp.c
766
if (tdb->tdb_first_use != 0)
sys/netinet/ip_ipsp.c
767
pfkeyv2_expire(tdb, SADB_EXT_LIFETIME_SOFT);
sys/netinet/ip_ipsp.c
769
mtx_leave(&tdb->tdb_mtx);
sys/netinet/ip_ipsp.c
771
tdb_unref(tdb);
sys/netinet/ip_ipsp.c
778
struct tdb **new_tdbh, **new_tdbdst, **new_srcaddr, *tdbp, *tdbnp;
sys/netinet/ip_ipsp.c
788
new_tdbh = mallocarray(tdb_hashmask + 1, sizeof(struct tdb *), M_TDB,
sys/netinet/ip_ipsp.c
790
new_tdbdst = mallocarray(tdb_hashmask + 1, sizeof(struct tdb *), M_TDB,
sys/netinet/ip_ipsp.c
792
new_srcaddr = mallocarray(tdb_hashmask + 1, sizeof(struct tdb *), M_TDB,
sys/netinet/ip_ipsp.c
843
puttdb(struct tdb *tdbp)
sys/netinet/ip_ipsp.c
851
puttdb_locked(struct tdb *tdbp)
sys/netinet/ip_ipsp.c
902
tdb_unlink(struct tdb *tdbp)
sys/netinet/ip_ipsp.c
910
tdb_unlink_locked(struct tdb *tdbp)
sys/netinet/ip_ipsp.c
912
struct tdb *tdbpp;
sys/netinet/ip_ipsp.c
983
tdb_cleanspd(struct tdb *tdbp)
sys/netinet/ip_ipsp.c
998
tdb_unbundle(struct tdb *tdbp)
sys/netinet/ip_ipsp.h
298
struct tdb *ipo_tdb; /* [P] Cached TDB entry */
sys/netinet/ip_ipsp.h
333
struct tdb *tdb_hnext; /* [D] dst/spi/sproto table */
sys/netinet/ip_ipsp.h
334
struct tdb *tdb_dnext; /* [D] dst/sproto table */
sys/netinet/ip_ipsp.h
335
struct tdb *tdb_snext; /* [D] src/sproto table */
sys/netinet/ip_ipsp.h
336
struct tdb *tdb_inext;
sys/netinet/ip_ipsp.h
337
struct tdb *tdb_onext;
sys/netinet/ip_ipsp.h
338
SIMPLEQ_ENTRY(tdb) tdb_walk; /* [N] temp list for tdb walker */
sys/netinet/ip_ipsp.h
452
TAILQ_ENTRY(tdb) tdb_sync_entry; /* [S] pfsync tdb queue */
sys/netinet/ip_ipsp.h
469
tdbstat_inc(struct tdb *tdb, enum tdb_counters c)
sys/netinet/ip_ipsp.h
471
counters_inc(tdb->tdb_counters, c);
sys/netinet/ip_ipsp.h
475
tdbstat_add(struct tdb *tdb, enum tdb_counters c, uint64_t v)
sys/netinet/ip_ipsp.h
477
counters_add(tdb->tdb_counters, c, v);
sys/netinet/ip_ipsp.h
481
tdbstat_pkt(struct tdb *tdb, enum tdb_counters pc, enum tdb_counters bc,
sys/netinet/ip_ipsp.h
484
counters_pkt(tdb->tdb_counters, pc, bc, bytes);
sys/netinet/ip_ipsp.h
533
int (*xf_init)(struct tdb *, const struct xformsw *,
sys/netinet/ip_ipsp.h
535
int (*xf_zeroize)(struct tdb *); /* termination */
sys/netinet/ip_ipsp.h
536
int (*xf_input)(struct mbuf **, struct tdb *, int, int,
sys/netinet/ip_ipsp.h
538
int (*xf_output)(struct mbuf *, struct tdb *, int, int);
sys/netinet/ip_ipsp.h
620
struct tdb *gettdb_dir(u_int, u_int32_t, union sockaddr_union *, u_int8_t, int);
sys/netinet/ip_ipsp.h
623
struct tdb *gettdbbydst(u_int, union sockaddr_union *, u_int8_t,
sys/netinet/ip_ipsp.h
626
struct tdb *gettdbbysrc(u_int, union sockaddr_union *, u_int8_t,
sys/netinet/ip_ipsp.h
629
struct tdb *gettdbbysrcdst_dir(u_int, u_int32_t, union sockaddr_union *,
sys/netinet/ip_ipsp.h
633
void puttdb(struct tdb *);
sys/netinet/ip_ipsp.h
634
void puttdb_locked(struct tdb *);
sys/netinet/ip_ipsp.h
635
void tdb_delete(struct tdb *);
sys/netinet/ip_ipsp.h
636
struct tdb *tdb_alloc(u_int);
sys/netinet/ip_ipsp.h
637
struct tdb *tdb_ref(struct tdb *);
sys/netinet/ip_ipsp.h
638
void tdb_unref(struct tdb *);
sys/netinet/ip_ipsp.h
639
void tdb_free(struct tdb *);
sys/netinet/ip_ipsp.h
640
int tdb_init(struct tdb *, u_int16_t, struct ipsecinit *);
sys/netinet/ip_ipsp.h
641
void tdb_unlink(struct tdb *);
sys/netinet/ip_ipsp.h
642
void tdb_unlink_locked(struct tdb *);
sys/netinet/ip_ipsp.h
643
void tdb_cleanspd(struct tdb *);
sys/netinet/ip_ipsp.h
644
void tdb_unbundle(struct tdb *);
sys/netinet/ip_ipsp.h
645
void tdb_addtimeouts(struct tdb *);
sys/netinet/ip_ipsp.h
646
void tdb_deltimeouts(struct tdb *);
sys/netinet/ip_ipsp.h
647
int tdb_walk(u_int, int (*)(struct tdb *, void *, int), void *);
sys/netinet/ip_ipsp.h
652
int ipe4_init(struct tdb *, const struct xformsw *, struct ipsecinit *);
sys/netinet/ip_ipsp.h
653
int ipe4_zeroize(struct tdb *);
sys/netinet/ip_ipsp.h
654
int ipe4_input(struct mbuf **, struct tdb *, int, int, struct netstack *);
sys/netinet/ip_ipsp.h
658
int ah_init(struct tdb *, const struct xformsw *, struct ipsecinit *);
sys/netinet/ip_ipsp.h
659
int ah_zeroize(struct tdb *);
sys/netinet/ip_ipsp.h
660
int ah_input(struct mbuf **, struct tdb *, int, int, struct netstack *);
sys/netinet/ip_ipsp.h
661
int ah_output(struct mbuf *, struct tdb *, int, int);
sys/netinet/ip_ipsp.h
670
int esp_init(struct tdb *, const struct xformsw *, struct ipsecinit *);
sys/netinet/ip_ipsp.h
671
int esp_zeroize(struct tdb *);
sys/netinet/ip_ipsp.h
672
int esp_input(struct mbuf **, struct tdb *, int, int, struct netstack *);
sys/netinet/ip_ipsp.h
673
int esp_output(struct mbuf *, struct tdb *, int, int);
sys/netinet/ip_ipsp.h
681
int ipcomp_init(struct tdb *, const struct xformsw *, struct ipsecinit *);
sys/netinet/ip_ipsp.h
682
int ipcomp_zeroize(struct tdb *);
sys/netinet/ip_ipsp.h
683
int ipcomp_input(struct mbuf **, struct tdb *, int, int, struct netstack *);
sys/netinet/ip_ipsp.h
684
int ipcomp_output(struct mbuf *, struct tdb *, int, int);
sys/netinet/ip_ipsp.h
690
int tcp_signature_tdb_init(struct tdb *, const struct xformsw *,
sys/netinet/ip_ipsp.h
692
int tcp_signature_tdb_zeroize(struct tdb *);
sys/netinet/ip_ipsp.h
693
int tcp_signature_tdb_input(struct mbuf **, struct tdb *, int, int,
sys/netinet/ip_ipsp.h
695
int tcp_signature_tdb_output(struct mbuf *, struct tdb *, int, int);
sys/netinet/ip_ipsp.h
698
int checkreplaywindow(struct tdb *, u_int64_t, u_int32_t, u_int32_t *, int);
sys/netinet/ip_ipsp.h
705
int ipsp_process_packet(struct mbuf *, struct tdb *, int, int, int);
sys/netinet/ip_ipsp.h
706
int ipsp_process_done(struct mbuf *, struct tdb *);
sys/netinet/ip_ipsp.h
707
int ipsp_spd_lookup(struct mbuf *, int, int, int, struct tdb *,
sys/netinet/ip_ipsp.h
708
const struct ipsec_level *, struct tdb **, struct ipsec_ids *);
sys/netinet/ip_ipsp.h
710
int ipsp_aux_match(struct tdb *, struct ipsec_ids *,
sys/netinet/ip_ipsp.h
722
int ipsec_common_input_cb(struct mbuf **, struct tdb *, int, int,
sys/netinet/ip_ipsp.h
728
ssize_t ipsec_hdrsz(struct tdb *);
sys/netinet/ip_ipsp.h
730
void ipsec_set_mtu(struct tdb *, u_int32_t);
sys/netinet/ip_output.c
110
struct tdb *tdb = NULL;
sys/netinet/ip_output.c
226
error = ip_output_ipsec_lookup(m, hlen, seclevel, &tdb,
sys/netinet/ip_output.c
234
if (tdb != NULL) {
sys/netinet/ip_output.c
283
(ifp->if_flags & IFF_BROADCAST) == 0)) && (tdb == NULL)) {
sys/netinet/ip_output.c
357
if ((tdb == NULL) && ((dst->sin_addr.s_addr == INADDR_BROADCAST) ||
sys/netinet/ip_output.c
389
if (tdb != NULL) {
sys/netinet/ip_output.c
391
error = ip_output_ipsec_send(tdb, m, ro, orig_rtableid,
sys/netinet/ip_output.c
492
tdb_unref(tdb);
sys/netinet/ip_output.c
504
const struct ipsec_level *seclevel, struct tdb **tdbout, int ipsecflowinfo)
sys/netinet/ip_output.c
508
struct tdb *tdb;
sys/netinet/ip_output.c
516
NULL, seclevel, &tdb, ids);
sys/netinet/ip_output.c
518
if (error || tdb == NULL) {
sys/netinet/ip_output.c
527
if (tdbi->spi == tdb->tdb_spi &&
sys/netinet/ip_output.c
528
tdbi->proto == tdb->tdb_sproto &&
sys/netinet/ip_output.c
529
tdbi->rdomain == tdb->tdb_rdomain &&
sys/netinet/ip_output.c
530
!memcmp(&tdbi->dst, &tdb->tdb_dst,
sys/netinet/ip_output.c
533
tdb_unref(tdb);
sys/netinet/ip_output.c
538
*tdbout = tdb;
sys/netinet/ip_output.c
543
ip_output_ipsec_pmtu_update(struct tdb *tdb, struct route *ro,
sys/netinet/ip_output.c
548
int transportmode = (tdb->tdb_dst.sa.sa_family == AF_INET) &&
sys/netinet/ip_output.c
549
(tdb->tdb_dst.sin.sin_addr.s_addr == dst.s_addr);
sys/netinet/ip_output.c
562
ntohl(tdb->tdb_spi), tdb->tdb_mtu, rt, rt_mtucloned);
sys/netinet/ip_output.c
564
atomic_store_int(&rt->rt_mtu, tdb->tdb_mtu);
sys/netinet/ip_output.c
577
ip_output_ipsec_send(struct tdb *tdb, struct mbuf *m, struct route *ro,
sys/netinet/ip_output.c
592
if ((encif = enc_getif(tdb->tdb_rdomain, tdb->tdb_tap)) == NULL ||
sys/netinet/ip_output.c
611
m->m_pkthdr.ph_mss <= tdb->tdb_mtu) {
sys/netinet/ip_output.c
619
if (ip_mtudisc_local && (ip->ip_off & htons(IP_DF)) && tdb->tdb_mtu &&
sys/netinet/ip_output.c
620
len > tdb->tdb_mtu && tdb->tdb_mtutimeout > gettime()) {
sys/netinet/ip_output.c
621
ip_output_ipsec_pmtu_update(tdb, ro, dst, rtableid);
sys/netinet/ip_output.c
622
ipsec_adjust_mtu(m, tdb->tdb_mtu);
sys/netinet/ip_output.c
650
error = ipsp_process_packet(m, tdb, AF_INET, 0,
sys/netinet/ip_output.c
660
tdbstat_inc(tdb, tdb_odrops);
sys/netinet/ip_output.c
665
ip_output_ipsec_pmtu_update(tdb, ro, dst, rtableid);
sys/netinet/ip_output.c
86
const struct ipsec_level *seclevel, struct tdb **, int ipsecflowinfo);
sys/netinet/ip_output.c
87
void ip_output_ipsec_pmtu_update(struct tdb *, struct route *, struct in_addr,
sys/netinet/ip_output.c
89
int ip_output_ipsec_send(struct tdb *, struct mbuf *, struct route *, u_int,
sys/netinet/ip_spd.c
152
struct tdb *tdbin, const struct ipsec_level *seclevel, struct tdb **tdbout,
sys/netinet/ip_spd.c
39
struct ipsec_policy *, struct tdb **);
sys/netinet/ip_spd.c
435
struct tdb *tdbp_new;
sys/netinet/ip_spd.c
587
struct tdb *tdbp_new;
sys/netinet/ip_spd.c
905
struct ipsec_policy *ipo, struct tdb **tdbout)
sys/netinet/ipsec_input.c
1090
struct tdb *tdb;
sys/netinet/ipsec_input.c
1102
tdb = gettdb(tdbi->rdomain, tdbi->spi, &tdbi->dst, tdbi->proto);
sys/netinet/ipsec_input.c
1104
tdb = NULL;
sys/netinet/ipsec_input.c
1106
tdb, NULL, NULL, NULL);
sys/netinet/ipsec_input.c
1107
tdb_unref(tdb);
sys/netinet/ipsec_input.c
1115
struct tdb *tdb;
sys/netinet/ipsec_input.c
1174
tdb = gettdb(tdbi->rdomain, tdbi->spi, &tdbi->dst,
sys/netinet/ipsec_input.c
1177
tdb = NULL;
sys/netinet/ipsec_input.c
1179
tdb, NULL, NULL, NULL);
sys/netinet/ipsec_input.c
1180
tdb_unref(tdb);
sys/netinet/ipsec_input.c
222
struct tdb *tdbp = NULL;
sys/netinet/ipsec_input.c
386
ipsec_common_input_cb(struct mbuf **mp, struct tdb *tdbp, int skip,
sys/netinet/ipsec_input.c
908
ipsec_set_mtu(struct tdb *tdbp, u_int32_t mtu)
sys/netinet/ipsec_input.c
939
struct tdb *tdbp;
sys/netinet/ipsec_input.c
975
struct tdb *tdbp, *first;
sys/netinet/ipsec_output.c
100
(tdb->tdb_sproto == IPPROTO_IPCOMP &&
sys/netinet/ipsec_output.c
109
if (!tdb->tdb_xform) {
sys/netinet/ipsec_output.c
116
if (tdb->tdb_flags & TDBF_INVALID) {
sys/netinet/ipsec_output.c
118
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ipsec_output.c
119
ntohl(tdb->tdb_spi), tdb->tdb_sproto);
sys/netinet/ipsec_output.c
125
switch (tdb->tdb_dst.sa.sa_family) {
sys/netinet/ipsec_output.c
136
ipsp_address(&tdb->tdb_dst, buf, sizeof(buf)),
sys/netinet/ipsec_output.c
137
ntohl(tdb->tdb_spi), tdb->tdb_sproto,
sys/netinet/ipsec_output.c
138
tdb->tdb_dst.sa.sa_family);
sys/netinet/ipsec_output.c
146
if (tdb->tdb_first_use == 0) {
sys/netinet/ipsec_output.c
147
tdb->tdb_first_use = gettime();
sys/netinet/ipsec_output.c
148
if (tdb->tdb_flags & TDBF_FIRSTUSE) {
sys/netinet/ipsec_output.c
149
if (timeout_add_sec(&tdb->tdb_first_tmo,
sys/netinet/ipsec_output.c
150
tdb->tdb_exp_first_use))
sys/netinet/ipsec_output.c
151
tdb_ref(tdb);
sys/netinet/ipsec_output.c
153
if (tdb->tdb_flags & TDBF_SOFT_FIRSTUSE) {
sys/netinet/ipsec_output.c
154
if (timeout_add_sec(&tdb->tdb_sfirst_tmo,
sys/netinet/ipsec_output.c
155
tdb->tdb_soft_first_use))
sys/netinet/ipsec_output.c
156
tdb_ref(tdb);
sys/netinet/ipsec_output.c
170
if (af == tdb->tdb_dst.sa.sa_family) {
sys/netinet/ipsec_output.c
211
if ((tdb->tdb_dst.sa.sa_family != af) || /* PF mismatch */
sys/netinet/ipsec_output.c
212
(tdb->tdb_flags & TDBF_TUNNELING) || /* Tunneling needed */
sys/netinet/ipsec_output.c
213
(tdb->tdb_xform->xf_type == XF_IP4) || /* ditto */
sys/netinet/ipsec_output.c
214
((tdb->tdb_dst.sa.sa_family == AF_INET) &&
sys/netinet/ipsec_output.c
215
(tdb->tdb_dst.sin.sin_addr.s_addr != INADDR_ANY) &&
sys/netinet/ipsec_output.c
216
(tdb->tdb_dst.sin.sin_addr.s_addr != ip->ip_dst.s_addr)) ||
sys/netinet/ipsec_output.c
218
((tdb->tdb_dst.sa.sa_family == AF_INET6) &&
sys/netinet/ipsec_output.c
219
(!IN6_IS_ADDR_UNSPECIFIED(&tdb->tdb_dst.sin6.sin6_addr)) &&
sys/netinet/ipsec_output.c
220
(!IN6_ARE_ADDR_EQUAL(&tdb->tdb_dst.sin6.sin6_addr,
sys/netinet/ipsec_output.c
262
error = ipip_output(&m, tdb);
sys/netinet/ipsec_output.c
268
if (tdb->tdb_dst.sa.sa_family == AF_INET &&
sys/netinet/ipsec_output.c
282
mtx_enter(&tdb->tdb_mtx);
sys/netinet/ipsec_output.c
283
tdb->tdb_flags |= TDBF_USEDTUNNEL;
sys/netinet/ipsec_output.c
284
mtx_leave(&tdb->tdb_mtx);
sys/netinet/ipsec_output.c
292
if (tdb->tdb_xform->xf_type == XF_IP4)
sys/netinet/ipsec_output.c
293
return ipsp_process_done(m, tdb);
sys/netinet/ipsec_output.c
296
switch (tdb->tdb_dst.sa.sa_family) {
sys/netinet/ipsec_output.c
381
tdbstat_add(tdb, tdb_ouncompbytes, m->m_pkthdr.len);
sys/netinet/ipsec_output.c
384
if (tdb->tdb_sproto == IPPROTO_IPCOMP) {
sys/netinet/ipsec_output.c
385
if ((m->m_pkthdr.len - hlen) < tdb->tdb_compalgxform->minlen) {
sys/netinet/ipsec_output.c
388
return ipsp_process_done(m, tdb);
sys/netinet/ipsec_output.c
393
return (*(tdb->tdb_xform->xf_output))(m, tdb, hlen, off);
sys/netinet/ipsec_output.c
405
ipsp_process_done(struct mbuf *m, struct tdb *tdb)
sys/netinet/ipsec_output.c
411
struct tdb *tdbo;
sys/netinet/ipsec_output.c
418
tdb->tdb_last_used = gettime();
sys/netinet/ipsec_output.c
420
if ((tdb->tdb_flags & TDBF_UDPENCAP) != 0) {
sys/netinet/ipsec_output.c
432
switch (tdb->tdb_dst.sa.sa_family) {
sys/netinet/ipsec_output.c
443
tdb->tdb_dst.sa.sa_family);
sys/netinet/ipsec_output.c
455
if (tdb->tdb_udpencap_port)
sys/netinet/ipsec_output.c
456
uh->uh_dport = tdb->tdb_udpencap_port;
sys/netinet/ipsec_output.c
461
if (tdb->tdb_dst.sa.sa_family == AF_INET6)
sys/netinet/ipsec_output.c
467
switch (tdb->tdb_dst.sa.sa_family) {
sys/netinet/ipsec_output.c
472
if ((tdb->tdb_flags & TDBF_UDPENCAP) != 0)
sys/netinet/ipsec_output.c
490
if ((tdb->tdb_flags & TDBF_UDPENCAP) != 0)
sys/netinet/ipsec_output.c
497
tdb->tdb_dst.sa.sa_family);
sys/netinet/ipsec_output.c
515
tdbi->dst = tdb->tdb_dst;
sys/netinet/ipsec_output.c
516
tdbi->proto = tdb->tdb_sproto;
sys/netinet/ipsec_output.c
517
tdbi->spi = tdb->tdb_spi;
sys/netinet/ipsec_output.c
518
tdbi->rdomain = tdb->tdb_rdomain;
sys/netinet/ipsec_output.c
523
tdbstat_pkt(tdb, tdb_opackets, tdb_obytes, m->m_pkthdr.len);
sys/netinet/ipsec_output.c
526
tdbo = tdb_ref(tdb->tdb_onext);
sys/netinet/ipsec_output.c
530
tdb->tdb_dst.sa.sa_family, 0, IPSP_DF_INHERIT);
sys/netinet/ipsec_output.c
537
pf_tag_packet(m, tdb->tdb_tag, -1);
sys/netinet/ipsec_output.c
540
if (tdb->tdb_rdomain != tdb->tdb_rdomain_post)
sys/netinet/ipsec_output.c
541
m->m_pkthdr.ph_rtableid = tdb->tdb_rdomain_post;
sys/netinet/ipsec_output.c
548
switch (tdb->tdb_dst.sa.sa_family) {
sys/netinet/ipsec_output.c
573
ipsec_hdrsz(struct tdb *tdbp)
sys/netinet/ipsec_output.c
631
struct tdb *tdbp;
sys/netinet/ipsec_output.c
78
ipsp_process_packet(struct mbuf *m, struct tdb *tdb, int af, int tunalready,
sys/netinet/ipsec_output.c
98
if ((tdb->tdb_sproto == IPPROTO_ESP && !atomic_load_int(&esp_enable)) ||
sys/netinet/ipsec_output.c
99
(tdb->tdb_sproto == IPPROTO_AH && !atomic_load_int(&ah_enable)) ||
sys/netinet/tcp_input.c
2140
struct tdb *tdb = NULL;
sys/netinet/tcp_input.c
2262
tdb = gettdbbysrcdst(rtable_l2(rtableid),
sys/netinet/tcp_input.c
2269
if (tdb == NULL && tp->t_state == TCPS_LISTEN)
sys/netinet/tcp_input.c
2282
if (tdb == NULL) {
sys/netinet/tcp_input.c
2287
if (tcp_signature(tdb, tp->pf, m, th, iphlen, 1, sig) < 0)
sys/netinet/tcp_input.c
2298
tdb_unref(tdb);
sys/netinet/tcp_input.c
2305
tdb_unref(tdb);
sys/netinet/tcp_input.c
4116
struct tdb *tdb;
sys/netinet/tcp_input.c
4139
tdb = gettdbbysrcdst(rtable_l2(sc->sc_rtableid),
sys/netinet/tcp_input.c
4141
if (tdb == NULL) {
sys/netinet/tcp_input.c
4150
if (tcp_signature(tdb, sc->sc_src.sa.sa_family, m, th,
sys/netinet/tcp_input.c
4153
tdb_unref(tdb);
sys/netinet/tcp_input.c
4156
tdb_unref(tdb);
sys/netinet/tcp_input.c
602
struct tdb *tdb = NULL;
sys/netinet/tcp_input.c
611
tdb = gettdb(tdbi->rdomain, tdbi->spi,
sys/netinet/tcp_input.c
615
tdb, inp ? &inp->inp_seclevel : NULL, NULL, NULL);
sys/netinet/tcp_input.c
616
tdb_unref(tdb);
sys/netinet/tcp_output.c
867
struct tdb *tdb;
sys/netinet/tcp_output.c
896
tdb = gettdbbysrcdst(rtable_l2(tp->t_inpcb->inp_rtableid),
sys/netinet/tcp_output.c
898
if (tdb == NULL) {
sys/netinet/tcp_output.c
903
if (tcp_signature(tdb, tp->pf, m, th, iphlen, 0,
sys/netinet/tcp_output.c
906
tdb_unref(tdb);
sys/netinet/tcp_output.c
909
tdb_unref(tdb);
sys/netinet/tcp_subr.c
1005
tcp_signature_tdb_zeroize(struct tdb *tdbp)
sys/netinet/tcp_subr.c
1017
tcp_signature_tdb_input(struct mbuf **mp, struct tdb *tdbp, int skip,
sys/netinet/tcp_subr.c
1025
tcp_signature_tdb_output(struct mbuf *m, struct tdb *tdbp, int skip,
sys/netinet/tcp_subr.c
1040
tcp_signature(struct tdb *tdb, int af, struct mbuf *m, struct tcphdr *th,
sys/netinet/tcp_subr.c
1106
MD5Update(&ctx, tdb->tdb_amxkey, tdb->tdb_amxkeylen);
sys/netinet/tcp_subr.c
989
tcp_signature_tdb_init(struct tdb *tdbp, const struct xformsw *xsp,
sys/netinet/tcp_var.h
708
struct tdb;
sys/netinet/tcp_var.h
795
int tcp_signature(struct tdb *, int, struct mbuf *, struct tcphdr *,
sys/netinet/udp_usrreq.c
557
struct tdb *tdb;
sys/netinet/udp_usrreq.c
563
tdb = gettdb(tdbi->rdomain, tdbi->spi,
sys/netinet/udp_usrreq.c
566
tdb = NULL;
sys/netinet/udp_usrreq.c
568
tdb, inp ? &inp->inp_seclevel : NULL, NULL, NULL);
sys/netinet/udp_usrreq.c
571
tdb_unref(tdb);
sys/netinet/udp_usrreq.c
575
if (tdb && tdb->tdb_ids)
sys/netinet/udp_usrreq.c
576
ipsecflowinfo = tdb->tdb_ids->id_flow;
sys/netinet/udp_usrreq.c
577
tdb_unref(tdb);
sys/netinet6/ip6_forward.c
170
error = ip6_output_ipsec_lookup(m, NULL, &tdb);
sys/netinet6/ip6_forward.c
223
if (tdb != NULL) {
sys/netinet6/ip6_forward.c
225
error = ip6_output_ipsec_send(tdb, m, ro, orig_rtableid, 0, 1);
sys/netinet6/ip6_forward.c
433
tdb_unref(tdb);
sys/netinet6/ip6_forward.c
95
struct tdb *tdb = NULL;
sys/netinet6/ip6_output.c
142
int ip6_output_ipsec_pmtu_update(struct tdb *, struct route *,
sys/netinet6/ip6_output.c
182
struct tdb *tdb = NULL;
sys/netinet6/ip6_output.c
214
error = ip6_output_ipsec_lookup(m, seclevel, &tdb);
sys/netinet6/ip6_output.c
2743
struct tdb **tdbout)
sys/netinet6/ip6_output.c
2745
struct tdb *tdb;
sys/netinet6/ip6_output.c
2757
IPSP_DIRECTION_OUT, NULL, seclevel, &tdb, NULL);
sys/netinet6/ip6_output.c
2758
if (error || tdb == NULL) {
sys/netinet6/ip6_output.c
2767
if (tdbi->spi == tdb->tdb_spi &&
sys/netinet6/ip6_output.c
2768
tdbi->proto == tdb->tdb_sproto &&
sys/netinet6/ip6_output.c
2769
tdbi->rdomain == tdb->tdb_rdomain &&
sys/netinet6/ip6_output.c
2770
!memcmp(&tdbi->dst, &tdb->tdb_dst,
sys/netinet6/ip6_output.c
2773
tdb_unref(tdb);
sys/netinet6/ip6_output.c
2778
*tdbout = tdb;
sys/netinet6/ip6_output.c
2783
ip6_output_ipsec_pmtu_update(struct tdb *tdb, struct route *ro,
sys/netinet6/ip6_output.c
2813
ntohl(tdb->tdb_spi), tdb->tdb_mtu, rt, rt_mtucloned);
sys/netinet6/ip6_output.c
2815
atomic_store_int(&rt->rt_mtu, tdb->tdb_mtu);
sys/netinet6/ip6_output.c
2829
ip6_output_ipsec_send(struct tdb *tdb, struct mbuf *m, struct route *ro,
sys/netinet6/ip6_output.c
2844
if ((encif = enc_getif(tdb->tdb_rdomain, tdb->tdb_tap)) == NULL ||
sys/netinet6/ip6_output.c
2863
m->m_pkthdr.ph_mss <= tdb->tdb_mtu) {
sys/netinet6/ip6_output.c
2872
if (ip_mtudisc_local && tdb->tdb_mtu &&
sys/netinet6/ip6_output.c
2873
len > tdb->tdb_mtu && tdb->tdb_mtutimeout > gettime()) {
sys/netinet6/ip6_output.c
2876
transportmode = (tdb->tdb_dst.sa.sa_family == AF_INET6) &&
sys/netinet6/ip6_output.c
2877
(IN6_ARE_ADDR_EQUAL(&tdb->tdb_dst.sin6.sin6_addr, &dst));
sys/netinet6/ip6_output.c
2878
error = ip6_output_ipsec_pmtu_update(tdb, ro, &dst, ifidx,
sys/netinet6/ip6_output.c
2882
tdbstat_inc(tdb, tdb_odrops);
sys/netinet6/ip6_output.c
2886
ipsec_adjust_mtu(m, tdb->tdb_mtu);
sys/netinet6/ip6_output.c
2914
error = ipsp_process_packet(m, tdb, AF_INET6, tunalready,
sys/netinet6/ip6_output.c
2924
tdbstat_inc(tdb, tdb_odrops);
sys/netinet6/ip6_output.c
2929
ip6_output_ipsec_pmtu_update(tdb, ro, &dst, ifidx, rtableid, 0);
sys/netinet6/ip6_output.c
427
if (tdb != NULL) {
sys/netinet6/ip6_output.c
437
error = ip6_output_ipsec_send(tdb, m, ro, orig_rtableid,
sys/netinet6/ip6_output.c
777
tdb_unref(tdb);
sys/netinet6/ip6_var.h
370
struct tdb;
sys/netinet6/ip6_var.h
372
struct tdb **);
sys/netinet6/ip6_var.h
373
int ip6_output_ipsec_send(struct tdb *, struct mbuf *, struct route *,