pci: merge probing and closing functions for linux and bsd
[dpdk.git] / doc / guides / prog_guide / source_org.rst
index 90c35a7..bfdaa8a 100644 (file)
@@ -33,7 +33,7 @@
 Source Organization
 ===================
 
-This section describes the organization of sources in the Intel® DPDK framework.
+This section describes the organization of sources in the DPDK framework.
 
 Makefiles and Config
 --------------------
@@ -46,10 +46,10 @@ Makefiles and Config
     :ref:`Useful Variables Provided by the Build System <Useful_Variables_Provided_by_the_Build_System>`
     for descriptions of other variables.
 
-Makefiles that are provided by the Intel® DPDK libraries and applications are located in $(RTE_SDK)/mk.
+Makefiles that are provided by the DPDK libraries and applications are located in $(RTE_SDK)/mk.
 
 Config templates are located in $(RTE_SDK)/config. The templates describe the options that are enabled for each target.
-The config file also contains items that can be enabled and disabled for many of the Intel® DPDK libraries,
+The config file also contains items that can be enabled and disabled for many of the DPDK libraries,
 including debug options.
 The user should look at the config file and become familiar with the options.
 The config file is also used to create a header file, which will be located in the new build directory.
@@ -79,27 +79,45 @@ The lib directory contains::
     +-- librte_mempool      # memory pool manager (fixedsized objects)
     +-- librte_meter        # QoS metering library
     +-- librte_net          # various IP-related headers
-    +-- librte_pmd_bond     # bonding poll mode driver
-    +-- librte_pmd_e1000    # 1GbE poll mode drivers (igb and em)
-    +-- librte_pmd_ixgbe    # 10GbE poll mode driver
-    +-- librte_pmd_i40e     # 40GbE poll mode driver
-    +-- librte_pmd_pcap     # PCAP poll mode driver
-    +-- librte_pmd_ring     # ring poll mode driver
-    +-- librte_pmd_virtio   # virtio poll mode driver
-    +-- librte_pmd_vmxnet3  # VMXNET3 poll mode driver
-    +-- librte_pmd_xenvirt  # Xen virtio poll mode driver
     +-- librte_power        # power management library
     +-- librte_ring         # software rings (act as lockless FIFOs)
     +-- librte_sched        # QoS scheduler and dropper library
     +-- librte_timer        # timer library
 
+Drivers
+-------
+
+Drivers are special libraries which provide poll-mode driver implementations for
+devices - either hardware devices or pseudo/virtual devices. They are contained
+in the "drivers" subdirectory, classified by type, and each compiles to a
+library with the format "librte_pmd_X.a" where "X" is the driver name.
+
+The drivers directory has a net subdirectory which contains::
+
+    drivers/net
+    +-- af_packet          # poll mode driver based on linux af_packet
+    +-- bonding            # bonding poll mode driver
+    +-- cxgbe              # Chelsio Terminator 10GbE/40GbE poll mode driver
+    +-- e1000              # 1GbE poll mode drivers (igb and em)
+    +-- enic               # Cisco VIC Ethernet NIC Poll-mode Driver
+    +-- fm10k              # Host interface PMD driver for FM10000 Series
+    +-- i40e               # 40GbE poll mode driver
+    +-- ixgbe              # 10GbE poll mode driver
+    +-- mlx4               # Mellanox ConnectX-3 poll mode driver
+    +-- null               # NULL poll mode driver for testing
+    +-- pcap               # PCAP poll mode driver
+    +-- ring               # ring poll mode driver
+    +-- virtio             # virtio poll mode driver
+    +-- vmxnet3            # VMXNET3 poll mode driver
+    +-- xenvirt            # Xen virtio poll mode driver
+
 Applications
 ------------
 
 Applications are sources that contain a main() function.
 They are located in the $(RTE_SDK)/app and $(RTE_SDK)/examples directories.
 
-The app directory contains sample applications that are used to test the Intel® DPDK (autotests).
+The app directory contains sample applications that are used to test the DPDK (autotests).
 The examples directory contains sample applications that show how libraries can be used.
 
 ::
@@ -112,7 +130,7 @@ The examples directory contains sample applications that show how libraries can
     examples
     +-- cmdline            # Example of using cmdline library
     +-- dpdk_qat           # Example showing integration with Intel QuickAssist
-    +-- exception_path     # Sending packets to and from Linux ethernet device (TAP)
+    +-- exception_path     # Sending packets to and from Linux Ethernet device (TAP)
     +-- helloworld         # Helloworld basic example
     +-- ip_reassembly      # Example showing IP Reassembly
     +-- ip_fragmentation   # Example showing IPv4 Fragmentation
@@ -135,4 +153,4 @@ The examples directory contains sample applications that show how libraries can
 .. note::
 
     The actual examples directory may contain additional sample applications to those shown above.
-    Check the latest Intel® DPDK source files for details.
+    Check the latest DPDK source files for details.