Thread (4 messages) flat view 4 messages, 2 authors, 2022-09-26

Re: [PATCHv2 net-next] rtnetlink: Honour NLM_F_ECHO flag in rtnl_{new, set, del}link

From: Hangbin Liu <hidden>
Date: 2022-09-26 09:21:23

On Mon, Sep 26, 2022 at 03:12:46PM +0800, Hangbin Liu wrote:
+static void rtnl_link_notify(struct net_device *dev, u32 pid,
+			     struct nlmsghdr *nlh)
+{
+	struct sk_buff *skb;
+	int err = -ENOBUFS;
+
+	skb = nlmsg_new(if_nlmsg_size(dev, 0), GFP_KERNEL);
+	if (!skb)
+		goto errout;
+
+	err = rtnl_fill_ifinfo(skb, dev, dev_net(dev), RTM_NEWLINK, pid,
+			       nlh->nlmsg_seq, 0, 0, 0, 0, NULL, 0, 0,
+			       GFP_KERNEL);
+	if (err < 0) {
+		/* -EMSGSIZE implies BUG in if_nlmsg_size */
+		WARN_ON(err == -EMSGSIZE);
+		kfree_skb(skb);
+		goto errout;
+	}
+
+	rtnl_notify(skb, dev_net(dev), pid, RTM_NEWLINK, nlh, GFP_KERNEL);
+
+errout:
+	if (err < 0)
+		rtnl_set_sk_err(dev_net(dev), RTM_NEWLINK, err);
+}
+
Oh, I just find there is a similar helper function rtmsg_ifinfo_build_skb().
I will check if I can just update and re-use this helper.

Thanks
Hangbin
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help