Lines Matching refs:rtm
2273 int ip6mr_get_route(struct net *net, struct sk_buff *skb, struct rtmsg *rtm, in ip6mr_get_route() argument
2338 err = mr_fill_mroute(mrt, skb, &cache->_c, rtm); in ip6mr_get_route()
2348 struct rtmsg *rtm; in ip6mr_fill_mroute() local
2351 nlh = nlmsg_put(skb, portid, seq, cmd, sizeof(*rtm), flags); in ip6mr_fill_mroute()
2355 rtm = nlmsg_data(nlh); in ip6mr_fill_mroute()
2356 rtm->rtm_family = RTNL_FAMILY_IP6MR; in ip6mr_fill_mroute()
2357 rtm->rtm_dst_len = 128; in ip6mr_fill_mroute()
2358 rtm->rtm_src_len = 128; in ip6mr_fill_mroute()
2359 rtm->rtm_tos = 0; in ip6mr_fill_mroute()
2360 rtm->rtm_table = mrt->id; in ip6mr_fill_mroute()
2363 rtm->rtm_type = RTN_MULTICAST; in ip6mr_fill_mroute()
2364 rtm->rtm_scope = RT_SCOPE_UNIVERSE; in ip6mr_fill_mroute()
2366 rtm->rtm_protocol = RTPROT_STATIC; in ip6mr_fill_mroute()
2368 rtm->rtm_protocol = RTPROT_MROUTED; in ip6mr_fill_mroute()
2369 rtm->rtm_flags = 0; in ip6mr_fill_mroute()
2374 err = mr_fill_mroute(mrt, skb, &c->_c, rtm); in ip6mr_fill_mroute()
2517 struct rtmsg *rtm; in ip6mr_rtm_valid_getroute_req() local
2520 err = nlmsg_parse(nlh, sizeof(*rtm), tb, RTA_MAX, ip6mr_getroute_policy, in ip6mr_rtm_valid_getroute_req()
2525 rtm = nlmsg_data(nlh); in ip6mr_rtm_valid_getroute_req()
2526 if ((rtm->rtm_src_len && rtm->rtm_src_len != 128) || in ip6mr_rtm_valid_getroute_req()
2527 (rtm->rtm_dst_len && rtm->rtm_dst_len != 128) || in ip6mr_rtm_valid_getroute_req()
2528 rtm->rtm_tos || rtm->rtm_table || rtm->rtm_protocol || in ip6mr_rtm_valid_getroute_req()
2529 rtm->rtm_scope || rtm->rtm_type || rtm->rtm_flags) { in ip6mr_rtm_valid_getroute_req()
2535 if ((tb[RTA_SRC] && !rtm->rtm_src_len) || in ip6mr_rtm_valid_getroute_req()
2536 (tb[RTA_DST] && !rtm->rtm_dst_len)) { in ip6mr_rtm_valid_getroute_req()