📄 rtget.c,v
字号:
head 1.1;access;symbols;locks dls:1.1; strict;comment @ * @;1.1date 97.09.21.19.27.09; author dls; state Dist;branches;next ;desc@@1.1log@pre-3e code@text@/* rtget.c - rtget */#include <conf.h>#include <kernel.h>#include <network.h>/*------------------------------------------------------------------------ * rtget - get the route for a given IP destination *------------------------------------------------------------------------ */struct route *rtget(dest, local)IPaddr dest;Bool local; /* TRUE <=> locally generated traffic */{ struct route *prt; int hv; if (!Route.ri_valid) rtinit(); wait(Route.ri_mutex); hv = rthash(dest); for (prt=rttable[hv]; prt; prt=prt->rt_next) { if (prt->rt_ttl <= 0) continue; /* route has expired */ if (netmatch(dest, prt->rt_net, prt->rt_mask, local)) if (prt->rt_metric < RTM_INF) break; } if (prt == 0) prt = Route.ri_default; /* may be NULL too... */ if (prt != 0 && prt->rt_metric >= RTM_INF) prt = 0; if (prt) { prt->rt_refcnt++; prt->rt_usecnt++; } signal(Route.ri_mutex); return prt;}@
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -