1*4dc78e53SAndroid Build Coastguard Worker /* SPDX-License-Identifier: LGPL-2.1-only */ 2*4dc78e53SAndroid Build Coastguard Worker 3*4dc78e53SAndroid Build Coastguard Worker #include "nl-default.h" 4*4dc78e53SAndroid Build Coastguard Worker 5*4dc78e53SAndroid Build Coastguard Worker #include <linux/netlink.h> 6*4dc78e53SAndroid Build Coastguard Worker 7*4dc78e53SAndroid Build Coastguard Worker #include <netlink/netlink.h> 8*4dc78e53SAndroid Build Coastguard Worker #include <netlink/route/link.h> 9*4dc78e53SAndroid Build Coastguard Worker main(int argc,char * argv[])10*4dc78e53SAndroid Build Coastguard Workerint main(int argc, char *argv[]) 11*4dc78e53SAndroid Build Coastguard Worker { 12*4dc78e53SAndroid Build Coastguard Worker struct rtnl_link *link; 13*4dc78e53SAndroid Build Coastguard Worker struct nl_sock *sk; 14*4dc78e53SAndroid Build Coastguard Worker int err; 15*4dc78e53SAndroid Build Coastguard Worker 16*4dc78e53SAndroid Build Coastguard Worker sk = nl_socket_alloc(); 17*4dc78e53SAndroid Build Coastguard Worker if ((err = nl_connect(sk, NETLINK_ROUTE)) < 0) { 18*4dc78e53SAndroid Build Coastguard Worker nl_perror(err, "Unable to connect socket"); 19*4dc78e53SAndroid Build Coastguard Worker return err; 20*4dc78e53SAndroid Build Coastguard Worker } 21*4dc78e53SAndroid Build Coastguard Worker 22*4dc78e53SAndroid Build Coastguard Worker link = rtnl_link_alloc(); 23*4dc78e53SAndroid Build Coastguard Worker rtnl_link_set_type(link, "ifb"); 24*4dc78e53SAndroid Build Coastguard Worker rtnl_link_set_name(link, "ifb1"); 25*4dc78e53SAndroid Build Coastguard Worker 26*4dc78e53SAndroid Build Coastguard Worker if ((err = rtnl_link_add(sk, link, NLM_F_CREATE)) < 0) { 27*4dc78e53SAndroid Build Coastguard Worker nl_perror(err, "Unable to add link"); 28*4dc78e53SAndroid Build Coastguard Worker return err; 29*4dc78e53SAndroid Build Coastguard Worker } 30*4dc78e53SAndroid Build Coastguard Worker 31*4dc78e53SAndroid Build Coastguard Worker rtnl_link_put(link); 32*4dc78e53SAndroid Build Coastguard Worker nl_close(sk); 33*4dc78e53SAndroid Build Coastguard Worker 34*4dc78e53SAndroid Build Coastguard Worker return 0; 35*4dc78e53SAndroid Build Coastguard Worker } 36