Symbol: lpm
sys/net/npf/lpm.c
103
lpm_t *lpm = kmem_zalloc(sizeof(*lpm), KM_SLEEP);
sys/net/npf/lpm.c
104
lpm->flags = flags;
sys/net/npf/lpm.c
105
return lpm;
sys/net/npf/lpm.c
109
lpm_clear(lpm_t *lpm, lpm_dtor_t dtor, void *arg)
sys/net/npf/lpm.c
112
lpm_hmap_t *hmap = &lpm->prefix[n];
sys/net/npf/lpm.c
139
dtor(arg, zero_address, 4, lpm->defvals[0]);
sys/net/npf/lpm.c
140
dtor(arg, zero_address, 16, lpm->defvals[1]);
sys/net/npf/lpm.c
142
memset(lpm->bitmask, 0, sizeof(lpm->bitmask));
sys/net/npf/lpm.c
143
memset(lpm->defvals, 0, sizeof(lpm->defvals));
sys/net/npf/lpm.c
147
lpm_destroy(lpm_t *lpm)
sys/net/npf/lpm.c
149
lpm_clear(lpm, NULL, NULL);
sys/net/npf/lpm.c
150
kmem_free(lpm, sizeof(*lpm));
sys/net/npf/lpm.c
320
lpm_insert(lpm_t *lpm, const void *addr,
sys/net/npf/lpm.c
330
lpm->defvals[LPM_LEN_IDX(len)] = val;
sys/net/npf/lpm.c
334
entry = hashmap_insert(&lpm->prefix[preflen], prefix, len, lpm->flags);
sys/net/npf/lpm.c
337
lpm->bitmask[n] |= 0x80000000U >> (preflen & 31);
sys/net/npf/lpm.c
348
lpm_remove(lpm_t *lpm, const void *addr, size_t len, unsigned preflen)
sys/net/npf/lpm.c
355
lpm->defvals[LPM_LEN_IDX(len)] = NULL;
sys/net/npf/lpm.c
359
return hashmap_remove(&lpm->prefix[preflen], prefix, len);
sys/net/npf/lpm.c
368
lpm_lookup(lpm_t *lpm, const void *addr, size_t len)
sys/net/npf/lpm.c
375
uint32_t bitmask = lpm->bitmask[n];
sys/net/npf/lpm.c
379
lpm_hmap_t *hmap = &lpm->prefix[preflen];
sys/net/npf/lpm.c
390
return lpm->defvals[LPM_LEN_IDX(len)];
sys/net/npf/lpm.c
399
lpm_lookup_prefix(lpm_t *lpm, const void *addr, size_t len, unsigned preflen)
sys/net/npf/lpm.c
407
return lpm->defvals[LPM_LEN_IDX(len)];
sys/net/npf/lpm.c
410
entry = hashmap_lookup(&lpm->prefix[preflen], prefix, len);
sys/net/npf/lpm.h
32
typedef struct lpm lpm_t;