Skip to contentSkip to conversation

checklist for DPDK on Windows

DISCUSSION Thomas Monjalon 4 participants 6 messages Mar 14, 2019 – May 28, 2019

lore
Share & tools
lore
#0 lore raw

Hi,

Below is a list of directories, files or functions which we need to check to make basic DPDK works on Windows. If something is missing, please complete.

The goal of this list is to make a status of what is already done, and plan what should be done next. It will help to share the workload among all volunteers during the next months.

buildtools/pmdinfogen
usertools/dpdk-devbind.py
drivers/bus/vdev
drivers/bus/pci
lib/librte_pci
lib/librte_cmdline
lib/librte_kvargs
lib/librte_ring
lib/librte_mempool
lib/librte_mbuf
lib/librte_net
lib/librte_eal/common/include/rte_errno.h
lib/librte_eal/common/include/rte_string_fns.h
lib/librte_eal/common/include/rte_lcore.h
lib/librte_eal/common/arch/x86/rte_cpuflags.c
lib/librte_eal/common/arch/x86/rte_cycles.c
lib/librte_eal/common/eal_common_options.c
lib/librte_eal/common/eal_common_thread.c
lib/librte_eal/common/eal_common_proc.c
lib/librte_eal/windows/eal/eal.c

    eal_create_runtime_dir()
    rte_eal_iopl_init()

lib/librte_eal/windows/eal/eal_alarm.c
lib/librte_eal/windows/eal/eal_cpuflags.c
lib/librte_eal/windows/eal/eal_debug.c
lib/librte_eal/windows/eal/eal_dev.c
lib/librte_eal/windows/eal/eal_interrupts.c
lib/librte_eal/windows/eal/eal_lcore.c
lib/librte_eal/windows/eal/eal_log.c
lib/librte_eal/windows/eal/eal_memory.c
lib/librte_eal/windows/eal/eal_thread.c
lib/librte_eal/windows/eal/eal_timer.c

Please check this list and mention what is done or in progress. The best would be to reference some patches or commits to help progress together as a community, thanks.

#1 lore raw

Any feedback?
Could we try to give a work estimation for these items?

15/03/2019 00:04, Thomas Monjalon:

Quoted 46 lines

Hi,

Below is a list of directories, files or functions which we need to check to make basic DPDK works on Windows. If something is missing, please complete.

The goal of this list is to make a status of what is already done, and plan what should be done next. It will help to share the workload among all volunteers during the next months.

buildtools/pmdinfogen
usertools/dpdk-devbind.py
drivers/bus/vdev
drivers/bus/pci
lib/librte_pci
lib/librte_cmdline
lib/librte_kvargs
lib/librte_ring
lib/librte_mempool
lib/librte_mbuf
lib/librte_net
lib/librte_eal/common/include/rte_errno.h
lib/librte_eal/common/include/rte_string_fns.h
lib/librte_eal/common/include/rte_lcore.h
lib/librte_eal/common/arch/x86/rte_cpuflags.c
lib/librte_eal/common/arch/x86/rte_cycles.c
lib/librte_eal/common/eal_common_options.c
lib/librte_eal/common/eal_common_thread.c
lib/librte_eal/common/eal_common_proc.c
lib/librte_eal/windows/eal/eal.c

    eal_create_runtime_dir()
    rte_eal_iopl_init()

lib/librte_eal/windows/eal/eal_alarm.c
lib/librte_eal/windows/eal/eal_cpuflags.c
lib/librte_eal/windows/eal/eal_debug.c
lib/librte_eal/windows/eal/eal_dev.c
lib/librte_eal/windows/eal/eal_interrupts.c
lib/librte_eal/windows/eal/eal_lcore.c
lib/librte_eal/windows/eal/eal_log.c
lib/librte_eal/windows/eal/eal_memory.c
lib/librte_eal/windows/eal/eal_thread.c
lib/librte_eal/windows/eal/eal_timer.c

Please check this list and mention what is done or in progress. The best would be to reference some patches or commits to help progress together as a community, thanks.

#2 lore raw

Thomas...
Status below:

Quoted 15 lines · Thomas Monjalon

Any feedback?
Could we try to give a work estimation for these items?

15/03/2019 00:04, Thomas Monjalon:

Quoted 11 lines

Hi,

Below is a list of directories, files or functions which we need to check to make basic DPDK works on Windows. If something is missing, please complete.

