Lines Matching refs:nlh
68 struct fib_rules_ops *ops, struct nlmsghdr *nlh,
307 static int fib_nl_newrule(struct sk_buff *skb, struct nlmsghdr* nlh) in fib_nl_newrule() argument
310 struct fib_rule_hdr *frh = nlmsg_data(nlh); in fib_nl_newrule()
316 if (nlh->nlmsg_len < nlmsg_msg_size(sizeof(*frh))) in fib_nl_newrule()
325 err = nlmsg_parse(nlh, sizeof(*frh), tb, FRA_MAX, ops->policy); in fib_nl_newrule()
458 notify_rule_change(RTM_NEWRULE, rule, ops, nlh, NETLINK_CB(skb).portid); in fib_nl_newrule()
471 static int fib_nl_delrule(struct sk_buff *skb, struct nlmsghdr* nlh) in fib_nl_delrule() argument
474 struct fib_rule_hdr *frh = nlmsg_data(nlh); in fib_nl_delrule()
481 if (nlh->nlmsg_len < nlmsg_msg_size(sizeof(*frh))) in fib_nl_delrule()
490 err = nlmsg_parse(nlh, sizeof(*frh), tb, FRA_MAX, ops->policy); in fib_nl_delrule()
570 notify_rule_change(RTM_DELRULE, rule, ops, nlh, in fib_nl_delrule()
608 struct nlmsghdr *nlh; in fib_nl_fill_rule() local
611 nlh = nlmsg_put(skb, pid, seq, type, sizeof(*frh), flags); in fib_nl_fill_rule()
612 if (nlh == NULL) in fib_nl_fill_rule()
615 frh = nlmsg_data(nlh); in fib_nl_fill_rule()
657 return nlmsg_end(skb, nlh); in fib_nl_fill_rule()
660 nlmsg_cancel(skb, nlh); in fib_nl_fill_rule()
676 cb->nlh->nlmsg_seq, RTM_NEWRULE, in dump_rules()
695 family = rtnl_msg_family(cb->nlh); in fib_nl_dumprule()
724 struct fib_rules_ops *ops, struct nlmsghdr *nlh, in notify_rule_change() argument
736 err = fib_nl_fill_rule(skb, rule, pid, nlh->nlmsg_seq, event, 0, ops); in notify_rule_change()
744 rtnl_notify(skb, net, pid, ops->nlgroup, nlh, GFP_KERNEL); in notify_rule_change()