Symbol: mrt
sys/arch/amd64/amd64/amd64_mem.c
157
int i, j, msr, mrt;
sys/arch/amd64/amd64/amd64_mem.c
170
mrt = mtrr2mrt(msrv & 0xff);
sys/arch/amd64/amd64/amd64_mem.c
171
if (mrt == MDF_UNKNOWN)
sys/arch/amd64/amd64/amd64_mem.c
172
mrt = MDF_UNCACHEABLE;
sys/arch/amd64/amd64/amd64_mem.c
174
mrt | MDF_ACTIVE;
sys/arch/amd64/amd64/amd64_mem.c
186
mrt = mtrr2mrt(msrv & 0xff);
sys/arch/amd64/amd64/amd64_mem.c
187
if (mrt == MDF_UNKNOWN)
sys/arch/amd64/amd64/amd64_mem.c
188
mrt = MDF_UNCACHEABLE;
sys/arch/amd64/amd64/amd64_mem.c
190
mrt | MDF_ACTIVE;
sys/arch/amd64/amd64/amd64_mem.c
202
mrt = mtrr2mrt(msrv & 0xff);
sys/arch/amd64/amd64/amd64_mem.c
203
if (mrt == MDF_UNKNOWN)
sys/arch/amd64/amd64/amd64_mem.c
204
mrt = MDF_UNCACHEABLE;
sys/arch/amd64/amd64/amd64_mem.c
206
mrt | MDF_ACTIVE;
sys/arch/amd64/amd64/amd64_mem.c
219
mrt = mtrr2mrt(msrv & 0xff);
sys/arch/amd64/amd64/amd64_mem.c
220
if (mrt == MDF_UNKNOWN)
sys/arch/amd64/amd64/amd64_mem.c
221
mrt = MDF_UNCACHEABLE;
sys/arch/amd64/amd64/amd64_mem.c
222
mrd->mr_flags = (mrd->mr_flags & ~MDF_ATTRMASK) | mrt;
sys/arch/i386/i386/i686_mem.c
156
int i, j, msr, mrt;
sys/arch/i386/i386/i686_mem.c
169
mrt = mtrr2mrt(msrv & 0xff);
sys/arch/i386/i386/i686_mem.c
170
if (mrt == MDF_UNKNOWN)
sys/arch/i386/i386/i686_mem.c
171
mrt = MDF_UNCACHEABLE;
sys/arch/i386/i386/i686_mem.c
173
mrt | MDF_ACTIVE;
sys/arch/i386/i386/i686_mem.c
185
mrt = mtrr2mrt(msrv & 0xff);
sys/arch/i386/i386/i686_mem.c
186
if (mrt == MDF_UNKNOWN)
sys/arch/i386/i386/i686_mem.c
187
mrt = MDF_UNCACHEABLE;
sys/arch/i386/i386/i686_mem.c
189
mrt | MDF_ACTIVE;
sys/arch/i386/i386/i686_mem.c
201
mrt = mtrr2mrt(msrv & 0xff);
sys/arch/i386/i386/i686_mem.c
202
if (mrt == MDF_UNKNOWN)
sys/arch/i386/i386/i686_mem.c
203
mrt = MDF_UNCACHEABLE;
sys/arch/i386/i386/i686_mem.c
205
mrt | MDF_ACTIVE;
sys/arch/i386/i386/i686_mem.c
218
mrt = mtrr2mrt(msrv & 0xff);
sys/arch/i386/i386/i686_mem.c
219
if (mrt == MDF_UNKNOWN)
sys/arch/i386/i386/i686_mem.c
220
mrt = MDF_UNCACHEABLE;
sys/arch/i386/i386/i686_mem.c
221
mrd->mr_flags = (mrd->mr_flags & ~MDF_ATTRMASK) | mrt;
sys/net/rtable.c
509
struct rtentry *mrt;
sys/net/rtable.c
515
mrt = rt;
sys/net/rtable.c
516
while ((mrt = SMR_PTR_GET(&mrt->rt_next)) != NULL) {
sys/net/rtable.c
517
if (mrt->rt_priority == prio)
sys/net/rtable.c
530
mrt = rt;
sys/net/rtable.c
532
if (mrt->rt_priority == prio) {
sys/net/rtable.c
533
rt = mrt;
sys/net/rtable.c
536
mrt = SMR_PTR_GET(&mrt->rt_next);
sys/net/rtable.c
537
if (mrt == NULL)
sys/net/rtable.c
590
struct rtentry *mrt;
sys/net/rtable.c
602
for (mrt = SMR_PTR_GET_LOCKED(&an->an_value);
sys/net/rtable.c
603
mrt != NULL;
sys/net/rtable.c
604
mrt = SMR_PTR_GET_LOCKED(&mrt->rt_next)) {
sys/net/rtable.c
606
(mrt->rt_priority & RTP_MASK) != (prio & RTP_MASK))
sys/net/rtable.c
610
(mrt->rt_gateway->sa_len == gateway->sa_len &&
sys/net/rtable.c
611
memcmp(mrt->rt_gateway, gateway,
sys/net/rtable.c
623
for (mrt = SMR_PTR_GET_LOCKED(&an->an_value);
sys/net/rtable.c
624
mrt != NULL;
sys/net/rtable.c
625
mrt = SMR_PTR_GET_LOCKED(&mrt->rt_next)) {
sys/net/rtable.c
626
if ((mrt->rt_priority & RTP_MASK) !=
sys/net/rtable.c
630
SET(mrt->rt_flags, RTF_MPATH);
sys/net/rtable.c
656
struct rtentry *mrt;
sys/net/rtable.c
701
while ((mrt = SMR_PTR_GET_LOCKED(prt)) != NULL) {
sys/net/rtable.c
702
if (mrt == rt) {
sys/net/rtable.c
705
SMR_PTR_GET_LOCKED(&mrt->rt_next));
sys/net/rtable.c
706
} else if ((mrt->rt_priority & RTP_MASK) ==
sys/net/rtable.c
709
nrt = mrt;
sys/net/rtable.c
711
prt = &mrt->rt_next;
sys/net/rtable.c
869
struct rtentry *mrt;
sys/net/rtable.c
872
while ((mrt = SMR_PTR_GET_LOCKED(prt)) != NULL) {
sys/net/rtable.c
873
if (mrt == rt)
sys/net/rtable.c
875
prt = &mrt->rt_next;
sys/net/rtable.c
877
KASSERT(mrt != NULL);
sys/net/rtable.c
892
struct rtentry *mrt, **prt;
sys/net/rtable.c
898
while ((mrt = SMR_PTR_GET_LOCKED(prt)) != NULL) {
sys/net/rtable.c
899
if (mrt->rt_priority > prio)
sys/net/rtable.c
902
prt = &mrt->rt_next;
sys/net/rtable.c
905
SMR_PTR_SET_LOCKED(&rt->rt_next, mrt);
usr.sbin/bgpd/bgpd.c
342
timeout = mrt_timeout(conf->mrt, timeout);
usr.sbin/bgpd/bgpd.c
455
mrt_handler(conf->mrt);
usr.sbin/bgpd/bgpd.c
835
mrt_reconfigure(conf->mrt);
usr.sbin/bgpd/bgpd.h
1475
LIST_ENTRY(mrt) entry;
usr.sbin/bgpd/bgpd.h
1486
struct mrt conf;
usr.sbin/bgpd/bgpd.h
1570
void mrt_write(struct mrt *);
usr.sbin/bgpd/bgpd.h
1571
void mrt_clean(struct mrt *);
usr.sbin/bgpd/bgpd.h
1576
struct mrt *mrt_get(struct mrt_head *, struct mrt *);
usr.sbin/bgpd/bgpd.h
333
struct mrt_head *mrt;
usr.sbin/bgpd/bgpd.h
775
LIST_HEAD(mrt_head, mrt);
usr.sbin/bgpd/config.c
260
struct mrt *m;
usr.sbin/bgpd/config.c
281
while ((m = LIST_FIRST(conf->mrt)) != NULL) {
usr.sbin/bgpd/config.c
285
free(conf->mrt);
usr.sbin/bgpd/config.c
335
mrt_mergeconfig(xconf->mrt, conf->mrt);
usr.sbin/bgpd/config.c
52
if ((conf->mrt = calloc(1, sizeof(struct mrt_head))) == NULL)
usr.sbin/bgpd/config.c
71
LIST_INIT(conf->mrt);
usr.sbin/bgpd/mrt.c
1102
mrt_write(struct mrt *mrt)
usr.sbin/bgpd/mrt.c
1104
if (ibuf_write(mrt->fd, mrt->wbuf) == -1) {
usr.sbin/bgpd/mrt.c
1106
mrt_clean(mrt);
usr.sbin/bgpd/mrt.c
1107
mrt_done(mrt);
usr.sbin/bgpd/mrt.c
1112
mrt_clean(struct mrt *mrt)
usr.sbin/bgpd/mrt.c
1114
close(mrt->fd);
usr.sbin/bgpd/mrt.c
1115
msgbuf_free(mrt->wbuf);
usr.sbin/bgpd/mrt.c
1116
mrt->wbuf = NULL;
usr.sbin/bgpd/mrt.c
1129
mrt_open(struct mrt *mrt)
usr.sbin/bgpd/mrt.c
1136
if (strftime(MRT2MC(mrt)->file, sizeof(MRT2MC(mrt)->file),
usr.sbin/bgpd/mrt.c
1137
MRT2MC(mrt)->name, localtime(&now)) == 0) {
usr.sbin/bgpd/mrt.c
1142
fd = open(MRT2MC(mrt)->file,
usr.sbin/bgpd/mrt.c
1145
log_warn("mrt_open %s", MRT2MC(mrt)->file);
usr.sbin/bgpd/mrt.c
1149
if (mrt->state == MRT_STATE_OPEN)
usr.sbin/bgpd/mrt.c
1154
if (imsg_compose(mrt_imsgbuf[TYPE2IDX(mrt->type)], type, 0, 0, fd,
usr.sbin/bgpd/mrt.c
1155
mrt, sizeof(struct mrt)) == -1)
usr.sbin/bgpd/mrt.c
1162
mrt_timeout(struct mrt_head *mrt, monotime_t timeout)
usr.sbin/bgpd/mrt.c
1164
struct mrt *m;
usr.sbin/bgpd/mrt.c
1168
LIST_FOREACH(m, mrt, entry) {
usr.sbin/bgpd/mrt.c
1189
mrt_reconfigure(struct mrt_head *mrt)
usr.sbin/bgpd/mrt.c
1191
struct mrt *m, *xm;
usr.sbin/bgpd/mrt.c
1193
LIST_FOREACH_SAFE(m, mrt, entry, xm) {
usr.sbin/bgpd/mrt.c
1206
IMSG_MRT_CLOSE, 0, 0, -1, m, sizeof(struct mrt)) ==
usr.sbin/bgpd/mrt.c
1218
mrt_handler(struct mrt_head *mrt)
usr.sbin/bgpd/mrt.c
1220
struct mrt *m;
usr.sbin/bgpd/mrt.c
1222
LIST_FOREACH(m, mrt, entry) {
usr.sbin/bgpd/mrt.c
1236
struct mrt *
usr.sbin/bgpd/mrt.c
1237
mrt_get(struct mrt_head *c, struct mrt *m)
usr.sbin/bgpd/mrt.c
1239
struct mrt *t;
usr.sbin/bgpd/mrt.c
1256
struct mrt *m, *xm;
usr.sbin/bgpd/mrt.c
128
mrt_bgp_msg_subtype(struct mrt *mrt, struct ibuf *pkg, struct peer *peer,
usr.sbin/bgpd/mrt.c
164
mrt_dump_bgp_msg(struct mrt *mrt, struct ibuf *pkg, struct peer *peer,
usr.sbin/bgpd/mrt.c
172
if (mrt->type == MRT_ALL_IN || mrt->type == MRT_UPDATE_IN)
usr.sbin/bgpd/mrt.c
175
subtype = mrt_bgp_msg_subtype(mrt, pkg, peer, msgtype, in);
usr.sbin/bgpd/mrt.c
184
ibuf_close(mrt->wbuf, buf);
usr.sbin/bgpd/mrt.c
193
mrt_dump_state(struct mrt *mrt, struct peer *peer)
usr.sbin/bgpd/mrt.c
210
ibuf_close(mrt->wbuf, buf);
usr.sbin/bgpd/mrt.c
352
mrt_dump_entry_mp(struct mrt *mrt, struct prefix *p, uint16_t snum,
usr.sbin/bgpd/mrt.c
39
static int mrt_dump_entry_mp(struct mrt *, struct prefix *, uint16_t,
usr.sbin/bgpd/mrt.c
41
static int mrt_dump_entry(struct mrt *, struct prefix *, uint16_t,
usr.sbin/bgpd/mrt.c
43
static int mrt_dump_entry_v2(struct mrt *, struct rib_entry *, uint32_t);
usr.sbin/bgpd/mrt.c
49
static int mrt_open(struct mrt *);
usr.sbin/bgpd/mrt.c
505
ibuf_close(mrt->wbuf, hbuf);
usr.sbin/bgpd/mrt.c
506
ibuf_close(mrt->wbuf, h2buf);
usr.sbin/bgpd/mrt.c
507
ibuf_close(mrt->wbuf, buf);
usr.sbin/bgpd/mrt.c
520
mrt_dump_entry(struct mrt *mrt, struct prefix *p, uint16_t snum,
usr.sbin/bgpd/mrt.c
598
ibuf_close(mrt->wbuf, hbuf);
usr.sbin/bgpd/mrt.c
599
ibuf_close(mrt->wbuf, buf);
usr.sbin/bgpd/mrt.c
683
mrt_dump_entry_v2(struct mrt *mrt, struct rib_entry *re, uint32_t snum)
usr.sbin/bgpd/mrt.c
749
ibuf_close(mrt->wbuf, hbuf);
usr.sbin/bgpd/mrt.c
750
ibuf_close(mrt->wbuf, nbuf);
usr.sbin/bgpd/mrt.c
768
ibuf_close(mrt->wbuf, hbuf);
usr.sbin/bgpd/mrt.c
769
ibuf_close(mrt->wbuf, apbuf);
usr.sbin/bgpd/mrt.c
806
mrt_dump_v2_hdr(struct mrt *mrt, struct bgpd_config *conf)
usr.sbin/bgpd/mrt.c
820
nlen = strlen(mrt->rib);
usr.sbin/bgpd/mrt.c
825
if (ibuf_add(buf, mrt->rib, nlen) == -1)
usr.sbin/bgpd/mrt.c
845
ibuf_close(mrt->wbuf, hbuf);
usr.sbin/bgpd/mrt.c
846
ibuf_close(mrt->wbuf, buf);
usr.sbin/bgpd/mrt.c
907
struct mrt *mrtbuf = ptr;
usr.sbin/bgpd/mrt.c
931
mrt_done(struct mrt *mrtbuf)
usr.sbin/bgpd/parse.y
4731
struct mrt *m, *n;
usr.sbin/bgpd/parse.y
4733
LIST_FOREACH(m, conf->mrt, entry) {
usr.sbin/bgpd/parse.y
4789
LIST_INSERT_HEAD(conf->mrt, n, entry);
usr.sbin/bgpd/printconf.c
1191
struct mrt *m;
usr.sbin/bgpd/printconf.c
1193
if (conf->mrt == NULL)
usr.sbin/bgpd/printconf.c
1201
LIST_FOREACH(m, conf->mrt, entry)
usr.sbin/bgpd/printconf.c
1215
if (!LIST_EMPTY(conf->mrt))
usr.sbin/bgpd/rde.c
143
struct mrt mrt;
usr.sbin/bgpd/rde.c
256
if (msgbuf_queuelen(mctx->mrt.wbuf) > 0) {
usr.sbin/bgpd/rde.c
257
pfd[i].fd = mctx->mrt.fd;
usr.sbin/bgpd/rde.c
260
} else if (mctx->mrt.state == MRT_STATE_REMOVE) {
usr.sbin/bgpd/rde.c
261
mrt_clean(&mctx->mrt);
usr.sbin/bgpd/rde.c
318
if (pfd[j].fd == mctx->mrt.fd &&
usr.sbin/bgpd/rde.c
320
mrt_write(&mctx->mrt);
usr.sbin/bgpd/rde.c
3489
struct mrt *mrt = arg;
usr.sbin/bgpd/rde.c
3491
return (msgbuf_queuelen(mrt->wbuf) > SESS_MSG_LOW_MARK);
usr.sbin/bgpd/rde.c
3501
rde_dump_mrt_new(struct mrt *mrt, pid_t pid, int fd)
usr.sbin/bgpd/rde.c
3510
memcpy(&ctx->mrt, mrt, sizeof(struct mrt));
usr.sbin/bgpd/rde.c
3511
if ((ctx->mrt.wbuf = msgbuf_new()) == NULL) {
usr.sbin/bgpd/rde.c
3516
ctx->mrt.fd = fd;
usr.sbin/bgpd/rde.c
3517
ctx->mrt.state = MRT_STATE_RUNNING;
usr.sbin/bgpd/rde.c
3518
rid = rib_find(ctx->mrt.rib);
usr.sbin/bgpd/rde.c
3520
log_warnx("non existing RIB %s for mrt dump", ctx->mrt.rib);
usr.sbin/bgpd/rde.c
3525
if (ctx->mrt.type == MRT_TABLE_DUMP_V2)
usr.sbin/bgpd/rde.c
3526
mrt_dump_v2_hdr(&ctx->mrt, conf);
usr.sbin/bgpd/rde.c
3528
if (rib_dump_new(rid, AID_UNSPEC, CTL_MSG_HIGH_MARK, &ctx->mrt,
usr.sbin/bgpd/rde.c
392
mrt_clean(&mctx->mrt);
usr.sbin/bgpd/rde.c
72
void rde_dump_mrt_new(struct mrt *, pid_t, int);
usr.sbin/bgpd/rde.c
908
struct mrt xmrt;
usr.sbin/bgpd/rde.h
388
int mrt_dump_v2_hdr(struct mrt *, struct bgpd_config *);
usr.sbin/bgpd/session.c
1108
struct mrt *mrt;
usr.sbin/bgpd/session.c
1110
LIST_FOREACH(mrt, &mrthead, entry) {
usr.sbin/bgpd/session.c
1111
if (mrt->type != MRT_ALL_IN && mrt->type != MRT_ALL_OUT)
usr.sbin/bgpd/session.c
1113
if ((mrt->peer_id == 0 && mrt->group_id == 0) ||
usr.sbin/bgpd/session.c
1114
mrt->peer_id == p->conf.id || (mrt->group_id != 0 &&
usr.sbin/bgpd/session.c
1115
mrt->group_id == p->conf.groupid))
usr.sbin/bgpd/session.c
1116
mrt_dump_state(mrt, p);
usr.sbin/bgpd/session.c
1124
struct mrt *mrt;
usr.sbin/bgpd/session.c
1126
LIST_FOREACH(mrt, &mrthead, entry) {
usr.sbin/bgpd/session.c
1128
if (mrt->type != MRT_ALL_IN &&
usr.sbin/bgpd/session.c
1129
(mrt->type != MRT_UPDATE_IN ||
usr.sbin/bgpd/session.c
1133
if (mrt->type != MRT_ALL_OUT &&
usr.sbin/bgpd/session.c
1134
(mrt->type != MRT_UPDATE_OUT ||
usr.sbin/bgpd/session.c
1138
if ((mrt->peer_id == 0 && mrt->group_id == 0) ||
usr.sbin/bgpd/session.c
1139
mrt->peer_id == p->conf.id || (mrt->group_id != 0 &&
usr.sbin/bgpd/session.c
1140
mrt->group_id == p->conf.groupid))
usr.sbin/bgpd/session.c
1141
mrt_dump_bgp_msg(mrt, msg, p, msgtype);
usr.sbin/bgpd/session.c
1185
struct mrt xmrt;
usr.sbin/bgpd/session.c
1187
struct mrt *mrt;
usr.sbin/bgpd/session.c
1404
mrt = mrt_get(&mrthead, &xmrt);
usr.sbin/bgpd/session.c
1405
if (mrt == NULL) {
usr.sbin/bgpd/session.c
1407
mrt = calloc(1, sizeof(struct mrt));
usr.sbin/bgpd/session.c
1408
if (mrt == NULL)
usr.sbin/bgpd/session.c
1410
memcpy(mrt, &xmrt, sizeof(struct mrt));
usr.sbin/bgpd/session.c
1411
if ((mrt->wbuf = msgbuf_new()) == NULL)
usr.sbin/bgpd/session.c
1413
LIST_INSERT_HEAD(&mrthead, mrt, entry);
usr.sbin/bgpd/session.c
1416
close(mrt->fd);
usr.sbin/bgpd/session.c
1418
mrt->fd = xmrt.fd;
usr.sbin/bgpd/session.c
1428
mrt = mrt_get(&mrthead, &xmrt);
usr.sbin/bgpd/session.c
1429
if (mrt != NULL)
usr.sbin/bgpd/session.c
1430
mrt_done(mrt);
usr.sbin/bgpd/session.c
182
struct mrt *m, *xm, **mrt_l = NULL;
usr.sbin/bgpd/session.c
290
sizeof(struct mrt *))) == NULL) {
usr.sbin/bgpd/session.h
276
void mrt_dump_bgp_msg(struct mrt *, struct ibuf *, struct peer *,
usr.sbin/bgpd/session.h
278
void mrt_dump_state(struct mrt *, struct peer *);
usr.sbin/bgpd/session.h
279
void mrt_done(struct mrt *);