Home
last modified time | relevance | path

Searched refs:kni (Results 1 – 25 of 38) sorted by relevance

12

/dpdk/lib/kni/
H A Drte_kni.c135 kni = NULL; in __rte_kni_get()
137 return kni; in __rte_kni_get()
275 kni->tx_q = kni->m_tx_q->addr; in rte_kni_alloc()
280 kni->rx_q = kni->m_rx_q->addr; in rte_kni_alloc()
285 kni->alloc_q = kni->m_alloc_q->addr; in rte_kni_alloc()
290 kni->free_q = kni->m_free_q->addr; in rte_kni_alloc()
295 kni->req_q = kni->m_req_q->addr; in rte_kni_alloc()
300 kni->resp_q = kni->m_resp_q->addr; in rte_kni_alloc()
305 kni->sync_addr = kni->m_sync_addr->addr; in rte_kni_alloc()
409 if (!kni) in rte_kni_release()
[all …]
H A Drte_kni.h135 int rte_kni_release(struct rte_kni *kni);
149 int rte_kni_handle_request(struct rte_kni *kni);
167 unsigned rte_kni_rx_burst(struct rte_kni *kni, struct rte_mbuf **mbufs,
186 unsigned rte_kni_tx_burst(struct rte_kni *kni, struct rte_mbuf **mbufs,
209 const char *rte_kni_get_name(const struct rte_kni *kni);
224 int rte_kni_register_handlers(struct rte_kni *kni, struct rte_kni_ops *ops);
236 int rte_kni_unregister_handlers(struct rte_kni *kni);
257 rte_kni_update_link(struct rte_kni *kni, unsigned int linkup);
/dpdk/kernel/linux/kni/
H A Dkni_net.c247 kva = get_kva(kni, kni->pa[i]); in kni_fifo_trans_pa2va()
248 kni->va[i] = pa2va(kni->pa[i], kva); in kni_fifo_trans_pa2va()
275 kni_fifo_trans_pa2va(kni, kni->rx_q, kni->free_q); in kni_net_release_fifo_phy()
277 kni_fifo_trans_pa2va(kni, kni->alloc_q, kni->free_q); in kni_net_release_fifo_phy()
407 kva = get_kva(kni, kni->pa[i]); in kni_net_rx_normal()
410 kni->va[i] = pa2va(kni->pa[i], kva); in kni_net_rx_normal()
496 ret = kni_fifo_get(kni->rx_q, kni->pa, num); in kni_net_rx_lo_fifo()
506 kva = get_kva(kni, kni->pa[i]); in kni_net_rx_lo_fifo()
509 kni->va[i] = pa2va(kni->pa[i], kva); in kni_net_rx_lo_fifo()
586 kva = get_kva(kni, kni->pa[i]); in kni_net_rx_lo_fifo_skb()
[all …]
H A Dkni_misc.c242 if (!kni || !dev) in kni_check_param()
263 (void *)kni, "kni_%s", kni->name); in kni_run_thread()
265 kni_dev_remove(kni); in kni_run_thread()
270 kthread_bind(kni->pthread, kni->core_id); in kni_run_thread()
280 kni_dev_remove(kni); in kni_run_thread()
352 kni->net_dev = net_dev; in kni_ioctl_create()
368 kni->usr_tsk = current; in kni_ioctl_create()
369 kni->iova_mode = 1; in kni_ioctl_create()
385 kni->iova_mode = 0; in kni_ioctl_create()
427 kni->net_dev = NULL; in kni_ioctl_create()
[all …]
H A Dkni_dev.h129 void kni_net_release_fifo_phy(struct kni_dev *kni);
130 void kni_net_rx(struct kni_dev *kni);
133 void kni_net_poll_resp(struct kni_dev *kni);
H A Dmeson.build34 ' -I' + dpdk_source_root + '/lib/kni' +
/dpdk/examples/ip_pipeline/
H A Dkni.c34 struct kni *
37 struct kni *kni; in kni_find() local
44 return kni; in kni_find()
51 struct kni *
100 struct kni *
106 struct kni *kni; in kni_create() local
155 kni = calloc(1, sizeof(struct kni)); in kni_create()
160 strlcpy(kni->name, name, sizeof(kni->name)); in kni_create()
161 kni->k = k; in kni_create()
166 return kni; in kni_create()
[all …]
H A Dkni.h17 struct kni { struct
18 TAILQ_ENTRY(kni) node;
25 TAILQ_HEAD(kni_list, kni); argument
30 struct kni *
40 struct kni *
H A Dpipeline.c270 struct kni *kni; in pipeline_port_in_create() local
272 kni = kni_find(params->dev_name); in pipeline_port_in_create()
273 if (kni == NULL) in pipeline_port_in_create()
276 pp.kni.kni = kni->k; in pipeline_port_in_create()
279 p.arg_create = &pp.kni; in pipeline_port_in_create()
543 struct kni *kni; in pipeline_port_out_create() local
546 if (kni == NULL) in pipeline_port_out_create()
549 pp.kni.kni = kni->k; in pipeline_port_out_create()
552 pp_nodrop.kni.kni = kni->k; in pipeline_port_out_create()
558 p.arg_create = &pp.kni; in pipeline_port_out_create()
[all …]
H A Dmeson.build21 'kni.c',
/dpdk/app/test/
H A Dtest_kni.c320 if (!kni) { in test_kni_register_handler_mp()
425 struct rte_kni *kni; in test_kni_processing() local
466 if (!kni) { in test_kni_processing()
471 test_kni_ctx = kni; in test_kni_processing()
517 if (!kni) { in test_kni_processing()
663 if (kni) { in test_kni()
672 if (kni) { in test_kni()
707 if (kni) { in test_kni()
732 if (kni) { in test_kni()
742 if (kni) { in test_kni()
[all …]
/dpdk/lib/port/
H A Drte_port_kni.c32 struct rte_kni *kni; member
57 port->kni = conf->kni; in rte_port_kni_reader_create()
69 rx_pkt_cnt = rte_kni_rx_burst(p->kni, pkts, n_pkts); in rte_port_kni_reader_rx()
126 struct rte_kni *kni; member
154 port->kni = conf->kni; in rte_port_kni_writer_create()
167 nb_tx = rte_kni_tx_burst(p->kni, p->tx_buf, p->tx_buf_count); in send_burst()
210 n_pkts_ok = rte_kni_tx_burst(p->kni, pkts, n_pkts); in rte_port_kni_writer_tx_bulk()
303 struct rte_kni *kni; member
331 port->kni = conf->kni; in rte_port_kni_writer_nodrop_create()
360 nb_tx += rte_kni_tx_burst(p->kni, in send_burst_nodrop()
[all …]
H A Drte_port_kni.h30 struct rte_kni *kni; member
40 struct rte_kni *kni; member
51 struct rte_kni *kni; member
H A Dmeson.build52 deps += 'kni'
/dpdk/examples/ip_pipeline/examples/
H A Dkni.cli37 kni KNI0 link LINK0 mempool MEMPOOL0
38 kni KNI1 link LINK1 mempool MEMPOOL0
45 pipeline PIPELINE0 port in bsz 32 kni KNI1
47 pipeline PIPELINE0 port in bsz 32 kni KNI0
49 pipeline PIPELINE0 port out bsz 32 kni KNI0
51 pipeline PIPELINE0 port out bsz 32 kni KNI1
/dpdk/drivers/net/kni/
H A Drte_eth_kni.c49 struct rte_kni *kni; member
80 struct rte_kni *kni = kni_q->internals->kni; in eth_kni_rx() local
84 nb_pkts = rte_kni_rx_burst(kni, bufs, nb_bufs); in eth_kni_rx()
97 struct rte_kni *kni = kni_q->internals->kni; in eth_kni_tx() local
100 nb_pkts = rte_kni_tx_burst(kni, bufs, nb_bufs); in eth_kni_tx()
114 rte_kni_handle_request(internals->kni); in kni_handle_request()
138 internals->kni = rte_kni_alloc(mb_pool, &conf, NULL); in eth_kni_start()
139 if (internals->kni == NULL) { in eth_kni_start()
222 ret = rte_kni_release(internals->kni); in eth_kni_close()
H A Dmeson.build10 deps += 'kni'
/dpdk/doc/guides/sample_app_ug/
H A Dkernel_nic_interface.rst42 The Kernel NIC Interface sample application ``kni`` allocates one or more
86 The application is located in the ``examples/kni`` sub-directory.
92 Running the kni Example Application
95 The ``kni`` example application requires a number of command line options:
161 :ref:`multiple kernel thread <kni_kernel_thread_mode>` mode. The ``kni``
171 # insmod <build_dir>/kernel/linux/kni/rte_kni.ko kthread_mode=multiple
175 core is specified per physical port. In this case, ``kni`` will create
204 disabled by **not** specifying the ``-m`` flag to ``kni``:
215 Once the ``kni`` application is started, the user can use the normal
237 # pkill -USR1 kni
[all …]
/dpdk/examples/kni/
H A Dmain.c235 rte_kni_handle_request(p->kni[i]); in kni_ingress()
717 if (kni == NULL || link == NULL) in log_link_state()
723 rte_kni_get_name(kni), in log_link_state()
756 prev = rte_kni_update_link(p[portid]->kni[i], in monitor_all_ports_link_status()
936 struct rte_kni *kni; in kni_alloc() local
994 kni = rte_kni_alloc(pktmbuf_pool, &conf, &ops); in kni_alloc()
996 kni = rte_kni_alloc(pktmbuf_pool, &conf, NULL); in kni_alloc()
998 if (!kni) in kni_alloc()
1001 params[port_id]->kni[i] = kni; in kni_alloc()
1018 if (rte_kni_release(p[port_id]->kni[i])) in kni_free_kni()
[all …]
H A Dmeson.build9 deps += ['kni', 'bus_pci']
/dpdk/doc/guides/prog_guide/
H A Dkernel_nic_interface.rst35 When the ``rte_kni`` module is loaded, it will create a device ``/dev/kni``
78 # insmod <build_dir>/kernel/linux/kni/rte_kni.ko
90 # insmod <build_dir>/kernel/linux/kni/rte_kni.ko lo_mode=lo_mode_fifo
97 # insmod <build_dir>/kernel/linux/kni/rte_kni.ko lo_mode=lo_mode_fifo_skb
118 # insmod <build_dir>/kernel/linux/kni/rte_kni.ko kthread_mode=single
135 # insmod <build_dir>/kernel/linux/kni/rte_kni.ko kthread_mode=multiple
176 # insmod <build_dir>/kernel/linux/kni/rte_kni.ko carrier=on
182 # insmod <build_dir>/kernel/linux/kni/rte_kni.ko carrier=off
203 # insmod <build_dir>/kernel/linux/kni/rte_kni.ko enable_bifurcated=on
318 deleted when the ``/dev/kni`` device is closed, either explicitly with
[all …]
/dpdk/doc/guides/nics/
H A Dvirtio.rst13 The DPDK extends kni to support vhost raw socket interface,
21 standard qemu vhost back end and vhost kni back end.
89 Virtio with kni vhost Back End
98 Host2VM Communication Example Using kni vhost Back End
103 #. Load the kni kernel module:
113 #. Launch the kni user application:
122 For each physical port, kni creates two user threads.
124 The other user thread loops to send packets in the kni transmit queue.
126 …For each physical port, kni also creates a kernel thread that retrieves packets from the kni recei…
129 For more details about kni, please refer to :ref:`kni`.
[all …]
H A Dkni.rst7 KNI PMD is wrapper to the :ref:`librte_kni <kni>` library.
16 will create ``kni#`` Linux virtual network interface.
56 Interface name: kni#
100 insmod <build_dir>/kernel/linux/kni/rte_kni.ko lo_mode=lo_mode_fifo_skb
H A Dindex.rst42 kni
/dpdk/drivers/net/
H A Dmeson.build35 'kni',

12