Lines Matching refs:nlh
65 struct fib_rules_ops *ops, struct nlmsghdr *nlh,
268 static int fib_nl_newrule(struct sk_buff *skb, struct nlmsghdr* nlh) in fib_nl_newrule() argument
271 struct fib_rule_hdr *frh = nlmsg_data(nlh); in fib_nl_newrule()
277 if (nlh->nlmsg_len < nlmsg_msg_size(sizeof(*frh))) in fib_nl_newrule()
286 err = nlmsg_parse(nlh, sizeof(*frh), tb, FRA_MAX, ops->policy); in fib_nl_newrule()
416 notify_rule_change(RTM_NEWRULE, rule, ops, nlh, NETLINK_CB(skb).portid); in fib_nl_newrule()
428 static int fib_nl_delrule(struct sk_buff *skb, struct nlmsghdr* nlh) in fib_nl_delrule() argument
431 struct fib_rule_hdr *frh = nlmsg_data(nlh); in fib_nl_delrule()
437 if (nlh->nlmsg_len < nlmsg_msg_size(sizeof(*frh))) in fib_nl_delrule()
446 err = nlmsg_parse(nlh, sizeof(*frh), tb, FRA_MAX, ops->policy); in fib_nl_delrule()
526 notify_rule_change(RTM_DELRULE, rule, ops, nlh, in fib_nl_delrule()
564 struct nlmsghdr *nlh; in fib_nl_fill_rule() local
567 nlh = nlmsg_put(skb, pid, seq, type, sizeof(*frh), flags); in fib_nl_fill_rule()
568 if (nlh == NULL) in fib_nl_fill_rule()
571 frh = nlmsg_data(nlh); in fib_nl_fill_rule()
621 nlmsg_end(skb, nlh); in fib_nl_fill_rule()
625 nlmsg_cancel(skb, nlh); in fib_nl_fill_rule()
642 cb->nlh->nlmsg_seq, RTM_NEWRULE, in dump_rules()
662 family = rtnl_msg_family(cb->nlh); in fib_nl_dumprule()
693 struct fib_rules_ops *ops, struct nlmsghdr *nlh, in notify_rule_change() argument
705 err = fib_nl_fill_rule(skb, rule, pid, nlh->nlmsg_seq, event, 0, ops); in notify_rule_change()
713 rtnl_notify(skb, net, pid, ops->nlgroup, nlh, GFP_KERNEL); in notify_rule_change()