Lines Matching defs:kr_state

57 } kr_state;
138 kr_state.fib_sync = fs;
139 kr_state.rdomain = rdomain;
140 kr_state.fib_prio = fib_prio;
142 if ((kr_state.fd = socket(AF_ROUTE,
149 if (setsockopt(kr_state.fd, SOL_SOCKET, SO_USELOOPBACK,
159 if (setsockopt(kr_state.fd, AF_ROUTE, ROUTE_PRIOFILTER, &filter_prio,
164 if (setsockopt(kr_state.fd, AF_ROUTE, ROUTE_FLAGFILTER, &filter_flags,
172 if (getsockopt(kr_state.fd, SOL_SOCKET, SO_RCVBUF,
178 setsockopt(kr_state.fd, SOL_SOCKET, SO_RCVBUF,
183 kr_state.pid = getpid();
184 kr_state.rtseq = 1;
192 event_set(&kr_state.ev, kr_state.fd, EV_READ | EV_PERSIST,
194 event_add(&kr_state.ev, NULL);
196 kr_state.reload_state = KR_RELOAD_IDLE;
197 evtimer_set(&kr_state.reload, kr_fib_reload_timer, NULL);
261 if (send_rtmsg(kr_state.fd, action, &kroute[i]) == -1)
273 kn->r.priority = kr_state.fib_prio;
298 kr_state.fib_prio);
309 if (kr->r.priority != kr_state.fib_prio)
313 if (send_rtmsg(kr_state.fd, RTM_DELETE, &kr->r) == -1)
328 kr_state.fib_prio)) == NULL)
354 if (kr_state.fib_sync == 1) /* already coupled */
357 kr_state.fib_sync = 1;
360 if (kr->r.priority == kr_state.fib_prio)
362 send_rtmsg(kr_state.fd, RTM_ADD, &kn->r);
373 if (kr_state.fib_sync == 0) /* already decoupled */
377 if (kr->r.priority == kr_state.fib_prio)
379 send_rtmsg(kr_state.fd, RTM_DELETE, &kn->r);
381 kr_state.fib_sync = 0;
389 if (kr_state.reload_state == KR_RELOAD_FETCH) {
391 kr_state.reload_state = KR_RELOAD_HOLD;
394 kr_state.reload_state = KR_RELOAD_IDLE;
407 if (evtimer_add(&kr_state.reload, &tv) == -1)
418 kr_state.fib_serial++;
429 if (kr->serial != kr_state.fib_serial) {
430 if (kr->r.priority == kr_state.fib_prio) {
431 kr->serial = kr_state.fib_serial;
432 if (send_rtmsg(kr_state.fd,
453 kr_state.fib_prio, fib_prio);
455 kr_state.fib_prio = fib_prio;
643 int filter_prio = kr_state.fib_prio;
652 if (setsockopt(kr_state.fd, AF_ROUTE, ROUTE_PRIOFILTER, &filter_prio,
754 kr->serial = kr_state.fib_serial;
1192 if (kr_state.fib_sync == 0)
1199 hdr.rtm_priority = kr_state.fib_prio;
1200 hdr.rtm_tableid = kr_state.rdomain; /* rtableid */
1205 hdr.rtm_seq = kr_state.rtseq++; /* overflow doesn't matter */
1299 mib[6] = kr_state.rdomain; /* rtableid */
1362 if ((n = read(kr_state.fd, &buf, sizeof(buf))) == -1) {
1423 if (rtm->rtm_tableid != kr_state.rdomain)
1427 rtm->rtm_pid != kr_state.pid)
1440 flags = (prio == kr_state.fib_prio) ?
1506 if ((mpath || prio == kr_state.fib_prio) &&
1538 kr->serial = kr_state.fib_serial;
1555 if (rtm->rtm_priority == kr_state.fib_prio) {
1558 rv = send_rtmsg(kr_state.fd,
1630 if (kr_state.reload_state == KR_RELOAD_IDLE) {
1636 kr_state.reload_state ==
1639 kr_state.reload_state = KR_RELOAD_FETCH;