Home
last modified time | relevance | path

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

12

/f-stack/dpdk/lib/librte_kni/
H A Drte_kni.c137 kni = NULL; in __rte_kni_get()
139 return kni; in __rte_kni_get()
277 kni->tx_q = kni->m_tx_q->addr; in rte_kni_alloc()
282 kni->rx_q = kni->m_rx_q->addr; in rte_kni_alloc()
287 kni->alloc_q = kni->m_alloc_q->addr; in rte_kni_alloc()
292 kni->free_q = kni->m_free_q->addr; in rte_kni_alloc()
297 kni->req_q = kni->m_req_q->addr; in rte_kni_alloc()
302 kni->resp_q = kni->m_resp_q->addr; in rte_kni_alloc()
307 kni->sync_addr = kni->m_sync_addr->addr; in rte_kni_alloc()
411 if (!kni) in rte_kni_release()
[all …]
H A Drte_kni.h137 int rte_kni_release(struct rte_kni *kni);
151 int rte_kni_handle_request(struct rte_kni *kni);
169 unsigned rte_kni_rx_burst(struct rte_kni *kni, struct rte_mbuf **mbufs,
188 unsigned rte_kni_tx_burst(struct rte_kni *kni, struct rte_mbuf **mbufs,
211 const char *rte_kni_get_name(const struct rte_kni *kni);
226 int rte_kni_register_handlers(struct rte_kni *kni, struct rte_kni_ops *ops);
238 int rte_kni_unregister_handlers(struct rte_kni *kni);
259 rte_kni_update_link(struct rte_kni *kni, unsigned int linkup);
/f-stack/dpdk/kernel/linux/kni/
H A Dkni_net.c217 kva = get_kva(kni, kni->pa[i]); in kni_fifo_trans_pa2va()
218 kni->va[i] = pa2va(kni->pa[i], kva); in kni_fifo_trans_pa2va()
245 kni_fifo_trans_pa2va(kni, kni->rx_q, kni->free_q); in kni_net_release_fifo_phy()
247 kni_fifo_trans_pa2va(kni, kni->alloc_q, kni->free_q); in kni_net_release_fifo_phy()
377 kva = get_kva(kni, kni->pa[i]); in kni_net_rx_normal()
380 kni->va[i] = pa2va(kni->pa[i], kva); in kni_net_rx_normal()
466 ret = kni_fifo_get(kni->rx_q, kni->pa, num); in kni_net_rx_lo_fifo()
476 kva = get_kva(kni, kni->pa[i]); in kni_net_rx_lo_fifo()
479 kni->va[i] = pa2va(kni->pa[i], kva); in kni_net_rx_lo_fifo()
556 kva = get_kva(kni, kni->pa[i]); in kni_net_rx_lo_fifo_skb()
[all …]
H A Dkni_misc.c236 if (!kni || !dev) in kni_check_param()
257 (void *)kni, "kni_%s", kni->name); in kni_run_thread()
259 kni_dev_remove(kni); in kni_run_thread()
264 kthread_bind(kni->pthread, kni->core_id); in kni_run_thread()
274 kni_dev_remove(kni); in kni_run_thread()
346 kni->net_dev = net_dev; in kni_ioctl_create()
362 kni->usr_tsk = current; in kni_ioctl_create()
363 kni->iova_mode = 1; in kni_ioctl_create()
379 kni->iova_mode = 0; in kni_ioctl_create()
424 kni->net_dev = NULL; in kni_ioctl_create()
[all …]
H A Dkni_dev.h126 void kni_net_release_fifo_phy(struct kni_dev *kni);
127 void kni_net_rx(struct kni_dev *kni);
130 void kni_net_poll_resp(struct kni_dev *kni);
/f-stack/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.build20 'kni.c',
/f-stack/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()
659 if (kni) { in test_kni()
668 if (kni) { in test_kni()
703 if (kni) { in test_kni()
728 if (kni) { in test_kni()
738 if (kni) { in test_kni()
[all …]
/f-stack/dpdk/lib/librte_port/
H A Drte_port_kni.c33 struct rte_kni *kni; member
58 port->kni = conf->kni; in rte_port_kni_reader_create()
70 rx_pkt_cnt = rte_kni_rx_burst(p->kni, pkts, n_pkts); in rte_port_kni_reader_rx()
127 struct rte_kni *kni; member
155 port->kni = conf->kni; in rte_port_kni_writer_create()
168 nb_tx = rte_kni_tx_burst(p->kni, p->tx_buf, p->tx_buf_count); in send_burst()
211 n_pkts_ok = rte_kni_tx_burst(p->kni, pkts, n_pkts); in rte_port_kni_writer_tx_bulk()
304 struct rte_kni *kni; member
332 port->kni = conf->kni; in rte_port_kni_writer_nodrop_create()
361 nb_tx += rte_kni_tx_burst(p->kni, in send_burst_nodrop()
[all …]
H A Drte_port_kni.h31 struct rte_kni *kni; member
41 struct rte_kni *kni; member
52 struct rte_kni *kni; member
/f-stack/dpdk/drivers/net/kni/
H A Drte_eth_kni.c49 struct rte_kni *kni; member
71 RTE_LOG_REGISTER(eth_kni_logtype, pmd.net.kni, NOTICE);
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()
219 ret = rte_kni_release(internals->kni); in eth_kni_close()
H A Dmeson.build8 deps += 'kni'
/f-stack/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
/f-stack/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 …]
/f-stack/dpdk/examples/kni/
H A Dmain.c236 rte_kni_handle_request(p->kni[i]); in kni_ingress()
718 if (kni == NULL || link == NULL) in log_link_state()
724 rte_kni_get_name(kni), in log_link_state()
757 prev = rte_kni_update_link(p[portid]->kni[i], in monitor_all_ports_link_status()
944 struct rte_kni *kni; in kni_alloc() local
1002 kni = rte_kni_alloc(pktmbuf_pool, &conf, &ops); in kni_alloc()
1004 kni = rte_kni_alloc(pktmbuf_pool, &conf, NULL); in kni_alloc()
1006 if (!kni) in kni_alloc()
1009 params[port_id]->kni[i] = kni; in kni_alloc()
1026 if (rte_kni_release(p[port_id]->kni[i])) in kni_free_kni()
[all …]
H A Dmeson.build15 deps += ['kni', 'bus_pci']
/f-stack/lib/
H A Dff_config.c697 pconfig->kni.enable= atoi(value); in ini_parse_handler()
699 pconfig->kni.kni_action= strdup(value); in ini_parse_handler()
701 pconfig->kni.method= strdup(value); in ini_parse_handler()
703 pconfig->kni.tcp_port = strdup(value); in ini_parse_handler()
705 pconfig->kni.udp_port= strdup(value); in ini_parse_handler()
927 if(cfg->kni.enable && !cfg->kni.method) { in ff_check_config()
932 if(cfg->kni.method) { in ff_check_config()
936 cfg->kni.method); in ff_check_config()
941 if(cfg->kni.kni_action) { in ff_check_config()
946 cfg->kni.kni_action); in ff_check_config()
[all …]
H A Dff_dpdk_kni.c66 struct rte_kni *kni; member
212 nb_kni_tx = rte_kni_tx_burst(kni_stat[port_id]->kni, pkts_burst, nb_tx); in kni_process_tx()
213 rte_kni_handle_request(kni_stat[port_id]->kni); in kni_process_tx()
233 nb_kni_rx = rte_kni_rx_burst(kni_stat[port_id]->kni, pkts_burst, count); in kni_process_rx()
521 kni_stat[port_id]->kni = rte_kni_alloc(mbuf_pool, &conf, &ops); in ff_kni_alloc()
522 if (kni_stat[port_id]->kni == NULL) in ff_kni_alloc()
/f-stack/doc/
H A DLaunch_F-Stack_on_AWS_EC2_in_one_minute.md29 insmod build/kernel/linux/kni/rte_kni.ko carrier=on
50 # enable kni
51 sed "s/#\[kni\]/\[kni\]/" -i /data/f-stack/config.ini
90 # start kni
/f-stack/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.
86 Virtio with kni vhost Back End
95 Host2VM Communication Example Using kni vhost Back End
100 #. Load the kni kernel module:
109 #. Launch the kni user application:
118 For each physical port, kni creates two user threads.
120 The other user thread loops to send packets in the kni transmit queue.
122 …For each physical port, kni also creates a kernel thread that retrieves packets from the kni recei…
125 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.rst40 kni
/f-stack/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``
68 # insmod <build_dir>/kernel/linux/kni/rte_kni.ko
80 # insmod <build_dir>/kernel/linux/kni/rte_kni.ko lo_mode=lo_mode_fifo
87 # insmod <build_dir>/kernel/linux/kni/rte_kni.ko lo_mode=lo_mode_fifo_skb
108 # insmod <build_dir>/kernel/linux/kni/rte_kni.ko kthread_mode=single
125 # insmod <build_dir>/kernel/linux/kni/rte_kni.ko kthread_mode=multiple
166 # insmod <build_dir>/kernel/linux/kni/rte_kni.ko carrier=on
172 # insmod <build_dir>/kernel/linux/kni/rte_kni.ko carrier=off
257 deleted when the ``/dev/kni`` device is closed, either explicitly with
321 The current version of kni provides minimal ethtool functionality

12