Lines Matching refs:rte
63 static void fib4_rte_to_nh_basic(struct rtentry *rte, struct in_addr dst,
65 static void fib4_rte_to_nh_extended(struct rtentry *rte, struct in_addr dst,
71 fib4_rte_to_nh_basic(struct rtentry *rte, struct in_addr dst,
77 pnh4->nh_ifp = rte->rt_ifa->ifa_ifp;
79 pnh4->nh_ifp = rte->rt_ifp;
80 pnh4->nh_mtu = min(rte->rt_mtu, rte->rt_ifp->if_mtu);
81 if (rte->rt_flags & RTF_GATEWAY) {
82 gw = (struct sockaddr_in *)rte->rt_gateway;
87 pnh4->nh_flags = fib_rte_to_nh_flags(rte->rt_flags);
88 gw = (struct sockaddr_in *)rt_key(rte);
95 fib4_rte_to_nh_extended(struct rtentry *rte, struct in_addr dst,
102 pnh4->nh_ifp = rte->rt_ifa->ifa_ifp;
104 pnh4->nh_ifp = rte->rt_ifp;
105 pnh4->nh_mtu = min(rte->rt_mtu, rte->rt_ifp->if_mtu);
106 if (rte->rt_flags & RTF_GATEWAY) {
107 gw = (struct sockaddr_in *)rte->rt_gateway;
112 pnh4->nh_flags = fib_rte_to_nh_flags(rte->rt_flags);
113 gw = (struct sockaddr_in *)rt_key(rte);
118 ia = ifatoia(rte->rt_ifa);
140 struct rtentry *rte;
155 rte = RNTORT(rn);
157 if (RT_LINK_IS_UP(rte->rt_ifp)) {
158 fib4_rte_to_nh_basic(rte, dst, flags, pnh4);
188 struct rtentry *rte;
203 rte = RNTORT(rn);
205 rte = rt_mpath_select(rte, flowid);
206 if (rte == NULL) {
212 if (RT_LINK_IS_UP(rte->rt_ifp)) {
213 fib4_rte_to_nh_extended(rte, dst, flags, pnh4);