aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBaligh Gasmi <gasmibal@gmail.com>2022-04-19 01:25:07 +0200
committerDavid Ahern <dsahern@kernel.org>2022-04-19 20:30:08 -0600
commitee53174bd977e9d71c5c2f9d41823e82c870c7a3 (patch)
treeaf7328aabf37e79538a5f6d72d8dc0562236b2fe
parenta17aac1b52d082fe8e4619603fe4022cf2eb9403 (diff)
downloadiproute2-ee53174bd977e9d71c5c2f9d41823e82c870c7a3.tar.gz
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>
-rw-r--r--ip/Makefile2
-rw-r--r--ip/iplink.c2
-rw-r--r--ip/iplink_virt_wifi.c25
-rw-r--r--man/man8/ip-link.8.in6
4 files changed, 32 insertions, 3 deletions
diff --git a/ip/Makefile b/ip/Makefile
index 0f14c609a..e06a7c846 100644
--- a/ip/Makefile
+++ b/ip/Makefile
@@ -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
diff --git a/ip/iplink.c b/ip/iplink.c
index 7accd3786..dc76a12b5 100644
--- a/ip/iplink.c
+++ b/ip/iplink.c
@@ -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)
diff --git a/ip/iplink_virt_wifi.c b/ip/iplink_virt_wifi.c
new file mode 100644
index 000000000..8d3054cd4
--- /dev/null
+++ b/ip/iplink_virt_wifi.c
@@ -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,
+};
diff --git a/man/man8/ip-link.8.in b/man/man8/ip-link.8.in
index ee189abc3..ec3cc4297 100644
--- a/man/man8/ip-link.8.in
+++ b/man/man8/ip-link.8.in
@@ -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