devices: netlink create the object if missing 49/25849/1
authorDave Barach <dave@barachs.net>
Fri, 13 Mar 2020 12:32:28 +0000 (08:32 -0400)
committerDave Barach <dave@barachs.net>
Fri, 13 Mar 2020 12:33:00 +0000 (08:33 -0400)
Type: fix
Fixes: b49bc1a

Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I3dd81a2484c8b4925fd07556576c29d1cde337e1

src/vnet/devices/netlink.c

index e3e33a3..7260351 100644 (file)
@@ -243,7 +243,7 @@ vnet_netlink_add_ip4_addr (int ifindex, void *addr, int pfx_len)
   ifa.ifa_index = ifindex;
 
   vnet_netlink_msg_init (&m, RTM_NEWADDR,
-                        NLM_F_REQUEST | NLM_F_REPLACE,
+                        NLM_F_REQUEST | NLM_F_CREATE | NLM_F_REPLACE,
                         &ifa, sizeof (struct ifaddrmsg));
 
   vnet_netlink_msg_add_rtattr (&m, IFA_LOCAL, addr, 4);
@@ -266,7 +266,7 @@ vnet_netlink_add_ip6_addr (int ifindex, void *addr, int pfx_len)
   ifa.ifa_index = ifindex;
 
   vnet_netlink_msg_init (&m, RTM_NEWADDR,
-                        NLM_F_REQUEST | NLM_F_REPLACE,
+                        NLM_F_REQUEST | NLM_F_CREATE | NLM_F_REPLACE,
                         &ifa, sizeof (struct ifaddrmsg));
 
   vnet_netlink_msg_add_rtattr (&m, IFA_LOCAL, addr, 16);
@@ -291,7 +291,7 @@ vnet_netlink_add_ip4_route (void *dst, u8 dst_len, void *gw)
   rtm.rtm_dst_len = dst_len;
 
   vnet_netlink_msg_init (&m, RTM_NEWROUTE,
-                        NLM_F_REQUEST | NLM_F_REPLACE,
+                        NLM_F_REQUEST | NLM_F_CREATE | NLM_F_REPLACE,
                         &rtm, sizeof (struct rtmsg));
 
   vnet_netlink_msg_add_rtattr (&m, RTA_GATEWAY, gw, 4);
@@ -316,7 +316,7 @@ vnet_netlink_add_ip6_route (void *dst, u8 dst_len, void *gw)
   rtm.rtm_dst_len = dst_len;
 
   vnet_netlink_msg_init (&m, RTM_NEWROUTE,
-                        NLM_F_REQUEST | NLM_F_REPLACE,
+                        NLM_F_REQUEST | NLM_F_CREATE | NLM_F_REPLACE,
                         &rtm, sizeof (struct rtmsg));
 
   vnet_netlink_msg_add_rtattr (&m, RTA_GATEWAY, gw, 16);