RT
#ifdef RT
#ifdef RT
if ((RT->rt_state & RS_IF) && RT->rt_ifp != NULL &&
(RT->rt_ifp->int_state & IS_PASSIVE) &&
!(RT->rt_state & RS_MHOME))
if (RT->rt_spares[0].rts_origin == RO_FILE)
if (RT->rt_state & RS_NOPROPAGATE)
!(RT->rt_state & RS_MHOME))
dst = RT->rt_dst;
if (RT->rt_state & RS_NET_SYN) {
if (RT->rt_state & RS_NET_INT) {
ntohl(dst), RT->rt_mask))
ntohl(dst), RT->rt_mask))
if (!(RT->rt_state & RS_IF) && !(RT->rt_state & RS_MHOME) &&
RT->rt_gate != loopaddr)
nhop = RT->rt_gate;
metric = RT->rt_metric;
if (!RT_ISHOST(RT)) {
if ((ws.state & WS_ST_AG) && ((RT->rt_state & RS_SUBNET) ||
} else if (!(RT->rt_state & RS_MHOME)) {
if ((RT->rt_state & RS_LOCAL) || ridhosts ||
if ((RT->rt_state & RS_SUBNET) && !(ws.state & WS_ST_RIP2_ALL) &&
(ws.state & WS_ST_TO_ON_NET) && (!(RT->rt_state & RS_IF) ||
for (rts = RT->rt_spares, sparecount = 0;
sparecount < RT->rt_num_spares; sparecount++, rts++) {
if (RT->rt_poison_time < now_expire ||
RT->rt_poison_metric >= metric ||
RT->rt_spares[1].rts_gate == 0) {
if (RT->rt_poison_metric >= metric ||
RT->rt_poison_time < now_expire) {
RT->rt_poison_time = now.tv_sec;
RT->rt_poison_metric = metric;
pref = RT->rt_poison_metric + ws.metric;
if ((RT->rt_state & RS_STATIC) && (ws.ifp == RT->rt_ifp))
RT->rt_poison_time < now_garbage))
ag_check(dst, RT->rt_mask, 0, RT->rt_ifp, nhop, metric, pref,
RT->rt_seqno, RT->rt_tag, ags, supply_out);
if (RT->rt_state & RS_NET_SYN)
if ((RT->rt_state & RS_STATIC) &&
(RT->rt_spares[0].rts_origin != RO_FILE))
if (RT->rt_state & RS_BADIF)
if (!(RT->rt_state & RS_IF)) {
if (RT_ISHOST(RT) && ntohl(RT->rt_dst) == RT->rt_gate)
if (RT->rt_ifp != NULL && (RT->rt_ifp->int_state & IS_EXTERNAL))
if (RT->rt_ifp != NULL &&
!(RT->rt_ifp->int_if_flags & IFF_LOOPBACK) &&
(RT->rt_ifp->int_state & (IS_PASSIVE|IS_ALIAS)) ==
if (RT->rt_ifp == NULL || (RT->rt_ifp->int_state & IS_REMOTE)) {
if (!(RT->rt_ifp->int_state & IS_PASSIVE))
metric = RT->rt_metric;
for (i = 0; i < RT->rt_num_spares; i++) {
rts = &RT->rt_spares[i];
ag_check(RT->rt_dst, RT->rt_mask,
for (i = 1; i < RT->rt_num_spares; i++) {
rts_delete(RT, rts);
if (RT->rt_ifp == NULL || !(RT->rt_ifp->int_state & IS_BROKE))
if (!(RT->rt_state & (RS_IF | RS_NET_SYN | RS_LOCAL))) {
RT->rt_spares[0].rts_metric = HOPCNT_INFINITY;
rtswitch(RT, NULL);
rtbad(RT, (struct interface *)argp);
rtbad_sub(RT, (struct interface *)argp);
struct rt_entry *RT = (struct rt_entry *)rn;
rts = RT->rt_spares;
for (i = RT->rt_num_spares; i > 0; i--, rts++) {
if ((RT->rt_dst == RIP_DEFAULT) &&
if (i == RT->rt_num_spares && wire->metric_delta > 0) {
rtswitch(RT, NULL);
rts = RT->rt_spares;
for (i = RT->rt_num_spares; i != 0; i--, rts++) {
if (i == RT->rt_num_spares) {
if (!AGE_RT(RT->rt_state, rts->rts_origin, ifp)) {
i != RT->rt_num_spares) {
rts_delete(RT, rts);
if (now_stale <= RT->rt_time)
rtswitch(RT, NULL);
if (now_garbage > RT->rt_time) {
rtdelete(RT);
if (now.tv_sec - RT->rt_time > EXPIRE_TIME) {
struct rt_spare new = RT->rt_spares[0];
rtchange(RT, RT->rt_state, &new, 0);
rtname(RT->rt_dst, RT->rt_mask, RT->rt_gate));
print_rts(&RT->rt_spares[0], 0, 0, 0, 0,
AGE_RT(RT->rt_state, RT->rt_spares[0].rts_origin, RT->rt_ifp));
print_rtsorigin(origin_bits, RT->rt_spares[0].rts_origin);
trace_bits(rs_bits, RT->rt_state, _B_FALSE);
if (RT->rt_poison_time >= now_garbage &&
RT->rt_poison_metric < RT->rt_metric)
RT->rt_poison_metric, ts(RT->rt_poison_time));
(void) fprintf(ftrace, "%d spare slots", RT->rt_num_spares);
rts = &RT->rt_spares[1];
for (i = 1; i < RT->rt_num_spares; i++, rts++) {
#ifdef RT
#ifdef RT
extern struct _ACPI_EFI_RUNTIME_SERVICES *RT;