The goal of this list is to make a status of what is already done, and plan what should be done next. It will help to share the workload among all volunteers during the next months.

buildtools/pmdinfogen

- not ported to Windows

Quoted 1 line
Quoted 1 line

usertools/dpdk-devbind.py

- not ported to Windows

Quoted 1 line
Quoted 1 line

drivers/bus/vdev

- not ported to Windows

Quoted 1 line
Quoted 1 line

drivers/bus/pci

- ported to Windows in draft repo (using ICC)

Quoted 1 line
Quoted 1 line

lib/librte_pci

- ported to Windows in draft repo (using ICC)

Quoted 1 line
Quoted 1 line

lib/librte_cmdline

- ported to Windows in draft repo (using ICC)

Quoted 1 line
Quoted 1 line

lib/librte_kvargs

- ported to Windows in draft repo (using ICC)

Quoted 1 line
Quoted 1 line

lib/librte_ring

- ported to Windows in draft repo (using ICC)

Quoted 1 line
Quoted 1 line

lib/librte_mempool

- ported to Windows in draft repo (using ICC)

Quoted 1 line
Quoted 1 line

lib/librte_mbuf

- ported to Windows in draft repo (using ICC)

Quoted 1 line
Quoted 1 line

lib/librte_net

- ported to Windows in draft repo (using ICC)

Quoted 8 lines
Quoted 8 lines

lib/librte_eal/common/include/rte_errno.h
lib/librte_eal/common/include/rte_string_fns.h
lib/librte_eal/common/include/rte_lcore.h
lib/librte_eal/common/arch/x86/rte_cpuflags.c
lib/librte_eal/common/arch/x86/rte_cycles.c
lib/librte_eal/common/eal_common_options.c
lib/librte_eal/common/eal_common_thread.c
lib/librte_eal/common/eal_common_proc.c

- most 'common' [c/h] files ported to Windows in draft repo (using ICC)

Quoted 3 lines
Quoted 3 lines

lib/librte_eal/windows/eal/eal.c

     eal_create_runtime_dir()
     rte_eal_iopl_init()

- part of file port available in "Helloworld" patch

Quoted 1 line
Quoted 1 line

lib/librte_eal/windows/eal/eal_alarm.c

- ported to Windows in draft repo (using ICC)

Quoted 1 line
Quoted 1 line

lib/librte_eal/windows/eal/eal_cpuflags.c

- not ported to Windows

Quoted 1 line
Quoted 1 line

lib/librte_eal/windows/eal/eal_debug.c

- part of file port available in "Helloworld" patch

Quoted 1 line
Quoted 1 line

lib/librte_eal/windows/eal/eal_dev.c

- not ported to Windows

Quoted 1 line
Quoted 1 line

lib/librte_eal/windows/eal/eal_interrupts.c

- ported to Windows in draft repo (using ICC)

Quoted 1 line
Quoted 1 line

lib/librte_eal/windows/eal/eal_lcore.c

- part of file port available in "Helloworld" patch

Quoted 1 line
Quoted 1 line

lib/librte_eal/windows/eal/eal_log.c

- ported to Windows in draft repo (using ICC)

Quoted 1 line
Quoted 1 line

lib/librte_eal/windows/eal/eal_memory.c

- ported to Windows in draft repo (using ICC)

Quoted 1 line
Quoted 1 line

lib/librte_eal/windows/eal/eal_thread.c

- part of file port available in "Helloworld" patch

Quoted 1 line
Quoted 1 line

lib/librte_eal/windows/eal/eal_timer.c

- ported to Windows in draft repo (using ICC)

Quoted 7 lines
Quoted 4 lines

Please check this list and mention what is done or in progress. The best would be to reference some patches or commits to help progress together as a community, thanks.

#3 lore raw

+Khoa

-----Original Message-----
From: Ranjit Menon <[email protected]>
Sent: Tuesday, March 19, 2019 12:34 PM
To: Thomas Monjalon <[email protected]>; [email protected]
Cc: Harini Ramakrishnan <[email protected]>; Omar Cardona <[email protected]>; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]
Subject: Re: [dpdk-dev] checklist for DPDK on Windows

Thomas...
Status below:

Quoted 15 lines · Thomas Monjalon

Any feedback?
Could we try to give a work estimation for these items?

15/03/2019 00:04, Thomas Monjalon:

