aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Hibbits <jhibbits@FreeBSD.org>2022-08-17 20:42:35 +0000
committerJustin Hibbits <jhibbits@FreeBSD.org>2023-02-07 19:16:17 +0000
commitb9545c57941598857677c31b90c707123d8f4976 (patch)
treea026d1df33d3e7f1bdf6d0367429a9bfd32e091f
parent0b2813768bae1177b7369d67b7639d530f547b47 (diff)
downloadsrc-b9545c57941598857677c31b90c707123d8f4976.tar.gz
src-b9545c57941598857677c31b90c707123d8f4976.zip
Mechanically convert vnic to IfAPI
Reviewed by: zlei Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37827
-rw-r--r--sys/dev/vnic/nic.h2
-rw-r--r--sys/dev/vnic/nicvf_main.c30
-rw-r--r--sys/dev/vnic/nicvf_queues.c10
-rw-r--r--sys/dev/vnic/thunder_mdio.c8
-rw-r--r--sys/dev/vnic/thunder_mdio_fdt.c3
-rw-r--r--sys/dev/vnic/thunder_mdio_var.h2
6 files changed, 29 insertions, 26 deletions
diff --git a/sys/dev/vnic/nic.h b/sys/dev/vnic/nic.h
index dba91af666d6..2dcaffe1628c 100644
--- a/sys/dev/vnic/nic.h
+++ b/sys/dev/vnic/nic.h
@@ -292,7 +292,7 @@ struct nicvf {
struct nicvf *pnicvf;
device_t dev;
- struct ifnet * ifp;
+ if_t ifp;
struct sx core_sx;
struct ifmedia if_media;
uint32_t if_flags;
diff --git a/sys/dev/vnic/nicvf_main.c b/sys/dev/vnic/nicvf_main.c
index 54efc58fee22..b135c745b902 100644
--- a/sys/dev/vnic/nicvf_main.c
+++ b/sys/dev/vnic/nicvf_main.c
@@ -147,17 +147,17 @@ static int nicvf_setup_ifnet(struct nicvf *);
static int nicvf_setup_ifmedia(struct nicvf *);
static void nicvf_hw_addr_random(uint8_t *);
-static int nicvf_if_ioctl(struct ifnet *, u_long, caddr_t);
+static int nicvf_if_ioctl(if_t, u_long, caddr_t);
static void nicvf_if_init(void *);
static void nicvf_if_init_locked(struct nicvf *);
-static int nicvf_if_transmit(struct ifnet *, struct mbuf *);
-static void nicvf_if_qflush(struct ifnet *);
-static uint64_t nicvf_if_getcounter(struct ifnet *, ift_counter);
+static int nicvf_if_transmit(if_t, struct mbuf *);
+static void nicvf_if_qflush(if_t);
+static uint64_t nicvf_if_getcounter(if_t, ift_counter);
static int nicvf_stop_locked(struct nicvf *);
-static void nicvf_media_status(struct ifnet *, struct ifmediareq *);
-static int nicvf_media_change(struct ifnet *);
+static void nicvf_media_status(if_t, struct ifmediareq *);
+static int nicvf_media_change(if_t);
static void nicvf_tick_stats(void *);
@@ -336,7 +336,7 @@ nicvf_hw_addr_random(uint8_t *hwaddr)
static int
nicvf_setup_ifnet(struct nicvf *nic)
{
- struct ifnet *ifp;
+ if_t ifp;
ifp = if_alloc(IFT_ETHER);
if (ifp == NULL) {
@@ -418,7 +418,7 @@ nicvf_setup_ifmedia(struct nicvf *nic)
}
static int
-nicvf_if_ioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
+nicvf_if_ioctl(if_t ifp, u_long cmd, caddr_t data)
{
struct nicvf *nic;
struct rcv_queue *rq;
@@ -571,7 +571,7 @@ static void
nicvf_if_init_locked(struct nicvf *nic)
{
struct queue_set *qs = nic->qs;
- struct ifnet *ifp;
+ if_t ifp;
int qidx;
int err;
caddr_t if_addr;
@@ -643,7 +643,7 @@ nicvf_if_init(void *if_softc)
}
static int
-nicvf_if_transmit(struct ifnet *ifp, struct mbuf *mbuf)
+nicvf_if_transmit(if_t ifp, struct mbuf *mbuf)
{
struct nicvf *nic = if_getsoftc(ifp);
struct queue_set *qs = nic->qs;
@@ -699,7 +699,7 @@ nicvf_if_transmit(struct ifnet *ifp, struct mbuf *mbuf)
}
static void
-nicvf_if_qflush(struct ifnet *ifp)
+nicvf_if_qflush(if_t ifp)
{
struct nicvf *nic;
struct queue_set *qs;
@@ -721,7 +721,7 @@ nicvf_if_qflush(struct ifnet *ifp)
}
static uint64_t
-nicvf_if_getcounter(struct ifnet *ifp, ift_counter cnt)
+nicvf_if_getcounter(if_t ifp, ift_counter cnt)
{
struct nicvf *nic;
struct nicvf_hw_stats *hw_stats;
@@ -755,7 +755,7 @@ nicvf_if_getcounter(struct ifnet *ifp, ift_counter cnt)
}
static void
-nicvf_media_status(struct ifnet *ifp, struct ifmediareq *ifmr)
+nicvf_media_status(if_t ifp, struct ifmediareq *ifmr)
{
struct nicvf *nic = if_getsoftc(ifp);
@@ -799,7 +799,7 @@ nicvf_media_status(struct ifnet *ifp, struct ifmediareq *ifmr)
}
static int
-nicvf_media_change(struct ifnet *ifp __unused)
+nicvf_media_change(if_t ifp __unused)
{
return (0);
@@ -1523,7 +1523,7 @@ error:
static int
nicvf_stop_locked(struct nicvf *nic)
{
- struct ifnet *ifp;
+ if_t ifp;
int qidx;
struct queue_set *qs = nic->qs;
union nic_mbx mbx = {};
diff --git a/sys/dev/vnic/nicvf_queues.c b/sys/dev/vnic/nicvf_queues.c
index d2a6f8532b37..017d1c6e3e1c 100644
--- a/sys/dev/vnic/nicvf_queues.c
+++ b/sys/dev/vnic/nicvf_queues.c
@@ -732,7 +732,7 @@ static int
nicvf_cq_intr_handler(struct nicvf *nic, uint8_t cq_idx)
{
struct mbuf *mbuf;
- struct ifnet *ifp;
+ if_t ifp;
int processed_cqe, tx_done = 0;
#ifdef DEBUG
int work_done = 0;
@@ -831,7 +831,7 @@ out:
while (!buf_ring_empty(cq->rx_br)) {
mbuf = buf_ring_dequeue_mc(cq->rx_br);
if (__predict_true(mbuf != NULL))
- (*ifp->if_input)(ifp, mbuf);
+ if_input(ifp, mbuf);
}
return (cmp_err);
@@ -987,7 +987,7 @@ int
nicvf_xmit_locked(struct snd_queue *sq)
{
struct nicvf *nic;
- struct ifnet *ifp;
+ if_t ifp;
struct mbuf *next;
int err;
@@ -1020,7 +1020,7 @@ nicvf_snd_task(void *arg, int pending)
{
struct snd_queue *sq = (struct snd_queue *)arg;
struct nicvf *nic;
- struct ifnet *ifp;
+ if_t ifp;
int err;
nic = sq->nic;
@@ -1296,7 +1296,7 @@ nicvf_rcv_queue_config(struct nicvf *nic, struct queue_set *qs,
union nic_mbx mbx = {};
struct rcv_queue *rq;
struct rq_cfg rq_cfg;
- struct ifnet *ifp;
+ if_t ifp;
struct lro_ctrl *lro;
ifp = nic->ifp;
diff --git a/sys/dev/vnic/thunder_mdio.c b/sys/dev/vnic/thunder_mdio.c
index d07b17b56a2e..3e9a8f74e673 100644
--- a/sys/dev/vnic/thunder_mdio.c
+++ b/sys/dev/vnic/thunder_mdio.c
@@ -93,8 +93,8 @@ static int thunder_mdio_detach(device_t);
static int thunder_mdio_read(device_t, int, int);
static int thunder_mdio_write(device_t, int, int, int);
-static int thunder_ifmedia_change_stub(struct ifnet *);
-static void thunder_ifmedia_status_stub(struct ifnet *, struct ifmediareq *);
+static int thunder_ifmedia_change_stub(if_t);
+static void thunder_ifmedia_status_stub(if_t, struct ifmediareq *);
static int thunder_mdio_media_status(device_t, int, int *, int *, int *);
static int thunder_mdio_media_change(device_t, int, int, int, int);
@@ -351,14 +351,14 @@ thunder_mdio_write(device_t dev, int phy, int reg, int data)
}
static int
-thunder_ifmedia_change_stub(struct ifnet *ifp __unused)
+thunder_ifmedia_change_stub(if_t ifp __unused)
{
/* Will never be called by if_media */
return (0);
}
static void
-thunder_ifmedia_status_stub(struct ifnet *ifp __unused, struct ifmediareq
+thunder_ifmedia_status_stub(if_t ifp __unused, struct ifmediareq
*ifmr __unused)
{
/* Will never be called by if_media */
diff --git a/sys/dev/vnic/thunder_mdio_fdt.c b/sys/dev/vnic/thunder_mdio_fdt.c
index fd3905453008..d6d46b04a17f 100644
--- a/sys/dev/vnic/thunder_mdio_fdt.c
+++ b/sys/dev/vnic/thunder_mdio_fdt.c
@@ -34,11 +34,14 @@ __FBSDID("$FreeBSD$");
#include <sys/bus.h>
#include <sys/kernel.h>
#include <sys/module.h>
+#include <sys/socket.h>
#include <dev/ofw/ofw_bus.h>
#include <dev/ofw/ofw_bus_subr.h>
#include <dev/fdt/simplebus.h>
+#include <net/if.h>
+
#include <machine/bus.h>
#include <machine/resource.h>
diff --git a/sys/dev/vnic/thunder_mdio_var.h b/sys/dev/vnic/thunder_mdio_var.h
index acebec0dbcc0..c66c5e9683df 100644
--- a/sys/dev/vnic/thunder_mdio_var.h
+++ b/sys/dev/vnic/thunder_mdio_var.h
@@ -44,7 +44,7 @@ enum thunder_mdio_mode {
struct phy_desc {
device_t miibus; /* One miibus per LMAC */
- struct ifnet * ifp; /* Fake ifp to satisfy miibus */
+ if_t ifp; /* Fake ifp to satisfy miibus */
int lmacid; /* ID number of LMAC connected */
TAILQ_ENTRY(phy_desc) phy_desc_list;
};