Line data Source code
1 : /* SPDX-License-Identifier: LGPL-2.1+ */ 2 : 3 : #include <net/if.h> 4 : 5 : #include "sd-netlink.h" 6 : #include "missing.h" 7 : #include "netdev/vrf.h" 8 : 9 0 : static int netdev_vrf_fill_message_create(NetDev *netdev, Link *link, sd_netlink_message *m) { 10 : Vrf *v; 11 : int r; 12 : 13 0 : assert(netdev); 14 0 : assert(!link); 15 0 : assert(m); 16 : 17 0 : v = VRF(netdev); 18 : 19 0 : assert(v); 20 : 21 0 : r = sd_netlink_message_append_u32(m, IFLA_VRF_TABLE, v->table); 22 0 : if (r < 0) 23 0 : return log_netdev_error_errno(netdev, r, "Could not append IPLA_VRF_TABLE attribute: %m"); 24 : 25 0 : return r; 26 : } 27 : 28 : const NetDevVTable vrf_vtable = { 29 : .object_size = sizeof(Vrf), 30 : .sections = "Match\0NetDev\0VRF\0", 31 : .fill_message_create = netdev_vrf_fill_message_create, 32 : .create_type = NETDEV_CREATE_MASTER, 33 : .generate_mac = true, 34 : };