ip/iplink_virt_wifi: add support for virt_wifi

Add support for creating virt_wifi devices type.

Syntax:
$ ip link add link eth0 name wlan0 type virt_wifi

Signed-off-by: Baligh Gasmi <gasmibal@gmail.com>
Signed-off-by: David Ahern <dsahern@kernel.org>
This commit is contained in:
Baligh Gasmi
2022-04-19 01:25:07 +02:00
committed by David Ahern
parent a17aac1b52
commit ee53174bd9
4 changed files with 32 additions and 3 deletions

View File

@@ -12,7 +12,7 @@ IPOBJ=ip.o ipaddress.o ipaddrlabel.o iproute.o iprule.o ipnetns.o \
iplink_geneve.o iplink_vrf.o iproute_lwtunnel.o ipmacsec.o ipila.o \
ipvrf.o iplink_xstats.o ipseg6.o iplink_netdevsim.o iplink_rmnet.o \
ipnexthop.o ipmptcp.o iplink_bareudp.o iplink_wwan.o ipioam6.o \
iplink_amt.o iplink_batadv.o iplink_gtp.o
iplink_amt.o iplink_batadv.o iplink_gtp.o iplink_virt_wifi.o
RTMONOBJ=rtmon.o

View File

@@ -57,7 +57,7 @@ void iplink_types_usage(void)
" macsec | macvlan | macvtap |\n"
" netdevsim | nlmon | rmnet | sit | team | team_slave |\n"
" vcan | veth | vlan | vrf | vti | vxcan | vxlan | wwan |\n"
" xfrm }\n");
" xfrm | virt_wifi }\n");
}
void iplink_usage(void)

25
ip/iplink_virt_wifi.c Normal file
View File

@@ -0,0 +1,25 @@
/* SPDX-License-Identifier: GPL-2.0
*
* iplink_virt_wifi.c A fake implementation of cfg80211_ops that can be tacked
* on to an ethernet net_device to make it appear as a
* wireless connection.
*
* Authors: Baligh Gasmi <gasmibal@gmail.com>
*/
#include <stdio.h>
#include <stdlib.h>
#include "utils.h"
#include "ip_common.h"
static void virt_wifi_print_help(struct link_util *lu,
int argc, char **argv, FILE *f)
{
fprintf(f, "Usage: ... virt_wifi \n");
}
struct link_util virt_wifi_link_util = {
.id = "virt_wifi",
.print_help = virt_wifi_print_help,
};

View File

@@ -244,7 +244,8 @@ ip-link \- network device configuration
.BR netdevsim " |"
.BR rmnet " |"
.BR xfrm " |"
.BR gtp " ]"
.BR gtp " |"
.BR virt_wifi " ]"
.ti -8
.IR ETYPE " := [ " TYPE " |"
@@ -396,6 +397,9 @@ Link types:
.sp
.BR gtp
- GPRS Tunneling Protocol
.sp
.BR virt_wifi
- rtnetlink wifi simulation device
.in -8
.TP