Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a2bb6d7d authored by Roopa Prabhu's avatar Roopa Prabhu Committed by David S. Miller
Browse files

ipv4: include NLM_F_APPEND flag in append route notifications



This patch adds NLM_F_APPEND flag to struct nlmsg_hdr->nlmsg_flags
in newroute notifications if the route add was an append.
(This is similar to how NLM_F_REPLACE is already part of new
route replace notifications today)

This helps userspace determine if the route add operation was
an append.

Signed-off-by: default avatarRoopa Prabhu <roopa@cumulusnetworks.com>
Acked-by: default avatarScott Feldman <sfeldma@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent b42be38b
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -1082,6 +1082,7 @@ int fib_table_insert(struct fib_table *tb, struct fib_config *cfg)
	struct trie *t = (struct trie *)tb->tb_data;
	struct fib_alias *fa, *new_fa;
	struct key_vector *l, *tp;
	unsigned int nlflags = 0;
	struct fib_info *fi;
	u8 plen = cfg->fc_dst_len;
	u8 slen = KEYLENGTH - plen;
@@ -1201,7 +1202,9 @@ int fib_table_insert(struct fib_table *tb, struct fib_config *cfg)
		if (fa_match)
			goto out;

		if (!(cfg->fc_nlflags & NLM_F_APPEND))
		if (cfg->fc_nlflags & NLM_F_APPEND)
			nlflags = NLM_F_APPEND;
		else
			fa = fa_first;
	}
	err = -ENOENT;
@@ -1238,7 +1241,7 @@ int fib_table_insert(struct fib_table *tb, struct fib_config *cfg)

	rt_cache_flush(cfg->fc_nlinfo.nl_net);
	rtmsg_fib(RTM_NEWROUTE, htonl(key), new_fa, plen, new_fa->tb_id,
		  &cfg->fc_nlinfo, 0);
		  &cfg->fc_nlinfo, nlflags);
succeeded:
	return 0;