Lines Matching refs:rt

259 	struct rtable *rt;  in fib_compute_spec_dst()  local
264 rt = skb_rtable(skb); in fib_compute_spec_dst()
265 if ((rt->rt_flags & (RTCF_BROADCAST | RTCF_MULTICAST | RTCF_LOCAL)) == in fib_compute_spec_dst()
408 static int rtentry_to_fib_config(struct net *net, int cmd, struct rtentry *rt, in rtentry_to_fib_config() argument
417 if (rt->rt_dst.sa_family != AF_INET) in rtentry_to_fib_config()
429 addr = sk_extract_addr(&rt->rt_dst); in rtentry_to_fib_config()
430 if (!(rt->rt_flags & RTF_HOST)) { in rtentry_to_fib_config()
431 __be32 mask = sk_extract_addr(&rt->rt_genmask); in rtentry_to_fib_config()
433 if (rt->rt_genmask.sa_family != AF_INET) { in rtentry_to_fib_config()
434 if (mask || rt->rt_genmask.sa_family) in rtentry_to_fib_config()
452 if (rt->rt_metric) in rtentry_to_fib_config()
453 cfg->fc_priority = rt->rt_metric - 1; in rtentry_to_fib_config()
455 if (rt->rt_flags & RTF_REJECT) { in rtentry_to_fib_config()
464 if (rt->rt_dev) { in rtentry_to_fib_config()
469 if (copy_from_user(devname, rt->rt_dev, IFNAMSIZ-1)) in rtentry_to_fib_config()
495 addr = sk_extract_addr(&rt->rt_gateway); in rtentry_to_fib_config()
496 if (rt->rt_gateway.sa_family == AF_INET && addr) { in rtentry_to_fib_config()
498 if (rt->rt_flags & RTF_GATEWAY && in rtentry_to_fib_config()
506 if (rt->rt_flags & RTF_GATEWAY && !cfg->fc_gw) in rtentry_to_fib_config()
512 if (rt->rt_flags & (RTF_MTU | RTF_WINDOW | RTF_IRTT)) { in rtentry_to_fib_config()
520 if (rt->rt_flags & RTF_MTU) in rtentry_to_fib_config()
521 len = put_rtax(mx, len, RTAX_ADVMSS, rt->rt_mtu - 40); in rtentry_to_fib_config()
523 if (rt->rt_flags & RTF_WINDOW) in rtentry_to_fib_config()
524 len = put_rtax(mx, len, RTAX_WINDOW, rt->rt_window); in rtentry_to_fib_config()
526 if (rt->rt_flags & RTF_IRTT) in rtentry_to_fib_config()
527 len = put_rtax(mx, len, RTAX_RTT, rt->rt_irtt << 3); in rtentry_to_fib_config()
543 struct rtentry rt; in ip_rt_ioctl() local
552 if (copy_from_user(&rt, arg, sizeof(rt))) in ip_rt_ioctl()
556 err = rtentry_to_fib_config(net, cmd, &rt, &cfg); in ip_rt_ioctl()