Quoted 11 lines

Hi,

Below is a list of directories, files or functions which we need to check to make basic DPDK works on Windows.
If something is missing, please complete.

The goal of this list is to make a status of what is already done, and plan what should be done next. It will help to share the workload among all volunteers during the next months.

buildtools/pmdinfogen

- not ported to Windows

Quoted 1 line
Quoted 1 line

usertools/dpdk-devbind.py

- not ported to Windows

Quoted 1 line
Quoted 1 line

drivers/bus/vdev

- not ported to Windows

Quoted 1 line
Quoted 1 line

drivers/bus/pci

- ported to Windows in draft repo (using ICC)

Quoted 1 line
Quoted 1 line

lib/librte_pci

- ported to Windows in draft repo (using ICC)

Quoted 1 line
Quoted 1 line

lib/librte_cmdline

- ported to Windows in draft repo (using ICC)

Quoted 1 line
Quoted 1 line

lib/librte_kvargs

- ported to Windows in draft repo (using ICC)

Quoted 1 line
Quoted 1 line

lib/librte_ring

- ported to Windows in draft repo (using ICC)

Quoted 1 line
Quoted 1 line

lib/librte_mempool

- ported to Windows in draft repo (using ICC)

Quoted 1 line
Quoted 1 line

lib/librte_mbuf

- ported to Windows in draft repo (using ICC)

Quoted 1 line
Quoted 1 line

lib/librte_net

- ported to Windows in draft repo (using ICC)

Quoted 8 lines
Quoted 8 lines

lib/librte_eal/common/include/rte_errno.h
lib/librte_eal/common/include/rte_string_fns.h
lib/librte_eal/common/include/rte_lcore.h
lib/librte_eal/common/arch/x86/rte_cpuflags.c
lib/librte_eal/common/arch/x86/rte_cycles.c
lib/librte_eal/common/eal_common_options.c
lib/librte_eal/common/eal_common_thread.c
lib/librte_eal/common/eal_common_proc.c

- most 'common' [c/h] files ported to Windows in draft repo (using ICC)

Quoted 3 lines
Quoted 3 lines

lib/librte_eal/windows/eal/eal.c

     eal_create_runtime_dir()
     rte_eal_iopl_init()

- part of file port available in "Helloworld" patch

Quoted 1 line
Quoted 1 line

lib/librte_eal/windows/eal/eal_alarm.c

- ported to Windows in draft repo (using ICC)

Quoted 1 line
Quoted 1 line

lib/librte_eal/windows/eal/eal_cpuflags.c

- not ported to Windows

Quoted 1 line
Quoted 1 line

lib/librte_eal/windows/eal/eal_debug.c

- part of file port available in "Helloworld" patch

Quoted 1 line
Quoted 1 line

lib/librte_eal/windows/eal/eal_dev.c

- not ported to Windows

Quoted 1 line
Quoted 1 line

lib/librte_eal/windows/eal/eal_interrupts.c

- ported to Windows in draft repo (using ICC)

Quoted 1 line
Quoted 1 line

lib/librte_eal/windows/eal/eal_lcore.c

- part of file port available in "Helloworld" patch

Quoted 1 line
Quoted 1 line

lib/librte_eal/windows/eal/eal_log.c

- ported to Windows in draft repo (using ICC)

Quoted 1 line
Quoted 1 line

lib/librte_eal/windows/eal/eal_memory.c

- ported to Windows in draft repo (using ICC)

Quoted 1 line
Quoted 1 line

lib/librte_eal/windows/eal/eal_thread.c

- part of file port available in "Helloworld" patch

Quoted 1 line
Quoted 1 line

lib/librte_eal/windows/eal/eal_timer.c

- ported to Windows in draft repo (using ICC)

Quoted 7 lines
Quoted 4 lines

Please check this list and mention what is done or in progress. The best would be to reference some patches or commits to help progress together as a community, thanks.

#4 lore raw

+Eilon

Thanks,
Olga

-----Original Message-----
From: dev [mailto:[email protected]] On Behalf Of Omar Cardona
Sent: Tuesday, March 19, 2019 10:36 PM
To: Ranjit Menon <[email protected]>; Thomas Monjalon <[email protected]>; [email protected]
Cc: Harini Ramakrishnan <[email protected]>; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; Raslan Darawsheh <[email protected]>; Khoa To <[email protected]>
Subject: Re: [dpdk-dev] checklist for DPDK on Windows

