route
pfrule : action dir logquick interface route af proto fromto
} route;
route : /* empty */ {
%type <v.route> route
uint32_t route = 0;
route |=
route = route >> 4;
ctlrport, route, (uintptr_t)hub);
cp[0] |= XHCI_SCTX_0_ROUTE_SET(route);
struct route ro;
struct route ro;
struct route *rop = &ro;
struct route ro;
struct route ro;
rtalloc_noclone((struct route *)&ro, NO_CLONING);
struct route ro;
rtalloc_noclone((struct route *)&ro, NO_CLONING);
struct route iproute;
struct route *ro = NULL;
struct route *tr_ro;
if_tunnel_get_ro(percpu_t *ro_percpu, struct route **ro, kmutex_t **lock)
struct route sc_ro;
const npf_ext_route_t *route = meta;
ifp = ifunit(route->ifname);
_rtcache_init(struct route *ro, int flag)
rtcache_init(struct route *ro)
rtcache_init_noclone(struct route *ro)
rtcache_update(struct route *ro, int clone)
rtcache_copy(struct route *new_ro, struct route *old_ro)
rtcache_trace(const char *func, struct rtentry *rt, struct route *ro)
rtcache_ref(struct rtentry *rt, struct route *ro)
rtcache_unref(struct rtentry *rt, struct route *ro)
rtcache_validate(struct route *ro)
rtcache_lookup2(struct route *ro, const struct sockaddr *dst,
rtcache_free(struct route *ro)
rtcache_setdst(struct route *ro, const struct sockaddr *sa)
struct route **rop = p;
return percpu_create(sizeof(struct route *),
static void rtcache_ref(struct rtentry *, struct route *);
void rtcache_copy(struct route *, struct route *);
void rtcache_free(struct route *);
rtcache_init(struct route *);
rtcache_init_noclone(struct route *);
rtcache_lookup2(struct route *, const struct sockaddr *, int,
int rtcache_setdst(struct route *, const struct sockaddr *);
rtcache_update(struct route *, int);
rtcache_invariants(const struct route *ro)
rtcache_lookup1(struct route *ro, const struct sockaddr *dst, int clone)
rtcache_lookup(struct route *ro, const struct sockaddr *dst)
rtcache_getdst(const struct route *ro)
rtcache_validate(struct route *);
void rtcache_unref(struct rtentry *, struct route *);
static __inline struct route *
return *(struct route **)percpu_getref(pc);
PR_WRAP_USRREQS(route);
struct route;
int ddp_route(struct mbuf *, struct route *);
struct route forwro;
ddp_route(struct mbuf *m, struct route *ro)
struct route *ro;
struct route ddp_route;
in_selectsrc(struct sockaddr_in *sin, struct route *ro,
struct route;
struct route *, int, struct ip_moptions *, int *, struct psref *);
struct route *ro_pc;
struct route *ro_pc;
struct route *ro;
struct route inp_route; /* placeholder for routing entry */
ipflow_create(struct route *ro, struct mbuf *m)
struct route icmproute;
struct route *ro;
struct route *ro;
struct route v_route; /* cached route if this is a tunnel */
struct route ro;
ip_output(struct mbuf *m0, struct mbuf *opt, struct route *ro, int flags,
struct route iproute;
int ip_output(struct mbuf *, struct mbuf *, struct route *, int,
void ipflow_create(struct route *, struct mbuf *);
struct route ipf_ro; /* associated route entry */
struct sctp_tcb *stcb, struct route *ro, struct sctp_nets *net,
struct sctp_tcb *stcb, struct route *ro, struct sctp_nets *net,
struct route *ro;
static struct route iproute;
ro = (struct route *)&net->ro;
static struct route ip6route;
ro = (struct route *)&ip6route;
ro = (struct route *)&net->ro;
struct route *ro;
static struct route iproute;
static struct route iproute6;
ro = (struct route *)&iproute6;
struct route ro;
struct route ro;
struct route ro;
struct route ro;
struct route ro;
struct route ro;
struct sctp_tcb *, struct route *, struct sctp_nets *, int);
struct sctp_tcb *, struct route *, struct sctp_nets *, int);
struct route ro;
stcb, (struct route *)&net->ro, net, 0);
struct route *ro = NULL;
struct route *ro;
struct route *ro;
struct route *ro;
ro = (struct route *)&tp->t_inpcb->inp_route;
struct route *ro;
struct route sc_route;
struct route *ro;
static struct route ro;
struct route ro;
struct route *ro_pc;
struct route *ro_pc;
struct route *ro_pc;
struct route *ro;
struct ip6_moptions *, struct route *, struct ifnet **, struct psref *);
struct ip6_moptions *mopts, struct route *ro, struct in6_addr *laddr,
struct route **ro, struct rtentry **retrt, bool count_discard)
struct route *ron;
struct ip6_moptions *mopts, struct route *ro, struct ifnet **retifp,
ip6flow_create(struct route *ro, struct mbuf *m)
struct route *ro = NULL;
struct route *ro;
static struct route ro;
struct route *ro = &inp->inp_route;
struct route *ro,
struct route ip6route;
struct route *ro_pmtu = NULL;
struct route ro;
struct route ip6f_ro; /* associated route entry */
int ip6_output(struct mbuf *, struct ip6_pktopts *, struct route *, int,
void ip6flow_create(struct route *, struct mbuf *);
struct route;
struct ip6_moptions *, struct route *, struct in6_addr *,
struct route **, struct rtentry **, bool);
struct route ip6po_rhi_route; /* Route to the 1st hop */
struct route ip6po_nhi_route; /* Route to the nexthop */
struct route ro;
struct route ro;
struct route *ro;
struct route *ro;
struct route *ro_pc;
struct route *ro_pc;
struct route *ro;
struct route sa_route; /* route cache */
LIST_HEAD(dom_rtlist, route);
struct rt *route = NULL;
if (route) {
route->next = xmalloc(sizeof(*route));
route = route->next;
routes = route = xmalloc(sizeof(*routes));
route->next = NULL;
memcpy(&route->dest.s_addr, p, 4);
memcpy(&route->gate.s_addr, p, 4);
route->net.s_addr = route_netmask(route->dest.s_addr);
if (route) {
route->next = xzalloc(sizeof(*route));
route = route->next;
routes = route = xzalloc(sizeof(*route));
memcpy(&route->gate.s_addr, p, 4);
TAILQ_FOREACH(rti, &rainfo->route, next)
TAILQ_FOREACH(rti, &rainfo->route, next) {
while ((rti = TAILQ_FIRST(&rai->route))) {
TAILQ_REMOVE(&rai->route, rti, next);
TAILQ_INIT(&tmp->route);
TAILQ_INSERT_TAIL(&tmp->route, rti, next);
TAILQ_FOREACH(rti, &rai->route, next) {
if (rti == TAILQ_FIRST(&rai->route))
TAILQ_HEAD(, rtinfo) route;