X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fdevices%2Fnetlink.c;h=34309e1b9166504a2d5d59f4cd35a1e363fe53c2;hb=5f4f2081c47a5d86c9c96b7de23a2b0147c737d8;hp=e3e33a3b2d0994bf7abd2818b51e790031819909;hpb=b49bc1ae6404f0dff373578786a9fd95d961e5cd;p=vpp.git diff --git a/src/vnet/devices/netlink.c b/src/vnet/devices/netlink.c index e3e33a3b2d0..34309e1b916 100644 --- a/src/vnet/devices/netlink.c +++ b/src/vnet/devices/netlink.c @@ -201,7 +201,7 @@ vnet_netlink_set_link_state (int ifindex, int up) struct ifinfomsg ifmsg = { 0 }; clib_error_t *err = 0; - ifmsg.ifi_flags = IFF_UP; + ifmsg.ifi_flags = ((up) ? IFF_UP : 0); ifmsg.ifi_change = IFF_UP; ifmsg.ifi_index = ifindex; @@ -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);