RT
void RT(int);
case 'C': return(RT);
to.tv_sec = RT;
i = select(32, &rfds, NULL, NULL, RT ? &to : NULL);
if ((RT->rt_state & RS_IF)
&& RT->rt_ifp != 0
&& (RT->rt_ifp->int_state & IS_PASSIVE)
&& !(RT->rt_state & RS_MHOME))
&& !(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_gate != myaddr
&& RT->rt_gate != loopaddr)
nhop = RT->rt_gate;
metric = RT->rt_metric;
if (RT->rt_state & RS_MHOME) {
} else if (RT_ISHOST(RT)) {
if ((RT->rt_state & RS_LOCAL)
&& ((RT->rt_state & RS_SUBNET)
if ((RT->rt_state & RS_SUBNET)
&& (!(RT->rt_state & RS_IF)
for (rts = RT->rt_spares, i = NUM_SPARES; i != 0; i--, 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;
|| RT->rt_poison_time < now_garbage))
ag_check(dst, RT->rt_mask, 0, nhop, metric, pref,
RT->rt_seqno, RT->rt_tag, ags, supply_out);
if (RT->rt_state & RS_NET_SYN)
if (!(RT->rt_state & RS_IF)) {
if (RT_ISHOST(RT)
&& ntohl(RT->rt_dst) == RT->rt_gate)
if (RT->rt_ifp != 0 && (RT->rt_ifp->int_state & IS_EXTERNAL))
if (RT->rt_ifp == 0
|| (RT->rt_ifp->int_state & IS_REMOTE))
if ((RT->rt_state & RS_RDISC) && rip_sock < 0)
metric = RT->rt_metric;
ag_check(RT->rt_dst, RT->rt_mask, RT->rt_gate, 0,
rts = RT->rt_spares;
rts_delete(RT, rts);
if (RT->rt_ifp == 0 || !(RT->rt_ifp->int_state & IS_BROKE))
if (0 == (RT->rt_state & (RS_IF | RS_NET_SYN | RS_LOCAL))) {
rtbad(RT);
rtbad_sub(RT);
rts = RT->rt_spares;
if (!AGE_RT(RT->rt_state, ifp)) {
rtdelete(RT);
rts_delete(RT, rts);
if (now_stale <= RT->rt_time)
rtswitch(RT, 0);
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_ifp));
trace_bits(rs_bits, RT->rt_state, 0);
if (RT->rt_poison_time >= now_garbage
&& RT->rt_poison_metric < RT->rt_metric)
RT->rt_poison_metric, ts(RT->rt_poison_time));
rts = &RT->rt_spares[1];
rcu_pwr_gating_cntl |= RT(r_t) | IT(i_t);