+Khoa

-----Original Message-----
From: Ranjit Menon <[email protected]>
Sent: Tuesday, March 19, 2019 12:34 PM
To: Thomas Monjalon <[email protected]>; [email protected]
Cc: Harini Ramakrishnan <[email protected]>; Omar Cardona <[email protected]>; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]
Subject: Re: [dpdk-dev] checklist for DPDK on Windows

Thomas...
Status below:

Quoted 15 lines · Thomas Monjalon

Any feedback?
Could we try to give a work estimation for these items?

15/03/2019 00:04, Thomas Monjalon:

Quoted 11 lines

Hi,

Below is a list of directories, files or functions which we need to check to make basic DPDK works on Windows.
If something is missing, please complete.

The goal of this list is to make a status of what is already done, and plan what should be done next. It will help to share the workload among all volunteers during the next months.

buildtools/pmdinfogen

- not ported to Windows

Quoted 1 line
Quoted 1 line

usertools/dpdk-devbind.py

- not ported to Windows

Quoted 1 line
Quoted 1 line

drivers/bus/vdev

- not ported to Windows

Quoted 1 line
Quoted 1 line

drivers/bus/pci

- ported to Windows in draft repo (using ICC)

Quoted 1 line
Quoted 1 line

lib/librte_pci

- ported to Windows in draft repo (using ICC)

Quoted 1 line
Quoted 1 line

lib/librte_cmdline

- ported to Windows in draft repo (using ICC)

Quoted 1 line
Quoted 1 line

lib/librte_kvargs

- ported to Windows in draft repo (using ICC)

Quoted 1 line
Quoted 1 line

lib/librte_ring

- ported to Windows in draft repo (using ICC)

Quoted 1 line
Quoted 1 line

lib/librte_mempool

- ported to Windows in draft repo (using ICC)

Quoted 1 line
Quoted 1 line

lib/librte_mbuf

- ported to Windows in draft repo (using ICC)

Quoted 1 line
Quoted 1 line

lib/librte_net

- ported to Windows in draft repo (using ICC)

Quoted 8 lines
Quoted 8 lines

lib/librte_eal/common/include/rte_errno.h
lib/librte_eal/common/include/rte_string_fns.h
lib/librte_eal/common/include/rte_lcore.h
lib/librte_eal/common/arch/x86/rte_cpuflags.c
lib/librte_eal/common/arch/x86/rte_cycles.c
lib/librte_eal/common/eal_common_options.c
lib/librte_eal/common/eal_common_thread.c
lib/librte_eal/common/eal_common_proc.c

- most 'common' [c/h] files ported to Windows in draft repo (using ICC)

Quoted 3 lines
Quoted 3 lines

lib/librte_eal/windows/eal/eal.c

     eal_create_runtime_dir()
     rte_eal_iopl_init()

- part of file port available in "Helloworld" patch

Quoted 1 line
Quoted 1 line

lib/librte_eal/windows/eal/eal_alarm.c

- ported to Windows in draft repo (using ICC)

Quoted 1 line
Quoted 1 line

lib/librte_eal/windows/eal/eal_cpuflags.c

- not ported to Windows

Quoted 1 line
Quoted 1 line

lib/librte_eal/windows/eal/eal_debug.c

- part of file port available in "Helloworld" patch

Quoted 1 line
Quoted 1 line

lib/librte_eal/windows/eal/eal_dev.c

- not ported to Windows

Quoted 1 line
Quoted 1 line

lib/librte_eal/windows/eal/eal_interrupts.c

- ported to Windows in draft repo (using ICC)

Quoted 1 line
Quoted 1 line

lib/librte_eal/windows/eal/eal_lcore.c

- part of file port available in "Helloworld" patch

Quoted 1 line
Quoted 1 line

lib/librte_eal/windows/eal/eal_log.c

- ported to Windows in draft repo (using ICC)

Quoted 1 line
Quoted 1 line

lib/librte_eal/windows/eal/eal_memory.c

- ported to Windows in draft repo (using ICC)

Quoted 1 line
Quoted 1 line

lib/librte_eal/windows/eal/eal_thread.c

- part of file port available in "Helloworld" patch

Quoted 1 line
Quoted 1 line

lib/librte_eal/windows/eal/eal_timer.c

- ported to Windows in draft repo (using ICC)

