Lines Matching refs:rtentry

105  * resides (statically defined) in the rtentry structure.
124 * The fields of the rtentry structure are protected in the following way:
192 * decrements the reference count, rt_refcnt, atomically on the rtentry.
223 #define RTD_DEBUG 0x1 /* enable or disable rtentry debug facility */
227 #define RTE_NAME "rtentry" /* name for zone and rt_lock */
229 static struct zone *rte_zone; /* special zone for rtentry */
231 #define RTE_ZONE_NAME RTE_NAME /* name of rtentry zone */
241 * Debug variant of rtentry structure.
244 struct rtentry rtd_entry; /* rtentry */
245 struct rtentry rtd_entry_saved; /* saved rtentry */
275 static void rte_lock_init(struct rtentry *);
276 static void rte_lock_destroy(struct rtentry *);
277 static inline struct rtentry *rte_alloc_debug(void);
278 static inline void rte_free_debug(struct rtentry *);
286 static struct rtentry *rtalloc1_common_locked(struct sockaddr *, int, uint32_t,
289 struct sockaddr *, struct sockaddr *, int, struct rtentry **,
291 static struct rtentry *rtalloc1_locked(struct sockaddr *, int, uint32_t);
307 static struct rtentry *rte_alloc(void);
308 static void rte_free(struct rtentry *);
309 static void rtfree_common(struct rtentry *, boolean_t);
391 #define RT(r) ((struct rtentry *)r)
408 rt_primary_default(struct rtentry *rt, struct sockaddr *dst)
715 struct rtentry *rt = (struct rtentry *)rn;
763 size = sizeof (struct rtentry);
804 struct rtentry *rt;
842 static struct rtentry *
848 struct rtentry *
859 static struct rtentry *
864 struct rtentry *rt, *newrt = NULL;
940 struct rtentry *
943 struct rtentry * entry;
951 struct rtentry *
955 struct rtentry * entry;
964 * Remove a reference count from an rtentry.
968 rtfree_locked(struct rtentry *rt)
974 rtfree_common(struct rtentry *rt, boolean_t locked)
1050 struct rtentry *rt_parent;
1056 * the rtentry must have been removed from the routing table
1111 * and the rtentry itself of course
1129 rtfree(struct rtentry *rt)
1140 rtunref(struct rtentry *p)
1170 * Add a reference count from an rtentry.
1173 rtref(struct rtentry *p)
1198 rtsetifa(struct rtentry *rt, struct ifaddr* ifa)
1231 struct rtentry **rtp)
1233 struct rtentry *rt = NULL;
1431 struct rtentry *rt = NULL;
1555 struct rtentry *rt0;
1561 struct sockaddr *netmask, int flags, struct rtentry **ret_nrt)
1570 struct rtentry **ret_nrt, unsigned int ifscope)
1599 struct rtentry **ret_nrt, unsigned int ifscope)
1602 struct rtentry *rt;
1610 void (*ifa_rtrequest)(int, struct rtentry *, struct sockaddr *);
1674 struct rtentry *gwrt = NULL;
1683 rt = (struct rtentry *)rn;
1743 * one more rtentry floating around that is not
1765 * This might result in another rtentry being freed if
1766 * we held its last reference. Do this after the rtentry
1775 * but it's up to it to free the rtentry as we won't be
1918 struct rtentry *rt2;
2027 * actually return a resultant rtentry and
2067 struct sockaddr *netmask, int flags, struct rtentry **ret_nrt)
2079 struct sockaddr *netmask, int flags, struct rtentry **ret_nrt,
2101 struct rtentry *rt = (struct rtentry *)rn;
2102 struct rtentry *rt0 = vp;
2138 struct rtentry *rt = (struct rtentry *)rn;
2140 struct rtentry *rt0 = ap->rt0;
2228 rt_setgate(struct rtentry *rt, struct sockaddr *dst, struct sockaddr *gate)
2305 struct rtentry *gwrt;
2482 rt_set_gwroute(struct rtentry *rt, struct sockaddr *dst, struct rtentry *gwrt)
2498 struct rtentry *ogwrt = rt->rt_gwroute;
2634 struct rtentry *
2719 struct rtentry *rt = RT(rn);
2801 rt_validate(struct rtentry *rt)
2837 struct rtentry *rt;
2841 struct rtentry *nrt = 0;
2872 * Get an rtentry that is in the routing tree and
2880 * Ok so we found the rtentry. it has an extra reference
2889 * If the interface in the rtentry doesn't match
2956 (int, struct rtentry *, struct sockaddr *);
3028 rt_expiry(struct rtentry *rt, u_int64_t base, u_int32_t delta)
3047 rt_set_idleref(struct rtentry *rt)
3058 rt_clear_idleref(struct rtentry *rt)
3070 rt_set_proxy(struct rtentry *rt, boolean_t set)
3098 rte_lock_init(struct rtentry *rt)
3104 rte_lock_destroy(struct rtentry *rt)
3111 rt_lock(struct rtentry *rt, boolean_t spin)
3123 rt_unlock(struct rtentry *rt)
3152 static struct rtentry *
3158 return ((struct rtentry *)zalloc(rte_zone));
3162 rte_free(struct rtentry *p)
3221 static inline struct rtentry *
3233 return ((struct rtentry *)rte);
3237 rte_free_debug(struct rtentry *p)
3251 bzero((caddr_t)p, offsetof(struct rtentry, rt_lock));
3330 route_to_gwroute(const struct sockaddr *net_dest, struct rtentry *hint0,
3331 struct rtentry **out_route)
3334 struct rtentry *rt = hint0, *hint = hint0;
3379 struct rtentry *gwrt = rt->rt_gwroute;
3465 struct rtentry *prt = hint->rt_parent;
3526 rt_revalidate_gwroute(struct rtentry *rt, struct rtentry *gwrt)