From: Mateusz Bajorski <mateusz.bajor...@nokia.com> Date: Wed, 29 Jun 2016 09:22:10 +0200
> When adding rule with NLM_F_EXCL flag then check if the same rule exist. > If yes then exit with -EEXIST. > > This is already implemented in iproute2: > if (cmd == RTM_NEWRULE) { > req.n.nlmsg_flags |= NLM_F_CREATE|NLM_F_EXCL; > req.r.rtm_type = RTN_UNICAST; > } > > Tested ipv4 and ipv6 with net-next linux on qemu x86 > > expected behavior after patch: > localhost ~ # ip rule > 0: from all lookup local > 32766: from all lookup main > 32767: from all lookup default > localhost ~ # ip rule add from 10.46.177.97 lookup 104 pref 1005 > localhost ~ # ip rule add from 10.46.177.97 lookup 104 pref 1005 > RTNETLINK answers: File exists > localhost ~ # ip rule > 0: from all lookup local > 1005: from 10.46.177.97 lookup 104 > 32766: from all lookup main > 32767: from all lookup default > > There was already topic regarding this but I don't see any changes > merged and problem still occurs. > https://lkml.kernel.org/r/1135778809.5944.7.camel+%28%29+localhost+%21+localdomain > > Signed-off-by: Mateusz Bajorski <mateusz.bajor...@nokia.com> Applied to net-next, thanks.