Quoted 7 lines
Quoted 4 lines

Please check this list and mention what is done or in progress. The best would be to reference some patches or commits to help progress together as a community, thanks.

#5 lore raw

Should we have a page with an up-to-date status of the work? Would be good to have an overview of the progress, even if it's not as simple as a progress bar :)

Quoted 71 lines

From: Ranjit Menon <[email protected]>

Quoted 12 lines

15/03/2019 00:04, Thomas Monjalon:

Quoted 11 lines

Hi,

Below is a list of directories, files or functions which we need to check to make basic DPDK works on Windows.
If something is missing, please complete.

The goal of this list is to make a status of what is already done, and plan what should be done next. It will help to share the workload among all volunteers during the next months.

buildtools/pmdinfogen

- not ported to Windows

Quoted 1 line
Quoted 1 line

usertools/dpdk-devbind.py

- not ported to Windows

Quoted 1 line
Quoted 1 line

drivers/bus/vdev

- not ported to Windows

Quoted 1 line
Quoted 1 line

drivers/bus/pci

- ported to Windows in draft repo (using ICC)

Quoted 1 line
Quoted 1 line

lib/librte_pci

- ported to Windows in draft repo (using ICC)

Quoted 1 line
Quoted 1 line

lib/librte_cmdline

- ported to Windows in draft repo (using ICC)

Quoted 1 line
Quoted 1 line

lib/librte_kvargs

- ported to Windows in draft repo (using ICC)

Quoted 1 line
Quoted 1 line

lib/librte_ring

- ported to Windows in draft repo (using ICC)

Quoted 1 line
Quoted 1 line

lib/librte_mempool

- ported to Windows in draft repo (using ICC)

Quoted 1 line
Quoted 1 line

lib/librte_mbuf

- ported to Windows in draft repo (using ICC)

Quoted 1 line
Quoted 1 line

lib/librte_net

- ported to Windows in draft repo (using ICC)

Quoted 8 lines
Quoted 8 lines

lib/librte_eal/common/include/rte_errno.h
lib/librte_eal/common/include/rte_string_fns.h
lib/librte_eal/common/include/rte_lcore.h
lib/librte_eal/common/arch/x86/rte_cpuflags.c
lib/librte_eal/common/arch/x86/rte_cycles.c
lib/librte_eal/common/eal_common_options.c
lib/librte_eal/common/eal_common_thread.c
lib/librte_eal/common/eal_common_proc.c

- most 'common' [c/h] files ported to Windows in draft repo (using ICC)

Quoted 3 lines
Quoted 3 lines

lib/librte_eal/windows/eal/eal.c

     eal_create_runtime_dir()
     rte_eal_iopl_init()

- part of file port available in "Helloworld" patch

Quoted 1 line
Quoted 1 line

lib/librte_eal/windows/eal/eal_alarm.c

- ported to Windows in draft repo (using ICC)

Quoted 1 line
Quoted 1 line

lib/librte_eal/windows/eal/eal_cpuflags.c

- not ported to Windows

Quoted 1 line
Quoted 1 line

lib/librte_eal/windows/eal/eal_debug.c

- part of file port available in "Helloworld" patch

Quoted 1 line
Quoted 1 line

lib/librte_eal/windows/eal/eal_dev.c

- not ported to Windows

Quoted 1 line
Quoted 1 line

lib/librte_eal/windows/eal/eal_interrupts.c

- ported to Windows in draft repo (using ICC)

Quoted 1 line
Quoted 1 line

lib/librte_eal/windows/eal/eal_lcore.c

- part of file port available in "Helloworld" patch

Quoted 1 line
Quoted 1 line

lib/librte_eal/windows/eal/eal_log.c

- ported to Windows in draft repo (using ICC)

Quoted 1 line
Quoted 1 line

lib/librte_eal/windows/eal/eal_memory.c

- ported to Windows in draft repo (using ICC)

Quoted 1 line
Quoted 1 line

lib/librte_eal/windows/eal/eal_thread.c

- part of file port available in "Helloworld" patch

Quoted 1 line
Quoted 1 line

lib/librte_eal/windows/eal/eal_timer.c

- ported to Windows in draft repo (using ICC)

Quoted 4 lines
Quoted 4 lines

Please check this list and mention what is done or in progress. The best would be to reference some patches or commits to help progress together as a community, thanks.