DPDK patches and discussions
 help / color / mirror / Atom feed
Search results ordered by [date|relevance]  view[summary|nested|Atom feed]
thread overview below | download: 
* [dpdk-dev] [PATCH v5 20/20] doc: update patch cheatsheet to use meson
    2020-09-21 13:59  9%   ` [dpdk-dev] [PATCH v5 18/20] doc: remove references to make from contributing guide Ciara Power
@ 2020-09-21 13:59  2%   ` Ciara Power
  1 sibling, 0 replies; 200+ results
From: Ciara Power @ 2020-09-21 13:59 UTC (permalink / raw)
  To: dev; +Cc: Kevin Laatz, John McNamara, Marko Kovacevic

From: Kevin Laatz <kevin.laatz@intel.com>

With 'make' being removed, the patch cheatsheet needs to be updated to
remove any references to 'make'. These references have been replaced with
meson alternatives in this patch.

Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
---
 .../contributing/img/patch_cheatsheet.svg     | 582 ++++++++----------
 1 file changed, 270 insertions(+), 312 deletions(-)

diff --git a/doc/guides/contributing/img/patch_cheatsheet.svg b/doc/guides/contributing/img/patch_cheatsheet.svg
index 85225923e1..986e4db815 100644
--- a/doc/guides/contributing/img/patch_cheatsheet.svg
+++ b/doc/guides/contributing/img/patch_cheatsheet.svg
@@ -1,6 +1,4 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
 <svg
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:cc="http://creativecommons.org/ns#"
@@ -13,7 +11,7 @@
    width="210mm"
    height="297mm"
    id="svg2985"
-   inkscape:version="0.48.4 r9939"
+   inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"
    sodipodi:docname="patch_cheatsheet.svg">
   <sodipodi:namedview
      pagecolor="#ffffff"
@@ -24,17 +22,19 @@
      guidetolerance="10"
      inkscape:pageopacity="0"
      inkscape:pageshadow="2"
-     inkscape:window-width="1184"
-     inkscape:window-height="1822"
+     inkscape:window-width="1920"
+     inkscape:window-height="1017"
      id="namedview274"
      showgrid="false"
-     inkscape:zoom="1.2685914"
-     inkscape:cx="289.93958"
-     inkscape:cy="509.84194"
-     inkscape:window-x="0"
-     inkscape:window-y="19"
-     inkscape:window-maximized="0"
-     inkscape:current-layer="g3272" />
+     inkscape:zoom="0.89702958"
+     inkscape:cx="246.07409"
+     inkscape:cy="416.76022"
+     inkscape:window-x="1072"
+     inkscape:window-y="-8"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="layer1"
+     inkscape:document-rotation="0"
+     inkscape:snap-grids="false" />
   <defs
      id="defs3">
     <linearGradient
@@ -549,347 +549,336 @@
       </g>
     </switch>
     <g
-       transform="matrix(0.89980358,0,0,0.89980358,45.57817,-2.8793563)"
+       transform="matrix(0.89980358,0,0,0.89980358,57.57817,-2.8793563)"
        id="g4009">
       <text
          x="325.02054"
          y="107.5126"
          id="text3212"
          xml:space="preserve"
-         style="font-size:43.11383057px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace Bold"
-         sodipodi:linespacing="125%"
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:43.1138px;line-height:0%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"
          transform="scale(1.193782,0.83767389)"><tspan
            x="325.02054"
            y="107.5126"
-           id="tspan3214">CHEATSHEET</tspan></text>
+           id="tspan3214"
+           style="font-family:monospace">CHEATSHEET</tspan></text>
       <text
          x="386.51117"
          y="58.178116"
          transform="scale(1.0054999,0.99453018)"
          id="text3212-1"
          xml:space="preserve"
-         style="font-size:42.11373901px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace Bold"
-         sodipodi:linespacing="125%"><tspan
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:42.1137px;line-height:0%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"><tspan
            x="386.51117"
            y="58.178116"
-           id="tspan3214-7">PATCH SUBMIT</tspan></text>
+           id="tspan3214-7"
+           style="font-family:monospace">PATCH SUBMIT</tspan></text>
     </g>
     <rect
-       width="714.94495"
-       height="88.618027"
-       rx="20.780111"
-       ry="15.96909"
-       x="14.574773"
-       y="7.0045133"
+       width="759.50977"
+       height="88.591248"
+       rx="22.075403"
+       ry="15.964265"
+       x="14.588161"
+       y="7.0179014"
        id="rect3239"
-       style="fill:none;stroke:#00233b;stroke-width:0.87678075;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+       style="fill:none;stroke:#00233b;stroke-width:0.903557;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
     <rect
-       width="713.28113"
-       height="887.29156"
-       rx="17.656931"
-       ry="17.280584"
-       x="15.406689"
-       y="104.73515"
+       width="757.84167"
+       height="887.2605"
+       rx="18.760006"
+       ry="17.27998"
+       x="15.422211"
+       y="104.75068"
        id="rect3239-0"
-       style="fill:none;stroke:#00233b;stroke-width:1.00973284;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+       style="fill:none;stroke:#00233b;stroke-width:1.04078;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
     <rect
-       width="694.94904"
-       height="381.31"
-       rx="9.4761629"
-       ry="9.0904856"
-       x="24.336016"
-       y="601.75836"
+       width="732.82446"
+       height="381.28253"
+       rx="9.9926233"
+       ry="9.0898304"
+       x="24.349754"
+       y="601.77209"
        id="rect3239-0-9-4"
-       style="fill:none;stroke:#00233b;stroke-width:1.02322531;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+       style="fill:none;stroke:#00233b;stroke-width:1.0507;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
     <path
-       d="m 386.3921,327.23442 323.14298,0"
+       d="M 422.0654,327.23442 H 709.53508"
        id="path4088"
-       style="fill:none;stroke:#00233b;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       style="fill:none;stroke:#00233b;stroke-width:0.943189px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
        inkscape:connector-curvature="0" />
     <text
-       x="396.18015"
+       x="428.18015"
        y="314.45731"
        id="text4090"
        xml:space="preserve"
-       style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-       sodipodi:linespacing="125%"><tspan
-         x="396.18015"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"><tspan
+         x="428.18015"
          y="314.45731"
          id="tspan4092"
-         style="font-size:21px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold">Patch Pre-Checks</tspan></text>
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:21px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start">Patch Pre-Checks</tspan></text>
     <text
        x="43.44949"
        y="147.32129"
        id="text4090-4"
        xml:space="preserve"
-       style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-       sodipodi:linespacing="125%"><tspan
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"><tspan
          x="43.44949"
          y="147.32129"
          id="tspan4092-3"
-         style="font-size:21px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold">Commit Pre-Checks</tspan></text>
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:21px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start">Commit Pre-Checks</tspan></text>
     <text
-       x="397.1235"
+       x="429.1235"
        y="144.8549"
        id="text4090-4-3"
        xml:space="preserve"
-       style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-       sodipodi:linespacing="125%"><tspan
-         x="397.1235"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"><tspan
+         x="429.1235"
          y="144.8549"
          id="tspan4092-3-3"
-         style="font-size:21px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold">Bugfix?</tspan></text>
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:21px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start">Bugfix?</tspan></text>
     <text
        x="41.215897"
        y="634.38617"
        id="text4090-1"
        xml:space="preserve"
-       style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-       sodipodi:linespacing="125%"><tspan
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"><tspan
          x="41.215897"
          y="634.38617"
          id="tspan4092-38"
-         style="font-size:21px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold">Git send-email </tspan></text>
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:21px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start">Git send-email </tspan></text>
     <path
        d="m 31.232443,642.80575 376.113467,0"
        id="path4088-7"
        style="fill:none;stroke:#00233b;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
        inkscape:connector-curvature="0" />
     <rect
-       width="342.13785"
-       height="230.74609"
-       rx="10.411126"
-       ry="10.411126"
-       x="25.418407"
-       y="114.92036"
+       width="376.65033"
+       height="230.70007"
+       rx="11.461329"
+       ry="10.40905"
+       x="25.441414"
+       y="114.94337"
        id="rect3239-0-9-4-2"
-       style="fill:none;stroke:#00233b;stroke-width:0.93674862;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+       style="fill:none;stroke:#00233b;stroke-width:0.982762;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
     <text
        x="43.44949"
        y="385.8045"
        id="text4090-86"
        xml:space="preserve"
-       style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-       sodipodi:linespacing="125%"><tspan
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"><tspan
          x="43.44949"
          y="385.8045"
          id="tspan4092-5"
-         style="font-size:21px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold">Compile Pre-Checks</tspan></text>
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:21px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start">Compile Pre-Checks</tspan></text>
     <g
-       transform="translate(352.00486,-348.25973)"
+       transform="matrix(1.0077634,0,0,1,384.57109,-348.25973)"
        id="g3295">
       <text
          x="43.87738"
          y="568.03088"
          id="text4090-8-14"
          xml:space="preserve"
-         style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-         sodipodi:linespacing="125%"><tspan
+         style="font-style:normal;font-weight:normal;font-size:40px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"><tspan
            x="43.87738"
            y="568.03088"
            id="tspan4289"
-           style="font-size:21px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold">+ Include warning/error</tspan></text>
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:21px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start">+ Include warning/error</tspan></text>
       <text
          x="43.87738"
          y="537.71906"
          id="text4090-8-14-4"
          xml:space="preserve"
-         style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-         sodipodi:linespacing="125%"><tspan
+         style="font-style:normal;font-weight:normal;font-size:40px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"><tspan
            x="43.87738"
            y="537.71906"
            id="tspan4289-1"
-           style="font-size:21px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold">+ Fixes: line</tspan></text>
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:21px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start">+ Fixes: line</tspan></text>
       <text
          x="43.87738"
          y="598.9939"
          id="text4090-8-14-0"
          xml:space="preserve"
-         style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-         sodipodi:linespacing="125%"><tspan
+         style="font-style:normal;font-weight:normal;font-size:40px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"><tspan
            x="43.87738"
            y="598.9939"
            id="tspan4289-2"
-           style="font-size:21px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold">+ How to reproduce</tspan></text>
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:21px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start">+ How to reproduce</tspan></text>
     </g>
     <g
-       transform="translate(-2.6258125,-26.708615)"
+       transform="matrix(0.88614399,0,0,1.0199334,-5.7864591,-38.84504)"
        id="g4115">
       <g
          id="g3272">
         <text
-           sodipodi:linespacing="125%"
-           style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+           style="font-style:normal;font-weight:normal;font-size:40px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
            xml:space="preserve"
            id="text4090-8-1"
            y="454.36987"
            x="49.093246"><tspan
-             style="font-size:21px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold"
+             style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:21px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start"
              id="tspan4092-8-7"
              y="454.36987"
              x="49.093246">+ build gcc icc clang </tspan></text>
         <text
-           sodipodi:linespacing="125%"
-           style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+           style="font-style:normal;font-weight:normal;font-size:40px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
+           xml:space="preserve"
+           id="text581"
+           y="454.36987"
+           x="49.093246" />
+        <text
+           style="font-style:normal;font-weight:normal;font-size:40px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
            xml:space="preserve"
            id="text4090-8-2"
            y="516.59979"
            x="49.093246"><tspan
-             style="font-size:21px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold"
+             style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:21px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start"
              id="tspan4092-8-79"
              y="516.59979"
-             x="49.093246">+ make test doc </tspan></text>
+             x="49.093246">+ meson -Denable_docs=true</tspan></text>
         <text
-           sodipodi:linespacing="125%"
-           style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+           style="font-style:normal;font-weight:normal;font-size:40px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
            xml:space="preserve"
            id="text4090-8-2-0-0"
            y="544.71033"
            x="49.093246"><tspan
-             style="font-size:21px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold"
+             style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:21px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start"
              id="tspan4092-8-79-9-0"
              y="544.71033"
-             x="49.093246">+ make examples</tspan></text>
+             x="49.093246">+ meson -Dexamples=all</tspan></text>
         <text
-           sodipodi:linespacing="125%"
-           style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+           style="font-style:normal;font-weight:normal;font-size:40px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
            xml:space="preserve"
            id="text4090-8-2-0-07"
            y="576.83533"
            x="49.093246"><tspan
-             style="font-size:21px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold"
+             style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:21px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start"
              id="tspan4092-8-79-9-3"
              y="576.83533"
-             x="49.093246">+ make shared-lib</tspan></text>
+             x="49.093246"
+             transform="matrix(1.0305467,0,0,1,-1.5447426,0)">+ meson -Ddefault_library=shared</tspan></text>
         <text
-           sodipodi:linespacing="125%"
-           style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+           style="font-style:normal;font-weight:normal;font-size:40px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
            xml:space="preserve"
            id="text4090-8-2-0-07-4"
            y="604.88947"
            x="49.093246"><tspan
-             style="font-size:21px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold"
+             style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:21px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start"
              id="tspan4092-8-79-9-3-9"
              y="604.88947"
              x="49.093246">+ library ABI version</tspan></text>
         <text
-           sodipodi:linespacing="125%"
-           style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+           style="font-style:normal;font-weight:normal;font-size:40px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
            xml:space="preserve"
            id="text4090-8-2-9"
            y="486.56659"
            x="49.093246"><tspan
-             style="font-size:21px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold"
+             style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:21px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start"
              id="tspan4092-8-79-3"
              y="486.56659"
              x="49.093246">+ build 32 and 64 bits</tspan></text>
       </g>
     </g>
     <text
-       x="74.388756"
-       y="914.65686"
+       x="72.598656"
+       y="937.21002"
        id="text4090-8-1-8-65-9"
        xml:space="preserve"
-       style="font-size:19px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace"
-       sodipodi:linespacing="125%"><tspan
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12.2959px;line-height:0%;font-family:monospace;-inkscape-font-specification:Monospace;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.02466"
+       transform="scale(1.0246575,0.97593587)"><tspan
          sodipodi:role="line"
          id="tspan3268"
-         x="74.388756"
-         y="914.65686">git send-email *.patch --annotate --to &lt;maintainer&gt;</tspan><tspan
+         x="72.598656"
+         y="937.21002"
+         style="font-size:19.4685px;line-height:1.25;font-family:monospace;stroke-width:1.02466">git send-email *.patch --annotate --to &lt;maintainer&gt;</tspan><tspan
          sodipodi:role="line"
          id="tspan3272"
-         x="74.388756"
-         y="938.40686">  --cc dev@dpdk.org [ --cc other@participants.com</tspan><tspan
+         x="72.598656"
+         y="961.54565"
+         style="font-size:19.4685px;line-height:1.25;font-family:monospace;stroke-width:1.02466">  --cc dev@dpdk.org [ --cc other@participants.com</tspan><tspan
          sodipodi:role="line"
-         x="74.388756"
-         y="962.15686"
-         id="tspan3266">  --cover-letter -v[N] --in-reply-to &lt;message ID&gt; ]</tspan></text>
+         x="72.598656"
+         y="985.88129"
+         id="tspan3266"
+         style="font-size:19.4685px;line-height:1.25;font-family:monospace;stroke-width:1.02466">  --cover-letter -v[N] --in-reply-to &lt;message ID&gt; ]</tspan></text>
     <text
        x="543.47675"
        y="1032.3459"
        id="text4090-8-7-8-7-6-3-8-2-5"
        xml:space="preserve"
-       style="font-size:13px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace Bold"
-       sodipodi:linespacing="125%"><tspan
+       style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:13px;line-height:0%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"><tspan
          x="543.47675"
          y="1032.3459"
          id="tspan4092-8-6-3-1-8-4-4-5-3"
-         style="font-size:11px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace">harry.van.haaren@intel.com</tspan></text>
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:11px;line-height:125%;font-family:monospace;-inkscape-font-specification:Monospace;text-align:start;writing-mode:lr-tb;text-anchor:start">harry.van.haaren@intel.com</tspan></text>
     <rect
-       width="678.14105"
-       height="87.351799"
-       rx="6.7972355"
-       ry="6.7972355"
-       x="31.865864"
-       y="888.44696"
+       width="711.56055"
+       height="87.327599"
+       rx="7.1322103"
+       ry="6.795352"
+       x="31.877964"
+       y="888.45905"
        id="rect3239-0-9-4-3"
-       style="fill:none;stroke:#00233b;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+       style="fill:none;stroke:#00233b;stroke-width:1.0242;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
     <text
        x="543.29498"
        y="1018.1843"
        id="text4090-8-7-8-7-6-3-8-2-5-3"
        xml:space="preserve"
-       style="font-size:13px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace Bold"
-       sodipodi:linespacing="125%"><tspan
+       style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:13px;line-height:0%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"><tspan
          x="543.29498"
          y="1018.1843"
          id="tspan4092-8-6-3-1-8-4-4-5-3-7"
-         style="font-size:13px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold">Suggestions / Updates?</tspan></text>
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:13px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start">Suggestions / Updates?</tspan></text>
     <g
        id="g3268"
        transform="translate(0,-6)">
       <text
-         sodipodi:linespacing="125%"
-         style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+         style="font-style:normal;font-weight:normal;font-size:40px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
          xml:space="preserve"
          id="text4090-8-1-8"
          y="704.07019"
          x="41.658669"><tspan
-           style="font-size:21px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold"
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:21px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start"
            id="tspan4092-8-7-6"
            y="704.07019"
            x="41.658669">+ Patch version ( eg: -v2 ) </tspan></text>
       <text
-         sodipodi:linespacing="125%"
-         style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+         style="font-style:normal;font-weight:normal;font-size:40px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
          xml:space="preserve"
          id="text4090-8-1-8-0"
          y="736.29175"
          x="41.658669"><tspan
-           style="font-size:21px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold"
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:21px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start"
            id="tspan4092-8-7-6-2"
            y="736.29175"
            x="41.658669">+ Patch version annotations</tspan></text>
       <text
-         sodipodi:linespacing="125%"
-         style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+         style="font-style:normal;font-weight:normal;font-size:40px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
          xml:space="preserve"
          id="text4090-8-1-8-6"
          y="766.70355"
          x="41.911205"><tspan
-           style="font-size:21px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold"
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:21px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start"
            id="tspan4092-8-7-6-1"
            y="766.70355"
            x="41.911205">+ Send --to maintainer </tspan></text>
       <text
-         sodipodi:linespacing="125%"
-         style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+         style="font-style:normal;font-weight:normal;font-size:40px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
          xml:space="preserve"
          id="text4090-8-1-8-6-3"
          y="795.30548"
          x="41.658669"><tspan
-           style="font-size:21px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold"
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:21px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start"
            id="tspan4092-8-7-6-1-8"
            y="795.30548"
            x="41.658669">+ Send --cc dev@dpdk.org </tspan></text>
       <text
-         sodipodi:linespacing="125%"
-         style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+         style="font-style:normal;font-weight:normal;font-size:40px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
          xml:space="preserve"
          id="text4090-8-1-8-9"
          y="675.25287"
          x="41.658669"><tspan
-           style="font-size:21px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold"
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:21px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start"
            id="tspan4092-8-7-6-9"
            y="675.25287"
            x="41.658669">+ Cover letter</tspan></text>
@@ -897,73 +886,70 @@
          id="g3303"
          transform="translate(1.0962334,-40.034939)">
         <text
-           sodipodi:linespacing="125%"
-           style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+           style="font-style:normal;font-weight:normal;font-size:40px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
            xml:space="preserve"
            id="text4090-8-1-8-65"
            y="868.70337"
            x="41.572586"><tspan
-             style="font-size:21px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold"
+             style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:21px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start"
              id="tspan4092-8-7-6-10"
              y="868.70337"
              x="41.572586">+ Send --in-reply-to &lt;message ID&gt;<tspan
-   style="font-size:20px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold"
+   style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:20px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start"
    id="tspan3184" /></tspan></text>
         <text
-           sodipodi:linespacing="125%"
-           style="font-size:25.6917057px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
+           style="font-style:normal;font-weight:normal;font-size:25.6917px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
            xml:space="preserve"
            id="text4090-8-1-8-9-1"
            y="855.79816"
            x="460.18405"><tspan
-             style="font-size:11.56126785px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold"
+             style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:11.5613px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start"
              id="tspan4092-8-7-6-9-7"
              y="855.79816"
              x="460.18405">****</tspan></text>
       </g>
     </g>
     <text
-       x="685.67828"
+       x="697.67828"
        y="76.55056"
        id="text4090-8-1-8-9-1-9"
        xml:space="preserve"
-       style="font-size:20.20989037px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-       sodipodi:linespacing="125%"><tspan
-         x="685.67828"
+       style="font-style:normal;font-weight:normal;font-size:20.2099px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"><tspan
+         x="697.67828"
          y="76.55056"
          id="tspan4092-8-7-6-9-7-4"
-         style="font-size:9.09445095px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold">v1.0</tspan></text>
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:9.09445px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start">v2.0</tspan></text>
     <rect
-       width="342.3053"
-       height="155.54948"
-       rx="9.2344503"
-       ry="9.2344503"
-       x="377.58942"
-       y="114.55766"
+       width="347.40179"
+       height="155.50351"
+       rx="9.3719397"
+       ry="9.2317209"
+       x="412.60239"
+       y="114.58065"
        id="rect3239-0-9-4-2-1"
-       style="fill:none;stroke:#00233b;stroke-width:0.76930124;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+       style="fill:none;stroke:#00233b;stroke-width:0.774892;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
     <rect
-       width="342.12564"
-       height="236.79482"
-       rx="10.647112"
-       ry="9.584527"
-       x="25.642178"
-       y="356.86249"
+       width="377.75555"
+       height="234.52185"
+       rx="11.755931"
+       ry="9.4925261"
+       x="25.663876"
+       y="356.88416"
        id="rect3239-0-9-4-2-0"
-       style="fill:none;stroke:#00233b;stroke-width:0.9489302;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+       style="fill:none;stroke:#00233b;stroke-width:0.99232;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
     <rect
-       width="341.98428"
-       height="312.73181"
-       rx="8.5358429"
-       ry="8.5358429"
-       x="377.96762"
-       y="280.45331"
+       width="343.53604"
+       height="312.67508"
+       rx="8.5745735"
+       ry="8.5342941"
+       x="414.29037"
+       y="280.48166"
        id="rect3239-0-9-4-2-1-9"
-       style="fill:none;stroke:#00233b;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+       style="fill:none;stroke:#00233b;stroke-width:1.00217;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
     <path
-       d="m 387.02742,157.3408 323.14298,0"
+       d="M 419.35634,157.3408 H 710.1704"
        id="path4088-8"
-       style="fill:none;stroke:#00233b;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       style="fill:none;stroke:#00233b;stroke-width:0.94866px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
        inkscape:connector-curvature="0" />
     <path
        d="m 36.504486,397.33869 323.142974,0"
@@ -971,9 +957,9 @@
        style="fill:none;stroke:#00233b;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
        inkscape:connector-curvature="0" />
     <path
-       d="m 35.494337,156.92238 323.142983,0"
+       d="M 35.494337,156.92238 H 372.01481"
        id="path4088-4"
-       style="fill:none;stroke:#00233b;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       style="fill:none;stroke:#00233b;stroke-width:1.02049px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
        inkscape:connector-curvature="0" />
     <g
        transform="translate(1.0962334,-30.749225)"
@@ -983,45 +969,41 @@
          y="214.1572"
          id="text4090-8-11"
          xml:space="preserve"
-         style="font-size:21px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace Bold"
-         sodipodi:linespacing="125%"><tspan
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:21px;line-height:0%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"><tspan
            x="45.371201"
            y="214.1572"
            id="tspan4092-8-52"
-           style="font-size:21px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold">+ Signed-off-by: </tspan></text>
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:21px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start">+ Signed-off-by: </tspan></text>
       <text
          x="45.371201"
          y="243.81795"
          id="text4090-8-7-8"
          xml:space="preserve"
-         style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-         sodipodi:linespacing="125%"><tspan
+         style="font-style:normal;font-weight:normal;font-size:40px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"><tspan
            x="45.371201"
            y="243.81795"
            id="tspan4092-8-6-3"
-           style="font-size:21px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold">+ Suggested-by:</tspan></text>
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:21px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start">+ Suggested-by:</tspan></text>
       <text
          x="45.371201"
          y="273.90939"
          id="text4090-8-7-8-7"
          xml:space="preserve"
-         style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-         sodipodi:linespacing="125%"><tspan
+         style="font-style:normal;font-weight:normal;font-size:40px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"><tspan
            x="45.371201"
            y="273.90939"
            id="tspan4092-8-6-3-1"
-           style="font-size:21px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold">+ Reported-by:</tspan></text>
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:21px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start">+ Reported-by:</tspan></text>
       <text
          x="45.371201"
          y="304.00082"
          id="text4090-8-7-8-7-6"
          xml:space="preserve"
-         style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-         sodipodi:linespacing="125%"><tspan
+         style="font-style:normal;font-weight:normal;font-size:40px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"><tspan
            x="45.371201"
            y="304.00082"
            id="tspan4092-8-6-3-1-8"
-           style="font-size:21px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold">+ Tested-by:</tspan></text>
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:21px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start">+ Tested-by:</tspan></text>
       <g
          id="g3297"
          transform="translate(1.1147904,-7.2461378)">
@@ -1030,110 +1012,102 @@
            y="368.8187"
            id="text4090-8-7-8-7-6-3"
            xml:space="preserve"
-           style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-           sodipodi:linespacing="125%"><tspan
+           style="font-style:normal;font-weight:normal;font-size:40px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"><tspan
              x="45.371201"
              y="368.8187"
              id="tspan4092-8-6-3-1-8-4"
-             style="font-size:21px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold">+ Previous Acks</tspan></text>
+             style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:21px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start">+ Previous Acks</tspan></text>
         <text
            x="235.24362"
            y="360.3028"
            id="text4090-8-1-8-9-1-4"
            xml:space="preserve"
-           style="font-size:25.6917057px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-           sodipodi:linespacing="125%"><tspan
+           style="font-style:normal;font-weight:normal;font-size:25.6917px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"><tspan
              x="235.24362"
              y="360.3028"
              id="tspan4092-8-7-6-9-7-0"
-             style="font-size:11.56126785px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold">*</tspan></text>
+             style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:11.5613px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start">*</tspan></text>
       </g>
       <text
          x="45.371201"
          y="334.52298"
          id="text4090-8-7-8-7-6-3-4"
          xml:space="preserve"
-         style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-         sodipodi:linespacing="125%"><tspan
+         style="font-style:normal;font-weight:normal;font-size:40px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"><tspan
            x="45.371201"
            y="334.52298"
            id="tspan4092-8-6-3-1-8-4-0"
-           style="font-size:21px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold">+ Commit message</tspan></text>
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:21px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start">+ Commit message</tspan></text>
     </g>
     <rect
        width="295.87207"
        height="164.50136"
        rx="7.3848925"
        ry="4.489974"
-       x="414.80502"
+       x="444.80502"
        y="611.47064"
        id="rect3239-0-9-4-2-1-9-9"
-       style="fill:none;stroke:#00233b;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+       style="fill:none;stroke:#00233b;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
     <text
-       x="439.4429"
+       x="469.4429"
        y="638.35608"
        id="text4090-1-4"
        xml:space="preserve"
-       style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-       sodipodi:linespacing="125%"><tspan
-         x="439.4429"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"><tspan
+         x="469.4429"
          y="638.35608"
          id="tspan4092-38-8"
-         style="font-size:21px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold">Mailing List</tspan></text>
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:21px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start">Mailing List</tspan></text>
     <text
-       x="431.55353"
+       x="461.55353"
        y="675.59857"
        id="text4090-8-5-6-9-4-6-6-8"
        xml:space="preserve"
-       style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-       sodipodi:linespacing="125%"><tspan
-         x="431.55353"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"><tspan
+         x="461.55353"
          y="675.59857"
          id="tspan4092-8-5-5-3-4-0-6-2"
-         style="font-size:21px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold">+ Acked-by:</tspan></text>
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:21px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start">+ Acked-by:</tspan></text>
     <text
-       x="431.39734"
+       x="461.39734"
        y="734.18231"
        id="text4090-8-5-6-9-4-6-6-8-5"
        xml:space="preserve"
-       style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-       sodipodi:linespacing="125%"><tspan
-         x="431.39734"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"><tspan
+         x="461.39734"
          y="734.18231"
          id="tspan4092-8-5-5-3-4-0-6-2-1"
-         style="font-size:21px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold">+ Reviewed-by:</tspan></text>
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:21px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start">+ Reviewed-by:</tspan></text>
     <text
-       x="450.8428"
+       x="480.8428"
        y="766.5578"
        id="text4090-8-5-6-9-4-6-6-8-7"
        xml:space="preserve"
-       style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-       sodipodi:linespacing="125%"><tspan
-         x="450.8428"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"><tspan
+         x="480.8428"
          y="766.5578"
          id="tspan4092-8-5-5-3-4-0-6-2-11"
-         style="font-size:21px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold">Nack (refuse patch)</tspan></text>
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:21px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start">Nack (refuse patch)</tspan></text>
     <path
-       d="m 426.99385,647.80575 272.72607,0"
+       d="M 456.99385,647.80575 H 729.71992"
        id="path4088-7-5"
-       style="fill:none;stroke:#00233b;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       style="fill:none;stroke:#00233b;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
        inkscape:connector-curvature="0" />
     <path
-       d="m 424.7332,742.35699 272.72607,0"
+       d="M 454.7332,742.35699 H 727.45927"
        id="path4088-7-5-2"
-       style="fill:none;stroke:#00233b;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+       style="fill:none;stroke:#00233b;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
        inkscape:connector-curvature="0" />
     <text
-       x="431.39734"
+       x="461.39734"
        y="704.78278"
        id="text4090-8-5-6-9-4-6-6-8-5-1"
        xml:space="preserve"
-       style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-       sodipodi:linespacing="125%"><tspan
-         x="431.39734"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"><tspan
+         x="461.39734"
          y="704.78278"
          id="tspan4092-8-5-5-3-4-0-6-2-1-7"
-         style="font-size:21px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold">+ Tested-by:</tspan></text>
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:21px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start">+ Tested-by:</tspan></text>
     <g
        transform="translate(1.0962334,-2.7492248)"
        id="g3613">
@@ -1142,22 +1116,21 @@
          y="1007.5879"
          id="text4090-8-7-8-7-6-3-8"
          xml:space="preserve"
-         style="font-size:13px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace Bold"
-         sodipodi:linespacing="125%"><tspan
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:13px;line-height:0%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"><tspan
            x="43.146141"
            y="1007.5879"
            id="tspan4092-8-6-3-1-8-4-4"
-           style="font-size:11px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace">Previous Acks only when fixing typos, rebased, or checkpatch issues.</tspan></text>
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:11px;line-height:125%;font-family:monospace;-inkscape-font-specification:Monospace;text-align:start;writing-mode:lr-tb;text-anchor:start">Previous Acks only when fixing typos, rebased, or checkpatch issues.</tspan></text>
       <text
          x="30.942892"
          y="1011.3757"
          id="text4090-8-7-8-7-6-3-8-4-1"
          xml:space="preserve"
-         style="font-size:13px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace Bold"><tspan
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:13px;line-height:0%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"><tspan
            x="30.942892"
            y="1011.3757"
            id="tspan4092-8-6-3-1-8-4-4-55-7"
-           style="font-size:13px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold">*</tspan></text>
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:13px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start">*</tspan></text>
     </g>
     <g
        transform="translate(1.0962334,-2.7492248)"
@@ -1167,35 +1140,34 @@
          y="1020.4383"
          id="text4090-8-7-8-7-6-3-8-4"
          xml:space="preserve"
-         style="font-size:13px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace Bold"
-         sodipodi:linespacing="125%"><tspan
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:13px;line-height:0%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"><tspan
            x="42.176418"
            y="1020.4383"
            id="tspan4092-8-6-3-1-8-4-4-55"
-           style="font-size:11px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace">The version.map function names must be in alphabetical order.</tspan></text>
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:11px;line-height:125%;font-family:monospace;-inkscape-font-specification:Monospace;text-align:start;writing-mode:lr-tb;text-anchor:start">The version.map function names must be in alphabetical order.</tspan></text>
       <text
          x="30.942892"
          y="1024.2014"
          id="text4090-8-7-8-7-6-3-8-4-1-5"
          xml:space="preserve"
-         style="font-size:13px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace Bold"><tspan
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:13px;line-height:0%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"><tspan
            x="30.942892"
            y="1024.2014"
            id="tspan4092-8-6-3-1-8-4-4-55-7-2"
-           style="font-size:13px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold">*</tspan></text>
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:13px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start">*</tspan></text>
       <text
          x="25.247679"
          y="1024.2014"
          id="text4090-8-7-8-7-6-3-8-4-1-5-6"
          xml:space="preserve"
-         style="font-size:13px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace Bold"><tspan
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:13px;line-height:0%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"><tspan
            x="25.247679"
            y="1024.2014"
            id="tspan4092-8-6-3-1-8-4-4-55-7-2-8"
-           style="font-size:13px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold">*</tspan></text>
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:13px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start">*</tspan></text>
     </g>
     <g
-       transform="translate(1.0962334,-30.749225)"
+       transform="matrix(1.0211743,0,0,1,25.427515,-30.749225)"
        id="g3275">
       <g
          id="g3341">
@@ -1204,67 +1176,61 @@
            y="390.17807"
            id="text4090-8"
            xml:space="preserve"
-           style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-           sodipodi:linespacing="125%"><tspan
+           style="font-style:normal;font-weight:normal;font-size:40px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"><tspan
              x="394.78601"
              y="390.17807"
              id="tspan4092-8"
-             style="font-size:21px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold">+ Rebase to git  </tspan></text>
+             style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:21px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start">+ Rebase to git  </tspan></text>
         <text
            x="394.78601"
            y="420.24835"
            id="text4090-8-5"
            xml:space="preserve"
-           style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-           sodipodi:linespacing="125%"><tspan
+           style="font-style:normal;font-weight:normal;font-size:40px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"><tspan
              x="394.78601"
              y="420.24835"
              id="tspan4092-8-5"
-             style="font-size:21px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold">+ Checkpatch </tspan></text>
+             style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:21px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start">+ Checkpatch </tspan></text>
         <text
            x="394.78601"
            y="450.53394"
            id="text4090-8-5-6"
            xml:space="preserve"
-           style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-           sodipodi:linespacing="125%"><tspan
+           style="font-style:normal;font-weight:normal;font-size:40px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"><tspan
              x="394.78601"
              y="450.53394"
              id="tspan4092-8-5-5"
-             style="font-size:21px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold">+ ABI breakage </tspan></text>
+             style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:21px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start">+ ABI breakage </tspan></text>
         <text
            x="394.78601"
            y="513.13031"
            id="text4090-8-5-6-9-4"
            xml:space="preserve"
-           style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-           sodipodi:linespacing="125%"><tspan
+           style="font-style:normal;font-weight:normal;font-size:40px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"><tspan
              x="394.78601"
              y="513.13031"
              id="tspan4092-8-5-5-3-4"
-             style="font-size:21px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold">+ Maintainers file</tspan></text>
+             style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:21px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start">+ Maintainers file</tspan></text>
         <text
            x="394.78601"
            y="573.48621"
            id="text4090-8-5-6-9-4-6"
            xml:space="preserve"
-           style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-           sodipodi:linespacing="125%"><tspan
+           style="font-style:normal;font-weight:normal;font-size:40px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"><tspan
              x="394.78601"
              y="573.48621"
              id="tspan4092-8-5-5-3-4-0"
-             style="font-size:21px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold">+ Release notes</tspan></text>
+             style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:21px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start">+ Release notes</tspan></text>
         <text
            x="395.79617"
            y="603.98718"
            id="text4090-8-5-6-9-4-6-6"
            xml:space="preserve"
-           style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-           sodipodi:linespacing="125%"><tspan
+           style="font-style:normal;font-weight:normal;font-size:40px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"><tspan
              x="395.79617"
              y="603.98718"
              id="tspan4092-8-5-5-3-4-0-6"
-             style="font-size:21px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold">+ Documentation</tspan></text>
+             style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:21px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start">+ Documentation</tspan></text>
         <g
            transform="translate(0,-0.83470152)"
            id="g3334">
@@ -1276,24 +1242,22 @@
                y="468.01297"
                id="text4090-8-1-8-9-1-4-1"
                xml:space="preserve"
-               style="font-size:25.6917057px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-               sodipodi:linespacing="125%"><tspan
+               style="font-style:normal;font-weight:normal;font-size:25.6917px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"><tspan
                  x="660.46729"
                  y="468.01297"
                  id="tspan4092-8-7-6-9-7-0-7"
-                 style="font-size:11.56126785px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold">**</tspan></text>
+                 style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:11.5613px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start">**</tspan></text>
           </g>
           <text
              x="394.78601"
              y="483.59955"
              id="text4090-8-5-6-9"
              xml:space="preserve"
-             style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-             sodipodi:linespacing="125%"><tspan
+             style="font-style:normal;font-weight:normal;font-size:40px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"><tspan
                x="394.78601"
                y="483.59955"
                id="tspan4092-8-5-5-3"
-               style="font-size:21px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold">+ Update version.map</tspan></text>
+               style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:21px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start">+ Update version.map</tspan></text>
         </g>
         <g
            id="g3428"
@@ -1303,12 +1267,11 @@
              y="541.38928"
              id="text4090-8-5-6-9-4-6-1"
              xml:space="preserve"
-             style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-             sodipodi:linespacing="125%"><tspan
+             style="font-style:normal;font-weight:normal;font-size:40px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"><tspan
                x="394.78601"
                y="541.38928"
                id="tspan4092-8-5-5-3-4-0-7"
-               style="font-size:21px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold">+ Doxygen</tspan></text>
+               style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:21px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start">+ Doxygen</tspan></text>
           <g
              transform="translate(-119.92979,57.949844)"
              id="g3267-9">
@@ -1317,28 +1280,26 @@
                y="473.13675"
                id="text4090-8-1-8-9-1-4-1-4"
                xml:space="preserve"
-               style="font-size:25.6917057px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-               sodipodi:linespacing="125%"><tspan
+               style="font-style:normal;font-weight:normal;font-size:25.6917px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"><tspan
                  x="628.93628"
                  y="473.13675"
                  id="tspan4092-8-7-6-9-7-0-7-8"
-                 style="font-size:11.56126785px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold">***</tspan></text>
+                 style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:11.5613px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start">***</tspan></text>
           </g>
         </g>
       </g>
     </g>
     <text
-       x="840.1828"
-       y="234.34692"
-       transform="matrix(0.70710678,0.70710678,-0.70710678,0.70710678,0,0)"
+       x="861.39557"
+       y="213.1337"
+       transform="rotate(45)"
        id="text4090-8-5-6-9-4-6-6-8-7-4"
        xml:space="preserve"
-       style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
-       sodipodi:linespacing="125%"><tspan
-         x="840.1828"
-         y="234.34692"
+       style="font-style:normal;font-weight:normal;font-size:40px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"><tspan
+         x="861.39557"
+         y="213.1337"
          id="tspan4092-8-5-5-3-4-0-6-2-11-0"
-         style="font-size:21px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold">+</tspan></text>
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:21px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start">+</tspan></text>
     <g
        transform="translate(1.0962334,-2.7492248)"
        id="g3595">
@@ -1347,42 +1308,41 @@
          y="1037.0271"
          id="text4090-8-7-8-7-6-3-8-4-1-2"
          xml:space="preserve"
-         style="font-size:13px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace Bold"><tspan
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:13px;line-height:0%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"><tspan
            x="30.942892"
            y="1037.0271"
            id="tspan4092-8-6-3-1-8-4-4-55-7-3"
-           style="font-size:13px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold">*</tspan></text>
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:13px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start">*</tspan></text>
       <text
          x="25.247679"
          y="1037.0271"
          id="text4090-8-7-8-7-6-3-8-4-1-2-5"
          xml:space="preserve"
-         style="font-size:13px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace Bold"><tspan
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:13px;line-height:0%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"><tspan
            x="25.247679"
            y="1037.0271"
            id="tspan4092-8-6-3-1-8-4-4-55-7-3-7"
-           style="font-size:13px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold">*</tspan></text>
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:13px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start">*</tspan></text>
       <text
          x="19.552465"
          y="1037.0271"
          id="text4090-8-7-8-7-6-3-8-4-1-2-7"
          xml:space="preserve"
-         style="font-size:13px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace Bold"><tspan
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:13px;line-height:0%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"><tspan
            x="19.552465"
            y="1037.0271"
            id="tspan4092-8-6-3-1-8-4-4-55-7-3-9"
-           style="font-size:13px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold">*</tspan></text>
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:13px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start">*</tspan></text>
       <text
          x="42.830166"
          y="1033.2393"
          id="text4090-8-7-8-7-6-3-8-4-8"
          xml:space="preserve"
-         style="font-size:13px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace Bold"
-         sodipodi:linespacing="125%"><tspan
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:13px;line-height:0%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"><tspan
            x="42.830166"
            y="1033.2393"
            id="tspan4092-8-6-3-1-8-4-4-55-2"
-           style="font-size:11px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace">New header files must get a new page in the API docs.</tspan></text>
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:11px;line-height:125%;font-family:monospace;-inkscape-font-specification:Monospace;text-align:start;writing-mode:lr-tb;text-anchor:start">New header files must get a new page in the API docs.</tspan></text>
     </g>
     <g
        transform="translate(1.0962334,-2.7492248)"
@@ -1392,52 +1352,51 @@
          y="1046.0962"
          id="text4090-8-7-8-7-6-3-8-2"
          xml:space="preserve"
-         style="font-size:13px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace Bold"
-         sodipodi:linespacing="125%"><tspan
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:13px;line-height:0%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"><tspan
            x="42.212418"
            y="1046.0962"
            id="tspan4092-8-6-3-1-8-4-4-5"
-           style="font-size:11px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace">Available from patchwork, or email header. Reply to Cover letters.</tspan></text>
+           style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:11px;line-height:125%;font-family:monospace;-inkscape-font-specification:Monospace;text-align:start;writing-mode:lr-tb;text-anchor:start">Available from patchwork, or email header. Reply to Cover letters.</tspan></text>
       <text
          x="31.140535"
          y="1049.8527"
          id="text4090-8-7-8-7-6-3-8-4-1-2-2"
          xml:space="preserve"
-         style="font-size:13px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace Bold"><tspan
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:13px;line-height:0%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"><tspan
            x="31.140535"
            y="1049.8527"
            id="tspan4092-8-6-3-1-8-4-4-55-7-3-3"
-           style="font-size:13px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold">*</tspan></text>
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:13px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start">*</tspan></text>
       <text
          x="25.445322"
          y="1049.8527"
          id="text4090-8-7-8-7-6-3-8-4-1-2-5-2"
          xml:space="preserve"
-         style="font-size:13px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace Bold"><tspan
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:13px;line-height:0%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"><tspan
            x="25.445322"
            y="1049.8527"
            id="tspan4092-8-6-3-1-8-4-4-55-7-3-7-2"
-           style="font-size:13px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold">*</tspan></text>
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:13px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start">*</tspan></text>
       <text
          x="19.750109"
          y="1049.8527"
          id="text4090-8-7-8-7-6-3-8-4-1-2-7-1"
          xml:space="preserve"
-         style="font-size:13px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace Bold"><tspan
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:13px;line-height:0%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"><tspan
            x="19.750109"
            y="1049.8527"
            id="tspan4092-8-6-3-1-8-4-4-55-7-3-9-6"
-           style="font-size:13px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold">*</tspan></text>
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:13px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start">*</tspan></text>
       <text
          x="14.016749"
          y="1049.8527"
          id="text4090-8-7-8-7-6-3-8-4-1-2-7-1-8"
          xml:space="preserve"
-         style="font-size:13px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace Bold"><tspan
+         style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:13px;line-height:0%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"><tspan
            x="14.016749"
            y="1049.8527"
            id="tspan4092-8-6-3-1-8-4-4-55-7-3-9-6-5"
-           style="font-size:13px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace Bold">*</tspan></text>
+           style="font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;font-size:13px;line-height:125%;font-family:monospace;-inkscape-font-specification:'Monospace Bold';text-align:start;writing-mode:lr-tb;text-anchor:start">*</tspan></text>
     </g>
     <rect
        width="196.44218"
@@ -1449,36 +1408,35 @@
        id="rect3239-0-9-4-2-1-9-9-7"
        style="fill:none;stroke:#00233b;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
     <rect
-       width="678.43036"
-       height="43.497677"
-       rx="7.8557949"
-       ry="6.7630997"
-       x="31.274473"
-       y="836.69745"
+       width="710.73767"
+       height="43.476074"
+       rx="8.2298937"
+       ry="6.7597408"
+       x="31.285275"
+       y="836.70825"
        id="rect3239-0-9-4-3-6"
-       style="fill:none;stroke:#00233b;stroke-width:0.92794865;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+       style="fill:none;stroke:#00233b;stroke-width:0.949551;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
     <text
        x="73.804535"
        y="864.28137"
        id="text4090-8-1-8-65-9-1"
        xml:space="preserve"
-       style="font-size:19px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace"
-       sodipodi:linespacing="125%"><tspan
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:monospace;-inkscape-font-specification:Monospace;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"><tspan
          sodipodi:role="line"
          x="73.804535"
          y="864.28137"
-         id="tspan3266-8">git format-patch -[N]</tspan></text>
+         id="tspan3266-8"
+         style="font-size:19px;line-height:1.25;font-family:monospace">git format-patch -[N]</tspan></text>
     <text
        x="342.70221"
        y="862.83478"
        id="text4090-8-1-8-65-9-1-7"
        xml:space="preserve"
-       style="font-size:19px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;font-family:Monospace;-inkscape-font-specification:Monospace"
-       sodipodi:linespacing="125%"><tspan
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:monospace;-inkscape-font-specification:Monospace;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none"><tspan
          sodipodi:role="line"
          x="342.70221"
          y="862.83478"
          id="tspan3266-8-2"
-         style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;font-family:Monospace;-inkscape-font-specification:Monospace">// creates .patch files for final review</tspan></text>
+         style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:14px;line-height:125%;font-family:monospace;-inkscape-font-specification:Monospace;text-align:start;writing-mode:lr-tb;text-anchor:start">// creates .patch files for final review</tspan></text>
   </g>
 </svg>
-- 
2.17.1


^ permalink raw reply	[relevance 2%]

* [dpdk-dev] [PATCH v5 18/20] doc: remove references to make from contributing guide
  @ 2020-09-21 13:59  9%   ` Ciara Power
  2020-09-21 13:59  2%   ` [dpdk-dev] [PATCH v5 20/20] doc: update patch cheatsheet to use meson Ciara Power
  1 sibling, 0 replies; 200+ results
From: Ciara Power @ 2020-09-21 13:59 UTC (permalink / raw)
  To: dev; +Cc: Ciara Power, Louise Kilheeney, John McNamara, Marko Kovacevic

Make is no longer supported for compiling DPDK, references are now
removed in the documentation.

Signed-off-by: Ciara Power <ciara.power@intel.com>
Signed-off-by: Louise Kilheeney <louise.kilheeney@intel.com>

---
v5:
  - Removed reference to test-build.sh used for Make.
  - Added point back in for handling specific code, reworded as
    necessary.
  - Added library statistics section, removing only the mention of
    CONFIG options.
---
 doc/guides/contributing/design.rst        | 41 ++++++++---------------
 doc/guides/contributing/documentation.rst | 31 ++++-------------
 doc/guides/contributing/patches.rst       |  6 ++--
 3 files changed, 23 insertions(+), 55 deletions(-)

diff --git a/doc/guides/contributing/design.rst b/doc/guides/contributing/design.rst
index 5fe7f63942..3e24dc1c7b 100644
--- a/doc/guides/contributing/design.rst
+++ b/doc/guides/contributing/design.rst
@@ -21,7 +21,7 @@ A file located in a subdir of "linux" is specific to this execution environment.
 
 When absolutely necessary, there are several ways to handle specific code:
 
-* Use a ``#ifdef`` with the CONFIG option in the C code.
+* Use a ``#ifdef`` with a build definition macro in the C code.
   This can be done when the differences are small and they can be embedded in the same C file:
 
   .. code-block:: c
@@ -32,30 +32,25 @@ When absolutely necessary, there are several ways to handle specific code:
      titi();
      #endif
 
-* Use the CONFIG option in the Makefile. This is done when the differences are more significant.
-  In this case, the code is split into two separate files that are architecture or environment specific.
-  This should only apply inside the EAL library.
-
-.. note::
-
-   As in the linux kernel, the ``CONFIG_`` prefix is not used in C code.
-   This is only needed in Makefiles or shell scripts.
+* Use build definition macros and conditions in the Meson build file. This is done when the differences
+  are more significant. In this case, the code is split into two separate files that are architecture
+  or environment specific. This should only apply inside the EAL library.
 
 Per Architecture Sources
 ~~~~~~~~~~~~~~~~~~~~~~~~
 
-The following config options can be used:
+The following macro options can be used:
 
-* ``CONFIG_RTE_ARCH`` is a string that contains the name of the architecture.
-* ``CONFIG_RTE_ARCH_I686``, ``CONFIG_RTE_ARCH_X86_64``, ``CONFIG_RTE_ARCH_X86_64_32`` or ``CONFIG_RTE_ARCH_PPC_64`` are defined only if we are building for those architectures.
+* ``RTE_ARCH`` is a string that contains the name of the architecture.
+* ``RTE_ARCH_I686``, ``RTE_ARCH_X86_64``, ``RTE_ARCH_X86_64_32`` or ``RTE_ARCH_PPC_64`` are defined only if we are building for those architectures.
 
 Per Execution Environment Sources
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-The following config options can be used:
+The following macro options can be used:
 
-* ``CONFIG_RTE_EXEC_ENV`` is a string that contains the name of the executive environment.
-* ``CONFIG_RTE_EXEC_ENV_FREEBSD`` or ``CONFIG_RTE_EXEC_ENV_LINUX`` are defined only if we are building for this execution environment.
+* ``RTE_EXEC_ENV`` is a string that contains the name of the executive environment.
+* ``RTE_EXEC_ENV_FREEBSD`` or ``RTE_EXEC_ENV_LINUX`` are defined only if we are building for this execution environment.
 
 Mbuf features
 -------------
@@ -87,22 +82,14 @@ requirements for preventing ABI changes when implementing statistics.
 Mechanism to allow the application to turn library statistics on and off
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-Each library that maintains statistics counters should provide a single build
-time flag that decides whether the statistics counter collection is enabled or
-not. This flag should be exposed as a variable within the DPDK configuration
-file. When this flag is set, all the counters supported by current library are
+Having runtime support for enabling/disabling library statistics is recommended,
+as build-time options should be avoided. However, if build-time options are used,
+for example as in the table library, the options can be set using c_args.
+When this flag is set, all the counters supported by current library are
 collected for all the instances of every object type provided by the library.
 When this flag is cleared, none of the counters supported by the current library
 are collected for any instance of any object type provided by the library:
 
-.. code-block:: console
-
-   # DPDK file config/common_linux, config/common_freebsd, etc.
-   CONFIG_RTE_<LIBRARY_NAME>_STATS_COLLECT=y/n
-
-The default value for this DPDK configuration file variable (either "yes" or
-"no") is decided by each library.
-
 
 Prevention of ABI changes due to library statistics support
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/contributing/documentation.rst b/doc/guides/contributing/documentation.rst
index 375ea64ba8..768453126f 100644
--- a/doc/guides/contributing/documentation.rst
+++ b/doc/guides/contributing/documentation.rst
@@ -222,25 +222,14 @@ Build commands
 ~~~~~~~~~~~~~~
 
 The documentation is built using the standard DPDK build system.
-Some examples are shown below:
 
-* Generate all the documentation targets::
+To enable doc building::
 
-     make doc
+   meson configure -Denable_docs=true
 
-* Generate the Doxygen API documentation in Html::
+See :doc:`../linux_gsg/build_dpdk` for more detail on compiling DPDK with meson.
 
-     make doc-api-html
-
-* Generate the guides documentation in Html::
-
-     make doc-guides-html
-
-* Generate the guides documentation in Pdf::
-
-     make doc-guides-pdf
-
-The output of these commands is generated in the ``build`` directory::
+The output is generated in the ``build`` directory::
 
    build/doc
          |-- html
@@ -255,10 +244,6 @@ The output of these commands is generated in the ``build`` directory::
 
    Make sure to fix any Sphinx or Doxygen warnings when adding or updating documentation.
 
-The documentation output files can be removed as follows::
-
-   make doc-clean
-
 
 Document Guidelines
 -------------------
@@ -308,7 +293,7 @@ Line Length
   Long literal command lines can be shown wrapped with backslashes. For
   example::
 
-     testpmd -l 2-3 -n 4 \
+     dpdk-testpmd -l 2-3 -n 4 \
              --vdev=virtio_user0,path=/dev/vhost-net,queues=2,queue_size=1024 \
              -- -i --tx-offloads=0x0000002c --enable-lro --txq=2 --rxq=2 \
              --txd=1024 --rxd=1024
@@ -460,7 +445,7 @@ Code and Literal block sections
   For long literal lines that exceed that limit try to wrap the text at sensible locations.
   For example a long command line could be documented like this and still work if copied directly from the docs::
 
-     build/app/testpmd -l 0-2 -n3 --vdev=net_pcap0,iface=eth0     \
+     ./<build_dir>/app/dpdk-testpmd -l 0-2 -n3 --vdev=net_pcap0,iface=eth0    \
                                --vdev=net_pcap1,iface=eth1     \
                                -- -i --nb-cores=2 --nb-ports=2 \
                                   --total-num-mbufs=2048
@@ -743,9 +728,5 @@ The following are some guidelines for use of Doxygen in the DPDK API documentati
      /** Array of physical page addresses for the mempool buffer. */
      phys_addr_t elt_pa[MEMPOOL_PG_NUM_DEFAULT];
 
-* Check for Doxygen warnings in new code by checking the API documentation build::
-
-     make doc-api-html >/dev/null
-
 * Read the rendered section of the documentation that you have added for correctness, clarity and consistency
   with the surrounding text.
diff --git a/doc/guides/contributing/patches.rst b/doc/guides/contributing/patches.rst
index 9ff60944c3..9fa5a79c85 100644
--- a/doc/guides/contributing/patches.rst
+++ b/doc/guides/contributing/patches.rst
@@ -486,9 +486,9 @@ By default, ABI compatibility checks are disabled.
 To enable them, a reference version must be selected via the environment
 variable ``DPDK_ABI_REF_VERSION``.
 
-The ``devtools/test-build.sh`` and ``devtools/test-meson-builds.sh`` scripts
-then build this reference version in a temporary directory and store the
-results in a subfolder of the current working directory.
+The ``devtools/test-meson-builds.sh`` script then build this reference version
+in a temporary directory and store the results in a subfolder of the current
+working directory.
 The environment variable ``DPDK_ABI_REF_DIR`` can be set so that the results go
 to a different location.
 
-- 
2.17.1


^ permalink raw reply	[relevance 9%]

* [dpdk-dev] [PATCH v7 07/10] devtools: support python3 only
  @ 2020-09-21 12:03  4%       ` Kevin Laatz
  0 siblings, 0 replies; 200+ results
From: Kevin Laatz @ 2020-09-21 12:03 UTC (permalink / raw)
  To: dev
  Cc: bruce.richardson, anatoly.burakov, robin.jarry, david.marchand,
	Louise Kilheeney, Neil Horman, Ray Kinsella

From: Louise Kilheeney <louise.kilheeney@intel.com>

Changed script to explicitly use python3 only to avoid
maintaining python 2 and removed deprecation notice.

Cc: Neil Horman <nhorman@tuxdriver.com>
Cc: Ray Kinsella <mdr@ashroe.eu>

Signed-off-by: Louise Kilheeney <louise.kilheeney@intel.com>
Acked-by: Ray Kinsella <mdr@ashroe.eu>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
---
 devtools/update_version_map_abi.py | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/devtools/update_version_map_abi.py b/devtools/update_version_map_abi.py
index 10c3bc8098..3536a54b44 100755
--- a/devtools/update_version_map_abi.py
+++ b/devtools/update_version_map_abi.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2019 Intel Corporation
 
@@ -9,7 +9,6 @@
 from the devtools/update-abi.sh utility.
 """
 
-from __future__ import print_function
 import argparse
 import sys
 import re
@@ -160,10 +159,6 @@ def __generate_internal_abi(f_out, lines):
     print("};", file=f_out)
 
 def __main():
-    if sys.version_info.major < 3:
-        print("WARNING: Python 2 is deprecated for use in DPDK, and will not work in future releases.", file=sys.stderr)
-        print("Please use Python 3 instead", file=sys.stderr)
-
     arg_parser = argparse.ArgumentParser(
         description='Merge versions in linker version script.')
 
-- 
2.25.1


^ permalink raw reply	[relevance 4%]

* [dpdk-dev] [PATCH v6 07/10] devtools: support python3 only
  @ 2020-09-21 11:46  4%     ` Kevin Laatz
    1 sibling, 0 replies; 200+ results
From: Kevin Laatz @ 2020-09-21 11:46 UTC (permalink / raw)
  To: dev
  Cc: bruce.richardson, anatoly.burakov, robin.jarry, david.marchard,
	Louise Kilheeney, Neil Horman, Ray Kinsella

From: Louise Kilheeney <louise.kilheeney@intel.com>

Changed script to explicitly use python3 only to avoid
maintaining python 2 and removed deprecation notice.

Cc: Neil Horman <nhorman@tuxdriver.com>
Cc: Ray Kinsella <mdr@ashroe.eu>

Signed-off-by: Louise Kilheeney <louise.kilheeney@intel.com>
Acked-by: Ray Kinsella <mdr@ashroe.eu>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
---
 devtools/update_version_map_abi.py | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/devtools/update_version_map_abi.py b/devtools/update_version_map_abi.py
index 10c3bc8098..3536a54b44 100755
--- a/devtools/update_version_map_abi.py
+++ b/devtools/update_version_map_abi.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2019 Intel Corporation
 
@@ -9,7 +9,6 @@
 from the devtools/update-abi.sh utility.
 """
 
-from __future__ import print_function
 import argparse
 import sys
 import re
@@ -160,10 +159,6 @@ def __generate_internal_abi(f_out, lines):
     print("};", file=f_out)
 
 def __main():
-    if sys.version_info.major < 3:
-        print("WARNING: Python 2 is deprecated for use in DPDK, and will not work in future releases.", file=sys.stderr)
-        print("Please use Python 3 instead", file=sys.stderr)
-
     arg_parser = argparse.ArgumentParser(
         description='Merge versions in linker version script.')
 
-- 
2.25.1


^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] [PATCH] devtools: fix ninja break under default DESTDIR path
  2020-09-20  9:32  0%   ` Phil Yang
@ 2020-09-21  6:19  0%     ` Juraj Linkeš
  0 siblings, 0 replies; 200+ results
From: Juraj Linkeš @ 2020-09-21  6:19 UTC (permalink / raw)
  To: Phil Yang, david.marchand, dev; +Cc: Honnappa Nagarahalli, Ruifeng Wang, nd, nd



> -----Original Message-----
> From: Phil Yang <Phil.Yang@arm.com>
> Sent: Sunday, September 20, 2020 11:32 AM
> To: Juraj Linkeš <juraj.linkes@pantheon.tech>; david.marchand@redhat.com;
> dev@dpdk.org
> Cc: Honnappa Nagarahalli <Honnappa.Nagarahalli@arm.com>; Ruifeng Wang
> <Ruifeng.Wang@arm.com>; nd <nd@arm.com>; nd <nd@arm.com>
> Subject: RE: [dpdk-dev] [PATCH] devtools: fix ninja break under default DESTDIR
> path
> 
> Juraj Linkeš <juraj.linkes@pantheon.tech> writes:
> 
> > > Subject: [dpdk-dev] [PATCH] devtools: fix ninja break under default
> > DESTDIR
> > > path
> > >
> > > If DPDK_ABI_REF_DIR is not set, the default DESTDIR is a relative path.
> > > This will break ninja in the ABI check test.
> > >
> >
> > The commit message is not very clear. The problem is we're specifying
> > ninja's destination dir in variable DESTDIR when invoking ninja
> > install. If the DESTDIR is not an absolute path, ninja complains (when
> > invoking install). This isn't
> Yes, this defect is due to 'ninja install' not happy with the relative path.
> Will reword the commit message in the next version.
> 
> > directly related to DPDK_ABI_REF_DIR, it's more a problem with how we
> > call install_target.
> If we have set 'DPDK_ABI_REF_DIR' before the test, 'abiref' should be an
> absolute path, but the default 'abiref' value is a relative path.
> So should we keep them align?
> 
> >
> > > Fixes: 777014e56d07 ("devtools: add ABI checks")
> > >
> > > Signed-off-by: Phil Yang <phil.yang@arm.com>
> > > ---
> > >  devtools/test-meson-builds.sh | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-
> > builds.sh index
> > > a87de63..2bfcaca 100755
> > > --- a/devtools/test-meson-builds.sh
> > > +++ b/devtools/test-meson-builds.sh
> > > @@ -143,7 +143,7 @@ build () # <directory> <target compiler | cross
> > > file> <meson options>
> > >  	config $srcdir $builds_dir/$targetdir $cross --werror $*
> > >  	compile $builds_dir/$targetdir
> > >  	if [ -n "$DPDK_ABI_REF_VERSION" ]; then
> > > -		abirefdir=${DPDK_ABI_REF_DIR:-
> > > reference}/$DPDK_ABI_REF_VERSION
> > > +		abirefdir=${DPDK_ABI_REF_DIR:-
> > > $(pwd)/reference}/$DPDK_ABI_REF_VERSION
> > >  		if [ ! -d $abirefdir/$targetdir ]; then
> > >  			# clone current sources
> > >  			if [ ! -d $abirefdir/src ]; then
> > > --
> > > 2.7.4
> > >
> >
> > install_target on line 160 is called improperly. Let's fix it so that
> > it matches line
> > 169:
> > install_target $abirefdir/build $(readlink -f $abirefdir/$targetdir)
> 
> If so we need to call readlink at line #161 as well as it does at line #171.
> 
> >
> > This way we don't need to add $(pwd).
> 
> If you don't prefer $(pwd), we can do it like this:
> abirefdir=$(readlink -f ${DPDK_ABI_REF_DIR:-
> reference}/$DPDK_ABI_REF_VERSION)
> 

I mostly wanted the code to be consistent and since readlink was already in the code I pointed that out. I think your last proposal is the best of the two worlds, but let's change the code everywhere (i.e. lines 170-174 as well).

> Thanks,
> Phil
> 
> 



^ permalink raw reply	[relevance 0%]

* [dpdk-dev] [PATCH V9 1/3] ethdev: introduce FEC API
  @ 2020-09-21  6:13  2%   ` Min Hu (Connor)
  0 siblings, 0 replies; 200+ results
From: Min Hu (Connor) @ 2020-09-21  6:13 UTC (permalink / raw)
  To: dev; +Cc: konstantin.ananyev, thomas, arybchenko, ferruh.yigit, linuxarm

This patch adds Forward error correction(FEC) support for ethdev.
Introduce APIs which support query and config FEC information in
hardware.

Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
Reviewed-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
Reviewed-by: Chengwen Feng <fengchengwen@huawei.com>
Reviewed-by: Chengchang Tang <tangchengchang@huawei.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
---
v8->v9:
added reviewed-by and acked-by.

---
v7->v8:
put AUTO just after NOFEC in rte_fec_mode definition.

---
v6->v7:
deleted RTE_ETH_FEC_NUM to prevent ABI breakage.
add new macro to indicate translation from fec mode
to capa.

---
v5->v6:
modified release notes.
deleted check duplicated for FEC API
fixed code styles according to DPDK coding style.
added _eth prefix.

---
v4->v5:
Modifies FEC capa definitions using macros.
Add RTE_ prefix for public FEC mode enum.
add release notes about FEC for dpdk20_11.

---
v2->v3:
add function return value "-ENOTSUP" for API

---
 doc/guides/rel_notes/release_20_11.rst   | 10 ++++
 lib/librte_ethdev/rte_ethdev.c           | 49 ++++++++++++++++++
 lib/librte_ethdev/rte_ethdev.h           | 85 ++++++++++++++++++++++++++++++++
 lib/librte_ethdev/rte_ethdev_core.h      | 79 +++++++++++++++++++++++++++++
 lib/librte_ethdev/rte_ethdev_version.map |  5 ++
 5 files changed, 228 insertions(+)

diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index cc72609..e19b037 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -55,6 +55,16 @@ New Features
      Also, make sure to start the actual text at the margin.
      =======================================================
 
+* **Added the FEC API, for a generic FEC query and config.**
+
+  Added the FEC API which provides functions for query FEC capabilities and
+  current FEC mode from device. Also, API for configuring FEC mode is also provided.
+
+* **Added hns3 FEC PMD, for supporting query and config FEC mode.**
+
+  Added the FEC PMD which provides functions for query FEC capabilities and
+  current FEC mode from device. Also, PMD for configuring FEC mode is also provided.
+
 
 Removed Items
 -------------
diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c
index 7858ad5..d7cd737 100644
--- a/lib/librte_ethdev/rte_ethdev.c
+++ b/lib/librte_ethdev/rte_ethdev.c
@@ -3642,6 +3642,55 @@ rte_eth_led_off(uint16_t port_id)
 	return eth_err(port_id, (*dev->dev_ops->dev_led_off)(dev));
 }
 
+int
+rte_eth_fec_get_capability(uint16_t port_id, uint32_t *fec_cap)
+{
+	struct rte_eth_dev *dev;
+
+	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
+	dev = &rte_eth_devices[port_id];
+	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->fec_get_capability, -ENOTSUP);
+	return eth_err(port_id, (*dev->dev_ops->fec_get_capability)(dev,
+								fec_cap));
+}
+
+int
+rte_eth_fec_get(uint16_t port_id, enum rte_eth_fec_mode *mode)
+{
+	struct rte_eth_dev *dev;
+
+	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
+	dev = &rte_eth_devices[port_id];
+	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->fec_get, -ENOTSUP);
+	return eth_err(port_id, (*dev->dev_ops->fec_get)(dev, mode));
+}
+
+int
+rte_eth_fec_set(uint16_t port_id, enum rte_eth_fec_mode mode)
+{
+	struct rte_eth_dev *dev;
+	uint32_t fec_mode_mask;
+	int ret;
+
+	ret = rte_eth_fec_get_capability(port_id, &fec_mode_mask);
+	if (ret != 0)
+		return ret;
+
+	/*
+	 * Check whether the configured mode is within the FEC capability.
+	 * If not, the configured mode will not be supported.
+	 */
+	if (!(fec_mode_mask & RTE_ETH_FEC_MODE_TO_CAPA(mode))) {
+		RTE_ETHDEV_LOG(ERR, "unsupported FEC mode = %d, port_id = %u\n",
+			       mode, port_id);
+		return -EINVAL;
+	}
+
+	dev = &rte_eth_devices[port_id];
+	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->fec_set, -ENOTSUP);
+	return eth_err(port_id, (*dev->dev_ops->fec_set)(dev, mode));
+}
+
 /*
  * Returns index into MAC address array of addr. Use 00:00:00:00:00:00 to find
  * an empty spot.
diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
index 70295d7..7d5e81b 100644
--- a/lib/librte_ethdev/rte_ethdev.h
+++ b/lib/librte_ethdev/rte_ethdev.h
@@ -1310,6 +1310,9 @@ struct rte_eth_conf {
 #define RTE_ETH_DEV_FALLBACK_RX_NBQUEUES 1
 #define RTE_ETH_DEV_FALLBACK_TX_NBQUEUES 1
 
+/* Translate from FEC mode to FEC capa */
+#define RTE_ETH_FEC_MODE_TO_CAPA(x)	(1U << (x))
+
 /**
  * Preferred Rx/Tx port parameters.
  * There are separate instances of this structure for transmission
@@ -1511,6 +1514,24 @@ struct rte_eth_dcb_info {
 	struct rte_eth_dcb_tc_queue_mapping tc_queue;
 };
 
+/**
+ * This enum indicates the possible (forward error correction)FEC modes
+ * of an ethdev port.
+ */
+enum rte_eth_fec_mode {
+	RTE_ETH_FEC_NOFEC = 0,      /**< FEC is off */
+	RTE_ETH_FEC_AUTO,	    /**< FEC autonegotiation modes */
+	RTE_ETH_FEC_BASER,          /**< FEC using common algorithm */
+	RTE_ETH_FEC_RS,             /**< FEC using RS algorithm */
+};
+
+/* This indicates FEC capabilities */
+#define RTE_ETH_FEC_CAPA_NOFEC  (1U << RTE_ETH_FEC_NOFEC)
+#define RTE_ETH_FEC_CAPA_AUTO   (1U << RTE_ETH_FEC_AUTO)
+#define RTE_ETH_FEC_CAPA_BASER  (1U << RTE_ETH_FEC_BASER)
+#define RTE_ETH_FEC_CAPA_RS     (1U << RTE_ETH_FEC_RS)
+
+
 #define RTE_ETH_ALL RTE_MAX_ETHPORTS
 
 /* Macros to check for valid port */
@@ -3328,6 +3349,70 @@ int  rte_eth_led_on(uint16_t port_id);
 int  rte_eth_led_off(uint16_t port_id);
 
 /**
+ * @warning
+ * @b EXPERIMENTAL: this API may change, or be removed, without prior notice
+ *
+ * Get Forward Error Correction(FEC) capability.
+ *
+ * @param port_id
+ *   The port identifier of the Ethernet device.
+ * @param fec_cap
+ *   returns the FEC capability from the device, as follows:
+ *   RTE_ETH_FEC_CAPA_NOFEC
+ *   RTE_ETH_FEC_CAPA_AUTO
+ *   RTE_ETH_FEC_CAPA_BASER
+ *   RTE_ETH_FEC_CAPA_RS
+ * @return
+ *   - (0) if successful.
+ *   - (-ENOTSUP) if underlying hardware OR driver doesn't support.
+ *     that operation.
+ *   - (-EIO) if device is removed.
+ *   - (-ENODEV)  if *port_id* invalid.
+ */
+__rte_experimental
+int rte_eth_fec_get_capability(uint16_t port_id, uint32_t *fec_cap);
+
+/**
+ * @warning
+ * @b EXPERIMENTAL: this API may change, or be removed, without prior notice
+ *
+ * Get current Forward Error Correction(FEC) mode.
+ *
+ * @param port_id
+ *   The port identifier of the Ethernet device.
+ * @param mode
+ *   returns the FEC mode from the device.
+ * @return
+ *   - (0) if successful.
+ *   - (-ENOTSUP) if underlying hardware OR driver doesn't support.
+ *     that operation.
+ *   - (-EIO) if device is removed.
+ *   - (-ENODEV)  if *port_id* invalid.
+ */
+__rte_experimental
+int rte_eth_fec_get(uint16_t port_id, enum rte_eth_fec_mode *mode);
+
+/**
+ * @warning
+ * @b EXPERIMENTAL: this API may change, or be removed, without prior notice
+ *
+ * Set Forward Error Correction(FEC) mode.
+ *
+ * @param port_id
+ *   The port identifier of the Ethernet device.
+ * @param mode
+ *   the FEC mode.
+ * @return
+ *   - (0) if successful.
+ *   - (-EINVAL) if the FEC mode is not valid.
+ *   - (-ENOTSUP) if underlying hardware OR driver doesn't support.
+ *   - (-EIO) if device is removed.
+ *   - (-ENODEV)  if *port_id* invalid.
+ */
+__rte_experimental
+int rte_eth_fec_set(uint16_t port_id, enum rte_eth_fec_mode mode);
+
+/**
  * Get current status of the Ethernet link flow control for Ethernet device
  *
  * @param port_id
diff --git a/lib/librte_ethdev/rte_ethdev_core.h b/lib/librte_ethdev/rte_ethdev_core.h
index 32407dd..755a15a 100644
--- a/lib/librte_ethdev/rte_ethdev_core.h
+++ b/lib/librte_ethdev/rte_ethdev_core.h
@@ -604,6 +604,78 @@ typedef int (*eth_tx_hairpin_queue_setup_t)
 	 const struct rte_eth_hairpin_conf *hairpin_conf);
 
 /**
+ * @internal
+ * Get Forward Error Correction(FEC) capability.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ * @param fec_cap
+ *   returns the FEC capability from the device.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, get FEC success.
+ * @retval -ENOTSUP
+ *   operation is not supported.
+ * @retval -EIO
+ *   device is removed.
+ * @retval -ENODEV
+ *   Device is gone.
+ */
+typedef int (*eth_fec_get_capability_t)(struct rte_eth_dev *dev,
+					uint32_t *fec_cap);
+
+/**
+ * @internal
+ * Get Forward Error Correction(FEC) mode.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ * @param mode
+ *   returns the FEC mode from the device.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, get FEC success.
+ * @retval -ENOTSUP
+ *   operation is not supported.
+ * @retval -EIO
+ *   device is removed.
+ * @retval -ENODEV
+ *   Device is gone.
+ */
+typedef int (*eth_fec_get_t)(struct rte_eth_dev *dev,
+			     enum rte_eth_fec_mode *mode);
+
+/**
+ * @internal
+ *   Set Forward Error Correction(FEC) mode.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ * @param mode
+ *   the FEC mode.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, set FEC success.
+ * @retval -ENOTSUP
+ *   operation is not supported.
+ * @retval -EIO
+ *   device is removed.
+ * @retval -ENODEV
+ *   Device is gone.
+ */
+typedef int (*eth_fec_set_t)(struct rte_eth_dev *dev,
+			     enum rte_eth_fec_mode mode);
+
+/**
  * @internal A structure containing the functions exported by an Ethernet driver.
  */
 struct eth_dev_ops {
@@ -752,6 +824,13 @@ struct eth_dev_ops {
 	/**< Set up device RX hairpin queue. */
 	eth_tx_hairpin_queue_setup_t tx_hairpin_queue_setup;
 	/**< Set up device TX hairpin queue. */
+
+	eth_fec_get_capability_t fec_get_capability;
+	/**< Get Forward Error Correction(FEC) capability; */
+	eth_fec_get_t fec_get;
+	/**< Get Forward Error Correction(FEC) mode; */
+	eth_fec_set_t fec_set;
+	/**< Set Forward Error Correction(FEC) mode; */
 };
 
 /**
diff --git a/lib/librte_ethdev/rte_ethdev_version.map b/lib/librte_ethdev/rte_ethdev_version.map
index 02081d9..9f3fb8f 100644
--- a/lib/librte_ethdev/rte_ethdev_version.map
+++ b/lib/librte_ethdev/rte_ethdev_version.map
@@ -239,6 +239,11 @@ EXPERIMENTAL {
 	__rte_ethdev_trace_rx_burst;
 	__rte_ethdev_trace_tx_burst;
 	rte_flow_get_aged_flows;
+
+	# added in 20.11
+	rte_eth_fec_get_capability;
+	rte_eth_fec_get;
+	rte_eth_fec_set;
 };
 
 INTERNAL {
-- 
2.7.4


^ permalink raw reply	[relevance 2%]

* [dpdk-dev] [PATCH V8 1/3] ethdev: introduce FEC API
  @ 2020-09-21  2:59  2%   ` Min Hu (Connor)
  0 siblings, 0 replies; 200+ results
From: Min Hu (Connor) @ 2020-09-21  2:59 UTC (permalink / raw)
  To: dev; +Cc: konstantin.ananyev, thomas, arybchenko, ferruh.yigit, linuxarm

This patch adds Forward error correction(FEC) support for ethdev.
Introduce APIs which support query and config FEC information in
hardware.

Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
Reviewed-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
Reviewed-by: Chengwen Feng <fengchengwen@huawei.com>
Reviewed-by: Chengchang Tang <tangchengchang@huawei.com>
---
v7->v8:
put AUTO just after NOFEC in rte_fec_mode definition.

---
v6->v7:
deleted RTE_ETH_FEC_NUM to prevent ABI breakage.
add new macro to indicate translation from fec mode
to capa.

---
v5->v6:
modified release notes.
deleted check duplicated for FEC API
fixed code styles according to DPDK coding style.
added _eth prefix.

---
v4->v5:
Modifies FEC capa definitions using macros.
Add RTE_ prefix for public FEC mode enum.
add release notes about FEC for dpdk20_11.

---
v2->v3:
add function return value "-ENOTSUP" for API

---
 doc/guides/rel_notes/release_20_11.rst   | 10 ++++
 lib/librte_ethdev/rte_ethdev.c           | 49 ++++++++++++++++++
 lib/librte_ethdev/rte_ethdev.h           | 85 ++++++++++++++++++++++++++++++++
 lib/librte_ethdev/rte_ethdev_core.h      | 79 +++++++++++++++++++++++++++++
 lib/librte_ethdev/rte_ethdev_version.map |  5 ++
 5 files changed, 228 insertions(+)

diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index cc72609..e19b037 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -55,6 +55,16 @@ New Features
      Also, make sure to start the actual text at the margin.
      =======================================================
 
+* **Added the FEC API, for a generic FEC query and config.**
+
+  Added the FEC API which provides functions for query FEC capabilities and
+  current FEC mode from device. Also, API for configuring FEC mode is also provided.
+
+* **Added hns3 FEC PMD, for supporting query and config FEC mode.**
+
+  Added the FEC PMD which provides functions for query FEC capabilities and
+  current FEC mode from device. Also, PMD for configuring FEC mode is also provided.
+
 
 Removed Items
 -------------
diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c
index 7858ad5..d7cd737 100644
--- a/lib/librte_ethdev/rte_ethdev.c
+++ b/lib/librte_ethdev/rte_ethdev.c
@@ -3642,6 +3642,55 @@ rte_eth_led_off(uint16_t port_id)
 	return eth_err(port_id, (*dev->dev_ops->dev_led_off)(dev));
 }
 
+int
+rte_eth_fec_get_capability(uint16_t port_id, uint32_t *fec_cap)
+{
+	struct rte_eth_dev *dev;
+
+	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
+	dev = &rte_eth_devices[port_id];
+	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->fec_get_capability, -ENOTSUP);
+	return eth_err(port_id, (*dev->dev_ops->fec_get_capability)(dev,
+								fec_cap));
+}
+
+int
+rte_eth_fec_get(uint16_t port_id, enum rte_eth_fec_mode *mode)
+{
+	struct rte_eth_dev *dev;
+
+	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
+	dev = &rte_eth_devices[port_id];
+	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->fec_get, -ENOTSUP);
+	return eth_err(port_id, (*dev->dev_ops->fec_get)(dev, mode));
+}
+
+int
+rte_eth_fec_set(uint16_t port_id, enum rte_eth_fec_mode mode)
+{
+	struct rte_eth_dev *dev;
+	uint32_t fec_mode_mask;
+	int ret;
+
+	ret = rte_eth_fec_get_capability(port_id, &fec_mode_mask);
+	if (ret != 0)
+		return ret;
+
+	/*
+	 * Check whether the configured mode is within the FEC capability.
+	 * If not, the configured mode will not be supported.
+	 */
+	if (!(fec_mode_mask & RTE_ETH_FEC_MODE_TO_CAPA(mode))) {
+		RTE_ETHDEV_LOG(ERR, "unsupported FEC mode = %d, port_id = %u\n",
+			       mode, port_id);
+		return -EINVAL;
+	}
+
+	dev = &rte_eth_devices[port_id];
+	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->fec_set, -ENOTSUP);
+	return eth_err(port_id, (*dev->dev_ops->fec_set)(dev, mode));
+}
+
 /*
  * Returns index into MAC address array of addr. Use 00:00:00:00:00:00 to find
  * an empty spot.
diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
index 70295d7..7d5e81b 100644
--- a/lib/librte_ethdev/rte_ethdev.h
+++ b/lib/librte_ethdev/rte_ethdev.h
@@ -1310,6 +1310,9 @@ struct rte_eth_conf {
 #define RTE_ETH_DEV_FALLBACK_RX_NBQUEUES 1
 #define RTE_ETH_DEV_FALLBACK_TX_NBQUEUES 1
 
+/* Translate from FEC mode to FEC capa */
+#define RTE_ETH_FEC_MODE_TO_CAPA(x)	(1U << (x))
+
 /**
  * Preferred Rx/Tx port parameters.
  * There are separate instances of this structure for transmission
@@ -1511,6 +1514,24 @@ struct rte_eth_dcb_info {
 	struct rte_eth_dcb_tc_queue_mapping tc_queue;
 };
 
+/**
+ * This enum indicates the possible (forward error correction)FEC modes
+ * of an ethdev port.
+ */
+enum rte_eth_fec_mode {
+	RTE_ETH_FEC_NOFEC = 0,      /**< FEC is off */
+	RTE_ETH_FEC_AUTO,	    /**< FEC autonegotiation modes */
+	RTE_ETH_FEC_BASER,          /**< FEC using common algorithm */
+	RTE_ETH_FEC_RS,             /**< FEC using RS algorithm */
+};
+
+/* This indicates FEC capabilities */
+#define RTE_ETH_FEC_CAPA_NOFEC  (1U << RTE_ETH_FEC_NOFEC)
+#define RTE_ETH_FEC_CAPA_AUTO   (1U << RTE_ETH_FEC_AUTO)
+#define RTE_ETH_FEC_CAPA_BASER  (1U << RTE_ETH_FEC_BASER)
+#define RTE_ETH_FEC_CAPA_RS     (1U << RTE_ETH_FEC_RS)
+
+
 #define RTE_ETH_ALL RTE_MAX_ETHPORTS
 
 /* Macros to check for valid port */
@@ -3328,6 +3349,70 @@ int  rte_eth_led_on(uint16_t port_id);
 int  rte_eth_led_off(uint16_t port_id);
 
 /**
+ * @warning
+ * @b EXPERIMENTAL: this API may change, or be removed, without prior notice
+ *
+ * Get Forward Error Correction(FEC) capability.
+ *
+ * @param port_id
+ *   The port identifier of the Ethernet device.
+ * @param fec_cap
+ *   returns the FEC capability from the device, as follows:
+ *   RTE_ETH_FEC_CAPA_NOFEC
+ *   RTE_ETH_FEC_CAPA_AUTO
+ *   RTE_ETH_FEC_CAPA_BASER
+ *   RTE_ETH_FEC_CAPA_RS
+ * @return
+ *   - (0) if successful.
+ *   - (-ENOTSUP) if underlying hardware OR driver doesn't support.
+ *     that operation.
+ *   - (-EIO) if device is removed.
+ *   - (-ENODEV)  if *port_id* invalid.
+ */
+__rte_experimental
+int rte_eth_fec_get_capability(uint16_t port_id, uint32_t *fec_cap);
+
+/**
+ * @warning
+ * @b EXPERIMENTAL: this API may change, or be removed, without prior notice
+ *
+ * Get current Forward Error Correction(FEC) mode.
+ *
+ * @param port_id
+ *   The port identifier of the Ethernet device.
+ * @param mode
+ *   returns the FEC mode from the device.
+ * @return
+ *   - (0) if successful.
+ *   - (-ENOTSUP) if underlying hardware OR driver doesn't support.
+ *     that operation.
+ *   - (-EIO) if device is removed.
+ *   - (-ENODEV)  if *port_id* invalid.
+ */
+__rte_experimental
+int rte_eth_fec_get(uint16_t port_id, enum rte_eth_fec_mode *mode);
+
+/**
+ * @warning
+ * @b EXPERIMENTAL: this API may change, or be removed, without prior notice
+ *
+ * Set Forward Error Correction(FEC) mode.
+ *
+ * @param port_id
+ *   The port identifier of the Ethernet device.
+ * @param mode
+ *   the FEC mode.
+ * @return
+ *   - (0) if successful.
+ *   - (-EINVAL) if the FEC mode is not valid.
+ *   - (-ENOTSUP) if underlying hardware OR driver doesn't support.
+ *   - (-EIO) if device is removed.
+ *   - (-ENODEV)  if *port_id* invalid.
+ */
+__rte_experimental
+int rte_eth_fec_set(uint16_t port_id, enum rte_eth_fec_mode mode);
+
+/**
  * Get current status of the Ethernet link flow control for Ethernet device
  *
  * @param port_id
diff --git a/lib/librte_ethdev/rte_ethdev_core.h b/lib/librte_ethdev/rte_ethdev_core.h
index 32407dd..755a15a 100644
--- a/lib/librte_ethdev/rte_ethdev_core.h
+++ b/lib/librte_ethdev/rte_ethdev_core.h
@@ -604,6 +604,78 @@ typedef int (*eth_tx_hairpin_queue_setup_t)
 	 const struct rte_eth_hairpin_conf *hairpin_conf);
 
 /**
+ * @internal
+ * Get Forward Error Correction(FEC) capability.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ * @param fec_cap
+ *   returns the FEC capability from the device.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, get FEC success.
+ * @retval -ENOTSUP
+ *   operation is not supported.
+ * @retval -EIO
+ *   device is removed.
+ * @retval -ENODEV
+ *   Device is gone.
+ */
+typedef int (*eth_fec_get_capability_t)(struct rte_eth_dev *dev,
+					uint32_t *fec_cap);
+
+/**
+ * @internal
+ * Get Forward Error Correction(FEC) mode.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ * @param mode
+ *   returns the FEC mode from the device.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, get FEC success.
+ * @retval -ENOTSUP
+ *   operation is not supported.
+ * @retval -EIO
+ *   device is removed.
+ * @retval -ENODEV
+ *   Device is gone.
+ */
+typedef int (*eth_fec_get_t)(struct rte_eth_dev *dev,
+			     enum rte_eth_fec_mode *mode);
+
+/**
+ * @internal
+ *   Set Forward Error Correction(FEC) mode.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ * @param mode
+ *   the FEC mode.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, set FEC success.
+ * @retval -ENOTSUP
+ *   operation is not supported.
+ * @retval -EIO
+ *   device is removed.
+ * @retval -ENODEV
+ *   Device is gone.
+ */
+typedef int (*eth_fec_set_t)(struct rte_eth_dev *dev,
+			     enum rte_eth_fec_mode mode);
+
+/**
  * @internal A structure containing the functions exported by an Ethernet driver.
  */
 struct eth_dev_ops {
@@ -752,6 +824,13 @@ struct eth_dev_ops {
 	/**< Set up device RX hairpin queue. */
 	eth_tx_hairpin_queue_setup_t tx_hairpin_queue_setup;
 	/**< Set up device TX hairpin queue. */
+
+	eth_fec_get_capability_t fec_get_capability;
+	/**< Get Forward Error Correction(FEC) capability; */
+	eth_fec_get_t fec_get;
+	/**< Get Forward Error Correction(FEC) mode; */
+	eth_fec_set_t fec_set;
+	/**< Set Forward Error Correction(FEC) mode; */
 };
 
 /**
diff --git a/lib/librte_ethdev/rte_ethdev_version.map b/lib/librte_ethdev/rte_ethdev_version.map
index 02081d9..9f3fb8f 100644
--- a/lib/librte_ethdev/rte_ethdev_version.map
+++ b/lib/librte_ethdev/rte_ethdev_version.map
@@ -239,6 +239,11 @@ EXPERIMENTAL {
 	__rte_ethdev_trace_rx_burst;
 	__rte_ethdev_trace_tx_burst;
 	rte_flow_get_aged_flows;
+
+	# added in 20.11
+	rte_eth_fec_get_capability;
+	rte_eth_fec_get;
+	rte_eth_fec_set;
 };
 
 INTERNAL {
-- 
2.7.4


^ permalink raw reply	[relevance 2%]

* Re: [dpdk-dev] [PATCH] devtools: fix ninja break under default DESTDIR path
  2020-09-17 11:08  0% ` Juraj Linkeš
@ 2020-09-20  9:32  0%   ` Phil Yang
  2020-09-21  6:19  0%     ` Juraj Linkeš
  0 siblings, 1 reply; 200+ results
From: Phil Yang @ 2020-09-20  9:32 UTC (permalink / raw)
  To: Juraj Linkeš, david.marchand, dev
  Cc: Honnappa Nagarahalli, Ruifeng Wang, nd, nd

Juraj Linkeš <juraj.linkes@pantheon.tech> writes:

> > Subject: [dpdk-dev] [PATCH] devtools: fix ninja break under default
> DESTDIR
> > path
> >
> > If DPDK_ABI_REF_DIR is not set, the default DESTDIR is a relative path.
> > This will break ninja in the ABI check test.
> >
> 
> The commit message is not very clear. The problem is we're specifying ninja's
> destination dir in variable DESTDIR when invoking ninja install. If the DESTDIR
> is not an absolute path, ninja complains (when invoking install). This isn't
Yes, this defect is due to 'ninja install' not happy with the relative path. 
Will reword the commit message in the next version.

> directly related to DPDK_ABI_REF_DIR, it's more a problem with how we call
> install_target.
If we have set 'DPDK_ABI_REF_DIR' before the test, 'abiref' should be an absolute path, but the default 'abiref' value is a relative path.
So should we keep them align?

> 
> > Fixes: 777014e56d07 ("devtools: add ABI checks")
> >
> > Signed-off-by: Phil Yang <phil.yang@arm.com>
> > ---
> >  devtools/test-meson-builds.sh | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-
> builds.sh index
> > a87de63..2bfcaca 100755
> > --- a/devtools/test-meson-builds.sh
> > +++ b/devtools/test-meson-builds.sh
> > @@ -143,7 +143,7 @@ build () # <directory> <target compiler | cross file>
> > <meson options>
> >  	config $srcdir $builds_dir/$targetdir $cross --werror $*
> >  	compile $builds_dir/$targetdir
> >  	if [ -n "$DPDK_ABI_REF_VERSION" ]; then
> > -		abirefdir=${DPDK_ABI_REF_DIR:-
> > reference}/$DPDK_ABI_REF_VERSION
> > +		abirefdir=${DPDK_ABI_REF_DIR:-
> > $(pwd)/reference}/$DPDK_ABI_REF_VERSION
> >  		if [ ! -d $abirefdir/$targetdir ]; then
> >  			# clone current sources
> >  			if [ ! -d $abirefdir/src ]; then
> > --
> > 2.7.4
> >
> 
> install_target on line 160 is called improperly. Let's fix it so that it matches line
> 169:
> install_target $abirefdir/build $(readlink -f $abirefdir/$targetdir)

If so we need to call readlink at line #161 as well as it does at line #171.

> 
> This way we don't need to add $(pwd).

If you don't prefer $(pwd), we can do it like this:
abirefdir=$(readlink -f ${DPDK_ABI_REF_DIR:- reference}/$DPDK_ABI_REF_VERSION)

Thanks,
Phil



^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH V7 1/3] ethdev: introduce FEC API
  2020-09-18 18:10  0%       ` Ajit Khaparde
@ 2020-09-19  8:44  0%         ` Andrew Rybchenko
  0 siblings, 0 replies; 200+ results
From: Andrew Rybchenko @ 2020-09-19  8:44 UTC (permalink / raw)
  To: Ajit Khaparde, Ananyev, Konstantin
  Cc: Min Hu (Connor), dev, thomas, Yigit, Ferruh, linuxarm

On 9/18/20 9:10 PM, Ajit Khaparde wrote:
> On Fri, Sep 18, 2020 at 5:13 AM Ananyev, Konstantin
> <konstantin.ananyev@intel.com> wrote:
>>
>>> This patch adds Forward error correction(FEC) support for ethdev.
>>> Introduce APIs which support query and config FEC information in
>>> hardware.
>>>
>>> Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
>>> Reviewed-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
>>> Reviewed-by: Chengwen Feng <fengchengwen@huawei.com>
>>> Reviewed-by: Chengchang Tang <tangchengchang@huawei.com>
>>> ---
>>> v6->v7:
>>> deleted RTE_ETH_FEC_NUM to prevent ABI breakage.
>>> add new macro to indicate translation from fec mode
>>> to capa.
>>>
>>> ---
>>> v5->v6:
>>> modified release notes.
>>> deleted check duplicated for FEC API
>>> fixed code styles according to DPDK coding style.
>>> added _eth prefix.
>>>
>>> ---
>>> v4->v5:
>>> Modifies FEC capa definitions using macros.
>>> Add RTE_ prefix for public FEC mode enum.
>>> add release notes about FEC for dpdk20_11.
>>>
>>> ---
>>> v2->v3:
>>> add function return value "-ENOTSUP" for API
>>>
>>> ---
>> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>

I'm sorry, but I'm still unhappy with enum members order and
get capabilities API. See v5 notes.


^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH V7 1/3] ethdev: introduce FEC API
  2020-09-18 12:13  0%     ` Ananyev, Konstantin
@ 2020-09-18 18:10  0%       ` Ajit Khaparde
  2020-09-19  8:44  0%         ` Andrew Rybchenko
  0 siblings, 1 reply; 200+ results
From: Ajit Khaparde @ 2020-09-18 18:10 UTC (permalink / raw)
  To: Ananyev, Konstantin
  Cc: Min Hu (Connor), dev, thomas, arybchenko, Yigit, Ferruh, linuxarm

On Fri, Sep 18, 2020 at 5:13 AM Ananyev, Konstantin
<konstantin.ananyev@intel.com> wrote:
>
>
> > This patch adds Forward error correction(FEC) support for ethdev.
> > Introduce APIs which support query and config FEC information in
> > hardware.
> >
> > Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
> > Reviewed-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
> > Reviewed-by: Chengwen Feng <fengchengwen@huawei.com>
> > Reviewed-by: Chengchang Tang <tangchengchang@huawei.com>
> > ---
> > v6->v7:
> > deleted RTE_ETH_FEC_NUM to prevent ABI breakage.
> > add new macro to indicate translation from fec mode
> > to capa.
> >
> > ---
> > v5->v6:
> > modified release notes.
> > deleted check duplicated for FEC API
> > fixed code styles according to DPDK coding style.
> > added _eth prefix.
> >
> > ---
> > v4->v5:
> > Modifies FEC capa definitions using macros.
> > Add RTE_ prefix for public FEC mode enum.
> > add release notes about FEC for dpdk20_11.
> >
> > ---
> > v2->v3:
> > add function return value "-ENOTSUP" for API
> >
> > ---
>
> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>

>
> > 2.7.4
>

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [RFC PATCH 0/5] rework feature enabling macros for compatibility
  2020-09-16 16:44  2% [dpdk-dev] [RFC PATCH 0/5] rework feature enabling macros for compatibility Bruce Richardson
  2020-09-17 17:59  0% ` Andrew Rybchenko
@ 2020-09-18 15:12  0% ` David Marchand
  1 sibling, 0 replies; 200+ results
From: David Marchand @ 2020-09-18 15:12 UTC (permalink / raw)
  To: Bruce Richardson
  Cc: dev, Andrew Rybchenko, Yigit, Ferruh, Thomas Monjalon, Ray Kinsella

On Wed, Sep 16, 2020 at 6:44 PM Bruce Richardson
<bruce.richardson@intel.com> wrote:
>
> As flagged previously on-list, there are a number of macros used to specify
> what libs and drivers are enabled in the build which differ from the
> equivalents used with make. This patchset is one possible approach to
> fixing these, but as part of the investigation some issues were hit where
> I'd like additional input to ensure we are ok with the approach taken in
> this set.
>
> First, a problem statement:
>
> * While the make build defines generally followed a pattern, there were
>   many instances where the defines were unique. These can be seen in the
>   values defined in patch 4.
>
> * The NIC PMDs had two separate standards for the defines - some (the
>   physical device drivers) tended to have the _PMD at the end of the
>   macros, while the virtual drivers had it in the middle. Since the
>   majority seemed to go with it at the end, meson chose this option.
>   However, as can be seen from patch 4, a number now need special handling
>   for compatibility
>
> * This "_PMD" at the end made its way into other device classes, such as
>   crypto and event, but it appears that the standard for these classes from
>   make is in fact the opposite. Therefore we have had for the last 2+ years
>   conflicting macros for crypto, compression and event classes.
>
> * There is also the question of how important compatibility for these
>   macros is, especially since we have had numerous incompatibilities
>   without it being reported before. There is also the issue of the
>   deprecation process for macros, since these are not part of any ABI.

The main use I can think of for an application is controlling calls to
specific drivers API.
This is how we caught this issue, with testpmd silently dropping code/feature.

My impression is that people are only starting building with meson now
they are forced to: even DTS only recently started building with it.
This is why I don't think the absence of complaints is a good indicator.


>
> What's done in this set:
>
> * Firstly, and missing dependencies on apps or examples had to be fixed,
>   where a dependency was missed because it was never needed due to the code
>   being stripped out because of a missing macro.
>
> * Secondly, since it is likely that use of the defines from make is more
>   widespread than those from meson, the defines for the crypto, compression
>   and event classes are changed to align with the make values. Just in case
>   though, temporary code is added to drivers/meson.build to redefine the
>   old meson values too, and a deprecation notice is added for these. The
>   hope is that we can then remove this temporary code in the next release,
>   leaving us with just one macro style for each driver class.
>
> * Thirdly, we add an additional set of backward compatibility macros for
>   the ~30 special-cases, where the meson macro template does not match that
>   defined for make. Again, this is intended to be temporary and a
>   deprecation notice is given for the macros in that file.
>
> * Finally, we replace all instances of the old macros in the codebase with
>   the newer versions. While the work done in the first four patches (steps
>   1-3 above) should be ok to backport, this final patch is not suitable for
>   backporting. However, it is relatively simple to produce a new patch for
>   backporting which allow either old or new values to be used in macros.

The series looks good to me.
Thanks for coming with this quickly.


> Open issues/considerations after this patch:
>
> * We still have inconsistencies in our driver macro and naming templates.
>   This is just a nice-to-have, but if people are ok with generally having a
>   breakage in our macro defines, we could clean this up a lot further.
>   Notice how 'net', 'regex' and 'vdpa' have '_PMD' at the end, while most
>   others have it before the name. Notice also that many device classes have
>   the class at the end of the template, while bbdev has it in the middle.
>         $ git grep config_flag_fmt -- drivers/*/meson.build
>         drivers/baseband/meson.build:config_flag_fmt = 'RTE_LIBRTE_PMD_BBDEV_@0@'
>         drivers/bus/meson.build:config_flag_fmt = 'RTE_LIBRTE_@0@_BUS'
>         drivers/common/meson.build:config_flag_fmt = 'RTE_LIBRTE_@0@_COMMON'
>         drivers/compress/meson.build:config_flag_fmt = 'RTE_LIBRTE_PMD_@0@'
>         drivers/crypto/meson.build:config_flag_fmt = 'RTE_LIBRTE_PMD_@0@'
>         drivers/event/meson.build:config_flag_fmt = 'RTE_LIBRTE_PMD_@0@_EVENTDEV'
>         drivers/mempool/meson.build:config_flag_fmt = 'RTE_LIBRTE_@0@_MEMPOOL'
>         drivers/net/meson.build:config_flag_fmt = 'RTE_LIBRTE_@0@_PMD'
>         drivers/raw/meson.build:config_flag_fmt = 'RTE_LIBRTE_PMD_@0@_RAWDEV'
>         drivers/regex/meson.build:config_flag_fmt = 'RTE_LIBRTE_@0@_PMD'
>         drivers/vdpa/meson.build:config_flag_fmt = 'RTE_LIBRTE_@0@_PMD'

I can see the meson implementation kept a part of the chaotic aspect
of the make implementation ;-).

I like Andrew proposal.
+1 even if this is "nice to have".

Cleaning the .so names is nice too, and I don't see an impact for
applications now that we provide a pkgconfig file.


>
> * Are we ok to remove the older macros after one release of deprecation, or
>   do we need to wait to next API window.

Waiting for one release or more won't make a difference for people who
only upgrade with LTS.
If we go with the change, I'd rather drop the API compatibility in the
next release 21.02, as this is an "easy" thing to fix for applications
that recompile with intermediate releases.


-- 
David Marchand


^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH v2 1/7] cmdline: make implementation opaque
  2020-09-17 13:34  5%     ` Olivier Matz
  2020-09-17 17:05  4%       ` Stephen Hemminger
  2020-09-17 23:13  3%       ` Dmitry Kozlyuk
@ 2020-09-18 13:31  4%       ` Kinsella, Ray
  2 siblings, 0 replies; 200+ results
From: Kinsella, Ray @ 2020-09-18 13:31 UTC (permalink / raw)
  To: Olivier Matz, Dmitry Kozlyuk
  Cc: dev, Dmitry Malloy, Narcisa Ana Maria Vasile, Fady Bader,
	Tal Shnaiderman, Kadam, Pallavi, Neil Horman



On 17/09/2020 14:34, Olivier Matz wrote:
> Hi Dmitry,
> 
> On Fri, Jul 31, 2020 at 12:06:45AM +0300, Dmitry Kozlyuk wrote:
>> struct cmdline exposes platform-specific members it contains, most
>> notably struct termios that is only available on Unix. Make the
>> structure opaque.
>>
>> Remove tests checking struct cmdline content as meaningless.
>>
>> Add cmdline_get_rdline() to access history buffer.
>> The new function is currently used only in tests.
>>
>> Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
> 
> First, please forgive me for the very late feedback. It is all the more
> problematic because I think this patch introduces an ABI breakage, that
> should have been announced.

I think this is more a theoretical ABI breakage, than a real ABI breakage.
As the consuming application is never likely to access the structure, 
As in most cases, I doubt it ever has any knowledge of the structure. 

My 2c, is that I think it is fine not consider this as ABI breakage. 

> 
> Making cmdline struct opaque clearly goes in the right direction, as
> it will prevent future ABI breakage.
> 
> In my opinion, we could accept the patch for 20.11, knowing it reduce
> the risk of future ABI breakage, and that cmdline is not a core
> component of DPDK. However it has to be discussed and accepted by other
> people.
> 
> Else, the patch would be delayed for 21.11. From what I see from the
> other patches, it looks possible to keep cmdline struct public without
> breaking the existing ABI by adding #ifdef CONFIG_RTE_EXEC_ENV_WINDOWS,
> is it correct?
> 
> One minor comment below:
> 
>> --- a/app/test/test_cmdline_lib.c
>> +++ b/app/test/test_cmdline_lib.c
>> @@ -46,22 +46,29 @@ complete_buffer(__rte_unused struct rdline *rdl,
>>  static int
>>  test_cmdline_parse_fns(void)
>>  {
>> -	struct cmdline cl;
>> +	struct cmdline *cl;
>> +	cmdline_parse_ctx_t ctx;
>>  	int i = 0;
>>  	char dst[CMDLINE_TEST_BUFSIZE];
>>  
>> +	cl = cmdline_new(&ctx, "prompt", -1, -1);
>> +	if (cl == NULL) {
>> +		printf("Error: cannot create cmdline to test parse fns!\n");
>> +		return -1;
>> +	}
>> +
>>  	if (cmdline_parse(NULL, "buffer") >= 0)
>>  		goto error;
>> -	if (cmdline_parse(&cl, NULL) >= 0)
>> +	if (cmdline_parse(cl, NULL) >= 0)
>>  		goto error;
>>  
>>  	if (cmdline_complete(NULL, "buffer", &i, dst, sizeof(dst)) >= 0)
>>  		goto error;
>> -	if (cmdline_complete(&cl, NULL, &i, dst, sizeof(dst)) >= 0)
>> +	if (cmdline_complete(cl, NULL, &i, dst, sizeof(dst)) >= 0)
>>  		goto error;
>> -	if (cmdline_complete(&cl, "buffer", NULL, dst, sizeof(dst)) >= 0)
>> +	if (cmdline_complete(cl, "buffer", NULL, dst, sizeof(dst)) >= 0)
>>  		goto error;
>> -	if (cmdline_complete(&cl, "buffer", &i, NULL, sizeof(dst)) >= 0)
>> +	if (cmdline_complete(cl, "buffer", &i, NULL, sizeof(dst)) >= 0)
>>  		goto error;
>>  
>>  	return 0;
>> @@ -166,11 +173,11 @@ static int
>>  test_cmdline_fns(void)
>>  {
>>  	cmdline_parse_ctx_t ctx;
>> -	struct cmdline cl, *tmp;
>> +	struct cmdline *cl;
>>  
>>  	memset(&ctx, 0, sizeof(ctx));
>> -	tmp = cmdline_new(&ctx, "test", -1, -1);
>> -	if (tmp == NULL)
>> +	cl = cmdline_new(&ctx, "test", -1, -1);
>> +	if (cl == NULL)
>>  		goto error;
>>  
>>  	if (cmdline_new(NULL, "prompt", 0, 0) != NULL)
>> @@ -179,7 +186,7 @@ test_cmdline_fns(void)
>>  		goto error;
>>  	if (cmdline_in(NULL, "buffer", CMDLINE_TEST_BUFSIZE) >= 0)
>>  		goto error;
>> -	if (cmdline_in(&cl, NULL, CMDLINE_TEST_BUFSIZE) >= 0)
>> +	if (cmdline_in(cl, NULL, CMDLINE_TEST_BUFSIZE) >= 0)
>>  		goto error;
>>  	if (cmdline_write_char(NULL, 0) >= 0)
>>  		goto error;
>> @@ -188,31 +195,14 @@ test_cmdline_fns(void)
>>  	cmdline_set_prompt(NULL, "prompt");
>>  	cmdline_free(NULL);
>>  	cmdline_printf(NULL, "format");
>> -	/* this should fail as stream handles are invalid */
>> -	cmdline_printf(tmp, "format");
>>  	cmdline_interact(NULL);
>>  	cmdline_quit(NULL);
>>  
>> -	/* check if void calls change anything when they should fail */
>> -	cl = *tmp;
>> -
>> -	cmdline_printf(&cl, NULL);
>> -	if (memcmp(&cl, tmp, sizeof(cl))) goto mismatch;
>> -	cmdline_set_prompt(&cl, NULL);
>> -	if (memcmp(&cl, tmp, sizeof(cl))) goto mismatch;
>> -	cmdline_in(&cl, NULL, CMDLINE_TEST_BUFSIZE);
>> -	if (memcmp(&cl, tmp, sizeof(cl))) goto mismatch;
>> -
>> -	cmdline_free(tmp);
>> -
>>  	return 0;
>>  
>>  error:
>>  	printf("Error: function accepted null parameter!\n");
>>  	return -1;
>> -mismatch:
>> -	printf("Error: data changed!\n");
>> -	return -1;
> 
> cmdline_free(cl) is missing.
> 
> before your patch, cmdline_free(tmp) was already missing in error case
> by the way.
> 
> 
> Thanks,
> Olivier
> 

^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] [PATCH v2 1/7] cmdline: make implementation opaque
  2020-09-17 17:05  4%       ` Stephen Hemminger
  2020-09-18  8:33  3%         ` Bruce Richardson
@ 2020-09-18 13:23  3%         ` Kinsella, Ray
  1 sibling, 0 replies; 200+ results
From: Kinsella, Ray @ 2020-09-18 13:23 UTC (permalink / raw)
  To: Stephen Hemminger, Olivier Matz
  Cc: Dmitry Kozlyuk, dev, Dmitry Malloy, Narcisa Ana Maria Vasile,
	Fady Bader, Tal Shnaiderman, Kadam, Pallavi, Neil Horman



On 17/09/2020 18:05, Stephen Hemminger wrote:
> On Thu, 17 Sep 2020 15:34:43 +0200
> Olivier Matz <olivier.matz@6wind.com> wrote:
> 
>> Hi Dmitry,
>>
>> On Fri, Jul 31, 2020 at 12:06:45AM +0300, Dmitry Kozlyuk wrote:
>>> struct cmdline exposes platform-specific members it contains, most
>>> notably struct termios that is only available on Unix. Make the
>>> structure opaque.
>>>
>>> Remove tests checking struct cmdline content as meaningless.
>>>
>>> Add cmdline_get_rdline() to access history buffer.
>>> The new function is currently used only in tests.
>>>
>>> Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>  
>>
>> First, please forgive me for the very late feedback. It is all the more
>> problematic because I think this patch introduces an ABI breakage, that
>> should have been announced.
> 
> Since 20.11 is a API/ABI breaking release, I think breaking ABI
> is okay without announcement. What matters more is if that API would
> need to be impacted. API changes need some announcement.

Right but 20.11 being an ABI breaking release, 
still doesn't waive the need to observe the deprecation notice, 3-acks from Maintainers etc.


 

^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] [RFC PATCH 0/5] rework feature enabling macros for compatibility
  2020-09-18  8:59  0%     ` Andrew Rybchenko
@ 2020-09-18 12:19  0%       ` Ferruh Yigit
  0 siblings, 0 replies; 200+ results
From: Ferruh Yigit @ 2020-09-18 12:19 UTC (permalink / raw)
  To: Andrew Rybchenko, Bruce Richardson; +Cc: david.marchand, dev

On 9/18/2020 9:59 AM, Andrew Rybchenko wrote:
> On 9/18/20 11:41 AM, Bruce Richardson wrote:
>> On Thu, Sep 17, 2020 at 08:59:26PM +0300, Andrew Rybchenko wrote:
>>> On 9/16/20 7:44 PM, Bruce Richardson wrote:
>>>> As flagged previously on-list, there are a number of macros used to specify
>>>> what libs and drivers are enabled in the build which differ from the
>>>> equivalents used with make. This patchset is one possible approach to
>>>> fixing these, but as part of the investigation some issues were hit where
>>>> I'd like additional input to ensure we are ok with the approach taken in
>>>> this set.
>>>>
>>>> First, a problem statement:
>>>>
>>>> * While the make build defines generally followed a pattern, there were
>>>>     many instances where the defines were unique. These can be seen in the
>>>>     values defined in patch 4.
>>>>
>>>> * The NIC PMDs had two separate standards for the defines - some (the
>>>>     physical device drivers) tended to have the _PMD at the end of the
>>>>     macros, while the virtual drivers had it in the middle. Since the
>>>>     majority seemed to go with it at the end, meson chose this option.
>>>>     However, as can be seen from patch 4, a number now need special handling
>>>>     for compatibility
>>>>
>>>> * This "_PMD" at the end made its way into other device classes, such as
>>>>     crypto and event, but it appears that the standard for these classes from
>>>>     make is in fact the opposite. Therefore we have had for the last 2+ years
>>>>     conflicting macros for crypto, compression and event classes.
>>>>
>>>> * There is also the question of how important compatibility for these
>>>>     macros is, especially since we have had numerous incompatibilities
>>>>     without it being reported before. There is also the issue of the
>>>>     deprecation process for macros, since these are not part of any ABI.
>>>>
>>>> What's done in this set:
>>>>
>>>> * Firstly, and missing dependencies on apps or examples had to be fixed,
>>>>     where a dependency was missed because it was never needed due to the code
>>>>     being stripped out because of a missing macro.
>>>>
>>>> * Secondly, since it is likely that use of the defines from make is more
>>>>     widespread than those from meson, the defines for the crypto, compression
>>>>     and event classes are changed to align with the make values. Just in case
>>>>     though, temporary code is added to drivers/meson.build to redefine the
>>>>     old meson values too, and a deprecation notice is added for these. The
>>>>     hope is that we can then remove this temporary code in the next release,
>>>>     leaving us with just one macro style for each driver class.
>>>>
>>>> * Thirdly, we add an additional set of backward compatibility macros for
>>>>     the ~30 special-cases, where the meson macro template does not match that
>>>>     defined for make. Again, this is intended to be temporary and a
>>>>     deprecation notice is given for the macros in that file.
>>>>
>>>> * Finally, we replace all instances of the old macros in the codebase with
>>>>     the newer versions. While the work done in the first four patches (steps
>>>>     1-3 above) should be ok to backport, this final patch is not suitable for
>>>>     backporting. However, it is relatively simple to produce a new patch for
>>>>     backporting which allow either old or new values to be used in macros.
>>>>
>>>>
>>>> Open issues/considerations after this patch:
>>>>
>>>> * We still have inconsistencies in our driver macro and naming templates.
>>>>     This is just a nice-to-have, but if people are ok with generally having a
>>>>     breakage in our macro defines, we could clean this up a lot further.
>>>>     Notice how 'net', 'regex' and 'vdpa' have '_PMD' at the end, while most
>>>>     others have it before the name. Notice also that many device classes have
>>>>     the class at the end of the template, while bbdev has it in the middle.
>>>> 	$ git grep config_flag_fmt -- drivers/*/meson.build
>>>> 	drivers/baseband/meson.build:config_flag_fmt = 'RTE_LIBRTE_PMD_BBDEV_@0@'
>>>> 	drivers/bus/meson.build:config_flag_fmt = 'RTE_LIBRTE_@0@_BUS'
>>>> 	drivers/common/meson.build:config_flag_fmt = 'RTE_LIBRTE_@0@_COMMON'
>>>> 	drivers/compress/meson.build:config_flag_fmt = 'RTE_LIBRTE_PMD_@0@'
>>>> 	drivers/crypto/meson.build:config_flag_fmt = 'RTE_LIBRTE_PMD_@0@'
>>>> 	drivers/event/meson.build:config_flag_fmt = 'RTE_LIBRTE_PMD_@0@_EVENTDEV'
>>>> 	drivers/mempool/meson.build:config_flag_fmt = 'RTE_LIBRTE_@0@_MEMPOOL'
>>>> 	drivers/net/meson.build:config_flag_fmt = 'RTE_LIBRTE_@0@_PMD'
>>>> 	drivers/raw/meson.build:config_flag_fmt = 'RTE_LIBRTE_PMD_@0@_RAWDEV'
>>>> 	drivers/regex/meson.build:config_flag_fmt = 'RTE_LIBRTE_@0@_PMD'
>>>> 	drivers/vdpa/meson.build:config_flag_fmt = 'RTE_LIBRTE_@0@_PMD'
>>>
>>> As a generic direction I would vote for standard names which are
>>> based on directory structure:
>>>   - RTE_LIBRTE_ETHDEV
>>>   - RTE_DRIVER_NET_SFC
>>>   - RTE_DRIVER_COMMON_MLX5
>>>   - RTE_DRIVER_BUS_PCI
>>>
>>
>> Definite +1, and it would be good if we standardized the .so names like
>> that too.
>>
>> The open question is how much backward compatibility needs to be maintained
>> for macros (and also too for .so names)? With this patchset, I've aimed
>> very much to keep strict compatibility for now.
> 
> I think it is really good. Technically it does not look hard to
> provide backward compatibility for macros, so I'd keep it up to
> but not including 21.11 (next LTS?). Same for .so names, if it
> is not a problem.
> 
> If we approve the decision on naming, all new entities must
> follow it from the very beginning.
> 

+1

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH v2 1/7] cmdline: make implementation opaque
  2020-09-18  8:33  3%         ` Bruce Richardson
@ 2020-09-18 12:13  0%           ` Ferruh Yigit
  0 siblings, 0 replies; 200+ results
From: Ferruh Yigit @ 2020-09-18 12:13 UTC (permalink / raw)
  To: Bruce Richardson, Stephen Hemminger
  Cc: Olivier Matz, Dmitry Kozlyuk, dev, Dmitry Malloy,
	Narcisa Ana Maria Vasile, Fady Bader, Tal Shnaiderman, Kadam,
	Pallavi, Ray Kinsella, Neil Horman

On 9/18/2020 9:33 AM, Bruce Richardson wrote:
> On Thu, Sep 17, 2020 at 10:05:48AM -0700, Stephen Hemminger wrote:
>> On Thu, 17 Sep 2020 15:34:43 +0200
>> Olivier Matz <olivier.matz@6wind.com> wrote:
>>
>>> Hi Dmitry,
>>>
>>> On Fri, Jul 31, 2020 at 12:06:45AM +0300, Dmitry Kozlyuk wrote:
>>>> struct cmdline exposes platform-specific members it contains, most
>>>> notably struct termios that is only available on Unix. Make the
>>>> structure opaque.
>>>>
>>>> Remove tests checking struct cmdline content as meaningless.
>>>>
>>>> Add cmdline_get_rdline() to access history buffer.
>>>> The new function is currently used only in tests.
>>>>
>>>> Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
>>>
>>> First, please forgive me for the very late feedback. It is all the more
>>> problematic because I think this patch introduces an ABI breakage, that
>>> should have been announced.
>>
>> Since 20.11 is a API/ABI breaking release, I think breaking ABI
>> is okay without announcement. What matters more is if that API would
>> need to be impacted. API changes need some announcement.
> 
> This is something that we need to get a clear decision from technical board
> on, I think, since there are some other proposed ABI changes in patches
> that were not pre-announced, e.g. changing the lpm structure.
> 

And we accepted another in ethdev one, but that library already has 
bunch of deprecation notices on it and one more change won't has much 
affect.

Overall looks OK to me to accept minor changes without deprecation 
notices, big ones can be investigated case by case, and +1 to have some 
guidance from the techboard.

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH V7 1/3] ethdev: introduce FEC API
  2020-09-18 11:48  2%   ` [dpdk-dev] [PATCH V7 1/3] ethdev: introduce FEC API Min Hu (Connor)
@ 2020-09-18 12:13  0%     ` Ananyev, Konstantin
  2020-09-18 18:10  0%       ` Ajit Khaparde
  0 siblings, 1 reply; 200+ results
From: Ananyev, Konstantin @ 2020-09-18 12:13 UTC (permalink / raw)
  To: Min Hu (Connor), dev; +Cc: thomas, arybchenko, Yigit, Ferruh, linuxarm


> This patch adds Forward error correction(FEC) support for ethdev.
> Introduce APIs which support query and config FEC information in
> hardware.
> 
> Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
> Reviewed-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
> Reviewed-by: Chengwen Feng <fengchengwen@huawei.com>
> Reviewed-by: Chengchang Tang <tangchengchang@huawei.com>
> ---
> v6->v7:
> deleted RTE_ETH_FEC_NUM to prevent ABI breakage.
> add new macro to indicate translation from fec mode
> to capa.
> 
> ---
> v5->v6:
> modified release notes.
> deleted check duplicated for FEC API
> fixed code styles according to DPDK coding style.
> added _eth prefix.
> 
> ---
> v4->v5:
> Modifies FEC capa definitions using macros.
> Add RTE_ prefix for public FEC mode enum.
> add release notes about FEC for dpdk20_11.
> 
> ---
> v2->v3:
> add function return value "-ENOTSUP" for API
> 
> ---

Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>

> 2.7.4


^ permalink raw reply	[relevance 0%]

* [dpdk-dev] [PATCH v4 4/4] build: add abi breakage checks to meson
  2020-09-18 12:11 10%     ` [dpdk-dev] [PATCH v4 " Conor Walsh
                         ` (2 preceding siblings ...)
  2020-09-18 12:11 21%       ` [dpdk-dev] [PATCH v4 3/4] buildtools: add script to setup abi checks for meson Conor Walsh
@ 2020-09-18 12:11 17%       ` Conor Walsh
  3 siblings, 0 replies; 200+ results
From: Conor Walsh @ 2020-09-18 12:11 UTC (permalink / raw)
  To: dev
  Cc: david.marchand, ray.kinsella, nhorman, aconole, maicolgabriel,
	thomas, bruce.richardson, anatoly.burakov, Conor Walsh

This patch adds the ability to run ABI breakage checks to meson.
To do this the developer needs to set the meson build type to debug and
set the version of DPDK that they want to check the ABI against.
The option "abi_checks" has been added to meson for this, the option
accepts DPDK tags e.g. "latest" or "v20.11".
Example meson command: "meson -Dbuildtype=debug -Dabi_checks=v20.08 build"
When the build is done using ninja the ABI checks will be performed
if any breakages are present the build will fail.

Signed-off-by: Conor Walsh <conor.walsh@intel.com>
---
 buildtools/meson.build | 18 ++++++++++++++++++
 config/meson.build     | 15 +++++++++++++++
 drivers/meson.build    | 14 ++++++++++++++
 lib/meson.build        | 14 ++++++++++++++
 meson_options.txt      |  2 ++
 5 files changed, 63 insertions(+)

diff --git a/buildtools/meson.build b/buildtools/meson.build
index 04808dabc..c3ee69a44 100644
--- a/buildtools/meson.build
+++ b/buildtools/meson.build
@@ -17,3 +17,21 @@ else
 endif
 map_to_win_cmd = py3 + files('map_to_win.py')
 sphinx_wrapper = py3 + files('call-sphinx-build.py')
+
+abi_check_version = get_option('abi_checks')
+check_abi = (abi_check_version != '')
+
+abi_dir = ''
+# If abi checks enabled setup abi dump directory
+if check_abi
+	message('ABI checks are being setup. This could take several minutes')
+	setup_run = run_command('abi-setup.py', '-t', abi_check_version, '-d', meson.source_root())
+	# Check if error returned from script
+	if setup_run.returncode() != 0
+		setup_err = setup_run.stderr().strip()
+		error('ABI checks setup script returned an error: ' + setup_err)
+	endif
+	abi_dir = setup_run.stdout().strip()
+endif
+abidiff = find_program('abidiff', required: check_abi)
+abignore = files('../devtools/libabigail.abignore')
diff --git a/config/meson.build b/config/meson.build
index 6996e5cbe..79b90f2cc 100644
--- a/config/meson.build
+++ b/config/meson.build
@@ -47,6 +47,21 @@ else
 	dpdk_conf.set('RTE_VER_RELEASE', 99)
 endif
 
+# abi checks cannot be run on windows
+if is_windows and check_abi
+	error('ABI checks cannot be run on windows')
+endif
+# abi checks can only be run on a debug build
+# meson <0.48 does not support get_option('debug')
+if meson.version().version_compare('>=0.48')
+	debug_enabled = get_option('debug')
+else
+	debug_enabled = get_option('buildtype').startswith('debug')
+endif
+if check_abi and not debug_enabled
+	error('Build type must have debug symbols when abi_checks are enabled')
+endif
+
 pmd_subdir_opt = get_option('drivers_install_subdir')
 if pmd_subdir_opt.contains('<VERSION>')
 	pmd_subdir_opt = abi_version.join(pmd_subdir_opt.split('<VERSION>'))
diff --git a/drivers/meson.build b/drivers/meson.build
index 5f9526557..b24a875da 100644
--- a/drivers/meson.build
+++ b/drivers/meson.build
@@ -208,6 +208,20 @@ foreach subpath:subdirs
 					include_directories: includes,
 					dependencies: static_deps)
 
+			# If abidiff found, abi checks are enabled and the abi dump files for the library are available run abi check
+			dump_name = abi_dir+'/lib' + lib_name + '.dump'
+			if check_abi and run_command('[', '-f', dump_name, ']').returncode() == 0
+				custom_target('lib' + lib_name + '.abi_chk',
+					      command: [abidiff, '--no-added-syms',
+							'--suppr', abignore,
+							'@INPUT@'],
+					      input: [dump_name, shared_lib],
+					      output: 'lib' + lib_name + '.abi_chk',
+					      capture: true,
+					      install: false,
+					      build_by_default: true)
+			endif
+
 			dpdk_drivers += static_lib
 
 			set_variable('shared_@0@'.format(lib_name), shared_dep)
diff --git a/lib/meson.build b/lib/meson.build
index 3852c0156..0d9325b90 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -190,6 +190,20 @@ foreach l:libraries
 					include_directories: includes,
 					dependencies: shared_deps)
 
+			# If abidiff found, abi checks are enabled and the abi dump files for the library are available run abi check
+			dump_name = abi_dir+'/' + dir_name + '.dump'
+			if check_abi and run_command('[', '-f', dump_name, ']').returncode() == 0
+				custom_target(dir_name + '.abi_chk',
+					      command: [abidiff, '--no-added-syms',
+							'--suppr', abignore,
+							'@INPUT@'],
+					      input: [dump_name, shared_lib],
+					      output: dir_name + '.abi_chk',
+					      capture: true,
+					      install: false,
+					      build_by_default: true)
+			endif
+
 			dpdk_libraries = [shared_lib] + dpdk_libraries
 			dpdk_static_libraries = [static_lib] + dpdk_static_libraries
 		endif # sources.length() > 0
diff --git a/meson_options.txt b/meson_options.txt
index 9bf18ab6b..26ac48f45 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -1,5 +1,7 @@
 # Please keep these options sorted alphabetically.
 
+option('abi_checks', type: 'string', value: '',
+    description: 'Enable abi compatibility checks to run during the build. This requires debug build to be enabled. Input is latest or git tag e.g. v20.11')
 option('armv8_crypto_dir', type: 'string', value: '',
 	description: 'path to the armv8_crypto library installation directory')
 option('disable_drivers', type: 'string', value: '',
-- 
2.25.1


^ permalink raw reply	[relevance 17%]

* [dpdk-dev] [PATCH v4 3/4] buildtools: add script to setup abi checks for meson
  2020-09-18 12:11 10%     ` [dpdk-dev] [PATCH v4 " Conor Walsh
  2020-09-18 12:11 15%       ` [dpdk-dev] [PATCH v4 1/4] devtools: bug fix for gen-abi.sh Conor Walsh
  2020-09-18 12:11 21%       ` [dpdk-dev] [PATCH v4 2/4] devtools: add generation of compressed abi dump archives Conor Walsh
@ 2020-09-18 12:11 21%       ` Conor Walsh
  2020-09-18 12:11 17%       ` [dpdk-dev] [PATCH v4 4/4] build: add abi breakage checks to meson Conor Walsh
  3 siblings, 0 replies; 200+ results
From: Conor Walsh @ 2020-09-18 12:11 UTC (permalink / raw)
  To: dev
  Cc: david.marchand, ray.kinsella, nhorman, aconole, maicolgabriel,
	thomas, bruce.richardson, anatoly.burakov, Conor Walsh

This patch adds a script that is intended to be invoked by meson to
do the required setup for performing ABI breakage checks at build time.
The required ABI dump archives can come from several sources including
being generated at build time or prebuilt archives can be pulled from a
remote http location or local directory.
Invoke using "./abi-setup.py [-t <tag>] -d <dpdk_source_path>"
 - <tag>: dpdk tag e.g. "v20.11", default: latest
 - <dpdk_source_path>: path to dpdk source directory, required
E.g. "./abi-setup.py -t v20.08 -d /root/dpdk"
As this script is intended to be run by meson during a build
some options can be specified by environmental variables:
 - DPDK_ABI_DUMPS_PATH: Can be used to specify a custom directory for the
   systems dump directories.
 - CC: The required compiler will be determined using this
   environmental variable
 - DPDK_ABI_TAR_URI: Can be used to specify a location that the script
   can pull prebuilt or cached dump archives from. This can be a remote
   http location or a local directory
After the script has setup an appropriate ABI dump directory using one of
the multiple methods available to it, it will print the location of this
directory to the command line.

Signed-off-by: Conor Walsh <conor.walsh@intel.com>
---
 buildtools/abi-setup.py | 141 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 141 insertions(+)
 create mode 100755 buildtools/abi-setup.py

diff --git a/buildtools/abi-setup.py b/buildtools/abi-setup.py
new file mode 100755
index 000000000..39616d21f
--- /dev/null
+++ b/buildtools/abi-setup.py
@@ -0,0 +1,141 @@
+#!/usr/bin/env python3
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2020 Intel Corporation
+
+"""
+This script is intended to be invoked by meson to do the required setup
+for performing ABI breakage checks at build time.
+The required ABI dump archives can come from several sources including
+being generated at build time or prebuilt archives can be pulled from a
+remote http location or local directory.
+"""
+
+import sys
+import os
+from os.path import abspath, join, exists, isfile
+import argparse
+import platform
+import subprocess
+import requests
+import tarfile
+import shutil
+
+# Get command line options
+def args_parse():
+    # Get command line arguments
+    parser = argparse.ArgumentParser(
+            description='This script is intended to setup ABI dumps for meson to perform ABI checks\n'+
+                        'Supported environmental variables\n'+
+                        '\t- DPDK_ABI_DUMPS_PATH: Can be used to specify a custom directory for the systems dump directories.\n'+
+                        '\t- CC: The required compiler will be determined using this environmental variable.\n'+
+                        '\t- DPDK_ABI_TAR_URI: Can be used to specify a location that the script can pull prebuilt or cached dump archives from. This can be a remote http location or a local directory.\n',
+            formatter_class=argparse.RawTextHelpFormatter)
+    parser.add_argument(
+            '-t', '--tag', dest='tag', type=str,
+            help='DPDK tag e.g. latest or v20.11', default='latest')
+    parser.add_argument(
+            '-d', '--dpdk', dest='dpdk', type=str,
+            help='Path to DPDK source directory', required=True)
+    args = parser.parse_args()
+    return args
+
+# Function to execute git commands
+def call_git(args):
+    args = list(filter(None, args))
+    git_call = subprocess.run(['git'] + args, capture_output=True)
+    if git_call.returncode != 0:
+        print('ERROR Git returned an error', file=sys.stderr)
+        exit(1)
+    return git_call.stdout.decode('utf-8')
+
+# Function to execute commands
+def call_exec(args):
+    args = list(filter(None, args))
+    exec_call = subprocess.run(args, stdout=subprocess.DEVNULL)
+    if exec_call.returncode != 0:
+        print('ERROR Script returned an error', file=sys.stderr)
+        exit(1)
+
+# Get required git tag
+def get_tag(tag):
+    tags = call_git(['ls-remote', '--tags', 'http://dpdk.org/git/dpdk']).split('\n')
+    tags = [t.split('/')[-1].strip() for t in tags if 'rc' not in t and not t.endswith('{}') and t != '']
+    if tag == 'latest':
+        tag = tags[-1]
+    if tag not in tags:
+        print('ERROR supplied tag does not exist in DPDK repo', file=sys.stderr)
+        exit(1)
+    return tag
+
+def main():
+    args = args_parse()
+
+    tag = get_tag(args.tag)
+
+    # Get the specified compiler from system
+    if 'CC' in os.environ:
+        comp = os.environ['CC']
+    else:
+        comp = 'gcc'
+
+    # Get the systems architecture
+    arch = platform.machine()
+
+    # Get devtools path
+    devtools_path = abspath(join(args.dpdk,'devtools'))
+
+    # Get the abi dumps folder from args or env fail if none supplied
+    abi_folder = ''
+    abi_env = 'DPDK_ABI_DUMPS_PATH'
+    if abi_env in os.environ:
+        abi_folder = abspath(os.environ[abi_env])
+    else:
+        abi_folder = abspath(join(args.dpdk,'abi_dumps'))
+
+    # If the directory doesn't exist create it and add a README to explain what it does
+    if not exists(abi_folder):
+        os.makedirs(abi_folder)
+        f=open(abi_folder+'/README','w+')
+        f.write('This directory has been setup to contain the ABI dump folders needed to perform ABI checks\n')
+        f.write('Directories here must be in the format {DPDK Tag}-{Compiler ID}-{Architecture}-abi_dump\n')
+        f.write('e.g. v20.11-gcc-x86_64-abi_dump\n')
+        f.write('Directories that do not use this format will not be picked up by the meson ABI checks\n')
+        f.write('This directory is managed automatically unless desired by the user\n')
+        f.close()
+
+    # Move to abi folder
+    os.chdir(abi_folder)
+    abi_dump=tag+'-'+comp+'-'+arch+'-abi_dump'
+    # Download and untar abi dump if not present
+    if not exists(abi_dump):
+        # Check DPDK_ABI_TAR_URI for the location of the tarballs local or web
+        tar_uri_env = 'DPDK_ABI_TAR_URI'
+        if tar_uri_env in os.environ:
+            abi_tar_uri = os.environ[tar_uri_env]
+            if abi_tar_uri.startswith('http'):
+                # Download the required tarball
+                tar_loc = '{}.tar.gz'.format(join(abi_tar_uri,abi_dump))
+                r = requests.get(tar_loc)
+                if r.status_code == 200:
+                    with open('{}.tar.gz'.format(abi_dump), 'wb') as f:
+                        f.write(r.content)
+            else:
+                abi_tar_uri = abspath(abi_tar_uri)
+                try:
+                    shutil.copy('{}.tar.gz'.format(join(abi_tar_uri,abi_dump)), '.')
+                except FileNotFoundError as error:
+                    pass
+        if not isfile(abi_dump+'.tar.gz'):
+            call_exec([join(devtools_path,'gen-abi-tarball.py'), '-t', tag, '-a', arch])
+            if not isfile(abi_dump+'.tar.gz'):
+                print('ERROR ABI check generation failed', file=sys.stderr)
+                exit(1)
+        f = tarfile.open('{}.tar.gz'.format(abi_dump))
+        f.extractall()
+        os.remove('{}.tar.gz'.format(abi_dump))
+
+    # Tell user where specified directory is
+    print(abspath(abi_dump))
+
+if __name__ == "__main__":
+    main()
-- 
2.25.1


^ permalink raw reply	[relevance 21%]

* [dpdk-dev] [PATCH v4 2/4] devtools: add generation of compressed abi dump archives
  2020-09-18 12:11 10%     ` [dpdk-dev] [PATCH v4 " Conor Walsh
  2020-09-18 12:11 15%       ` [dpdk-dev] [PATCH v4 1/4] devtools: bug fix for gen-abi.sh Conor Walsh
@ 2020-09-18 12:11 21%       ` Conor Walsh
  2020-09-18 12:11 21%       ` [dpdk-dev] [PATCH v4 3/4] buildtools: add script to setup abi checks for meson Conor Walsh
  2020-09-18 12:11 17%       ` [dpdk-dev] [PATCH v4 4/4] build: add abi breakage checks to meson Conor Walsh
  3 siblings, 0 replies; 200+ results
From: Conor Walsh @ 2020-09-18 12:11 UTC (permalink / raw)
  To: dev
  Cc: david.marchand, ray.kinsella, nhorman, aconole, maicolgabriel,
	thomas, bruce.richardson, anatoly.burakov, Conor Walsh

This patch adds a script that generates a compressed archive
containing .dump files which can be used to perform ABI
breakage checking for the build specified in the parameters.
Invoke using "./gen-abi-tarball.py [-t <tag>] [-a <arch>]
              [-cf <cross-file>]"
 - <tag>: dpdk tag e.g. "v20.11", default: latest
 - <arch>: required architecture e.g. "arm" or "x86_64",
           default: current system's architecture
 - <cross-file>: configuration file for cross compiling for another
                 system, this flag is not required.
                 e.g. "config/arm/arm64_armv8_linux_gcc", default: None
E.g. "./gen-abi-tarball.py -t latest -a x86_64"
If a compiler is not specified using the CC environmental variable then
the script will default to using gcc.
Using these parameters the script will produce a .tar.gz archive
containing .dump files required to do ABI breakage checking

Signed-off-by: Conor Walsh <conor.walsh@intel.com>
---
 devtools/gen-abi-tarball.py | 142 ++++++++++++++++++++++++++++++++++++
 1 file changed, 142 insertions(+)
 create mode 100755 devtools/gen-abi-tarball.py

diff --git a/devtools/gen-abi-tarball.py b/devtools/gen-abi-tarball.py
new file mode 100755
index 000000000..6c337104e
--- /dev/null
+++ b/devtools/gen-abi-tarball.py
@@ -0,0 +1,142 @@
+#!/usr/bin/env python3
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2020 Intel Corporation
+
+"""
+This Python script generates a compressed archive containing .dump
+files which can be used to perform ABI breakage checking for the
+build specified in the parameters.
+"""
+
+import os
+from os.path import abspath, realpath, dirname, basename, join, getsize
+import sys
+import argparse
+import platform
+import tarfile
+import subprocess
+import shutil
+import tempfile
+
+# Get command line options
+def args_parse():
+    parser = argparse.ArgumentParser(
+            description='This script is intended to generate ABI dump tarballs\n\n'+
+                        'Supported environmental variables:\n'+
+                        '\t- CC: The required compiler will be determined using this environmental variable.\n',
+            formatter_class=argparse.RawTextHelpFormatter)
+    parser.add_argument(
+            '-t', '--tag', type=str, dest='tag',
+            help='DPDK tag e.g. latest or v20.11', default='latest')
+    parser.add_argument(
+            '-cf', '--cross-file', type=str, dest='crosscompile',
+            help='Set the location of a cross compile config')
+    parser.add_argument(
+            '-a', '--arch', type=str, dest='arch',
+            help='Architecture arm or x86_64', default=platform.machine())
+    args = parser.parse_args()
+    return args
+
+# Function to execute git commands
+def call_git(args):
+    args = list(filter(None, args))
+    git_call = subprocess.run(['git'] + args, capture_output=True)
+    if git_call.returncode != 0:
+        print('ERROR Git returned an error', file=sys.stderr)
+        exit(1)
+    return git_call.stdout.decode('utf-8').strip()
+
+# Function to execute commands
+def call_exec(args):
+    args = list(filter(None, args))
+    exec_call = subprocess.run(args, stdout=subprocess.DEVNULL)
+    if exec_call.returncode != 0:
+        print('ERROR Script returned an error', file=sys.stderr)
+        exit(1)
+
+# Get the required git tag
+def get_tag(tag):
+    tags = call_git(['ls-remote', '--tags', 'http://dpdk.org/git/dpdk']).split('\n')
+    tags = [t.split('/')[-1].strip() for t in tags if 'rc' not in t and not t.endswith('{}')]
+    if tag == 'latest':
+        tag = tags[-1]
+    if tag not in tags:
+        print('ERROR supplied tag does not exist in DPDK repo', file=sys.stderr)
+        exit(1)
+    return tag
+
+def main():
+    args = args_parse()
+
+    # Get the cross-compile option
+    cross_comp_meson = [None, None]
+    if args.crosscompile:
+        cross_comp_meson = ['--cross-file', abspath(args.crosscompile)]
+
+    tag = get_tag(args.tag)
+
+    # Get the specified compiler from system
+    if 'CC' in os.environ:
+        comp = os.environ['CC']
+    else:
+        print('No compiler specified in environmental varibles, setting CC=gcc')
+        comp = 'gcc'
+        os.environ['CC'] = 'gcc'
+
+    # Print the configuration to the user
+    print('\nSelected Build: {}, Compiler: {}, Architecture: {}, Cross Compile: {}'.format(tag,comp,args.arch,cross_comp_meson[1]))
+
+    # Store the users working directory
+    baseDir = os.getcwd()
+    # Store devtools dir
+    devtoolsDir = abspath(dirname(realpath(sys.argv[0])))
+
+    # Create directory for DPDK git repo and build
+    tmpDir = tempfile.TemporaryDirectory(dir = "/tmp")
+
+    os.chdir(tmpDir.name)
+    # Clone DPDK and switch to specified tag
+    print('Cloning {} from DPDK git'.format(tag))
+    call_git(['clone', '--quiet', 'http://dpdk.org/git/dpdk'])
+    os.chdir('dpdk')
+    call_git(['checkout', '--quiet', tag])
+
+    # Create build folder with meson and set debug build and cross compile (if needed)
+    print('Configuring Meson')
+    call_exec(['meson', '-Dbuildtype=debug', 'dumpbuild'] + cross_comp_meson)
+    #os.system('meson -Dbuildtype=debug dumpbuild {} >/dev/null'.format(cross_comp_meson))
+    print('Building DPDK . . .')
+    #Build DPDK with ninja
+    call_exec(['ninja', '-C', 'dumpbuild'])
+
+    # Create dump files and output to dump directory
+    dumpDir = join(baseDir,'{}-{}-{}-abi_dump'.format(tag,comp,args.arch))
+    print('Generating ABI dump files')
+    call_exec([join(devtoolsDir,'gen-abi.sh'), 'dumpbuild'])
+    try:
+        shutil.copytree('dumpbuild/dump', dumpDir)
+    except FileExistsError as error:
+        print('ERROR The {} directory already exists, ensure it is not present before running script'.format(dumpDir), file=sys.stderr)
+        tmpDir.cleanup()
+        exit(1)
+
+    # Compress the dump directory
+    print('Creating Tarball of dump files')
+    os.chdir(baseDir)
+    origSize = 0
+    for f in os.scandir(dumpDir):
+        origSize += getsize(f)
+    with tarfile.open('{}.tar.gz'.format(dumpDir), "w:gz") as tar:
+        tar.add(dumpDir, arcname=basename(dumpDir))
+    newSize = getsize('{}.tar.gz'.format(dumpDir))
+
+    # Remove all temporary directories
+    print('Cleaning up temporary directories')
+    shutil.rmtree(dumpDir)
+    tmpDir.cleanup()
+
+    #Print output of the script to the user
+    print('\nDump of DPDK ABI {} is available in {}.tar.gz (Original Size: {:.1f}MB, Compressed Size: {:.1f}MB)\n'.format(tag,dumpDir.split('/')[-1],float(origSize)*1e-6,float(newSize)*1e-6))
+
+if __name__ == "__main__":
+    main()
-- 
2.25.1


^ permalink raw reply	[relevance 21%]

* [dpdk-dev] [PATCH v4 1/4] devtools: bug fix for gen-abi.sh
  2020-09-18 12:11 10%     ` [dpdk-dev] [PATCH v4 " Conor Walsh
@ 2020-09-18 12:11 15%       ` Conor Walsh
  2020-09-18 12:11 21%       ` [dpdk-dev] [PATCH v4 2/4] devtools: add generation of compressed abi dump archives Conor Walsh
                         ` (2 subsequent siblings)
  3 siblings, 0 replies; 200+ results
From: Conor Walsh @ 2020-09-18 12:11 UTC (permalink / raw)
  To: dev
  Cc: david.marchand, ray.kinsella, nhorman, aconole, maicolgabriel,
	thomas, bruce.richardson, anatoly.burakov, Conor Walsh

This patch fixes a bug with the gen-abi.sh script in devtools.
When ran on an install directory the script would try to generate
.dump files from directories as well as the .so files which is
not correct.
Example error: abidw: gcc/lib/librte_net.so.21.0.p is not a regular file
To rectify this the regex that finds the appropriate .so files has been
changed and the file test has been removed.
This change was tested with the ABI_CHECK Travis checks in DPDK 20.08.
Travis build:
https://travis-ci.com/github/conorwalsh-intel/dpdk/jobs/382812849

Signed-off-by: Conor Walsh <conor.walsh@intel.com>
---
 devtools/gen-abi.sh | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/devtools/gen-abi.sh b/devtools/gen-abi.sh
index c44b0e228..da6fe0556 100755
--- a/devtools/gen-abi.sh
+++ b/devtools/gen-abi.sh
@@ -16,11 +16,7 @@ fi
 dumpdir=$installdir/dump
 rm -rf $dumpdir
 mkdir -p $dumpdir
-for f in $(find $installdir -name "*.so.*"); do
-	if test -L $f; then
-		continue
-	fi
-
+for f in $(find $installdir -name "*.so"); do
 	libname=$(basename $f)
 	abidw --out-file $dumpdir/${libname%.so*}.dump $f
 done
-- 
2.25.1


^ permalink raw reply	[relevance 15%]

* [dpdk-dev] [PATCH v4 0/4] abi breakage checks for meson
  2020-09-11 16:03 10%   ` [dpdk-dev] [PATCH v3 0/4] abi breakage checks for meson Conor Walsh
                       ` (4 preceding siblings ...)
  2020-09-14  8:08  8%     ` [dpdk-dev] [PATCH v3 0/4] abi breakage checks for meson Thomas Monjalon
@ 2020-09-18 12:11 10%     ` Conor Walsh
  2020-09-18 12:11 15%       ` [dpdk-dev] [PATCH v4 1/4] devtools: bug fix for gen-abi.sh Conor Walsh
                         ` (3 more replies)
  5 siblings, 4 replies; 200+ results
From: Conor Walsh @ 2020-09-18 12:11 UTC (permalink / raw)
  To: dev
  Cc: david.marchand, ray.kinsella, nhorman, aconole, maicolgabriel,
	thomas, bruce.richardson, anatoly.burakov, Conor Walsh

This patchset allows developers to check ABI breakages during build time.
Currently checking that the DPDK ABI has not changed before up-streaming
code is not intuitive. The current method, requires the contributor to
use either the test-build.sh and test-meson-build.sh tools, along side
some environmental variables to test their changes. Contributors in many
cases are either unaware or unable to do this themselves, leading to a
potentially serious situation where they are unknowingly up-streaming
code that breaks the ABI. These breakages are then caught by Travis, but
it is more efficient if this is caught locally before up-streaming.

---
v4:
 - Reworked both Python scripts to use more native Python functions
   and modules.
 - Python scripts are now in line with how other Python scripts in
   DPDK are structured.

v3:
 - Fix for bug which now allows meson < 0.48.0 to be used
 - Various coding style changes throughout
 - Minor bug fixes to the various meson.build files

v2: Spelling mistake, corrected spelling of environmental

Conor Walsh (4):
  devtools: bug fix for gen-abi.sh
  devtools: add generation of compressed abi dump archives
  buildtools: add script to setup abi checks for meson
  build: add abi breakage checks to meson

 buildtools/abi-setup.py     | 141 +++++++++++++++++++++++++++++++++++
 buildtools/meson.build      |  18 +++++
 config/meson.build          |  15 ++++
 devtools/gen-abi-tarball.py | 142 ++++++++++++++++++++++++++++++++++++
 devtools/gen-abi.sh         |   6 +-
 drivers/meson.build         |  14 ++++
 lib/meson.build             |  14 ++++
 meson_options.txt           |   2 +
 8 files changed, 347 insertions(+), 5 deletions(-)
 create mode 100755 buildtools/abi-setup.py
 create mode 100755 devtools/gen-abi-tarball.py

-- 
2.25.1


^ permalink raw reply	[relevance 10%]

* [dpdk-dev] [PATCH V7 1/3] ethdev: introduce FEC API
  @ 2020-09-18 11:48  2%   ` Min Hu (Connor)
  2020-09-18 12:13  0%     ` Ananyev, Konstantin
  0 siblings, 1 reply; 200+ results
From: Min Hu (Connor) @ 2020-09-18 11:48 UTC (permalink / raw)
  To: dev; +Cc: konstantin.ananyev, thomas, arybchenko, ferruh.yigit, linuxarm

This patch adds Forward error correction(FEC) support for ethdev.
Introduce APIs which support query and config FEC information in
hardware.

Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
Reviewed-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
Reviewed-by: Chengwen Feng <fengchengwen@huawei.com>
Reviewed-by: Chengchang Tang <tangchengchang@huawei.com>
---
v6->v7:
deleted RTE_ETH_FEC_NUM to prevent ABI breakage.
add new macro to indicate translation from fec mode
to capa.

---
v5->v6:
modified release notes.
deleted check duplicated for FEC API
fixed code styles according to DPDK coding style.
added _eth prefix.

---
v4->v5:
Modifies FEC capa definitions using macros.
Add RTE_ prefix for public FEC mode enum.
add release notes about FEC for dpdk20_11.

---
v2->v3:
add function return value "-ENOTSUP" for API

---
 doc/guides/rel_notes/release_20_11.rst   | 10 ++++
 lib/librte_ethdev/rte_ethdev.c           | 49 ++++++++++++++++++
 lib/librte_ethdev/rte_ethdev.h           | 85 ++++++++++++++++++++++++++++++++
 lib/librte_ethdev/rte_ethdev_core.h      | 79 +++++++++++++++++++++++++++++
 lib/librte_ethdev/rte_ethdev_version.map |  5 ++
 5 files changed, 228 insertions(+)

diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index cc72609..e19b037 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -55,6 +55,16 @@ New Features
      Also, make sure to start the actual text at the margin.
      =======================================================
 
+* **Added the FEC API, for a generic FEC query and config.**
+
+  Added the FEC API which provides functions for query FEC capabilities and
+  current FEC mode from device. Also, API for configuring FEC mode is also provided.
+
+* **Added hns3 FEC PMD, for supporting query and config FEC mode.**
+
+  Added the FEC PMD which provides functions for query FEC capabilities and
+  current FEC mode from device. Also, PMD for configuring FEC mode is also provided.
+
 
 Removed Items
 -------------
diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c
index 7858ad5..d7cd737 100644
--- a/lib/librte_ethdev/rte_ethdev.c
+++ b/lib/librte_ethdev/rte_ethdev.c
@@ -3642,6 +3642,55 @@ rte_eth_led_off(uint16_t port_id)
 	return eth_err(port_id, (*dev->dev_ops->dev_led_off)(dev));
 }
 
+int
+rte_eth_fec_get_capability(uint16_t port_id, uint32_t *fec_cap)
+{
+	struct rte_eth_dev *dev;
+
+	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
+	dev = &rte_eth_devices[port_id];
+	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->fec_get_capability, -ENOTSUP);
+	return eth_err(port_id, (*dev->dev_ops->fec_get_capability)(dev,
+								fec_cap));
+}
+
+int
+rte_eth_fec_get(uint16_t port_id, enum rte_eth_fec_mode *mode)
+{
+	struct rte_eth_dev *dev;
+
+	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
+	dev = &rte_eth_devices[port_id];
+	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->fec_get, -ENOTSUP);
+	return eth_err(port_id, (*dev->dev_ops->fec_get)(dev, mode));
+}
+
+int
+rte_eth_fec_set(uint16_t port_id, enum rte_eth_fec_mode mode)
+{
+	struct rte_eth_dev *dev;
+	uint32_t fec_mode_mask;
+	int ret;
+
+	ret = rte_eth_fec_get_capability(port_id, &fec_mode_mask);
+	if (ret != 0)
+		return ret;
+
+	/*
+	 * Check whether the configured mode is within the FEC capability.
+	 * If not, the configured mode will not be supported.
+	 */
+	if (!(fec_mode_mask & RTE_ETH_FEC_MODE_TO_CAPA(mode))) {
+		RTE_ETHDEV_LOG(ERR, "unsupported FEC mode = %d, port_id = %u\n",
+			       mode, port_id);
+		return -EINVAL;
+	}
+
+	dev = &rte_eth_devices[port_id];
+	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->fec_set, -ENOTSUP);
+	return eth_err(port_id, (*dev->dev_ops->fec_set)(dev, mode));
+}
+
 /*
  * Returns index into MAC address array of addr. Use 00:00:00:00:00:00 to find
  * an empty spot.
diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
index 70295d7..1835fb9 100644
--- a/lib/librte_ethdev/rte_ethdev.h
+++ b/lib/librte_ethdev/rte_ethdev.h
@@ -1310,6 +1310,9 @@ struct rte_eth_conf {
 #define RTE_ETH_DEV_FALLBACK_RX_NBQUEUES 1
 #define RTE_ETH_DEV_FALLBACK_TX_NBQUEUES 1
 
+/* Translate from FEC mode to FEC capa */
+#define RTE_ETH_FEC_MODE_TO_CAPA(x)	(1U << (x))
+
 /**
  * Preferred Rx/Tx port parameters.
  * There are separate instances of this structure for transmission
@@ -1511,6 +1514,24 @@ struct rte_eth_dcb_info {
 	struct rte_eth_dcb_tc_queue_mapping tc_queue;
 };
 
+/**
+ * This enum indicates the possible (forward error correction)FEC modes
+ * of an ethdev port.
+ */
+enum rte_eth_fec_mode {
+	RTE_ETH_FEC_NOFEC = 0,      /**< FEC is off */
+	RTE_ETH_FEC_BASER,          /**< FEC using common algorithm */
+	RTE_ETH_FEC_RS,             /**< FEC using RS algorithm */
+	RTE_ETH_FEC_AUTO,           /**< FEC autonegotiation modes */
+};
+
+/* This indicates FEC capabilities */
+#define RTE_ETH_FEC_CAPA_NOFEC  (1U << RTE_ETH_FEC_NOFEC)
+#define RTE_ETH_FEC_CAPA_BASER  (1U << RTE_ETH_FEC_BASER)
+#define RTE_ETH_FEC_CAPA_RS     (1U << RTE_ETH_FEC_RS)
+#define RTE_ETH_FEC_CAPA_AUTO   (1U << RTE_ETH_FEC_AUTO)
+
+
 #define RTE_ETH_ALL RTE_MAX_ETHPORTS
 
 /* Macros to check for valid port */
@@ -3328,6 +3349,70 @@ int  rte_eth_led_on(uint16_t port_id);
 int  rte_eth_led_off(uint16_t port_id);
 
 /**
+ * @warning
+ * @b EXPERIMENTAL: this API may change, or be removed, without prior notice
+ *
+ * Get Forward Error Correction(FEC) capability.
+ *
+ * @param port_id
+ *   The port identifier of the Ethernet device.
+ * @param fec_cap
+ *   returns the FEC capability from the device, as follows:
+ *   RTE_ETH_FEC_CAPA_NOFEC
+ *   RTE_ETH_FEC_CAPA_BASER
+ *   RTE_ETH_FEC_CAPA_RS
+ *   RTE_ETH_FEC_CAPA_AUTO
+ * @return
+ *   - (0) if successful.
+ *   - (-ENOTSUP) if underlying hardware OR driver doesn't support.
+ *     that operation.
+ *   - (-EIO) if device is removed.
+ *   - (-ENODEV)  if *port_id* invalid.
+ */
+__rte_experimental
+int rte_eth_fec_get_capability(uint16_t port_id, uint32_t *fec_cap);
+
+/**
+ * @warning
+ * @b EXPERIMENTAL: this API may change, or be removed, without prior notice
+ *
+ * Get current Forward Error Correction(FEC) mode.
+ *
+ * @param port_id
+ *   The port identifier of the Ethernet device.
+ * @param mode
+ *   returns the FEC mode from the device.
+ * @return
+ *   - (0) if successful.
+ *   - (-ENOTSUP) if underlying hardware OR driver doesn't support.
+ *     that operation.
+ *   - (-EIO) if device is removed.
+ *   - (-ENODEV)  if *port_id* invalid.
+ */
+__rte_experimental
+int rte_eth_fec_get(uint16_t port_id, enum rte_eth_fec_mode *mode);
+
+/**
+ * @warning
+ * @b EXPERIMENTAL: this API may change, or be removed, without prior notice
+ *
+ * Set Forward Error Correction(FEC) mode.
+ *
+ * @param port_id
+ *   The port identifier of the Ethernet device.
+ * @param mode
+ *   the FEC mode.
+ * @return
+ *   - (0) if successful.
+ *   - (-EINVAL) if the FEC mode is not valid.
+ *   - (-ENOTSUP) if underlying hardware OR driver doesn't support.
+ *   - (-EIO) if device is removed.
+ *   - (-ENODEV)  if *port_id* invalid.
+ */
+__rte_experimental
+int rte_eth_fec_set(uint16_t port_id, enum rte_eth_fec_mode mode);
+
+/**
  * Get current status of the Ethernet link flow control for Ethernet device
  *
  * @param port_id
diff --git a/lib/librte_ethdev/rte_ethdev_core.h b/lib/librte_ethdev/rte_ethdev_core.h
index 32407dd..755a15a 100644
--- a/lib/librte_ethdev/rte_ethdev_core.h
+++ b/lib/librte_ethdev/rte_ethdev_core.h
@@ -604,6 +604,78 @@ typedef int (*eth_tx_hairpin_queue_setup_t)
 	 const struct rte_eth_hairpin_conf *hairpin_conf);
 
 /**
+ * @internal
+ * Get Forward Error Correction(FEC) capability.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ * @param fec_cap
+ *   returns the FEC capability from the device.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, get FEC success.
+ * @retval -ENOTSUP
+ *   operation is not supported.
+ * @retval -EIO
+ *   device is removed.
+ * @retval -ENODEV
+ *   Device is gone.
+ */
+typedef int (*eth_fec_get_capability_t)(struct rte_eth_dev *dev,
+					uint32_t *fec_cap);
+
+/**
+ * @internal
+ * Get Forward Error Correction(FEC) mode.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ * @param mode
+ *   returns the FEC mode from the device.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, get FEC success.
+ * @retval -ENOTSUP
+ *   operation is not supported.
+ * @retval -EIO
+ *   device is removed.
+ * @retval -ENODEV
+ *   Device is gone.
+ */
+typedef int (*eth_fec_get_t)(struct rte_eth_dev *dev,
+			     enum rte_eth_fec_mode *mode);
+
+/**
+ * @internal
+ *   Set Forward Error Correction(FEC) mode.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ * @param mode
+ *   the FEC mode.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, set FEC success.
+ * @retval -ENOTSUP
+ *   operation is not supported.
+ * @retval -EIO
+ *   device is removed.
+ * @retval -ENODEV
+ *   Device is gone.
+ */
+typedef int (*eth_fec_set_t)(struct rte_eth_dev *dev,
+			     enum rte_eth_fec_mode mode);
+
+/**
  * @internal A structure containing the functions exported by an Ethernet driver.
  */
 struct eth_dev_ops {
@@ -752,6 +824,13 @@ struct eth_dev_ops {
 	/**< Set up device RX hairpin queue. */
 	eth_tx_hairpin_queue_setup_t tx_hairpin_queue_setup;
 	/**< Set up device TX hairpin queue. */
+
+	eth_fec_get_capability_t fec_get_capability;
+	/**< Get Forward Error Correction(FEC) capability; */
+	eth_fec_get_t fec_get;
+	/**< Get Forward Error Correction(FEC) mode; */
+	eth_fec_set_t fec_set;
+	/**< Set Forward Error Correction(FEC) mode; */
 };
 
 /**
diff --git a/lib/librte_ethdev/rte_ethdev_version.map b/lib/librte_ethdev/rte_ethdev_version.map
index 02081d9..9f3fb8f 100644
--- a/lib/librte_ethdev/rte_ethdev_version.map
+++ b/lib/librte_ethdev/rte_ethdev_version.map
@@ -239,6 +239,11 @@ EXPERIMENTAL {
 	__rte_ethdev_trace_rx_burst;
 	__rte_ethdev_trace_tx_burst;
 	rte_flow_get_aged_flows;
+
+	# added in 20.11
+	rte_eth_fec_get_capability;
+	rte_eth_fec_get;
+	rte_eth_fec_set;
 };
 
 INTERNAL {
-- 
2.7.4


^ permalink raw reply	[relevance 2%]

* Re: [dpdk-dev] [V5 1/3] ethdev: introduce FEC API
  2020-09-18  1:57  0%       ` humin (Connor)
@ 2020-09-18 10:46  3%         ` Ananyev, Konstantin
  0 siblings, 0 replies; 200+ results
From: Ananyev, Konstantin @ 2020-09-18 10:46 UTC (permalink / raw)
  To: humin (Connor), dev; +Cc: thomas, arybchenko, Yigit, Ferruh, linuxarm

> >>
> >> +/**
> >> + * This enum indicates the possible (forward error correction)FEC modes
> >> + * of an ethdev port.
> >> + */
> >> +enum rte_fec_mode {
> >> +	RTE_ETH_FEC_NOFEC = 0,      /**< FEC is off */
> >> +	RTE_ETH_FEC_BASER,          /**< FEC using common algorithm */
> >> +	RTE_ETH_FEC_RS,             /**< FEC using RS algorithm */
> >> +	RTE_ETH_FEC_AUTO,           /**< FEC autonegotiation modes */
> >> +	RTE_ETH_FEC_NUM
> >
> > It is better not to have RTE_ETH_FEC_NUM here:
> > Any future additions to that enum would overwrite _NUM values and would
> > considered as ABI breakage.
> > Aprart from that:
> > Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
> >
> HI,
>        it does not matter even though RTE_ETH_FEC_NUM value is changed
> when adding new element to that enum. RTE_ETH_FEC_NUM is used as the MAX
> vlaue of FEC modes, not one FEC mode itself.

I understand that, but when in future you'll try to add some new mode,
it will cause a change of RTE_ETH_FEC_NUM value.
As I remember, abicheck will report it as ABI breakage.
So adding new values to that enum will be really problematic.

>        One of the application scenarios is as follows,set "testpmd" as
> an example:
> show_fec_capability(uint32_t fec_cap)
> {
> 	uint32_t i;
> 
> 	if (fec_cap == 0) {
> 		printf("FEC is not supported\n");
> 		return;
> 	}
> 
> 	printf("FEC capabilities: ");
> 	for (i = RTE_ETH_FEC_BASER; i < RTE_ETH_FEC_NUM; i++) {

I think you can use RTE_DIM(fec_mode_name) here instead of RTE_ETH_FEC_NUM.

> 		if (fec_cap & 1U << i)

BTW, one more thing - as you translate from mode to capa all over the place,
I think it deserves a separate macro for it.
Something like:
#define RTE_ETH_FEC_MODE_TO_CAPA(x)	(1U << (x))

> 			printf("%s ", fec_mode_name[i].name);
> 	}
> 	printf("\n");
> }
> 
> Hope for your reply.
> 
> >> +};
> >> +
> >> +/* This indicates FEC capabilities */
> >> +#define RTE_ETH_FEC_CAPA_NOFEC  (1U << RTE_ETH_FEC_NOFEC)
> >> +#define RTE_ETH_FEC_CAPA_BASER  (1U << RTE_ETH_FEC_BASER)
> >> +#define RTE_ETH_FEC_CAPA_RS     (1U << RTE_ETH_FEC_RS)
> >> +#define RTE_ETH_FEC_CAPA_AUTO   (1U << RTE_ETH_FEC_AUTO)
> >> +
> >> +

^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] [V5 1/3] ethdev: introduce FEC API
  2020-09-17  9:58  3%     ` Andrew Rybchenko
@ 2020-09-18  9:28  0%       ` Min Hu (Connor)
  0 siblings, 0 replies; 200+ results
From: Min Hu (Connor) @ 2020-09-18  9:28 UTC (permalink / raw)
  To: Andrew Rybchenko, dev; +Cc: konstantin.ananyev, thomas, ferruh.yigit, linuxarm



在 2020/9/17 17:58, Andrew Rybchenko 写道:
> On 9/17/20 11:52 AM, Min Hu (Connor) wrote:
>> This patch adds Forward error correction(FEC) support for ethdev.
>> Introduce APIs which support query and config FEC information in
>> hardware.
>>
>> Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
>> Reviewed-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
>> Reviewed-by: Chengwen Feng <fengchengwen@huawei.com>
>> Reviewed-by: Chengchang Tang <tangchengchang@huawei.com>
>> ---
>> v4->v5:
>> Modifies FEC capa definitions using macros.
>> Add RTE_ prefix for public FEC mode enum.
>> add release notes about FEC for dpdk20_11.
>>
>> ---
>> v2->v3:
>> add function return value "-ENOTSUP" for API
>>
>> ---
>>   doc/guides/rel_notes/release_20_11.rst   | 13 +++++
>>   lib/librte_ethdev/rte_ethdev.c           | 50 +++++++++++++++++++
>>   lib/librte_ethdev/rte_ethdev.h           | 83 ++++++++++++++++++++++++++++++++
>>   lib/librte_ethdev/rte_ethdev_core.h      | 77 +++++++++++++++++++++++++++++
>>   lib/librte_ethdev/rte_ethdev_version.map |  5 ++
>>   5 files changed, 228 insertions(+)
>>
>> diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
>> index cc72609..e4f0587 100644
>> --- a/doc/guides/rel_notes/release_20_11.rst
>> +++ b/doc/guides/rel_notes/release_20_11.rst
>> @@ -55,6 +55,19 @@ New Features
>>        Also, make sure to start the actual text at the margin.
>>        =======================================================
>>   
>> +* **Added the FEC Library, a generic FEC query and config library.**
>> +
>> +  Added the FEC library which provides an API for query FEC capabilities and
>> +  FEC mode from device. Also, API for configuring FEC mode is also provided.
> 
> The patch does not add a library. It adds an API get FEC
> capabilities, get current configuration and allows to set
> a new configuration.
I fixed it in V6,thanks.

> 
>> +
>> +  Added hns3 FEC PMD, for supporting query and config FEC mode.
> 
> If required, it should be later in release notes in accordance
> with defined order.
> 
I fixed it in V6,thanks.

>> +
>> +* **Updated testpmd with a command for FEC.**
>> +
>> +  Added a FEC command to testpmd app,
>> +  ``show port <port_id> fec capabilities`` which queries FEC capabilities device supports.
>> +  ``show port <port_id> fec_mode`` which queries FEC mode from device.
>> +  ``set port <port_id> fec_mode <auto|off|rs|baser>`` which configures FEC mode to device.
> 
> IMHO, it is not much details for release notes.
> As I understand it is assumed that testpmd must be
> updated for any new ethdev feature, so, the information
> about testpmd is not really required.
> 
I fixed it in V6,thanks.
>>   
>>   Removed Items
>>   -------------
>> diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c
>> index 7858ad5..fde77c1 100644
>> --- a/lib/librte_ethdev/rte_ethdev.c
>> +++ b/lib/librte_ethdev/rte_ethdev.c
>> @@ -3642,6 +3642,56 @@ rte_eth_led_off(uint16_t port_id)
>>   	return eth_err(port_id, (*dev->dev_ops->dev_led_off)(dev));
>>   }
>>   
>> +int
>> +rte_eth_fec_get_capability(uint16_t port_id, uint32_t *fec_cap)
>> +{
>> +	struct rte_eth_dev *dev;
>> +
>> +	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>> +	dev = &rte_eth_devices[port_id];
>> +	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->fec_get_capability, -ENOTSUP);
>> +	return eth_err(port_id, (*dev->dev_ops->fec_get_capability)(dev,
>> +								fec_cap));
>> +}
>> +
>> +int
>> +rte_eth_fec_get(uint16_t port_id, enum rte_fec_mode *mode)
>> +{
>> +	struct rte_eth_dev *dev;
>> +
>> +	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>> +	dev = &rte_eth_devices[port_id];
>> +	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->fec_get, -ENOTSUP);
>> +	return eth_err(port_id, (*dev->dev_ops->fec_get)(dev, mode));
>> +}
>> +
>> +int
>> +rte_eth_fec_set(uint16_t port_id, enum rte_fec_mode mode)
>> +{
>> +	struct rte_eth_dev *dev;
>> +	uint32_t fec_mode_mask;
>> +	int ret;
>> +
>> +	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
> 
> Basically the check is duplicated since get_capabilities
> does it. However, there is no much harm to keep. If so,
> I'd move it below just before port_id usage as an index
> in rte_eth_devices array.
> 
I fixed it in V6,just delete the duplicated check, thanks.
>> +
>> +	ret = rte_eth_fec_get_capability(port_id, &fec_mode_mask);
>> +	if (ret)
> 
> Please, compare with 0 explicitly as specified in DPDK coding
> style.
> 
I fixed it in V6,thanks.

>> +		return ret;
>> +
>> +	/*
>> +	 * Check whether the configured mode is within the FEC capability.
>> +	 * If not, the configured mode will not be supported.
>> +	 */
>> +	if (!(fec_mode_mask & (1U << (uint32_t)mode))) {
>> +		RTE_ETHDEV_LOG(ERR, "unsupported fec mode=%d\n", mode);
> 
> I'd use "FEC" (in capitals) in log message as well.
> Also I think it would be useful to log port_id.
I fixed it in V6,thanks.

> .
>> +		return -EINVAL;
>> +	}
>> +
>> +	dev = &rte_eth_devices[port_id];
>> +	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->fec_set, -ENOTSUP);
>> +	return eth_err(port_id, (*dev->dev_ops->fec_set)(dev, mode));
>> +}
>> +
>>   /*
>>    * Returns index into MAC address array of addr. Use 00:00:00:00:00:00 to find
>>    * an empty spot.
>> diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
>> index 70295d7..aa79326 100644
>> --- a/lib/librte_ethdev/rte_ethdev.h
>> +++ b/lib/librte_ethdev/rte_ethdev.h
>> @@ -1511,6 +1511,25 @@ struct rte_eth_dcb_info {
>>   	struct rte_eth_dcb_tc_queue_mapping tc_queue;
>>   };
>>   
>> +/**
>> + * This enum indicates the possible (forward error correction)FEC modes
>> + * of an ethdev port.
>> + */
>> +enum rte_fec_mode {
> 
> enum rte_eth_fec_mode
> to be consistent with other enums and to have library prefix.
> 
I fixed it in V6,thanks.
>> +	RTE_ETH_FEC_NOFEC = 0,      /**< FEC is off */
>> +	RTE_ETH_FEC_BASER,          /**< FEC using common algorithm */
>> +	RTE_ETH_FEC_RS,             /**< FEC using RS algorithm */
>> +	RTE_ETH_FEC_AUTO,           /**< FEC autonegotiation modes */
> 
> May I suggest to put AUTO just after NOFEC. It would look move
> logical in the future when more FEC modes are added. It would
> look strange with AUTO in the middle of the list.
> 
  hns3 PMD is the first to implement FEC function. The FEC mode order
  is in accordance with the bit definition in hardware FEC module.
  in other ways, AUTO is flexible mode, which should not be differently 
    treated,the location in last item of enum is ok.

>> +	RTE_ETH_FEC_NUM
> 
> I'm not about about current policy for such items. Is it really
> required? Addition of more FEC modes will be ABI breakage.

  it does not matter even though RTE_ETH_FEC_NUM value is changed when 
adding new element to that enum.
  RTE_ETH_FEC_NUM is used as the MAX vlaue of FEC modes, not one FEC 
mode itself.
  One of the application scenarios is as follows,set "testpmd" as an 
example:
show_fec_capability(uint32_t fec_cap)
{
     uint32_t i;

     if (fec_cap == 0) {
         printf("FEC is not supported\n");
         return;
     }

     printf("FEC capabilities: ");
     for (i = RTE_ETH_FEC_BASER; i < RTE_ETH_FEC_NUM; i++) {
         if (fec_cap & 1U << i)
             printf("%s ", fec_mode_name[i].name);
     }
     printf("\n");
}
>> +};
>> +
>> +/* This indicates FEC capabilities */
>> +#define RTE_ETH_FEC_CAPA_NOFEC  (1U << RTE_ETH_FEC_NOFEC)
>> +#define RTE_ETH_FEC_CAPA_BASER  (1U << RTE_ETH_FEC_BASER)
>> +#define RTE_ETH_FEC_CAPA_RS     (1U << RTE_ETH_FEC_RS)
>> +#define RTE_ETH_FEC_CAPA_AUTO   (1U << RTE_ETH_FEC_AUTO)
>> +
>> +
>>   #define RTE_ETH_ALL RTE_MAX_ETHPORTS
>>   
>>   /* Macros to check for valid port */
>> @@ -3328,6 +3347,70 @@ int  rte_eth_led_on(uint16_t port_id);
>>   int  rte_eth_led_off(uint16_t port_id);
>>   
>>   /**
>> + * @warning
>> + * @b EXPERIMENTAL: this API may change, or be removed, without prior notice
>> + *
>> + * Get Forward Error Correction(FEC) capability.
>> + *
>> + * @param port_id
>> + *   The port identifier of the Ethernet device.
>> + * @param fec_cap
>> + *   returns the FEC capability from the device, as follows:
>> + *   RTE_ETH_FEC_CAPA_NOFEC
>> + *   RTE_ETH_FEC_CAPA_BASER
>> + *   RTE_ETH_FEC_CAPA_RS
>> + *   RTE_ETH_FEC_CAPA_AUTO
> 
> I'd like to see thoughts about different FEC modes for
> different link speed. How to report it?
> (sorry if I missed it before)
the relation between FEC mode and link speed, we can refer to
hns3 PMD code, as follows:

	switch (mac->link_speed) {
	case ETH_SPEED_NUM_10G:
	case ETH_SPEED_NUM_40G:
		mode = RTE_ETH_FEC_CAPA_NOFEC | RTE_ETH_FEC_CAPA_BASER |
			RTE_ETH_FEC_CAPA_AUTO;
		break;
	case ETH_SPEED_NUM_25G:
	case ETH_SPEED_NUM_50G:
		mode = RTE_ETH_FEC_CAPA_NOFEC | RTE_ETH_FEC_CAPA_BASER |
			RTE_ETH_FEC_CAPA_RS | RTE_ETH_FEC_CAPA_AUTO;
		break;
	case ETH_SPEED_NUM_100G:
	case ETH_SPEED_NUM_200G:
		mode = RTE_ETH_FEC_CAPA_NOFEC | RTE_ETH_FEC_CAPA_RS |
			RTE_ETH_FEC_CAPA_AUTO;
		break;
	default:
		mode = 0;
		break;
	}

> 
>> + * @return
>> + *   - (0) if successful.
>> + *   - (-ENOTSUP) if underlying hardware OR driver doesn't support.
>> + *     that operation.
>> + *   - (-EIO) if device is removed.
>> + *   - (-ENODEV)  if *port_id* invalid.
>> + */
>> +__rte_experimental
>> +int rte_eth_fec_get_capability(uint16_t port_id, uint32_t *fec_cap);
> 
> [snip]
> .
> 

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [RFC PATCH 0/5] rework feature enabling macros for compatibility
  2020-09-18  8:41  0%   ` Bruce Richardson
@ 2020-09-18  8:59  0%     ` Andrew Rybchenko
  2020-09-18 12:19  0%       ` Ferruh Yigit
  0 siblings, 1 reply; 200+ results
From: Andrew Rybchenko @ 2020-09-18  8:59 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: david.marchand, dev

On 9/18/20 11:41 AM, Bruce Richardson wrote:
> On Thu, Sep 17, 2020 at 08:59:26PM +0300, Andrew Rybchenko wrote:
>> On 9/16/20 7:44 PM, Bruce Richardson wrote:
>>> As flagged previously on-list, there are a number of macros used to specify
>>> what libs and drivers are enabled in the build which differ from the
>>> equivalents used with make. This patchset is one possible approach to
>>> fixing these, but as part of the investigation some issues were hit where
>>> I'd like additional input to ensure we are ok with the approach taken in
>>> this set.
>>>
>>> First, a problem statement:
>>>
>>> * While the make build defines generally followed a pattern, there were
>>>    many instances where the defines were unique. These can be seen in the
>>>    values defined in patch 4.
>>>
>>> * The NIC PMDs had two separate standards for the defines - some (the
>>>    physical device drivers) tended to have the _PMD at the end of the
>>>    macros, while the virtual drivers had it in the middle. Since the
>>>    majority seemed to go with it at the end, meson chose this option.
>>>    However, as can be seen from patch 4, a number now need special handling
>>>    for compatibility
>>>
>>> * This "_PMD" at the end made its way into other device classes, such as
>>>    crypto and event, but it appears that the standard for these classes from
>>>    make is in fact the opposite. Therefore we have had for the last 2+ years
>>>    conflicting macros for crypto, compression and event classes.
>>>
>>> * There is also the question of how important compatibility for these
>>>    macros is, especially since we have had numerous incompatibilities
>>>    without it being reported before. There is also the issue of the
>>>    deprecation process for macros, since these are not part of any ABI.
>>>
>>> What's done in this set:
>>>
>>> * Firstly, and missing dependencies on apps or examples had to be fixed,
>>>    where a dependency was missed because it was never needed due to the code
>>>    being stripped out because of a missing macro.
>>>
>>> * Secondly, since it is likely that use of the defines from make is more
>>>    widespread than those from meson, the defines for the crypto, compression
>>>    and event classes are changed to align with the make values. Just in case
>>>    though, temporary code is added to drivers/meson.build to redefine the
>>>    old meson values too, and a deprecation notice is added for these. The
>>>    hope is that we can then remove this temporary code in the next release,
>>>    leaving us with just one macro style for each driver class.
>>>
>>> * Thirdly, we add an additional set of backward compatibility macros for
>>>    the ~30 special-cases, where the meson macro template does not match that
>>>    defined for make. Again, this is intended to be temporary and a
>>>    deprecation notice is given for the macros in that file.
>>>
>>> * Finally, we replace all instances of the old macros in the codebase with
>>>    the newer versions. While the work done in the first four patches (steps
>>>    1-3 above) should be ok to backport, this final patch is not suitable for
>>>    backporting. However, it is relatively simple to produce a new patch for
>>>    backporting which allow either old or new values to be used in macros.
>>>
>>>
>>> Open issues/considerations after this patch:
>>>
>>> * We still have inconsistencies in our driver macro and naming templates.
>>>    This is just a nice-to-have, but if people are ok with generally having a
>>>    breakage in our macro defines, we could clean this up a lot further.
>>>    Notice how 'net', 'regex' and 'vdpa' have '_PMD' at the end, while most
>>>    others have it before the name. Notice also that many device classes have
>>>    the class at the end of the template, while bbdev has it in the middle.
>>> 	$ git grep config_flag_fmt -- drivers/*/meson.build
>>> 	drivers/baseband/meson.build:config_flag_fmt = 'RTE_LIBRTE_PMD_BBDEV_@0@'
>>> 	drivers/bus/meson.build:config_flag_fmt = 'RTE_LIBRTE_@0@_BUS'
>>> 	drivers/common/meson.build:config_flag_fmt = 'RTE_LIBRTE_@0@_COMMON'
>>> 	drivers/compress/meson.build:config_flag_fmt = 'RTE_LIBRTE_PMD_@0@'
>>> 	drivers/crypto/meson.build:config_flag_fmt = 'RTE_LIBRTE_PMD_@0@'
>>> 	drivers/event/meson.build:config_flag_fmt = 'RTE_LIBRTE_PMD_@0@_EVENTDEV'
>>> 	drivers/mempool/meson.build:config_flag_fmt = 'RTE_LIBRTE_@0@_MEMPOOL'
>>> 	drivers/net/meson.build:config_flag_fmt = 'RTE_LIBRTE_@0@_PMD'
>>> 	drivers/raw/meson.build:config_flag_fmt = 'RTE_LIBRTE_PMD_@0@_RAWDEV'
>>> 	drivers/regex/meson.build:config_flag_fmt = 'RTE_LIBRTE_@0@_PMD'
>>> 	drivers/vdpa/meson.build:config_flag_fmt = 'RTE_LIBRTE_@0@_PMD'
>>
>> As a generic direction I would vote for standard names which are
>> based on directory structure:
>>  - RTE_LIBRTE_ETHDEV
>>  - RTE_DRIVER_NET_SFC
>>  - RTE_DRIVER_COMMON_MLX5
>>  - RTE_DRIVER_BUS_PCI
>>
> 
> Definite +1, and it would be good if we standardized the .so names like
> that too.
> 
> The open question is how much backward compatibility needs to be maintained
> for macros (and also too for .so names)? With this patchset, I've aimed
> very much to keep strict compatibility for now.

I think it is really good. Technically it does not look hard to
provide backward compatibility for macros, so I'd keep it up to
but not including 21.11 (next LTS?). Same for .so names, if it
is not a problem.

If we approve the decision on naming, all new entities must
follow it from the very beginning.

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [RFC PATCH 0/5] rework feature enabling macros for compatibility
  2020-09-17 17:59  0% ` Andrew Rybchenko
@ 2020-09-18  8:41  0%   ` Bruce Richardson
  2020-09-18  8:59  0%     ` Andrew Rybchenko
  0 siblings, 1 reply; 200+ results
From: Bruce Richardson @ 2020-09-18  8:41 UTC (permalink / raw)
  To: Andrew Rybchenko; +Cc: david.marchand, dev

On Thu, Sep 17, 2020 at 08:59:26PM +0300, Andrew Rybchenko wrote:
> On 9/16/20 7:44 PM, Bruce Richardson wrote:
> > As flagged previously on-list, there are a number of macros used to specify
> > what libs and drivers are enabled in the build which differ from the
> > equivalents used with make. This patchset is one possible approach to
> > fixing these, but as part of the investigation some issues were hit where
> > I'd like additional input to ensure we are ok with the approach taken in
> > this set.
> > 
> > First, a problem statement:
> > 
> > * While the make build defines generally followed a pattern, there were
> >    many instances where the defines were unique. These can be seen in the
> >    values defined in patch 4.
> > 
> > * The NIC PMDs had two separate standards for the defines - some (the
> >    physical device drivers) tended to have the _PMD at the end of the
> >    macros, while the virtual drivers had it in the middle. Since the
> >    majority seemed to go with it at the end, meson chose this option.
> >    However, as can be seen from patch 4, a number now need special handling
> >    for compatibility
> > 
> > * This "_PMD" at the end made its way into other device classes, such as
> >    crypto and event, but it appears that the standard for these classes from
> >    make is in fact the opposite. Therefore we have had for the last 2+ years
> >    conflicting macros for crypto, compression and event classes.
> > 
> > * There is also the question of how important compatibility for these
> >    macros is, especially since we have had numerous incompatibilities
> >    without it being reported before. There is also the issue of the
> >    deprecation process for macros, since these are not part of any ABI.
> > 
> > What's done in this set:
> > 
> > * Firstly, and missing dependencies on apps or examples had to be fixed,
> >    where a dependency was missed because it was never needed due to the code
> >    being stripped out because of a missing macro.
> > 
> > * Secondly, since it is likely that use of the defines from make is more
> >    widespread than those from meson, the defines for the crypto, compression
> >    and event classes are changed to align with the make values. Just in case
> >    though, temporary code is added to drivers/meson.build to redefine the
> >    old meson values too, and a deprecation notice is added for these. The
> >    hope is that we can then remove this temporary code in the next release,
> >    leaving us with just one macro style for each driver class.
> > 
> > * Thirdly, we add an additional set of backward compatibility macros for
> >    the ~30 special-cases, where the meson macro template does not match that
> >    defined for make. Again, this is intended to be temporary and a
> >    deprecation notice is given for the macros in that file.
> > 
> > * Finally, we replace all instances of the old macros in the codebase with
> >    the newer versions. While the work done in the first four patches (steps
> >    1-3 above) should be ok to backport, this final patch is not suitable for
> >    backporting. However, it is relatively simple to produce a new patch for
> >    backporting which allow either old or new values to be used in macros.
> > 
> > 
> > Open issues/considerations after this patch:
> > 
> > * We still have inconsistencies in our driver macro and naming templates.
> >    This is just a nice-to-have, but if people are ok with generally having a
> >    breakage in our macro defines, we could clean this up a lot further.
> >    Notice how 'net', 'regex' and 'vdpa' have '_PMD' at the end, while most
> >    others have it before the name. Notice also that many device classes have
> >    the class at the end of the template, while bbdev has it in the middle.
> > 	$ git grep config_flag_fmt -- drivers/*/meson.build
> > 	drivers/baseband/meson.build:config_flag_fmt = 'RTE_LIBRTE_PMD_BBDEV_@0@'
> > 	drivers/bus/meson.build:config_flag_fmt = 'RTE_LIBRTE_@0@_BUS'
> > 	drivers/common/meson.build:config_flag_fmt = 'RTE_LIBRTE_@0@_COMMON'
> > 	drivers/compress/meson.build:config_flag_fmt = 'RTE_LIBRTE_PMD_@0@'
> > 	drivers/crypto/meson.build:config_flag_fmt = 'RTE_LIBRTE_PMD_@0@'
> > 	drivers/event/meson.build:config_flag_fmt = 'RTE_LIBRTE_PMD_@0@_EVENTDEV'
> > 	drivers/mempool/meson.build:config_flag_fmt = 'RTE_LIBRTE_@0@_MEMPOOL'
> > 	drivers/net/meson.build:config_flag_fmt = 'RTE_LIBRTE_@0@_PMD'
> > 	drivers/raw/meson.build:config_flag_fmt = 'RTE_LIBRTE_PMD_@0@_RAWDEV'
> > 	drivers/regex/meson.build:config_flag_fmt = 'RTE_LIBRTE_@0@_PMD'
> > 	drivers/vdpa/meson.build:config_flag_fmt = 'RTE_LIBRTE_@0@_PMD'
> 
> As a generic direction I would vote for standard names which are
> based on directory structure:
>  - RTE_LIBRTE_ETHDEV
>  - RTE_DRIVER_NET_SFC
>  - RTE_DRIVER_COMMON_MLX5
>  - RTE_DRIVER_BUS_PCI
> 

Definite +1, and it would be good if we standardized the .so names like
that too.

The open question is how much backward compatibility needs to be maintained
for macros (and also too for .so names)? With this patchset, I've aimed
very much to keep strict compatibility for now.

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH v2 1/7] cmdline: make implementation opaque
  2020-09-17 17:05  4%       ` Stephen Hemminger
@ 2020-09-18  8:33  3%         ` Bruce Richardson
  2020-09-18 12:13  0%           ` Ferruh Yigit
  2020-09-18 13:23  3%         ` Kinsella, Ray
  1 sibling, 1 reply; 200+ results
From: Bruce Richardson @ 2020-09-18  8:33 UTC (permalink / raw)
  To: Stephen Hemminger
  Cc: Olivier Matz, Dmitry Kozlyuk, dev, Dmitry Malloy,
	Narcisa Ana Maria Vasile, Fady Bader, Tal Shnaiderman, Kadam,
	Pallavi, Ray Kinsella, Neil Horman

On Thu, Sep 17, 2020 at 10:05:48AM -0700, Stephen Hemminger wrote:
> On Thu, 17 Sep 2020 15:34:43 +0200
> Olivier Matz <olivier.matz@6wind.com> wrote:
> 
> > Hi Dmitry,
> > 
> > On Fri, Jul 31, 2020 at 12:06:45AM +0300, Dmitry Kozlyuk wrote:
> > > struct cmdline exposes platform-specific members it contains, most
> > > notably struct termios that is only available on Unix. Make the
> > > structure opaque.
> > > 
> > > Remove tests checking struct cmdline content as meaningless.
> > > 
> > > Add cmdline_get_rdline() to access history buffer.
> > > The new function is currently used only in tests.
> > > 
> > > Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>  
> > 
> > First, please forgive me for the very late feedback. It is all the more
> > problematic because I think this patch introduces an ABI breakage, that
> > should have been announced.
> 
> Since 20.11 is a API/ABI breaking release, I think breaking ABI
> is okay without announcement. What matters more is if that API would
> need to be impacted. API changes need some announcement.

This is something that we need to get a clear decision from technical board
on, I think, since there are some other proposed ABI changes in patches
that were not pre-announced, e.g. changing the lpm structure.

^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] [V5 1/3] ethdev: introduce FEC API
  2020-09-17 12:49  3%     ` Ananyev, Konstantin
@ 2020-09-18  1:57  0%       ` humin (Connor)
  2020-09-18 10:46  3%         ` Ananyev, Konstantin
  0 siblings, 1 reply; 200+ results
From: humin (Connor) @ 2020-09-18  1:57 UTC (permalink / raw)
  To: Ananyev, Konstantin, dev; +Cc: thomas, arybchenko, Yigit, Ferruh, linuxarm



在 2020/9/17 20:49, Ananyev, Konstantin 写道:
> 
>>
>> This patch adds Forward error correction(FEC) support for ethdev.
>> Introduce APIs which support query and config FEC information in
>> hardware.
>>
>> Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
>> Reviewed-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
>> Reviewed-by: Chengwen Feng <fengchengwen@huawei.com>
>> Reviewed-by: Chengchang Tang <tangchengchang@huawei.com>
>> ---
>> v4->v5:
>> Modifies FEC capa definitions using macros.
>> Add RTE_ prefix for public FEC mode enum.
>> add release notes about FEC for dpdk20_11.
>>
>> ---
>> v2->v3:
>> add function return value "-ENOTSUP" for API
>>
>> ---
>>   doc/guides/rel_notes/release_20_11.rst   | 13 +++++
>>   lib/librte_ethdev/rte_ethdev.c           | 50 +++++++++++++++++++
>>   lib/librte_ethdev/rte_ethdev.h           | 83 ++++++++++++++++++++++++++++++++
>>   lib/librte_ethdev/rte_ethdev_core.h      | 77 +++++++++++++++++++++++++++++
>>   lib/librte_ethdev/rte_ethdev_version.map |  5 ++
>>   5 files changed, 228 insertions(+)
>>
>> diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
>> index cc72609..e4f0587 100644
>> --- a/doc/guides/rel_notes/release_20_11.rst
>> +++ b/doc/guides/rel_notes/release_20_11.rst
>> @@ -55,6 +55,19 @@ New Features
>>        Also, make sure to start the actual text at the margin.
>>        =======================================================
>>
>> +* **Added the FEC Library, a generic FEC query and config library.**
>> +
>> +  Added the FEC library which provides an API for query FEC capabilities and
>> +  FEC mode from device. Also, API for configuring FEC mode is also provided.
>> +
>> +  Added hns3 FEC PMD, for supporting query and config FEC mode.
>> +
>> +* **Updated testpmd with a command for FEC.**
>> +
>> +  Added a FEC command to testpmd app,
>> +  ``show port <port_id> fec capabilities`` which queries FEC capabilities device supports.
>> +  ``show port <port_id> fec_mode`` which queries FEC mode from device.
>> +  ``set port <port_id> fec_mode <auto|off|rs|baser>`` which configures FEC mode to device.
>>
>>   Removed Items
>>   -------------
>> diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c
>> index 7858ad5..fde77c1 100644
>> --- a/lib/librte_ethdev/rte_ethdev.c
>> +++ b/lib/librte_ethdev/rte_ethdev.c
>> @@ -3642,6 +3642,56 @@ rte_eth_led_off(uint16_t port_id)
>>   	return eth_err(port_id, (*dev->dev_ops->dev_led_off)(dev));
>>   }
>>
>> +int
>> +rte_eth_fec_get_capability(uint16_t port_id, uint32_t *fec_cap)
>> +{
>> +	struct rte_eth_dev *dev;
>> +
>> +	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>> +	dev = &rte_eth_devices[port_id];
>> +	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->fec_get_capability, -ENOTSUP);
>> +	return eth_err(port_id, (*dev->dev_ops->fec_get_capability)(dev,
>> +								fec_cap));
>> +}
>> +
>> +int
>> +rte_eth_fec_get(uint16_t port_id, enum rte_fec_mode *mode)
>> +{
>> +	struct rte_eth_dev *dev;
>> +
>> +	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>> +	dev = &rte_eth_devices[port_id];
>> +	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->fec_get, -ENOTSUP);
>> +	return eth_err(port_id, (*dev->dev_ops->fec_get)(dev, mode));
>> +}
>> +
>> +int
>> +rte_eth_fec_set(uint16_t port_id, enum rte_fec_mode mode)
>> +{
>> +	struct rte_eth_dev *dev;
>> +	uint32_t fec_mode_mask;
>> +	int ret;
>> +
>> +	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>> +
>> +	ret = rte_eth_fec_get_capability(port_id, &fec_mode_mask);
>> +	if (ret)
>> +		return ret;
>> +
>> +	/*
>> +	 * Check whether the configured mode is within the FEC capability.
>> +	 * If not, the configured mode will not be supported.
>> +	 */
>> +	if (!(fec_mode_mask & (1U << (uint32_t)mode))) {
>> +		RTE_ETHDEV_LOG(ERR, "unsupported fec mode=%d\n", mode);
>> +		return -EINVAL;
>> +	}
>> +
>> +	dev = &rte_eth_devices[port_id];
>> +	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->fec_set, -ENOTSUP);
>> +	return eth_err(port_id, (*dev->dev_ops->fec_set)(dev, mode));
>> +}
>> +
>>   /*
>>    * Returns index into MAC address array of addr. Use 00:00:00:00:00:00 to find
>>    * an empty spot.
>> diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
>> index 70295d7..aa79326 100644
>> --- a/lib/librte_ethdev/rte_ethdev.h
>> +++ b/lib/librte_ethdev/rte_ethdev.h
>> @@ -1511,6 +1511,25 @@ struct rte_eth_dcb_info {
>>   	struct rte_eth_dcb_tc_queue_mapping tc_queue;
>>   };
>>
>> +/**
>> + * This enum indicates the possible (forward error correction)FEC modes
>> + * of an ethdev port.
>> + */
>> +enum rte_fec_mode {
>> +	RTE_ETH_FEC_NOFEC = 0,      /**< FEC is off */
>> +	RTE_ETH_FEC_BASER,          /**< FEC using common algorithm */
>> +	RTE_ETH_FEC_RS,             /**< FEC using RS algorithm */
>> +	RTE_ETH_FEC_AUTO,           /**< FEC autonegotiation modes */
>> +	RTE_ETH_FEC_NUM
> 
> It is better not to have RTE_ETH_FEC_NUM here:
> Any future additions to that enum would overwrite _NUM values and would
> considered as ABI breakage.
> Aprart from that:
> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
> 
HI,
       it does not matter even though RTE_ETH_FEC_NUM value is changed 
when adding new element to that enum. RTE_ETH_FEC_NUM is used as the MAX 
vlaue of FEC modes, not one FEC mode itself.
       One of the application scenarios is as follows,set "testpmd" as 
an example:
show_fec_capability(uint32_t fec_cap)
{
	uint32_t i;

	if (fec_cap == 0) {
		printf("FEC is not supported\n");
		return;
	}

	printf("FEC capabilities: ");
	for (i = RTE_ETH_FEC_BASER; i < RTE_ETH_FEC_NUM; i++) {
		if (fec_cap & 1U << i)
			printf("%s ", fec_mode_name[i].name);
	}
	printf("\n");
}

Hope for your reply.

>> +};
>> +
>> +/* This indicates FEC capabilities */
>> +#define RTE_ETH_FEC_CAPA_NOFEC  (1U << RTE_ETH_FEC_NOFEC)
>> +#define RTE_ETH_FEC_CAPA_BASER  (1U << RTE_ETH_FEC_BASER)
>> +#define RTE_ETH_FEC_CAPA_RS     (1U << RTE_ETH_FEC_RS)
>> +#define RTE_ETH_FEC_CAPA_AUTO   (1U << RTE_ETH_FEC_AUTO)
>> +
>> +
>>   #define RTE_ETH_ALL RTE_MAX_ETHPORTS
>>
>>   /* Macros to check for valid port */
>> @@ -3328,6 +3347,70 @@ int  rte_eth_led_on(uint16_t port_id);
>>   int  rte_eth_led_off(uint16_t port_id);
>>
>>   /**
>> + * @warning
>> + * @b EXPERIMENTAL: this API may change, or be removed, without prior notice
>> + *
>> + * Get Forward Error Correction(FEC) capability.
>> + *
>> + * @param port_id
>> + *   The port identifier of the Ethernet device.
>> + * @param fec_cap
>> + *   returns the FEC capability from the device, as follows:
>> + *   RTE_ETH_FEC_CAPA_NOFEC
>> + *   RTE_ETH_FEC_CAPA_BASER
>> + *   RTE_ETH_FEC_CAPA_RS
>> + *   RTE_ETH_FEC_CAPA_AUTO
>> + * @return
>> + *   - (0) if successful.
>> + *   - (-ENOTSUP) if underlying hardware OR driver doesn't support.
>> + *     that operation.
>> + *   - (-EIO) if device is removed.
>> + *   - (-ENODEV)  if *port_id* invalid.
>> + */
>> +__rte_experimental
>> +int rte_eth_fec_get_capability(uint16_t port_id, uint32_t *fec_cap);
>> +
>> +/**
>> + * @warning
>> + * @b EXPERIMENTAL: this API may change, or be removed, without prior notice
>> + *
>> + * Get current Forward Error Correction(FEC) mode.
>> + *
>> + * @param port_id
>> + *   The port identifier of the Ethernet device.
>> + * @param mode
>> + *   returns the FEC mode from the device.
>> + * @return
>> + *   - (0) if successful.
>> + *   - (-ENOTSUP) if underlying hardware OR driver doesn't support.
>> + *     that operation.
>> + *   - (-EIO) if device is removed.
>> + *   - (-ENODEV)  if *port_id* invalid.
>> + */
>> +__rte_experimental
>> +int rte_eth_fec_get(uint16_t port_id, enum rte_fec_mode *mode);
>> +
>> +/**
>> + * @warning
>> + * @b EXPERIMENTAL: this API may change, or be removed, without prior notice
>> + *
>> + * Set Forward Error Correction(FEC) mode.
>> + *
>> + * @param port_id
>> + *   The port identifier of the Ethernet device.
>> + * @param mode
>> + *   the FEC mode.
>> + * @return
>> + *   - (0) if successful.
>> + *   - (-EINVAL) if the FEC mode is not valid.
>> + *   - (-ENOTSUP) if underlying hardware OR driver doesn't support.
>> + *   - (-EIO) if device is removed.
>> + *   - (-ENODEV)  if *port_id* invalid.
>> + */
>> +__rte_experimental
>> +int rte_eth_fec_set(uint16_t port_id, enum rte_fec_mode mode);
>> +
>> +/**
>>    * Get current status of the Ethernet link flow control for Ethernet device
>>    *
>>    * @param port_id
>> diff --git a/lib/librte_ethdev/rte_ethdev_core.h b/lib/librte_ethdev/rte_ethdev_core.h
>> index 32407dd..cd1acf1 100644
>> --- a/lib/librte_ethdev/rte_ethdev_core.h
>> +++ b/lib/librte_ethdev/rte_ethdev_core.h
>> @@ -604,6 +604,76 @@ typedef int (*eth_tx_hairpin_queue_setup_t)
>>   	 const struct rte_eth_hairpin_conf *hairpin_conf);
>>
>>   /**
>> + * @internal
>> + * Get Forward Error Correction(FEC) capability.
>> + *
>> + * @param dev
>> + *   ethdev handle of port.
>> + * @param fec_cap
>> + *   returns the FEC capability from the device.
>> + *
>> + * @return
>> + *   Negative errno value on error, 0 on success.
>> + *
>> + * @retval 0
>> + *   Success, get FEC success.
>> + * @retval -ENOTSUP
>> + *   operation is not supported.
>> + * @retval -EIO
>> + *   device is removed.
>> + * @retval -ENODEV
>> + *   Device is gone.
>> + */
>> +typedef int (*eth_fec_get_capability_t)(struct rte_eth_dev *dev,
>> +					uint32_t *fec_cap);
>> +
>> +/**
>> + * @internal
>> + * Get Forward Error Correction(FEC) mode.
>> + *
>> + * @param dev
>> + *   ethdev handle of port.
>> + * @param mode
>> + *   returns the FEC mode from the device.
>> + *
>> + * @return
>> + *   Negative errno value on error, 0 on success.
>> + *
>> + * @retval 0
>> + *   Success, get FEC success.
>> + * @retval -ENOTSUP
>> + *   operation is not supported.
>> + * @retval -EIO
>> + *   device is removed.
>> + * @retval -ENODEV
>> + *   Device is gone.
>> + */
>> +typedef int (*eth_fec_get_t)(struct rte_eth_dev *dev, enum rte_fec_mode *mode);
>> +
>> +/**
>> + * @internal
>> + *   Set Forward Error Correction(FEC) mode.
>> + *
>> + * @param dev
>> + *   ethdev handle of port.
>> + * @param mode
>> + *   the FEC mode.
>> + *
>> + * @return
>> + *   Negative errno value on error, 0 on success.
>> + *
>> + * @retval 0
>> + *   Success, set FEC success.
>> + * @retval -ENOTSUP
>> + *   operation is not supported.
>> + * @retval -EIO
>> + *   device is removed.
>> + * @retval -ENODEV
>> + *   Device is gone.
>> + */
>> +typedef int (*eth_fec_set_t)(struct rte_eth_dev *dev, enum rte_fec_mode mode);
>> +
>> +/**
>>    * @internal A structure containing the functions exported by an Ethernet driver.
>>    */
>>   struct eth_dev_ops {
>> @@ -752,6 +822,13 @@ struct eth_dev_ops {
>>   	/**< Set up device RX hairpin queue. */
>>   	eth_tx_hairpin_queue_setup_t tx_hairpin_queue_setup;
>>   	/**< Set up device TX hairpin queue. */
>> +
>> +	eth_fec_get_capability_t fec_get_capability;
>> +	/**< Get Forward Error Correction(FEC) capability; */
>> +	eth_fec_get_t fec_get;
>> +	/**< Get Forward Error Correction(FEC) mode; */
>> +	eth_fec_set_t fec_set;
>> +	/**< Set Forward Error Correction(FEC) mode; */
>>   };
>>
>>   /**
>> diff --git a/lib/librte_ethdev/rte_ethdev_version.map b/lib/librte_ethdev/rte_ethdev_version.map
>> index 02081d9..9f3fb8f 100644
>> --- a/lib/librte_ethdev/rte_ethdev_version.map
>> +++ b/lib/librte_ethdev/rte_ethdev_version.map
>> @@ -239,6 +239,11 @@ EXPERIMENTAL {
>>   	__rte_ethdev_trace_rx_burst;
>>   	__rte_ethdev_trace_tx_burst;
>>   	rte_flow_get_aged_flows;
>> +
>> +	# added in 20.11
>> +	rte_eth_fec_get_capability;
>> +	rte_eth_fec_get;
>> +	rte_eth_fec_set;
>>   };
>>
>>   INTERNAL {
>> --
>> 2.7.4
> 
> .
> 

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH v2 1/7] cmdline: make implementation opaque
  2020-09-17 13:34  5%     ` Olivier Matz
  2020-09-17 17:05  4%       ` Stephen Hemminger
@ 2020-09-17 23:13  3%       ` Dmitry Kozlyuk
  2020-09-18 13:31  4%       ` Kinsella, Ray
  2 siblings, 0 replies; 200+ results
From: Dmitry Kozlyuk @ 2020-09-17 23:13 UTC (permalink / raw)
  To: Olivier Matz
  Cc: dev, Dmitry Malloy, Narcisa Ana Maria Vasile, Fady Bader,
	Tal Shnaiderman, Kadam, Pallavi, Ray Kinsella, Neil Horman

Hi Olivier, thanks for the review.

> In my opinion, we could accept the patch for 20.11, knowing it reduce
> the risk of future ABI breakage, and that cmdline is not a core
> component of DPDK. However it has to be discussed and accepted by other
> people.
> 
> Else, the patch would be delayed for 21.11. From what I see from the
> other patches, it looks possible to keep cmdline struct public without
> breaking the existing ABI by adding #ifdef CONFIG_RTE_EXEC_ENV_WINDOWS,
> is it correct?

Windows team is now working on getting testpmd, tests, and examples
functional. librte_cmdline is essential for that, so delaying to 21.11 is the
worst option. If unannounced ABI breakage is deemed intolerable, I'd certainly
go with #ifdef.

^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] [RFC PATCH 0/5] rework feature enabling macros for compatibility
  2020-09-16 16:44  2% [dpdk-dev] [RFC PATCH 0/5] rework feature enabling macros for compatibility Bruce Richardson
@ 2020-09-17 17:59  0% ` Andrew Rybchenko
  2020-09-18  8:41  0%   ` Bruce Richardson
  2020-09-18 15:12  0% ` David Marchand
  1 sibling, 1 reply; 200+ results
From: Andrew Rybchenko @ 2020-09-17 17:59 UTC (permalink / raw)
  To: Bruce Richardson, david.marchand; +Cc: dev

On 9/16/20 7:44 PM, Bruce Richardson wrote:
> As flagged previously on-list, there are a number of macros used to specify
> what libs and drivers are enabled in the build which differ from the
> equivalents used with make. This patchset is one possible approach to
> fixing these, but as part of the investigation some issues were hit where
> I'd like additional input to ensure we are ok with the approach taken in
> this set.
> 
> First, a problem statement:
> 
> * While the make build defines generally followed a pattern, there were
>    many instances where the defines were unique. These can be seen in the
>    values defined in patch 4.
> 
> * The NIC PMDs had two separate standards for the defines - some (the
>    physical device drivers) tended to have the _PMD at the end of the
>    macros, while the virtual drivers had it in the middle. Since the
>    majority seemed to go with it at the end, meson chose this option.
>    However, as can be seen from patch 4, a number now need special handling
>    for compatibility
> 
> * This "_PMD" at the end made its way into other device classes, such as
>    crypto and event, but it appears that the standard for these classes from
>    make is in fact the opposite. Therefore we have had for the last 2+ years
>    conflicting macros for crypto, compression and event classes.
> 
> * There is also the question of how important compatibility for these
>    macros is, especially since we have had numerous incompatibilities
>    without it being reported before. There is also the issue of the
>    deprecation process for macros, since these are not part of any ABI.
> 
> What's done in this set:
> 
> * Firstly, and missing dependencies on apps or examples had to be fixed,
>    where a dependency was missed because it was never needed due to the code
>    being stripped out because of a missing macro.
> 
> * Secondly, since it is likely that use of the defines from make is more
>    widespread than those from meson, the defines for the crypto, compression
>    and event classes are changed to align with the make values. Just in case
>    though, temporary code is added to drivers/meson.build to redefine the
>    old meson values too, and a deprecation notice is added for these. The
>    hope is that we can then remove this temporary code in the next release,
>    leaving us with just one macro style for each driver class.
> 
> * Thirdly, we add an additional set of backward compatibility macros for
>    the ~30 special-cases, where the meson macro template does not match that
>    defined for make. Again, this is intended to be temporary and a
>    deprecation notice is given for the macros in that file.
> 
> * Finally, we replace all instances of the old macros in the codebase with
>    the newer versions. While the work done in the first four patches (steps
>    1-3 above) should be ok to backport, this final patch is not suitable for
>    backporting. However, it is relatively simple to produce a new patch for
>    backporting which allow either old or new values to be used in macros.
> 
> 
> Open issues/considerations after this patch:
> 
> * We still have inconsistencies in our driver macro and naming templates.
>    This is just a nice-to-have, but if people are ok with generally having a
>    breakage in our macro defines, we could clean this up a lot further.
>    Notice how 'net', 'regex' and 'vdpa' have '_PMD' at the end, while most
>    others have it before the name. Notice also that many device classes have
>    the class at the end of the template, while bbdev has it in the middle.
> 	$ git grep config_flag_fmt -- drivers/*/meson.build
> 	drivers/baseband/meson.build:config_flag_fmt = 'RTE_LIBRTE_PMD_BBDEV_@0@'
> 	drivers/bus/meson.build:config_flag_fmt = 'RTE_LIBRTE_@0@_BUS'
> 	drivers/common/meson.build:config_flag_fmt = 'RTE_LIBRTE_@0@_COMMON'
> 	drivers/compress/meson.build:config_flag_fmt = 'RTE_LIBRTE_PMD_@0@'
> 	drivers/crypto/meson.build:config_flag_fmt = 'RTE_LIBRTE_PMD_@0@'
> 	drivers/event/meson.build:config_flag_fmt = 'RTE_LIBRTE_PMD_@0@_EVENTDEV'
> 	drivers/mempool/meson.build:config_flag_fmt = 'RTE_LIBRTE_@0@_MEMPOOL'
> 	drivers/net/meson.build:config_flag_fmt = 'RTE_LIBRTE_@0@_PMD'
> 	drivers/raw/meson.build:config_flag_fmt = 'RTE_LIBRTE_PMD_@0@_RAWDEV'
> 	drivers/regex/meson.build:config_flag_fmt = 'RTE_LIBRTE_@0@_PMD'
> 	drivers/vdpa/meson.build:config_flag_fmt = 'RTE_LIBRTE_@0@_PMD'

As a generic direction I would vote for standard names which are
based on directory structure:
  - RTE_LIBRTE_ETHDEV
  - RTE_DRIVER_NET_SFC
  - RTE_DRIVER_COMMON_MLX5
  - RTE_DRIVER_BUS_PCI

> * Are we ok to remove the older macros after one release of deprecation, or
>    do we need to wait to next API window.
> 
> * I have not made any changes to the docs for this, since I expect that
>    these macros are already covered by the doc changes in the make removal
>    set.
> 
> Reviews and comments welcome.
> 
> Bruce Richardson (5):
>    app: fix missing dependencies
>    examples/l2fwd-crypto: fix missing dependency
>    meson: fix compatibility with make build defines
>    build: add defines for compatibility with make build
>    build: replace use of old build macros
> 
>   app/test-crypto-perf/meson.build     |   3 +
>   app/test-pmd/cmdline.c               |   8 +-
>   app/test-pmd/meson.build             |  12 +++
>   app/test-pmd/parameters.c            |  12 +--
>   app/test-pmd/testpmd.c               |  24 ++---
>   app/test-pmd/testpmd.h               |   4 +-
>   app/test/meson.build                 |   3 +
>   app/test/test_eal_flags.c            |   4 +-
>   config/meson.build                   |   3 +-
>   config/rte_compatibility_defines.h   | 129 +++++++++++++++++++++++++++
>   config/rte_config.h                  |   1 +
>   doc/guides/rel_notes/deprecation.rst |  17 ++++
>   drivers/compress/meson.build         |   2 +-
>   drivers/crypto/meson.build           |   2 +-
>   drivers/event/meson.build            |   2 +-
>   drivers/meson.build                  |  15 ++++
>   examples/l2fwd-crypto/meson.build    |   3 +
>   17 files changed, 214 insertions(+), 30 deletions(-)
>   create mode 100644 config/rte_compatibility_defines.h
> 


^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH v2 1/7] cmdline: make implementation opaque
  2020-09-17 13:34  5%     ` Olivier Matz
@ 2020-09-17 17:05  4%       ` Stephen Hemminger
  2020-09-18  8:33  3%         ` Bruce Richardson
  2020-09-18 13:23  3%         ` Kinsella, Ray
  2020-09-17 23:13  3%       ` Dmitry Kozlyuk
  2020-09-18 13:31  4%       ` Kinsella, Ray
  2 siblings, 2 replies; 200+ results
From: Stephen Hemminger @ 2020-09-17 17:05 UTC (permalink / raw)
  To: Olivier Matz
  Cc: Dmitry Kozlyuk, dev, Dmitry Malloy, Narcisa Ana Maria Vasile,
	Fady Bader, Tal Shnaiderman, Kadam, Pallavi, Ray Kinsella,
	Neil Horman

On Thu, 17 Sep 2020 15:34:43 +0200
Olivier Matz <olivier.matz@6wind.com> wrote:

> Hi Dmitry,
> 
> On Fri, Jul 31, 2020 at 12:06:45AM +0300, Dmitry Kozlyuk wrote:
> > struct cmdline exposes platform-specific members it contains, most
> > notably struct termios that is only available on Unix. Make the
> > structure opaque.
> > 
> > Remove tests checking struct cmdline content as meaningless.
> > 
> > Add cmdline_get_rdline() to access history buffer.
> > The new function is currently used only in tests.
> > 
> > Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>  
> 
> First, please forgive me for the very late feedback. It is all the more
> problematic because I think this patch introduces an ABI breakage, that
> should have been announced.

Since 20.11 is a API/ABI breaking release, I think breaking ABI
is okay without announcement. What matters more is if that API would
need to be impacted. API changes need some announcement.

^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] [PATCH v3 22/37] doc: remove references to make in contributing guides
  2020-09-07 10:20  3%     ` Thomas Monjalon
@ 2020-09-17 13:44  3%       ` Power, Ciara
  0 siblings, 0 replies; 200+ results
From: Power, Ciara @ 2020-09-17 13:44 UTC (permalink / raw)
  To: Thomas Monjalon, dev; +Cc: Mcnamara, John, Kovacevic, Marko, Richardson, Bruce

Hi Thomas,

One comment inline.

Thanks,
Ciara


>-----Original Message-----
>From: Thomas Monjalon <thomas@monjalon.net>
>Sent: Monday 7 September 2020 11:21
>To: Power, Ciara <ciara.power@intel.com>; dev@dpdk.org
>Cc: Kilheeney, Louise <louise.kilheeney@intel.com>; Mcnamara, John
><john.mcnamara@intel.com>; Kovacevic, Marko
><marko.kovacevic@intel.com>
>Subject: Re: [dpdk-dev] [PATCH v3 22/37] doc: remove references to make in
>contributing guides
>

<snip>

>[...]
>> -Library Statistics
>> -------------------
>> -
>> -Description
>> -~~~~~~~~~~~
>> -
>> -This document describes the guidelines for DPDK library-level
>> statistics counter -support. This includes guidelines for turning
>> library statistics on and off and -requirements for preventing ABI
>> changes when implementing statistics.
>
>I think the ABI part is still relevant.

Looking for some clarification on this. Which parts (if any) of the library statistics section should be
added back in for the ABI section below to make sense being included? Or what do you suggest doing here?

>[...]
>> -Prevention of ABI changes due to library statistics support
>> -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> -
>> -The layout of data structures and prototype of functions that are
>> part of the -library API should not be affected by whether the
>> collection of statistics -counters is turned on or off for the current
>> library. In practical terms, this -means that space should always be
>> allocated in the API data structures for -statistics counters and the
>> statistics related API functions are always built -into the code,
>> regardless of whether the statistics counter collection is turned -on
>> or off for the current library.
>> -
>> -When the collection of statistics counters for the current library is
>> turned -off, the counters retrieved through the statistics related API
>> functions should -have a default value of zero.



^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] [PATCH v2 1/7] cmdline: make implementation opaque
  @ 2020-09-17 13:34  5%     ` Olivier Matz
  2020-09-17 17:05  4%       ` Stephen Hemminger
                         ` (2 more replies)
  0 siblings, 3 replies; 200+ results
From: Olivier Matz @ 2020-09-17 13:34 UTC (permalink / raw)
  To: Dmitry Kozlyuk
  Cc: dev, Dmitry Malloy, Narcisa Ana Maria Vasile, Fady Bader,
	Tal Shnaiderman, Kadam, Pallavi, Ray Kinsella, Neil Horman

Hi Dmitry,

On Fri, Jul 31, 2020 at 12:06:45AM +0300, Dmitry Kozlyuk wrote:
> struct cmdline exposes platform-specific members it contains, most
> notably struct termios that is only available on Unix. Make the
> structure opaque.
> 
> Remove tests checking struct cmdline content as meaningless.
> 
> Add cmdline_get_rdline() to access history buffer.
> The new function is currently used only in tests.
> 
> Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>

First, please forgive me for the very late feedback. It is all the more
problematic because I think this patch introduces an ABI breakage, that
should have been announced.

Making cmdline struct opaque clearly goes in the right direction, as
it will prevent future ABI breakage.

In my opinion, we could accept the patch for 20.11, knowing it reduce
the risk of future ABI breakage, and that cmdline is not a core
component of DPDK. However it has to be discussed and accepted by other
people.

Else, the patch would be delayed for 21.11. From what I see from the
other patches, it looks possible to keep cmdline struct public without
breaking the existing ABI by adding #ifdef CONFIG_RTE_EXEC_ENV_WINDOWS,
is it correct?

One minor comment below:

> --- a/app/test/test_cmdline_lib.c
> +++ b/app/test/test_cmdline_lib.c
> @@ -46,22 +46,29 @@ complete_buffer(__rte_unused struct rdline *rdl,
>  static int
>  test_cmdline_parse_fns(void)
>  {
> -	struct cmdline cl;
> +	struct cmdline *cl;
> +	cmdline_parse_ctx_t ctx;
>  	int i = 0;
>  	char dst[CMDLINE_TEST_BUFSIZE];
>  
> +	cl = cmdline_new(&ctx, "prompt", -1, -1);
> +	if (cl == NULL) {
> +		printf("Error: cannot create cmdline to test parse fns!\n");
> +		return -1;
> +	}
> +
>  	if (cmdline_parse(NULL, "buffer") >= 0)
>  		goto error;
> -	if (cmdline_parse(&cl, NULL) >= 0)
> +	if (cmdline_parse(cl, NULL) >= 0)
>  		goto error;
>  
>  	if (cmdline_complete(NULL, "buffer", &i, dst, sizeof(dst)) >= 0)
>  		goto error;
> -	if (cmdline_complete(&cl, NULL, &i, dst, sizeof(dst)) >= 0)
> +	if (cmdline_complete(cl, NULL, &i, dst, sizeof(dst)) >= 0)
>  		goto error;
> -	if (cmdline_complete(&cl, "buffer", NULL, dst, sizeof(dst)) >= 0)
> +	if (cmdline_complete(cl, "buffer", NULL, dst, sizeof(dst)) >= 0)
>  		goto error;
> -	if (cmdline_complete(&cl, "buffer", &i, NULL, sizeof(dst)) >= 0)
> +	if (cmdline_complete(cl, "buffer", &i, NULL, sizeof(dst)) >= 0)
>  		goto error;
>  
>  	return 0;
> @@ -166,11 +173,11 @@ static int
>  test_cmdline_fns(void)
>  {
>  	cmdline_parse_ctx_t ctx;
> -	struct cmdline cl, *tmp;
> +	struct cmdline *cl;
>  
>  	memset(&ctx, 0, sizeof(ctx));
> -	tmp = cmdline_new(&ctx, "test", -1, -1);
> -	if (tmp == NULL)
> +	cl = cmdline_new(&ctx, "test", -1, -1);
> +	if (cl == NULL)
>  		goto error;
>  
>  	if (cmdline_new(NULL, "prompt", 0, 0) != NULL)
> @@ -179,7 +186,7 @@ test_cmdline_fns(void)
>  		goto error;
>  	if (cmdline_in(NULL, "buffer", CMDLINE_TEST_BUFSIZE) >= 0)
>  		goto error;
> -	if (cmdline_in(&cl, NULL, CMDLINE_TEST_BUFSIZE) >= 0)
> +	if (cmdline_in(cl, NULL, CMDLINE_TEST_BUFSIZE) >= 0)
>  		goto error;
>  	if (cmdline_write_char(NULL, 0) >= 0)
>  		goto error;
> @@ -188,31 +195,14 @@ test_cmdline_fns(void)
>  	cmdline_set_prompt(NULL, "prompt");
>  	cmdline_free(NULL);
>  	cmdline_printf(NULL, "format");
> -	/* this should fail as stream handles are invalid */
> -	cmdline_printf(tmp, "format");
>  	cmdline_interact(NULL);
>  	cmdline_quit(NULL);
>  
> -	/* check if void calls change anything when they should fail */
> -	cl = *tmp;
> -
> -	cmdline_printf(&cl, NULL);
> -	if (memcmp(&cl, tmp, sizeof(cl))) goto mismatch;
> -	cmdline_set_prompt(&cl, NULL);
> -	if (memcmp(&cl, tmp, sizeof(cl))) goto mismatch;
> -	cmdline_in(&cl, NULL, CMDLINE_TEST_BUFSIZE);
> -	if (memcmp(&cl, tmp, sizeof(cl))) goto mismatch;
> -
> -	cmdline_free(tmp);
> -
>  	return 0;
>  
>  error:
>  	printf("Error: function accepted null parameter!\n");
>  	return -1;
> -mismatch:
> -	printf("Error: data changed!\n");
> -	return -1;

cmdline_free(cl) is missing.

before your patch, cmdline_free(tmp) was already missing in error case
by the way.


Thanks,
Olivier

^ permalink raw reply	[relevance 5%]

* Re: [dpdk-dev] [V5 1/3] ethdev: introduce FEC API
    2020-09-17  9:58  3%     ` Andrew Rybchenko
@ 2020-09-17 12:49  3%     ` Ananyev, Konstantin
  2020-09-18  1:57  0%       ` humin (Connor)
  1 sibling, 1 reply; 200+ results
From: Ananyev, Konstantin @ 2020-09-17 12:49 UTC (permalink / raw)
  To: Min Hu (Connor), dev; +Cc: thomas, arybchenko, Yigit, Ferruh, linuxarm


> 
> This patch adds Forward error correction(FEC) support for ethdev.
> Introduce APIs which support query and config FEC information in
> hardware.
> 
> Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
> Reviewed-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
> Reviewed-by: Chengwen Feng <fengchengwen@huawei.com>
> Reviewed-by: Chengchang Tang <tangchengchang@huawei.com>
> ---
> v4->v5:
> Modifies FEC capa definitions using macros.
> Add RTE_ prefix for public FEC mode enum.
> add release notes about FEC for dpdk20_11.
> 
> ---
> v2->v3:
> add function return value "-ENOTSUP" for API
> 
> ---
>  doc/guides/rel_notes/release_20_11.rst   | 13 +++++
>  lib/librte_ethdev/rte_ethdev.c           | 50 +++++++++++++++++++
>  lib/librte_ethdev/rte_ethdev.h           | 83 ++++++++++++++++++++++++++++++++
>  lib/librte_ethdev/rte_ethdev_core.h      | 77 +++++++++++++++++++++++++++++
>  lib/librte_ethdev/rte_ethdev_version.map |  5 ++
>  5 files changed, 228 insertions(+)
> 
> diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
> index cc72609..e4f0587 100644
> --- a/doc/guides/rel_notes/release_20_11.rst
> +++ b/doc/guides/rel_notes/release_20_11.rst
> @@ -55,6 +55,19 @@ New Features
>       Also, make sure to start the actual text at the margin.
>       =======================================================
> 
> +* **Added the FEC Library, a generic FEC query and config library.**
> +
> +  Added the FEC library which provides an API for query FEC capabilities and
> +  FEC mode from device. Also, API for configuring FEC mode is also provided.
> +
> +  Added hns3 FEC PMD, for supporting query and config FEC mode.
> +
> +* **Updated testpmd with a command for FEC.**
> +
> +  Added a FEC command to testpmd app,
> +  ``show port <port_id> fec capabilities`` which queries FEC capabilities device supports.
> +  ``show port <port_id> fec_mode`` which queries FEC mode from device.
> +  ``set port <port_id> fec_mode <auto|off|rs|baser>`` which configures FEC mode to device.
> 
>  Removed Items
>  -------------
> diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c
> index 7858ad5..fde77c1 100644
> --- a/lib/librte_ethdev/rte_ethdev.c
> +++ b/lib/librte_ethdev/rte_ethdev.c
> @@ -3642,6 +3642,56 @@ rte_eth_led_off(uint16_t port_id)
>  	return eth_err(port_id, (*dev->dev_ops->dev_led_off)(dev));
>  }
> 
> +int
> +rte_eth_fec_get_capability(uint16_t port_id, uint32_t *fec_cap)
> +{
> +	struct rte_eth_dev *dev;
> +
> +	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
> +	dev = &rte_eth_devices[port_id];
> +	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->fec_get_capability, -ENOTSUP);
> +	return eth_err(port_id, (*dev->dev_ops->fec_get_capability)(dev,
> +								fec_cap));
> +}
> +
> +int
> +rte_eth_fec_get(uint16_t port_id, enum rte_fec_mode *mode)
> +{
> +	struct rte_eth_dev *dev;
> +
> +	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
> +	dev = &rte_eth_devices[port_id];
> +	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->fec_get, -ENOTSUP);
> +	return eth_err(port_id, (*dev->dev_ops->fec_get)(dev, mode));
> +}
> +
> +int
> +rte_eth_fec_set(uint16_t port_id, enum rte_fec_mode mode)
> +{
> +	struct rte_eth_dev *dev;
> +	uint32_t fec_mode_mask;
> +	int ret;
> +
> +	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
> +
> +	ret = rte_eth_fec_get_capability(port_id, &fec_mode_mask);
> +	if (ret)
> +		return ret;
> +
> +	/*
> +	 * Check whether the configured mode is within the FEC capability.
> +	 * If not, the configured mode will not be supported.
> +	 */
> +	if (!(fec_mode_mask & (1U << (uint32_t)mode))) {
> +		RTE_ETHDEV_LOG(ERR, "unsupported fec mode=%d\n", mode);
> +		return -EINVAL;
> +	}
> +
> +	dev = &rte_eth_devices[port_id];
> +	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->fec_set, -ENOTSUP);
> +	return eth_err(port_id, (*dev->dev_ops->fec_set)(dev, mode));
> +}
> +
>  /*
>   * Returns index into MAC address array of addr. Use 00:00:00:00:00:00 to find
>   * an empty spot.
> diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
> index 70295d7..aa79326 100644
> --- a/lib/librte_ethdev/rte_ethdev.h
> +++ b/lib/librte_ethdev/rte_ethdev.h
> @@ -1511,6 +1511,25 @@ struct rte_eth_dcb_info {
>  	struct rte_eth_dcb_tc_queue_mapping tc_queue;
>  };
> 
> +/**
> + * This enum indicates the possible (forward error correction)FEC modes
> + * of an ethdev port.
> + */
> +enum rte_fec_mode {
> +	RTE_ETH_FEC_NOFEC = 0,      /**< FEC is off */
> +	RTE_ETH_FEC_BASER,          /**< FEC using common algorithm */
> +	RTE_ETH_FEC_RS,             /**< FEC using RS algorithm */
> +	RTE_ETH_FEC_AUTO,           /**< FEC autonegotiation modes */
> +	RTE_ETH_FEC_NUM

It is better not to have RTE_ETH_FEC_NUM here:
Any future additions to that enum would overwrite _NUM values and would
considered as ABI breakage.
Aprart from that:
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>

> +};
> +
> +/* This indicates FEC capabilities */
> +#define RTE_ETH_FEC_CAPA_NOFEC  (1U << RTE_ETH_FEC_NOFEC)
> +#define RTE_ETH_FEC_CAPA_BASER  (1U << RTE_ETH_FEC_BASER)
> +#define RTE_ETH_FEC_CAPA_RS     (1U << RTE_ETH_FEC_RS)
> +#define RTE_ETH_FEC_CAPA_AUTO   (1U << RTE_ETH_FEC_AUTO)
> +
> +
>  #define RTE_ETH_ALL RTE_MAX_ETHPORTS
> 
>  /* Macros to check for valid port */
> @@ -3328,6 +3347,70 @@ int  rte_eth_led_on(uint16_t port_id);
>  int  rte_eth_led_off(uint16_t port_id);
> 
>  /**
> + * @warning
> + * @b EXPERIMENTAL: this API may change, or be removed, without prior notice
> + *
> + * Get Forward Error Correction(FEC) capability.
> + *
> + * @param port_id
> + *   The port identifier of the Ethernet device.
> + * @param fec_cap
> + *   returns the FEC capability from the device, as follows:
> + *   RTE_ETH_FEC_CAPA_NOFEC
> + *   RTE_ETH_FEC_CAPA_BASER
> + *   RTE_ETH_FEC_CAPA_RS
> + *   RTE_ETH_FEC_CAPA_AUTO
> + * @return
> + *   - (0) if successful.
> + *   - (-ENOTSUP) if underlying hardware OR driver doesn't support.
> + *     that operation.
> + *   - (-EIO) if device is removed.
> + *   - (-ENODEV)  if *port_id* invalid.
> + */
> +__rte_experimental
> +int rte_eth_fec_get_capability(uint16_t port_id, uint32_t *fec_cap);
> +
> +/**
> + * @warning
> + * @b EXPERIMENTAL: this API may change, or be removed, without prior notice
> + *
> + * Get current Forward Error Correction(FEC) mode.
> + *
> + * @param port_id
> + *   The port identifier of the Ethernet device.
> + * @param mode
> + *   returns the FEC mode from the device.
> + * @return
> + *   - (0) if successful.
> + *   - (-ENOTSUP) if underlying hardware OR driver doesn't support.
> + *     that operation.
> + *   - (-EIO) if device is removed.
> + *   - (-ENODEV)  if *port_id* invalid.
> + */
> +__rte_experimental
> +int rte_eth_fec_get(uint16_t port_id, enum rte_fec_mode *mode);
> +
> +/**
> + * @warning
> + * @b EXPERIMENTAL: this API may change, or be removed, without prior notice
> + *
> + * Set Forward Error Correction(FEC) mode.
> + *
> + * @param port_id
> + *   The port identifier of the Ethernet device.
> + * @param mode
> + *   the FEC mode.
> + * @return
> + *   - (0) if successful.
> + *   - (-EINVAL) if the FEC mode is not valid.
> + *   - (-ENOTSUP) if underlying hardware OR driver doesn't support.
> + *   - (-EIO) if device is removed.
> + *   - (-ENODEV)  if *port_id* invalid.
> + */
> +__rte_experimental
> +int rte_eth_fec_set(uint16_t port_id, enum rte_fec_mode mode);
> +
> +/**
>   * Get current status of the Ethernet link flow control for Ethernet device
>   *
>   * @param port_id
> diff --git a/lib/librte_ethdev/rte_ethdev_core.h b/lib/librte_ethdev/rte_ethdev_core.h
> index 32407dd..cd1acf1 100644
> --- a/lib/librte_ethdev/rte_ethdev_core.h
> +++ b/lib/librte_ethdev/rte_ethdev_core.h
> @@ -604,6 +604,76 @@ typedef int (*eth_tx_hairpin_queue_setup_t)
>  	 const struct rte_eth_hairpin_conf *hairpin_conf);
> 
>  /**
> + * @internal
> + * Get Forward Error Correction(FEC) capability.
> + *
> + * @param dev
> + *   ethdev handle of port.
> + * @param fec_cap
> + *   returns the FEC capability from the device.
> + *
> + * @return
> + *   Negative errno value on error, 0 on success.
> + *
> + * @retval 0
> + *   Success, get FEC success.
> + * @retval -ENOTSUP
> + *   operation is not supported.
> + * @retval -EIO
> + *   device is removed.
> + * @retval -ENODEV
> + *   Device is gone.
> + */
> +typedef int (*eth_fec_get_capability_t)(struct rte_eth_dev *dev,
> +					uint32_t *fec_cap);
> +
> +/**
> + * @internal
> + * Get Forward Error Correction(FEC) mode.
> + *
> + * @param dev
> + *   ethdev handle of port.
> + * @param mode
> + *   returns the FEC mode from the device.
> + *
> + * @return
> + *   Negative errno value on error, 0 on success.
> + *
> + * @retval 0
> + *   Success, get FEC success.
> + * @retval -ENOTSUP
> + *   operation is not supported.
> + * @retval -EIO
> + *   device is removed.
> + * @retval -ENODEV
> + *   Device is gone.
> + */
> +typedef int (*eth_fec_get_t)(struct rte_eth_dev *dev, enum rte_fec_mode *mode);
> +
> +/**
> + * @internal
> + *   Set Forward Error Correction(FEC) mode.
> + *
> + * @param dev
> + *   ethdev handle of port.
> + * @param mode
> + *   the FEC mode.
> + *
> + * @return
> + *   Negative errno value on error, 0 on success.
> + *
> + * @retval 0
> + *   Success, set FEC success.
> + * @retval -ENOTSUP
> + *   operation is not supported.
> + * @retval -EIO
> + *   device is removed.
> + * @retval -ENODEV
> + *   Device is gone.
> + */
> +typedef int (*eth_fec_set_t)(struct rte_eth_dev *dev, enum rte_fec_mode mode);
> +
> +/**
>   * @internal A structure containing the functions exported by an Ethernet driver.
>   */
>  struct eth_dev_ops {
> @@ -752,6 +822,13 @@ struct eth_dev_ops {
>  	/**< Set up device RX hairpin queue. */
>  	eth_tx_hairpin_queue_setup_t tx_hairpin_queue_setup;
>  	/**< Set up device TX hairpin queue. */
> +
> +	eth_fec_get_capability_t fec_get_capability;
> +	/**< Get Forward Error Correction(FEC) capability; */
> +	eth_fec_get_t fec_get;
> +	/**< Get Forward Error Correction(FEC) mode; */
> +	eth_fec_set_t fec_set;
> +	/**< Set Forward Error Correction(FEC) mode; */
>  };
> 
>  /**
> diff --git a/lib/librte_ethdev/rte_ethdev_version.map b/lib/librte_ethdev/rte_ethdev_version.map
> index 02081d9..9f3fb8f 100644
> --- a/lib/librte_ethdev/rte_ethdev_version.map
> +++ b/lib/librte_ethdev/rte_ethdev_version.map
> @@ -239,6 +239,11 @@ EXPERIMENTAL {
>  	__rte_ethdev_trace_rx_burst;
>  	__rte_ethdev_trace_tx_burst;
>  	rte_flow_get_aged_flows;
> +
> +	# added in 20.11
> +	rte_eth_fec_get_capability;
> +	rte_eth_fec_get;
> +	rte_eth_fec_set;
>  };
> 
>  INTERNAL {
> --
> 2.7.4


^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] [PATCH] devtools: fix ninja break under default DESTDIR path
  @ 2020-09-17 11:08  0% ` Juraj Linkeš
  2020-09-20  9:32  0%   ` Phil Yang
  0 siblings, 1 reply; 200+ results
From: Juraj Linkeš @ 2020-09-17 11:08 UTC (permalink / raw)
  To: Phil Yang, david.marchand, dev; +Cc: Honnappa.Nagarahalli, Ruifeng.Wang, nd



> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Phil Yang
> Sent: Thursday, July 9, 2020 8:53 AM
> To: david.marchand@redhat.com; dev@dpdk.org
> Cc: Honnappa.Nagarahalli@arm.com; Ruifeng.Wang@arm.com; nd@arm.com
> Subject: [dpdk-dev] [PATCH] devtools: fix ninja break under default DESTDIR
> path
> 
> If DPDK_ABI_REF_DIR is not set, the default DESTDIR is a relative path.
> This will break ninja in the ABI check test.
> 

The commit message is not very clear. The problem is we're specifying ninja's destination dir in variable DESTDIR when invoking ninja install. If the DESTDIR is not an absolute path, ninja complains (when invoking install). This isn't directly related to DPDK_ABI_REF_DIR, it's more a problem with how we call install_target.

> Fixes: 777014e56d07 ("devtools: add ABI checks")
> 
> Signed-off-by: Phil Yang <phil.yang@arm.com>
> ---
>  devtools/test-meson-builds.sh | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh index
> a87de63..2bfcaca 100755
> --- a/devtools/test-meson-builds.sh
> +++ b/devtools/test-meson-builds.sh
> @@ -143,7 +143,7 @@ build () # <directory> <target compiler | cross file>
> <meson options>
>  	config $srcdir $builds_dir/$targetdir $cross --werror $*
>  	compile $builds_dir/$targetdir
>  	if [ -n "$DPDK_ABI_REF_VERSION" ]; then
> -		abirefdir=${DPDK_ABI_REF_DIR:-
> reference}/$DPDK_ABI_REF_VERSION
> +		abirefdir=${DPDK_ABI_REF_DIR:-
> $(pwd)/reference}/$DPDK_ABI_REF_VERSION
>  		if [ ! -d $abirefdir/$targetdir ]; then
>  			# clone current sources
>  			if [ ! -d $abirefdir/src ]; then
> --
> 2.7.4
> 

install_target on line 160 is called improperly. Let's fix it so that it matches line 169:
install_target $abirefdir/build $(readlink -f $abirefdir/$targetdir)

This way we don't need to add $(pwd).


^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [V5 1/3] ethdev: introduce FEC API
  @ 2020-09-17  9:58  3%     ` Andrew Rybchenko
  2020-09-18  9:28  0%       ` Min Hu (Connor)
  2020-09-17 12:49  3%     ` Ananyev, Konstantin
  1 sibling, 1 reply; 200+ results
From: Andrew Rybchenko @ 2020-09-17  9:58 UTC (permalink / raw)
  To: Min Hu (Connor), dev; +Cc: konstantin.ananyev, thomas, ferruh.yigit, linuxarm

On 9/17/20 11:52 AM, Min Hu (Connor) wrote:
> This patch adds Forward error correction(FEC) support for ethdev.
> Introduce APIs which support query and config FEC information in
> hardware.
> 
> Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
> Reviewed-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
> Reviewed-by: Chengwen Feng <fengchengwen@huawei.com>
> Reviewed-by: Chengchang Tang <tangchengchang@huawei.com>
> ---
> v4->v5:
> Modifies FEC capa definitions using macros.
> Add RTE_ prefix for public FEC mode enum.
> add release notes about FEC for dpdk20_11.
> 
> ---
> v2->v3:
> add function return value "-ENOTSUP" for API
> 
> ---
>  doc/guides/rel_notes/release_20_11.rst   | 13 +++++
>  lib/librte_ethdev/rte_ethdev.c           | 50 +++++++++++++++++++
>  lib/librte_ethdev/rte_ethdev.h           | 83 ++++++++++++++++++++++++++++++++
>  lib/librte_ethdev/rte_ethdev_core.h      | 77 +++++++++++++++++++++++++++++
>  lib/librte_ethdev/rte_ethdev_version.map |  5 ++
>  5 files changed, 228 insertions(+)
> 
> diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
> index cc72609..e4f0587 100644
> --- a/doc/guides/rel_notes/release_20_11.rst
> +++ b/doc/guides/rel_notes/release_20_11.rst
> @@ -55,6 +55,19 @@ New Features
>       Also, make sure to start the actual text at the margin.
>       =======================================================
>  
> +* **Added the FEC Library, a generic FEC query and config library.**
> +
> +  Added the FEC library which provides an API for query FEC capabilities and
> +  FEC mode from device. Also, API for configuring FEC mode is also provided.

The patch does not add a library. It adds an API get FEC
capabilities, get current configuration and allows to set
a new configuration.

> +
> +  Added hns3 FEC PMD, for supporting query and config FEC mode.

If required, it should be later in release notes in accordance
with defined order.

> +
> +* **Updated testpmd with a command for FEC.**
> +
> +  Added a FEC command to testpmd app,
> +  ``show port <port_id> fec capabilities`` which queries FEC capabilities device supports.
> +  ``show port <port_id> fec_mode`` which queries FEC mode from device.
> +  ``set port <port_id> fec_mode <auto|off|rs|baser>`` which configures FEC mode to device.

IMHO, it is not much details for release notes.
As I understand it is assumed that testpmd must be
updated for any new ethdev feature, so, the information
about testpmd is not really required.

>  
>  Removed Items
>  -------------
> diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c
> index 7858ad5..fde77c1 100644
> --- a/lib/librte_ethdev/rte_ethdev.c
> +++ b/lib/librte_ethdev/rte_ethdev.c
> @@ -3642,6 +3642,56 @@ rte_eth_led_off(uint16_t port_id)
>  	return eth_err(port_id, (*dev->dev_ops->dev_led_off)(dev));
>  }
>  
> +int
> +rte_eth_fec_get_capability(uint16_t port_id, uint32_t *fec_cap)
> +{
> +	struct rte_eth_dev *dev;
> +
> +	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
> +	dev = &rte_eth_devices[port_id];
> +	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->fec_get_capability, -ENOTSUP);
> +	return eth_err(port_id, (*dev->dev_ops->fec_get_capability)(dev,
> +								fec_cap));
> +}
> +
> +int
> +rte_eth_fec_get(uint16_t port_id, enum rte_fec_mode *mode)
> +{
> +	struct rte_eth_dev *dev;
> +
> +	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
> +	dev = &rte_eth_devices[port_id];
> +	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->fec_get, -ENOTSUP);
> +	return eth_err(port_id, (*dev->dev_ops->fec_get)(dev, mode));
> +}
> +
> +int
> +rte_eth_fec_set(uint16_t port_id, enum rte_fec_mode mode)
> +{
> +	struct rte_eth_dev *dev;
> +	uint32_t fec_mode_mask;
> +	int ret;
> +
> +	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);

Basically the check is duplicated since get_capabilities
does it. However, there is no much harm to keep. If so,
I'd move it below just before port_id usage as an index
in rte_eth_devices array.

> +
> +	ret = rte_eth_fec_get_capability(port_id, &fec_mode_mask);
> +	if (ret)

Please, compare with 0 explicitly as specified in DPDK coding
style.

> +		return ret;
> +
> +	/*
> +	 * Check whether the configured mode is within the FEC capability.
> +	 * If not, the configured mode will not be supported.
> +	 */
> +	if (!(fec_mode_mask & (1U << (uint32_t)mode))) {
> +		RTE_ETHDEV_LOG(ERR, "unsupported fec mode=%d\n", mode);

I'd use "FEC" (in capitals) in log message as well.
Also I think it would be useful to log port_id.
.
> +		return -EINVAL;
> +	}
> +
> +	dev = &rte_eth_devices[port_id];
> +	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->fec_set, -ENOTSUP);
> +	return eth_err(port_id, (*dev->dev_ops->fec_set)(dev, mode));
> +}
> +
>  /*
>   * Returns index into MAC address array of addr. Use 00:00:00:00:00:00 to find
>   * an empty spot.
> diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
> index 70295d7..aa79326 100644
> --- a/lib/librte_ethdev/rte_ethdev.h
> +++ b/lib/librte_ethdev/rte_ethdev.h
> @@ -1511,6 +1511,25 @@ struct rte_eth_dcb_info {
>  	struct rte_eth_dcb_tc_queue_mapping tc_queue;
>  };
>  
> +/**
> + * This enum indicates the possible (forward error correction)FEC modes
> + * of an ethdev port.
> + */
> +enum rte_fec_mode {

enum rte_eth_fec_mode
to be consistent with other enums and to have library prefix.

> +	RTE_ETH_FEC_NOFEC = 0,      /**< FEC is off */
> +	RTE_ETH_FEC_BASER,          /**< FEC using common algorithm */
> +	RTE_ETH_FEC_RS,             /**< FEC using RS algorithm */
> +	RTE_ETH_FEC_AUTO,           /**< FEC autonegotiation modes */

May I suggest to put AUTO just after NOFEC. It would look move
logical in the future when more FEC modes are added. It would
look strange with AUTO in the middle of the list.

> +	RTE_ETH_FEC_NUM

I'm not about about current policy for such items. Is it really
required? Addition of more FEC modes will be ABI breakage.

> +};
> +
> +/* This indicates FEC capabilities */
> +#define RTE_ETH_FEC_CAPA_NOFEC  (1U << RTE_ETH_FEC_NOFEC)
> +#define RTE_ETH_FEC_CAPA_BASER  (1U << RTE_ETH_FEC_BASER)
> +#define RTE_ETH_FEC_CAPA_RS     (1U << RTE_ETH_FEC_RS)
> +#define RTE_ETH_FEC_CAPA_AUTO   (1U << RTE_ETH_FEC_AUTO)
> +
> +
>  #define RTE_ETH_ALL RTE_MAX_ETHPORTS
>  
>  /* Macros to check for valid port */
> @@ -3328,6 +3347,70 @@ int  rte_eth_led_on(uint16_t port_id);
>  int  rte_eth_led_off(uint16_t port_id);
>  
>  /**
> + * @warning
> + * @b EXPERIMENTAL: this API may change, or be removed, without prior notice
> + *
> + * Get Forward Error Correction(FEC) capability.
> + *
> + * @param port_id
> + *   The port identifier of the Ethernet device.
> + * @param fec_cap
> + *   returns the FEC capability from the device, as follows:
> + *   RTE_ETH_FEC_CAPA_NOFEC
> + *   RTE_ETH_FEC_CAPA_BASER
> + *   RTE_ETH_FEC_CAPA_RS
> + *   RTE_ETH_FEC_CAPA_AUTO

I'd like to see thoughts about different FEC modes for
different link speed. How to report it?
(sorry if I missed it before)

> + * @return
> + *   - (0) if successful.
> + *   - (-ENOTSUP) if underlying hardware OR driver doesn't support.
> + *     that operation.
> + *   - (-EIO) if device is removed.
> + *   - (-ENODEV)  if *port_id* invalid.
> + */
> +__rte_experimental
> +int rte_eth_fec_get_capability(uint16_t port_id, uint32_t *fec_cap);

[snip]

^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] [PATCH v3] bpf: remove experimental tag
  2020-09-14 14:11  8%   ` [dpdk-dev] [PATCH v3] bpf: " Conor Walsh
  2020-09-16 11:21  0%     ` Ananyev, Konstantin
@ 2020-09-16 16:58  0%     ` David Marchand
  1 sibling, 0 replies; 200+ results
From: David Marchand @ 2020-09-16 16:58 UTC (permalink / raw)
  To: Conor Walsh; +Cc: dev, Ananyev, Konstantin

On Mon, Sep 14, 2020 at 4:11 PM Conor Walsh <conor.walsh@intel.com> wrote:
>
> The BPF lib was introduced in 18.05.
> There were no changes in it's public API since 19.11.
> It should be mature enough to remove it's 'experimental' tag.
> RTE_BPF_XTYPE_NUM is also being dropped from rte_bpf_xtype to
> avoid possible ABI problems in the future.
>
> ---
> v2: RTE_BPF_XTYPE_NUM dropped from rte_bpf_xtype
>
> ---
> v3: fix commit title and move from ABI to API in release notes
>
> Signed-off-by: Conor Walsh <conor.walsh@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>


Things after --- are recognised as annotations and ignored by git when applying.

I fixed your SoB tag and applied, thanks.


-- 
David Marchand


^ permalink raw reply	[relevance 0%]

* [dpdk-dev] [PATCH v3 9/9] sched: remove the redundant code
  @ 2020-09-16 16:43  3%     ` Savinay Dharmappa
  0 siblings, 0 replies; 200+ results
From: Savinay Dharmappa @ 2020-09-16 16:43 UTC (permalink / raw)
  To: jasvinder.singh, cristian.dumitrescu, dev; +Cc: savinay.dharmappa

Remove redundant data structure fields references from
functions and subport level data structures. It also
update the release and deprecation note.

Signed-off-by: Savinay Dharmappa <savinay.dharmappa@intel.com>
---
 doc/guides/rel_notes/deprecation.rst   |   6 --
 doc/guides/rel_notes/release_20_11.rst |   4 ++
 lib/librte_sched/rte_sched.c           | 115 +--------------------------------
 lib/librte_sched/rte_sched.h           |  12 ----
 4 files changed, 6 insertions(+), 131 deletions(-)

diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 345c38d..261f133 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -318,12 +318,6 @@ Deprecation Notices
   in "rte_sched.h". These changes are aligned to improvements suggested in the
   RFC https://mails.dpdk.org/archives/dev/2018-November/120035.html.
 
-* sched: To allow dynamic configuration of the subport bandwidth profile,
-  changes will be made to data structures ``rte_sched_subport_params``,
-  ``rte_sched_port_params`` and new data structure, API functions will be
-  defined in ``rte_sched.h``. These changes are aligned as suggested in the
-  RFC https://mails.dpdk.org/archives/dev/2020-July/175161.html
-
 * metrics: The function ``rte_metrics_init`` will have a non-void return
   in order to notify errors instead of calling ``rte_exit``.
 
diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index df227a1..51c4568 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -84,6 +84,10 @@ API Changes
    Also, make sure to start the actual text at the margin.
    =======================================================
 
+* sched: The subport bandwidth configuration parameters such as tb_rate,
+  tc_rate, tc_period etc., are moved from subport level data structure to
+  new a data structure. This allows to configure a subport with different
+  subport bandwidth configuration dynamically.
 
 ABI Changes
 -----------
diff --git a/lib/librte_sched/rte_sched.c b/lib/librte_sched/rte_sched.c
index 3f61afa..6b6892d 100644
--- a/lib/librte_sched/rte_sched.c
+++ b/lib/librte_sched/rte_sched.c
@@ -152,16 +152,11 @@ struct rte_sched_grinder {
 struct rte_sched_subport {
 	/* Token bucket (TB) */
 	uint64_t tb_time; /* time of last update */
-	uint64_t tb_period;
-	uint64_t tb_credits_per_period;
-	uint64_t tb_size;
 	uint64_t tb_credits;
 
 	/* Traffic classes (TCs) */
 	uint64_t tc_time; /* time of next update */
-	uint64_t tc_credits_per_period[RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE];
 	uint64_t tc_credits[RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE];
-	uint64_t tc_period;
 
 	/* TC oversubscription */
 	uint64_t tc_ov_wm;
@@ -837,18 +832,6 @@ rte_sched_subport_check_params(struct rte_sched_subport_params *params,
 		return -EINVAL;
 	}
 
-	if (params->tb_rate == 0 || params->tb_rate > rate) {
-		RTE_LOG(ERR, SCHED,
-			"%s: Incorrect value for tb rate\n", __func__);
-		return -EINVAL;
-	}
-
-	if (params->tb_size == 0) {
-		RTE_LOG(ERR, SCHED,
-			"%s: Incorrect value for tb size\n", __func__);
-		return -EINVAL;
-	}
-
 	/* qsize: if non-zero, power of 2,
 	 * no bigger than 32K (due to 16-bit read/write pointers)
 	 */
@@ -862,29 +845,8 @@ rte_sched_subport_check_params(struct rte_sched_subport_params *params,
 		}
 	}
 
-	for (i = 0; i < RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE; i++) {
-		uint64_t tc_rate = params->tc_rate[i];
-		uint16_t qsize = params->qsize[i];
-
-		if ((qsize == 0 && tc_rate != 0) ||
-			(qsize != 0 && tc_rate == 0) ||
-			(tc_rate > params->tb_rate)) {
-			RTE_LOG(ERR, SCHED,
-				"%s: Incorrect value for tc rate\n", __func__);
-			return -EINVAL;
-		}
-	}
-
-	if (params->qsize[RTE_SCHED_TRAFFIC_CLASS_BE] == 0 ||
-		params->tc_rate[RTE_SCHED_TRAFFIC_CLASS_BE] == 0) {
-		RTE_LOG(ERR, SCHED,
-			"%s: Incorrect qsize or tc rate(best effort)\n", __func__);
-		return -EINVAL;
-	}
-
-	if (params->tc_period == 0) {
-		RTE_LOG(ERR, SCHED,
-			"%s: Incorrect value for tc period\n", __func__);
+	if (params->qsize[RTE_SCHED_TRAFFIC_CLASS_BE] == 0) {
+		RTE_LOG(ERR, SCHED, "%s: Incorrect qsize\n", __func__);
 		return -EINVAL;
 	}
 
@@ -1101,48 +1063,6 @@ rte_sched_port_free(struct rte_sched_port *port)
 }
 
 static void
-rte_sched_port_log_subport_config(struct rte_sched_port *port, uint32_t i)
-{
-	struct rte_sched_subport *s = port->subports[i];
-
-	RTE_LOG(DEBUG, SCHED, "Low level config for subport %u:\n"
-		"	Token bucket: period = %"PRIu64", credits per period = %"PRIu64
-		", size = %"PRIu64"\n"
-		"	Traffic classes: period = %"PRIu64"\n"
-		"	credits per period = [%"PRIu64", %"PRIu64", %"PRIu64", %"PRIu64
-		", %"PRIu64", %"PRIu64", %"PRIu64", %"PRIu64", %"PRIu64", %"PRIu64
-		", %"PRIu64", %"PRIu64", %"PRIu64"]\n"
-		"	Best effort traffic class oversubscription: wm min = %"PRIu64
-		", wm max = %"PRIu64"\n",
-		i,
-
-		/* Token bucket */
-		s->tb_period,
-		s->tb_credits_per_period,
-		s->tb_size,
-
-		/* Traffic classes */
-		s->tc_period,
-		s->tc_credits_per_period[0],
-		s->tc_credits_per_period[1],
-		s->tc_credits_per_period[2],
-		s->tc_credits_per_period[3],
-		s->tc_credits_per_period[4],
-		s->tc_credits_per_period[5],
-		s->tc_credits_per_period[6],
-		s->tc_credits_per_period[7],
-		s->tc_credits_per_period[8],
-		s->tc_credits_per_period[9],
-		s->tc_credits_per_period[10],
-		s->tc_credits_per_period[11],
-		s->tc_credits_per_period[12],
-
-		/* Best effort traffic class oversubscription */
-		s->tc_ov_wm_min,
-		s->tc_ov_wm_max);
-}
-
-static void
 rte_sched_free_memory(struct rte_sched_port *port, uint32_t n_subports)
 {
 	uint32_t i;
@@ -1215,33 +1135,7 @@ rte_sched_subport_config(struct rte_sched_port *port,
 	/* Port */
 	port->subports[subport_id] = s;
 
-	/* Token Bucket (TB) */
-	if (params->tb_rate == port->rate) {
-		s->tb_credits_per_period = 1;
-		s->tb_period = 1;
-	} else {
-		double tb_rate = ((double) params->tb_rate) / ((double) port->rate);
-		double d = RTE_SCHED_TB_RATE_CONFIG_ERR;
-
-		rte_approx_64(tb_rate, d, &s->tb_credits_per_period, &s->tb_period);
-	}
-
-	s->tb_size = params->tb_size;
 	s->tb_time = port->time;
-	s->tb_credits = s->tb_size / 2;
-
-	/* Traffic Classes (TCs) */
-	s->tc_period = rte_sched_time_ms_to_bytes(params->tc_period, port->rate);
-	for (i = 0; i < RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE; i++) {
-		if (params->qsize[i])
-			s->tc_credits_per_period[i]
-				= rte_sched_time_ms_to_bytes(params->tc_period,
-					params->tc_rate[i]);
-	}
-	s->tc_time = port->time + s->tc_period;
-	for (i = 0; i < RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE; i++)
-		if (params->qsize[i])
-			s->tc_credits[i] = s->tc_credits_per_period[i];
 
 	/* compile time checks */
 	RTE_BUILD_BUG_ON(RTE_SCHED_PORT_N_GRINDERS == 0);
@@ -1331,17 +1225,12 @@ rte_sched_subport_config(struct rte_sched_port *port,
 #ifdef RTE_SCHED_SUBPORT_TC_OV
 	/* TC oversubscription */
 	s->tc_ov_wm_min = port->mtu;
-	s->tc_ov_wm_max = rte_sched_time_ms_to_bytes(params->tc_period,
-						     s->pipe_tc_be_rate_max);
 	s->tc_ov_wm = s->tc_ov_wm_max;
 	s->tc_ov_period_id = 0;
 	s->tc_ov = 0;
 	s->tc_ov_n = 0;
 	s->tc_ov_rate = 0;
 #endif
-
-	rte_sched_port_log_subport_config(port, subport_id);
-
 	return 0;
 }
 
diff --git a/lib/librte_sched/rte_sched.h b/lib/librte_sched/rte_sched.h
index a7c2638..7623919 100644
--- a/lib/librte_sched/rte_sched.h
+++ b/lib/librte_sched/rte_sched.h
@@ -149,18 +149,6 @@ struct rte_sched_pipe_params {
  * byte.
  */
 struct rte_sched_subport_params {
-	/** Token bucket rate (measured in bytes per second) */
-	uint64_t tb_rate;
-
-	/** Token bucket size (measured in credits) */
-	uint64_t tb_size;
-
-	/** Traffic class rates (measured in bytes per second) */
-	uint64_t tc_rate[RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE];
-
-	/** Enforcement period for rates (measured in milliseconds) */
-	uint64_t tc_period;
-
 	/** Number of subport pipes.
 	 * The subport can enable/allocate fewer pipes than the maximum
 	 * number set through struct port_params::n_max_pipes_per_subport,
-- 
2.7.4


^ permalink raw reply	[relevance 3%]

* [dpdk-dev] [RFC PATCH 0/5] rework feature enabling macros for compatibility
@ 2020-09-16 16:44  2% Bruce Richardson
  2020-09-17 17:59  0% ` Andrew Rybchenko
  2020-09-18 15:12  0% ` David Marchand
  0 siblings, 2 replies; 200+ results
From: Bruce Richardson @ 2020-09-16 16:44 UTC (permalink / raw)
  To: david.marchand; +Cc: dev, Bruce Richardson

As flagged previously on-list, there are a number of macros used to specify
what libs and drivers are enabled in the build which differ from the
equivalents used with make. This patchset is one possible approach to
fixing these, but as part of the investigation some issues were hit where
I'd like additional input to ensure we are ok with the approach taken in
this set.

First, a problem statement:

* While the make build defines generally followed a pattern, there were
  many instances where the defines were unique. These can be seen in the
  values defined in patch 4.

* The NIC PMDs had two separate standards for the defines - some (the
  physical device drivers) tended to have the _PMD at the end of the
  macros, while the virtual drivers had it in the middle. Since the
  majority seemed to go with it at the end, meson chose this option.
  However, as can be seen from patch 4, a number now need special handling
  for compatibility

* This "_PMD" at the end made its way into other device classes, such as
  crypto and event, but it appears that the standard for these classes from
  make is in fact the opposite. Therefore we have had for the last 2+ years
  conflicting macros for crypto, compression and event classes.

* There is also the question of how important compatibility for these
  macros is, especially since we have had numerous incompatibilities
  without it being reported before. There is also the issue of the
  deprecation process for macros, since these are not part of any ABI.

What's done in this set:

* Firstly, and missing dependencies on apps or examples had to be fixed,
  where a dependency was missed because it was never needed due to the code
  being stripped out because of a missing macro.

* Secondly, since it is likely that use of the defines from make is more
  widespread than those from meson, the defines for the crypto, compression
  and event classes are changed to align with the make values. Just in case
  though, temporary code is added to drivers/meson.build to redefine the
  old meson values too, and a deprecation notice is added for these. The
  hope is that we can then remove this temporary code in the next release,
  leaving us with just one macro style for each driver class.

* Thirdly, we add an additional set of backward compatibility macros for
  the ~30 special-cases, where the meson macro template does not match that
  defined for make. Again, this is intended to be temporary and a
  deprecation notice is given for the macros in that file.

* Finally, we replace all instances of the old macros in the codebase with
  the newer versions. While the work done in the first four patches (steps
  1-3 above) should be ok to backport, this final patch is not suitable for
  backporting. However, it is relatively simple to produce a new patch for
  backporting which allow either old or new values to be used in macros.


Open issues/considerations after this patch:

* We still have inconsistencies in our driver macro and naming templates.
  This is just a nice-to-have, but if people are ok with generally having a
  breakage in our macro defines, we could clean this up a lot further.
  Notice how 'net', 'regex' and 'vdpa' have '_PMD' at the end, while most
  others have it before the name. Notice also that many device classes have
  the class at the end of the template, while bbdev has it in the middle.
	$ git grep config_flag_fmt -- drivers/*/meson.build
	drivers/baseband/meson.build:config_flag_fmt = 'RTE_LIBRTE_PMD_BBDEV_@0@'
	drivers/bus/meson.build:config_flag_fmt = 'RTE_LIBRTE_@0@_BUS'
	drivers/common/meson.build:config_flag_fmt = 'RTE_LIBRTE_@0@_COMMON'
	drivers/compress/meson.build:config_flag_fmt = 'RTE_LIBRTE_PMD_@0@'
	drivers/crypto/meson.build:config_flag_fmt = 'RTE_LIBRTE_PMD_@0@'
	drivers/event/meson.build:config_flag_fmt = 'RTE_LIBRTE_PMD_@0@_EVENTDEV'
	drivers/mempool/meson.build:config_flag_fmt = 'RTE_LIBRTE_@0@_MEMPOOL'
	drivers/net/meson.build:config_flag_fmt = 'RTE_LIBRTE_@0@_PMD'
	drivers/raw/meson.build:config_flag_fmt = 'RTE_LIBRTE_PMD_@0@_RAWDEV'
	drivers/regex/meson.build:config_flag_fmt = 'RTE_LIBRTE_@0@_PMD'
	drivers/vdpa/meson.build:config_flag_fmt = 'RTE_LIBRTE_@0@_PMD'

* Are we ok to remove the older macros after one release of deprecation, or
  do we need to wait to next API window.

* I have not made any changes to the docs for this, since I expect that
  these macros are already covered by the doc changes in the make removal
  set.

Reviews and comments welcome.

Bruce Richardson (5):
  app: fix missing dependencies
  examples/l2fwd-crypto: fix missing dependency
  meson: fix compatibility with make build defines
  build: add defines for compatibility with make build
  build: replace use of old build macros

 app/test-crypto-perf/meson.build     |   3 +
 app/test-pmd/cmdline.c               |   8 +-
 app/test-pmd/meson.build             |  12 +++
 app/test-pmd/parameters.c            |  12 +--
 app/test-pmd/testpmd.c               |  24 ++---
 app/test-pmd/testpmd.h               |   4 +-
 app/test/meson.build                 |   3 +
 app/test/test_eal_flags.c            |   4 +-
 config/meson.build                   |   3 +-
 config/rte_compatibility_defines.h   | 129 +++++++++++++++++++++++++++
 config/rte_config.h                  |   1 +
 doc/guides/rel_notes/deprecation.rst |  17 ++++
 drivers/compress/meson.build         |   2 +-
 drivers/crypto/meson.build           |   2 +-
 drivers/event/meson.build            |   2 +-
 drivers/meson.build                  |  15 ++++
 examples/l2fwd-crypto/meson.build    |   3 +
 17 files changed, 214 insertions(+), 30 deletions(-)
 create mode 100644 config/rte_compatibility_defines.h

-- 
2.25.1


^ permalink raw reply	[relevance 2%]

* Re: [dpdk-dev] [PATCH v3] ipsec: remove experimental tag
  2020-09-14 14:10  7%   ` [dpdk-dev] [PATCH v3] ipsec: " Conor Walsh
@ 2020-09-16 11:22  0%     ` Ananyev, Konstantin
  0 siblings, 0 replies; 200+ results
From: Ananyev, Konstantin @ 2020-09-16 11:22 UTC (permalink / raw)
  To: Walsh, Conor, dev


> Since librte_ipsec was first introduced in 19.02 and there were no changes
> in it's public API since 19.11, it should be considered mature enough to
> remove the 'experimental' tag from it.
> The RTE_SATP_LOG2_NUM enum is also being dropped from rte_ipsec_sa.h to
> avoid possible ABI problems in the future.
> 
> ---

Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>

> 2.25.1


^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH v3] bpf: remove experimental tag
  2020-09-14 14:11  8%   ` [dpdk-dev] [PATCH v3] bpf: " Conor Walsh
@ 2020-09-16 11:21  0%     ` Ananyev, Konstantin
  2020-09-16 16:58  0%     ` David Marchand
  1 sibling, 0 replies; 200+ results
From: Ananyev, Konstantin @ 2020-09-16 11:21 UTC (permalink / raw)
  To: Walsh, Conor, dev; +Cc: david.marchand

> 
> The BPF lib was introduced in 18.05.
> There were no changes in it's public API since 19.11.
> It should be mature enough to remove it's 'experimental' tag.
> RTE_BPF_XTYPE_NUM is also being dropped from rte_bpf_xtype to
> avoid possible ABI problems in the future.
> 
> ---
> v2: RTE_BPF_XTYPE_NUM dropped from rte_bpf_xtype
> 
> ---
> v3: fix commit title and move from ABI to API in release notes
> 
> Signed-off-by: Conor Walsh <conor.walsh@intel.com>
> ---

Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>

> 2.25.1


^ permalink raw reply	[relevance 0%]

* [dpdk-dev] [PATCH v3] mbuf: minor cleanup
  @ 2020-09-16 10:43  3% ` Morten Brørup
  0 siblings, 0 replies; 200+ results
From: Morten Brørup @ 2020-09-16 10:43 UTC (permalink / raw)
  To: olivier.matz, thomas; +Cc: dev, Morten Brørup

The mbuf header files had some commenting style errors that affected the
API documentation.
Also, the RTE_ prefix was missing on a macro and a definition.

Note: This patch does not touch the offload and attachment flags that are
also missing the RTE_ prefix.

Changes only affecting documentation:
* Removed the MBUF_INVALID_PORT definition from rte_mbuf.h; it is
  already defined in rte_mbuf_core.h.
  This removal also reestablished the description of the
  rte_pktmbuf_reset() function.
* Corrected the comment related to RTE_MBUF_MAX_NB_SEGS.
* Corrected the comment related to PKT_TX_QINQ_PKT.

Changes regarding missing RTE_ prefix:
* Converted the MBUF_RAW_ALLOC_CHECK() macro to an
  __rte_mbuf_raw_sanity_check() inline function.
  Added backwards compatible macro with the original name.
* Renamed the MBUF_INVALID_PORT definition to RTE_MBUF_PORT_INVALID.
  Added backwards compatible definition with the original name.

v2:
* Use RTE_MBUF_PORT_INVALID instead of MBUF_INVALID_PORT in rte_mbuf.c.

v3:
* The functions/macros used in __rte_mbuf_raw_sanity_check() require
  RTE_ENABLE_ASSERT or RTE_LIBRTE_MBUF_DEBUG, or they don't use the mbuf
  parameter, which generates a compiler waning. So mark the mbuf parameter
  __rte_unused if none of them are defined.

Signed-off-by: Morten Brørup <mb@smartsharesystems.com>
---
 doc/guides/rel_notes/deprecation.rst |  7 ----
 lib/librte_mbuf/rte_mbuf.c           |  4 +-
 lib/librte_mbuf/rte_mbuf.h           | 55 +++++++++++++++++++---------
 lib/librte_mbuf/rte_mbuf_core.h      |  9 +++--
 4 files changed, 45 insertions(+), 30 deletions(-)

diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 279eccb04..88d7d0761 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -294,13 +294,6 @@ Deprecation Notices
   - https://patches.dpdk.org/patch/71457/
   - https://patches.dpdk.org/patch/71456/
 
-* rawdev: The rawdev APIs which take a device-specific structure as
-  parameter directly, or indirectly via a "private" pointer inside another
-  structure, will be modified to take an additional parameter of the
-  structure size. The affected APIs will include ``rte_rawdev_info_get``,
-  ``rte_rawdev_configure``, ``rte_rawdev_queue_conf_get`` and
-  ``rte_rawdev_queue_setup``.
-
 * acl: ``RTE_ACL_CLASSIFY_NUM`` enum value will be removed.
   This enum value is not used inside DPDK, while it prevents to add new
   classify algorithms without causing an ABI breakage.
diff --git a/lib/librte_mbuf/rte_mbuf.c b/lib/librte_mbuf/rte_mbuf.c
index 8a456e5e6..53a015311 100644
--- a/lib/librte_mbuf/rte_mbuf.c
+++ b/lib/librte_mbuf/rte_mbuf.c
@@ -104,7 +104,7 @@ rte_pktmbuf_init(struct rte_mempool *mp,
 	/* init some constant fields */
 	m->pool = mp;
 	m->nb_segs = 1;
-	m->port = MBUF_INVALID_PORT;
+	m->port = RTE_MBUF_PORT_INVALID;
 	rte_mbuf_refcnt_set(m, 1);
 	m->next = NULL;
 }
@@ -207,7 +207,7 @@ __rte_pktmbuf_init_extmem(struct rte_mempool *mp,
 	/* init some constant fields */
 	m->pool = mp;
 	m->nb_segs = 1;
-	m->port = MBUF_INVALID_PORT;
+	m->port = RTE_MBUF_PORT_INVALID;
 	m->ol_flags = EXT_ATTACHED_MBUF;
 	rte_mbuf_refcnt_set(m, 1);
 	m->next = NULL;
diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h
index 7259575a7..406d3abb2 100644
--- a/lib/librte_mbuf/rte_mbuf.h
+++ b/lib/librte_mbuf/rte_mbuf.h
@@ -554,12 +554,36 @@ __rte_experimental
 int rte_mbuf_check(const struct rte_mbuf *m, int is_header,
 		   const char **reason);
 
-#define MBUF_RAW_ALLOC_CHECK(m) do {				\
-	RTE_ASSERT(rte_mbuf_refcnt_read(m) == 1);		\
-	RTE_ASSERT((m)->next == NULL);				\
-	RTE_ASSERT((m)->nb_segs == 1);				\
-	__rte_mbuf_sanity_check(m, 0);				\
-} while (0)
+#if defined(RTE_ENABLE_ASSERT) || defined(RTE_LIBRTE_MBUF_DEBUG)
+/**
+ * Sanity checks on a reinitialized mbuf.
+ *
+ * Check the consistency of the given reinitialized mbuf.
+ * The function will cause a panic if corruption is detected.
+ *
+ * Check that the mbuf is properly reinitialized (refcnt=1, next=NULL,
+ * nb_segs=1), as done by rte_pktmbuf_prefree_seg().
+ *
+ * @param m
+ *   The mbuf to be checked.
+ */
+static __rte_always_inline void
+__rte_mbuf_raw_sanity_check(const struct rte_mbuf *m)
+{
+	RTE_ASSERT(rte_mbuf_refcnt_read(m) == 1);
+	RTE_ASSERT(m->next == NULL);
+	RTE_ASSERT(m->nb_segs == 1);
+	__rte_mbuf_sanity_check(m, 0);
+}
+#else
+static __rte_always_inline void
+__rte_mbuf_raw_sanity_check(const struct rte_mbuf *m __rte_unused)
+{
+    /* Nothing here. */
+}
+#endif
+/** For backwards compatibility. */
+#define MBUF_RAW_ALLOC_CHECK(m) __rte_mbuf_raw_sanity_check(m)
 
 /**
  * Allocate an uninitialized mbuf from mempool *mp*.
@@ -586,7 +610,7 @@ static inline struct rte_mbuf *rte_mbuf_raw_alloc(struct rte_mempool *mp)
 
 	if (rte_mempool_get(mp, (void **)&m) < 0)
 		return NULL;
-	MBUF_RAW_ALLOC_CHECK(m);
+	__rte_mbuf_raw_sanity_check(m);
 	return m;
 }
 
@@ -609,10 +633,7 @@ rte_mbuf_raw_free(struct rte_mbuf *m)
 {
 	RTE_ASSERT(!RTE_MBUF_CLONED(m) &&
 		  (!RTE_MBUF_HAS_EXTBUF(m) || RTE_MBUF_HAS_PINNED_EXTBUF(m)));
-	RTE_ASSERT(rte_mbuf_refcnt_read(m) == 1);
-	RTE_ASSERT(m->next == NULL);
-	RTE_ASSERT(m->nb_segs == 1);
-	__rte_mbuf_sanity_check(m, 0);
+	__rte_mbuf_raw_sanity_check(m);
 	rte_mempool_put(m->pool, m);
 }
 
@@ -858,8 +879,6 @@ static inline void rte_pktmbuf_reset_headroom(struct rte_mbuf *m)
  * @param m
  *   The packet mbuf to be reset.
  */
-#define MBUF_INVALID_PORT UINT16_MAX
-
 static inline void rte_pktmbuf_reset(struct rte_mbuf *m)
 {
 	m->next = NULL;
@@ -868,7 +887,7 @@ static inline void rte_pktmbuf_reset(struct rte_mbuf *m)
 	m->vlan_tci = 0;
 	m->vlan_tci_outer = 0;
 	m->nb_segs = 1;
-	m->port = MBUF_INVALID_PORT;
+	m->port = RTE_MBUF_PORT_INVALID;
 
 	m->ol_flags &= EXT_ATTACHED_MBUF;
 	m->packet_type = 0;
@@ -931,22 +950,22 @@ static inline int rte_pktmbuf_alloc_bulk(struct rte_mempool *pool,
 	switch (count % 4) {
 	case 0:
 		while (idx != count) {
-			MBUF_RAW_ALLOC_CHECK(mbufs[idx]);
+			__rte_mbuf_raw_sanity_check(mbufs[idx]);
 			rte_pktmbuf_reset(mbufs[idx]);
 			idx++;
 			/* fall-through */
 	case 3:
-			MBUF_RAW_ALLOC_CHECK(mbufs[idx]);
+			__rte_mbuf_raw_sanity_check(mbufs[idx]);
 			rte_pktmbuf_reset(mbufs[idx]);
 			idx++;
 			/* fall-through */
 	case 2:
-			MBUF_RAW_ALLOC_CHECK(mbufs[idx]);
+			__rte_mbuf_raw_sanity_check(mbufs[idx]);
 			rte_pktmbuf_reset(mbufs[idx]);
 			idx++;
 			/* fall-through */
 	case 1:
-			MBUF_RAW_ALLOC_CHECK(mbufs[idx]);
+			__rte_mbuf_raw_sanity_check(mbufs[idx]);
 			rte_pktmbuf_reset(mbufs[idx]);
 			idx++;
 			/* fall-through */
diff --git a/lib/librte_mbuf/rte_mbuf_core.h b/lib/librte_mbuf/rte_mbuf_core.h
index 8cd7137ac..4ac5609e3 100644
--- a/lib/librte_mbuf/rte_mbuf_core.h
+++ b/lib/librte_mbuf/rte_mbuf_core.h
@@ -272,7 +272,7 @@ extern "C" {
  * mbuf 'vlan_tci' & 'vlan_tci_outer' must be valid when this flag is set.
  */
 #define PKT_TX_QINQ        (1ULL << 49)
-/* this old name is deprecated */
+/** This old name is deprecated. */
 #define PKT_TX_QINQ_PKT    PKT_TX_QINQ
 
 /**
@@ -686,7 +686,7 @@ struct rte_mbuf_ext_shared_info {
 	};
 };
 
-/**< Maximum number of nb_segs allowed. */
+/** Maximum number of nb_segs allowed. */
 #define RTE_MBUF_MAX_NB_SEGS	UINT16_MAX
 
 /**
@@ -714,7 +714,10 @@ struct rte_mbuf_ext_shared_info {
 #define RTE_MBUF_DIRECT(mb) \
 	(!((mb)->ol_flags & (IND_ATTACHED_MBUF | EXT_ATTACHED_MBUF)))
 
-#define MBUF_INVALID_PORT UINT16_MAX
+/** NULL value for the uint16_t port type. */
+#define RTE_MBUF_PORT_INVALID UINT16_MAX
+/** For backwards compatibility. */
+#define MBUF_INVALID_PORT RTE_MBUF_PORT_INVALID
 
 /**
  * A macro that points to an offset into the data in the mbuf.
-- 
2.17.1


^ permalink raw reply	[relevance 3%]

* [dpdk-dev] [PATCH v3] mbuf: minor cleanup
@ 2020-09-16 10:40  3% Morten Brørup
  0 siblings, 0 replies; 200+ results
From: Morten Brørup @ 2020-09-16 10:40 UTC (permalink / raw)
  To: olivier.matz, thomas; +Cc: dev, Morten Brørup

The mbuf header files had some commenting style errors that affected the
API documentation.
Also, the RTE_ prefix was missing on a macro and a definition.

Note: This patch does not touch the offload and attachment flags that are
also missing the RTE_ prefix.

Changes only affecting documentation:
* Removed the MBUF_INVALID_PORT definition from rte_mbuf.h; it is
  already defined in rte_mbuf_core.h.
  This removal also reestablished the description of the
  rte_pktmbuf_reset() function.
* Corrected the comment related to RTE_MBUF_MAX_NB_SEGS.
* Corrected the comment related to PKT_TX_QINQ_PKT.

Changes regarding missing RTE_ prefix:
* Converted the MBUF_RAW_ALLOC_CHECK() macro to an
  __rte_mbuf_raw_sanity_check() inline function.
  Added backwards compatible macro with the original name.
* Renamed the MBUF_INVALID_PORT definition to RTE_MBUF_PORT_INVALID.
  Added backwards compatible definition with the original name.

v2:
* Use RTE_MBUF_PORT_INVALID instead of MBUF_INVALID_PORT in rte_mbuf.c.

v3:
* The functions/macros used in __rte_mbuf_raw_sanity_check() require
  RTE_ENABLE_ASSERT or RTE_LIBRTE_MBUF_DEBUG, or they don't use the mbuf
  parameter, which generates a compiler waning. So mark the mbuf parameter
  __rte_unused if none of them are defined.

Signed-off-by: Morten Brørup <mb@smartsharesystems.com>
---
 doc/guides/rel_notes/deprecation.rst |  7 ----
 lib/librte_mbuf/rte_mbuf.c           |  4 +-
 lib/librte_mbuf/rte_mbuf.h           | 55 +++++++++++++++++++---------
 lib/librte_mbuf/rte_mbuf_core.h      |  9 +++--
 4 files changed, 45 insertions(+), 30 deletions(-)

diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 279eccb04..88d7d0761 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -294,13 +294,6 @@ Deprecation Notices
   - https://patches.dpdk.org/patch/71457/
   - https://patches.dpdk.org/patch/71456/
 
-* rawdev: The rawdev APIs which take a device-specific structure as
-  parameter directly, or indirectly via a "private" pointer inside another
-  structure, will be modified to take an additional parameter of the
-  structure size. The affected APIs will include ``rte_rawdev_info_get``,
-  ``rte_rawdev_configure``, ``rte_rawdev_queue_conf_get`` and
-  ``rte_rawdev_queue_setup``.
-
 * acl: ``RTE_ACL_CLASSIFY_NUM`` enum value will be removed.
   This enum value is not used inside DPDK, while it prevents to add new
   classify algorithms without causing an ABI breakage.
diff --git a/lib/librte_mbuf/rte_mbuf.c b/lib/librte_mbuf/rte_mbuf.c
index 8a456e5e6..53a015311 100644
--- a/lib/librte_mbuf/rte_mbuf.c
+++ b/lib/librte_mbuf/rte_mbuf.c
@@ -104,7 +104,7 @@ rte_pktmbuf_init(struct rte_mempool *mp,
 	/* init some constant fields */
 	m->pool = mp;
 	m->nb_segs = 1;
-	m->port = MBUF_INVALID_PORT;
+	m->port = RTE_MBUF_PORT_INVALID;
 	rte_mbuf_refcnt_set(m, 1);
 	m->next = NULL;
 }
@@ -207,7 +207,7 @@ __rte_pktmbuf_init_extmem(struct rte_mempool *mp,
 	/* init some constant fields */
 	m->pool = mp;
 	m->nb_segs = 1;
-	m->port = MBUF_INVALID_PORT;
+	m->port = RTE_MBUF_PORT_INVALID;
 	m->ol_flags = EXT_ATTACHED_MBUF;
 	rte_mbuf_refcnt_set(m, 1);
 	m->next = NULL;
diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h
index 7259575a7..406d3abb2 100644
--- a/lib/librte_mbuf/rte_mbuf.h
+++ b/lib/librte_mbuf/rte_mbuf.h
@@ -554,12 +554,36 @@ __rte_experimental
 int rte_mbuf_check(const struct rte_mbuf *m, int is_header,
 		   const char **reason);
 
-#define MBUF_RAW_ALLOC_CHECK(m) do {				\
-	RTE_ASSERT(rte_mbuf_refcnt_read(m) == 1);		\
-	RTE_ASSERT((m)->next == NULL);				\
-	RTE_ASSERT((m)->nb_segs == 1);				\
-	__rte_mbuf_sanity_check(m, 0);				\
-} while (0)
+#if defined(RTE_ENABLE_ASSERT) || defined(RTE_LIBRTE_MBUF_DEBUG)
+/**
+ * Sanity checks on a reinitialized mbuf.
+ *
+ * Check the consistency of the given reinitialized mbuf.
+ * The function will cause a panic if corruption is detected.
+ *
+ * Check that the mbuf is properly reinitialized (refcnt=1, next=NULL,
+ * nb_segs=1), as done by rte_pktmbuf_prefree_seg().
+ *
+ * @param m
+ *   The mbuf to be checked.
+ */
+static __rte_always_inline void
+__rte_mbuf_raw_sanity_check(const struct rte_mbuf *m)
+{
+	RTE_ASSERT(rte_mbuf_refcnt_read(m) == 1);
+	RTE_ASSERT(m->next == NULL);
+	RTE_ASSERT(m->nb_segs == 1);
+	__rte_mbuf_sanity_check(m, 0);
+}
+#else
+static __rte_always_inline void
+__rte_mbuf_raw_sanity_check(const struct rte_mbuf *m __rte_unused)
+{
+    /* Nothing here. */
+}
+#endif
+/** For backwards compatibility. */
+#define MBUF_RAW_ALLOC_CHECK(m) __rte_mbuf_raw_sanity_check(m)
 
 /**
  * Allocate an uninitialized mbuf from mempool *mp*.
@@ -586,7 +610,7 @@ static inline struct rte_mbuf *rte_mbuf_raw_alloc(struct rte_mempool *mp)
 
 	if (rte_mempool_get(mp, (void **)&m) < 0)
 		return NULL;
-	MBUF_RAW_ALLOC_CHECK(m);
+	__rte_mbuf_raw_sanity_check(m);
 	return m;
 }
 
@@ -609,10 +633,7 @@ rte_mbuf_raw_free(struct rte_mbuf *m)
 {
 	RTE_ASSERT(!RTE_MBUF_CLONED(m) &&
 		  (!RTE_MBUF_HAS_EXTBUF(m) || RTE_MBUF_HAS_PINNED_EXTBUF(m)));
-	RTE_ASSERT(rte_mbuf_refcnt_read(m) == 1);
-	RTE_ASSERT(m->next == NULL);
-	RTE_ASSERT(m->nb_segs == 1);
-	__rte_mbuf_sanity_check(m, 0);
+	__rte_mbuf_raw_sanity_check(m);
 	rte_mempool_put(m->pool, m);
 }
 
@@ -858,8 +879,6 @@ static inline void rte_pktmbuf_reset_headroom(struct rte_mbuf *m)
  * @param m
  *   The packet mbuf to be reset.
  */
-#define MBUF_INVALID_PORT UINT16_MAX
-
 static inline void rte_pktmbuf_reset(struct rte_mbuf *m)
 {
 	m->next = NULL;
@@ -868,7 +887,7 @@ static inline void rte_pktmbuf_reset(struct rte_mbuf *m)
 	m->vlan_tci = 0;
 	m->vlan_tci_outer = 0;
 	m->nb_segs = 1;
-	m->port = MBUF_INVALID_PORT;
+	m->port = RTE_MBUF_PORT_INVALID;
 
 	m->ol_flags &= EXT_ATTACHED_MBUF;
 	m->packet_type = 0;
@@ -931,22 +950,22 @@ static inline int rte_pktmbuf_alloc_bulk(struct rte_mempool *pool,
 	switch (count % 4) {
 	case 0:
 		while (idx != count) {
-			MBUF_RAW_ALLOC_CHECK(mbufs[idx]);
+			__rte_mbuf_raw_sanity_check(mbufs[idx]);
 			rte_pktmbuf_reset(mbufs[idx]);
 			idx++;
 			/* fall-through */
 	case 3:
-			MBUF_RAW_ALLOC_CHECK(mbufs[idx]);
+			__rte_mbuf_raw_sanity_check(mbufs[idx]);
 			rte_pktmbuf_reset(mbufs[idx]);
 			idx++;
 			/* fall-through */
 	case 2:
-			MBUF_RAW_ALLOC_CHECK(mbufs[idx]);
+			__rte_mbuf_raw_sanity_check(mbufs[idx]);
 			rte_pktmbuf_reset(mbufs[idx]);
 			idx++;
 			/* fall-through */
 	case 1:
-			MBUF_RAW_ALLOC_CHECK(mbufs[idx]);
+			__rte_mbuf_raw_sanity_check(mbufs[idx]);
 			rte_pktmbuf_reset(mbufs[idx]);
 			idx++;
 			/* fall-through */
diff --git a/lib/librte_mbuf/rte_mbuf_core.h b/lib/librte_mbuf/rte_mbuf_core.h
index 8cd7137ac..4ac5609e3 100644
--- a/lib/librte_mbuf/rte_mbuf_core.h
+++ b/lib/librte_mbuf/rte_mbuf_core.h
@@ -272,7 +272,7 @@ extern "C" {
  * mbuf 'vlan_tci' & 'vlan_tci_outer' must be valid when this flag is set.
  */
 #define PKT_TX_QINQ        (1ULL << 49)
-/* this old name is deprecated */
+/** This old name is deprecated. */
 #define PKT_TX_QINQ_PKT    PKT_TX_QINQ
 
 /**
@@ -686,7 +686,7 @@ struct rte_mbuf_ext_shared_info {
 	};
 };
 
-/**< Maximum number of nb_segs allowed. */
+/** Maximum number of nb_segs allowed. */
 #define RTE_MBUF_MAX_NB_SEGS	UINT16_MAX
 
 /**
@@ -714,7 +714,10 @@ struct rte_mbuf_ext_shared_info {
 #define RTE_MBUF_DIRECT(mb) \
 	(!((mb)->ol_flags & (IND_ATTACHED_MBUF | EXT_ATTACHED_MBUF)))
 
-#define MBUF_INVALID_PORT UINT16_MAX
+/** NULL value for the uint16_t port type. */
+#define RTE_MBUF_PORT_INVALID UINT16_MAX
+/** For backwards compatibility. */
+#define MBUF_INVALID_PORT RTE_MBUF_PORT_INVALID
 
 /**
  * A macro that points to an offset into the data in the mbuf.
-- 
2.17.1


^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] [PATCH 2/2] lpm: hide internal data
  2020-09-15 16:28  3%     ` Medvedkin, Vladimir
@ 2020-09-16  3:17  3%       ` Ruifeng Wang
  0 siblings, 0 replies; 200+ results
From: Ruifeng Wang @ 2020-09-16  3:17 UTC (permalink / raw)
  To: Medvedkin, Vladimir, Bruce Richardson; +Cc: dev, Honnappa Nagarahalli, nd, nd


> -----Original Message-----
> From: Medvedkin, Vladimir <vladimir.medvedkin@intel.com>
> Sent: Wednesday, September 16, 2020 12:28 AM
> To: Bruce Richardson <bruce.richardson@intel.com>; Ruifeng Wang
> <Ruifeng.Wang@arm.com>
> Cc: dev@dpdk.org; Honnappa Nagarahalli
> <Honnappa.Nagarahalli@arm.com>; nd <nd@arm.com>
> Subject: Re: [PATCH 2/2] lpm: hide internal data
> 
> Hi Ruifeng,
> 
> On 15/09/2020 17:02, Bruce Richardson wrote:
> > On Mon, Sep 07, 2020 at 04:15:17PM +0800, Ruifeng Wang wrote:
> >> Fields except tbl24 and tbl8 in rte_lpm structure have no need to be
> >> exposed to the user.
> >> Hide the unneeded exposure of structure fields for better ABI
> >> maintainability.
> >>
> >> Suggested-by: David Marchand <david.marchand@redhat.com>
> >> Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com>
> >> Reviewed-by: Phil Yang <phil.yang@arm.com>
> >> ---
> >>   lib/librte_lpm/rte_lpm.c | 152 +++++++++++++++++++++++---------------
> -
> >>   lib/librte_lpm/rte_lpm.h |   7 --
> >>   2 files changed, 91 insertions(+), 68 deletions(-)
> >>
> > <snip>
> >> diff --git a/lib/librte_lpm/rte_lpm.h b/lib/librte_lpm/rte_lpm.h
> >> index 03da2d37e..112d96f37 100644
> >> --- a/lib/librte_lpm/rte_lpm.h
> >> +++ b/lib/librte_lpm/rte_lpm.h
> >> @@ -132,17 +132,10 @@ struct rte_lpm_rule_info {
> >>
> >>   /** @internal LPM structure. */
> >>   struct rte_lpm {
> >> -	/* LPM metadata. */
> >> -	char name[RTE_LPM_NAMESIZE];        /**< Name of the lpm. */
> >> -	uint32_t max_rules; /**< Max. balanced rules per lpm. */
> >> -	uint32_t number_tbl8s; /**< Number of tbl8s. */
> >> -	struct rte_lpm_rule_info rule_info[RTE_LPM_MAX_DEPTH]; /**<
> Rule info table. */
> >> -
> >>   	/* LPM Tables. */
> >>   	struct rte_lpm_tbl_entry tbl24[RTE_LPM_TBL24_NUM_ENTRIES]
> >>   			__rte_cache_aligned; /**< LPM tbl24 table. */
> >>   	struct rte_lpm_tbl_entry *tbl8; /**< LPM tbl8 table. */
> >> -	struct rte_lpm_rule *rules_tbl; /**< LPM rules. */
> >>   };
> >>
> >
> > Since this changes the ABI, does it not need advance notice?
> >
> > [Basically the return value point from rte_lpm_create() will be
> > different, and that return value could be used by rte_lpm_lookup()
> > which as a static inline function will be in the binary and using the
> > old structure offsets.]
> >
> 
> Agree with Bruce, this patch breaks ABI, so it can't be accepted without prior
> notice.
> 
So if the change wants to happen in 20.11, a deprecation notice should have been
added in 20.08.
I should have added a deprecation notice. This change will have to wait for next ABI update window.

Thanks.
Ruifeng
> >>   /** LPM RCU QSBR configuration structure. */
> >> --
> >> 2.17.1
> >>
> 
> --
> Regards,
> Vladimir

^ permalink raw reply	[relevance 3%]

* [dpdk-dev] [PATCH v2 03/12] acl: remove of unused enum value
  2020-09-15 16:50  3% ` [dpdk-dev] [PATCH v2 00/12] " Konstantin Ananyev
@ 2020-09-15 16:50 20%   ` Konstantin Ananyev
  0 siblings, 0 replies; 200+ results
From: Konstantin Ananyev @ 2020-09-15 16:50 UTC (permalink / raw)
  To: dev; +Cc: jerinj, ruifeng.wang, vladimir.medvedkin, Konstantin Ananyev

Removal of unused enum value (RTE_ACL_CLASSIFY_NUM).
This enum value is not used inside DPDK, while it prevents
to add new classify algorithms without causing an ABI breakage.

Note that this change introduce a formal ABI incompatibility
with previous versions of ACL library.

Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
---
 doc/guides/rel_notes/deprecation.rst   | 4 ----
 doc/guides/rel_notes/release_20_11.rst | 4 ++++
 lib/librte_acl/rte_acl.h               | 1 -
 3 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 52168f775..3279a01ef 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -288,10 +288,6 @@ Deprecation Notices
   - https://patches.dpdk.org/patch/71457/
   - https://patches.dpdk.org/patch/71456/
 
-* acl: ``RTE_ACL_CLASSIFY_NUM`` enum value will be removed.
-  This enum value is not used inside DPDK, while it prevents to add new
-  classify algorithms without causing an ABI breakage.
-
 * sched: To allow more traffic classes, flexible mapping of pipe queues to
   traffic classes, and subport level configuration of pipes and queues
   changes will be made to macros, data structures and API functions defined
diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index b729bdf20..a9a1b0305 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -97,6 +97,10 @@ API Changes
   and the function ``rte_rawdev_queue_conf_get()``
   from ``void`` to ``int`` allowing the return of error codes from drivers.
 
+* acl: ``RTE_ACL_CLASSIFY_NUM`` enum value has been removed.
+  This enum value was not used inside DPDK, while it prevented to add new
+  classify algorithms without causing an ABI breakage.
+
 
 ABI Changes
 -----------
diff --git a/lib/librte_acl/rte_acl.h b/lib/librte_acl/rte_acl.h
index aa22e70c6..b814423a6 100644
--- a/lib/librte_acl/rte_acl.h
+++ b/lib/librte_acl/rte_acl.h
@@ -241,7 +241,6 @@ enum rte_acl_classify_alg {
 	RTE_ACL_CLASSIFY_AVX2 = 3,    /**< requires AVX2 support. */
 	RTE_ACL_CLASSIFY_NEON = 4,    /**< requires NEON support. */
 	RTE_ACL_CLASSIFY_ALTIVEC = 5,    /**< requires ALTIVEC support. */
-	RTE_ACL_CLASSIFY_NUM          /* should always be the last one. */
 };
 
 /**
-- 
2.17.1


^ permalink raw reply	[relevance 20%]

* [dpdk-dev] [PATCH v2 00/12] acl: introduce AVX512 classify method
  @ 2020-09-15 16:50  3% ` Konstantin Ananyev
  2020-09-15 16:50 20%   ` [dpdk-dev] [PATCH v2 03/12] acl: remove of unused enum value Konstantin Ananyev
  0 siblings, 1 reply; 200+ results
From: Konstantin Ananyev @ 2020-09-15 16:50 UTC (permalink / raw)
  To: dev; +Cc: jerinj, ruifeng.wang, vladimir.medvedkin, Konstantin Ananyev

These patch series introduce support of AVX512 specific classify
implementation for ACL library.
Inside it contains two code-paths –
one uses mostly 256 bit instruction/registers and can
process up to 16 flows in parallel.
second uses 512 bit instruction/registers over majority of
places and can process up to 32 flows in parallel.
This runtime code-path selection is done internally based
on input burst size and is totally opaque to the user.
On my SKX box test-acl shows ~20-65% improvement
(depending on rule-set and input burst size)
when switching from AVX2 to AVX512 classify algorithms.
ICX and CLX testing showed similar level of speedup: up to ~50-60%.
Current AVX512 classify implementation is only supported on x86_64.
Note that this series introduce a formal ABI incompatibility
with previous versions of ACL library.

v1 -> v2:
  Deduplicated 8/16 code paths as much as possible
  Updated default algorithm selection
    Removed library constructor to make it easier integrate with
    https://patches.dpdk.org/project/dpdk/list/?series=11831
  Updated docs

These patch series depends on:
https://patches.dpdk.org/patch/73922/mbox/
to be applied first.

Konstantin Ananyev (12):
  acl: fix x86 build when compiler doesn't support AVX2
  doc: fix mixing classify methods in ACL guide
  acl: remove of unused enum value
  acl: remove library constructor
  app/acl: few small improvements
  test/acl: expand classify test coverage
  acl: add infrastructure to support AVX512 classify
  acl: introduce AVX512 classify implementation
  acl: enhance AVX512 classify implementation
  acl: for AVX512 classify use 4B load whenever possible
  test/acl: add AVX512 classify support
  app/acl: add AVX512 classify support

 app/test-acl/main.c                           |  19 +-
 app/test/test_acl.c                           | 104 ++--
 config/x86/meson.build                        |   3 +-
 .../prog_guide/packet_classif_access_ctrl.rst |  15 +
 doc/guides/rel_notes/deprecation.rst          |   4 -
 doc/guides/rel_notes/release_20_11.rst        |   9 +
 lib/librte_acl/acl.h                          |  12 +
 lib/librte_acl/acl_bld.c                      |  34 ++
 lib/librte_acl/acl_gen.c                      |   2 +-
 lib/librte_acl/acl_run_avx512.c               | 331 +++++++++++
 lib/librte_acl/acl_run_avx512x16.h            | 526 ++++++++++++++++++
 lib/librte_acl/acl_run_avx512x8.h             | 439 +++++++++++++++
 lib/librte_acl/meson.build                    |  39 ++
 lib/librte_acl/rte_acl.c                      | 198 +++++--
 lib/librte_acl/rte_acl.h                      |   3 +-
 15 files changed, 1638 insertions(+), 100 deletions(-)
 create mode 100644 lib/librte_acl/acl_run_avx512.c
 create mode 100644 lib/librte_acl/acl_run_avx512x16.h
 create mode 100644 lib/librte_acl/acl_run_avx512x8.h

-- 
2.17.1


^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] [PATCH 2/2] lpm: hide internal data
  2020-09-15 16:02  3%   ` Bruce Richardson
@ 2020-09-15 16:28  3%     ` Medvedkin, Vladimir
  2020-09-16  3:17  3%       ` Ruifeng Wang
  0 siblings, 1 reply; 200+ results
From: Medvedkin, Vladimir @ 2020-09-15 16:28 UTC (permalink / raw)
  To: Bruce Richardson, Ruifeng Wang; +Cc: dev, honnappa.nagarahalli, nd

Hi Ruifeng,

On 15/09/2020 17:02, Bruce Richardson wrote:
> On Mon, Sep 07, 2020 at 04:15:17PM +0800, Ruifeng Wang wrote:
>> Fields except tbl24 and tbl8 in rte_lpm structure have no
>> need to be exposed to the user.
>> Hide the unneeded exposure of structure fields for better
>> ABI maintainability.
>>
>> Suggested-by: David Marchand <david.marchand@redhat.com>
>> Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com>
>> Reviewed-by: Phil Yang <phil.yang@arm.com>
>> ---
>>   lib/librte_lpm/rte_lpm.c | 152 +++++++++++++++++++++++----------------
>>   lib/librte_lpm/rte_lpm.h |   7 --
>>   2 files changed, 91 insertions(+), 68 deletions(-)
>>
> <snip>
>> diff --git a/lib/librte_lpm/rte_lpm.h b/lib/librte_lpm/rte_lpm.h
>> index 03da2d37e..112d96f37 100644
>> --- a/lib/librte_lpm/rte_lpm.h
>> +++ b/lib/librte_lpm/rte_lpm.h
>> @@ -132,17 +132,10 @@ struct rte_lpm_rule_info {
>>   
>>   /** @internal LPM structure. */
>>   struct rte_lpm {
>> -	/* LPM metadata. */
>> -	char name[RTE_LPM_NAMESIZE];        /**< Name of the lpm. */
>> -	uint32_t max_rules; /**< Max. balanced rules per lpm. */
>> -	uint32_t number_tbl8s; /**< Number of tbl8s. */
>> -	struct rte_lpm_rule_info rule_info[RTE_LPM_MAX_DEPTH]; /**< Rule info table. */
>> -
>>   	/* LPM Tables. */
>>   	struct rte_lpm_tbl_entry tbl24[RTE_LPM_TBL24_NUM_ENTRIES]
>>   			__rte_cache_aligned; /**< LPM tbl24 table. */
>>   	struct rte_lpm_tbl_entry *tbl8; /**< LPM tbl8 table. */
>> -	struct rte_lpm_rule *rules_tbl; /**< LPM rules. */
>>   };
>>   
> 
> Since this changes the ABI, does it not need advance notice?
> 
> [Basically the return value point from rte_lpm_create() will be different,
> and that return value could be used by rte_lpm_lookup() which as a static
> inline function will be in the binary and using the old structure offsets.]
> 

Agree with Bruce, this patch breaks ABI, so it can't be accepted without 
prior notice.

>>   /** LPM RCU QSBR configuration structure. */
>> -- 
>> 2.17.1
>>

-- 
Regards,
Vladimir

^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] [PATCH 2/2] lpm: hide internal data
  2020-09-07  8:15  2% ` [dpdk-dev] [PATCH 2/2] lpm: hide internal data Ruifeng Wang
@ 2020-09-15 16:02  3%   ` Bruce Richardson
  2020-09-15 16:28  3%     ` Medvedkin, Vladimir
  0 siblings, 1 reply; 200+ results
From: Bruce Richardson @ 2020-09-15 16:02 UTC (permalink / raw)
  To: Ruifeng Wang; +Cc: Vladimir Medvedkin, dev, honnappa.nagarahalli, nd

On Mon, Sep 07, 2020 at 04:15:17PM +0800, Ruifeng Wang wrote:
> Fields except tbl24 and tbl8 in rte_lpm structure have no
> need to be exposed to the user.
> Hide the unneeded exposure of structure fields for better
> ABI maintainability.
> 
> Suggested-by: David Marchand <david.marchand@redhat.com>
> Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com>
> Reviewed-by: Phil Yang <phil.yang@arm.com>
> ---
>  lib/librte_lpm/rte_lpm.c | 152 +++++++++++++++++++++++----------------
>  lib/librte_lpm/rte_lpm.h |   7 --
>  2 files changed, 91 insertions(+), 68 deletions(-)
> 
<snip>
> diff --git a/lib/librte_lpm/rte_lpm.h b/lib/librte_lpm/rte_lpm.h
> index 03da2d37e..112d96f37 100644
> --- a/lib/librte_lpm/rte_lpm.h
> +++ b/lib/librte_lpm/rte_lpm.h
> @@ -132,17 +132,10 @@ struct rte_lpm_rule_info {
>  
>  /** @internal LPM structure. */
>  struct rte_lpm {
> -	/* LPM metadata. */
> -	char name[RTE_LPM_NAMESIZE];        /**< Name of the lpm. */
> -	uint32_t max_rules; /**< Max. balanced rules per lpm. */
> -	uint32_t number_tbl8s; /**< Number of tbl8s. */
> -	struct rte_lpm_rule_info rule_info[RTE_LPM_MAX_DEPTH]; /**< Rule info table. */
> -
>  	/* LPM Tables. */
>  	struct rte_lpm_tbl_entry tbl24[RTE_LPM_TBL24_NUM_ENTRIES]
>  			__rte_cache_aligned; /**< LPM tbl24 table. */
>  	struct rte_lpm_tbl_entry *tbl8; /**< LPM tbl8 table. */
> -	struct rte_lpm_rule *rules_tbl; /**< LPM rules. */
>  };
>  

Since this changes the ABI, does it not need advance notice?

[Basically the return value point from rte_lpm_create() will be different,
and that return value could be used by rte_lpm_lookup() which as a static
inline function will be in the binary and using the old structure offsets.]

>  /** LPM RCU QSBR configuration structure. */
> -- 
> 2.17.1
> 

^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] [PATCH v3 2/4] devtools: add generation of compressed abi dump archives
  2020-09-15 14:35  4%         ` Aaron Conole
@ 2020-09-15 14:49  4%           ` Walsh, Conor
  0 siblings, 0 replies; 200+ results
From: Walsh, Conor @ 2020-09-15 14:49 UTC (permalink / raw)
  To: Aaron Conole, Burakov, Anatoly
  Cc: dev, david.marchand, Kinsella, Ray, nhorman, maicolgabriel,
	thomas, Richardson, Bruce

> >> This patch adds a script that generates a compressed archive
> >> containing .dump files which can be used to perform ABI breakage
> >> checking for the build specified in the parameters.
> >> Invoke using "./gen-abi-tarball.py -t <tag> -a <arch> [-cf <cross-file>]"
> >>   - <tag>: dpdk tag e.g. "v20.11"
> >>   - <arch>: required architecture e.g. "arm" or "x86_64"
> >>   - <cross-file>: configuration file for cross compiling for another
> >>                   system, this flag is not required.
> >>                   e.g. "config/arm/arm64_armv8_linux_gcc"
> >> E.g. "./gen-abi-tarball.py -t latest -a x86_64"
> >> If a compiler is not specified using the CC environmental variable
> >> then the script will default to using gcc.
> >> Using these parameters the script will produce a .tar.gz archive
> >> containing .dump files required to do ABI breakage checking
> >>
> >> Signed-off-by: Conor Walsh <conor.walsh@intel.com>
> >> ---
> >
> > Just a general comment: this script looks like it's bash translated to
> > python. If you're going to do that, you might as well just write it in
> > bash?

I am currently reworking this script to make it less BASH like and use more Python native functions and modules.
Thank you for the feedback Anatoly, it was very helpful.

> >
> >>   devtools/gen-abi-tarball.py | 125
> ++++++++++++++++++++++++++++++++++++
> >>   1 file changed, 125 insertions(+)
> >>   create mode 100755 devtools/gen-abi-tarball.py
> >>
> >> diff --git a/devtools/gen-abi-tarball.py
> >> b/devtools/gen-abi-tarball.py new file mode 100755 index
> >> 000000000..06761fca6
> >> --- /dev/null
> >> +++ b/devtools/gen-abi-tarball.py
> >> @@ -0,0 +1,125 @@
> >> +#!/usr/bin/env python3
> >> +# SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2020 Intel
> >> +Corporation
> >> +
> >> +import sys
> >> +import os
> >> +import argparse
> >> +
> >
> > It is preferred to wrap executable code in "if __name__ ==
> > "__main__"..., helps with importing code while avoiding executing it
> > on import.
> 
> I wonder, since DPDK is supporting windows, we should prefer python to
> bash?  I do prefer to use bash because I don't use windows, but maybe that
> is a good reason?

This patchset does not support Windows currently but if it did in the future having the scripts written in Python would probably make this easier to implement.

> 
> >> +# Get command line arguments
> >> +parser = argparse.ArgumentParser(usage='\rThis script is intended to
> generate ABI dump tarballs\n'+
> >> +                                       'Supported environmental
> >> +variables\n'+
> >> + '\t- CC: The required compiler will be determined using this
> >> environmental variable.\n')
> >> +parser.add_argument('-t', '--tag', type=str, dest='tag', help='DPDK
> >> +tag e.g. latest or v20.11') parser.add_argument('-cf',
> >> +'--cross-file', type=str,
> >> dest='crosscompile', help='Set the location of a cross compile
> >> config')
> >> +parser.add_argument('-a', '--arch', type=str, dest='arch',
> >> +help='Arch arm or x86_64') args = parser.parse_args()
> >> +
> >> +# Get the DPDK tag if not supplied set as latest if args.tag:
> >> +    user_tag = args.tag
> >> +else:
> >> +    user_tag = 'latest'
> >> +    print('No tag supplied defaulting to latest')
> >
> > There's a "default" option for arguments.
> >
> >> +
> >> +# Get the cross-compile option
> >> +if args.crosscompile:
> >> +    cross_comp = args.crosscompile
> >> +    if not args.arch:
> >> +        sys.stderr.write('ERROR Arch must be set using -a when using cross
> compile\n')
> >> +        exit(1)
> >> +    cross_comp = os.path.abspath(cross_comp)
> >> +    cross_comp_meson = '--cross-file '+cross_comp
> >> +else:
> >> +    cross_comp = ''
> >> +    cross_comp_meson = ''
> >> +
> >> +# Get the required system architecture if not supplied set as x86_64
> >> +if args.arch:
> >> +    arch = args.arch
> >> +else:
> >> +    arch = os.popen('uname -m').read().strip()
> >
> > There's a built-in python library for this, i think it's called "platform".
> >
> >> +    print('No system architecture supplied defaulting to '+arch)
> >> +
> >> +tag = ''
> >> +# If the user did not supply tag or wants latest then get latest tag
> >> +if user_tag == 'latest':
> >> +    # Get latest quarterly build tag from git repo  tag =
> >> +os.popen('git ls-remote --tags http://dpdk.org/git/dpdk |
> >> grep -v "rc\|{}" | tail -n 1 | sed "s/.*\///"').read().strip()
> >> +else:
> >> +    tag = user_tag
> >> +    # If the user supplied tag is not in the DPDK repo then fail
> >> +tag_check = int(os.popen('git ls-remote http://dpdk.org/git/dpdk
> >> refs/tags/'+tag+' | wc -l').read().strip())
> >> +    if tag_check != 1:
> >> +        sys.stderr.write('ERROR supplied tag does not exist in DPDK repo\n')
> >> +        exit(1)
> >> +
> >> +# Get the specified compiler from system comp_env = 'CC'
> >> +if comp_env in os.environ:
> >> +    comp = os.environ[comp_env]
> >> +    comp_default = ''
> >> +else:
> >> +    print('No compiler specified, defaulting to gcc')
> >> +    comp = 'gcc'
> >> +    comp_default = 'CC=gcc'
> >> +
> >> +# Print the configuration to the user print('\nSelected Build:
> >> +'+tag+', Compiler: '+comp+', Architecture:
> >> '+arch+', Cross Compile: '+cross_comp)
> >
> > Here and in similar places: please don't use string concatenation, use
> > string formatting instead.
> >
> >> +
> >> +# Store the base directory script is working from baseDir =
> >> +os.getcwd() # Store devtools dir devtoolsDir =
> >> +os.path.abspath(os.path.dirname(os.path.realpath(sys.argv[0])))
> >> +
> >> +# Create directory for DPDK git repo and build
> >> +try:
> >> +    os.mkdir('dump_dpdk')
> >> +except OSError as error:
> >> + sys.stderr.write('ERROR The dump_dpdk directory could not be
> >> created, ensure it does not exist before start\n')
> >> +    exit(1)
> >> +os.chdir('dump_dpdk')
> >> +# Clone DPDK and switch to specified tag print('Cloning '+tag+' from
> >> +DPDK git') os.popen('git clone --quiet http://dpdk.org/git/dpdk
> >> +>/dev/null').read()
> >> +os.chdir('dpdk')
> >> +os.popen('git checkout --quiet '+tag+' >/dev/null').read()
> >> +
> >> +# Create build folder with meson and set debug build and cross
> >> +compile (if needed) print('Configuring Meson')
> >> +os.popen(comp_default+' meson dumpbuild '+cross_comp_meson+'
> >> +>/dev/null').read()
> >
> > You do this os.popen(something > /dev/bull).read() quite a lot, maybe
> > put it into a function? Also, since you're discarding the data anyway
> > -
> > why os.popen().read() instead of os.system()?
> >
> >> +os.chdir('dumpbuild')
> >> +os.popen('meson configure -Dbuildtype=debug >/dev/null').read()
> >> +print('Building DPDK . . .') #Build DPDK with ninja os.popen('ninja
> >> +>/dev/null').read() gccDir = os.getcwd()
> >> +
> >> +# Create directory for abi dump files dumpDir =
> >> +os.path.join(baseDir,tag+'-'+comp+'-'+arch+'-abi_dump')
> >> +try:
> >> +    os.mkdir(dumpDir)
> >> +except OSError as error:
> >> +    sys.stderr.write('ERROR The '+dumpDir+' directory could not be
> created\n')
> >> +    os.popen('rm -rf '+os.path.join(baseDir,'dump_dpdk')).read()
> >> +    exit(1)
> >> +
> >> +# Create dump files and output to dump directory print('Generating
> >> +ABI dump files') genabiout =
> >> +os.popen(os.path.join(devtoolsDir,'gen-abi.sh')+' '+gccDir).read()
> >> +os.popen('cp dump/* '+dumpDir).read()
> >> +
> >> +# Compress the dump directory
> >> +print('Creating Tarball of dump files')
> >> +os.chdir(baseDir)
> >> +origSize = os.popen('du -sh '+dumpDir+' | sed "s/\s.*$//"').read()
> >> +os.popen('tar -czf '+dumpDir.split('/')[-1]+'.tar.gz
> >> +'+dumpDir.split('/')[-1]+' >/dev/null').read() newSize =
> >> +os.popen('du -sh '+dumpDir+'.tar.gz | sed "s/\s.*$//"').read()
> >> +
> >> +# Remove all temporary directories
> >> +print('Cleaning up temporary directories') os.popen('rm -rf
> >> +'+dumpDir).read() os.popen('rm -rf
> >> +'+os.path.join(baseDir,'dump_dpdk')).read()
> >> +
> >> +#Print output of the script to the user print('\nDump of DPDK ABI
> >> +'+tag+' is available in
> >> '+dumpDir.split('/')[-1]+'.tar.gz (Original Size:
> >> '+origSize.strip()+', Compressed Size:'+newSize.strip()+')\n')
> >>

Thanks,
Conor.


^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] [PATCH v3 2/4] devtools: add generation of compressed abi dump archives
  2020-09-14 12:50  4%       ` Burakov, Anatoly
@ 2020-09-15 14:35  4%         ` Aaron Conole
  2020-09-15 14:49  4%           ` Walsh, Conor
  0 siblings, 1 reply; 200+ results
From: Aaron Conole @ 2020-09-15 14:35 UTC (permalink / raw)
  To: Burakov, Anatoly
  Cc: Conor Walsh, dev, david.marchand, ray.kinsella, nhorman,
	maicolgabriel, thomas, bruce.richardson

"Burakov, Anatoly" <anatoly.burakov@intel.com> writes:

> On 11-Sep-20 5:03 PM, Conor Walsh wrote:
>> This patch adds a script that generates a compressed archive
>> containing .dump files which can be used to perform ABI
>> breakage checking for the build specified in the parameters.
>> Invoke using "./gen-abi-tarball.py -t <tag> -a <arch> [-cf <cross-file>]"
>>   - <tag>: dpdk tag e.g. "v20.11"
>>   - <arch>: required architecture e.g. "arm" or "x86_64"
>>   - <cross-file>: configuration file for cross compiling for another
>>                   system, this flag is not required.
>>                   e.g. "config/arm/arm64_armv8_linux_gcc"
>> E.g. "./gen-abi-tarball.py -t latest -a x86_64"
>> If a compiler is not specified using the CC environmental variable then
>> the script will default to using gcc.
>> Using these parameters the script will produce a .tar.gz archive
>> containing .dump files required to do ABI breakage checking
>>
>> Signed-off-by: Conor Walsh <conor.walsh@intel.com>
>> ---
>
> Just a general comment: this script looks like it's bash translated to
> python. If you're going to do that, you might as well just write it in
> bash?
>
>>   devtools/gen-abi-tarball.py | 125 ++++++++++++++++++++++++++++++++++++
>>   1 file changed, 125 insertions(+)
>>   create mode 100755 devtools/gen-abi-tarball.py
>>
>> diff --git a/devtools/gen-abi-tarball.py b/devtools/gen-abi-tarball.py
>> new file mode 100755
>> index 000000000..06761fca6
>> --- /dev/null
>> +++ b/devtools/gen-abi-tarball.py
>> @@ -0,0 +1,125 @@
>> +#!/usr/bin/env python3
>> +# SPDX-License-Identifier: BSD-3-Clause
>> +# Copyright(c) 2020 Intel Corporation
>> +
>> +import sys
>> +import os
>> +import argparse
>> +
>
> It is preferred to wrap executable code in "if __name__ ==
> "__main__"..., helps with importing code while avoiding executing it
> on import.

I wonder, since DPDK is supporting windows, we should prefer python to
bash?  I do prefer to use bash because I don't use windows, but maybe
that is a good reason?

>> +# Get command line arguments
>> +parser = argparse.ArgumentParser(usage='\rThis script is intended to generate ABI dump tarballs\n'+
>> +                                       'Supported environmental variables\n'+
>> + '\t- CC: The required compiler will be determined using this
>> environmental variable.\n')
>> +parser.add_argument('-t', '--tag', type=str, dest='tag', help='DPDK tag e.g. latest or v20.11')
>> +parser.add_argument('-cf', '--cross-file', type=str,
>> dest='crosscompile', help='Set the location of a cross compile
>> config')
>> +parser.add_argument('-a', '--arch', type=str, dest='arch', help='Arch arm or x86_64')
>> +args = parser.parse_args()
>> +
>> +# Get the DPDK tag if not supplied set as latest
>> +if args.tag:
>> +    user_tag = args.tag
>> +else:
>> +    user_tag = 'latest'
>> +    print('No tag supplied defaulting to latest')
>
> There's a "default" option for arguments.
>
>> +
>> +# Get the cross-compile option
>> +if args.crosscompile:
>> +    cross_comp = args.crosscompile
>> +    if not args.arch:
>> +        sys.stderr.write('ERROR Arch must be set using -a when using cross compile\n')
>> +        exit(1)
>> +    cross_comp = os.path.abspath(cross_comp)
>> +    cross_comp_meson = '--cross-file '+cross_comp
>> +else:
>> +    cross_comp = ''
>> +    cross_comp_meson = ''
>> +
>> +# Get the required system architecture if not supplied set as x86_64
>> +if args.arch:
>> +    arch = args.arch
>> +else:
>> +    arch = os.popen('uname -m').read().strip()
>
> There's a built-in python library for this, i think it's called "platform".
>
>> +    print('No system architecture supplied defaulting to '+arch)
>> +
>> +tag = ''
>> +# If the user did not supply tag or wants latest then get latest tag
>> +if user_tag == 'latest':
>> +    # Get latest quarterly build tag from git repo
>> + tag = os.popen('git ls-remote --tags http://dpdk.org/git/dpdk |
>> grep -v "rc\|{}" | tail -n 1 | sed "s/.*\///"').read().strip()
>> +else:
>> +    tag = user_tag
>> +    # If the user supplied tag is not in the DPDK repo then fail
>> + tag_check = int(os.popen('git ls-remote http://dpdk.org/git/dpdk
>> refs/tags/'+tag+' | wc -l').read().strip())
>> +    if tag_check != 1:
>> +        sys.stderr.write('ERROR supplied tag does not exist in DPDK repo\n')
>> +        exit(1)
>> +
>> +# Get the specified compiler from system
>> +comp_env = 'CC'
>> +if comp_env in os.environ:
>> +    comp = os.environ[comp_env]
>> +    comp_default = ''
>> +else:
>> +    print('No compiler specified, defaulting to gcc')
>> +    comp = 'gcc'
>> +    comp_default = 'CC=gcc'
>> +
>> +# Print the configuration to the user
>> +print('\nSelected Build: '+tag+', Compiler: '+comp+', Architecture:
>> '+arch+', Cross Compile: '+cross_comp)
>
> Here and in similar places: please don't use string concatenation, use
> string formatting instead.
>
>> +
>> +# Store the base directory script is working from
>> +baseDir = os.getcwd()
>> +# Store devtools dir
>> +devtoolsDir = os.path.abspath(os.path.dirname(os.path.realpath(sys.argv[0])))
>> +
>> +# Create directory for DPDK git repo and build
>> +try:
>> +    os.mkdir('dump_dpdk')
>> +except OSError as error:
>> + sys.stderr.write('ERROR The dump_dpdk directory could not be
>> created, ensure it does not exist before start\n')
>> +    exit(1)
>> +os.chdir('dump_dpdk')
>> +# Clone DPDK and switch to specified tag
>> +print('Cloning '+tag+' from DPDK git')
>> +os.popen('git clone --quiet http://dpdk.org/git/dpdk >/dev/null').read()
>> +os.chdir('dpdk')
>> +os.popen('git checkout --quiet '+tag+' >/dev/null').read()
>> +
>> +# Create build folder with meson and set debug build and cross compile (if needed)
>> +print('Configuring Meson')
>> +os.popen(comp_default+' meson dumpbuild '+cross_comp_meson+' >/dev/null').read()
>
> You do this os.popen(something > /dev/bull).read() quite a lot, maybe
> put it into a function? Also, since you're discarding the data anyway
> - 
> why os.popen().read() instead of os.system()?
>
>> +os.chdir('dumpbuild')
>> +os.popen('meson configure -Dbuildtype=debug >/dev/null').read()
>> +print('Building DPDK . . .')
>> +#Build DPDK with ninja
>> +os.popen('ninja >/dev/null').read()
>> +gccDir = os.getcwd()
>> +
>> +# Create directory for abi dump files
>> +dumpDir = os.path.join(baseDir,tag+'-'+comp+'-'+arch+'-abi_dump')
>> +try:
>> +    os.mkdir(dumpDir)
>> +except OSError as error:
>> +    sys.stderr.write('ERROR The '+dumpDir+' directory could not be created\n')
>> +    os.popen('rm -rf '+os.path.join(baseDir,'dump_dpdk')).read()
>> +    exit(1)
>> +
>> +# Create dump files and output to dump directory
>> +print('Generating ABI dump files')
>> +genabiout = os.popen(os.path.join(devtoolsDir,'gen-abi.sh')+' '+gccDir).read()
>> +os.popen('cp dump/* '+dumpDir).read()
>> +
>> +# Compress the dump directory
>> +print('Creating Tarball of dump files')
>> +os.chdir(baseDir)
>> +origSize = os.popen('du -sh '+dumpDir+' | sed "s/\s.*$//"').read()
>> +os.popen('tar -czf '+dumpDir.split('/')[-1]+'.tar.gz '+dumpDir.split('/')[-1]+' >/dev/null').read()
>> +newSize = os.popen('du -sh '+dumpDir+'.tar.gz | sed "s/\s.*$//"').read()
>> +
>> +# Remove all temporary directories
>> +print('Cleaning up temporary directories')
>> +os.popen('rm -rf '+dumpDir).read()
>> +os.popen('rm -rf '+os.path.join(baseDir,'dump_dpdk')).read()
>> +
>> +#Print output of the script to the user
>> +print('\nDump of DPDK ABI '+tag+' is available in
>> '+dumpDir.split('/')[-1]+'.tar.gz (Original Size:
>> '+origSize.strip()+', Compressed Size:'+newSize.strip()+')\n')
>>


^ permalink raw reply	[relevance 4%]

* [dpdk-dev] [PATCH v3 03/17] eal: rename lcore word choices
  @ 2020-09-15 15:11  1%   ` Stephen Hemminger
  0 siblings, 0 replies; 200+ results
From: Stephen Hemminger @ 2020-09-15 15:11 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger

Replace master lcore with main lcore and
replace slave lcore with worker lcore.

Keep the old functions and macros but mark them as deprecated
for this release.

The "--master-lcore" command line option is also deprecated
and any usage will print a warning and use "--main-lcore"
as replacement.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 doc/guides/rel_notes/deprecation.rst       | 19 -------
 doc/guides/rel_notes/release_20_11.rst     | 11 ++++
 lib/librte_eal/common/eal_common_dynmem.c  | 10 ++--
 lib/librte_eal/common/eal_common_launch.c  | 36 ++++++-------
 lib/librte_eal/common/eal_common_lcore.c   |  8 +--
 lib/librte_eal/common/eal_common_options.c | 56 +++++++++++---------
 lib/librte_eal/common/eal_options.h        |  2 +
 lib/librte_eal/common/eal_private.h        |  6 +--
 lib/librte_eal/common/rte_random.c         |  2 +-
 lib/librte_eal/common/rte_service.c        |  2 +-
 lib/librte_eal/freebsd/eal.c               | 28 +++++-----
 lib/librte_eal/freebsd/eal_thread.c        | 32 ++++++------
 lib/librte_eal/include/rte_eal.h           |  4 +-
 lib/librte_eal/include/rte_eal_trace.h     |  4 +-
 lib/librte_eal/include/rte_launch.h        | 60 ++++++++++++----------
 lib/librte_eal/include/rte_lcore.h         | 35 +++++++++----
 lib/librte_eal/linux/eal.c                 | 28 +++++-----
 lib/librte_eal/linux/eal_memory.c          | 10 ++--
 lib/librte_eal/linux/eal_thread.c          | 32 ++++++------
 lib/librte_eal/rte_eal_version.map         |  2 +-
 lib/librte_eal/windows/eal.c               | 16 +++---
 lib/librte_eal/windows/eal_thread.c        | 30 +++++------
 22 files changed, 226 insertions(+), 207 deletions(-)

diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 52168f775198..4132fb4b7c46 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -25,25 +25,6 @@ Deprecation Notices
 * kvargs: The function ``rte_kvargs_process`` will get a new parameter
   for returning key match count. It will ease handling of no-match case.
 
-* eal: To be more inclusive in choice of naming, the DPDK project
-  will replace uses of master/slave in the API's and command line arguments.
-
-  References to master/slave in relation to lcore will be renamed
-  to initial/worker.  The function ``rte_get_master_lcore()``
-  will be renamed to ``rte_get_initial_lcore()``.
-  For the 20.11 release, both names will be present and the
-  old function will be marked with the deprecated tag.
-  The old function will be removed in a future version.
-
-  The iterator for worker lcores will also change:
-  ``RTE_LCORE_FOREACH_SLAVE`` will be replaced with
-  ``RTE_LCORE_FOREACH_WORKER``.
-
-  The ``master-lcore`` argument to testpmd will be replaced
-  with ``initial-lcore``. The old ``master-lcore`` argument
-  will produce a runtime notification in 20.11 release, and
-  be removed completely in a future release.
-
 * eal: The terms blacklist and whitelist to describe devices used
   by DPDK will be replaced in the 20.11 relase.
   This will apply to command line arguments as well as macros.
diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index b729bdf20022..08e6fbcb3eb4 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -97,6 +97,17 @@ API Changes
   and the function ``rte_rawdev_queue_conf_get()``
   from ``void`` to ``int`` allowing the return of error codes from drivers.
 
+* eal: Changed the function ``rte_get_master_lcore()`` is
+  replaced to ``rte_get_main_lcore()``. The old function is deprecated.
+
+  The iterator for worker lcores will also change:
+  ``RTE_LCORE_FOREACH_SLAVE`` will be replaced with
+  ``RTE_LCORE_FOREACH_WORKER``.
+
+  The ``master-lcore`` argument to testpmd will be replaced
+  with ``main-lcore``. The old ``master-lcore`` argument
+  will produce a runtime notification in 20.11 release, and
+  be removed completely in a future release.
 
 ABI Changes
 -----------
diff --git a/lib/librte_eal/common/eal_common_dynmem.c b/lib/librte_eal/common/eal_common_dynmem.c
index 614648d8a4de..1cefe52443c4 100644
--- a/lib/librte_eal/common/eal_common_dynmem.c
+++ b/lib/librte_eal/common/eal_common_dynmem.c
@@ -427,19 +427,19 @@ eal_dynmem_calc_num_pages_per_socket(
 			total_size -= default_size;
 		}
 #else
-		/* in 32-bit mode, allocate all of the memory only on master
+		/* in 32-bit mode, allocate all of the memory only on main
 		 * lcore socket
 		 */
 		total_size = internal_conf->memory;
 		for (socket = 0; socket < RTE_MAX_NUMA_NODES && total_size != 0;
 				socket++) {
 			struct rte_config *cfg = rte_eal_get_configuration();
-			unsigned int master_lcore_socket;
+			unsigned int main_lcore_socket;
 
-			master_lcore_socket =
-				rte_lcore_to_socket_id(cfg->master_lcore);
+			main_lcore_socket =
+				rte_lcore_to_socket_id(cfg->main_lcore);
 
-			if (master_lcore_socket != socket)
+			if (main_lcore_socket != socket)
 				continue;
 
 			/* Update sizes */
diff --git a/lib/librte_eal/common/eal_common_launch.c b/lib/librte_eal/common/eal_common_launch.c
index cf52d717f68e..34f854ad80c8 100644
--- a/lib/librte_eal/common/eal_common_launch.c
+++ b/lib/librte_eal/common/eal_common_launch.c
@@ -21,55 +21,55 @@
  * Wait until a lcore finished its job.
  */
 int
-rte_eal_wait_lcore(unsigned slave_id)
+rte_eal_wait_lcore(unsigned worker_id)
 {
-	if (lcore_config[slave_id].state == WAIT)
+	if (lcore_config[worker_id].state == WAIT)
 		return 0;
 
-	while (lcore_config[slave_id].state != WAIT &&
-	       lcore_config[slave_id].state != FINISHED)
+	while (lcore_config[worker_id].state != WAIT &&
+	       lcore_config[worker_id].state != FINISHED)
 		rte_pause();
 
 	rte_rmb();
 
 	/* we are in finished state, go to wait state */
-	lcore_config[slave_id].state = WAIT;
-	return lcore_config[slave_id].ret;
+	lcore_config[worker_id].state = WAIT;
+	return lcore_config[worker_id].ret;
 }
 
 /*
- * Check that every SLAVE lcores are in WAIT state, then call
- * rte_eal_remote_launch() for all of them. If call_master is true
- * (set to CALL_MASTER), also call the function on the master lcore.
+ * Check that every WORKER lcores are in WAIT state, then call
+ * rte_eal_remote_launch() for all of them. If call_main is true
+ * (set to CALL_MAIN), also call the function on the main lcore.
  */
 int
 rte_eal_mp_remote_launch(int (*f)(void *), void *arg,
-			 enum rte_rmt_call_master_t call_master)
+			 enum rte_rmt_call_main_t call_main)
 {
 	int lcore_id;
-	int master = rte_get_master_lcore();
+	int main_lcore = rte_get_main_lcore();
 
 	/* check state of lcores */
-	RTE_LCORE_FOREACH_SLAVE(lcore_id) {
+	RTE_LCORE_FOREACH_WORKER(lcore_id) {
 		if (lcore_config[lcore_id].state != WAIT)
 			return -EBUSY;
 	}
 
 	/* send messages to cores */
-	RTE_LCORE_FOREACH_SLAVE(lcore_id) {
+	RTE_LCORE_FOREACH_WORKER(lcore_id) {
 		rte_eal_remote_launch(f, arg, lcore_id);
 	}
 
-	if (call_master == CALL_MASTER) {
-		lcore_config[master].ret = f(arg);
-		lcore_config[master].state = FINISHED;
+	if (call_main == CALL_MAIN) {
+		lcore_config[main_lcore].ret = f(arg);
+		lcore_config[main_lcore].state = FINISHED;
 	}
 
 	return 0;
 }
 
 /*
- * Return the state of the lcore identified by slave_id.
+ * Return the state of the lcore identified by worker_id.
  */
 enum rte_lcore_state_t
 rte_eal_get_lcore_state(unsigned lcore_id)
@@ -86,7 +86,7 @@ rte_eal_mp_wait_lcore(void)
 {
 	unsigned lcore_id;
 
-	RTE_LCORE_FOREACH_SLAVE(lcore_id) {
+	RTE_LCORE_FOREACH_WORKER(lcore_id) {
 		rte_eal_wait_lcore(lcore_id);
 	}
 }
diff --git a/lib/librte_eal/common/eal_common_lcore.c b/lib/librte_eal/common/eal_common_lcore.c
index d64569b3c758..66d6bad1a7d7 100644
--- a/lib/librte_eal/common/eal_common_lcore.c
+++ b/lib/librte_eal/common/eal_common_lcore.c
@@ -18,9 +18,9 @@
 #include "eal_private.h"
 #include "eal_thread.h"
 
-unsigned int rte_get_master_lcore(void)
+unsigned int rte_get_main_lcore(void)
 {
-	return rte_eal_get_configuration()->master_lcore;
+	return rte_eal_get_configuration()->main_lcore;
 }
 
 unsigned int rte_lcore_count(void)
@@ -93,7 +93,7 @@ int rte_lcore_is_enabled(unsigned int lcore_id)
 	return cfg->lcore_role[lcore_id] == ROLE_RTE;
 }
 
-unsigned int rte_get_next_lcore(unsigned int i, int skip_master, int wrap)
+unsigned int rte_get_next_lcore(unsigned int i, int skip_main, int wrap)
 {
 	i++;
 	if (wrap)
@@ -101,7 +101,7 @@ unsigned int rte_get_next_lcore(unsigned int i, int skip_master, int wrap)
 
 	while (i < RTE_MAX_LCORE) {
 		if (!rte_lcore_is_enabled(i) ||
-		    (skip_master && (i == rte_get_master_lcore()))) {
+		    (skip_main && (i == rte_get_main_lcore()))) {
 			i++;
 			if (wrap)
 				i %= RTE_MAX_LCORE;
diff --git a/lib/librte_eal/common/eal_common_options.c b/lib/librte_eal/common/eal_common_options.c
index a5426e12346a..667ba2111c1a 100644
--- a/lib/librte_eal/common/eal_common_options.c
+++ b/lib/librte_eal/common/eal_common_options.c
@@ -81,6 +81,7 @@ eal_long_options[] = {
 	{OPT_TRACE_BUF_SIZE,    1, NULL, OPT_TRACE_BUF_SIZE_NUM   },
 	{OPT_TRACE_MODE,        1, NULL, OPT_TRACE_MODE_NUM       },
 	{OPT_MASTER_LCORE,      1, NULL, OPT_MASTER_LCORE_NUM     },
+	{OPT_MAIN_LCORE,        1, NULL, OPT_MAIN_LCORE_NUM       },
 	{OPT_MBUF_POOL_OPS_NAME, 1, NULL, OPT_MBUF_POOL_OPS_NAME_NUM},
 	{OPT_NO_HPET,           0, NULL, OPT_NO_HPET_NUM          },
 	{OPT_NO_HUGE,           0, NULL, OPT_NO_HUGE_NUM          },
@@ -144,7 +145,7 @@ struct device_option {
 static struct device_option_list devopt_list =
 TAILQ_HEAD_INITIALIZER(devopt_list);
 
-static int master_lcore_parsed;
+static int main_lcore_parsed;
 static int mem_parsed;
 static int core_parsed;
 
@@ -575,12 +576,12 @@ eal_parse_service_coremask(const char *coremask)
 		for (j = 0; j < BITS_PER_HEX && idx < RTE_MAX_LCORE;
 				j++, idx++) {
 			if ((1 << j) & val) {
-				/* handle master lcore already parsed */
+				/* handle main lcore already parsed */
 				uint32_t lcore = idx;
-				if (master_lcore_parsed &&
-						cfg->master_lcore == lcore) {
+				if (main_lcore_parsed &&
+						cfg->main_lcore == lcore) {
 					RTE_LOG(ERR, EAL,
-						"lcore %u is master lcore, cannot use as service core\n",
+						"lcore %u is main lcore, cannot use as service core\n",
 						idx);
 					return -1;
 				}
@@ -748,12 +749,12 @@ eal_parse_service_corelist(const char *corelist)
 				min = idx;
 			for (idx = min; idx <= max; idx++) {
 				if (cfg->lcore_role[idx] != ROLE_SERVICE) {
-					/* handle master lcore already parsed */
+					/* handle main lcore already parsed */
 					uint32_t lcore = idx;
-					if (cfg->master_lcore == lcore &&
-							master_lcore_parsed) {
+					if (cfg->main_lcore == lcore &&
+							main_lcore_parsed) {
 						RTE_LOG(ERR, EAL,
-							"Error: lcore %u is master lcore, cannot use as service core\n",
+							"Error: lcore %u is main lcore, cannot use as service core\n",
 							idx);
 						return -1;
 					}
@@ -836,23 +837,23 @@ eal_parse_corelist(const char *corelist, int *cores)
 	return 0;
 }
 
-/* Changes the lcore id of the master thread */
+/* Changes the lcore id of the main thread */
 static int
-eal_parse_master_lcore(const char *arg)
+eal_parse_main_lcore(const char *arg)
 {
 	char *parsing_end;
 	struct rte_config *cfg = rte_eal_get_configuration();
 
 	errno = 0;
-	cfg->master_lcore = (uint32_t) strtol(arg, &parsing_end, 0);
+	cfg->main_lcore = (uint32_t) strtol(arg, &parsing_end, 0);
 	if (errno || parsing_end[0] != 0)
 		return -1;
-	if (cfg->master_lcore >= RTE_MAX_LCORE)
+	if (cfg->main_lcore >= RTE_MAX_LCORE)
 		return -1;
-	master_lcore_parsed = 1;
+	main_lcore_parsed = 1;
 
-	/* ensure master core is not used as service core */
-	if (lcore_config[cfg->master_lcore].core_role == ROLE_SERVICE) {
+	/* ensure main core is not used as service core */
+	if (lcore_config[cfg->main_lcore].core_role == ROLE_SERVICE) {
 		RTE_LOG(ERR, EAL,
 			"Error: Master lcore is used as a service core\n");
 		return -1;
@@ -1593,7 +1594,12 @@ eal_parse_common_option(int opt, const char *optarg,
 		break;
 
 	case OPT_MASTER_LCORE_NUM:
-		if (eal_parse_master_lcore(optarg) < 0) {
+		fprintf(stderr,
+			"option --" OPT_MASTER_LCORE
+			" is deprecated use " OPT_MAIN_LCORE "\n");
+		/* fallthrough */
+	case OPT_MAIN_LCORE_NUM:
+		if (eal_parse_main_lcore(optarg) < 0) {
 			RTE_LOG(ERR, EAL, "invalid parameter for --"
 					OPT_MASTER_LCORE "\n");
 			return -1;
@@ -1763,9 +1769,9 @@ compute_ctrl_threads_cpuset(struct internal_config *internal_cfg)
 
 	RTE_CPU_AND(cpuset, cpuset, &default_set);
 
-	/* if no remaining cpu, use master lcore cpu affinity */
+	/* if no remaining cpu, use main lcore cpu affinity */
 	if (!CPU_COUNT(cpuset)) {
-		memcpy(cpuset, &lcore_config[rte_get_master_lcore()].cpuset,
+		memcpy(cpuset, &lcore_config[rte_get_main_lcore()].cpuset,
 			sizeof(*cpuset));
 	}
 }
@@ -1797,12 +1803,12 @@ eal_adjust_config(struct internal_config *internal_cfg)
 	if (internal_conf->process_type == RTE_PROC_AUTO)
 		internal_conf->process_type = eal_proc_type_detect();
 
-	/* default master lcore is the first one */
-	if (!master_lcore_parsed) {
-		cfg->master_lcore = rte_get_next_lcore(-1, 0, 0);
-		if (cfg->master_lcore >= RTE_MAX_LCORE)
+	/* default main lcore is the first one */
+	if (!main_lcore_parsed) {
+		cfg->main_lcore = rte_get_next_lcore(-1, 0, 0);
+		if (cfg->main_lcore >= RTE_MAX_LCORE)
 			return -1;
-		lcore_config[cfg->master_lcore].core_role = ROLE_RTE;
+		lcore_config[cfg->main_lcore].core_role = ROLE_RTE;
 	}
 
 	compute_ctrl_threads_cpuset(internal_cfg);
@@ -1822,7 +1828,7 @@ eal_check_common_options(struct internal_config *internal_cfg)
 	const struct internal_config *internal_conf =
 		eal_get_internal_configuration();
 
-	if (cfg->lcore_role[cfg->master_lcore] != ROLE_RTE) {
+	if (cfg->lcore_role[cfg->main_lcore] != ROLE_RTE) {
 		RTE_LOG(ERR, EAL, "Master lcore is not enabled for DPDK\n");
 		return -1;
 	}
diff --git a/lib/librte_eal/common/eal_options.h b/lib/librte_eal/common/eal_options.h
index 89769d48b487..d363228a7a25 100644
--- a/lib/librte_eal/common/eal_options.h
+++ b/lib/librte_eal/common/eal_options.h
@@ -43,6 +43,8 @@ enum {
 	OPT_TRACE_BUF_SIZE_NUM,
 #define OPT_TRACE_MODE        "trace-mode"
 	OPT_TRACE_MODE_NUM,
+#define OPT_MAIN_LCORE        "main-lcore"
+	OPT_MAIN_LCORE_NUM,
 #define OPT_MASTER_LCORE      "master-lcore"
 	OPT_MASTER_LCORE_NUM,
 #define OPT_MBUF_POOL_OPS_NAME "mbuf-pool-ops-name"
diff --git a/lib/librte_eal/common/eal_private.h b/lib/librte_eal/common/eal_private.h
index a6a6381567f4..4684c4c7df19 100644
--- a/lib/librte_eal/common/eal_private.h
+++ b/lib/librte_eal/common/eal_private.h
@@ -20,8 +20,8 @@
  */
 struct lcore_config {
 	pthread_t thread_id;       /**< pthread identifier */
-	int pipe_master2slave[2];  /**< communication pipe with master */
-	int pipe_slave2master[2];  /**< communication pipe with master */
+	int pipe_main2worker[2];   /**< communication pipe with main */
+	int pipe_worker2main[2];   /**< communication pipe with main */
 
 	lcore_function_t * volatile f; /**< function to call */
 	void * volatile arg;       /**< argument of function */
@@ -42,7 +42,7 @@ extern struct lcore_config lcore_config[RTE_MAX_LCORE];
  * The global RTE configuration structure.
  */
 struct rte_config {
-	uint32_t master_lcore;       /**< Id of the master lcore */
+	uint32_t main_lcore;         /**< Id of the main lcore */
 	uint32_t lcore_count;        /**< Number of available logical cores. */
 	uint32_t numa_node_count;    /**< Number of detected NUMA nodes. */
 	uint32_t numa_nodes[RTE_MAX_NUMA_NODES]; /**< List of detected NUMA nodes. */
diff --git a/lib/librte_eal/common/rte_random.c b/lib/librte_eal/common/rte_random.c
index b7a089ac4fe0..8d88aca26299 100644
--- a/lib/librte_eal/common/rte_random.c
+++ b/lib/librte_eal/common/rte_random.c
@@ -122,7 +122,7 @@ struct rte_rand_state *__rte_rand_get_state(void)
 	lcore_id = rte_lcore_id();
 
 	if (unlikely(lcore_id == LCORE_ID_ANY))
-		lcore_id = rte_get_master_lcore();
+		lcore_id = rte_get_main_lcore();
 
 	return &rand_states[lcore_id];
 }
diff --git a/lib/librte_eal/common/rte_service.c b/lib/librte_eal/common/rte_service.c
index 6a0e0ff65d14..626d2409ad57 100644
--- a/lib/librte_eal/common/rte_service.c
+++ b/lib/librte_eal/common/rte_service.c
@@ -106,7 +106,7 @@ rte_service_init(void)
 	struct rte_config *cfg = rte_eal_get_configuration();
 	for (i = 0; i < RTE_MAX_LCORE; i++) {
 		if (lcore_config[i].core_role == ROLE_SERVICE) {
-			if ((unsigned int)i == cfg->master_lcore)
+			if ((unsigned int)i == cfg->main_lcore)
 				continue;
 			rte_service_lcore_add(i);
 			count++;
diff --git a/lib/librte_eal/freebsd/eal.c b/lib/librte_eal/freebsd/eal.c
index 798add0b5919..f7bdd8caabc3 100644
--- a/lib/librte_eal/freebsd/eal.c
+++ b/lib/librte_eal/freebsd/eal.c
@@ -626,10 +626,10 @@ eal_check_mem_on_local_socket(void)
 	int socket_id;
 	const struct rte_config *config = rte_eal_get_configuration();
 
-	socket_id = rte_lcore_to_socket_id(config->master_lcore);
+	socket_id = rte_lcore_to_socket_id(config->main_lcore);
 
 	if (rte_memseg_list_walk(check_socket, &socket_id) == 0)
-		RTE_LOG(WARNING, EAL, "WARNING: Master core has no memory on local socket!\n");
+		RTE_LOG(WARNING, EAL, "WARNING: Main core has no memory on local socket!\n");
 }
 
 
@@ -850,29 +850,29 @@ rte_eal_init(int argc, char **argv)
 	eal_check_mem_on_local_socket();
 
 	if (pthread_setaffinity_np(pthread_self(), sizeof(rte_cpuset_t),
-			&lcore_config[config->master_lcore].cpuset) != 0) {
+			&lcore_config[config->main_lcore].cpuset) != 0) {
 		rte_eal_init_alert("Cannot set affinity");
 		rte_errno = EINVAL;
 		return -1;
 	}
-	__rte_thread_init(config->master_lcore,
-		&lcore_config[config->master_lcore].cpuset);
+	__rte_thread_init(config->main_lcore,
+		&lcore_config[config->main_lcore].cpuset);
 
 	ret = eal_thread_dump_current_affinity(cpuset, sizeof(cpuset));
 
-	RTE_LOG(DEBUG, EAL, "Master lcore %u is ready (tid=%p;cpuset=[%s%s])\n",
-		config->master_lcore, thread_id, cpuset,
+	RTE_LOG(DEBUG, EAL, "Main lcore %u is ready (tid=%p;cpuset=[%s%s])\n",
+		config->main_lcore, thread_id, cpuset,
 		ret == 0 ? "" : "...");
 
-	RTE_LCORE_FOREACH_SLAVE(i) {
+	RTE_LCORE_FOREACH_WORKER(i) {
 
 		/*
-		 * create communication pipes between master thread
+		 * create communication pipes between main thread
 		 * and children
 		 */
-		if (pipe(lcore_config[i].pipe_master2slave) < 0)
+		if (pipe(lcore_config[i].pipe_main2worker) < 0)
 			rte_panic("Cannot create pipe\n");
-		if (pipe(lcore_config[i].pipe_slave2master) < 0)
+		if (pipe(lcore_config[i].pipe_worker2main) < 0)
 			rte_panic("Cannot create pipe\n");
 
 		lcore_config[i].state = WAIT;
@@ -885,7 +885,7 @@ rte_eal_init(int argc, char **argv)
 
 		/* Set thread_name for aid in debugging. */
 		snprintf(thread_name, sizeof(thread_name),
-				"lcore-slave-%d", i);
+				"lcore-worker-%d", i);
 		rte_thread_setname(lcore_config[i].thread_id, thread_name);
 
 		ret = pthread_setaffinity_np(lcore_config[i].thread_id,
@@ -895,10 +895,10 @@ rte_eal_init(int argc, char **argv)
 	}
 
 	/*
-	 * Launch a dummy function on all slave lcores, so that master lcore
+	 * Launch a dummy function on all worker lcores, so that main lcore
 	 * knows they are all ready when this function returns.
 	 */
-	rte_eal_mp_remote_launch(sync_func, NULL, SKIP_MASTER);
+	rte_eal_mp_remote_launch(sync_func, NULL, SKIP_MAIN);
 	rte_eal_mp_wait_lcore();
 
 	/* initialize services so vdevs register service during bus_probe. */
diff --git a/lib/librte_eal/freebsd/eal_thread.c b/lib/librte_eal/freebsd/eal_thread.c
index 99b5fefc4c5b..1dce9b04f24a 100644
--- a/lib/librte_eal/freebsd/eal_thread.c
+++ b/lib/librte_eal/freebsd/eal_thread.c
@@ -26,35 +26,35 @@
 #include "eal_thread.h"
 
 /*
- * Send a message to a slave lcore identified by slave_id to call a
+ * Send a message to a worker lcore identified by worker_id to call a
  * function f with argument arg. Once the execution is done, the
  * remote lcore switch in FINISHED state.
  */
 int
-rte_eal_remote_launch(int (*f)(void *), void *arg, unsigned slave_id)
+rte_eal_remote_launch(int (*f)(void *), void *arg, unsigned worker_id)
 {
 	int n;
 	char c = 0;
-	int m2s = lcore_config[slave_id].pipe_master2slave[1];
-	int s2m = lcore_config[slave_id].pipe_slave2master[0];
+	int m2w = lcore_config[worker_id].pipe_main2worker[1];
+	int w2m = lcore_config[worker_id].pipe_worker2main[0];
 	int rc = -EBUSY;
 
-	if (lcore_config[slave_id].state != WAIT)
+	if (lcore_config[worker_id].state != WAIT)
 		goto finish;
 
-	lcore_config[slave_id].f = f;
-	lcore_config[slave_id].arg = arg;
+	lcore_config[worker_id].f = f;
+	lcore_config[worker_id].arg = arg;
 
 	/* send message */
 	n = 0;
 	while (n == 0 || (n < 0 && errno == EINTR))
-		n = write(m2s, &c, 1);
+		n = write(m2w, &c, 1);
 	if (n < 0)
 		rte_panic("cannot write on configuration pipe\n");
 
 	/* wait ack */
 	do {
-		n = read(s2m, &c, 1);
+		n = read(w2m, &c, 1);
 	} while (n < 0 && errno == EINTR);
 
 	if (n <= 0)
@@ -62,7 +62,7 @@ rte_eal_remote_launch(int (*f)(void *), void *arg, unsigned slave_id)
 
 	rc = 0;
 finish:
-	rte_eal_trace_thread_remote_launch(f, arg, slave_id, rc);
+	rte_eal_trace_thread_remote_launch(f, arg, worker_id, rc);
 	return rc;
 }
 
@@ -74,21 +74,21 @@ eal_thread_loop(__rte_unused void *arg)
 	int n, ret;
 	unsigned lcore_id;
 	pthread_t thread_id;
-	int m2s, s2m;
+	int m2w, w2m;
 	char cpuset[RTE_CPU_AFFINITY_STR_LEN];
 
 	thread_id = pthread_self();
 
 	/* retrieve our lcore_id from the configuration structure */
-	RTE_LCORE_FOREACH_SLAVE(lcore_id) {
+	RTE_LCORE_FOREACH_WORKER(lcore_id) {
 		if (thread_id == lcore_config[lcore_id].thread_id)
 			break;
 	}
 	if (lcore_id == RTE_MAX_LCORE)
 		rte_panic("cannot retrieve lcore id\n");
 
-	m2s = lcore_config[lcore_id].pipe_master2slave[0];
-	s2m = lcore_config[lcore_id].pipe_slave2master[1];
+	m2w = lcore_config[lcore_id].pipe_main2worker[0];
+	w2m = lcore_config[lcore_id].pipe_worker2main[1];
 
 	__rte_thread_init(lcore_id, &lcore_config[lcore_id].cpuset);
 
@@ -104,7 +104,7 @@ eal_thread_loop(__rte_unused void *arg)
 
 		/* wait command */
 		do {
-			n = read(m2s, &c, 1);
+			n = read(m2w, &c, 1);
 		} while (n < 0 && errno == EINTR);
 
 		if (n <= 0)
@@ -115,7 +115,7 @@ eal_thread_loop(__rte_unused void *arg)
 		/* send ack */
 		n = 0;
 		while (n == 0 || (n < 0 && errno == EINTR))
-			n = write(s2m, &c, 1);
+			n = write(w2m, &c, 1);
 		if (n < 0)
 			rte_panic("cannot write on configuration pipe\n");
 
diff --git a/lib/librte_eal/include/rte_eal.h b/lib/librte_eal/include/rte_eal.h
index ddcf6a2e7a1a..f8f0d74b476c 100644
--- a/lib/librte_eal/include/rte_eal.h
+++ b/lib/librte_eal/include/rte_eal.h
@@ -65,11 +65,11 @@ int rte_eal_iopl_init(void);
 /**
  * Initialize the Environment Abstraction Layer (EAL).
  *
- * This function is to be executed on the MASTER lcore only, as soon
+ * This function is to be executed on the MAIN lcore only, as soon
  * as possible in the application's main() function.
  *
  * The function finishes the initialization process before main() is called.
- * It puts the SLAVE lcores in the WAIT state.
+ * It puts the WORKER lcores in the WAIT state.
  *
  * When the multi-partition feature is supported, depending on the
  * configuration (if CONFIG_RTE_EAL_MAIN_PARTITION is disabled), this
diff --git a/lib/librte_eal/include/rte_eal_trace.h b/lib/librte_eal/include/rte_eal_trace.h
index 6b1a813c7b1b..dd4e30e7fe5c 100644
--- a/lib/librte_eal/include/rte_eal_trace.h
+++ b/lib/librte_eal/include/rte_eal_trace.h
@@ -258,10 +258,10 @@ RTE_TRACE_POINT(
 RTE_TRACE_POINT(
 	rte_eal_trace_thread_remote_launch,
 	RTE_TRACE_POINT_ARGS(int (*f)(void *), void *arg,
-		unsigned int slave_id, int rc),
+		unsigned int worker_id, int rc),
 	rte_trace_point_emit_ptr(f);
 	rte_trace_point_emit_ptr(arg);
-	rte_trace_point_emit_u32(slave_id);
+	rte_trace_point_emit_u32(worker_id);
 	rte_trace_point_emit_int(rc);
 )
 RTE_TRACE_POINT(
diff --git a/lib/librte_eal/include/rte_launch.h b/lib/librte_eal/include/rte_launch.h
index 06a671752ace..2b061c7dea8e 100644
--- a/lib/librte_eal/include/rte_launch.h
+++ b/lib/librte_eal/include/rte_launch.h
@@ -32,12 +32,12 @@ typedef int (lcore_function_t)(void *);
 /**
  * Launch a function on another lcore.
  *
- * To be executed on the MASTER lcore only.
+ * To be executed on the MAIN lcore only.
  *
- * Sends a message to a slave lcore (identified by the slave_id) that
+ * Sends a message to a worker lcore (identified by the worker_id) that
  * is in the WAIT state (this is true after the first call to
  * rte_eal_init()). This can be checked by first calling
- * rte_eal_wait_lcore(slave_id).
+ * rte_eal_wait_lcore(worker_id).
  *
  * When the remote lcore receives the message, it switches to
  * the RUNNING state, then calls the function f with argument arg. Once the
@@ -45,7 +45,7 @@ typedef int (lcore_function_t)(void *);
  * the return value of f is stored in a local variable to be read using
  * rte_eal_wait_lcore().
  *
- * The MASTER lcore returns as soon as the message is sent and knows
+ * The MAIN lcore returns as soon as the message is sent and knows
  * nothing about the completion of f.
  *
  * Note: This function is not designed to offer optimum
@@ -56,37 +56,41 @@ typedef int (lcore_function_t)(void *);
  *   The function to be called.
  * @param arg
  *   The argument for the function.
- * @param slave_id
+ * @param worker_id
  *   The identifier of the lcore on which the function should be executed.
  * @return
  *   - 0: Success. Execution of function f started on the remote lcore.
  *   - (-EBUSY): The remote lcore is not in a WAIT state.
  */
-int rte_eal_remote_launch(lcore_function_t *f, void *arg, unsigned slave_id);
+int rte_eal_remote_launch(lcore_function_t *f, void *arg, unsigned worker_id);
 
 /**
- * This enum indicates whether the master core must execute the handler
+ * This enum indicates whether the main core must execute the handler
  * launched on all logical cores.
  */
-enum rte_rmt_call_master_t {
-	SKIP_MASTER = 0, /**< lcore handler not executed by master core. */
-	CALL_MASTER,     /**< lcore handler executed by master core. */
+enum rte_rmt_call_main_t {
+	SKIP_MAIN = 0, /**< lcore handler not executed by main core. */
+	CALL_MAIN,     /**< lcore handler executed by main core. */
 };
 
+/* These legacy definitions will be removed in future release */
+#define SKIP_MASTER 	RTE_DEPRECATED(SKIP_MASTER) SKIP_MAIN
+#define CALL_MASTER 	RTE_DEPRECATED(CALL_MASTER) CALL_MAIN
+
 /**
  * Launch a function on all lcores.
  *
- * Check that each SLAVE lcore is in a WAIT state, then call
+ * Check that each WORKER lcore is in a WAIT state, then call
  * rte_eal_remote_launch() for each lcore.
  *
  * @param f
  *   The function to be called.
  * @param arg
  *   The argument for the function.
- * @param call_master
- *   If call_master set to SKIP_MASTER, the MASTER lcore does not call
- *   the function. If call_master is set to CALL_MASTER, the function
- *   is also called on master before returning. In any case, the master
+ * @param call_main
+ *   If call_main set to SKIP_MAIN, the MAIN lcore does not call
+ *   the function. If call_main is set to CALL_MAIN, the function
+ *   is also called on main before returning. In any case, the main
  *   lcore returns as soon as it finished its job and knows nothing
  *   about the completion of f on the other lcores.
  * @return
@@ -95,49 +99,49 @@ enum rte_rmt_call_master_t {
  *     case, no message is sent to any of the lcores.
  */
 int rte_eal_mp_remote_launch(lcore_function_t *f, void *arg,
-			     enum rte_rmt_call_master_t call_master);
+			     enum rte_rmt_call_main_t call_main);
 
 /**
- * Get the state of the lcore identified by slave_id.
+ * Get the state of the lcore identified by worker_id.
  *
- * To be executed on the MASTER lcore only.
+ * To be executed on the MAIN lcore only.
  *
- * @param slave_id
+ * @param worker_id
  *   The identifier of the lcore.
  * @return
  *   The state of the lcore.
  */
-enum rte_lcore_state_t rte_eal_get_lcore_state(unsigned slave_id);
+enum rte_lcore_state_t rte_eal_get_lcore_state(unsigned worker_id);
 
 /**
  * Wait until an lcore finishes its job.
  *
- * To be executed on the MASTER lcore only.
+ * To be executed on the MAIN lcore only.
  *
- * If the slave lcore identified by the slave_id is in a FINISHED state,
+ * If the worker lcore identified by the worker_id is in a FINISHED state,
  * switch to the WAIT state. If the lcore is in RUNNING state, wait until
  * the lcore finishes its job and moves to the FINISHED state.
  *
- * @param slave_id
+ * @param worker_id
  *   The identifier of the lcore.
  * @return
- *   - 0: If the lcore identified by the slave_id is in a WAIT state.
+ *   - 0: If the lcore identified by the worker_id is in a WAIT state.
  *   - The value that was returned by the previous remote launch
- *     function call if the lcore identified by the slave_id was in a
+ *     function call if the lcore identified by the worker_id was in a
  *     FINISHED or RUNNING state. In this case, it changes the state
  *     of the lcore to WAIT.
  */
-int rte_eal_wait_lcore(unsigned slave_id);
+int rte_eal_wait_lcore(unsigned worker_id);
 
 /**
  * Wait until all lcores finish their jobs.
  *
- * To be executed on the MASTER lcore only. Issue an
+ * To be executed on the MAIN lcore only. Issue an
  * rte_eal_wait_lcore() for every lcore. The return values are
  * ignored.
  *
  * After a call to rte_eal_mp_wait_lcore(), the caller can assume
- * that all slave lcores are in a WAIT state.
+ * that all worker lcores are in a WAIT state.
  */
 void rte_eal_mp_wait_lcore(void);
 
diff --git a/lib/librte_eal/include/rte_lcore.h b/lib/librte_eal/include/rte_lcore.h
index b8b64a625200..48b87e253afa 100644
--- a/lib/librte_eal/include/rte_lcore.h
+++ b/lib/librte_eal/include/rte_lcore.h
@@ -78,12 +78,24 @@ rte_lcore_id(void)
 }
 
 /**
- * Get the id of the master lcore
+ * Get the id of the main lcore
  *
  * @return
- *   the id of the master lcore
+ *   the id of the main lcore
  */
-unsigned int rte_get_master_lcore(void);
+unsigned int rte_get_main_lcore(void);
+
+/**
+ * Deprecated function the id of the main lcore
+ *
+ * @return
+ *   the id of the main lcore
+ */
+__rte_deprecated
+static inline unsigned int rte_get_master_lcore(void)
+{
+	return rte_get_main_lcore();
+}
 
 /**
  * Return the number of execution units (lcores) on the system.
@@ -203,32 +215,35 @@ int rte_lcore_is_enabled(unsigned int lcore_id);
  *
  * @param i
  *   The current lcore (reference).
- * @param skip_master
- *   If true, do not return the ID of the master lcore.
+ * @param skip_main
+ *   If true, do not return the ID of the main lcore.
  * @param wrap
  *   If true, go back to 0 when RTE_MAX_LCORE is reached; otherwise,
  *   return RTE_MAX_LCORE.
  * @return
  *   The next lcore_id or RTE_MAX_LCORE if not found.
  */
-unsigned int rte_get_next_lcore(unsigned int i, int skip_master, int wrap);
+unsigned int rte_get_next_lcore(unsigned int i, int skip_main, int wrap);
 
 /**
  * Macro to browse all running lcores.
  */
 #define RTE_LCORE_FOREACH(i)						\
 	for (i = rte_get_next_lcore(-1, 0, 0);				\
-	     i<RTE_MAX_LCORE;						\
+	     i < RTE_MAX_LCORE;						\
 	     i = rte_get_next_lcore(i, 0, 0))
 
 /**
- * Macro to browse all running lcores except the master lcore.
+ * Macro to browse all running lcores except the main lcore.
  */
-#define RTE_LCORE_FOREACH_SLAVE(i)					\
+#define RTE_LCORE_FOREACH_WORKER(i)					\
 	for (i = rte_get_next_lcore(-1, 1, 0);				\
-	     i<RTE_MAX_LCORE;						\
+	     i < RTE_MAX_LCORE;						\
 	     i = rte_get_next_lcore(i, 1, 0))
 
+#define RTE_LCORE_FOREACH_SLAVE(l)					\
+	RTE_DEPRECATED(RTE_LCORE_FOREACH_SLAVE) RTE_LCORE_FOREACH_WORKER(l)
+
 /**
  * Callback prototype for initializing lcores.
  *
diff --git a/lib/librte_eal/linux/eal.c b/lib/librte_eal/linux/eal.c
index 0960f01d0516..d8b1948585dc 100644
--- a/lib/librte_eal/linux/eal.c
+++ b/lib/librte_eal/linux/eal.c
@@ -884,10 +884,10 @@ eal_check_mem_on_local_socket(void)
 	int socket_id;
 	const struct rte_config *config = rte_eal_get_configuration();
 
-	socket_id = rte_lcore_to_socket_id(config->master_lcore);
+	socket_id = rte_lcore_to_socket_id(config->main_lcore);
 
 	if (rte_memseg_list_walk(check_socket, &socket_id) == 0)
-		RTE_LOG(WARNING, EAL, "WARNING: Master core has no memory on local socket!\n");
+		RTE_LOG(WARNING, EAL, "WARNING: Main core has no memory on local socket!\n");
 }
 
 static int
@@ -1214,28 +1214,28 @@ rte_eal_init(int argc, char **argv)
 	eal_check_mem_on_local_socket();
 
 	if (pthread_setaffinity_np(pthread_self(), sizeof(rte_cpuset_t),
-			&lcore_config[config->master_lcore].cpuset) != 0) {
+			&lcore_config[config->main_lcore].cpuset) != 0) {
 		rte_eal_init_alert("Cannot set affinity");
 		rte_errno = EINVAL;
 		return -1;
 	}
-	__rte_thread_init(config->master_lcore,
-		&lcore_config[config->master_lcore].cpuset);
+	__rte_thread_init(config->main_lcore,
+		&lcore_config[config->main_lcore].cpuset);
 
 	ret = eal_thread_dump_current_affinity(cpuset, sizeof(cpuset));
-	RTE_LOG(DEBUG, EAL, "Master lcore %u is ready (tid=%zx;cpuset=[%s%s])\n",
-		config->master_lcore, (uintptr_t)thread_id, cpuset,
+	RTE_LOG(DEBUG, EAL, "Main lcore %u is ready (tid=%zx;cpuset=[%s%s])\n",
+		config->main_lcore, (uintptr_t)thread_id, cpuset,
 		ret == 0 ? "" : "...");
 
-	RTE_LCORE_FOREACH_SLAVE(i) {
+	RTE_LCORE_FOREACH_WORKER(i) {
 
 		/*
-		 * create communication pipes between master thread
+		 * create communication pipes between main thread
 		 * and children
 		 */
-		if (pipe(lcore_config[i].pipe_master2slave) < 0)
+		if (pipe(lcore_config[i].pipe_main2worker) < 0)
 			rte_panic("Cannot create pipe\n");
-		if (pipe(lcore_config[i].pipe_slave2master) < 0)
+		if (pipe(lcore_config[i].pipe_worker2main) < 0)
 			rte_panic("Cannot create pipe\n");
 
 		lcore_config[i].state = WAIT;
@@ -1248,7 +1248,7 @@ rte_eal_init(int argc, char **argv)
 
 		/* Set thread_name for aid in debugging. */
 		snprintf(thread_name, sizeof(thread_name),
-			"lcore-slave-%d", i);
+			"lcore-worker-%d", i);
 		ret = rte_thread_setname(lcore_config[i].thread_id,
 						thread_name);
 		if (ret != 0)
@@ -1262,10 +1262,10 @@ rte_eal_init(int argc, char **argv)
 	}
 
 	/*
-	 * Launch a dummy function on all slave lcores, so that master lcore
+	 * Launch a dummy function on all worker lcores, so that main lcore
 	 * knows they are all ready when this function returns.
 	 */
-	rte_eal_mp_remote_launch(sync_func, NULL, SKIP_MASTER);
+	rte_eal_mp_remote_launch(sync_func, NULL, SKIP_MAIN);
 	rte_eal_mp_wait_lcore();
 
 	/* initialize services so vdevs register service during bus_probe. */
diff --git a/lib/librte_eal/linux/eal_memory.c b/lib/librte_eal/linux/eal_memory.c
index 89725291b0ce..3e47efe58212 100644
--- a/lib/librte_eal/linux/eal_memory.c
+++ b/lib/librte_eal/linux/eal_memory.c
@@ -1737,7 +1737,7 @@ memseg_primary_init_32(void)
 	/* the allocation logic is a little bit convoluted, but here's how it
 	 * works, in a nutshell:
 	 *  - if user hasn't specified on which sockets to allocate memory via
-	 *    --socket-mem, we allocate all of our memory on master core socket.
+	 *    --socket-mem, we allocate all of our memory on main core socket.
 	 *  - if user has specified sockets to allocate memory on, there may be
 	 *    some "unused" memory left (e.g. if user has specified --socket-mem
 	 *    such that not all memory adds up to 2 gigabytes), so add it to all
@@ -1751,7 +1751,7 @@ memseg_primary_init_32(void)
 	for (i = 0; i < rte_socket_count(); i++) {
 		int hp_sizes = (int) internal_conf->num_hugepage_sizes;
 		uint64_t max_socket_mem, cur_socket_mem;
-		unsigned int master_lcore_socket;
+		unsigned int main_lcore_socket;
 		struct rte_config *cfg = rte_eal_get_configuration();
 		bool skip;
 
@@ -1767,10 +1767,10 @@ memseg_primary_init_32(void)
 		skip = active_sockets != 0 &&
 				internal_conf->socket_mem[socket_id] == 0;
 		/* ...or if we didn't specifically request memory on *any*
-		 * socket, and this is not master lcore
+		 * socket, and this is not main lcore
 		 */
-		master_lcore_socket = rte_lcore_to_socket_id(cfg->master_lcore);
-		skip |= active_sockets == 0 && socket_id != master_lcore_socket;
+		main_lcore_socket = rte_lcore_to_socket_id(cfg->main_lcore);
+		skip |= active_sockets == 0 && socket_id != main_lcore_socket;
 
 		if (skip) {
 			RTE_LOG(DEBUG, EAL, "Will not preallocate memory on socket %u\n",
diff --git a/lib/librte_eal/linux/eal_thread.c b/lib/librte_eal/linux/eal_thread.c
index 068de2559555..bed1d513c841 100644
--- a/lib/librte_eal/linux/eal_thread.c
+++ b/lib/librte_eal/linux/eal_thread.c
@@ -26,35 +26,35 @@
 #include "eal_thread.h"
 
 /*
- * Send a message to a slave lcore identified by slave_id to call a
+ * Send a message to a worker lcore identified by worker_id to call a
  * function f with argument arg. Once the execution is done, the
  * remote lcore switch in FINISHED state.
  */
 int
-rte_eal_remote_launch(int (*f)(void *), void *arg, unsigned slave_id)
+rte_eal_remote_launch(int (*f)(void *), void *arg, unsigned worker_id)
 {
 	int n;
 	char c = 0;
-	int m2s = lcore_config[slave_id].pipe_master2slave[1];
-	int s2m = lcore_config[slave_id].pipe_slave2master[0];
+	int m2w = lcore_config[worker_id].pipe_main2worker[1];
+	int w2m = lcore_config[worker_id].pipe_worker2main[0];
 	int rc = -EBUSY;
 
-	if (lcore_config[slave_id].state != WAIT)
+	if (lcore_config[worker_id].state != WAIT)
 		goto finish;
 
-	lcore_config[slave_id].f = f;
-	lcore_config[slave_id].arg = arg;
+	lcore_config[worker_id].f = f;
+	lcore_config[worker_id].arg = arg;
 
 	/* send message */
 	n = 0;
 	while (n == 0 || (n < 0 && errno == EINTR))
-		n = write(m2s, &c, 1);
+		n = write(m2w, &c, 1);
 	if (n < 0)
 		rte_panic("cannot write on configuration pipe\n");
 
 	/* wait ack */
 	do {
-		n = read(s2m, &c, 1);
+		n = read(w2m, &c, 1);
 	} while (n < 0 && errno == EINTR);
 
 	if (n <= 0)
@@ -62,7 +62,7 @@ rte_eal_remote_launch(int (*f)(void *), void *arg, unsigned slave_id)
 
 	rc = 0;
 finish:
-	rte_eal_trace_thread_remote_launch(f, arg, slave_id, rc);
+	rte_eal_trace_thread_remote_launch(f, arg, worker_id, rc);
 	return rc;
 }
 
@@ -74,21 +74,21 @@ eal_thread_loop(__rte_unused void *arg)
 	int n, ret;
 	unsigned lcore_id;
 	pthread_t thread_id;
-	int m2s, s2m;
+	int m2w, w2m;
 	char cpuset[RTE_CPU_AFFINITY_STR_LEN];
 
 	thread_id = pthread_self();
 
 	/* retrieve our lcore_id from the configuration structure */
-	RTE_LCORE_FOREACH_SLAVE(lcore_id) {
+	RTE_LCORE_FOREACH_WORKER(lcore_id) {
 		if (thread_id == lcore_config[lcore_id].thread_id)
 			break;
 	}
 	if (lcore_id == RTE_MAX_LCORE)
 		rte_panic("cannot retrieve lcore id\n");
 
-	m2s = lcore_config[lcore_id].pipe_master2slave[0];
-	s2m = lcore_config[lcore_id].pipe_slave2master[1];
+	m2w = lcore_config[lcore_id].pipe_main2worker[0];
+	w2m = lcore_config[lcore_id].pipe_worker2main[1];
 
 	__rte_thread_init(lcore_id, &lcore_config[lcore_id].cpuset);
 
@@ -104,7 +104,7 @@ eal_thread_loop(__rte_unused void *arg)
 
 		/* wait command */
 		do {
-			n = read(m2s, &c, 1);
+			n = read(m2w, &c, 1);
 		} while (n < 0 && errno == EINTR);
 
 		if (n <= 0)
@@ -115,7 +115,7 @@ eal_thread_loop(__rte_unused void *arg)
 		/* send ack */
 		n = 0;
 		while (n == 0 || (n < 0 && errno == EINTR))
-			n = write(s2m, &c, 1);
+			n = write(w2m, &c, 1);
 		if (n < 0)
 			rte_panic("cannot write on configuration pipe\n");
 
diff --git a/lib/librte_eal/rte_eal_version.map b/lib/librte_eal/rte_eal_version.map
index 0b18e2ef85f9..8ff6fe7c3eaf 100644
--- a/lib/librte_eal/rte_eal_version.map
+++ b/lib/librte_eal/rte_eal_version.map
@@ -74,7 +74,7 @@ DPDK_21 {
 	rte_free;
 	rte_get_hpet_cycles;
 	rte_get_hpet_hz;
-	rte_get_master_lcore;
+	rte_get_main_lcore;
 	rte_get_next_lcore;
 	rte_get_tsc_hz;
 	rte_hexdump;
diff --git a/lib/librte_eal/windows/eal.c b/lib/librte_eal/windows/eal.c
index bc48f27ab39a..cbca20956210 100644
--- a/lib/librte_eal/windows/eal.c
+++ b/lib/librte_eal/windows/eal.c
@@ -350,8 +350,8 @@ rte_eal_init(int argc, char **argv)
 		return -1;
 	}
 
-	__rte_thread_init(config->master_lcore,
-		&lcore_config[config->master_lcore].cpuset);
+	__rte_thread_init(config->main_lcore,
+		&lcore_config[config->main_lcore].cpuset);
 
 	bscan = rte_bus_scan();
 	if (bscan < 0) {
@@ -360,16 +360,16 @@ rte_eal_init(int argc, char **argv)
 		return -1;
 	}
 
-	RTE_LCORE_FOREACH_SLAVE(i) {
+	RTE_LCORE_FOREACH_WORKER(i) {
 
 		/*
-		 * create communication pipes between master thread
+		 * create communication pipes between main thread
 		 * and children
 		 */
-		if (_pipe(lcore_config[i].pipe_master2slave,
+		if (_pipe(lcore_config[i].pipe_main2worker,
 			sizeof(char), _O_BINARY) < 0)
 			rte_panic("Cannot create pipe\n");
-		if (_pipe(lcore_config[i].pipe_slave2master,
+		if (_pipe(lcore_config[i].pipe_worker2main,
 			sizeof(char), _O_BINARY) < 0)
 			rte_panic("Cannot create pipe\n");
 
@@ -394,10 +394,10 @@ rte_eal_init(int argc, char **argv)
 	}
 
 	/*
-	 * Launch a dummy function on all slave lcores, so that master lcore
+	 * Launch a dummy function on all worker lcores, so that main lcore
 	 * knows they are all ready when this function returns.
 	 */
-	rte_eal_mp_remote_launch(sync_func, NULL, SKIP_MASTER);
+	rte_eal_mp_remote_launch(sync_func, NULL, SKIP_MAIN);
 	rte_eal_mp_wait_lcore();
 	return fctret;
 }
diff --git a/lib/librte_eal/windows/eal_thread.c b/lib/librte_eal/windows/eal_thread.c
index 20889b6196c9..908e726d16cc 100644
--- a/lib/librte_eal/windows/eal_thread.c
+++ b/lib/librte_eal/windows/eal_thread.c
@@ -17,34 +17,34 @@
 #include "eal_windows.h"
 
 /*
- * Send a message to a slave lcore identified by slave_id to call a
+ * Send a message to a worker lcore identified by worker_id to call a
  * function f with argument arg. Once the execution is done, the
  * remote lcore switch in FINISHED state.
  */
 int
-rte_eal_remote_launch(lcore_function_t *f, void *arg, unsigned int slave_id)
+rte_eal_remote_launch(lcore_function_t *f, void *arg, unsigned int worker_id)
 {
 	int n;
 	char c = 0;
-	int m2s = lcore_config[slave_id].pipe_master2slave[1];
-	int s2m = lcore_config[slave_id].pipe_slave2master[0];
+	int m2w = lcore_config[worker_id].pipe_main2worker[1];
+	int w2m = lcore_config[worker_id].pipe_worker2main[0];
 
-	if (lcore_config[slave_id].state != WAIT)
+	if (lcore_config[worker_id].state != WAIT)
 		return -EBUSY;
 
-	lcore_config[slave_id].f = f;
-	lcore_config[slave_id].arg = arg;
+	lcore_config[worker_id].f = f;
+	lcore_config[worker_id].arg = arg;
 
 	/* send message */
 	n = 0;
 	while (n == 0 || (n < 0 && errno == EINTR))
-		n = _write(m2s, &c, 1);
+		n = _write(m2w, &c, 1);
 	if (n < 0)
 		rte_panic("cannot write on configuration pipe\n");
 
 	/* wait ack */
 	do {
-		n = _read(s2m, &c, 1);
+		n = _read(w2m, &c, 1);
 	} while (n < 0 && errno == EINTR);
 
 	if (n <= 0)
@@ -61,21 +61,21 @@ eal_thread_loop(void *arg __rte_unused)
 	int n, ret;
 	unsigned int lcore_id;
 	pthread_t thread_id;
-	int m2s, s2m;
+	int m2w, w2m;
 	char cpuset[RTE_CPU_AFFINITY_STR_LEN];
 
 	thread_id = pthread_self();
 
 	/* retrieve our lcore_id from the configuration structure */
-	RTE_LCORE_FOREACH_SLAVE(lcore_id) {
+	RTE_LCORE_FOREACH_WORKER(lcore_id) {
 		if (thread_id == lcore_config[lcore_id].thread_id)
 			break;
 	}
 	if (lcore_id == RTE_MAX_LCORE)
 		rte_panic("cannot retrieve lcore id\n");
 
-	m2s = lcore_config[lcore_id].pipe_master2slave[0];
-	s2m = lcore_config[lcore_id].pipe_slave2master[1];
+	m2w = lcore_config[lcore_id].pipe_main2worker[0];
+	w2m = lcore_config[lcore_id].pipe_worker2main[1];
 
 	__rte_thread_init(lcore_id, &lcore_config[lcore_id].cpuset);
 
@@ -88,7 +88,7 @@ eal_thread_loop(void *arg __rte_unused)
 
 		/* wait command */
 		do {
-			n = _read(m2s, &c, 1);
+			n = _read(m2w, &c, 1);
 		} while (n < 0 && errno == EINTR);
 
 		if (n <= 0)
@@ -99,7 +99,7 @@ eal_thread_loop(void *arg __rte_unused)
 		/* send ack */
 		n = 0;
 		while (n == 0 || (n < 0 && errno == EINTR))
-			n = _write(s2m, &c, 1);
+			n = _write(w2m, &c, 1);
 		if (n < 0)
 			rte_panic("cannot write on configuration pipe\n");
 
-- 
2.27.0


^ permalink raw reply	[relevance 1%]

* Re: [dpdk-dev] [PATCH v2 2/2] eal: remove RTE CIO barriers
  2020-09-11  5:26  4%   ` [dpdk-dev] [PATCH v2 2/2] eal: " Phil Yang
@ 2020-09-14 22:51  0%     ` Honnappa Nagarahalli
  0 siblings, 0 replies; 200+ results
From: Honnappa Nagarahalli @ 2020-09-14 22:51 UTC (permalink / raw)
  To: Phil Yang, dev
  Cc: Ruifeng Wang, Joyce Kong, nd, John McNamara, Marko Kovacevic,
	Jan Viktorin, Ruifeng Wang, jerinj, David Christensen,
	Bruce Richardson, Konstantin Ananyev, Honnappa Nagarahalli, nd

<snip>

> 
> Remove the deprecated rte_cio_[rw]mb APIs.
> 
> Signed-off-by: Phil Yang <phil.yang@arm.com>
> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>

Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>

> ---
>  doc/guides/rel_notes/release_20_11.rst      |  3 +++
>  lib/librte_eal/arm/include/rte_atomic_32.h  |  4 ---
> lib/librte_eal/arm/include/rte_atomic_64.h  |  4 ---
> lib/librte_eal/include/generic/rte_atomic.h | 39 -----------------------------
>  lib/librte_eal/ppc/include/rte_atomic.h     |  4 ---
>  lib/librte_eal/x86/include/rte_atomic.h     |  4 ---
>  6 files changed, 3 insertions(+), 55 deletions(-)
> 
> diff --git a/doc/guides/rel_notes/release_20_11.rst
> b/doc/guides/rel_notes/release_20_11.rst
> index df227a1..7090caf 100644
> --- a/doc/guides/rel_notes/release_20_11.rst
> +++ b/doc/guides/rel_notes/release_20_11.rst
> @@ -84,6 +84,9 @@ API Changes
>     Also, make sure to start the actual text at the margin.
>     =======================================================
> 
> +* eal: The ``rte_cio_rmb()`` and ``rte_cio_wmb()`` were deprecated
> +since
> +  20.08 and are removed in this release.
> +
> 
>  ABI Changes
>  -----------
> diff --git a/lib/librte_eal/arm/include/rte_atomic_32.h
> b/lib/librte_eal/arm/include/rte_atomic_32.h
> index 368f10c..9d0568d 100644
> --- a/lib/librte_eal/arm/include/rte_atomic_32.h
> +++ b/lib/librte_eal/arm/include/rte_atomic_32.h
> @@ -33,10 +33,6 @@ extern "C" {
> 
>  #define rte_io_rmb() rte_rmb()
> 
> -#define rte_cio_wmb() rte_wmb()
> -
> -#define rte_cio_rmb() rte_rmb()
> -
>  static __rte_always_inline void
>  rte_atomic_thread_fence(int memory_order)  { diff --git
> a/lib/librte_eal/arm/include/rte_atomic_64.h
> b/lib/librte_eal/arm/include/rte_atomic_64.h
> index 5cae52d..c518559 100644
> --- a/lib/librte_eal/arm/include/rte_atomic_64.h
> +++ b/lib/librte_eal/arm/include/rte_atomic_64.h
> @@ -37,10 +37,6 @@ extern "C" {
> 
>  #define rte_io_rmb() rte_rmb()
> 
> -#define rte_cio_wmb() rte_wmb()
> -
> -#define rte_cio_rmb() rte_rmb()
> -
>  static __rte_always_inline void
>  rte_atomic_thread_fence(int memory_order)  { diff --git
> a/lib/librte_eal/include/generic/rte_atomic.h
> b/lib/librte_eal/include/generic/rte_atomic.h
> index 95270f1..d1255b2 100644
> --- a/lib/librte_eal/include/generic/rte_atomic.h
> +++ b/lib/librte_eal/include/generic/rte_atomic.h
> @@ -107,45 +107,6 @@ static inline void rte_io_wmb(void);  static inline
> void rte_io_rmb(void);  ///@}
> 
> -/** @name Coherent I/O Memory Barrier
> - *
> - * Coherent I/O memory barrier is a lightweight version of I/O memory
> - * barriers which are system-wide data synchronization barriers. This
> - * is for only coherent memory domain between lcore and I/O device but
> - * it is same as the I/O memory barriers in most of architectures.
> - * However, some architecture provides even lighter barriers which are
> - * somewhere in between I/O memory barriers and SMP memory barriers.
> - * For example, in case of ARMv8, DMB(data memory barrier) instruction
> - * can have different shareability domains - inner-shareable and
> - * outer-shareable. And inner-shareable DMB fits for SMP memory
> - * barriers and outer-shareable DMB for coherent I/O memory barriers,
> - * which acts on coherent memory.
> - *
> - * In most cases, I/O memory barriers are safer but if operations are
> - * on coherent memory instead of incoherent MMIO region of a device,
> - * then coherent I/O memory barriers can be used and this could bring
> - * performance gain depending on architectures.
> - */
> -///@{
> -/**
> - * Write memory barrier for coherent memory between lcore and I/O
> device
> - *
> - * Guarantees that the STORE operations on coherent memory that
> - * precede the rte_cio_wmb() call are visible to I/O device before the
> - * STORE operations that follow it.
> - */
> -static inline void rte_cio_wmb(void);
> -
> -/**
> - * Read memory barrier for coherent memory between lcore and I/O device
> - *
> - * Guarantees that the LOAD operations on coherent memory updated by
> - * I/O device that precede the rte_cio_rmb() call are visible to CPU
> - * before the LOAD operations that follow it.
> - */
> -static inline void rte_cio_rmb(void);
> -///@}
> -
>  #endif /* __DOXYGEN__ */
> 
>  /**
> diff --git a/lib/librte_eal/ppc/include/rte_atomic.h
> b/lib/librte_eal/ppc/include/rte_atomic.h
> index 527fcaf..a919899 100644
> --- a/lib/librte_eal/ppc/include/rte_atomic.h
> +++ b/lib/librte_eal/ppc/include/rte_atomic.h
> @@ -36,10 +36,6 @@ extern "C" {
> 
>  #define rte_io_rmb() rte_rmb()
> 
> -#define rte_cio_wmb() rte_wmb()
> -
> -#define rte_cio_rmb() rte_rmb()
> -
>  static __rte_always_inline void
>  rte_atomic_thread_fence(int memory_order)  { diff --git
> a/lib/librte_eal/x86/include/rte_atomic.h
> b/lib/librte_eal/x86/include/rte_atomic.h
> index 62ea393..b7d6b06 100644
> --- a/lib/librte_eal/x86/include/rte_atomic.h
> +++ b/lib/librte_eal/x86/include/rte_atomic.h
> @@ -79,10 +79,6 @@ rte_smp_mb(void)
> 
>  #define rte_io_rmb() rte_compiler_barrier()
> 
> -#define rte_cio_wmb() rte_compiler_barrier()
> -
> -#define rte_cio_rmb() rte_compiler_barrier()
> -
>  /**
>   * Synchronization fence between threads based on the specified memory
> order.
>   *
> --
> 2.7.4


^ permalink raw reply	[relevance 0%]

* [dpdk-dev] [PATCH v2 03/17] eal: rename lcore word choices
  @ 2020-09-14 18:19  1%   ` Stephen Hemminger
  0 siblings, 0 replies; 200+ results
From: Stephen Hemminger @ 2020-09-14 18:19 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger

Replace master lcore with main lcore and
replace slave lcore with worker lcore.

Keep the old functions and macros but mark them as deprecated
for this release.

The "--master-lcore" command line option is also deprecated
and any usage will print a warning and use "--main-lcore"
as replacement.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 doc/guides/rel_notes/deprecation.rst       | 19 -------
 doc/guides/rel_notes/release_20_11.rst     | 11 ++++
 lib/librte_eal/common/eal_common_dynmem.c  | 10 ++--
 lib/librte_eal/common/eal_common_launch.c  | 36 ++++++-------
 lib/librte_eal/common/eal_common_lcore.c   |  8 +--
 lib/librte_eal/common/eal_common_options.c | 56 +++++++++++---------
 lib/librte_eal/common/eal_options.h        |  2 +
 lib/librte_eal/common/eal_private.h        |  6 +--
 lib/librte_eal/common/rte_random.c         |  2 +-
 lib/librte_eal/common/rte_service.c        |  2 +-
 lib/librte_eal/freebsd/eal.c               | 28 +++++-----
 lib/librte_eal/freebsd/eal_thread.c        | 32 ++++++------
 lib/librte_eal/include/rte_eal.h           |  4 +-
 lib/librte_eal/include/rte_eal_trace.h     |  4 +-
 lib/librte_eal/include/rte_launch.h        | 60 ++++++++++++----------
 lib/librte_eal/include/rte_lcore.h         | 35 +++++++++----
 lib/librte_eal/linux/eal.c                 | 28 +++++-----
 lib/librte_eal/linux/eal_memory.c          |  8 +--
 lib/librte_eal/linux/eal_thread.c          | 32 ++++++------
 lib/librte_eal/rte_eal_version.map         |  2 +-
 lib/librte_eal/windows/eal.c               | 16 +++---
 lib/librte_eal/windows/eal_thread.c        | 30 +++++------
 22 files changed, 225 insertions(+), 206 deletions(-)

diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 52168f775198..4132fb4b7c46 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -25,25 +25,6 @@ Deprecation Notices
 * kvargs: The function ``rte_kvargs_process`` will get a new parameter
   for returning key match count. It will ease handling of no-match case.
 
-* eal: To be more inclusive in choice of naming, the DPDK project
-  will replace uses of master/slave in the API's and command line arguments.
-
-  References to master/slave in relation to lcore will be renamed
-  to initial/worker.  The function ``rte_get_master_lcore()``
-  will be renamed to ``rte_get_initial_lcore()``.
-  For the 20.11 release, both names will be present and the
-  old function will be marked with the deprecated tag.
-  The old function will be removed in a future version.
-
-  The iterator for worker lcores will also change:
-  ``RTE_LCORE_FOREACH_SLAVE`` will be replaced with
-  ``RTE_LCORE_FOREACH_WORKER``.
-
-  The ``master-lcore`` argument to testpmd will be replaced
-  with ``initial-lcore``. The old ``master-lcore`` argument
-  will produce a runtime notification in 20.11 release, and
-  be removed completely in a future release.
-
 * eal: The terms blacklist and whitelist to describe devices used
   by DPDK will be replaced in the 20.11 relase.
   This will apply to command line arguments as well as macros.
diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index b729bdf20022..08e6fbcb3eb4 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -97,6 +97,17 @@ API Changes
   and the function ``rte_rawdev_queue_conf_get()``
   from ``void`` to ``int`` allowing the return of error codes from drivers.
 
+* eal: Changed the function ``rte_get_master_lcore()`` is
+  replaced to ``rte_get_main_lcore()``. The old function is deprecated.
+
+  The iterator for worker lcores will also change:
+  ``RTE_LCORE_FOREACH_SLAVE`` will be replaced with
+  ``RTE_LCORE_FOREACH_WORKER``.
+
+  The ``master-lcore`` argument to testpmd will be replaced
+  with ``main-lcore``. The old ``master-lcore`` argument
+  will produce a runtime notification in 20.11 release, and
+  be removed completely in a future release.
 
 ABI Changes
 -----------
diff --git a/lib/librte_eal/common/eal_common_dynmem.c b/lib/librte_eal/common/eal_common_dynmem.c
index 614648d8a4de..1cefe52443c4 100644
--- a/lib/librte_eal/common/eal_common_dynmem.c
+++ b/lib/librte_eal/common/eal_common_dynmem.c
@@ -427,19 +427,19 @@ eal_dynmem_calc_num_pages_per_socket(
 			total_size -= default_size;
 		}
 #else
-		/* in 32-bit mode, allocate all of the memory only on master
+		/* in 32-bit mode, allocate all of the memory only on main
 		 * lcore socket
 		 */
 		total_size = internal_conf->memory;
 		for (socket = 0; socket < RTE_MAX_NUMA_NODES && total_size != 0;
 				socket++) {
 			struct rte_config *cfg = rte_eal_get_configuration();
-			unsigned int master_lcore_socket;
+			unsigned int main_lcore_socket;
 
-			master_lcore_socket =
-				rte_lcore_to_socket_id(cfg->master_lcore);
+			main_lcore_socket =
+				rte_lcore_to_socket_id(cfg->main_lcore);
 
-			if (master_lcore_socket != socket)
+			if (main_lcore_socket != socket)
 				continue;
 
 			/* Update sizes */
diff --git a/lib/librte_eal/common/eal_common_launch.c b/lib/librte_eal/common/eal_common_launch.c
index cf52d717f68e..34f854ad80c8 100644
--- a/lib/librte_eal/common/eal_common_launch.c
+++ b/lib/librte_eal/common/eal_common_launch.c
@@ -21,55 +21,55 @@
  * Wait until a lcore finished its job.
  */
 int
-rte_eal_wait_lcore(unsigned slave_id)
+rte_eal_wait_lcore(unsigned worker_id)
 {
-	if (lcore_config[slave_id].state == WAIT)
+	if (lcore_config[worker_id].state == WAIT)
 		return 0;
 
-	while (lcore_config[slave_id].state != WAIT &&
-	       lcore_config[slave_id].state != FINISHED)
+	while (lcore_config[worker_id].state != WAIT &&
+	       lcore_config[worker_id].state != FINISHED)
 		rte_pause();
 
 	rte_rmb();
 
 	/* we are in finished state, go to wait state */
-	lcore_config[slave_id].state = WAIT;
-	return lcore_config[slave_id].ret;
+	lcore_config[worker_id].state = WAIT;
+	return lcore_config[worker_id].ret;
 }
 
 /*
- * Check that every SLAVE lcores are in WAIT state, then call
- * rte_eal_remote_launch() for all of them. If call_master is true
- * (set to CALL_MASTER), also call the function on the master lcore.
+ * Check that every WORKER lcores are in WAIT state, then call
+ * rte_eal_remote_launch() for all of them. If call_main is true
+ * (set to CALL_MAIN), also call the function on the main lcore.
  */
 int
 rte_eal_mp_remote_launch(int (*f)(void *), void *arg,
-			 enum rte_rmt_call_master_t call_master)
+			 enum rte_rmt_call_main_t call_main)
 {
 	int lcore_id;
-	int master = rte_get_master_lcore();
+	int main_lcore = rte_get_main_lcore();
 
 	/* check state of lcores */
-	RTE_LCORE_FOREACH_SLAVE(lcore_id) {
+	RTE_LCORE_FOREACH_WORKER(lcore_id) {
 		if (lcore_config[lcore_id].state != WAIT)
 			return -EBUSY;
 	}
 
 	/* send messages to cores */
-	RTE_LCORE_FOREACH_SLAVE(lcore_id) {
+	RTE_LCORE_FOREACH_WORKER(lcore_id) {
 		rte_eal_remote_launch(f, arg, lcore_id);
 	}
 
-	if (call_master == CALL_MASTER) {
-		lcore_config[master].ret = f(arg);
-		lcore_config[master].state = FINISHED;
+	if (call_main == CALL_MAIN) {
+		lcore_config[main_lcore].ret = f(arg);
+		lcore_config[main_lcore].state = FINISHED;
 	}
 
 	return 0;
 }
 
 /*
- * Return the state of the lcore identified by slave_id.
+ * Return the state of the lcore identified by worker_id.
  */
 enum rte_lcore_state_t
 rte_eal_get_lcore_state(unsigned lcore_id)
@@ -86,7 +86,7 @@ rte_eal_mp_wait_lcore(void)
 {
 	unsigned lcore_id;
 
-	RTE_LCORE_FOREACH_SLAVE(lcore_id) {
+	RTE_LCORE_FOREACH_WORKER(lcore_id) {
 		rte_eal_wait_lcore(lcore_id);
 	}
 }
diff --git a/lib/librte_eal/common/eal_common_lcore.c b/lib/librte_eal/common/eal_common_lcore.c
index d64569b3c758..66d6bad1a7d7 100644
--- a/lib/librte_eal/common/eal_common_lcore.c
+++ b/lib/librte_eal/common/eal_common_lcore.c
@@ -18,9 +18,9 @@
 #include "eal_private.h"
 #include "eal_thread.h"
 
-unsigned int rte_get_master_lcore(void)
+unsigned int rte_get_main_lcore(void)
 {
-	return rte_eal_get_configuration()->master_lcore;
+	return rte_eal_get_configuration()->main_lcore;
 }
 
 unsigned int rte_lcore_count(void)
@@ -93,7 +93,7 @@ int rte_lcore_is_enabled(unsigned int lcore_id)
 	return cfg->lcore_role[lcore_id] == ROLE_RTE;
 }
 
-unsigned int rte_get_next_lcore(unsigned int i, int skip_master, int wrap)
+unsigned int rte_get_next_lcore(unsigned int i, int skip_main, int wrap)
 {
 	i++;
 	if (wrap)
@@ -101,7 +101,7 @@ unsigned int rte_get_next_lcore(unsigned int i, int skip_master, int wrap)
 
 	while (i < RTE_MAX_LCORE) {
 		if (!rte_lcore_is_enabled(i) ||
-		    (skip_master && (i == rte_get_master_lcore()))) {
+		    (skip_main && (i == rte_get_main_lcore()))) {
 			i++;
 			if (wrap)
 				i %= RTE_MAX_LCORE;
diff --git a/lib/librte_eal/common/eal_common_options.c b/lib/librte_eal/common/eal_common_options.c
index a5426e12346a..667ba2111c1a 100644
--- a/lib/librte_eal/common/eal_common_options.c
+++ b/lib/librte_eal/common/eal_common_options.c
@@ -81,6 +81,7 @@ eal_long_options[] = {
 	{OPT_TRACE_BUF_SIZE,    1, NULL, OPT_TRACE_BUF_SIZE_NUM   },
 	{OPT_TRACE_MODE,        1, NULL, OPT_TRACE_MODE_NUM       },
 	{OPT_MASTER_LCORE,      1, NULL, OPT_MASTER_LCORE_NUM     },
+	{OPT_MAIN_LCORE,        1, NULL, OPT_MAIN_LCORE_NUM       },
 	{OPT_MBUF_POOL_OPS_NAME, 1, NULL, OPT_MBUF_POOL_OPS_NAME_NUM},
 	{OPT_NO_HPET,           0, NULL, OPT_NO_HPET_NUM          },
 	{OPT_NO_HUGE,           0, NULL, OPT_NO_HUGE_NUM          },
@@ -144,7 +145,7 @@ struct device_option {
 static struct device_option_list devopt_list =
 TAILQ_HEAD_INITIALIZER(devopt_list);
 
-static int master_lcore_parsed;
+static int main_lcore_parsed;
 static int mem_parsed;
 static int core_parsed;
 
@@ -575,12 +576,12 @@ eal_parse_service_coremask(const char *coremask)
 		for (j = 0; j < BITS_PER_HEX && idx < RTE_MAX_LCORE;
 				j++, idx++) {
 			if ((1 << j) & val) {
-				/* handle master lcore already parsed */
+				/* handle main lcore already parsed */
 				uint32_t lcore = idx;
-				if (master_lcore_parsed &&
-						cfg->master_lcore == lcore) {
+				if (main_lcore_parsed &&
+						cfg->main_lcore == lcore) {
 					RTE_LOG(ERR, EAL,
-						"lcore %u is master lcore, cannot use as service core\n",
+						"lcore %u is main lcore, cannot use as service core\n",
 						idx);
 					return -1;
 				}
@@ -748,12 +749,12 @@ eal_parse_service_corelist(const char *corelist)
 				min = idx;
 			for (idx = min; idx <= max; idx++) {
 				if (cfg->lcore_role[idx] != ROLE_SERVICE) {
-					/* handle master lcore already parsed */
+					/* handle main lcore already parsed */
 					uint32_t lcore = idx;
-					if (cfg->master_lcore == lcore &&
-							master_lcore_parsed) {
+					if (cfg->main_lcore == lcore &&
+							main_lcore_parsed) {
 						RTE_LOG(ERR, EAL,
-							"Error: lcore %u is master lcore, cannot use as service core\n",
+							"Error: lcore %u is main lcore, cannot use as service core\n",
 							idx);
 						return -1;
 					}
@@ -836,23 +837,23 @@ eal_parse_corelist(const char *corelist, int *cores)
 	return 0;
 }
 
-/* Changes the lcore id of the master thread */
+/* Changes the lcore id of the main thread */
 static int
-eal_parse_master_lcore(const char *arg)
+eal_parse_main_lcore(const char *arg)
 {
 	char *parsing_end;
 	struct rte_config *cfg = rte_eal_get_configuration();
 
 	errno = 0;
-	cfg->master_lcore = (uint32_t) strtol(arg, &parsing_end, 0);
+	cfg->main_lcore = (uint32_t) strtol(arg, &parsing_end, 0);
 	if (errno || parsing_end[0] != 0)
 		return -1;
-	if (cfg->master_lcore >= RTE_MAX_LCORE)
+	if (cfg->main_lcore >= RTE_MAX_LCORE)
 		return -1;
-	master_lcore_parsed = 1;
+	main_lcore_parsed = 1;
 
-	/* ensure master core is not used as service core */
-	if (lcore_config[cfg->master_lcore].core_role == ROLE_SERVICE) {
+	/* ensure main core is not used as service core */
+	if (lcore_config[cfg->main_lcore].core_role == ROLE_SERVICE) {
 		RTE_LOG(ERR, EAL,
 			"Error: Master lcore is used as a service core\n");
 		return -1;
@@ -1593,7 +1594,12 @@ eal_parse_common_option(int opt, const char *optarg,
 		break;
 
 	case OPT_MASTER_LCORE_NUM:
-		if (eal_parse_master_lcore(optarg) < 0) {
+		fprintf(stderr,
+			"option --" OPT_MASTER_LCORE
+			" is deprecated use " OPT_MAIN_LCORE "\n");
+		/* fallthrough */
+	case OPT_MAIN_LCORE_NUM:
+		if (eal_parse_main_lcore(optarg) < 0) {
 			RTE_LOG(ERR, EAL, "invalid parameter for --"
 					OPT_MASTER_LCORE "\n");
 			return -1;
@@ -1763,9 +1769,9 @@ compute_ctrl_threads_cpuset(struct internal_config *internal_cfg)
 
 	RTE_CPU_AND(cpuset, cpuset, &default_set);
 
-	/* if no remaining cpu, use master lcore cpu affinity */
+	/* if no remaining cpu, use main lcore cpu affinity */
 	if (!CPU_COUNT(cpuset)) {
-		memcpy(cpuset, &lcore_config[rte_get_master_lcore()].cpuset,
+		memcpy(cpuset, &lcore_config[rte_get_main_lcore()].cpuset,
 			sizeof(*cpuset));
 	}
 }
@@ -1797,12 +1803,12 @@ eal_adjust_config(struct internal_config *internal_cfg)
 	if (internal_conf->process_type == RTE_PROC_AUTO)
 		internal_conf->process_type = eal_proc_type_detect();
 
-	/* default master lcore is the first one */
-	if (!master_lcore_parsed) {
-		cfg->master_lcore = rte_get_next_lcore(-1, 0, 0);
-		if (cfg->master_lcore >= RTE_MAX_LCORE)
+	/* default main lcore is the first one */
+	if (!main_lcore_parsed) {
+		cfg->main_lcore = rte_get_next_lcore(-1, 0, 0);
+		if (cfg->main_lcore >= RTE_MAX_LCORE)
 			return -1;
-		lcore_config[cfg->master_lcore].core_role = ROLE_RTE;
+		lcore_config[cfg->main_lcore].core_role = ROLE_RTE;
 	}
 
 	compute_ctrl_threads_cpuset(internal_cfg);
@@ -1822,7 +1828,7 @@ eal_check_common_options(struct internal_config *internal_cfg)
 	const struct internal_config *internal_conf =
 		eal_get_internal_configuration();
 
-	if (cfg->lcore_role[cfg->master_lcore] != ROLE_RTE) {
+	if (cfg->lcore_role[cfg->main_lcore] != ROLE_RTE) {
 		RTE_LOG(ERR, EAL, "Master lcore is not enabled for DPDK\n");
 		return -1;
 	}
diff --git a/lib/librte_eal/common/eal_options.h b/lib/librte_eal/common/eal_options.h
index 89769d48b487..d363228a7a25 100644
--- a/lib/librte_eal/common/eal_options.h
+++ b/lib/librte_eal/common/eal_options.h
@@ -43,6 +43,8 @@ enum {
 	OPT_TRACE_BUF_SIZE_NUM,
 #define OPT_TRACE_MODE        "trace-mode"
 	OPT_TRACE_MODE_NUM,
+#define OPT_MAIN_LCORE        "main-lcore"
+	OPT_MAIN_LCORE_NUM,
 #define OPT_MASTER_LCORE      "master-lcore"
 	OPT_MASTER_LCORE_NUM,
 #define OPT_MBUF_POOL_OPS_NAME "mbuf-pool-ops-name"
diff --git a/lib/librte_eal/common/eal_private.h b/lib/librte_eal/common/eal_private.h
index a6a6381567f4..4684c4c7df19 100644
--- a/lib/librte_eal/common/eal_private.h
+++ b/lib/librte_eal/common/eal_private.h
@@ -20,8 +20,8 @@
  */
 struct lcore_config {
 	pthread_t thread_id;       /**< pthread identifier */
-	int pipe_master2slave[2];  /**< communication pipe with master */
-	int pipe_slave2master[2];  /**< communication pipe with master */
+	int pipe_main2worker[2];   /**< communication pipe with main */
+	int pipe_worker2main[2];   /**< communication pipe with main */
 
 	lcore_function_t * volatile f; /**< function to call */
 	void * volatile arg;       /**< argument of function */
@@ -42,7 +42,7 @@ extern struct lcore_config lcore_config[RTE_MAX_LCORE];
  * The global RTE configuration structure.
  */
 struct rte_config {
-	uint32_t master_lcore;       /**< Id of the master lcore */
+	uint32_t main_lcore;         /**< Id of the main lcore */
 	uint32_t lcore_count;        /**< Number of available logical cores. */
 	uint32_t numa_node_count;    /**< Number of detected NUMA nodes. */
 	uint32_t numa_nodes[RTE_MAX_NUMA_NODES]; /**< List of detected NUMA nodes. */
diff --git a/lib/librte_eal/common/rte_random.c b/lib/librte_eal/common/rte_random.c
index b7a089ac4fe0..8d88aca26299 100644
--- a/lib/librte_eal/common/rte_random.c
+++ b/lib/librte_eal/common/rte_random.c
@@ -122,7 +122,7 @@ struct rte_rand_state *__rte_rand_get_state(void)
 	lcore_id = rte_lcore_id();
 
 	if (unlikely(lcore_id == LCORE_ID_ANY))
-		lcore_id = rte_get_master_lcore();
+		lcore_id = rte_get_main_lcore();
 
 	return &rand_states[lcore_id];
 }
diff --git a/lib/librte_eal/common/rte_service.c b/lib/librte_eal/common/rte_service.c
index 6a0e0ff65d14..626d2409ad57 100644
--- a/lib/librte_eal/common/rte_service.c
+++ b/lib/librte_eal/common/rte_service.c
@@ -106,7 +106,7 @@ rte_service_init(void)
 	struct rte_config *cfg = rte_eal_get_configuration();
 	for (i = 0; i < RTE_MAX_LCORE; i++) {
 		if (lcore_config[i].core_role == ROLE_SERVICE) {
-			if ((unsigned int)i == cfg->master_lcore)
+			if ((unsigned int)i == cfg->main_lcore)
 				continue;
 			rte_service_lcore_add(i);
 			count++;
diff --git a/lib/librte_eal/freebsd/eal.c b/lib/librte_eal/freebsd/eal.c
index 798add0b5919..f7bdd8caabc3 100644
--- a/lib/librte_eal/freebsd/eal.c
+++ b/lib/librte_eal/freebsd/eal.c
@@ -626,10 +626,10 @@ eal_check_mem_on_local_socket(void)
 	int socket_id;
 	const struct rte_config *config = rte_eal_get_configuration();
 
-	socket_id = rte_lcore_to_socket_id(config->master_lcore);
+	socket_id = rte_lcore_to_socket_id(config->main_lcore);
 
 	if (rte_memseg_list_walk(check_socket, &socket_id) == 0)
-		RTE_LOG(WARNING, EAL, "WARNING: Master core has no memory on local socket!\n");
+		RTE_LOG(WARNING, EAL, "WARNING: Main core has no memory on local socket!\n");
 }
 
 
@@ -850,29 +850,29 @@ rte_eal_init(int argc, char **argv)
 	eal_check_mem_on_local_socket();
 
 	if (pthread_setaffinity_np(pthread_self(), sizeof(rte_cpuset_t),
-			&lcore_config[config->master_lcore].cpuset) != 0) {
+			&lcore_config[config->main_lcore].cpuset) != 0) {
 		rte_eal_init_alert("Cannot set affinity");
 		rte_errno = EINVAL;
 		return -1;
 	}
-	__rte_thread_init(config->master_lcore,
-		&lcore_config[config->master_lcore].cpuset);
+	__rte_thread_init(config->main_lcore,
+		&lcore_config[config->main_lcore].cpuset);
 
 	ret = eal_thread_dump_current_affinity(cpuset, sizeof(cpuset));
 
-	RTE_LOG(DEBUG, EAL, "Master lcore %u is ready (tid=%p;cpuset=[%s%s])\n",
-		config->master_lcore, thread_id, cpuset,
+	RTE_LOG(DEBUG, EAL, "Main lcore %u is ready (tid=%p;cpuset=[%s%s])\n",
+		config->main_lcore, thread_id, cpuset,
 		ret == 0 ? "" : "...");
 
-	RTE_LCORE_FOREACH_SLAVE(i) {
+	RTE_LCORE_FOREACH_WORKER(i) {
 
 		/*
-		 * create communication pipes between master thread
+		 * create communication pipes between main thread
 		 * and children
 		 */
-		if (pipe(lcore_config[i].pipe_master2slave) < 0)
+		if (pipe(lcore_config[i].pipe_main2worker) < 0)
 			rte_panic("Cannot create pipe\n");
-		if (pipe(lcore_config[i].pipe_slave2master) < 0)
+		if (pipe(lcore_config[i].pipe_worker2main) < 0)
 			rte_panic("Cannot create pipe\n");
 
 		lcore_config[i].state = WAIT;
@@ -885,7 +885,7 @@ rte_eal_init(int argc, char **argv)
 
 		/* Set thread_name for aid in debugging. */
 		snprintf(thread_name, sizeof(thread_name),
-				"lcore-slave-%d", i);
+				"lcore-worker-%d", i);
 		rte_thread_setname(lcore_config[i].thread_id, thread_name);
 
 		ret = pthread_setaffinity_np(lcore_config[i].thread_id,
@@ -895,10 +895,10 @@ rte_eal_init(int argc, char **argv)
 	}
 
 	/*
-	 * Launch a dummy function on all slave lcores, so that master lcore
+	 * Launch a dummy function on all worker lcores, so that main lcore
 	 * knows they are all ready when this function returns.
 	 */
-	rte_eal_mp_remote_launch(sync_func, NULL, SKIP_MASTER);
+	rte_eal_mp_remote_launch(sync_func, NULL, SKIP_MAIN);
 	rte_eal_mp_wait_lcore();
 
 	/* initialize services so vdevs register service during bus_probe. */
diff --git a/lib/librte_eal/freebsd/eal_thread.c b/lib/librte_eal/freebsd/eal_thread.c
index 99b5fefc4c5b..1dce9b04f24a 100644
--- a/lib/librte_eal/freebsd/eal_thread.c
+++ b/lib/librte_eal/freebsd/eal_thread.c
@@ -26,35 +26,35 @@
 #include "eal_thread.h"
 
 /*
- * Send a message to a slave lcore identified by slave_id to call a
+ * Send a message to a worker lcore identified by worker_id to call a
  * function f with argument arg. Once the execution is done, the
  * remote lcore switch in FINISHED state.
  */
 int
-rte_eal_remote_launch(int (*f)(void *), void *arg, unsigned slave_id)
+rte_eal_remote_launch(int (*f)(void *), void *arg, unsigned worker_id)
 {
 	int n;
 	char c = 0;
-	int m2s = lcore_config[slave_id].pipe_master2slave[1];
-	int s2m = lcore_config[slave_id].pipe_slave2master[0];
+	int m2w = lcore_config[worker_id].pipe_main2worker[1];
+	int w2m = lcore_config[worker_id].pipe_worker2main[0];
 	int rc = -EBUSY;
 
-	if (lcore_config[slave_id].state != WAIT)
+	if (lcore_config[worker_id].state != WAIT)
 		goto finish;
 
-	lcore_config[slave_id].f = f;
-	lcore_config[slave_id].arg = arg;
+	lcore_config[worker_id].f = f;
+	lcore_config[worker_id].arg = arg;
 
 	/* send message */
 	n = 0;
 	while (n == 0 || (n < 0 && errno == EINTR))
-		n = write(m2s, &c, 1);
+		n = write(m2w, &c, 1);
 	if (n < 0)
 		rte_panic("cannot write on configuration pipe\n");
 
 	/* wait ack */
 	do {
-		n = read(s2m, &c, 1);
+		n = read(w2m, &c, 1);
 	} while (n < 0 && errno == EINTR);
 
 	if (n <= 0)
@@ -62,7 +62,7 @@ rte_eal_remote_launch(int (*f)(void *), void *arg, unsigned slave_id)
 
 	rc = 0;
 finish:
-	rte_eal_trace_thread_remote_launch(f, arg, slave_id, rc);
+	rte_eal_trace_thread_remote_launch(f, arg, worker_id, rc);
 	return rc;
 }
 
@@ -74,21 +74,21 @@ eal_thread_loop(__rte_unused void *arg)
 	int n, ret;
 	unsigned lcore_id;
 	pthread_t thread_id;
-	int m2s, s2m;
+	int m2w, w2m;
 	char cpuset[RTE_CPU_AFFINITY_STR_LEN];
 
 	thread_id = pthread_self();
 
 	/* retrieve our lcore_id from the configuration structure */
-	RTE_LCORE_FOREACH_SLAVE(lcore_id) {
+	RTE_LCORE_FOREACH_WORKER(lcore_id) {
 		if (thread_id == lcore_config[lcore_id].thread_id)
 			break;
 	}
 	if (lcore_id == RTE_MAX_LCORE)
 		rte_panic("cannot retrieve lcore id\n");
 
-	m2s = lcore_config[lcore_id].pipe_master2slave[0];
-	s2m = lcore_config[lcore_id].pipe_slave2master[1];
+	m2w = lcore_config[lcore_id].pipe_main2worker[0];
+	w2m = lcore_config[lcore_id].pipe_worker2main[1];
 
 	__rte_thread_init(lcore_id, &lcore_config[lcore_id].cpuset);
 
@@ -104,7 +104,7 @@ eal_thread_loop(__rte_unused void *arg)
 
 		/* wait command */
 		do {
-			n = read(m2s, &c, 1);
+			n = read(m2w, &c, 1);
 		} while (n < 0 && errno == EINTR);
 
 		if (n <= 0)
@@ -115,7 +115,7 @@ eal_thread_loop(__rte_unused void *arg)
 		/* send ack */
 		n = 0;
 		while (n == 0 || (n < 0 && errno == EINTR))
-			n = write(s2m, &c, 1);
+			n = write(w2m, &c, 1);
 		if (n < 0)
 			rte_panic("cannot write on configuration pipe\n");
 
diff --git a/lib/librte_eal/include/rte_eal.h b/lib/librte_eal/include/rte_eal.h
index ddcf6a2e7a1a..f8f0d74b476c 100644
--- a/lib/librte_eal/include/rte_eal.h
+++ b/lib/librte_eal/include/rte_eal.h
@@ -65,11 +65,11 @@ int rte_eal_iopl_init(void);
 /**
  * Initialize the Environment Abstraction Layer (EAL).
  *
- * This function is to be executed on the MASTER lcore only, as soon
+ * This function is to be executed on the MAIN lcore only, as soon
  * as possible in the application's main() function.
  *
  * The function finishes the initialization process before main() is called.
- * It puts the SLAVE lcores in the WAIT state.
+ * It puts the WORKER lcores in the WAIT state.
  *
  * When the multi-partition feature is supported, depending on the
  * configuration (if CONFIG_RTE_EAL_MAIN_PARTITION is disabled), this
diff --git a/lib/librte_eal/include/rte_eal_trace.h b/lib/librte_eal/include/rte_eal_trace.h
index 6b1a813c7b1b..dd4e30e7fe5c 100644
--- a/lib/librte_eal/include/rte_eal_trace.h
+++ b/lib/librte_eal/include/rte_eal_trace.h
@@ -258,10 +258,10 @@ RTE_TRACE_POINT(
 RTE_TRACE_POINT(
 	rte_eal_trace_thread_remote_launch,
 	RTE_TRACE_POINT_ARGS(int (*f)(void *), void *arg,
-		unsigned int slave_id, int rc),
+		unsigned int worker_id, int rc),
 	rte_trace_point_emit_ptr(f);
 	rte_trace_point_emit_ptr(arg);
-	rte_trace_point_emit_u32(slave_id);
+	rte_trace_point_emit_u32(worker_id);
 	rte_trace_point_emit_int(rc);
 )
 RTE_TRACE_POINT(
diff --git a/lib/librte_eal/include/rte_launch.h b/lib/librte_eal/include/rte_launch.h
index 06a671752ace..2b061c7dea8e 100644
--- a/lib/librte_eal/include/rte_launch.h
+++ b/lib/librte_eal/include/rte_launch.h
@@ -32,12 +32,12 @@ typedef int (lcore_function_t)(void *);
 /**
  * Launch a function on another lcore.
  *
- * To be executed on the MASTER lcore only.
+ * To be executed on the MAIN lcore only.
  *
- * Sends a message to a slave lcore (identified by the slave_id) that
+ * Sends a message to a worker lcore (identified by the worker_id) that
  * is in the WAIT state (this is true after the first call to
  * rte_eal_init()). This can be checked by first calling
- * rte_eal_wait_lcore(slave_id).
+ * rte_eal_wait_lcore(worker_id).
  *
  * When the remote lcore receives the message, it switches to
  * the RUNNING state, then calls the function f with argument arg. Once the
@@ -45,7 +45,7 @@ typedef int (lcore_function_t)(void *);
  * the return value of f is stored in a local variable to be read using
  * rte_eal_wait_lcore().
  *
- * The MASTER lcore returns as soon as the message is sent and knows
+ * The MAIN lcore returns as soon as the message is sent and knows
  * nothing about the completion of f.
  *
  * Note: This function is not designed to offer optimum
@@ -56,37 +56,41 @@ typedef int (lcore_function_t)(void *);
  *   The function to be called.
  * @param arg
  *   The argument for the function.
- * @param slave_id
+ * @param worker_id
  *   The identifier of the lcore on which the function should be executed.
  * @return
  *   - 0: Success. Execution of function f started on the remote lcore.
  *   - (-EBUSY): The remote lcore is not in a WAIT state.
  */
-int rte_eal_remote_launch(lcore_function_t *f, void *arg, unsigned slave_id);
+int rte_eal_remote_launch(lcore_function_t *f, void *arg, unsigned worker_id);
 
 /**
- * This enum indicates whether the master core must execute the handler
+ * This enum indicates whether the main core must execute the handler
  * launched on all logical cores.
  */
-enum rte_rmt_call_master_t {
-	SKIP_MASTER = 0, /**< lcore handler not executed by master core. */
-	CALL_MASTER,     /**< lcore handler executed by master core. */
+enum rte_rmt_call_main_t {
+	SKIP_MAIN = 0, /**< lcore handler not executed by main core. */
+	CALL_MAIN,     /**< lcore handler executed by main core. */
 };
 
+/* These legacy definitions will be removed in future release */
+#define SKIP_MASTER 	RTE_DEPRECATED(SKIP_MASTER) SKIP_MAIN
+#define CALL_MASTER 	RTE_DEPRECATED(CALL_MASTER) CALL_MAIN
+
 /**
  * Launch a function on all lcores.
  *
- * Check that each SLAVE lcore is in a WAIT state, then call
+ * Check that each WORKER lcore is in a WAIT state, then call
  * rte_eal_remote_launch() for each lcore.
  *
  * @param f
  *   The function to be called.
  * @param arg
  *   The argument for the function.
- * @param call_master
- *   If call_master set to SKIP_MASTER, the MASTER lcore does not call
- *   the function. If call_master is set to CALL_MASTER, the function
- *   is also called on master before returning. In any case, the master
+ * @param call_main
+ *   If call_main set to SKIP_MAIN, the MAIN lcore does not call
+ *   the function. If call_main is set to CALL_MAIN, the function
+ *   is also called on main before returning. In any case, the main
  *   lcore returns as soon as it finished its job and knows nothing
  *   about the completion of f on the other lcores.
  * @return
@@ -95,49 +99,49 @@ enum rte_rmt_call_master_t {
  *     case, no message is sent to any of the lcores.
  */
 int rte_eal_mp_remote_launch(lcore_function_t *f, void *arg,
-			     enum rte_rmt_call_master_t call_master);
+			     enum rte_rmt_call_main_t call_main);
 
 /**
- * Get the state of the lcore identified by slave_id.
+ * Get the state of the lcore identified by worker_id.
  *
- * To be executed on the MASTER lcore only.
+ * To be executed on the MAIN lcore only.
  *
- * @param slave_id
+ * @param worker_id
  *   The identifier of the lcore.
  * @return
  *   The state of the lcore.
  */
-enum rte_lcore_state_t rte_eal_get_lcore_state(unsigned slave_id);
+enum rte_lcore_state_t rte_eal_get_lcore_state(unsigned worker_id);
 
 /**
  * Wait until an lcore finishes its job.
  *
- * To be executed on the MASTER lcore only.
+ * To be executed on the MAIN lcore only.
  *
- * If the slave lcore identified by the slave_id is in a FINISHED state,
+ * If the worker lcore identified by the worker_id is in a FINISHED state,
  * switch to the WAIT state. If the lcore is in RUNNING state, wait until
  * the lcore finishes its job and moves to the FINISHED state.
  *
- * @param slave_id
+ * @param worker_id
  *   The identifier of the lcore.
  * @return
- *   - 0: If the lcore identified by the slave_id is in a WAIT state.
+ *   - 0: If the lcore identified by the worker_id is in a WAIT state.
  *   - The value that was returned by the previous remote launch
- *     function call if the lcore identified by the slave_id was in a
+ *     function call if the lcore identified by the worker_id was in a
  *     FINISHED or RUNNING state. In this case, it changes the state
  *     of the lcore to WAIT.
  */
-int rte_eal_wait_lcore(unsigned slave_id);
+int rte_eal_wait_lcore(unsigned worker_id);
 
 /**
  * Wait until all lcores finish their jobs.
  *
- * To be executed on the MASTER lcore only. Issue an
+ * To be executed on the MAIN lcore only. Issue an
  * rte_eal_wait_lcore() for every lcore. The return values are
  * ignored.
  *
  * After a call to rte_eal_mp_wait_lcore(), the caller can assume
- * that all slave lcores are in a WAIT state.
+ * that all worker lcores are in a WAIT state.
  */
 void rte_eal_mp_wait_lcore(void);
 
diff --git a/lib/librte_eal/include/rte_lcore.h b/lib/librte_eal/include/rte_lcore.h
index b8b64a625200..48b87e253afa 100644
--- a/lib/librte_eal/include/rte_lcore.h
+++ b/lib/librte_eal/include/rte_lcore.h
@@ -78,12 +78,24 @@ rte_lcore_id(void)
 }
 
 /**
- * Get the id of the master lcore
+ * Get the id of the main lcore
  *
  * @return
- *   the id of the master lcore
+ *   the id of the main lcore
  */
-unsigned int rte_get_master_lcore(void);
+unsigned int rte_get_main_lcore(void);
+
+/**
+ * Deprecated function the id of the main lcore
+ *
+ * @return
+ *   the id of the main lcore
+ */
+__rte_deprecated
+static inline unsigned int rte_get_master_lcore(void)
+{
+	return rte_get_main_lcore();
+}
 
 /**
  * Return the number of execution units (lcores) on the system.
@@ -203,32 +215,35 @@ int rte_lcore_is_enabled(unsigned int lcore_id);
  *
  * @param i
  *   The current lcore (reference).
- * @param skip_master
- *   If true, do not return the ID of the master lcore.
+ * @param skip_main
+ *   If true, do not return the ID of the main lcore.
  * @param wrap
  *   If true, go back to 0 when RTE_MAX_LCORE is reached; otherwise,
  *   return RTE_MAX_LCORE.
  * @return
  *   The next lcore_id or RTE_MAX_LCORE if not found.
  */
-unsigned int rte_get_next_lcore(unsigned int i, int skip_master, int wrap);
+unsigned int rte_get_next_lcore(unsigned int i, int skip_main, int wrap);
 
 /**
  * Macro to browse all running lcores.
  */
 #define RTE_LCORE_FOREACH(i)						\
 	for (i = rte_get_next_lcore(-1, 0, 0);				\
-	     i<RTE_MAX_LCORE;						\
+	     i < RTE_MAX_LCORE;						\
 	     i = rte_get_next_lcore(i, 0, 0))
 
 /**
- * Macro to browse all running lcores except the master lcore.
+ * Macro to browse all running lcores except the main lcore.
  */
-#define RTE_LCORE_FOREACH_SLAVE(i)					\
+#define RTE_LCORE_FOREACH_WORKER(i)					\
 	for (i = rte_get_next_lcore(-1, 1, 0);				\
-	     i<RTE_MAX_LCORE;						\
+	     i < RTE_MAX_LCORE;						\
 	     i = rte_get_next_lcore(i, 1, 0))
 
+#define RTE_LCORE_FOREACH_SLAVE(l)					\
+	RTE_DEPRECATED(RTE_LCORE_FOREACH_SLAVE) RTE_LCORE_FOREACH_WORKER(l)
+
 /**
  * Callback prototype for initializing lcores.
  *
diff --git a/lib/librte_eal/linux/eal.c b/lib/librte_eal/linux/eal.c
index 0960f01d0516..d8b1948585dc 100644
--- a/lib/librte_eal/linux/eal.c
+++ b/lib/librte_eal/linux/eal.c
@@ -884,10 +884,10 @@ eal_check_mem_on_local_socket(void)
 	int socket_id;
 	const struct rte_config *config = rte_eal_get_configuration();
 
-	socket_id = rte_lcore_to_socket_id(config->master_lcore);
+	socket_id = rte_lcore_to_socket_id(config->main_lcore);
 
 	if (rte_memseg_list_walk(check_socket, &socket_id) == 0)
-		RTE_LOG(WARNING, EAL, "WARNING: Master core has no memory on local socket!\n");
+		RTE_LOG(WARNING, EAL, "WARNING: Main core has no memory on local socket!\n");
 }
 
 static int
@@ -1214,28 +1214,28 @@ rte_eal_init(int argc, char **argv)
 	eal_check_mem_on_local_socket();
 
 	if (pthread_setaffinity_np(pthread_self(), sizeof(rte_cpuset_t),
-			&lcore_config[config->master_lcore].cpuset) != 0) {
+			&lcore_config[config->main_lcore].cpuset) != 0) {
 		rte_eal_init_alert("Cannot set affinity");
 		rte_errno = EINVAL;
 		return -1;
 	}
-	__rte_thread_init(config->master_lcore,
-		&lcore_config[config->master_lcore].cpuset);
+	__rte_thread_init(config->main_lcore,
+		&lcore_config[config->main_lcore].cpuset);
 
 	ret = eal_thread_dump_current_affinity(cpuset, sizeof(cpuset));
-	RTE_LOG(DEBUG, EAL, "Master lcore %u is ready (tid=%zx;cpuset=[%s%s])\n",
-		config->master_lcore, (uintptr_t)thread_id, cpuset,
+	RTE_LOG(DEBUG, EAL, "Main lcore %u is ready (tid=%zx;cpuset=[%s%s])\n",
+		config->main_lcore, (uintptr_t)thread_id, cpuset,
 		ret == 0 ? "" : "...");
 
-	RTE_LCORE_FOREACH_SLAVE(i) {
+	RTE_LCORE_FOREACH_WORKER(i) {
 
 		/*
-		 * create communication pipes between master thread
+		 * create communication pipes between main thread
 		 * and children
 		 */
-		if (pipe(lcore_config[i].pipe_master2slave) < 0)
+		if (pipe(lcore_config[i].pipe_main2worker) < 0)
 			rte_panic("Cannot create pipe\n");
-		if (pipe(lcore_config[i].pipe_slave2master) < 0)
+		if (pipe(lcore_config[i].pipe_worker2main) < 0)
 			rte_panic("Cannot create pipe\n");
 
 		lcore_config[i].state = WAIT;
@@ -1248,7 +1248,7 @@ rte_eal_init(int argc, char **argv)
 
 		/* Set thread_name for aid in debugging. */
 		snprintf(thread_name, sizeof(thread_name),
-			"lcore-slave-%d", i);
+			"lcore-worker-%d", i);
 		ret = rte_thread_setname(lcore_config[i].thread_id,
 						thread_name);
 		if (ret != 0)
@@ -1262,10 +1262,10 @@ rte_eal_init(int argc, char **argv)
 	}
 
 	/*
-	 * Launch a dummy function on all slave lcores, so that master lcore
+	 * Launch a dummy function on all worker lcores, so that main lcore
 	 * knows they are all ready when this function returns.
 	 */
-	rte_eal_mp_remote_launch(sync_func, NULL, SKIP_MASTER);
+	rte_eal_mp_remote_launch(sync_func, NULL, SKIP_MAIN);
 	rte_eal_mp_wait_lcore();
 
 	/* initialize services so vdevs register service during bus_probe. */
diff --git a/lib/librte_eal/linux/eal_memory.c b/lib/librte_eal/linux/eal_memory.c
index 89725291b0ce..d7349544a13a 100644
--- a/lib/librte_eal/linux/eal_memory.c
+++ b/lib/librte_eal/linux/eal_memory.c
@@ -1751,7 +1751,7 @@ memseg_primary_init_32(void)
 	for (i = 0; i < rte_socket_count(); i++) {
 		int hp_sizes = (int) internal_conf->num_hugepage_sizes;
 		uint64_t max_socket_mem, cur_socket_mem;
-		unsigned int master_lcore_socket;
+		unsigned int main_lcore_socket;
 		struct rte_config *cfg = rte_eal_get_configuration();
 		bool skip;
 
@@ -1767,10 +1767,10 @@ memseg_primary_init_32(void)
 		skip = active_sockets != 0 &&
 				internal_conf->socket_mem[socket_id] == 0;
 		/* ...or if we didn't specifically request memory on *any*
-		 * socket, and this is not master lcore
+		 * socket, and this is not main lcore
 		 */
-		master_lcore_socket = rte_lcore_to_socket_id(cfg->master_lcore);
-		skip |= active_sockets == 0 && socket_id != master_lcore_socket;
+		main_lcore_socket = rte_lcore_to_socket_id(cfg->main_lcore);
+		skip |= active_sockets == 0 && socket_id != main_lcore_socket;
 
 		if (skip) {
 			RTE_LOG(DEBUG, EAL, "Will not preallocate memory on socket %u\n",
diff --git a/lib/librte_eal/linux/eal_thread.c b/lib/librte_eal/linux/eal_thread.c
index 068de2559555..bed1d513c841 100644
--- a/lib/librte_eal/linux/eal_thread.c
+++ b/lib/librte_eal/linux/eal_thread.c
@@ -26,35 +26,35 @@
 #include "eal_thread.h"
 
 /*
- * Send a message to a slave lcore identified by slave_id to call a
+ * Send a message to a worker lcore identified by worker_id to call a
  * function f with argument arg. Once the execution is done, the
  * remote lcore switch in FINISHED state.
  */
 int
-rte_eal_remote_launch(int (*f)(void *), void *arg, unsigned slave_id)
+rte_eal_remote_launch(int (*f)(void *), void *arg, unsigned worker_id)
 {
 	int n;
 	char c = 0;
-	int m2s = lcore_config[slave_id].pipe_master2slave[1];
-	int s2m = lcore_config[slave_id].pipe_slave2master[0];
+	int m2w = lcore_config[worker_id].pipe_main2worker[1];
+	int w2m = lcore_config[worker_id].pipe_worker2main[0];
 	int rc = -EBUSY;
 
-	if (lcore_config[slave_id].state != WAIT)
+	if (lcore_config[worker_id].state != WAIT)
 		goto finish;
 
-	lcore_config[slave_id].f = f;
-	lcore_config[slave_id].arg = arg;
+	lcore_config[worker_id].f = f;
+	lcore_config[worker_id].arg = arg;
 
 	/* send message */
 	n = 0;
 	while (n == 0 || (n < 0 && errno == EINTR))
-		n = write(m2s, &c, 1);
+		n = write(m2w, &c, 1);
 	if (n < 0)
 		rte_panic("cannot write on configuration pipe\n");
 
 	/* wait ack */
 	do {
-		n = read(s2m, &c, 1);
+		n = read(w2m, &c, 1);
 	} while (n < 0 && errno == EINTR);
 
 	if (n <= 0)
@@ -62,7 +62,7 @@ rte_eal_remote_launch(int (*f)(void *), void *arg, unsigned slave_id)
 
 	rc = 0;
 finish:
-	rte_eal_trace_thread_remote_launch(f, arg, slave_id, rc);
+	rte_eal_trace_thread_remote_launch(f, arg, worker_id, rc);
 	return rc;
 }
 
@@ -74,21 +74,21 @@ eal_thread_loop(__rte_unused void *arg)
 	int n, ret;
 	unsigned lcore_id;
 	pthread_t thread_id;
-	int m2s, s2m;
+	int m2w, w2m;
 	char cpuset[RTE_CPU_AFFINITY_STR_LEN];
 
 	thread_id = pthread_self();
 
 	/* retrieve our lcore_id from the configuration structure */
-	RTE_LCORE_FOREACH_SLAVE(lcore_id) {
+	RTE_LCORE_FOREACH_WORKER(lcore_id) {
 		if (thread_id == lcore_config[lcore_id].thread_id)
 			break;
 	}
 	if (lcore_id == RTE_MAX_LCORE)
 		rte_panic("cannot retrieve lcore id\n");
 
-	m2s = lcore_config[lcore_id].pipe_master2slave[0];
-	s2m = lcore_config[lcore_id].pipe_slave2master[1];
+	m2w = lcore_config[lcore_id].pipe_main2worker[0];
+	w2m = lcore_config[lcore_id].pipe_worker2main[1];
 
 	__rte_thread_init(lcore_id, &lcore_config[lcore_id].cpuset);
 
@@ -104,7 +104,7 @@ eal_thread_loop(__rte_unused void *arg)
 
 		/* wait command */
 		do {
-			n = read(m2s, &c, 1);
+			n = read(m2w, &c, 1);
 		} while (n < 0 && errno == EINTR);
 
 		if (n <= 0)
@@ -115,7 +115,7 @@ eal_thread_loop(__rte_unused void *arg)
 		/* send ack */
 		n = 0;
 		while (n == 0 || (n < 0 && errno == EINTR))
-			n = write(s2m, &c, 1);
+			n = write(w2m, &c, 1);
 		if (n < 0)
 			rte_panic("cannot write on configuration pipe\n");
 
diff --git a/lib/librte_eal/rte_eal_version.map b/lib/librte_eal/rte_eal_version.map
index 0b18e2ef85f9..8ff6fe7c3eaf 100644
--- a/lib/librte_eal/rte_eal_version.map
+++ b/lib/librte_eal/rte_eal_version.map
@@ -74,7 +74,7 @@ DPDK_21 {
 	rte_free;
 	rte_get_hpet_cycles;
 	rte_get_hpet_hz;
-	rte_get_master_lcore;
+	rte_get_main_lcore;
 	rte_get_next_lcore;
 	rte_get_tsc_hz;
 	rte_hexdump;
diff --git a/lib/librte_eal/windows/eal.c b/lib/librte_eal/windows/eal.c
index bc48f27ab39a..cbca20956210 100644
--- a/lib/librte_eal/windows/eal.c
+++ b/lib/librte_eal/windows/eal.c
@@ -350,8 +350,8 @@ rte_eal_init(int argc, char **argv)
 		return -1;
 	}
 
-	__rte_thread_init(config->master_lcore,
-		&lcore_config[config->master_lcore].cpuset);
+	__rte_thread_init(config->main_lcore,
+		&lcore_config[config->main_lcore].cpuset);
 
 	bscan = rte_bus_scan();
 	if (bscan < 0) {
@@ -360,16 +360,16 @@ rte_eal_init(int argc, char **argv)
 		return -1;
 	}
 
-	RTE_LCORE_FOREACH_SLAVE(i) {
+	RTE_LCORE_FOREACH_WORKER(i) {
 
 		/*
-		 * create communication pipes between master thread
+		 * create communication pipes between main thread
 		 * and children
 		 */
-		if (_pipe(lcore_config[i].pipe_master2slave,
+		if (_pipe(lcore_config[i].pipe_main2worker,
 			sizeof(char), _O_BINARY) < 0)
 			rte_panic("Cannot create pipe\n");
-		if (_pipe(lcore_config[i].pipe_slave2master,
+		if (_pipe(lcore_config[i].pipe_worker2main,
 			sizeof(char), _O_BINARY) < 0)
 			rte_panic("Cannot create pipe\n");
 
@@ -394,10 +394,10 @@ rte_eal_init(int argc, char **argv)
 	}
 
 	/*
-	 * Launch a dummy function on all slave lcores, so that master lcore
+	 * Launch a dummy function on all worker lcores, so that main lcore
 	 * knows they are all ready when this function returns.
 	 */
-	rte_eal_mp_remote_launch(sync_func, NULL, SKIP_MASTER);
+	rte_eal_mp_remote_launch(sync_func, NULL, SKIP_MAIN);
 	rte_eal_mp_wait_lcore();
 	return fctret;
 }
diff --git a/lib/librte_eal/windows/eal_thread.c b/lib/librte_eal/windows/eal_thread.c
index 20889b6196c9..908e726d16cc 100644
--- a/lib/librte_eal/windows/eal_thread.c
+++ b/lib/librte_eal/windows/eal_thread.c
@@ -17,34 +17,34 @@
 #include "eal_windows.h"
 
 /*
- * Send a message to a slave lcore identified by slave_id to call a
+ * Send a message to a worker lcore identified by worker_id to call a
  * function f with argument arg. Once the execution is done, the
  * remote lcore switch in FINISHED state.
  */
 int
-rte_eal_remote_launch(lcore_function_t *f, void *arg, unsigned int slave_id)
+rte_eal_remote_launch(lcore_function_t *f, void *arg, unsigned int worker_id)
 {
 	int n;
 	char c = 0;
-	int m2s = lcore_config[slave_id].pipe_master2slave[1];
-	int s2m = lcore_config[slave_id].pipe_slave2master[0];
+	int m2w = lcore_config[worker_id].pipe_main2worker[1];
+	int w2m = lcore_config[worker_id].pipe_worker2main[0];
 
-	if (lcore_config[slave_id].state != WAIT)
+	if (lcore_config[worker_id].state != WAIT)
 		return -EBUSY;
 
-	lcore_config[slave_id].f = f;
-	lcore_config[slave_id].arg = arg;
+	lcore_config[worker_id].f = f;
+	lcore_config[worker_id].arg = arg;
 
 	/* send message */
 	n = 0;
 	while (n == 0 || (n < 0 && errno == EINTR))
-		n = _write(m2s, &c, 1);
+		n = _write(m2w, &c, 1);
 	if (n < 0)
 		rte_panic("cannot write on configuration pipe\n");
 
 	/* wait ack */
 	do {
-		n = _read(s2m, &c, 1);
+		n = _read(w2m, &c, 1);
 	} while (n < 0 && errno == EINTR);
 
 	if (n <= 0)
@@ -61,21 +61,21 @@ eal_thread_loop(void *arg __rte_unused)
 	int n, ret;
 	unsigned int lcore_id;
 	pthread_t thread_id;
-	int m2s, s2m;
+	int m2w, w2m;
 	char cpuset[RTE_CPU_AFFINITY_STR_LEN];
 
 	thread_id = pthread_self();
 
 	/* retrieve our lcore_id from the configuration structure */
-	RTE_LCORE_FOREACH_SLAVE(lcore_id) {
+	RTE_LCORE_FOREACH_WORKER(lcore_id) {
 		if (thread_id == lcore_config[lcore_id].thread_id)
 			break;
 	}
 	if (lcore_id == RTE_MAX_LCORE)
 		rte_panic("cannot retrieve lcore id\n");
 
-	m2s = lcore_config[lcore_id].pipe_master2slave[0];
-	s2m = lcore_config[lcore_id].pipe_slave2master[1];
+	m2w = lcore_config[lcore_id].pipe_main2worker[0];
+	w2m = lcore_config[lcore_id].pipe_worker2main[1];
 
 	__rte_thread_init(lcore_id, &lcore_config[lcore_id].cpuset);
 
@@ -88,7 +88,7 @@ eal_thread_loop(void *arg __rte_unused)
 
 		/* wait command */
 		do {
-			n = _read(m2s, &c, 1);
+			n = _read(m2w, &c, 1);
 		} while (n < 0 && errno == EINTR);
 
 		if (n <= 0)
@@ -99,7 +99,7 @@ eal_thread_loop(void *arg __rte_unused)
 		/* send ack */
 		n = 0;
 		while (n == 0 || (n < 0 && errno == EINTR))
-			n = _write(s2m, &c, 1);
+			n = _write(w2m, &c, 1);
 		if (n < 0)
 			rte_panic("cannot write on configuration pipe\n");
 
-- 
2.27.0


^ permalink raw reply	[relevance 1%]

* Re: [dpdk-dev] [PATCH 02/15] eal: rename lcore word choices
  2020-09-11 19:06  1% ` [dpdk-dev] [PATCH 02/15] eal: rename lcore word choices Stephen Hemminger
@ 2020-09-14 14:40  0%   ` Burakov, Anatoly
  0 siblings, 0 replies; 200+ results
From: Burakov, Anatoly @ 2020-09-14 14:40 UTC (permalink / raw)
  To: Stephen Hemminger, dev

On 11-Sep-20 8:06 PM, Stephen Hemminger wrote:
> Replace master lcore with main lcore and
> replace slave lcore with worker lcore.
> 
> Keep the old functions and macros but mark them as deprecated
> for this release.
> 
> The "--master-lcore" command line option is also deprecated
> and any usage will print a warning and use "--main-lcore"
> as replacement.
> 
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> --- >   doc/guides/rel_notes/deprecation.rst       | 19 -------
>   doc/guides/rel_notes/release_20_11.rst     | 11 ++++
>   lib/librte_eal/common/eal_common_dynmem.c  |  8 +--
>   lib/librte_eal/common/eal_common_launch.c  | 36 ++++++-------
>   lib/librte_eal/common/eal_common_lcore.c   |  8 +--
>   lib/librte_eal/common/eal_common_options.c | 54 +++++++++++---------
>   lib/librte_eal/common/eal_options.h        |  2 +
>   lib/librte_eal/common/eal_private.h        |  6 +--
>   lib/librte_eal/common/rte_random.c         |  2 +-
>   lib/librte_eal/common/rte_service.c        |  2 +-
>   lib/librte_eal/freebsd/eal.c               | 28 +++++-----
>   lib/librte_eal/freebsd/eal_thread.c        | 32 ++++++------
>   lib/librte_eal/include/rte_eal.h           |  4 +-
>   lib/librte_eal/include/rte_eal_trace.h     |  4 +-
>   lib/librte_eal/include/rte_launch.h        | 59 ++++++++++++----------
>   lib/librte_eal/include/rte_lcore.h         | 36 +++++++++----
>   lib/librte_eal/linux/eal.c                 | 28 +++++-----
>   lib/librte_eal/linux/eal_memory.c          |  8 +--
>   lib/librte_eal/linux/eal_thread.c          | 32 ++++++------
>   lib/librte_eal/rte_eal_version.map         |  2 +-
>   lib/librte_eal/windows/eal.c               | 16 +++---
>   lib/librte_eal/windows/eal_thread.c        | 30 +++++------
>   22 files changed, 223 insertions(+), 204 deletions(-)
> 

Overall,

Reviewed-by: Anatoly Burakov <anatoly.burakov@intel.com>

However, couple of nits below.

>   ABI Changes
>   -----------
> diff --git a/lib/librte_eal/common/eal_common_dynmem.c b/lib/librte_eal/common/eal_common_dynmem.c
> index 614648d8a4de..48eca5854ebe 100644
> --- a/lib/librte_eal/common/eal_common_dynmem.c
> +++ b/lib/librte_eal/common/eal_common_dynmem.c

Missed comment right above this hunk.

> @@ -434,12 +434,12 @@ eal_dynmem_calc_num_pages_per_socket(
>   		for (socket = 0; socket < RTE_MAX_NUMA_NODES && total_size != 0;
>   				socket++) {
>   			struct rte_config *cfg = rte_eal_get_configuration();
> -			unsigned int master_lcore_socket;
> +			unsigned int main_lcore_socket;
>   
> -			master_lcore_socket =
> -				rte_lcore_to_socket_id(cfg->master_lcore);
> +			main_lcore_socket =
> +				rte_lcore_to_socket_id(cfg->main_lcore);
>   
> -			if (master_lcore_socket != socket)
> +			if (main_lcore_socket != socket)
>   				continue;
>   
>   			/* Update sizes */

<snip>

>   	}
>   
>   	/*
> -	 * Launch a dummy function on all slave lcores, so that master lcore
> +	 * Launch a dummy function on all worker lcores, so that main lcore
>   	 * knows they are all ready when this function returns.
>   	 */
> -	rte_eal_mp_remote_launch(sync_func, NULL, SKIP_MASTER);
> +	rte_eal_mp_remote_launch(sync_func, NULL, SKIP_MAIN);
>   	rte_eal_mp_wait_lcore();
>   
>   	/* initialize services so vdevs register service during bus_probe. */
> diff --git a/lib/librte_eal/linux/eal_memory.c b/lib/librte_eal/linux/eal_memory.c
> index 89725291b0ce..d7349544a13a 100644
> --- a/lib/librte_eal/linux/eal_memory.c
> +++ b/lib/librte_eal/linux/eal_memory.c

Missed comment right above this hunk.

> @@ -1751,7 +1751,7 @@ memseg_primary_init_32(void)
>   	for (i = 0; i < rte_socket_count(); i++) {
>   		int hp_sizes = (int) internal_conf->num_hugepage_sizes;
>   		uint64_t max_socket_mem, cur_socket_mem;
> -		unsigned int master_lcore_socket;
> +		unsigned int main_lcore_socket;
>   		struct rte_config *cfg = rte_eal_get_configuration();
>   		bool skip;
>   
> @@ -1767,10 +1767,10 @@ memseg_primary_init_32(void)
>   		skip = active_sockets != 0 &&
>   				internal_conf->socket_mem[socket_id] == 0;
>   		/* ...or if we didn't specifically request memory on *any*
> -		 * socket, and this is not master lcore
> +		 * socket, and this is not main lcore
>   		 */
> -		master_lcore_socket = rte_lcore_to_socket_id(cfg->master_lcore);
> -		skip |= active_sockets == 0 && socket_id != master_lcore_socket;
> +		main_lcore_socket = rte_lcore_to_socket_id(cfg->main_lcore);
> +		skip |= active_sockets == 0 && socket_id != main_lcore_socket;
>   
>   		if (skip) {
-- 
Thanks,
Anatoly

^ permalink raw reply	[relevance 0%]

* [dpdk-dev] [PATCH v3] bpf: remove experimental tag
  2020-09-14 12:56 12% ` [dpdk-dev] [PATCH v2] " Conor Walsh
@ 2020-09-14 14:11  8%   ` Conor Walsh
  2020-09-16 11:21  0%     ` Ananyev, Konstantin
  2020-09-16 16:58  0%     ` David Marchand
  0 siblings, 2 replies; 200+ results
From: Conor Walsh @ 2020-09-14 14:11 UTC (permalink / raw)
  To: dev, konstantin.ananyev; +Cc: david.marchand, Conor Walsh

The BPF lib was introduced in 18.05.
There were no changes in it's public API since 19.11.
It should be mature enough to remove it's 'experimental' tag.
RTE_BPF_XTYPE_NUM is also being dropped from rte_bpf_xtype to
avoid possible ABI problems in the future.

---
v2: RTE_BPF_XTYPE_NUM dropped from rte_bpf_xtype

---
v3: fix commit title and move from ABI to API in release notes

Signed-off-by: Conor Walsh <conor.walsh@intel.com>
---
 MAINTAINERS                            |  2 +-
 doc/guides/rel_notes/release_20_11.rst |  2 ++
 lib/librte_bpf/rte_bpf.h               | 15 ++-------------
 lib/librte_bpf/rte_bpf_ethdev.h        |  5 -----
 lib/librte_bpf/rte_bpf_version.map     |  2 +-
 5 files changed, 6 insertions(+), 20 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index ed163f5d5..742c5eb24 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1492,7 +1492,7 @@ F: app/test/test_telemetry*
 F: usertools/dpdk-telemetry*
 F: doc/guides/howto/telemetry.rst
 
-BPF - EXPERIMENTAL
+BPF
 M: Konstantin Ananyev <konstantin.ananyev@intel.com>
 F: lib/librte_bpf/
 F: examples/bpf/
diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index df227a177..f37a0ae48 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -84,6 +84,8 @@ API Changes
    Also, make sure to start the actual text at the margin.
    =======================================================
 
+* bpf: ``RTE_BPF_XTYPE_NUM`` has been dropped from ``rte_bpf_xtype``
+
 
 ABI Changes
 -----------
diff --git a/lib/librte_bpf/rte_bpf.h b/lib/librte_bpf/rte_bpf.h
index e2d419b4e..69116f36b 100644
--- a/lib/librte_bpf/rte_bpf.h
+++ b/lib/librte_bpf/rte_bpf.h
@@ -10,10 +10,6 @@
  *
  * RTE BPF support.
  *
- * @warning
- * @b EXPERIMENTAL:
- * All functions in this file may be changed or removed without prior notice.
- *
  * librte_bpf provides a framework to load and execute eBPF bytecode
  * inside user-space dpdk based applications.
  * It supports basic set of features from eBPF spec
@@ -36,7 +32,7 @@ enum rte_bpf_arg_type {
 	RTE_BPF_ARG_RAW,        /**< scalar value */
 	RTE_BPF_ARG_PTR = 0x10, /**< pointer to data buffer */
 	RTE_BPF_ARG_PTR_MBUF,   /**< pointer to rte_mbuf */
-	RTE_BPF_ARG_RESERVED,   /**< reserved for internal use */
+	RTE_BPF_ARG_RESERVED    /**< reserved for internal use */
 };
 
 /**
@@ -63,8 +59,7 @@ struct rte_bpf_arg {
  */
 enum rte_bpf_xtype {
 	RTE_BPF_XTYPE_FUNC, /**< function */
-	RTE_BPF_XTYPE_VAR,  /**< variable */
-	RTE_BPF_XTYPE_NUM
+	RTE_BPF_XTYPE_VAR   /**< variable */
 };
 
 /**
@@ -117,7 +112,6 @@ struct rte_bpf;
  * @param bpf
  *   BPF handle to destroy.
  */
-__rte_experimental
 void
 rte_bpf_destroy(struct rte_bpf *bpf);
 
@@ -133,7 +127,6 @@ rte_bpf_destroy(struct rte_bpf *bpf);
  *   - EINVAL - invalid parameter passed to function
  *   - ENOMEM - can't reserve enough memory
  */
-__rte_experimental
 struct rte_bpf *
 rte_bpf_load(const struct rte_bpf_prm *prm);
 
@@ -157,7 +150,6 @@ rte_bpf_load(const struct rte_bpf_prm *prm);
  *   - EINVAL - invalid parameter passed to function
  *   - ENOMEM - can't reserve enough memory
  */
-__rte_experimental
 struct rte_bpf *
 rte_bpf_elf_load(const struct rte_bpf_prm *prm, const char *fname,
 		const char *sname);
@@ -171,7 +163,6 @@ rte_bpf_elf_load(const struct rte_bpf_prm *prm, const char *fname,
  * @return
  *   BPF execution return value.
  */
-__rte_experimental
 uint64_t
 rte_bpf_exec(const struct rte_bpf *bpf, void *ctx);
 
@@ -189,7 +180,6 @@ rte_bpf_exec(const struct rte_bpf *bpf, void *ctx);
  * @return
  *   number of successfully processed inputs.
  */
-__rte_experimental
 uint32_t
 rte_bpf_exec_burst(const struct rte_bpf *bpf, void *ctx[], uint64_t rc[],
 		uint32_t num);
@@ -205,7 +195,6 @@ rte_bpf_exec_burst(const struct rte_bpf *bpf, void *ctx[], uint64_t rc[],
  *   - -EINVAL if the parameters are invalid.
  *   - Zero if operation completed successfully.
  */
-__rte_experimental
 int
 rte_bpf_get_jit(const struct rte_bpf *bpf, struct rte_bpf_jit *jit);
 
diff --git a/lib/librte_bpf/rte_bpf_ethdev.h b/lib/librte_bpf/rte_bpf_ethdev.h
index 0ce526e39..135062c9e 100644
--- a/lib/librte_bpf/rte_bpf_ethdev.h
+++ b/lib/librte_bpf/rte_bpf_ethdev.h
@@ -7,7 +7,6 @@
 
 /**
  * @file rte_bpf_ethdev.h
- * @b EXPERIMENTAL: this API may change without prior notice
  *
  * API to install BPF filter as RX/TX callbacks for eth devices.
  * Note that right now:
@@ -45,7 +44,6 @@ enum {
  * @param queue
  *   The identifier of the RX queue on the given port
  */
-__rte_experimental
 void
 rte_bpf_eth_rx_unload(uint16_t port, uint16_t queue);
 
@@ -58,7 +56,6 @@ rte_bpf_eth_rx_unload(uint16_t port, uint16_t queue);
  * @param queue
  *   The identifier of the TX queue on the given port
  */
-__rte_experimental
 void
 rte_bpf_eth_tx_unload(uint16_t port, uint16_t queue);
 
@@ -82,7 +79,6 @@ rte_bpf_eth_tx_unload(uint16_t port, uint16_t queue);
  * @return
  *   Zero on successful completion or negative error code otherwise.
  */
-__rte_experimental
 int
 rte_bpf_eth_rx_elf_load(uint16_t port, uint16_t queue,
 	const struct rte_bpf_prm *prm, const char *fname, const char *sname,
@@ -108,7 +104,6 @@ rte_bpf_eth_rx_elf_load(uint16_t port, uint16_t queue,
  * @return
  *   Zero on successful completion or negative error code otherwise.
  */
-__rte_experimental
 int
 rte_bpf_eth_tx_elf_load(uint16_t port, uint16_t queue,
 	const struct rte_bpf_prm *prm, const char *fname, const char *sname,
diff --git a/lib/librte_bpf/rte_bpf_version.map b/lib/librte_bpf/rte_bpf_version.map
index a203e088e..b75a0034b 100644
--- a/lib/librte_bpf/rte_bpf_version.map
+++ b/lib/librte_bpf/rte_bpf_version.map
@@ -1,4 +1,4 @@
-EXPERIMENTAL {
+DPDK_21 {
 	global:
 
 	rte_bpf_destroy;
-- 
2.25.1


^ permalink raw reply	[relevance 8%]

* [dpdk-dev] [PATCH v3] ipsec: remove experimental tag
  2020-09-14 12:53  7% ` [dpdk-dev] [PATCH v2] " Conor Walsh
  2020-09-14 13:25  3%   ` David Marchand
@ 2020-09-14 14:10  7%   ` Conor Walsh
  2020-09-16 11:22  0%     ` Ananyev, Konstantin
  1 sibling, 1 reply; 200+ results
From: Conor Walsh @ 2020-09-14 14:10 UTC (permalink / raw)
  To: dev, konstantin.ananyev; +Cc: Conor Walsh

Since librte_ipsec was first introduced in 19.02 and there were no changes
in it's public API since 19.11, it should be considered mature enough to
remove the 'experimental' tag from it.
The RTE_SATP_LOG2_NUM enum is also being dropped from rte_ipsec_sa.h to
avoid possible ABI problems in the future.

---
v2: RTE_SATP_LOG2_NUM dropped from enum

---
v3: fix commit title and move from ABI to API in release notes

Signed-off-by: Conor Walsh <conor.walsh@intel.com>
---
 MAINTAINERS                            | 2 +-
 doc/guides/rel_notes/release_20_11.rst | 2 ++
 lib/librte_ipsec/rte_ipsec.h           | 8 --------
 lib/librte_ipsec/rte_ipsec_group.h     | 3 ---
 lib/librte_ipsec/rte_ipsec_sa.h        | 8 +-------
 lib/librte_ipsec/rte_ipsec_sad.h       | 7 -------
 lib/librte_ipsec/rte_ipsec_version.map | 2 +-
 7 files changed, 5 insertions(+), 27 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index ed163f5d5..f66772908 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1286,7 +1286,7 @@ M: Jiayu Hu <jiayu.hu@intel.com>
 F: lib/librte_gso/
 F: doc/guides/prog_guide/generic_segmentation_offload_lib.rst
 
-IPsec - EXPERIMENTAL
+IPsec
 M: Konstantin Ananyev <konstantin.ananyev@intel.com>
 T: git://dpdk.org/next/dpdk-next-crypto
 F: lib/librte_ipsec/
diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index df227a177..be47d02ed 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -84,6 +84,8 @@ API Changes
    Also, make sure to start the actual text at the margin.
    =======================================================
 
+* ipsec: ``RTE_SATP_LOG2_NUM`` has been dropped from ``enum``
+
 
 ABI Changes
 -----------
diff --git a/lib/librte_ipsec/rte_ipsec.h b/lib/librte_ipsec/rte_ipsec.h
index de05f4e93..dd60d9591 100644
--- a/lib/librte_ipsec/rte_ipsec.h
+++ b/lib/librte_ipsec/rte_ipsec.h
@@ -10,10 +10,6 @@
  *
  * RTE IPsec support.
  *
- * @warning
- * @b EXPERIMENTAL:
- * All functions in this file may be changed or removed without prior notice.
- *
  * librte_ipsec provides a framework for data-path IPsec protocol
  * processing (ESP/AH).
  */
@@ -94,7 +90,6 @@ struct rte_ipsec_session {
  *   - Zero if operation completed successfully.
  *   - -EINVAL if the parameters are invalid.
  */
-__rte_experimental
 int
 rte_ipsec_session_prepare(struct rte_ipsec_session *ss);
 
@@ -119,7 +114,6 @@ rte_ipsec_session_prepare(struct rte_ipsec_session *ss);
  * @return
  *   Number of successfully processed packets, with error code set in rte_errno.
  */
-__rte_experimental
 static inline uint16_t
 rte_ipsec_pkt_crypto_prepare(const struct rte_ipsec_session *ss,
 	struct rte_mbuf *mb[], struct rte_crypto_op *cop[], uint16_t num)
@@ -127,7 +121,6 @@ rte_ipsec_pkt_crypto_prepare(const struct rte_ipsec_session *ss,
 	return ss->pkt_func.prepare.async(ss, mb, cop, num);
 }
 
-__rte_experimental
 static inline uint16_t
 rte_ipsec_pkt_cpu_prepare(const struct rte_ipsec_session *ss,
 	struct rte_mbuf *mb[], uint16_t num)
@@ -158,7 +151,6 @@ rte_ipsec_pkt_cpu_prepare(const struct rte_ipsec_session *ss,
  * @return
  *   Number of successfully processed packets, with error code set in rte_errno.
  */
-__rte_experimental
 static inline uint16_t
 rte_ipsec_pkt_process(const struct rte_ipsec_session *ss, struct rte_mbuf *mb[],
 	uint16_t num)
diff --git a/lib/librte_ipsec/rte_ipsec_group.h b/lib/librte_ipsec/rte_ipsec_group.h
index 47b33ca5e..ea3bdfad9 100644
--- a/lib/librte_ipsec/rte_ipsec_group.h
+++ b/lib/librte_ipsec/rte_ipsec_group.h
@@ -7,7 +7,6 @@
 
 /**
  * @file rte_ipsec_group.h
- * @b EXPERIMENTAL: this API may change without prior notice
  *
  * RTE IPsec support.
  * It is not recommended to include this file directly,
@@ -42,7 +41,6 @@ struct rte_ipsec_group {
  * @return
  *   The pointer to the related *rte_ipsec_session* structure.
  */
-__rte_experimental
 static inline struct rte_ipsec_session *
 rte_ipsec_ses_from_crypto(const struct rte_crypto_op *cop)
 {
@@ -79,7 +77,6 @@ rte_ipsec_ses_from_crypto(const struct rte_crypto_op *cop)
  * @return
  *   Number of filled elements in *grp* array.
  */
-__rte_experimental
 static inline uint16_t
 rte_ipsec_pkt_crypto_group(const struct rte_crypto_op *cop[],
 	struct rte_mbuf *mb[], struct rte_ipsec_group grp[], uint16_t num)
diff --git a/lib/librte_ipsec/rte_ipsec_sa.h b/lib/librte_ipsec/rte_ipsec_sa.h
index 1cfde5874..cf51ad833 100644
--- a/lib/librte_ipsec/rte_ipsec_sa.h
+++ b/lib/librte_ipsec/rte_ipsec_sa.h
@@ -7,7 +7,6 @@
 
 /**
  * @file rte_ipsec_sa.h
- * @b EXPERIMENTAL: this API may change without prior notice
  *
  * Defines API to manage IPsec Security Association (SA) objects.
  */
@@ -90,8 +89,7 @@ enum {
 	RTE_SATP_LOG2_SQN = RTE_SATP_LOG2_MODE + 2,
 	RTE_SATP_LOG2_ESN,
 	RTE_SATP_LOG2_ECN,
-	RTE_SATP_LOG2_DSCP,
-	RTE_SATP_LOG2_NUM
+	RTE_SATP_LOG2_DSCP
 };
 
 #define RTE_IPSEC_SATP_IPV_MASK		(1ULL << RTE_SATP_LOG2_IPV)
@@ -132,7 +130,6 @@ enum {
  * @return
  *   SA type value.
  */
-__rte_experimental
 uint64_t
 rte_ipsec_sa_type(const struct rte_ipsec_sa *sa);
 
@@ -144,7 +141,6 @@ rte_ipsec_sa_type(const struct rte_ipsec_sa *sa);
  *   - Actual size required for SA with given parameters.
  *   - -EINVAL if the parameters are invalid.
  */
-__rte_experimental
 int
 rte_ipsec_sa_size(const struct rte_ipsec_sa_prm *prm);
 
@@ -161,7 +157,6 @@ rte_ipsec_sa_size(const struct rte_ipsec_sa_prm *prm);
  *   - -EINVAL if the parameters are invalid.
  *   - -ENOSPC if the size of the provided buffer is not big enough.
  */
-__rte_experimental
 int
 rte_ipsec_sa_init(struct rte_ipsec_sa *sa, const struct rte_ipsec_sa_prm *prm,
 	uint32_t size);
@@ -171,7 +166,6 @@ rte_ipsec_sa_init(struct rte_ipsec_sa *sa, const struct rte_ipsec_sa_prm *prm,
  * @param sa
  *   Pointer to SA object to de-initialize.
  */
-__rte_experimental
 void
 rte_ipsec_sa_fini(struct rte_ipsec_sa *sa);
 
diff --git a/lib/librte_ipsec/rte_ipsec_sad.h b/lib/librte_ipsec/rte_ipsec_sad.h
index dcc82249e..3e67ab1e4 100644
--- a/lib/librte_ipsec/rte_ipsec_sad.h
+++ b/lib/librte_ipsec/rte_ipsec_sad.h
@@ -10,7 +10,6 @@
 
 /**
  * @file rte_ipsec_sad.h
- * @b EXPERIMENTAL: this API may change without prior notice
  *
  * RTE IPsec security association database (SAD) support.
  * Contains helper functions to lookup and maintain SAD
@@ -82,7 +81,6 @@ struct rte_ipsec_sad_conf {
  * @return
  *   0 on success, negative value otherwise
  */
-__rte_experimental
 int
 rte_ipsec_sad_add(struct rte_ipsec_sad *sad,
 	const union rte_ipsec_sad_key *key,
@@ -103,7 +101,6 @@ rte_ipsec_sad_add(struct rte_ipsec_sad *sad,
  * @return
  *   0 on success, negative value otherwise
  */
-__rte_experimental
 int
 rte_ipsec_sad_del(struct rte_ipsec_sad *sad,
 	const union rte_ipsec_sad_key *key,
@@ -119,7 +116,6 @@ rte_ipsec_sad_del(struct rte_ipsec_sad *sad,
  *  Handle to SAD object on success
  *  NULL otherwise with rte_errno set to an appropriate values.
  */
-__rte_experimental
 struct rte_ipsec_sad *
 rte_ipsec_sad_create(const char *name, const struct rte_ipsec_sad_conf *conf);
 
@@ -133,7 +129,6 @@ rte_ipsec_sad_create(const char *name, const struct rte_ipsec_sad_conf *conf);
  *  set appropriately. Possible rte_errno values include:
  *   - ENOENT - required entry not available to return.
  */
-__rte_experimental
 struct rte_ipsec_sad *
 rte_ipsec_sad_find_existing(const char *name);
 
@@ -145,7 +140,6 @@ rte_ipsec_sad_find_existing(const char *name);
  * @return
  *   None
  */
-__rte_experimental
 void
 rte_ipsec_sad_destroy(struct rte_ipsec_sad *sad);
 
@@ -165,7 +159,6 @@ rte_ipsec_sad_destroy(struct rte_ipsec_sad *sad);
  *  @return
  *   -EINVAL for incorrect arguments, otherwise number of successful lookups.
  */
-__rte_experimental
 int
 rte_ipsec_sad_lookup(const struct rte_ipsec_sad *sad,
 	const union rte_ipsec_sad_key *keys[],
diff --git a/lib/librte_ipsec/rte_ipsec_version.map b/lib/librte_ipsec/rte_ipsec_version.map
index f37c867bf..ad3e38b7c 100644
--- a/lib/librte_ipsec/rte_ipsec_version.map
+++ b/lib/librte_ipsec/rte_ipsec_version.map
@@ -1,4 +1,4 @@
-EXPERIMENTAL {
+DPDK_21 {
 	global:
 
 	rte_ipsec_pkt_crypto_group;
-- 
2.25.1


^ permalink raw reply	[relevance 7%]

* Re: [dpdk-dev] [PATCH v2] lib/ipsec: remove experimental tag
  2020-09-14 13:25  3%   ` David Marchand
@ 2020-09-14 13:51  0%     ` Walsh, Conor
  0 siblings, 0 replies; 200+ results
From: Walsh, Conor @ 2020-09-14 13:51 UTC (permalink / raw)
  To: David Marchand; +Cc: dev, Ananyev, Konstantin, Akhil Goyal

Hi David,

> Hello Conor,
> 
> On Mon, Sep 14, 2020 at 2:54 PM Conor Walsh <conor.walsh@intel.com>
> wrote:
> >
> > Since librte_ipsec was first introduced in 19.02 and there were no
> > changes in it's public API since 19.11, it should be considered mature
> > enough to remove the 'experimental' tag from it.
> > The RTE_SATP_LOG2_NUM enum is also being dropped from
> rte_ipsec_sa.h
> > to avoid possible ABI problems in the future.
> >
> > ---
> > v2: RTE_SATP_LOG2_NUM dropped from enum
> 
> Small comments that I guess could be fixed while applying.
> 
> Commit title prefixes don't start with lib/.
> 

[...]
 
> There is no ABI compat in this release, and this is an API change.
> 
> Documentation blocks are separated with double empty lines (like it was
> before your patch).
> 

I will correct these issues, V3 coming soon.

/Conor.

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH v2] lib/ipsec: remove experimental tag
  2020-09-14 12:53  7% ` [dpdk-dev] [PATCH v2] " Conor Walsh
@ 2020-09-14 13:25  3%   ` David Marchand
  2020-09-14 13:51  0%     ` Walsh, Conor
  2020-09-14 14:10  7%   ` [dpdk-dev] [PATCH v3] ipsec: " Conor Walsh
  1 sibling, 1 reply; 200+ results
From: David Marchand @ 2020-09-14 13:25 UTC (permalink / raw)
  To: Conor Walsh; +Cc: dev, Ananyev, Konstantin, Akhil Goyal

Hello Conor,

On Mon, Sep 14, 2020 at 2:54 PM Conor Walsh <conor.walsh@intel.com> wrote:
>
> Since librte_ipsec was first introduced in 19.02 and there were no changes
> in it's public API since 19.11, it should be considered mature enough to
> remove the 'experimental' tag from it.
> The RTE_SATP_LOG2_NUM enum is also being dropped from rte_ipsec_sa.h to
> avoid possible ABI problems in the future.
>
> ---
> v2: RTE_SATP_LOG2_NUM dropped from enum

Small comments that I guess could be fixed while applying.

Commit title prefixes don't start with lib/.


>
> Signed-off-by: Conor Walsh <conor.walsh@intel.com>
> ---
>  MAINTAINERS                            | 2 +-
>  doc/guides/rel_notes/release_20_11.rst | 1 +
>  lib/librte_ipsec/rte_ipsec.h           | 8 --------
>  lib/librte_ipsec/rte_ipsec_group.h     | 3 ---
>  lib/librte_ipsec/rte_ipsec_sa.h        | 8 +-------
>  lib/librte_ipsec/rte_ipsec_sad.h       | 7 -------
>  lib/librte_ipsec/rte_ipsec_version.map | 2 +-
>  7 files changed, 4 insertions(+), 27 deletions(-)
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index ed163f5d5..f66772908 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -1286,7 +1286,7 @@ M: Jiayu Hu <jiayu.hu@intel.com>
>  F: lib/librte_gso/
>  F: doc/guides/prog_guide/generic_segmentation_offload_lib.rst
>
> -IPsec - EXPERIMENTAL
> +IPsec
>  M: Konstantin Ananyev <konstantin.ananyev@intel.com>
>  T: git://dpdk.org/next/dpdk-next-crypto
>  F: lib/librte_ipsec/
> diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
> index df227a177..b750fcf65 100644
> --- a/doc/guides/rel_notes/release_20_11.rst
> +++ b/doc/guides/rel_notes/release_20_11.rst
> @@ -100,6 +100,7 @@ ABI Changes
>     Also, make sure to start the actual text at the margin.
>     =======================================================
>
> +* ipsec: ``RTE_SATP_LOG2_NUM`` has been dropped from ``enum``

There is no ABI compat in this release, and this is an API change.

Documentation blocks are separated with double empty lines (like it
was before your patch).


>
>  Known Issues
>  ------------


-- 
David Marchand


^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] [EXT] Re: [PATCH v4 1/4] ethdev: add tm support for shaper config in pkt mode
  2020-09-07 11:12  0%                 ` Nithin Dabilpuram
@ 2020-09-14 13:01  0%                   ` Ferruh Yigit
  0 siblings, 0 replies; 200+ results
From: Ferruh Yigit @ 2020-09-14 13:01 UTC (permalink / raw)
  To: Nithin Dabilpuram
  Cc: Dumitrescu, Cristian, jerinj, Bruce Richardson, Thomas Monjalon,
	Jerin Jacob, Luca Boccassi, Nithin Dabilpuram, Singh, Jasvinder,
	Andrew Rybchenko, dev, kkanas, Kinsella, Ray, Neil Horman,
	Kevin Traynor, David Marchand

On 9/7/2020 12:12 PM, Nithin Dabilpuram wrote:
> On Tue, Aug 25, 2020 at 05:59:10PM +0100, Ferruh Yigit wrote:
>> On 5/1/2020 2:16 PM, Nithin Dabilpuram wrote:
>>> On Fri, May 01, 2020 at 11:27:02AM +0100, Ferruh Yigit wrote:
>>>> External Email
>>>>
>>>> ----------------------------------------------------------------------
>>>> On 4/29/2020 10:03 AM, Bruce Richardson wrote:
>>>>> On Wed, Apr 29, 2020 at 09:45:44AM +0100, Dumitrescu, Cristian wrote:
>>>>>>
>>>>>>
>>>>>>> -----Original Message-----
>>>>>>> From: Thomas Monjalon <thomas@monjalon.net>
>>>>>>> Sent: Tuesday, April 28, 2020 4:54 PM
>>>>>>> To: Jerin Jacob <jerinjacobk@gmail.com>; Dumitrescu, Cristian
>>>>>>> <cristian.dumitrescu@intel.com>
>>>>>>> Cc: Richardson, Bruce <bruce.richardson@intel.com>; Yigit, Ferruh
>>>>>>> <ferruh.yigit@intel.com>; Luca Boccassi <bluca@debian.org>; Nithin
>>>>>>> Dabilpuram <nithind1988@gmail.com>; Singh, Jasvinder
>>>>>>> <jasvinder.singh@intel.com>; Andrew Rybchenko
>>>>>>> <arybchenko@solarflare.com>; dev@dpdk.org; jerinj@marvell.com;
>>>>>>> kkanas@marvell.com; Nithin Dabilpuram <ndabilpuram@marvell.com>;
>>>>>>> Kinsella, Ray <ray.kinsella@intel.com>; Neil Horman
>>>>>>> <nhorman@tuxdriver.com>; Kevin Traynor <ktraynor@redhat.com>; David
>>>>>>> Marchand <david.marchand@redhat.com>
>>>>>>> Subject: Re: [dpdk-dev] [PATCH v4 1/4] ethdev: add tm support for shaper
>>>>>>> config in pkt mode
>>>>>>>
>>>>>>> 28/04/2020 17:04, Luca Boccassi:
>>>>>>>> On Tue, 2020-04-28 at 15:45 +0100, Bruce Richardson wrote:
>>>>>>>>> On Tue, Apr 28, 2020 at 03:06:20PM +0100, Ferruh Yigit wrote:
>>>>>>>>>> On 4/27/2020 5:59 PM, Jerin Jacob wrote:
>>>>>>>>>>> On Mon, Apr 27, 2020 at 10:19 PM Ferruh Yigit
>>>>>>> <ferruh.yigit@intel.com> wrote:
>>>>>>>>>>>> On 4/27/2020 5:29 PM, Jerin Jacob wrote:
>>>>>>>>>>>>> On Mon, Apr 27, 2020 at 9:42 PM Ferruh Yigit
>>>>>>> <ferruh.yigit@intel.com> wrote:
>>>>>>>>>>>>>> On 4/27/2020 10:19 AM, Dumitrescu, Cristian wrote:
>>>>>>>>>>>>>>> From: Yigit, Ferruh <ferruh.yigit@intel.com>
>>>>>>>>>>>>>>>> On 4/24/2020 11:28 AM, Dumitrescu, Cristian wrote:
>>>>>>>>>>>>>>>>> From: Nithin Dabilpuram <nithind1988@gmail.com>
>>>>>>>>>>>>>>>>>> This patch also updates tm port/level/node capability
>>>>>>> structures with
>>>>>>>>>>>>>>>>>> exiting features of scheduler wfq packet mode,
>>>>>>> scheduler wfq byte mode
>>>>>>>>>>>>>>>>>> and private/shared shaper byte mode.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> SoftNIC PMD is also updated with new capabilities.
>>>>>>> [...]
>>>>>>>>>>>>>>>> Hi Nithin,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> It looks like patch is causing ABI break, I am getting following
>>>>>>> warning [1],
>>>>>>>>>>>>>>>> can you please check?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> [1]
>>>>>>>>>>>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__pastebin.com_XYNFg14u&d=DwIDaQ&c=nKjWec2b6R0mOyPaz7xtfQ&r=FZ_tPCbgFOh18zwRPO9H0yDx8VW38vuapifdDfc8SFQ&m=ej5sP3-cEhEoCTZOia-QivXqgljtzBcMLtZGs-5c-Uc&s=B8z_5mQ2xO3C1izjmRe2zBApMrCUcW6KcAN-adglhJQ&e= 
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Hi Ferruh,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> The RTE_TM API is marked as experimental,
>>>>>>>>>>>>>>> but it looks that this was not correctly marked
>>>>>>>>>>>>>>> when __rte_experimental ABI checker was introduced.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> It is marked as experimental at the top of the rte_tm.h,
>>>>>>>>>>>>>>> similarly to other APIs introduced around same time,
>>>>>>>>>>>>>>> but it was not correctly picked up by the ABI check procedure
>>>>>>>>>>>>>>> when later introduced, so __rte_experimental was not added
>>>>>>> to every function.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> :(
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Is it time to mature them?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> As you said they are not marked as experimental both in header
>>>>>>> file (function
>>>>>>>>>>>>>> declarations) and .map file.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> The problem is, they are not marked as experimental in
>>>>>>> DPDK_20.0 ABI (v19.11),
>>>>>>>>>>>>>> so marking them as experimental now will break the ABI. Not
>>>>>>> sure what to do,
>>>>>>>>>>>>>> cc'ed a few ABI related names for comment.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> For me, we need to proceed as the experimental tag removed
>>>>>>> and APIs become
>>>>>>>>>>>>>> mature starting from v19.11, since this is what happened in
>>>>>>> practice, and remove
>>>>>>>>>>>>>> a few existing being experimental references in the doxygen
>>>>>>> comments.
>>>>>>>>>>>>>
>>>>>>>>>>>>> I think, accidentally we can not make a library as NON-
>>>>>>> experimental.
>>>>>>>>>>>>> TM never went through experimental to mature transition(see git
>>>>>>> log
>>>>>>>>>>>>> lib/librte_ethdev/rte_tm.h)
>>>>>>>>>>>>> It was a bug to not mark as experimental in each function in the
>>>>>>> ABI process.
>>>>>>>>>>>>> Some of the features like packet marking are not even
>>>>>>> implemented by any HW.
>>>>>>>>>>>>> I think, we can make API stable only all the features are
>>>>>>> implemented
>>>>>>>>>>>>> by one or two HW.
>>>>>>>
>>>>>>> Yes this is what was decided one or two years ago I think.
>>>>>>> But rte_tm API was introduced 3 years ago and is implemented by 6 PMDs.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>>>>>> Fair enough, specially if the API is not ready yet.
>>>>>>>>>>>>
>>>>>>>>>>>> But they were part of stable ABI, and marking them as experimental
>>>>>>> now will
>>>>>>>>>>>> break the old applications using these APIs.
>>>>>>>>>>>
>>>>>>>>>>> it is still marked as EXPERIMENTAL everywhere and API is not ready
>>>>>>> yet.
>>>>>>>
>>>>>>> rte_tm is implemented in 6 PMDs.
>>>>>>>
>>>>>>>
>>>>>>>>>> Existing experimental marks are text only for human parsing.
>>>>>>>>>>
>>>>>>>>>> The compiler attribute and build time checks are missing, and the
>>>>>>> symbol in the
>>>>>>>>>> binary doesn't have experimental tag. Our scripts and automated
>>>>>>> checks won't
>>>>>>>>>> detect it as experimental.
>>>>>>>>>>
>>>>>>>>>> My point is just having experimental comment in header file is not
>>>>>>> enough to
>>>>>>>>>> qualify the APIs as experimental.
>>>>>>>>>>
>>>>>>>>>>> Anyway, we need to break the ABI to make it work on various HW.
>>>>>>>
>>>>>>> Yes this is why I was asking in 19.11 to check our API,
>>>>>>> in order to avoid such situation.
>>>>>>>
>>>>>>>
>>>>>>>>>>> I am not sure what to do?
>>>>>>>
>>>>>>> Either manage ABI versioning, or wait 20.11.
>>>>>>>
>>>>>>>
>>>>>>>>>>> IMO, We need to send a patch as Fixes: for the bug of not adding
>>>>>>>>>>> __rte_experimental in each function.
>>>>>>>
>>>>>>> No, this is wrong.
>>>>>>>
>>>>>>
>>>>>> Why exactly is this wrong? This is the gap that caused the current discussion, right?
>>>>>>
>>>>> It's wrong for this release, since we can't change things from stable back
>>>>> to experimental. Any such patch will have to wait for 20.11, as agreed in
>>>>> the discussion.
>>>>>
>>>>
>>>> Deferring the patchet for this release.
>>>>
>>>> Reminder that if the option "to mark rte_tm_* as experimental in v20.11"
>>>> selected, requires deprecation notice before v20.11.
>>>
>>> Thanks Ferruh for reminder. I'll send a deprecation notice patch for the same.
>>>
>>
>> Hi Nithin Kumar, Cristian, Jerin,
>>
>> Who is working on updating APIs as experimental? We need that patch to proceed
>> with this one.
> 
> Hi Ferruh,
> 
> I'll send out a patch marking all TM API's experimental.
> 

The experimental API change is done & applied,
hence for this series:

Series applied to dpdk-next-net/main, thanks.

^ permalink raw reply	[relevance 0%]

* [dpdk-dev] [PATCH v2] lib/bpf: remove experimental tag
    @ 2020-09-14 12:56 12% ` Conor Walsh
  2020-09-14 14:11  8%   ` [dpdk-dev] [PATCH v3] bpf: " Conor Walsh
  1 sibling, 1 reply; 200+ results
From: Conor Walsh @ 2020-09-14 12:56 UTC (permalink / raw)
  To: dev, konstantin.ananyev; +Cc: david.marchand, Conor Walsh

The BPF lib was introduced in 18.05.
There were no changes in it's public API since 19.11.
It should be mature enough to remove it's 'experimental' tag.
RTE_BPF_XTYPE_NUM is also being dropped from rte_bpf_xtype to
avoid possible ABI problems in the future.

---
v2: RTE_BPF_XTYPE_NUM dropped from rte_bpf_xtype

Signed-off-by: Conor Walsh <conor.walsh@intel.com>
---
 MAINTAINERS                            |  2 +-
 doc/guides/rel_notes/release_20_11.rst |  2 +-
 lib/librte_bpf/rte_bpf.h               | 15 ++-------------
 lib/librte_bpf/rte_bpf_ethdev.h        |  5 -----
 lib/librte_bpf/rte_bpf_version.map     |  2 +-
 5 files changed, 5 insertions(+), 21 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index ed163f5d5..742c5eb24 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1492,7 +1492,7 @@ F: app/test/test_telemetry*
 F: usertools/dpdk-telemetry*
 F: doc/guides/howto/telemetry.rst
 
-BPF - EXPERIMENTAL
+BPF
 M: Konstantin Ananyev <konstantin.ananyev@intel.com>
 F: lib/librte_bpf/
 F: examples/bpf/
diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index df227a177..8a785d78b 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -84,7 +84,6 @@ API Changes
    Also, make sure to start the actual text at the margin.
    =======================================================
 
-
 ABI Changes
 -----------
 
@@ -100,6 +99,7 @@ ABI Changes
    Also, make sure to start the actual text at the margin.
    =======================================================
 
+* bpf: ``RTE_BPF_XTYPE_NUM`` has been dropped from ``rte_bpf_xtype``
 
 Known Issues
 ------------
diff --git a/lib/librte_bpf/rte_bpf.h b/lib/librte_bpf/rte_bpf.h
index e2d419b4e..69116f36b 100644
--- a/lib/librte_bpf/rte_bpf.h
+++ b/lib/librte_bpf/rte_bpf.h
@@ -10,10 +10,6 @@
  *
  * RTE BPF support.
  *
- * @warning
- * @b EXPERIMENTAL:
- * All functions in this file may be changed or removed without prior notice.
- *
  * librte_bpf provides a framework to load and execute eBPF bytecode
  * inside user-space dpdk based applications.
  * It supports basic set of features from eBPF spec
@@ -36,7 +32,7 @@ enum rte_bpf_arg_type {
 	RTE_BPF_ARG_RAW,        /**< scalar value */
 	RTE_BPF_ARG_PTR = 0x10, /**< pointer to data buffer */
 	RTE_BPF_ARG_PTR_MBUF,   /**< pointer to rte_mbuf */
-	RTE_BPF_ARG_RESERVED,   /**< reserved for internal use */
+	RTE_BPF_ARG_RESERVED    /**< reserved for internal use */
 };
 
 /**
@@ -63,8 +59,7 @@ struct rte_bpf_arg {
  */
 enum rte_bpf_xtype {
 	RTE_BPF_XTYPE_FUNC, /**< function */
-	RTE_BPF_XTYPE_VAR,  /**< variable */
-	RTE_BPF_XTYPE_NUM
+	RTE_BPF_XTYPE_VAR   /**< variable */
 };
 
 /**
@@ -117,7 +112,6 @@ struct rte_bpf;
  * @param bpf
  *   BPF handle to destroy.
  */
-__rte_experimental
 void
 rte_bpf_destroy(struct rte_bpf *bpf);
 
@@ -133,7 +127,6 @@ rte_bpf_destroy(struct rte_bpf *bpf);
  *   - EINVAL - invalid parameter passed to function
  *   - ENOMEM - can't reserve enough memory
  */
-__rte_experimental
 struct rte_bpf *
 rte_bpf_load(const struct rte_bpf_prm *prm);
 
@@ -157,7 +150,6 @@ rte_bpf_load(const struct rte_bpf_prm *prm);
  *   - EINVAL - invalid parameter passed to function
  *   - ENOMEM - can't reserve enough memory
  */
-__rte_experimental
 struct rte_bpf *
 rte_bpf_elf_load(const struct rte_bpf_prm *prm, const char *fname,
 		const char *sname);
@@ -171,7 +163,6 @@ rte_bpf_elf_load(const struct rte_bpf_prm *prm, const char *fname,
  * @return
  *   BPF execution return value.
  */
-__rte_experimental
 uint64_t
 rte_bpf_exec(const struct rte_bpf *bpf, void *ctx);
 
@@ -189,7 +180,6 @@ rte_bpf_exec(const struct rte_bpf *bpf, void *ctx);
  * @return
  *   number of successfully processed inputs.
  */
-__rte_experimental
 uint32_t
 rte_bpf_exec_burst(const struct rte_bpf *bpf, void *ctx[], uint64_t rc[],
 		uint32_t num);
@@ -205,7 +195,6 @@ rte_bpf_exec_burst(const struct rte_bpf *bpf, void *ctx[], uint64_t rc[],
  *   - -EINVAL if the parameters are invalid.
  *   - Zero if operation completed successfully.
  */
-__rte_experimental
 int
 rte_bpf_get_jit(const struct rte_bpf *bpf, struct rte_bpf_jit *jit);
 
diff --git a/lib/librte_bpf/rte_bpf_ethdev.h b/lib/librte_bpf/rte_bpf_ethdev.h
index 0ce526e39..135062c9e 100644
--- a/lib/librte_bpf/rte_bpf_ethdev.h
+++ b/lib/librte_bpf/rte_bpf_ethdev.h
@@ -7,7 +7,6 @@
 
 /**
  * @file rte_bpf_ethdev.h
- * @b EXPERIMENTAL: this API may change without prior notice
  *
  * API to install BPF filter as RX/TX callbacks for eth devices.
  * Note that right now:
@@ -45,7 +44,6 @@ enum {
  * @param queue
  *   The identifier of the RX queue on the given port
  */
-__rte_experimental
 void
 rte_bpf_eth_rx_unload(uint16_t port, uint16_t queue);
 
@@ -58,7 +56,6 @@ rte_bpf_eth_rx_unload(uint16_t port, uint16_t queue);
  * @param queue
  *   The identifier of the TX queue on the given port
  */
-__rte_experimental
 void
 rte_bpf_eth_tx_unload(uint16_t port, uint16_t queue);
 
@@ -82,7 +79,6 @@ rte_bpf_eth_tx_unload(uint16_t port, uint16_t queue);
  * @return
  *   Zero on successful completion or negative error code otherwise.
  */
-__rte_experimental
 int
 rte_bpf_eth_rx_elf_load(uint16_t port, uint16_t queue,
 	const struct rte_bpf_prm *prm, const char *fname, const char *sname,
@@ -108,7 +104,6 @@ rte_bpf_eth_rx_elf_load(uint16_t port, uint16_t queue,
  * @return
  *   Zero on successful completion or negative error code otherwise.
  */
-__rte_experimental
 int
 rte_bpf_eth_tx_elf_load(uint16_t port, uint16_t queue,
 	const struct rte_bpf_prm *prm, const char *fname, const char *sname,
diff --git a/lib/librte_bpf/rte_bpf_version.map b/lib/librte_bpf/rte_bpf_version.map
index a203e088e..b75a0034b 100644
--- a/lib/librte_bpf/rte_bpf_version.map
+++ b/lib/librte_bpf/rte_bpf_version.map
@@ -1,4 +1,4 @@
-EXPERIMENTAL {
+DPDK_21 {
 	global:
 
 	rte_bpf_destroy;
-- 
2.25.1


^ permalink raw reply	[relevance 12%]

* [dpdk-dev] [PATCH v2] lib/ipsec: remove experimental tag
  @ 2020-09-14 12:53  7% ` Conor Walsh
  2020-09-14 13:25  3%   ` David Marchand
  2020-09-14 14:10  7%   ` [dpdk-dev] [PATCH v3] ipsec: " Conor Walsh
  0 siblings, 2 replies; 200+ results
From: Conor Walsh @ 2020-09-14 12:53 UTC (permalink / raw)
  To: dev, konstantin.ananyev; +Cc: Conor Walsh

Since librte_ipsec was first introduced in 19.02 and there were no changes
in it's public API since 19.11, it should be considered mature enough to
remove the 'experimental' tag from it.
The RTE_SATP_LOG2_NUM enum is also being dropped from rte_ipsec_sa.h to
avoid possible ABI problems in the future.

---
v2: RTE_SATP_LOG2_NUM dropped from enum

Signed-off-by: Conor Walsh <conor.walsh@intel.com>
---
 MAINTAINERS                            | 2 +-
 doc/guides/rel_notes/release_20_11.rst | 1 +
 lib/librte_ipsec/rte_ipsec.h           | 8 --------
 lib/librte_ipsec/rte_ipsec_group.h     | 3 ---
 lib/librte_ipsec/rte_ipsec_sa.h        | 8 +-------
 lib/librte_ipsec/rte_ipsec_sad.h       | 7 -------
 lib/librte_ipsec/rte_ipsec_version.map | 2 +-
 7 files changed, 4 insertions(+), 27 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index ed163f5d5..f66772908 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1286,7 +1286,7 @@ M: Jiayu Hu <jiayu.hu@intel.com>
 F: lib/librte_gso/
 F: doc/guides/prog_guide/generic_segmentation_offload_lib.rst
 
-IPsec - EXPERIMENTAL
+IPsec
 M: Konstantin Ananyev <konstantin.ananyev@intel.com>
 T: git://dpdk.org/next/dpdk-next-crypto
 F: lib/librte_ipsec/
diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index df227a177..b750fcf65 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -100,6 +100,7 @@ ABI Changes
    Also, make sure to start the actual text at the margin.
    =======================================================
 
+* ipsec: ``RTE_SATP_LOG2_NUM`` has been dropped from ``enum``
 
 Known Issues
 ------------
diff --git a/lib/librte_ipsec/rte_ipsec.h b/lib/librte_ipsec/rte_ipsec.h
index de05f4e93..dd60d9591 100644
--- a/lib/librte_ipsec/rte_ipsec.h
+++ b/lib/librte_ipsec/rte_ipsec.h
@@ -10,10 +10,6 @@
  *
  * RTE IPsec support.
  *
- * @warning
- * @b EXPERIMENTAL:
- * All functions in this file may be changed or removed without prior notice.
- *
  * librte_ipsec provides a framework for data-path IPsec protocol
  * processing (ESP/AH).
  */
@@ -94,7 +90,6 @@ struct rte_ipsec_session {
  *   - Zero if operation completed successfully.
  *   - -EINVAL if the parameters are invalid.
  */
-__rte_experimental
 int
 rte_ipsec_session_prepare(struct rte_ipsec_session *ss);
 
@@ -119,7 +114,6 @@ rte_ipsec_session_prepare(struct rte_ipsec_session *ss);
  * @return
  *   Number of successfully processed packets, with error code set in rte_errno.
  */
-__rte_experimental
 static inline uint16_t
 rte_ipsec_pkt_crypto_prepare(const struct rte_ipsec_session *ss,
 	struct rte_mbuf *mb[], struct rte_crypto_op *cop[], uint16_t num)
@@ -127,7 +121,6 @@ rte_ipsec_pkt_crypto_prepare(const struct rte_ipsec_session *ss,
 	return ss->pkt_func.prepare.async(ss, mb, cop, num);
 }
 
-__rte_experimental
 static inline uint16_t
 rte_ipsec_pkt_cpu_prepare(const struct rte_ipsec_session *ss,
 	struct rte_mbuf *mb[], uint16_t num)
@@ -158,7 +151,6 @@ rte_ipsec_pkt_cpu_prepare(const struct rte_ipsec_session *ss,
  * @return
  *   Number of successfully processed packets, with error code set in rte_errno.
  */
-__rte_experimental
 static inline uint16_t
 rte_ipsec_pkt_process(const struct rte_ipsec_session *ss, struct rte_mbuf *mb[],
 	uint16_t num)
diff --git a/lib/librte_ipsec/rte_ipsec_group.h b/lib/librte_ipsec/rte_ipsec_group.h
index 47b33ca5e..ea3bdfad9 100644
--- a/lib/librte_ipsec/rte_ipsec_group.h
+++ b/lib/librte_ipsec/rte_ipsec_group.h
@@ -7,7 +7,6 @@
 
 /**
  * @file rte_ipsec_group.h
- * @b EXPERIMENTAL: this API may change without prior notice
  *
  * RTE IPsec support.
  * It is not recommended to include this file directly,
@@ -42,7 +41,6 @@ struct rte_ipsec_group {
  * @return
  *   The pointer to the related *rte_ipsec_session* structure.
  */
-__rte_experimental
 static inline struct rte_ipsec_session *
 rte_ipsec_ses_from_crypto(const struct rte_crypto_op *cop)
 {
@@ -79,7 +77,6 @@ rte_ipsec_ses_from_crypto(const struct rte_crypto_op *cop)
  * @return
  *   Number of filled elements in *grp* array.
  */
-__rte_experimental
 static inline uint16_t
 rte_ipsec_pkt_crypto_group(const struct rte_crypto_op *cop[],
 	struct rte_mbuf *mb[], struct rte_ipsec_group grp[], uint16_t num)
diff --git a/lib/librte_ipsec/rte_ipsec_sa.h b/lib/librte_ipsec/rte_ipsec_sa.h
index 1cfde5874..cf51ad833 100644
--- a/lib/librte_ipsec/rte_ipsec_sa.h
+++ b/lib/librte_ipsec/rte_ipsec_sa.h
@@ -7,7 +7,6 @@
 
 /**
  * @file rte_ipsec_sa.h
- * @b EXPERIMENTAL: this API may change without prior notice
  *
  * Defines API to manage IPsec Security Association (SA) objects.
  */
@@ -90,8 +89,7 @@ enum {
 	RTE_SATP_LOG2_SQN = RTE_SATP_LOG2_MODE + 2,
 	RTE_SATP_LOG2_ESN,
 	RTE_SATP_LOG2_ECN,
-	RTE_SATP_LOG2_DSCP,
-	RTE_SATP_LOG2_NUM
+	RTE_SATP_LOG2_DSCP
 };
 
 #define RTE_IPSEC_SATP_IPV_MASK		(1ULL << RTE_SATP_LOG2_IPV)
@@ -132,7 +130,6 @@ enum {
  * @return
  *   SA type value.
  */
-__rte_experimental
 uint64_t
 rte_ipsec_sa_type(const struct rte_ipsec_sa *sa);
 
@@ -144,7 +141,6 @@ rte_ipsec_sa_type(const struct rte_ipsec_sa *sa);
  *   - Actual size required for SA with given parameters.
  *   - -EINVAL if the parameters are invalid.
  */
-__rte_experimental
 int
 rte_ipsec_sa_size(const struct rte_ipsec_sa_prm *prm);
 
@@ -161,7 +157,6 @@ rte_ipsec_sa_size(const struct rte_ipsec_sa_prm *prm);
  *   - -EINVAL if the parameters are invalid.
  *   - -ENOSPC if the size of the provided buffer is not big enough.
  */
-__rte_experimental
 int
 rte_ipsec_sa_init(struct rte_ipsec_sa *sa, const struct rte_ipsec_sa_prm *prm,
 	uint32_t size);
@@ -171,7 +166,6 @@ rte_ipsec_sa_init(struct rte_ipsec_sa *sa, const struct rte_ipsec_sa_prm *prm,
  * @param sa
  *   Pointer to SA object to de-initialize.
  */
-__rte_experimental
 void
 rte_ipsec_sa_fini(struct rte_ipsec_sa *sa);
 
diff --git a/lib/librte_ipsec/rte_ipsec_sad.h b/lib/librte_ipsec/rte_ipsec_sad.h
index dcc82249e..3e67ab1e4 100644
--- a/lib/librte_ipsec/rte_ipsec_sad.h
+++ b/lib/librte_ipsec/rte_ipsec_sad.h
@@ -10,7 +10,6 @@
 
 /**
  * @file rte_ipsec_sad.h
- * @b EXPERIMENTAL: this API may change without prior notice
  *
  * RTE IPsec security association database (SAD) support.
  * Contains helper functions to lookup and maintain SAD
@@ -82,7 +81,6 @@ struct rte_ipsec_sad_conf {
  * @return
  *   0 on success, negative value otherwise
  */
-__rte_experimental
 int
 rte_ipsec_sad_add(struct rte_ipsec_sad *sad,
 	const union rte_ipsec_sad_key *key,
@@ -103,7 +101,6 @@ rte_ipsec_sad_add(struct rte_ipsec_sad *sad,
  * @return
  *   0 on success, negative value otherwise
  */
-__rte_experimental
 int
 rte_ipsec_sad_del(struct rte_ipsec_sad *sad,
 	const union rte_ipsec_sad_key *key,
@@ -119,7 +116,6 @@ rte_ipsec_sad_del(struct rte_ipsec_sad *sad,
  *  Handle to SAD object on success
  *  NULL otherwise with rte_errno set to an appropriate values.
  */
-__rte_experimental
 struct rte_ipsec_sad *
 rte_ipsec_sad_create(const char *name, const struct rte_ipsec_sad_conf *conf);
 
@@ -133,7 +129,6 @@ rte_ipsec_sad_create(const char *name, const struct rte_ipsec_sad_conf *conf);
  *  set appropriately. Possible rte_errno values include:
  *   - ENOENT - required entry not available to return.
  */
-__rte_experimental
 struct rte_ipsec_sad *
 rte_ipsec_sad_find_existing(const char *name);
 
@@ -145,7 +140,6 @@ rte_ipsec_sad_find_existing(const char *name);
  * @return
  *   None
  */
-__rte_experimental
 void
 rte_ipsec_sad_destroy(struct rte_ipsec_sad *sad);
 
@@ -165,7 +159,6 @@ rte_ipsec_sad_destroy(struct rte_ipsec_sad *sad);
  *  @return
  *   -EINVAL for incorrect arguments, otherwise number of successful lookups.
  */
-__rte_experimental
 int
 rte_ipsec_sad_lookup(const struct rte_ipsec_sad *sad,
 	const union rte_ipsec_sad_key *keys[],
diff --git a/lib/librte_ipsec/rte_ipsec_version.map b/lib/librte_ipsec/rte_ipsec_version.map
index f37c867bf..ad3e38b7c 100644
--- a/lib/librte_ipsec/rte_ipsec_version.map
+++ b/lib/librte_ipsec/rte_ipsec_version.map
@@ -1,4 +1,4 @@
-EXPERIMENTAL {
+DPDK_21 {
 	global:
 
 	rte_ipsec_pkt_crypto_group;
-- 
2.25.1


^ permalink raw reply	[relevance 7%]

* Re: [dpdk-dev] [PATCH v3 2/4] devtools: add generation of compressed abi dump archives
  2020-09-11 16:03 20%     ` [dpdk-dev] [PATCH v3 2/4] devtools: add generation of compressed abi dump archives Conor Walsh
@ 2020-09-14 12:50  4%       ` Burakov, Anatoly
  2020-09-15 14:35  4%         ` Aaron Conole
  0 siblings, 1 reply; 200+ results
From: Burakov, Anatoly @ 2020-09-14 12:50 UTC (permalink / raw)
  To: Conor Walsh, dev
  Cc: david.marchand, ray.kinsella, nhorman, aconole, maicolgabriel,
	thomas, bruce.richardson

On 11-Sep-20 5:03 PM, Conor Walsh wrote:
> This patch adds a script that generates a compressed archive
> containing .dump files which can be used to perform ABI
> breakage checking for the build specified in the parameters.
> Invoke using "./gen-abi-tarball.py -t <tag> -a <arch> [-cf <cross-file>]"
>   - <tag>: dpdk tag e.g. "v20.11"
>   - <arch>: required architecture e.g. "arm" or "x86_64"
>   - <cross-file>: configuration file for cross compiling for another
>                   system, this flag is not required.
>                   e.g. "config/arm/arm64_armv8_linux_gcc"
> E.g. "./gen-abi-tarball.py -t latest -a x86_64"
> If a compiler is not specified using the CC environmental variable then
> the script will default to using gcc.
> Using these parameters the script will produce a .tar.gz archive
> containing .dump files required to do ABI breakage checking
> 
> Signed-off-by: Conor Walsh <conor.walsh@intel.com>
> ---

Just a general comment: this script looks like it's bash translated to 
python. If you're going to do that, you might as well just write it in bash?

>   devtools/gen-abi-tarball.py | 125 ++++++++++++++++++++++++++++++++++++
>   1 file changed, 125 insertions(+)
>   create mode 100755 devtools/gen-abi-tarball.py
> 
> diff --git a/devtools/gen-abi-tarball.py b/devtools/gen-abi-tarball.py
> new file mode 100755
> index 000000000..06761fca6
> --- /dev/null
> +++ b/devtools/gen-abi-tarball.py
> @@ -0,0 +1,125 @@
> +#!/usr/bin/env python3
> +# SPDX-License-Identifier: BSD-3-Clause
> +# Copyright(c) 2020 Intel Corporation
> +
> +import sys
> +import os
> +import argparse
> +

It is preferred to wrap executable code in "if __name__ == 
"__main__"..., helps with importing code while avoiding executing it on 
import.

> +# Get command line arguments
> +parser = argparse.ArgumentParser(usage='\rThis script is intended to generate ABI dump tarballs\n'+
> +                                       'Supported environmental variables\n'+
> +                                       '\t- CC: The required compiler will be determined using this environmental variable.\n')
> +parser.add_argument('-t', '--tag', type=str, dest='tag', help='DPDK tag e.g. latest or v20.11')
> +parser.add_argument('-cf', '--cross-file', type=str, dest='crosscompile', help='Set the location of a cross compile config')
> +parser.add_argument('-a', '--arch', type=str, dest='arch', help='Arch arm or x86_64')
> +args = parser.parse_args()
> +
> +# Get the DPDK tag if not supplied set as latest
> +if args.tag:
> +    user_tag = args.tag
> +else:
> +    user_tag = 'latest'
> +    print('No tag supplied defaulting to latest')

There's a "default" option for arguments.

> +
> +# Get the cross-compile option
> +if args.crosscompile:
> +    cross_comp = args.crosscompile
> +    if not args.arch:
> +        sys.stderr.write('ERROR Arch must be set using -a when using cross compile\n')
> +        exit(1)
> +    cross_comp = os.path.abspath(cross_comp)
> +    cross_comp_meson = '--cross-file '+cross_comp
> +else:
> +    cross_comp = ''
> +    cross_comp_meson = ''
> +
> +# Get the required system architecture if not supplied set as x86_64
> +if args.arch:
> +    arch = args.arch
> +else:
> +    arch = os.popen('uname -m').read().strip()

There's a built-in python library for this, i think it's called "platform".

> +    print('No system architecture supplied defaulting to '+arch)
> +
> +tag = ''
> +# If the user did not supply tag or wants latest then get latest tag
> +if user_tag == 'latest':
> +    # Get latest quarterly build tag from git repo
> +    tag = os.popen('git ls-remote --tags http://dpdk.org/git/dpdk | grep -v "rc\|{}" | tail -n 1 | sed "s/.*\///"').read().strip()
> +else:
> +    tag = user_tag
> +    # If the user supplied tag is not in the DPDK repo then fail
> +    tag_check = int(os.popen('git ls-remote http://dpdk.org/git/dpdk refs/tags/'+tag+' | wc -l').read().strip())
> +    if tag_check != 1:
> +        sys.stderr.write('ERROR supplied tag does not exist in DPDK repo\n')
> +        exit(1)
> +
> +# Get the specified compiler from system
> +comp_env = 'CC'
> +if comp_env in os.environ:
> +    comp = os.environ[comp_env]
> +    comp_default = ''
> +else:
> +    print('No compiler specified, defaulting to gcc')
> +    comp = 'gcc'
> +    comp_default = 'CC=gcc'
> +
> +# Print the configuration to the user
> +print('\nSelected Build: '+tag+', Compiler: '+comp+', Architecture: '+arch+', Cross Compile: '+cross_comp)

Here and in similar places: please don't use string concatenation, use 
string formatting instead.

> +
> +# Store the base directory script is working from
> +baseDir = os.getcwd()
> +# Store devtools dir
> +devtoolsDir = os.path.abspath(os.path.dirname(os.path.realpath(sys.argv[0])))
> +
> +# Create directory for DPDK git repo and build
> +try:
> +    os.mkdir('dump_dpdk')
> +except OSError as error:
> +    sys.stderr.write('ERROR The dump_dpdk directory could not be created, ensure it does not exist before start\n')
> +    exit(1)
> +os.chdir('dump_dpdk')
> +# Clone DPDK and switch to specified tag
> +print('Cloning '+tag+' from DPDK git')
> +os.popen('git clone --quiet http://dpdk.org/git/dpdk >/dev/null').read()
> +os.chdir('dpdk')
> +os.popen('git checkout --quiet '+tag+' >/dev/null').read()
> +
> +# Create build folder with meson and set debug build and cross compile (if needed)
> +print('Configuring Meson')
> +os.popen(comp_default+' meson dumpbuild '+cross_comp_meson+' >/dev/null').read()

You do this os.popen(something > /dev/bull).read() quite a lot, maybe 
put it into a function? Also, since you're discarding the data anyway - 
why os.popen().read() instead of os.system()?

> +os.chdir('dumpbuild')
> +os.popen('meson configure -Dbuildtype=debug >/dev/null').read()
> +print('Building DPDK . . .')
> +#Build DPDK with ninja
> +os.popen('ninja >/dev/null').read()
> +gccDir = os.getcwd()
> +
> +# Create directory for abi dump files
> +dumpDir = os.path.join(baseDir,tag+'-'+comp+'-'+arch+'-abi_dump')
> +try:
> +    os.mkdir(dumpDir)
> +except OSError as error:
> +    sys.stderr.write('ERROR The '+dumpDir+' directory could not be created\n')
> +    os.popen('rm -rf '+os.path.join(baseDir,'dump_dpdk')).read()
> +    exit(1)
> +
> +# Create dump files and output to dump directory
> +print('Generating ABI dump files')
> +genabiout = os.popen(os.path.join(devtoolsDir,'gen-abi.sh')+' '+gccDir).read()
> +os.popen('cp dump/* '+dumpDir).read()
> +
> +# Compress the dump directory
> +print('Creating Tarball of dump files')
> +os.chdir(baseDir)
> +origSize = os.popen('du -sh '+dumpDir+' | sed "s/\s.*$//"').read()
> +os.popen('tar -czf '+dumpDir.split('/')[-1]+'.tar.gz '+dumpDir.split('/')[-1]+' >/dev/null').read()
> +newSize = os.popen('du -sh '+dumpDir+'.tar.gz | sed "s/\s.*$//"').read()
> +
> +# Remove all temporary directories
> +print('Cleaning up temporary directories')
> +os.popen('rm -rf '+dumpDir).read()
> +os.popen('rm -rf '+os.path.join(baseDir,'dump_dpdk')).read()
> +
> +#Print output of the script to the user
> +print('\nDump of DPDK ABI '+tag+' is available in '+dumpDir.split('/')[-1]+'.tar.gz (Original Size: '+origSize.strip()+', Compressed Size:'+newSize.strip()+')\n')
> 


-- 
Thanks,
Anatoly

^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] [PATCH v3 0/4] abi breakage checks for meson
  2020-09-14  8:08  8%     ` [dpdk-dev] [PATCH v3 0/4] abi breakage checks for meson Thomas Monjalon
  2020-09-14  8:30  7%       ` Kinsella, Ray
@ 2020-09-14  9:34  7%       ` Kinsella, Ray
  1 sibling, 0 replies; 200+ results
From: Kinsella, Ray @ 2020-09-14  9:34 UTC (permalink / raw)
  To: Thomas Monjalon, Conor Walsh
  Cc: dev, david.marchand, ray.kinsella, nhorman, aconole,
	maicolgabriel, bruce.richardson

(apologies for re-sending, I missed the CC list the 1st time). 

Predictably perhaps, I disagree.

On 14/09/2020 09:08, Thomas Monjalon wrote:
> Hi,
> 
>> This patchset allows developers to check ABI breakages during build
>> time.
>> Currently checking that the DPDK ABI has not changed before up-streaming
>> code is not intuitive. The current method, requires the contributor to
>> use either the test-build.sh and test-meson-build.sh tools, along side
> 
> The contributor *MUST* test compilation with test-meson-build.sh in any case.
> 

So I guess, you need to ask what the "user interface" is for DPDK.
The reality is that is meson/ninja (or previously make) tooling is that interface.
as it is most other places, dev's expect a familiar build system.

>> some environmental variables to test their changes. Contributors in many
> 
> It is just one variable to add to a file:
> 	export DPDK_ABI_REF_VERSION=v20.11
> in ~/.config/dpdk/devel.config or dpdk/.develconfig

It's a documentation heavy, non-obvious process.
We need to consider UX, to make it as _easy_ as possible, 
integrated with the build system and automated. 

> 
>> cases are either unaware or unable to do this themselves, leading to a
>> potentially serious situation where they are unknowingly up-streaming
>> code that breaks the ABI. These breakages are then caught by Travis, but
>> it is more efficient if this is caught locally before up-streaming.

This is puzzling, complex compared to running a separate script to meson/ninja, 
and requiring that esoteric environment variables are set?

> I think you are proposing a complex solution to a non-issue.
> 
> And I don't understand how your method is more straight-forward
> for the user, given this statement in your last patch:
> "
> This patch adds the ability to run ABI breakage checks to meson.
> To do this the developer needs to set the meson build type to debug and
> set the version of DPDK that they want to check the ABI against.
> "
> 

The developer can set the abi-check option to latest, and the build system
will take care of the rest. The system even caches the debug symbols, so they 
don't need to be generated locally. 

^ permalink raw reply	[relevance 7%]

* Re: [dpdk-dev] [PATCH v3 0/4] abi breakage checks for meson
  2020-09-14  8:08  8%     ` [dpdk-dev] [PATCH v3 0/4] abi breakage checks for meson Thomas Monjalon
@ 2020-09-14  8:30  7%       ` Kinsella, Ray
  2020-09-14  9:34  7%       ` Kinsella, Ray
  1 sibling, 0 replies; 200+ results
From: Kinsella, Ray @ 2020-09-14  8:30 UTC (permalink / raw)
  To: dev

Predictably perhaps, I disagree.

On 14/09/2020 09:08, Thomas Monjalon wrote:
> Hi,
> 
>> This patchset allows developers to check ABI breakages during build
>> time.
>> Currently checking that the DPDK ABI has not changed before up-streaming
>> code is not intuitive. The current method, requires the contributor to
>> use either the test-build.sh and test-meson-build.sh tools, along side
> 
> The contributor *MUST* test compilation with test-meson-build.sh in any case.

So I guess, you need to ask what the "user interface" is for DPDK.
The reality is that is meson/ninja (or previously make) tooling is that interface.
as it is most other places, dev's expect a familiar build system.

> 
>> some environmental variables to test their changes. Contributors in many
> 
> It is just one variable to add to a file:
> 	export DPDK_ABI_REF_VERSION=v20.11
> in ~/.config/dpdk/devel.config or dpdk/.develconfig

It's a documentation heavy, non-obvious process.
We need to consider UX, to make it as _easy_ as possible, 
integrated with the build system and automated. 

> 
>> cases are either unaware or unable to do this themselves, leading to a
>> potentially serious situation where they are unknowingly up-streaming
>> code that breaks the ABI. These breakages are then caught by Travis, but
>> it is more efficient if this is caught locally before up-streaming.
> 
> I think you are proposing a complex solution to a non-issue.

This is puzzling, complex compared to running a separate script to meson/ninja, 
and requiring that esoteric environment variables are set?

> 
> And I don't understand how your method is more straight-forward
> for the user, given this statement in your last patch:
> "
> This patch adds the ability to run ABI breakage checks to meson.
> To do this the developer needs to set the meson build type to debug and
> set the version of DPDK that they want to check the ABI against.
> "

The developer can set the abi-check option to latest, and the build system
will take care of the rest. The system even caches the debug symbols, so they 
don't need to be generated locally. 

^ permalink raw reply	[relevance 7%]

* Re: [dpdk-dev] [PATCH v3 0/4] abi breakage checks for meson
  2020-09-11 16:03 10%   ` [dpdk-dev] [PATCH v3 0/4] abi breakage checks for meson Conor Walsh
                       ` (3 preceding siblings ...)
  2020-09-11 16:03 17%     ` [dpdk-dev] [PATCH v3 4/4] build: add abi breakage checks to meson Conor Walsh
@ 2020-09-14  8:08  8%     ` Thomas Monjalon
  2020-09-14  8:30  7%       ` Kinsella, Ray
  2020-09-14  9:34  7%       ` Kinsella, Ray
  2020-09-18 12:11 10%     ` [dpdk-dev] [PATCH v4 " Conor Walsh
  5 siblings, 2 replies; 200+ results
From: Thomas Monjalon @ 2020-09-14  8:08 UTC (permalink / raw)
  To: Conor Walsh
  Cc: dev, david.marchand, ray.kinsella, nhorman, aconole,
	maicolgabriel, bruce.richardson

Hi,

> This patchset allows developers to check ABI breakages during build
> time.
> Currently checking that the DPDK ABI has not changed before up-streaming
> code is not intuitive. The current method, requires the contributor to
> use either the test-build.sh and test-meson-build.sh tools, along side

The contributor *MUST* test compilation with test-meson-build.sh in any case.

> some environmental variables to test their changes. Contributors in many

It is just one variable to add to a file:
	export DPDK_ABI_REF_VERSION=v20.11
in ~/.config/dpdk/devel.config or dpdk/.develconfig

> cases are either unaware or unable to do this themselves, leading to a
> potentially serious situation where they are unknowingly up-streaming
> code that breaks the ABI. These breakages are then caught by Travis, but
> it is more efficient if this is caught locally before up-streaming.

I think you are proposing a complex solution to a non-issue.

And I don't understand how your method is more straight-forward
for the user, given this statement in your last patch:
"
This patch adds the ability to run ABI breakage checks to meson.
To do this the developer needs to set the meson build type to debug and
set the version of DPDK that they want to check the ABI against.
"



^ permalink raw reply	[relevance 8%]

* [dpdk-dev] [PATCH 00/22] Add DLB2 PMD
@ 2020-09-11 20:26  2% Timothy McDaniel
  0 siblings, 0 replies; 200+ results
From: Timothy McDaniel @ 2020-09-11 20:26 UTC (permalink / raw)
  Cc: dev, erik.g.carrillo, gage.eads, harry.van.haaren, jerinj

The following patch series adds support for a new eventdev PMD. The DLB2
PMD adds support for the Intel Dynamic Load Balancer 2.0 (DLB2)
hardware.
The DLB2 is a PCIe device that provides load-balanced, prioritized
scheduling of core-to-core communication. The device consists of
queues and arbiters that connect producer and consumer cores, and
implements load-balanced queueing features including:
- Lock-free multi-producer/multi-consumer operation.
- Multiple priority levels for varying traffic types.
- 'Direct' traffic (i.e. multi-producer/single-consumer)
- Simple unordered load-balanced distribution.
- Atomic lock-free load balancing across multiple consumers.
- Queue element reordering feature allowing ordered load-balanced
  distribution.

The DLB2 hardware supports both load balanced and directed ports and
queues. Unlike other eventdev devices already in the repo,  not all
DLB2 ports and queues are equally capable. In particular, directed
ports are limited to a single link, and must be connected to a
directed queue. Additionally, even though LDB ports may link multiple queues,
the number of queues that may be linked is limited by hardware.

While reviewing the code, please be aware that this PMD has full
control over the DLB2 hardware. Intel will be extending the DLB2 PMD
in the future (not as part of this first series) with a mode that we
refer to as the bifurcated PMD. The bifurcated PMD communicates with a
kernel driver to configure the device, ports, and queues, and memory
maps device MMIO so datapath operations occur purely in user-space.
Note that the DLB2 hardware is a successor of the DLB hardware, and
as such is structured similarly, both in terms of code layout and
implementation.

The framework to support both the PF PMD and bifurcated PMD exists in
this patchset, and is why the iface.[ch] layer is present.

Depends-on: patch-77466 ("eventdev: add PCI probe named convenience function")
Depends-on: series-12160 ("Eventdev ABI changes")
Depends-on: patch-77460 ("eal: add umonitor umwait to x86 cpuflags")

Timothy McDaniel (22):
  event/dlb2: add meson build infrastructure
  event/dlb2: add dynamic logging
  event/dlb2: add private data structures and constants
  event/dlb2: add definitions shared with LKM or shared code
  event/dlb2: add inline functions
  event/dlb2: add probe
  event/dlb2: add xstats
  event/dlb2: add infos get and configure
  event/dlb2: add queue and port default conf
  event/dlb2: add queue setup
  event/dlb2: add port setup
  event/dlb2: add port link
  event/dlb2: add port unlink and port unlinks in progress
  event/dlb2: add eventdev start
  event/dlb2: add enqueue and its burst variants
  event/dlb2: add dequeue and its burst variants
  event/dlb2: add eventdev stop and close
  event/dlb2: add PMD's token pop public interface
  event/dlb2: add PMD self-tests
  event/dlb2: add queue and port release
  event/dlb2: add timeout ticks entry point
  doc: add new DLB2 eventdev driver to relnotes

 app/test/test_eventdev.c                          |    9 +
 config/rte_config.h                               |    7 +
 doc/guides/rel_notes/release_20_11.rst            |    5 +
 drivers/event/dlb2/dlb2.c                         | 4046 ++++++++++++++
 drivers/event/dlb2/dlb2_iface.c                   |   88 +
 drivers/event/dlb2/dlb2_iface.h                   |   75 +
 drivers/event/dlb2/dlb2_inline_fns.h              |   85 +
 drivers/event/dlb2/dlb2_log.h                     |   25 +
 drivers/event/dlb2/dlb2_priv.h                    |  619 +++
 drivers/event/dlb2/dlb2_selftest.c                | 1570 ++++++
 drivers/event/dlb2/dlb2_user.h                    |  883 +++
 drivers/event/dlb2/dlb2_xstats.c                  | 1269 +++++
 drivers/event/dlb2/meson.build                    |   16 +
 drivers/event/dlb2/pf/base/dlb2_hw_types.h        |  367 ++
 drivers/event/dlb2/pf/base/dlb2_mbox.h            |  596 ++
 drivers/event/dlb2/pf/base/dlb2_osdep.h           |  248 +
 drivers/event/dlb2/pf/base/dlb2_osdep_bitmap.h    |  447 ++
 drivers/event/dlb2/pf/base/dlb2_osdep_list.h      |  131 +
 drivers/event/dlb2/pf/base/dlb2_osdep_types.h     |   31 +
 drivers/event/dlb2/pf/base/dlb2_regs.h            | 2527 +++++++++
 drivers/event/dlb2/pf/base/dlb2_resource.c        | 6023 +++++++++++++++++++++
 drivers/event/dlb2/pf/base/dlb2_resource.h        | 1913 +++++++
 drivers/event/dlb2/pf/dlb2_main.c                 |  692 +++
 drivers/event/dlb2/pf/dlb2_main.h                 |  107 +
 drivers/event/dlb2/pf/dlb2_pf.c                   |  734 +++
 drivers/event/dlb2/rte_pmd_dlb2.c                 |   39 +
 drivers/event/dlb2/rte_pmd_dlb2.h                 |   59 +
 drivers/event/dlb2/rte_pmd_dlb2_event_version.map |    9 +
 drivers/event/meson.build                         |    4 +
 29 files changed, 22624 insertions(+)
 create mode 100644 drivers/event/dlb2/dlb2.c
 create mode 100644 drivers/event/dlb2/dlb2_iface.c
 create mode 100644 drivers/event/dlb2/dlb2_iface.h
 create mode 100644 drivers/event/dlb2/dlb2_inline_fns.h
 create mode 100644 drivers/event/dlb2/dlb2_log.h
 create mode 100644 drivers/event/dlb2/dlb2_priv.h
 create mode 100644 drivers/event/dlb2/dlb2_selftest.c
 create mode 100644 drivers/event/dlb2/dlb2_user.h
 create mode 100644 drivers/event/dlb2/dlb2_xstats.c
 create mode 100644 drivers/event/dlb2/meson.build
 create mode 100644 drivers/event/dlb2/pf/base/dlb2_hw_types.h
 create mode 100644 drivers/event/dlb2/pf/base/dlb2_mbox.h
 create mode 100644 drivers/event/dlb2/pf/base/dlb2_osdep.h
 create mode 100644 drivers/event/dlb2/pf/base/dlb2_osdep_bitmap.h
 create mode 100644 drivers/event/dlb2/pf/base/dlb2_osdep_list.h
 create mode 100644 drivers/event/dlb2/pf/base/dlb2_osdep_types.h
 create mode 100644 drivers/event/dlb2/pf/base/dlb2_regs.h
 create mode 100644 drivers/event/dlb2/pf/base/dlb2_resource.c
 create mode 100644 drivers/event/dlb2/pf/base/dlb2_resource.h
 create mode 100644 drivers/event/dlb2/pf/dlb2_main.c
 create mode 100644 drivers/event/dlb2/pf/dlb2_main.h
 create mode 100644 drivers/event/dlb2/pf/dlb2_pf.c
 create mode 100644 drivers/event/dlb2/rte_pmd_dlb2.c
 create mode 100644 drivers/event/dlb2/rte_pmd_dlb2.h
 create mode 100644 drivers/event/dlb2/rte_pmd_dlb2_event_version.map

-- 
2.6.4


^ permalink raw reply	[relevance 2%]

* [dpdk-dev] [PATCH v4 00/22] Add DLB PMD
@ 2020-09-11 19:18  4% Timothy McDaniel
  0 siblings, 0 replies; 200+ results
From: Timothy McDaniel @ 2020-09-11 19:18 UTC (permalink / raw)
  Cc: dev, erik.g.carrillo, gage.eads, harry.van.haaren, jerinj

The following patch series adds support for a new eventdev PMD. The DLB
PMD adds support for the Intel Dynamic Load Balancer (DLB) hardware.
The DLB is a PCIe device that provides load-balanced, prioritized
scheduling of core-to-core communication. The device consists of
queues and arbiters that connect producer and consumer cores, and
implements load-balanced queueing features including:
- Lock-free multi-producer/multi-consumer operation.
- Multiple priority levels for varying traffic types.
- 'Direct' traffic (i.e. multi-producer/single-consumer)
- Simple unordered load-balanced distribution.
- Atomic lock-free load balancing across multiple consumers.
- Queue element reordering feature allowing ordered load-balanced
  distribution.

The DLB hardware supports both load balanced and directed ports and
queues. Unlike other eventdev devices already in the repo,  not all
DLB ports and queues are equally capable. In particular, directed
ports are limited to a single link, and must be connected to a directed
queue.
Additionally, even though LDB ports may link multiple queues, the
number of queues that may be linked is limited by hardware. Another
difference is that DLB does not have a straightforward way of carrying
the flow_id in the queue elements (QE) that the hardware operates on.

While reviewing the code, please be aware that this PMD has full
control over the DLB hardware. Intel will be extending the DLB PMD
in the future (not as part of this first series) with a mode that we
refer to as the bifurcated PMD. The bifurcated PMD communicates with a
kernel driver to configure the device, ports, and queues, and memory
maps device MMIO so datapath operations occur purely in user-space.

The framework to support both the PF PMD and bifurcated PMD exists in
this patchset, and is why the iface.[ch] layer is present.

Major changes in v4 after dpdk reviews and additional internal reviews
by colleagues at Intel:
================
- Remove make infrastructure
- shared code (pf/base) is now added incrementally
- flexible interface (iface.[ch]) is now added incrementally
- removed calls to rte_panic
- do not call pthread_create directly
- remove unused internal API, os_time
- convert rte_atomic to __atomic builtins
- broke out eventdev ABI changes, test/api changes, and new internal PCI
  named probe API
- relocated enqueue logic to enqueue patch

Major Changes in V3:
================
- Fixed a memory corruption issue due to not allocating enough CQ
memory for depths < 8. Hardware requires minimum allocation to be
at least 8 entries.
- Address review comments from Gage and Mattias.
- Remove versioning
- minor formatting changes

Major changes in V2:
================
- Correct ABI break that was present in V1.
- Address some of the review comments received from Mattias.
  I will address the remaining items identified by Mattias in the next
  patch delivery.
- General code cleanup based on internal code reviews

Depends-on: patch-77466 ("eventdev: add PCI probe named convenience function")
Depends-on: series-12160 ("Eventdev ABI changes")
Depends-on: patch-77460 ("eal: add umonitor umwait to x86 cpuflags")

Timothy McDaniel (22):
  event/dlb: add documentation and meson infrastructure
  event/dlb: add dynamic logging
  event/dlb: add private data structures and constants
  event/dlb: add definitions shared with LKM or shared code
  event/dlb: add inline functions
  event/dlb: add probe
  event/dlb: add xstats
  event/dlb: add infos get and configure
  event/dlb: add queue and port default conf
  event/dlb: add queue setup
  event/dlb: add port setup
  event/dlb: add port link
  event/dlb: add port unlink and port unlinks in progress
  event/dlb: add eventdev start
  event/dlb: add enqueue and its burst variants
  event/dlb: add dequeue and its burst variants
  event/dlb: add eventdev stop and close
  event/dlb: add PMD's token pop public interface
  event/dlb: add PMD self-tests
  event/dlb: add queue and port release
  event/dlb: add timeout ticks entry point
  doc: Add new DLB eventdev driver to relnotes

 app/test/test_eventdev.c                        |    8 +
 config/rte_config.h                             |    8 +-
 doc/guides/eventdevs/dlb.rst                    |  340 ++
 doc/guides/rel_notes/release_20_11.rst          |    5 +
 drivers/event/dlb/dlb.c                         | 4149 ++++++++++++++
 drivers/event/dlb/dlb_iface.c                   |   93 +
 drivers/event/dlb/dlb_iface.h                   |   82 +
 drivers/event/dlb/dlb_inline_fns.h              |   79 +
 drivers/event/dlb/dlb_log.h                     |   25 +
 drivers/event/dlb/dlb_priv.h                    |  554 ++
 drivers/event/dlb/dlb_selftest.c                | 1563 +++++
 drivers/event/dlb/dlb_user.h                    |  814 +++
 drivers/event/dlb/dlb_xstats.c                  | 1252 ++++
 drivers/event/dlb/meson.build                   |   15 +
 drivers/event/dlb/pf/base/dlb_hw_types.h        |  334 ++
 drivers/event/dlb/pf/base/dlb_osdep.h           |  326 ++
 drivers/event/dlb/pf/base/dlb_osdep_bitmap.h    |  441 ++
 drivers/event/dlb/pf/base/dlb_osdep_list.h      |  131 +
 drivers/event/dlb/pf/base/dlb_osdep_types.h     |   31 +
 drivers/event/dlb/pf/base/dlb_regs.h            | 2368 ++++++++
 drivers/event/dlb/pf/base/dlb_resource.c        | 6902 +++++++++++++++++++++++
 drivers/event/dlb/pf/base/dlb_resource.h        |  876 +++
 drivers/event/dlb/pf/dlb_main.c                 |  591 ++
 drivers/event/dlb/pf/dlb_main.h                 |   52 +
 drivers/event/dlb/pf/dlb_pf.c                   |  744 +++
 drivers/event/dlb/rte_pmd_dlb.c                 |   38 +
 drivers/event/dlb/rte_pmd_dlb.h                 |   72 +
 drivers/event/dlb/rte_pmd_dlb_event_version.map |    9 +
 drivers/event/meson.build                       |    4 +
 29 files changed, 21905 insertions(+), 1 deletion(-)
 create mode 100644 doc/guides/eventdevs/dlb.rst
 create mode 100644 drivers/event/dlb/dlb.c
 create mode 100644 drivers/event/dlb/dlb_iface.c
 create mode 100644 drivers/event/dlb/dlb_iface.h
 create mode 100644 drivers/event/dlb/dlb_inline_fns.h
 create mode 100644 drivers/event/dlb/dlb_log.h
 create mode 100644 drivers/event/dlb/dlb_priv.h
 create mode 100644 drivers/event/dlb/dlb_selftest.c
 create mode 100644 drivers/event/dlb/dlb_user.h
 create mode 100644 drivers/event/dlb/dlb_xstats.c
 create mode 100644 drivers/event/dlb/meson.build
 create mode 100644 drivers/event/dlb/pf/base/dlb_hw_types.h
 create mode 100644 drivers/event/dlb/pf/base/dlb_osdep.h
 create mode 100644 drivers/event/dlb/pf/base/dlb_osdep_bitmap.h
 create mode 100644 drivers/event/dlb/pf/base/dlb_osdep_list.h
 create mode 100644 drivers/event/dlb/pf/base/dlb_osdep_types.h
 create mode 100644 drivers/event/dlb/pf/base/dlb_regs.h
 create mode 100644 drivers/event/dlb/pf/base/dlb_resource.c
 create mode 100644 drivers/event/dlb/pf/base/dlb_resource.h
 create mode 100644 drivers/event/dlb/pf/dlb_main.c
 create mode 100644 drivers/event/dlb/pf/dlb_main.h
 create mode 100644 drivers/event/dlb/pf/dlb_pf.c
 create mode 100644 drivers/event/dlb/rte_pmd_dlb.c
 create mode 100644 drivers/event/dlb/rte_pmd_dlb.h
 create mode 100644 drivers/event/dlb/rte_pmd_dlb_event_version.map

-- 
2.6.4


^ permalink raw reply	[relevance 4%]

* [dpdk-dev] [PATCH 02/15] eal: rename lcore word choices
  @ 2020-09-11 19:06  1% ` Stephen Hemminger
  2020-09-14 14:40  0%   ` Burakov, Anatoly
      2 siblings, 1 reply; 200+ results
From: Stephen Hemminger @ 2020-09-11 19:06 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger

Replace master lcore with main lcore and
replace slave lcore with worker lcore.

Keep the old functions and macros but mark them as deprecated
for this release.

The "--master-lcore" command line option is also deprecated
and any usage will print a warning and use "--main-lcore"
as replacement.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 doc/guides/rel_notes/deprecation.rst       | 19 -------
 doc/guides/rel_notes/release_20_11.rst     | 11 ++++
 lib/librte_eal/common/eal_common_dynmem.c  |  8 +--
 lib/librte_eal/common/eal_common_launch.c  | 36 ++++++-------
 lib/librte_eal/common/eal_common_lcore.c   |  8 +--
 lib/librte_eal/common/eal_common_options.c | 54 +++++++++++---------
 lib/librte_eal/common/eal_options.h        |  2 +
 lib/librte_eal/common/eal_private.h        |  6 +--
 lib/librte_eal/common/rte_random.c         |  2 +-
 lib/librte_eal/common/rte_service.c        |  2 +-
 lib/librte_eal/freebsd/eal.c               | 28 +++++-----
 lib/librte_eal/freebsd/eal_thread.c        | 32 ++++++------
 lib/librte_eal/include/rte_eal.h           |  4 +-
 lib/librte_eal/include/rte_eal_trace.h     |  4 +-
 lib/librte_eal/include/rte_launch.h        | 59 ++++++++++++----------
 lib/librte_eal/include/rte_lcore.h         | 36 +++++++++----
 lib/librte_eal/linux/eal.c                 | 28 +++++-----
 lib/librte_eal/linux/eal_memory.c          |  8 +--
 lib/librte_eal/linux/eal_thread.c          | 32 ++++++------
 lib/librte_eal/rte_eal_version.map         |  2 +-
 lib/librte_eal/windows/eal.c               | 16 +++---
 lib/librte_eal/windows/eal_thread.c        | 30 +++++------
 22 files changed, 223 insertions(+), 204 deletions(-)

diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 88d7d07613c0..9c11bb354e6d 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -25,25 +25,6 @@ Deprecation Notices
 * kvargs: The function ``rte_kvargs_process`` will get a new parameter
   for returning key match count. It will ease handling of no-match case.
 
-* eal: To be more inclusive in choice of naming, the DPDK project
-  will replace uses of master/slave in the API's and command line arguments.
-
-  References to master/slave in relation to lcore will be renamed
-  to initial/worker.  The function ``rte_get_master_lcore()``
-  will be renamed to ``rte_get_initial_lcore()``.
-  For the 20.11 release, both names will be present and the
-  old function will be marked with the deprecated tag.
-  The old function will be removed in a future version.
-
-  The iterator for worker lcores will also change:
-  ``RTE_LCORE_FOREACH_SLAVE`` will be replaced with
-  ``RTE_LCORE_FOREACH_WORKER``.
-
-  The ``master-lcore`` argument to testpmd will be replaced
-  with ``initial-lcore``. The old ``master-lcore`` argument
-  will produce a runtime notification in 20.11 release, and
-  be removed completely in a future release.
-
 * eal: The terms blacklist and whitelist to describe devices used
   by DPDK will be replaced in the 20.11 relase.
   This will apply to command line arguments as well as macros.
diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index 667e3d54ad44..4b9f5087c64e 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -93,6 +93,17 @@ API Changes
   and the function ``rte_rawdev_queue_conf_get()``
   from ``void`` to ``int`` allowing the return of error codes from drivers.
 
+* eal: Changed the function ``rte_get_master_lcore()`` is
+  replaced to ``rte_get_main_lcore()``. The old function is deprecated.
+
+  The iterator for worker lcores will also change:
+  ``RTE_LCORE_FOREACH_SLAVE`` will be replaced with
+  ``RTE_LCORE_FOREACH_WORKER``.
+
+  The ``master-lcore`` argument to testpmd will be replaced
+  with ``main-lcore``. The old ``master-lcore`` argument
+  will produce a runtime notification in 20.11 release, and
+  be removed completely in a future release.
 
 ABI Changes
 -----------
diff --git a/lib/librte_eal/common/eal_common_dynmem.c b/lib/librte_eal/common/eal_common_dynmem.c
index 614648d8a4de..48eca5854ebe 100644
--- a/lib/librte_eal/common/eal_common_dynmem.c
+++ b/lib/librte_eal/common/eal_common_dynmem.c
@@ -434,12 +434,12 @@ eal_dynmem_calc_num_pages_per_socket(
 		for (socket = 0; socket < RTE_MAX_NUMA_NODES && total_size != 0;
 				socket++) {
 			struct rte_config *cfg = rte_eal_get_configuration();
-			unsigned int master_lcore_socket;
+			unsigned int main_lcore_socket;
 
-			master_lcore_socket =
-				rte_lcore_to_socket_id(cfg->master_lcore);
+			main_lcore_socket =
+				rte_lcore_to_socket_id(cfg->main_lcore);
 
-			if (master_lcore_socket != socket)
+			if (main_lcore_socket != socket)
 				continue;
 
 			/* Update sizes */
diff --git a/lib/librte_eal/common/eal_common_launch.c b/lib/librte_eal/common/eal_common_launch.c
index cf52d717f68e..34f854ad80c8 100644
--- a/lib/librte_eal/common/eal_common_launch.c
+++ b/lib/librte_eal/common/eal_common_launch.c
@@ -21,55 +21,55 @@
  * Wait until a lcore finished its job.
  */
 int
-rte_eal_wait_lcore(unsigned slave_id)
+rte_eal_wait_lcore(unsigned worker_id)
 {
-	if (lcore_config[slave_id].state == WAIT)
+	if (lcore_config[worker_id].state == WAIT)
 		return 0;
 
-	while (lcore_config[slave_id].state != WAIT &&
-	       lcore_config[slave_id].state != FINISHED)
+	while (lcore_config[worker_id].state != WAIT &&
+	       lcore_config[worker_id].state != FINISHED)
 		rte_pause();
 
 	rte_rmb();
 
 	/* we are in finished state, go to wait state */
-	lcore_config[slave_id].state = WAIT;
-	return lcore_config[slave_id].ret;
+	lcore_config[worker_id].state = WAIT;
+	return lcore_config[worker_id].ret;
 }
 
 /*
- * Check that every SLAVE lcores are in WAIT state, then call
- * rte_eal_remote_launch() for all of them. If call_master is true
- * (set to CALL_MASTER), also call the function on the master lcore.
+ * Check that every WORKER lcores are in WAIT state, then call
+ * rte_eal_remote_launch() for all of them. If call_main is true
+ * (set to CALL_MAIN), also call the function on the main lcore.
  */
 int
 rte_eal_mp_remote_launch(int (*f)(void *), void *arg,
-			 enum rte_rmt_call_master_t call_master)
+			 enum rte_rmt_call_main_t call_main)
 {
 	int lcore_id;
-	int master = rte_get_master_lcore();
+	int main_lcore = rte_get_main_lcore();
 
 	/* check state of lcores */
-	RTE_LCORE_FOREACH_SLAVE(lcore_id) {
+	RTE_LCORE_FOREACH_WORKER(lcore_id) {
 		if (lcore_config[lcore_id].state != WAIT)
 			return -EBUSY;
 	}
 
 	/* send messages to cores */
-	RTE_LCORE_FOREACH_SLAVE(lcore_id) {
+	RTE_LCORE_FOREACH_WORKER(lcore_id) {
 		rte_eal_remote_launch(f, arg, lcore_id);
 	}
 
-	if (call_master == CALL_MASTER) {
-		lcore_config[master].ret = f(arg);
-		lcore_config[master].state = FINISHED;
+	if (call_main == CALL_MAIN) {
+		lcore_config[main_lcore].ret = f(arg);
+		lcore_config[main_lcore].state = FINISHED;
 	}
 
 	return 0;
 }
 
 /*
- * Return the state of the lcore identified by slave_id.
+ * Return the state of the lcore identified by worker_id.
  */
 enum rte_lcore_state_t
 rte_eal_get_lcore_state(unsigned lcore_id)
@@ -86,7 +86,7 @@ rte_eal_mp_wait_lcore(void)
 {
 	unsigned lcore_id;
 
-	RTE_LCORE_FOREACH_SLAVE(lcore_id) {
+	RTE_LCORE_FOREACH_WORKER(lcore_id) {
 		rte_eal_wait_lcore(lcore_id);
 	}
 }
diff --git a/lib/librte_eal/common/eal_common_lcore.c b/lib/librte_eal/common/eal_common_lcore.c
index d64569b3c758..66d6bad1a7d7 100644
--- a/lib/librte_eal/common/eal_common_lcore.c
+++ b/lib/librte_eal/common/eal_common_lcore.c
@@ -18,9 +18,9 @@
 #include "eal_private.h"
 #include "eal_thread.h"
 
-unsigned int rte_get_master_lcore(void)
+unsigned int rte_get_main_lcore(void)
 {
-	return rte_eal_get_configuration()->master_lcore;
+	return rte_eal_get_configuration()->main_lcore;
 }
 
 unsigned int rte_lcore_count(void)
@@ -93,7 +93,7 @@ int rte_lcore_is_enabled(unsigned int lcore_id)
 	return cfg->lcore_role[lcore_id] == ROLE_RTE;
 }
 
-unsigned int rte_get_next_lcore(unsigned int i, int skip_master, int wrap)
+unsigned int rte_get_next_lcore(unsigned int i, int skip_main, int wrap)
 {
 	i++;
 	if (wrap)
@@ -101,7 +101,7 @@ unsigned int rte_get_next_lcore(unsigned int i, int skip_master, int wrap)
 
 	while (i < RTE_MAX_LCORE) {
 		if (!rte_lcore_is_enabled(i) ||
-		    (skip_master && (i == rte_get_master_lcore()))) {
+		    (skip_main && (i == rte_get_main_lcore()))) {
 			i++;
 			if (wrap)
 				i %= RTE_MAX_LCORE;
diff --git a/lib/librte_eal/common/eal_common_options.c b/lib/librte_eal/common/eal_common_options.c
index a5426e12346a..649dc4f63b7b 100644
--- a/lib/librte_eal/common/eal_common_options.c
+++ b/lib/librte_eal/common/eal_common_options.c
@@ -81,6 +81,7 @@ eal_long_options[] = {
 	{OPT_TRACE_BUF_SIZE,    1, NULL, OPT_TRACE_BUF_SIZE_NUM   },
 	{OPT_TRACE_MODE,        1, NULL, OPT_TRACE_MODE_NUM       },
 	{OPT_MASTER_LCORE,      1, NULL, OPT_MASTER_LCORE_NUM     },
+	{OPT_MAIN_LCORE,        1, NULL, OPT_MAIN_LCORE_NUM       },
 	{OPT_MBUF_POOL_OPS_NAME, 1, NULL, OPT_MBUF_POOL_OPS_NAME_NUM},
 	{OPT_NO_HPET,           0, NULL, OPT_NO_HPET_NUM          },
 	{OPT_NO_HUGE,           0, NULL, OPT_NO_HUGE_NUM          },
@@ -144,7 +145,7 @@ struct device_option {
 static struct device_option_list devopt_list =
 TAILQ_HEAD_INITIALIZER(devopt_list);
 
-static int master_lcore_parsed;
+static int main_lcore_parsed;
 static int mem_parsed;
 static int core_parsed;
 
@@ -575,12 +576,12 @@ eal_parse_service_coremask(const char *coremask)
 		for (j = 0; j < BITS_PER_HEX && idx < RTE_MAX_LCORE;
 				j++, idx++) {
 			if ((1 << j) & val) {
-				/* handle master lcore already parsed */
+				/* handle main lcore already parsed */
 				uint32_t lcore = idx;
-				if (master_lcore_parsed &&
-						cfg->master_lcore == lcore) {
+				if (main_lcore_parsed &&
+						cfg->main_lcore == lcore) {
 					RTE_LOG(ERR, EAL,
-						"lcore %u is master lcore, cannot use as service core\n",
+						"lcore %u is main lcore, cannot use as service core\n",
 						idx);
 					return -1;
 				}
@@ -748,12 +749,12 @@ eal_parse_service_corelist(const char *corelist)
 				min = idx;
 			for (idx = min; idx <= max; idx++) {
 				if (cfg->lcore_role[idx] != ROLE_SERVICE) {
-					/* handle master lcore already parsed */
+					/* handle main lcore already parsed */
 					uint32_t lcore = idx;
-					if (cfg->master_lcore == lcore &&
-							master_lcore_parsed) {
+					if (cfg->main_lcore == lcore &&
+							main_lcore_parsed) {
 						RTE_LOG(ERR, EAL,
-							"Error: lcore %u is master lcore, cannot use as service core\n",
+							"Error: lcore %u is main lcore, cannot use as service core\n",
 							idx);
 						return -1;
 					}
@@ -836,23 +837,23 @@ eal_parse_corelist(const char *corelist, int *cores)
 	return 0;
 }
 
-/* Changes the lcore id of the master thread */
+/* Changes the lcore id of the main thread */
 static int
-eal_parse_master_lcore(const char *arg)
+eal_parse_main_lcore(const char *arg)
 {
 	char *parsing_end;
 	struct rte_config *cfg = rte_eal_get_configuration();
 
 	errno = 0;
-	cfg->master_lcore = (uint32_t) strtol(arg, &parsing_end, 0);
+	cfg->main_lcore = (uint32_t) strtol(arg, &parsing_end, 0);
 	if (errno || parsing_end[0] != 0)
 		return -1;
-	if (cfg->master_lcore >= RTE_MAX_LCORE)
+	if (cfg->main_lcore >= RTE_MAX_LCORE)
 		return -1;
-	master_lcore_parsed = 1;
+	main_lcore_parsed = 1;
 
 	/* ensure master core is not used as service core */
-	if (lcore_config[cfg->master_lcore].core_role == ROLE_SERVICE) {
+	if (lcore_config[cfg->main_lcore].core_role == ROLE_SERVICE) {
 		RTE_LOG(ERR, EAL,
 			"Error: Master lcore is used as a service core\n");
 		return -1;
@@ -1593,7 +1594,12 @@ eal_parse_common_option(int opt, const char *optarg,
 		break;
 
 	case OPT_MASTER_LCORE_NUM:
-		if (eal_parse_master_lcore(optarg) < 0) {
+		fprintf(stderr,
+			"option --" OPT_MASTER_LCORE
+			" is deprecated use " OPT_MAIN_LCORE "\n");
+		/* fallthrough */
+	case OPT_MAIN_LCORE_NUM:
+		if (eal_parse_main_lcore(optarg) < 0) {
 			RTE_LOG(ERR, EAL, "invalid parameter for --"
 					OPT_MASTER_LCORE "\n");
 			return -1;
@@ -1763,9 +1769,9 @@ compute_ctrl_threads_cpuset(struct internal_config *internal_cfg)
 
 	RTE_CPU_AND(cpuset, cpuset, &default_set);
 
-	/* if no remaining cpu, use master lcore cpu affinity */
+	/* if no remaining cpu, use main lcore cpu affinity */
 	if (!CPU_COUNT(cpuset)) {
-		memcpy(cpuset, &lcore_config[rte_get_master_lcore()].cpuset,
+		memcpy(cpuset, &lcore_config[rte_get_main_lcore()].cpuset,
 			sizeof(*cpuset));
 	}
 }
@@ -1797,12 +1803,12 @@ eal_adjust_config(struct internal_config *internal_cfg)
 	if (internal_conf->process_type == RTE_PROC_AUTO)
 		internal_conf->process_type = eal_proc_type_detect();
 
-	/* default master lcore is the first one */
-	if (!master_lcore_parsed) {
-		cfg->master_lcore = rte_get_next_lcore(-1, 0, 0);
-		if (cfg->master_lcore >= RTE_MAX_LCORE)
+	/* default main lcore is the first one */
+	if (!main_lcore_parsed) {
+		cfg->main_lcore = rte_get_next_lcore(-1, 0, 0);
+		if (cfg->main_lcore >= RTE_MAX_LCORE)
 			return -1;
-		lcore_config[cfg->master_lcore].core_role = ROLE_RTE;
+		lcore_config[cfg->main_lcore].core_role = ROLE_RTE;
 	}
 
 	compute_ctrl_threads_cpuset(internal_cfg);
@@ -1822,7 +1828,7 @@ eal_check_common_options(struct internal_config *internal_cfg)
 	const struct internal_config *internal_conf =
 		eal_get_internal_configuration();
 
-	if (cfg->lcore_role[cfg->master_lcore] != ROLE_RTE) {
+	if (cfg->lcore_role[cfg->main_lcore] != ROLE_RTE) {
 		RTE_LOG(ERR, EAL, "Master lcore is not enabled for DPDK\n");
 		return -1;
 	}
diff --git a/lib/librte_eal/common/eal_options.h b/lib/librte_eal/common/eal_options.h
index 89769d48b487..d363228a7a25 100644
--- a/lib/librte_eal/common/eal_options.h
+++ b/lib/librte_eal/common/eal_options.h
@@ -43,6 +43,8 @@ enum {
 	OPT_TRACE_BUF_SIZE_NUM,
 #define OPT_TRACE_MODE        "trace-mode"
 	OPT_TRACE_MODE_NUM,
+#define OPT_MAIN_LCORE        "main-lcore"
+	OPT_MAIN_LCORE_NUM,
 #define OPT_MASTER_LCORE      "master-lcore"
 	OPT_MASTER_LCORE_NUM,
 #define OPT_MBUF_POOL_OPS_NAME "mbuf-pool-ops-name"
diff --git a/lib/librte_eal/common/eal_private.h b/lib/librte_eal/common/eal_private.h
index a6a6381567f4..4684c4c7df19 100644
--- a/lib/librte_eal/common/eal_private.h
+++ b/lib/librte_eal/common/eal_private.h
@@ -20,8 +20,8 @@
  */
 struct lcore_config {
 	pthread_t thread_id;       /**< pthread identifier */
-	int pipe_master2slave[2];  /**< communication pipe with master */
-	int pipe_slave2master[2];  /**< communication pipe with master */
+	int pipe_main2worker[2];   /**< communication pipe with main */
+	int pipe_worker2main[2];   /**< communication pipe with main */
 
 	lcore_function_t * volatile f; /**< function to call */
 	void * volatile arg;       /**< argument of function */
@@ -42,7 +42,7 @@ extern struct lcore_config lcore_config[RTE_MAX_LCORE];
  * The global RTE configuration structure.
  */
 struct rte_config {
-	uint32_t master_lcore;       /**< Id of the master lcore */
+	uint32_t main_lcore;         /**< Id of the main lcore */
 	uint32_t lcore_count;        /**< Number of available logical cores. */
 	uint32_t numa_node_count;    /**< Number of detected NUMA nodes. */
 	uint32_t numa_nodes[RTE_MAX_NUMA_NODES]; /**< List of detected NUMA nodes. */
diff --git a/lib/librte_eal/common/rte_random.c b/lib/librte_eal/common/rte_random.c
index b7a089ac4fe0..8d88aca26299 100644
--- a/lib/librte_eal/common/rte_random.c
+++ b/lib/librte_eal/common/rte_random.c
@@ -122,7 +122,7 @@ struct rte_rand_state *__rte_rand_get_state(void)
 	lcore_id = rte_lcore_id();
 
 	if (unlikely(lcore_id == LCORE_ID_ANY))
-		lcore_id = rte_get_master_lcore();
+		lcore_id = rte_get_main_lcore();
 
 	return &rand_states[lcore_id];
 }
diff --git a/lib/librte_eal/common/rte_service.c b/lib/librte_eal/common/rte_service.c
index 6a0e0ff65d14..626d2409ad57 100644
--- a/lib/librte_eal/common/rte_service.c
+++ b/lib/librte_eal/common/rte_service.c
@@ -106,7 +106,7 @@ rte_service_init(void)
 	struct rte_config *cfg = rte_eal_get_configuration();
 	for (i = 0; i < RTE_MAX_LCORE; i++) {
 		if (lcore_config[i].core_role == ROLE_SERVICE) {
-			if ((unsigned int)i == cfg->master_lcore)
+			if ((unsigned int)i == cfg->main_lcore)
 				continue;
 			rte_service_lcore_add(i);
 			count++;
diff --git a/lib/librte_eal/freebsd/eal.c b/lib/librte_eal/freebsd/eal.c
index 798add0b5919..f7bdd8caabc3 100644
--- a/lib/librte_eal/freebsd/eal.c
+++ b/lib/librte_eal/freebsd/eal.c
@@ -626,10 +626,10 @@ eal_check_mem_on_local_socket(void)
 	int socket_id;
 	const struct rte_config *config = rte_eal_get_configuration();
 
-	socket_id = rte_lcore_to_socket_id(config->master_lcore);
+	socket_id = rte_lcore_to_socket_id(config->main_lcore);
 
 	if (rte_memseg_list_walk(check_socket, &socket_id) == 0)
-		RTE_LOG(WARNING, EAL, "WARNING: Master core has no memory on local socket!\n");
+		RTE_LOG(WARNING, EAL, "WARNING: Main core has no memory on local socket!\n");
 }
 
 
@@ -850,29 +850,29 @@ rte_eal_init(int argc, char **argv)
 	eal_check_mem_on_local_socket();
 
 	if (pthread_setaffinity_np(pthread_self(), sizeof(rte_cpuset_t),
-			&lcore_config[config->master_lcore].cpuset) != 0) {
+			&lcore_config[config->main_lcore].cpuset) != 0) {
 		rte_eal_init_alert("Cannot set affinity");
 		rte_errno = EINVAL;
 		return -1;
 	}
-	__rte_thread_init(config->master_lcore,
-		&lcore_config[config->master_lcore].cpuset);
+	__rte_thread_init(config->main_lcore,
+		&lcore_config[config->main_lcore].cpuset);
 
 	ret = eal_thread_dump_current_affinity(cpuset, sizeof(cpuset));
 
-	RTE_LOG(DEBUG, EAL, "Master lcore %u is ready (tid=%p;cpuset=[%s%s])\n",
-		config->master_lcore, thread_id, cpuset,
+	RTE_LOG(DEBUG, EAL, "Main lcore %u is ready (tid=%p;cpuset=[%s%s])\n",
+		config->main_lcore, thread_id, cpuset,
 		ret == 0 ? "" : "...");
 
-	RTE_LCORE_FOREACH_SLAVE(i) {
+	RTE_LCORE_FOREACH_WORKER(i) {
 
 		/*
-		 * create communication pipes between master thread
+		 * create communication pipes between main thread
 		 * and children
 		 */
-		if (pipe(lcore_config[i].pipe_master2slave) < 0)
+		if (pipe(lcore_config[i].pipe_main2worker) < 0)
 			rte_panic("Cannot create pipe\n");
-		if (pipe(lcore_config[i].pipe_slave2master) < 0)
+		if (pipe(lcore_config[i].pipe_worker2main) < 0)
 			rte_panic("Cannot create pipe\n");
 
 		lcore_config[i].state = WAIT;
@@ -885,7 +885,7 @@ rte_eal_init(int argc, char **argv)
 
 		/* Set thread_name for aid in debugging. */
 		snprintf(thread_name, sizeof(thread_name),
-				"lcore-slave-%d", i);
+				"lcore-worker-%d", i);
 		rte_thread_setname(lcore_config[i].thread_id, thread_name);
 
 		ret = pthread_setaffinity_np(lcore_config[i].thread_id,
@@ -895,10 +895,10 @@ rte_eal_init(int argc, char **argv)
 	}
 
 	/*
-	 * Launch a dummy function on all slave lcores, so that master lcore
+	 * Launch a dummy function on all worker lcores, so that main lcore
 	 * knows they are all ready when this function returns.
 	 */
-	rte_eal_mp_remote_launch(sync_func, NULL, SKIP_MASTER);
+	rte_eal_mp_remote_launch(sync_func, NULL, SKIP_MAIN);
 	rte_eal_mp_wait_lcore();
 
 	/* initialize services so vdevs register service during bus_probe. */
diff --git a/lib/librte_eal/freebsd/eal_thread.c b/lib/librte_eal/freebsd/eal_thread.c
index 99b5fefc4c5b..1dce9b04f24a 100644
--- a/lib/librte_eal/freebsd/eal_thread.c
+++ b/lib/librte_eal/freebsd/eal_thread.c
@@ -26,35 +26,35 @@
 #include "eal_thread.h"
 
 /*
- * Send a message to a slave lcore identified by slave_id to call a
+ * Send a message to a worker lcore identified by worker_id to call a
  * function f with argument arg. Once the execution is done, the
  * remote lcore switch in FINISHED state.
  */
 int
-rte_eal_remote_launch(int (*f)(void *), void *arg, unsigned slave_id)
+rte_eal_remote_launch(int (*f)(void *), void *arg, unsigned worker_id)
 {
 	int n;
 	char c = 0;
-	int m2s = lcore_config[slave_id].pipe_master2slave[1];
-	int s2m = lcore_config[slave_id].pipe_slave2master[0];
+	int m2w = lcore_config[worker_id].pipe_main2worker[1];
+	int w2m = lcore_config[worker_id].pipe_worker2main[0];
 	int rc = -EBUSY;
 
-	if (lcore_config[slave_id].state != WAIT)
+	if (lcore_config[worker_id].state != WAIT)
 		goto finish;
 
-	lcore_config[slave_id].f = f;
-	lcore_config[slave_id].arg = arg;
+	lcore_config[worker_id].f = f;
+	lcore_config[worker_id].arg = arg;
 
 	/* send message */
 	n = 0;
 	while (n == 0 || (n < 0 && errno == EINTR))
-		n = write(m2s, &c, 1);
+		n = write(m2w, &c, 1);
 	if (n < 0)
 		rte_panic("cannot write on configuration pipe\n");
 
 	/* wait ack */
 	do {
-		n = read(s2m, &c, 1);
+		n = read(w2m, &c, 1);
 	} while (n < 0 && errno == EINTR);
 
 	if (n <= 0)
@@ -62,7 +62,7 @@ rte_eal_remote_launch(int (*f)(void *), void *arg, unsigned slave_id)
 
 	rc = 0;
 finish:
-	rte_eal_trace_thread_remote_launch(f, arg, slave_id, rc);
+	rte_eal_trace_thread_remote_launch(f, arg, worker_id, rc);
 	return rc;
 }
 
@@ -74,21 +74,21 @@ eal_thread_loop(__rte_unused void *arg)
 	int n, ret;
 	unsigned lcore_id;
 	pthread_t thread_id;
-	int m2s, s2m;
+	int m2w, w2m;
 	char cpuset[RTE_CPU_AFFINITY_STR_LEN];
 
 	thread_id = pthread_self();
 
 	/* retrieve our lcore_id from the configuration structure */
-	RTE_LCORE_FOREACH_SLAVE(lcore_id) {
+	RTE_LCORE_FOREACH_WORKER(lcore_id) {
 		if (thread_id == lcore_config[lcore_id].thread_id)
 			break;
 	}
 	if (lcore_id == RTE_MAX_LCORE)
 		rte_panic("cannot retrieve lcore id\n");
 
-	m2s = lcore_config[lcore_id].pipe_master2slave[0];
-	s2m = lcore_config[lcore_id].pipe_slave2master[1];
+	m2w = lcore_config[lcore_id].pipe_main2worker[0];
+	w2m = lcore_config[lcore_id].pipe_worker2main[1];
 
 	__rte_thread_init(lcore_id, &lcore_config[lcore_id].cpuset);
 
@@ -104,7 +104,7 @@ eal_thread_loop(__rte_unused void *arg)
 
 		/* wait command */
 		do {
-			n = read(m2s, &c, 1);
+			n = read(m2w, &c, 1);
 		} while (n < 0 && errno == EINTR);
 
 		if (n <= 0)
@@ -115,7 +115,7 @@ eal_thread_loop(__rte_unused void *arg)
 		/* send ack */
 		n = 0;
 		while (n == 0 || (n < 0 && errno == EINTR))
-			n = write(s2m, &c, 1);
+			n = write(w2m, &c, 1);
 		if (n < 0)
 			rte_panic("cannot write on configuration pipe\n");
 
diff --git a/lib/librte_eal/include/rte_eal.h b/lib/librte_eal/include/rte_eal.h
index ddcf6a2e7a1a..f8f0d74b476c 100644
--- a/lib/librte_eal/include/rte_eal.h
+++ b/lib/librte_eal/include/rte_eal.h
@@ -65,11 +65,11 @@ int rte_eal_iopl_init(void);
 /**
  * Initialize the Environment Abstraction Layer (EAL).
  *
- * This function is to be executed on the MASTER lcore only, as soon
+ * This function is to be executed on the MAIN lcore only, as soon
  * as possible in the application's main() function.
  *
  * The function finishes the initialization process before main() is called.
- * It puts the SLAVE lcores in the WAIT state.
+ * It puts the WORKER lcores in the WAIT state.
  *
  * When the multi-partition feature is supported, depending on the
  * configuration (if CONFIG_RTE_EAL_MAIN_PARTITION is disabled), this
diff --git a/lib/librte_eal/include/rte_eal_trace.h b/lib/librte_eal/include/rte_eal_trace.h
index 6b1a813c7b1b..dd4e30e7fe5c 100644
--- a/lib/librte_eal/include/rte_eal_trace.h
+++ b/lib/librte_eal/include/rte_eal_trace.h
@@ -258,10 +258,10 @@ RTE_TRACE_POINT(
 RTE_TRACE_POINT(
 	rte_eal_trace_thread_remote_launch,
 	RTE_TRACE_POINT_ARGS(int (*f)(void *), void *arg,
-		unsigned int slave_id, int rc),
+		unsigned int worker_id, int rc),
 	rte_trace_point_emit_ptr(f);
 	rte_trace_point_emit_ptr(arg);
-	rte_trace_point_emit_u32(slave_id);
+	rte_trace_point_emit_u32(worker_id);
 	rte_trace_point_emit_int(rc);
 )
 RTE_TRACE_POINT(
diff --git a/lib/librte_eal/include/rte_launch.h b/lib/librte_eal/include/rte_launch.h
index 06a671752ace..acba8a779faf 100644
--- a/lib/librte_eal/include/rte_launch.h
+++ b/lib/librte_eal/include/rte_launch.h
@@ -32,12 +32,12 @@ typedef int (lcore_function_t)(void *);
 /**
  * Launch a function on another lcore.
  *
- * To be executed on the MASTER lcore only.
+ * To be executed on the MAIN lcore only.
  *
- * Sends a message to a slave lcore (identified by the slave_id) that
+ * Sends a message to a worker lcore (identified by the worker_id) that
  * is in the WAIT state (this is true after the first call to
  * rte_eal_init()). This can be checked by first calling
- * rte_eal_wait_lcore(slave_id).
+ * rte_eal_wait_lcore(worker_id).
  *
  * When the remote lcore receives the message, it switches to
  * the RUNNING state, then calls the function f with argument arg. Once the
@@ -45,7 +45,7 @@ typedef int (lcore_function_t)(void *);
  * the return value of f is stored in a local variable to be read using
  * rte_eal_wait_lcore().
  *
- * The MASTER lcore returns as soon as the message is sent and knows
+ * The MAIN lcore returns as soon as the message is sent and knows
  * nothing about the completion of f.
  *
  * Note: This function is not designed to offer optimum
@@ -56,37 +56,40 @@ typedef int (lcore_function_t)(void *);
  *   The function to be called.
  * @param arg
  *   The argument for the function.
- * @param slave_id
+ * @param worker_id
  *   The identifier of the lcore on which the function should be executed.
  * @return
  *   - 0: Success. Execution of function f started on the remote lcore.
  *   - (-EBUSY): The remote lcore is not in a WAIT state.
  */
-int rte_eal_remote_launch(lcore_function_t *f, void *arg, unsigned slave_id);
+int rte_eal_remote_launch(lcore_function_t *f, void *arg, unsigned worker_id);
 
 /**
- * This enum indicates whether the master core must execute the handler
+ * This enum indicates whether the main core must execute the handler
  * launched on all logical cores.
  */
-enum rte_rmt_call_master_t {
-	SKIP_MASTER = 0, /**< lcore handler not executed by master core. */
-	CALL_MASTER,     /**< lcore handler executed by master core. */
+enum rte_rmt_call_main_t {
+	SKIP_MAIN = 0, /**< lcore handler not executed by main core. */
+	CALL_MAIN,     /**< lcore handler executed by main core. */
 };
 
+#define SKIP_MASTER 	RTE_DEPRECATED(SKIP_MASTER, SKIP_MAIN)	SKIP_MAIN
+#define CALL_MASTER 	RTE_DEPRECATED(CALL_MASTER, CALL_MAIN)	CALL_MAIN
+
 /**
  * Launch a function on all lcores.
  *
- * Check that each SLAVE lcore is in a WAIT state, then call
+ * Check that each WORKER lcore is in a WAIT state, then call
  * rte_eal_remote_launch() for each lcore.
  *
  * @param f
  *   The function to be called.
  * @param arg
  *   The argument for the function.
- * @param call_master
- *   If call_master set to SKIP_MASTER, the MASTER lcore does not call
- *   the function. If call_master is set to CALL_MASTER, the function
- *   is also called on master before returning. In any case, the master
+ * @param call_main
+ *   If call_main set to SKIP_MAIN, the MAIN lcore does not call
+ *   the function. If call_main is set to CALL_MAIN, the function
+ *   is also called on main before returning. In any case, the main
  *   lcore returns as soon as it finished its job and knows nothing
  *   about the completion of f on the other lcores.
  * @return
@@ -95,49 +98,49 @@ enum rte_rmt_call_master_t {
  *     case, no message is sent to any of the lcores.
  */
 int rte_eal_mp_remote_launch(lcore_function_t *f, void *arg,
-			     enum rte_rmt_call_master_t call_master);
+			     enum rte_rmt_call_main_t call_main);
 
 /**
- * Get the state of the lcore identified by slave_id.
+ * Get the state of the lcore identified by worker_id.
  *
- * To be executed on the MASTER lcore only.
+ * To be executed on the MAIN lcore only.
  *
- * @param slave_id
+ * @param worker_id
  *   The identifier of the lcore.
  * @return
  *   The state of the lcore.
  */
-enum rte_lcore_state_t rte_eal_get_lcore_state(unsigned slave_id);
+enum rte_lcore_state_t rte_eal_get_lcore_state(unsigned worker_id);
 
 /**
  * Wait until an lcore finishes its job.
  *
- * To be executed on the MASTER lcore only.
+ * To be executed on the MAIN lcore only.
  *
- * If the slave lcore identified by the slave_id is in a FINISHED state,
+ * If the worker lcore identified by the worker_id is in a FINISHED state,
  * switch to the WAIT state. If the lcore is in RUNNING state, wait until
  * the lcore finishes its job and moves to the FINISHED state.
  *
- * @param slave_id
+ * @param worker_id
  *   The identifier of the lcore.
  * @return
- *   - 0: If the lcore identified by the slave_id is in a WAIT state.
+ *   - 0: If the lcore identified by the worker_id is in a WAIT state.
  *   - The value that was returned by the previous remote launch
- *     function call if the lcore identified by the slave_id was in a
+ *     function call if the lcore identified by the worker_id was in a
  *     FINISHED or RUNNING state. In this case, it changes the state
  *     of the lcore to WAIT.
  */
-int rte_eal_wait_lcore(unsigned slave_id);
+int rte_eal_wait_lcore(unsigned worker_id);
 
 /**
  * Wait until all lcores finish their jobs.
  *
- * To be executed on the MASTER lcore only. Issue an
+ * To be executed on the MAIN lcore only. Issue an
  * rte_eal_wait_lcore() for every lcore. The return values are
  * ignored.
  *
  * After a call to rte_eal_mp_wait_lcore(), the caller can assume
- * that all slave lcores are in a WAIT state.
+ * that all worker lcores are in a WAIT state.
  */
 void rte_eal_mp_wait_lcore(void);
 
diff --git a/lib/librte_eal/include/rte_lcore.h b/lib/librte_eal/include/rte_lcore.h
index b8b64a625200..b0b6f4c643b0 100644
--- a/lib/librte_eal/include/rte_lcore.h
+++ b/lib/librte_eal/include/rte_lcore.h
@@ -78,12 +78,24 @@ rte_lcore_id(void)
 }
 
 /**
- * Get the id of the master lcore
+ * Get the id of the main lcore
  *
  * @return
- *   the id of the master lcore
+ *   the id of the main lcore
  */
-unsigned int rte_get_master_lcore(void);
+unsigned int rte_get_main_lcore(void);
+
+/**
+ * Deprecated function the id of the main lcore
+ *
+ * @return
+ *   the id of the main lcore
+ */
+__rte_deprecated
+static inline unsigned int rte_get_master_lcore(void)
+{
+	return rte_get_main_lcore();
+}
 
 /**
  * Return the number of execution units (lcores) on the system.
@@ -203,32 +215,36 @@ int rte_lcore_is_enabled(unsigned int lcore_id);
  *
  * @param i
  *   The current lcore (reference).
- * @param skip_master
- *   If true, do not return the ID of the master lcore.
+ * @param skip_main
+ *   If true, do not return the ID of the main lcore.
  * @param wrap
  *   If true, go back to 0 when RTE_MAX_LCORE is reached; otherwise,
  *   return RTE_MAX_LCORE.
  * @return
  *   The next lcore_id or RTE_MAX_LCORE if not found.
  */
-unsigned int rte_get_next_lcore(unsigned int i, int skip_master, int wrap);
+unsigned int rte_get_next_lcore(unsigned int i, int skip_main, int wrap);
 
 /**
  * Macro to browse all running lcores.
  */
 #define RTE_LCORE_FOREACH(i)						\
 	for (i = rte_get_next_lcore(-1, 0, 0);				\
-	     i<RTE_MAX_LCORE;						\
+	     i < RTE_MAX_LCORE;						\
 	     i = rte_get_next_lcore(i, 0, 0))
 
 /**
- * Macro to browse all running lcores except the master lcore.
+ * Macro to browse all running lcores except the main lcore.
  */
-#define RTE_LCORE_FOREACH_SLAVE(i)					\
+#define RTE_LCORE_FOREACH_WORKER(i)					\
 	for (i = rte_get_next_lcore(-1, 1, 0);				\
-	     i<RTE_MAX_LCORE;						\
+	     i < RTE_MAX_LCORE;						\
 	     i = rte_get_next_lcore(i, 1, 0))
 
+#define RTE_LCORE_FOREACH_SLAVE(l)					\
+	RTE_DEPRECATED(RTE_LCORE_FOREACH_SLAVE, RTE_LCORE_FOREACH_WORKER) \
+	RTE_LCORE_FOREACH_WORKER(l)
+
 /**
  * Callback prototype for initializing lcores.
  *
diff --git a/lib/librte_eal/linux/eal.c b/lib/librte_eal/linux/eal.c
index 0960f01d0516..d8b1948585dc 100644
--- a/lib/librte_eal/linux/eal.c
+++ b/lib/librte_eal/linux/eal.c
@@ -884,10 +884,10 @@ eal_check_mem_on_local_socket(void)
 	int socket_id;
 	const struct rte_config *config = rte_eal_get_configuration();
 
-	socket_id = rte_lcore_to_socket_id(config->master_lcore);
+	socket_id = rte_lcore_to_socket_id(config->main_lcore);
 
 	if (rte_memseg_list_walk(check_socket, &socket_id) == 0)
-		RTE_LOG(WARNING, EAL, "WARNING: Master core has no memory on local socket!\n");
+		RTE_LOG(WARNING, EAL, "WARNING: Main core has no memory on local socket!\n");
 }
 
 static int
@@ -1214,28 +1214,28 @@ rte_eal_init(int argc, char **argv)
 	eal_check_mem_on_local_socket();
 
 	if (pthread_setaffinity_np(pthread_self(), sizeof(rte_cpuset_t),
-			&lcore_config[config->master_lcore].cpuset) != 0) {
+			&lcore_config[config->main_lcore].cpuset) != 0) {
 		rte_eal_init_alert("Cannot set affinity");
 		rte_errno = EINVAL;
 		return -1;
 	}
-	__rte_thread_init(config->master_lcore,
-		&lcore_config[config->master_lcore].cpuset);
+	__rte_thread_init(config->main_lcore,
+		&lcore_config[config->main_lcore].cpuset);
 
 	ret = eal_thread_dump_current_affinity(cpuset, sizeof(cpuset));
-	RTE_LOG(DEBUG, EAL, "Master lcore %u is ready (tid=%zx;cpuset=[%s%s])\n",
-		config->master_lcore, (uintptr_t)thread_id, cpuset,
+	RTE_LOG(DEBUG, EAL, "Main lcore %u is ready (tid=%zx;cpuset=[%s%s])\n",
+		config->main_lcore, (uintptr_t)thread_id, cpuset,
 		ret == 0 ? "" : "...");
 
-	RTE_LCORE_FOREACH_SLAVE(i) {
+	RTE_LCORE_FOREACH_WORKER(i) {
 
 		/*
-		 * create communication pipes between master thread
+		 * create communication pipes between main thread
 		 * and children
 		 */
-		if (pipe(lcore_config[i].pipe_master2slave) < 0)
+		if (pipe(lcore_config[i].pipe_main2worker) < 0)
 			rte_panic("Cannot create pipe\n");
-		if (pipe(lcore_config[i].pipe_slave2master) < 0)
+		if (pipe(lcore_config[i].pipe_worker2main) < 0)
 			rte_panic("Cannot create pipe\n");
 
 		lcore_config[i].state = WAIT;
@@ -1248,7 +1248,7 @@ rte_eal_init(int argc, char **argv)
 
 		/* Set thread_name for aid in debugging. */
 		snprintf(thread_name, sizeof(thread_name),
-			"lcore-slave-%d", i);
+			"lcore-worker-%d", i);
 		ret = rte_thread_setname(lcore_config[i].thread_id,
 						thread_name);
 		if (ret != 0)
@@ -1262,10 +1262,10 @@ rte_eal_init(int argc, char **argv)
 	}
 
 	/*
-	 * Launch a dummy function on all slave lcores, so that master lcore
+	 * Launch a dummy function on all worker lcores, so that main lcore
 	 * knows they are all ready when this function returns.
 	 */
-	rte_eal_mp_remote_launch(sync_func, NULL, SKIP_MASTER);
+	rte_eal_mp_remote_launch(sync_func, NULL, SKIP_MAIN);
 	rte_eal_mp_wait_lcore();
 
 	/* initialize services so vdevs register service during bus_probe. */
diff --git a/lib/librte_eal/linux/eal_memory.c b/lib/librte_eal/linux/eal_memory.c
index 89725291b0ce..d7349544a13a 100644
--- a/lib/librte_eal/linux/eal_memory.c
+++ b/lib/librte_eal/linux/eal_memory.c
@@ -1751,7 +1751,7 @@ memseg_primary_init_32(void)
 	for (i = 0; i < rte_socket_count(); i++) {
 		int hp_sizes = (int) internal_conf->num_hugepage_sizes;
 		uint64_t max_socket_mem, cur_socket_mem;
-		unsigned int master_lcore_socket;
+		unsigned int main_lcore_socket;
 		struct rte_config *cfg = rte_eal_get_configuration();
 		bool skip;
 
@@ -1767,10 +1767,10 @@ memseg_primary_init_32(void)
 		skip = active_sockets != 0 &&
 				internal_conf->socket_mem[socket_id] == 0;
 		/* ...or if we didn't specifically request memory on *any*
-		 * socket, and this is not master lcore
+		 * socket, and this is not main lcore
 		 */
-		master_lcore_socket = rte_lcore_to_socket_id(cfg->master_lcore);
-		skip |= active_sockets == 0 && socket_id != master_lcore_socket;
+		main_lcore_socket = rte_lcore_to_socket_id(cfg->main_lcore);
+		skip |= active_sockets == 0 && socket_id != main_lcore_socket;
 
 		if (skip) {
 			RTE_LOG(DEBUG, EAL, "Will not preallocate memory on socket %u\n",
diff --git a/lib/librte_eal/linux/eal_thread.c b/lib/librte_eal/linux/eal_thread.c
index 068de2559555..bed1d513c841 100644
--- a/lib/librte_eal/linux/eal_thread.c
+++ b/lib/librte_eal/linux/eal_thread.c
@@ -26,35 +26,35 @@
 #include "eal_thread.h"
 
 /*
- * Send a message to a slave lcore identified by slave_id to call a
+ * Send a message to a worker lcore identified by worker_id to call a
  * function f with argument arg. Once the execution is done, the
  * remote lcore switch in FINISHED state.
  */
 int
-rte_eal_remote_launch(int (*f)(void *), void *arg, unsigned slave_id)
+rte_eal_remote_launch(int (*f)(void *), void *arg, unsigned worker_id)
 {
 	int n;
 	char c = 0;
-	int m2s = lcore_config[slave_id].pipe_master2slave[1];
-	int s2m = lcore_config[slave_id].pipe_slave2master[0];
+	int m2w = lcore_config[worker_id].pipe_main2worker[1];
+	int w2m = lcore_config[worker_id].pipe_worker2main[0];
 	int rc = -EBUSY;
 
-	if (lcore_config[slave_id].state != WAIT)
+	if (lcore_config[worker_id].state != WAIT)
 		goto finish;
 
-	lcore_config[slave_id].f = f;
-	lcore_config[slave_id].arg = arg;
+	lcore_config[worker_id].f = f;
+	lcore_config[worker_id].arg = arg;
 
 	/* send message */
 	n = 0;
 	while (n == 0 || (n < 0 && errno == EINTR))
-		n = write(m2s, &c, 1);
+		n = write(m2w, &c, 1);
 	if (n < 0)
 		rte_panic("cannot write on configuration pipe\n");
 
 	/* wait ack */
 	do {
-		n = read(s2m, &c, 1);
+		n = read(w2m, &c, 1);
 	} while (n < 0 && errno == EINTR);
 
 	if (n <= 0)
@@ -62,7 +62,7 @@ rte_eal_remote_launch(int (*f)(void *), void *arg, unsigned slave_id)
 
 	rc = 0;
 finish:
-	rte_eal_trace_thread_remote_launch(f, arg, slave_id, rc);
+	rte_eal_trace_thread_remote_launch(f, arg, worker_id, rc);
 	return rc;
 }
 
@@ -74,21 +74,21 @@ eal_thread_loop(__rte_unused void *arg)
 	int n, ret;
 	unsigned lcore_id;
 	pthread_t thread_id;
-	int m2s, s2m;
+	int m2w, w2m;
 	char cpuset[RTE_CPU_AFFINITY_STR_LEN];
 
 	thread_id = pthread_self();
 
 	/* retrieve our lcore_id from the configuration structure */
-	RTE_LCORE_FOREACH_SLAVE(lcore_id) {
+	RTE_LCORE_FOREACH_WORKER(lcore_id) {
 		if (thread_id == lcore_config[lcore_id].thread_id)
 			break;
 	}
 	if (lcore_id == RTE_MAX_LCORE)
 		rte_panic("cannot retrieve lcore id\n");
 
-	m2s = lcore_config[lcore_id].pipe_master2slave[0];
-	s2m = lcore_config[lcore_id].pipe_slave2master[1];
+	m2w = lcore_config[lcore_id].pipe_main2worker[0];
+	w2m = lcore_config[lcore_id].pipe_worker2main[1];
 
 	__rte_thread_init(lcore_id, &lcore_config[lcore_id].cpuset);
 
@@ -104,7 +104,7 @@ eal_thread_loop(__rte_unused void *arg)
 
 		/* wait command */
 		do {
-			n = read(m2s, &c, 1);
+			n = read(m2w, &c, 1);
 		} while (n < 0 && errno == EINTR);
 
 		if (n <= 0)
@@ -115,7 +115,7 @@ eal_thread_loop(__rte_unused void *arg)
 		/* send ack */
 		n = 0;
 		while (n == 0 || (n < 0 && errno == EINTR))
-			n = write(s2m, &c, 1);
+			n = write(w2m, &c, 1);
 		if (n < 0)
 			rte_panic("cannot write on configuration pipe\n");
 
diff --git a/lib/librte_eal/rte_eal_version.map b/lib/librte_eal/rte_eal_version.map
index 0b18e2ef85f9..8ff6fe7c3eaf 100644
--- a/lib/librte_eal/rte_eal_version.map
+++ b/lib/librte_eal/rte_eal_version.map
@@ -74,7 +74,7 @@ DPDK_21 {
 	rte_free;
 	rte_get_hpet_cycles;
 	rte_get_hpet_hz;
-	rte_get_master_lcore;
+	rte_get_main_lcore;
 	rte_get_next_lcore;
 	rte_get_tsc_hz;
 	rte_hexdump;
diff --git a/lib/librte_eal/windows/eal.c b/lib/librte_eal/windows/eal.c
index bc48f27ab39a..cbca20956210 100644
--- a/lib/librte_eal/windows/eal.c
+++ b/lib/librte_eal/windows/eal.c
@@ -350,8 +350,8 @@ rte_eal_init(int argc, char **argv)
 		return -1;
 	}
 
-	__rte_thread_init(config->master_lcore,
-		&lcore_config[config->master_lcore].cpuset);
+	__rte_thread_init(config->main_lcore,
+		&lcore_config[config->main_lcore].cpuset);
 
 	bscan = rte_bus_scan();
 	if (bscan < 0) {
@@ -360,16 +360,16 @@ rte_eal_init(int argc, char **argv)
 		return -1;
 	}
 
-	RTE_LCORE_FOREACH_SLAVE(i) {
+	RTE_LCORE_FOREACH_WORKER(i) {
 
 		/*
-		 * create communication pipes between master thread
+		 * create communication pipes between main thread
 		 * and children
 		 */
-		if (_pipe(lcore_config[i].pipe_master2slave,
+		if (_pipe(lcore_config[i].pipe_main2worker,
 			sizeof(char), _O_BINARY) < 0)
 			rte_panic("Cannot create pipe\n");
-		if (_pipe(lcore_config[i].pipe_slave2master,
+		if (_pipe(lcore_config[i].pipe_worker2main,
 			sizeof(char), _O_BINARY) < 0)
 			rte_panic("Cannot create pipe\n");
 
@@ -394,10 +394,10 @@ rte_eal_init(int argc, char **argv)
 	}
 
 	/*
-	 * Launch a dummy function on all slave lcores, so that master lcore
+	 * Launch a dummy function on all worker lcores, so that main lcore
 	 * knows they are all ready when this function returns.
 	 */
-	rte_eal_mp_remote_launch(sync_func, NULL, SKIP_MASTER);
+	rte_eal_mp_remote_launch(sync_func, NULL, SKIP_MAIN);
 	rte_eal_mp_wait_lcore();
 	return fctret;
 }
diff --git a/lib/librte_eal/windows/eal_thread.c b/lib/librte_eal/windows/eal_thread.c
index 20889b6196c9..908e726d16cc 100644
--- a/lib/librte_eal/windows/eal_thread.c
+++ b/lib/librte_eal/windows/eal_thread.c
@@ -17,34 +17,34 @@
 #include "eal_windows.h"
 
 /*
- * Send a message to a slave lcore identified by slave_id to call a
+ * Send a message to a worker lcore identified by worker_id to call a
  * function f with argument arg. Once the execution is done, the
  * remote lcore switch in FINISHED state.
  */
 int
-rte_eal_remote_launch(lcore_function_t *f, void *arg, unsigned int slave_id)
+rte_eal_remote_launch(lcore_function_t *f, void *arg, unsigned int worker_id)
 {
 	int n;
 	char c = 0;
-	int m2s = lcore_config[slave_id].pipe_master2slave[1];
-	int s2m = lcore_config[slave_id].pipe_slave2master[0];
+	int m2w = lcore_config[worker_id].pipe_main2worker[1];
+	int w2m = lcore_config[worker_id].pipe_worker2main[0];
 
-	if (lcore_config[slave_id].state != WAIT)
+	if (lcore_config[worker_id].state != WAIT)
 		return -EBUSY;
 
-	lcore_config[slave_id].f = f;
-	lcore_config[slave_id].arg = arg;
+	lcore_config[worker_id].f = f;
+	lcore_config[worker_id].arg = arg;
 
 	/* send message */
 	n = 0;
 	while (n == 0 || (n < 0 && errno == EINTR))
-		n = _write(m2s, &c, 1);
+		n = _write(m2w, &c, 1);
 	if (n < 0)
 		rte_panic("cannot write on configuration pipe\n");
 
 	/* wait ack */
 	do {
-		n = _read(s2m, &c, 1);
+		n = _read(w2m, &c, 1);
 	} while (n < 0 && errno == EINTR);
 
 	if (n <= 0)
@@ -61,21 +61,21 @@ eal_thread_loop(void *arg __rte_unused)
 	int n, ret;
 	unsigned int lcore_id;
 	pthread_t thread_id;
-	int m2s, s2m;
+	int m2w, w2m;
 	char cpuset[RTE_CPU_AFFINITY_STR_LEN];
 
 	thread_id = pthread_self();
 
 	/* retrieve our lcore_id from the configuration structure */
-	RTE_LCORE_FOREACH_SLAVE(lcore_id) {
+	RTE_LCORE_FOREACH_WORKER(lcore_id) {
 		if (thread_id == lcore_config[lcore_id].thread_id)
 			break;
 	}
 	if (lcore_id == RTE_MAX_LCORE)
 		rte_panic("cannot retrieve lcore id\n");
 
-	m2s = lcore_config[lcore_id].pipe_master2slave[0];
-	s2m = lcore_config[lcore_id].pipe_slave2master[1];
+	m2w = lcore_config[lcore_id].pipe_main2worker[0];
+	w2m = lcore_config[lcore_id].pipe_worker2main[1];
 
 	__rte_thread_init(lcore_id, &lcore_config[lcore_id].cpuset);
 
@@ -88,7 +88,7 @@ eal_thread_loop(void *arg __rte_unused)
 
 		/* wait command */
 		do {
-			n = _read(m2s, &c, 1);
+			n = _read(m2w, &c, 1);
 		} while (n < 0 && errno == EINTR);
 
 		if (n <= 0)
@@ -99,7 +99,7 @@ eal_thread_loop(void *arg __rte_unused)
 		/* send ack */
 		n = 0;
 		while (n == 0 || (n < 0 && errno == EINTR))
-			n = _write(s2m, &c, 1);
+			n = _write(w2m, &c, 1);
 		if (n < 0)
 			rte_panic("cannot write on configuration pipe\n");
 
-- 
2.27.0


^ permalink raw reply	[relevance 1%]

* [dpdk-dev] [PATCH 2/2] eventdev: update app and examples for new eventdev ABI
  2020-09-11 16:58  9% [dpdk-dev] [PATCH 0/2] Eventdev ABI changes Timothy McDaniel
  2020-09-11 16:58  5% ` [dpdk-dev] [PATCH 1/2] eventdev: implement ABI change Timothy McDaniel
@ 2020-09-11 16:58  6% ` Timothy McDaniel
  1 sibling, 0 replies; 200+ results
From: Timothy McDaniel @ 2020-09-11 16:58 UTC (permalink / raw)
  Cc: jerinj, mattias.ronnblom, liang.j.ma, peter.mccarthy,
	nipun.gupta, pbhagavatula, dev, erik.g.carrillo, gage.eads,
	harry.van.haaren, hemant.agrawal, bruce.richardson

Several data structures and constants changed, or were added,
in the previous patch.  This commit updates the dependent
apps and examples to use the new ABI.

Signed-off-by: Timothy McDaniel <timothy.mcdaniel@intel.com>
---
 app/test-eventdev/evt_common.h                     | 11 ++++++++
 app/test-eventdev/test_order_atq.c                 | 30 ++++++++++++++++-----
 app/test-eventdev/test_order_common.c              |  1 +
 app/test-eventdev/test_order_queue.c               | 31 +++++++++++++++++-----
 app/test/test_eventdev.c                           |  4 +--
 .../eventdev_pipeline/pipeline_worker_generic.c    |  6 +++--
 examples/eventdev_pipeline/pipeline_worker_tx.c    |  1 +
 examples/l2fwd-event/l2fwd_event_generic.c         |  7 +++--
 examples/l2fwd-event/l2fwd_event_internal_port.c   |  6 +++--
 examples/l3fwd/l3fwd_event_generic.c               |  7 +++--
 examples/l3fwd/l3fwd_event_internal_port.c         |  6 +++--
 11 files changed, 84 insertions(+), 26 deletions(-)

diff --git a/app/test-eventdev/evt_common.h b/app/test-eventdev/evt_common.h
index f9d7378..a1da1cf 100644
--- a/app/test-eventdev/evt_common.h
+++ b/app/test-eventdev/evt_common.h
@@ -104,6 +104,16 @@ evt_has_all_types_queue(uint8_t dev_id)
 			true : false;
 }
 
+static inline bool
+evt_has_flow_id(uint8_t dev_id)
+{
+	struct rte_event_dev_info dev_info;
+
+	rte_event_dev_info_get(dev_id, &dev_info);
+	return (dev_info.event_dev_cap & RTE_EVENT_DEV_CAP_CARRY_FLOW_ID) ?
+			true : false;
+}
+
 static inline int
 evt_service_setup(uint32_t service_id)
 {
@@ -169,6 +179,7 @@ evt_configure_eventdev(struct evt_options *opt, uint8_t nb_queues,
 			.dequeue_timeout_ns = opt->deq_tmo_nsec,
 			.nb_event_queues = nb_queues,
 			.nb_event_ports = nb_ports,
+			.nb_single_link_event_port_queues = 0,
 			.nb_events_limit  = info.max_num_events,
 			.nb_event_queue_flows = opt->nb_flows,
 			.nb_event_port_dequeue_depth =
diff --git a/app/test-eventdev/test_order_atq.c b/app/test-eventdev/test_order_atq.c
index 3366cfc..9fbcd52 100644
--- a/app/test-eventdev/test_order_atq.c
+++ b/app/test-eventdev/test_order_atq.c
@@ -19,7 +19,7 @@ order_atq_process_stage_0(struct rte_event *const ev)
 }
 
 static int
-order_atq_worker(void *arg)
+order_atq_worker(void *arg, const bool flow_id_cap)
 {
 	ORDER_WORKER_INIT;
 	struct rte_event ev;
@@ -34,6 +34,9 @@ order_atq_worker(void *arg)
 			continue;
 		}
 
+		if (!flow_id_cap)
+			ev.flow_id = ev.mbuf->udata64;
+
 		if (ev.sub_event_type == 0) { /* stage 0 from producer */
 			order_atq_process_stage_0(&ev);
 			while (rte_event_enqueue_burst(dev_id, port, &ev, 1)
@@ -50,7 +53,7 @@ order_atq_worker(void *arg)
 }
 
 static int
-order_atq_worker_burst(void *arg)
+order_atq_worker_burst(void *arg, const bool flow_id_cap)
 {
 	ORDER_WORKER_INIT;
 	struct rte_event ev[BURST_SIZE];
@@ -68,6 +71,9 @@ order_atq_worker_burst(void *arg)
 		}
 
 		for (i = 0; i < nb_rx; i++) {
+			if (!flow_id_cap)
+				ev[i].flow_id = ev[i].mbuf->udata64;
+
 			if (ev[i].sub_event_type == 0) { /*stage 0 */
 				order_atq_process_stage_0(&ev[i]);
 			} else if (ev[i].sub_event_type == 1) { /* stage 1 */
@@ -95,11 +101,21 @@ worker_wrapper(void *arg)
 {
 	struct worker_data *w  = arg;
 	const bool burst = evt_has_burst_mode(w->dev_id);
-
-	if (burst)
-		return order_atq_worker_burst(arg);
-	else
-		return order_atq_worker(arg);
+	const bool flow_id_cap = evt_has_flow_id(w->dev_id);
+
+	if (burst) {
+		if (flow_id_cap)
+			return order_atq_worker_burst(arg,
+					!!RTE_EVENT_DEV_CAP_CARRY_FLOW_ID);
+		else
+			return order_atq_worker_burst(arg, 0);
+	} else {
+		if (flow_id_cap)
+			return order_atq_worker(arg,
+					!!RTE_EVENT_DEV_CAP_CARRY_FLOW_ID);
+		else
+			return order_atq_worker(arg, 0);
+	}
 }
 
 static int
diff --git a/app/test-eventdev/test_order_common.c b/app/test-eventdev/test_order_common.c
index 4190f9a..7942390 100644
--- a/app/test-eventdev/test_order_common.c
+++ b/app/test-eventdev/test_order_common.c
@@ -49,6 +49,7 @@ order_producer(void *arg)
 		const uint32_t flow = (uintptr_t)m % nb_flows;
 		/* Maintain seq number per flow */
 		m->seqn = producer_flow_seq[flow]++;
+		m->udata64 = flow;
 
 		ev.flow_id = flow;
 		ev.mbuf = m;
diff --git a/app/test-eventdev/test_order_queue.c b/app/test-eventdev/test_order_queue.c
index 495efd9..572796f 100644
--- a/app/test-eventdev/test_order_queue.c
+++ b/app/test-eventdev/test_order_queue.c
@@ -19,7 +19,7 @@ order_queue_process_stage_0(struct rte_event *const ev)
 }
 
 static int
-order_queue_worker(void *arg)
+order_queue_worker(void *arg, const bool flow_id_cap)
 {
 	ORDER_WORKER_INIT;
 	struct rte_event ev;
@@ -34,6 +34,9 @@ order_queue_worker(void *arg)
 			continue;
 		}
 
+		if (!flow_id_cap)
+			ev.flow_id = ev.mbuf->udata64;
+
 		if (ev.queue_id == 0) { /* from ordered queue */
 			order_queue_process_stage_0(&ev);
 			while (rte_event_enqueue_burst(dev_id, port, &ev, 1)
@@ -50,7 +53,7 @@ order_queue_worker(void *arg)
 }
 
 static int
-order_queue_worker_burst(void *arg)
+order_queue_worker_burst(void *arg, const bool flow_id_cap)
 {
 	ORDER_WORKER_INIT;
 	struct rte_event ev[BURST_SIZE];
@@ -68,6 +71,10 @@ order_queue_worker_burst(void *arg)
 		}
 
 		for (i = 0; i < nb_rx; i++) {
+
+			if (!flow_id_cap)
+				ev[i].flow_id = ev[i].mbuf->udata64;
+
 			if (ev[i].queue_id == 0) { /* from ordered queue */
 				order_queue_process_stage_0(&ev[i]);
 			} else if (ev[i].queue_id == 1) {/* from atomic queue */
@@ -95,11 +102,21 @@ worker_wrapper(void *arg)
 {
 	struct worker_data *w  = arg;
 	const bool burst = evt_has_burst_mode(w->dev_id);
-
-	if (burst)
-		return order_queue_worker_burst(arg);
-	else
-		return order_queue_worker(arg);
+	const bool flow_id_cap = evt_has_flow_id(w->dev_id);
+
+	if (burst) {
+		if (flow_id_cap)
+			return order_queue_worker_burst(arg,
+					!!RTE_EVENT_DEV_CAP_CARRY_FLOW_ID);
+		else
+			return order_queue_worker_burst(arg, 0);
+	} else {
+		if (flow_id_cap)
+			return order_queue_worker(arg,
+					!!RTE_EVENT_DEV_CAP_CARRY_FLOW_ID);
+		else
+			return order_queue_worker(arg, 0);
+	}
 }
 
 static int
diff --git a/app/test/test_eventdev.c b/app/test/test_eventdev.c
index 43ccb1c..62019c1 100644
--- a/app/test/test_eventdev.c
+++ b/app/test/test_eventdev.c
@@ -559,10 +559,10 @@ test_eventdev_port_setup(void)
 	if (!(info.event_dev_cap &
 	      RTE_EVENT_DEV_CAP_IMPLICIT_RELEASE_DISABLE)) {
 		pconf.enqueue_depth = info.max_event_port_enqueue_depth;
-		pconf.disable_implicit_release = 1;
+		pconf.event_port_cfg = RTE_EVENT_PORT_CFG_DISABLE_IMPL_REL;
 		ret = rte_event_port_setup(TEST_DEV_ID, 0, &pconf);
 		TEST_ASSERT(ret == -EINVAL, "Expected -EINVAL, %d", ret);
-		pconf.disable_implicit_release = 0;
+		pconf.event_port_cfg = 0;
 	}
 
 	ret = rte_event_port_setup(TEST_DEV_ID, info.max_event_ports,
diff --git a/examples/eventdev_pipeline/pipeline_worker_generic.c b/examples/eventdev_pipeline/pipeline_worker_generic.c
index 42ff4ee..f70ab0c 100644
--- a/examples/eventdev_pipeline/pipeline_worker_generic.c
+++ b/examples/eventdev_pipeline/pipeline_worker_generic.c
@@ -129,6 +129,7 @@ setup_eventdev_generic(struct worker_data *worker_data)
 	struct rte_event_dev_config config = {
 			.nb_event_queues = nb_queues,
 			.nb_event_ports = nb_ports,
+			.nb_single_link_event_port_queues = 1,
 			.nb_events_limit  = 4096,
 			.nb_event_queue_flows = 1024,
 			.nb_event_port_dequeue_depth = 128,
@@ -143,7 +144,7 @@ setup_eventdev_generic(struct worker_data *worker_data)
 			.schedule_type = cdata.queue_type,
 			.priority = RTE_EVENT_DEV_PRIORITY_NORMAL,
 			.nb_atomic_flows = 1024,
-		.nb_atomic_order_sequences = 1024,
+			.nb_atomic_order_sequences = 1024,
 	};
 	struct rte_event_queue_conf tx_q_conf = {
 			.priority = RTE_EVENT_DEV_PRIORITY_HIGHEST,
@@ -167,7 +168,8 @@ setup_eventdev_generic(struct worker_data *worker_data)
 	disable_implicit_release = (dev_info.event_dev_cap &
 			RTE_EVENT_DEV_CAP_IMPLICIT_RELEASE_DISABLE);
 
-	wkr_p_conf.disable_implicit_release = disable_implicit_release;
+	wkr_p_conf.event_port_cfg = disable_implicit_release ?
+		RTE_EVENT_PORT_CFG_DISABLE_IMPL_REL : 0;
 
 	if (dev_info.max_num_events < config.nb_events_limit)
 		config.nb_events_limit = dev_info.max_num_events;
diff --git a/examples/eventdev_pipeline/pipeline_worker_tx.c b/examples/eventdev_pipeline/pipeline_worker_tx.c
index 55bb2f7..ca6cd20 100644
--- a/examples/eventdev_pipeline/pipeline_worker_tx.c
+++ b/examples/eventdev_pipeline/pipeline_worker_tx.c
@@ -436,6 +436,7 @@ setup_eventdev_worker_tx_enq(struct worker_data *worker_data)
 	struct rte_event_dev_config config = {
 			.nb_event_queues = nb_queues,
 			.nb_event_ports = nb_ports,
+			.nb_single_link_event_port_queues = 0,
 			.nb_events_limit  = 4096,
 			.nb_event_queue_flows = 1024,
 			.nb_event_port_dequeue_depth = 128,
diff --git a/examples/l2fwd-event/l2fwd_event_generic.c b/examples/l2fwd-event/l2fwd_event_generic.c
index 2dc95e5..9a3167c 100644
--- a/examples/l2fwd-event/l2fwd_event_generic.c
+++ b/examples/l2fwd-event/l2fwd_event_generic.c
@@ -126,8 +126,11 @@ l2fwd_event_port_setup_generic(struct l2fwd_resources *rsrc)
 	if (def_p_conf.enqueue_depth < event_p_conf.enqueue_depth)
 		event_p_conf.enqueue_depth = def_p_conf.enqueue_depth;
 
-	event_p_conf.disable_implicit_release =
-		evt_rsrc->disable_implicit_release;
+	event_p_conf.event_port_cfg = 0;
+	if (evt_rsrc->disable_implicit_release)
+		event_p_conf.event_port_cfg |=
+			RTE_EVENT_PORT_CFG_DISABLE_IMPL_REL;
+
 	evt_rsrc->deq_depth = def_p_conf.dequeue_depth;
 
 	for (event_p_id = 0; event_p_id < evt_rsrc->evp.nb_ports;
diff --git a/examples/l2fwd-event/l2fwd_event_internal_port.c b/examples/l2fwd-event/l2fwd_event_internal_port.c
index 63d57b4..203a14c 100644
--- a/examples/l2fwd-event/l2fwd_event_internal_port.c
+++ b/examples/l2fwd-event/l2fwd_event_internal_port.c
@@ -123,8 +123,10 @@ l2fwd_event_port_setup_internal_port(struct l2fwd_resources *rsrc)
 	if (def_p_conf.enqueue_depth < event_p_conf.enqueue_depth)
 		event_p_conf.enqueue_depth = def_p_conf.enqueue_depth;
 
-	event_p_conf.disable_implicit_release =
-		evt_rsrc->disable_implicit_release;
+	event_p_conf.event_port_cfg = 0;
+	if (evt_rsrc->disable_implicit_release)
+		event_p_conf.event_port_cfg |=
+			RTE_EVENT_PORT_CFG_DISABLE_IMPL_REL;
 
 	for (event_p_id = 0; event_p_id < evt_rsrc->evp.nb_ports;
 								event_p_id++) {
diff --git a/examples/l3fwd/l3fwd_event_generic.c b/examples/l3fwd/l3fwd_event_generic.c
index f8c9843..c80573f 100644
--- a/examples/l3fwd/l3fwd_event_generic.c
+++ b/examples/l3fwd/l3fwd_event_generic.c
@@ -115,8 +115,11 @@ l3fwd_event_port_setup_generic(void)
 	if (def_p_conf.enqueue_depth < event_p_conf.enqueue_depth)
 		event_p_conf.enqueue_depth = def_p_conf.enqueue_depth;
 
-	event_p_conf.disable_implicit_release =
-		evt_rsrc->disable_implicit_release;
+	event_p_conf.event_port_cfg = 0;
+	if (evt_rsrc->disable_implicit_release)
+		event_p_conf.event_port_cfg |=
+			RTE_EVENT_PORT_CFG_DISABLE_IMPL_REL;
+
 	evt_rsrc->deq_depth = def_p_conf.dequeue_depth;
 
 	for (event_p_id = 0; event_p_id < evt_rsrc->evp.nb_ports;
diff --git a/examples/l3fwd/l3fwd_event_internal_port.c b/examples/l3fwd/l3fwd_event_internal_port.c
index 03ac581..9916a7f 100644
--- a/examples/l3fwd/l3fwd_event_internal_port.c
+++ b/examples/l3fwd/l3fwd_event_internal_port.c
@@ -113,8 +113,10 @@ l3fwd_event_port_setup_internal_port(void)
 	if (def_p_conf.enqueue_depth < event_p_conf.enqueue_depth)
 		event_p_conf.enqueue_depth = def_p_conf.enqueue_depth;
 
-	event_p_conf.disable_implicit_release =
-		evt_rsrc->disable_implicit_release;
+	event_p_conf.event_port_cfg = 0;
+	if (evt_rsrc->disable_implicit_release)
+		event_p_conf.event_port_cfg |=
+			RTE_EVENT_PORT_CFG_DISABLE_IMPL_REL;
 
 	for (event_p_id = 0; event_p_id < evt_rsrc->evp.nb_ports;
 								event_p_id++) {
-- 
2.6.4


^ permalink raw reply	[relevance 6%]

* [dpdk-dev] [PATCH 1/2] eventdev: implement ABI change
  2020-09-11 16:58  9% [dpdk-dev] [PATCH 0/2] Eventdev ABI changes Timothy McDaniel
@ 2020-09-11 16:58  5% ` Timothy McDaniel
  2020-09-11 16:58  6% ` [dpdk-dev] [PATCH 2/2] eventdev: update app and examples for new eventdev ABI Timothy McDaniel
  1 sibling, 0 replies; 200+ results
From: Timothy McDaniel @ 2020-09-11 16:58 UTC (permalink / raw)
  Cc: jerinj, mattias.ronnblom, liang.j.ma, peter.mccarthy,
	nipun.gupta, pbhagavatula, dev, erik.g.carrillo, gage.eads,
	harry.van.haaren, hemant.agrawal, bruce.richardson

This commit implements the eventdev ABI changes required by
the DLB PMD.

The DLB hardware does not conform exactly to the eventdev interface.
1) It has a limit on the number of queues that may be linked to a port.
2) Some ports are further restricted to a maximum of 1 linked queue.
3) It does not (currently) have the ability to carry the flow_id as part
of the event (QE) payload.

Due to the above, we would like to propose the following enhancements.

1) Add new fields to the rte_event_dev_info struct. These fields allow
the device to advertise its capabilities so that applications can take
the appropriate actions based on those capabilities.

2) Add a new field to the rte_event_dev_config struct. This field allows
the application to specify how many of its ports are limited to a single
link, or will be used in single link mode.

3) Replace the dedicated implicit_release_disabled field with a bit field
of explicit port capabilities. The implicit_release_disable functionality
is assigned to one bit, and a port-is-single-link-only attribute is
assigned to another, with the remaining bits available for future
assignment.

Signed-off-by: Timothy McDaniel <timothy.mcdaniel@intel.com>
---
 drivers/event/dpaa/dpaa_eventdev.c             |  3 +-
 drivers/event/dpaa2/dpaa2_eventdev.c           |  5 +-
 drivers/event/dsw/dsw_evdev.c                  |  3 +-
 drivers/event/octeontx/ssovf_evdev.c           |  5 +-
 drivers/event/octeontx2/otx2_evdev.c           |  3 +-
 drivers/event/opdl/opdl_evdev.c                |  3 +-
 drivers/event/skeleton/skeleton_eventdev.c     |  5 +-
 drivers/event/sw/sw_evdev.c                    |  8 ++--
 drivers/event/sw/sw_evdev_selftest.c           |  6 +--
 lib/librte_eventdev/rte_event_eth_tx_adapter.c |  2 +-
 lib/librte_eventdev/rte_eventdev.c             | 66 +++++++++++++++++++++++---
 lib/librte_eventdev/rte_eventdev.h             | 51 ++++++++++++++++----
 lib/librte_eventdev/rte_eventdev_pmd_pci.h     |  1 -
 lib/librte_eventdev/rte_eventdev_trace.h       |  7 +--
 lib/librte_eventdev/rte_eventdev_version.map   |  4 +-
 15 files changed, 134 insertions(+), 38 deletions(-)

diff --git a/drivers/event/dpaa/dpaa_eventdev.c b/drivers/event/dpaa/dpaa_eventdev.c
index b5ae87a..07cd079 100644
--- a/drivers/event/dpaa/dpaa_eventdev.c
+++ b/drivers/event/dpaa/dpaa_eventdev.c
@@ -355,7 +355,8 @@ dpaa_event_dev_info_get(struct rte_eventdev *dev,
 		RTE_EVENT_DEV_CAP_DISTRIBUTED_SCHED |
 		RTE_EVENT_DEV_CAP_BURST_MODE |
 		RTE_EVENT_DEV_CAP_MULTIPLE_QUEUE_PORT |
-		RTE_EVENT_DEV_CAP_NONSEQ_MODE;
+		RTE_EVENT_DEV_CAP_NONSEQ_MODE |
+		RTE_EVENT_DEV_CAP_CARRY_FLOW_ID;
 }
 
 static int
diff --git a/drivers/event/dpaa2/dpaa2_eventdev.c b/drivers/event/dpaa2/dpaa2_eventdev.c
index 3ae4441..712db6c 100644
--- a/drivers/event/dpaa2/dpaa2_eventdev.c
+++ b/drivers/event/dpaa2/dpaa2_eventdev.c
@@ -406,7 +406,8 @@ dpaa2_eventdev_info_get(struct rte_eventdev *dev,
 		RTE_EVENT_DEV_CAP_RUNTIME_PORT_LINK |
 		RTE_EVENT_DEV_CAP_MULTIPLE_QUEUE_PORT |
 		RTE_EVENT_DEV_CAP_NONSEQ_MODE |
-		RTE_EVENT_DEV_CAP_QUEUE_ALL_TYPES;
+		RTE_EVENT_DEV_CAP_QUEUE_ALL_TYPES |
+		RTE_EVENT_DEV_CAP_CARRY_FLOW_ID;
 
 }
 
@@ -536,7 +537,7 @@ dpaa2_eventdev_port_def_conf(struct rte_eventdev *dev, uint8_t port_id,
 		DPAA2_EVENT_MAX_PORT_DEQUEUE_DEPTH;
 	port_conf->enqueue_depth =
 		DPAA2_EVENT_MAX_PORT_ENQUEUE_DEPTH;
-	port_conf->disable_implicit_release = 0;
+	port_conf->event_port_cfg = 0;
 }
 
 static int
diff --git a/drivers/event/dsw/dsw_evdev.c b/drivers/event/dsw/dsw_evdev.c
index e796975..933a5a5 100644
--- a/drivers/event/dsw/dsw_evdev.c
+++ b/drivers/event/dsw/dsw_evdev.c
@@ -224,7 +224,8 @@ dsw_info_get(struct rte_eventdev *dev __rte_unused,
 		.event_dev_cap = RTE_EVENT_DEV_CAP_BURST_MODE|
 		RTE_EVENT_DEV_CAP_DISTRIBUTED_SCHED|
 		RTE_EVENT_DEV_CAP_NONSEQ_MODE|
-		RTE_EVENT_DEV_CAP_MULTIPLE_QUEUE_PORT
+		RTE_EVENT_DEV_CAP_MULTIPLE_QUEUE_PORT|
+		RTE_EVENT_DEV_CAP_CARRY_FLOW_ID
 	};
 }
 
diff --git a/drivers/event/octeontx/ssovf_evdev.c b/drivers/event/octeontx/ssovf_evdev.c
index 4fc4e8f..1c6bcca 100644
--- a/drivers/event/octeontx/ssovf_evdev.c
+++ b/drivers/event/octeontx/ssovf_evdev.c
@@ -152,7 +152,8 @@ ssovf_info_get(struct rte_eventdev *dev, struct rte_event_dev_info *dev_info)
 					RTE_EVENT_DEV_CAP_QUEUE_ALL_TYPES|
 					RTE_EVENT_DEV_CAP_RUNTIME_PORT_LINK |
 					RTE_EVENT_DEV_CAP_MULTIPLE_QUEUE_PORT |
-					RTE_EVENT_DEV_CAP_NONSEQ_MODE;
+					RTE_EVENT_DEV_CAP_NONSEQ_MODE |
+					RTE_EVENT_DEV_CAP_CARRY_FLOW_ID;
 
 }
 
@@ -218,7 +219,7 @@ ssovf_port_def_conf(struct rte_eventdev *dev, uint8_t port_id,
 	port_conf->new_event_threshold = edev->max_num_events;
 	port_conf->dequeue_depth = 1;
 	port_conf->enqueue_depth = 1;
-	port_conf->disable_implicit_release = 0;
+	port_conf->event_port_cfg = 0;
 }
 
 static void
diff --git a/drivers/event/octeontx2/otx2_evdev.c b/drivers/event/octeontx2/otx2_evdev.c
index b8b57c3..ae35bb5 100644
--- a/drivers/event/octeontx2/otx2_evdev.c
+++ b/drivers/event/octeontx2/otx2_evdev.c
@@ -501,7 +501,8 @@ otx2_sso_info_get(struct rte_eventdev *event_dev,
 					RTE_EVENT_DEV_CAP_QUEUE_ALL_TYPES |
 					RTE_EVENT_DEV_CAP_RUNTIME_PORT_LINK |
 					RTE_EVENT_DEV_CAP_MULTIPLE_QUEUE_PORT |
-					RTE_EVENT_DEV_CAP_NONSEQ_MODE;
+					RTE_EVENT_DEV_CAP_NONSEQ_MODE |
+					RTE_EVENT_DEV_CAP_CARRY_FLOW_ID;
 }
 
 static void
diff --git a/drivers/event/opdl/opdl_evdev.c b/drivers/event/opdl/opdl_evdev.c
index 9b2f75f..3050578 100644
--- a/drivers/event/opdl/opdl_evdev.c
+++ b/drivers/event/opdl/opdl_evdev.c
@@ -374,7 +374,8 @@ opdl_info_get(struct rte_eventdev *dev, struct rte_event_dev_info *info)
 		.max_event_port_dequeue_depth = MAX_OPDL_CONS_Q_DEPTH,
 		.max_event_port_enqueue_depth = MAX_OPDL_CONS_Q_DEPTH,
 		.max_num_events = OPDL_INFLIGHT_EVENTS_TOTAL,
-		.event_dev_cap = RTE_EVENT_DEV_CAP_BURST_MODE,
+		.event_dev_cap = RTE_EVENT_DEV_CAP_BURST_MODE |
+				 RTE_EVENT_DEV_CAP_CARRY_FLOW_ID,
 	};
 
 	*info = evdev_opdl_info;
diff --git a/drivers/event/skeleton/skeleton_eventdev.c b/drivers/event/skeleton/skeleton_eventdev.c
index c889220..6fd1102 100644
--- a/drivers/event/skeleton/skeleton_eventdev.c
+++ b/drivers/event/skeleton/skeleton_eventdev.c
@@ -101,7 +101,8 @@ skeleton_eventdev_info_get(struct rte_eventdev *dev,
 	dev_info->max_num_events = (1ULL << 20);
 	dev_info->event_dev_cap = RTE_EVENT_DEV_CAP_QUEUE_QOS |
 					RTE_EVENT_DEV_CAP_BURST_MODE |
-					RTE_EVENT_DEV_CAP_EVENT_QOS;
+					RTE_EVENT_DEV_CAP_EVENT_QOS |
+					RTE_EVENT_DEV_CAP_CARRY_FLOW_ID;
 }
 
 static int
@@ -209,7 +210,7 @@ skeleton_eventdev_port_def_conf(struct rte_eventdev *dev, uint8_t port_id,
 	port_conf->new_event_threshold = 32 * 1024;
 	port_conf->dequeue_depth = 16;
 	port_conf->enqueue_depth = 16;
-	port_conf->disable_implicit_release = 0;
+	port_conf->event_port_cfg = 0;
 }
 
 static void
diff --git a/drivers/event/sw/sw_evdev.c b/drivers/event/sw/sw_evdev.c
index 98dae71..058f568 100644
--- a/drivers/event/sw/sw_evdev.c
+++ b/drivers/event/sw/sw_evdev.c
@@ -175,7 +175,8 @@ sw_port_setup(struct rte_eventdev *dev, uint8_t port_id,
 	}
 
 	p->inflight_max = conf->new_event_threshold;
-	p->implicit_release = !conf->disable_implicit_release;
+	p->implicit_release = !(conf->event_port_cfg &
+				RTE_EVENT_PORT_CFG_DISABLE_IMPL_REL);
 
 	/* check if ring exists, same as rx_worker above */
 	snprintf(buf, sizeof(buf), "sw%d_p%u, %s", dev->data->dev_id,
@@ -508,7 +509,7 @@ sw_port_def_conf(struct rte_eventdev *dev, uint8_t port_id,
 	port_conf->new_event_threshold = 1024;
 	port_conf->dequeue_depth = 16;
 	port_conf->enqueue_depth = 16;
-	port_conf->disable_implicit_release = 0;
+	port_conf->event_port_cfg = 0;
 }
 
 static int
@@ -615,7 +616,8 @@ sw_info_get(struct rte_eventdev *dev, struct rte_event_dev_info *info)
 				RTE_EVENT_DEV_CAP_IMPLICIT_RELEASE_DISABLE|
 				RTE_EVENT_DEV_CAP_RUNTIME_PORT_LINK |
 				RTE_EVENT_DEV_CAP_MULTIPLE_QUEUE_PORT |
-				RTE_EVENT_DEV_CAP_NONSEQ_MODE),
+				RTE_EVENT_DEV_CAP_NONSEQ_MODE |
+				RTE_EVENT_DEV_CAP_CARRY_FLOW_ID),
 	};
 
 	*info = evdev_sw_info;
diff --git a/drivers/event/sw/sw_evdev_selftest.c b/drivers/event/sw/sw_evdev_selftest.c
index 38c21fa..4a7d823 100644
--- a/drivers/event/sw/sw_evdev_selftest.c
+++ b/drivers/event/sw/sw_evdev_selftest.c
@@ -172,7 +172,6 @@ create_ports(struct test *t, int num_ports)
 			.new_event_threshold = 1024,
 			.dequeue_depth = 32,
 			.enqueue_depth = 64,
-			.disable_implicit_release = 0,
 	};
 	if (num_ports > MAX_PORTS)
 		return -1;
@@ -1227,7 +1226,6 @@ port_reconfig_credits(struct test *t)
 				.new_event_threshold = 128,
 				.dequeue_depth = 32,
 				.enqueue_depth = 64,
-				.disable_implicit_release = 0,
 		};
 		if (rte_event_port_setup(evdev, 0, &port_conf) < 0) {
 			printf("%d Error setting up port\n", __LINE__);
@@ -1317,7 +1315,6 @@ port_single_lb_reconfig(struct test *t)
 		.new_event_threshold = 128,
 		.dequeue_depth = 32,
 		.enqueue_depth = 64,
-		.disable_implicit_release = 0,
 	};
 	if (rte_event_port_setup(evdev, 0, &port_conf) < 0) {
 		printf("%d Error setting up port\n", __LINE__);
@@ -3079,7 +3076,8 @@ worker_loopback(struct test *t, uint8_t disable_implicit_release)
 	 * only be initialized once - and this needs to be set for multiple runs
 	 */
 	conf.new_event_threshold = 512;
-	conf.disable_implicit_release = disable_implicit_release;
+	conf.event_port_cfg = disable_implicit_release ?
+		RTE_EVENT_PORT_CFG_DISABLE_IMPL_REL : 0;
 
 	if (rte_event_port_setup(evdev, 0, &conf) < 0) {
 		printf("Error setting up RX port\n");
diff --git a/lib/librte_eventdev/rte_event_eth_tx_adapter.c b/lib/librte_eventdev/rte_event_eth_tx_adapter.c
index bb21dc4..8a72256 100644
--- a/lib/librte_eventdev/rte_event_eth_tx_adapter.c
+++ b/lib/librte_eventdev/rte_event_eth_tx_adapter.c
@@ -286,7 +286,7 @@ txa_service_conf_cb(uint8_t __rte_unused id, uint8_t dev_id,
 		return ret;
 	}
 
-	pc->disable_implicit_release = 0;
+	pc->event_port_cfg = 0;
 	ret = rte_event_port_setup(dev_id, port_id, pc);
 	if (ret) {
 		RTE_EDEV_LOG_ERR("failed to setup event port %u\n",
diff --git a/lib/librte_eventdev/rte_eventdev.c b/lib/librte_eventdev/rte_eventdev.c
index 82c177c..3a5b738 100644
--- a/lib/librte_eventdev/rte_eventdev.c
+++ b/lib/librte_eventdev/rte_eventdev.c
@@ -32,6 +32,7 @@
 #include <rte_ethdev.h>
 #include <rte_cryptodev.h>
 #include <rte_cryptodev_pmd.h>
+#include <rte_compat.h>
 
 #include "rte_eventdev.h"
 #include "rte_eventdev_pmd.h"
@@ -437,9 +438,29 @@ rte_event_dev_configure(uint8_t dev_id,
 					dev_id);
 		return -EINVAL;
 	}
-	if (dev_conf->nb_event_queues > info.max_event_queues) {
-		RTE_EDEV_LOG_ERR("%d nb_event_queues=%d > max_event_queues=%d",
-		dev_id, dev_conf->nb_event_queues, info.max_event_queues);
+	if (dev_conf->nb_event_queues > info.max_event_queues +
+			info.max_single_link_event_port_queue_pairs) {
+		RTE_EDEV_LOG_ERR("%d nb_event_queues=%d > max_event_queues=%d + max_single_link_event_port_queue_pairs=%d",
+				 dev_id, dev_conf->nb_event_queues,
+				 info.max_event_queues,
+				 info.max_single_link_event_port_queue_pairs);
+		return -EINVAL;
+	}
+	if (dev_conf->nb_event_queues -
+			dev_conf->nb_single_link_event_port_queues >
+			info.max_event_queues) {
+		RTE_EDEV_LOG_ERR("id%d nb_event_queues=%d - nb_single_link_event_port_queues=%d > max_event_queues=%d",
+				 dev_id, dev_conf->nb_event_queues,
+				 dev_conf->nb_single_link_event_port_queues,
+				 info.max_event_queues);
+		return -EINVAL;
+	}
+	if (dev_conf->nb_single_link_event_port_queues >
+			dev_conf->nb_event_queues) {
+		RTE_EDEV_LOG_ERR("dev%d nb_single_link_event_port_queues=%d > nb_event_queues=%d",
+				 dev_id,
+				 dev_conf->nb_single_link_event_port_queues,
+				 dev_conf->nb_event_queues);
 		return -EINVAL;
 	}
 
@@ -448,9 +469,31 @@ rte_event_dev_configure(uint8_t dev_id,
 		RTE_EDEV_LOG_ERR("dev%d nb_event_ports cannot be zero", dev_id);
 		return -EINVAL;
 	}
-	if (dev_conf->nb_event_ports > info.max_event_ports) {
-		RTE_EDEV_LOG_ERR("id%d nb_event_ports=%d > max_event_ports= %d",
-		dev_id, dev_conf->nb_event_ports, info.max_event_ports);
+	if (dev_conf->nb_event_ports > info.max_event_ports +
+			info.max_single_link_event_port_queue_pairs) {
+		RTE_EDEV_LOG_ERR("id%d nb_event_ports=%d > max_event_ports=%d + max_single_link_event_port_queue_pairs=%d",
+				 dev_id, dev_conf->nb_event_ports,
+				 info.max_event_ports,
+				 info.max_single_link_event_port_queue_pairs);
+		return -EINVAL;
+	}
+	if (dev_conf->nb_event_ports -
+			dev_conf->nb_single_link_event_port_queues
+			> info.max_event_ports) {
+		RTE_EDEV_LOG_ERR("id%d nb_event_ports=%d - nb_single_link_event_port_queues=%d > max_event_ports=%d",
+				 dev_id, dev_conf->nb_event_ports,
+				 dev_conf->nb_single_link_event_port_queues,
+				 info.max_event_ports);
+		return -EINVAL;
+	}
+
+	if (dev_conf->nb_single_link_event_port_queues >
+	    dev_conf->nb_event_ports) {
+		RTE_EDEV_LOG_ERR(
+				 "dev%d nb_single_link_event_port_queues=%d > nb_event_ports=%d",
+				 dev_id,
+				 dev_conf->nb_single_link_event_port_queues,
+				 dev_conf->nb_event_ports);
 		return -EINVAL;
 	}
 
@@ -737,7 +780,8 @@ rte_event_port_setup(uint8_t dev_id, uint8_t port_id,
 		return -EINVAL;
 	}
 
-	if (port_conf && port_conf->disable_implicit_release &&
+	if (port_conf &&
+	    (port_conf->event_port_cfg & RTE_EVENT_PORT_CFG_DISABLE_IMPL_REL) &&
 	    !(dev->data->event_dev_cap &
 	      RTE_EVENT_DEV_CAP_IMPLICIT_RELEASE_DISABLE)) {
 		RTE_EDEV_LOG_ERR(
@@ -830,6 +874,14 @@ rte_event_port_attr_get(uint8_t dev_id, uint8_t port_id, uint32_t attr_id,
 	case RTE_EVENT_PORT_ATTR_NEW_EVENT_THRESHOLD:
 		*attr_value = dev->data->ports_cfg[port_id].new_event_threshold;
 		break;
+	case RTE_EVENT_PORT_ATTR_IMPLICIT_RELEASE_DISABLE:
+	{
+		uint32_t config;
+
+		config = dev->data->ports_cfg[port_id].event_port_cfg;
+		*attr_value = !!(config & RTE_EVENT_PORT_CFG_DISABLE_IMPL_REL);
+		break;
+	}
 	default:
 		return -EINVAL;
 	};
diff --git a/lib/librte_eventdev/rte_eventdev.h b/lib/librte_eventdev/rte_eventdev.h
index 7dc8323..ce1fc2c 100644
--- a/lib/librte_eventdev/rte_eventdev.h
+++ b/lib/librte_eventdev/rte_eventdev.h
@@ -291,6 +291,12 @@ struct rte_event;
  * single queue to each port or map a single queue to many port.
  */
 
+#define RTE_EVENT_DEV_CAP_CARRY_FLOW_ID (1ULL << 9)
+/**< Event device preserves the flow ID from the enqueued
+ * event to the dequeued event if the flag is set. Otherwise,
+ * the content of this field is implementation dependent.
+ */
+
 /* Event device priority levels */
 #define RTE_EVENT_DEV_PRIORITY_HIGHEST   0
 /**< Highest priority expressed across eventdev subsystem
@@ -380,6 +386,10 @@ struct rte_event_dev_info {
 	 * event port by this device.
 	 * A device that does not support bulk enqueue will set this as 1.
 	 */
+	uint8_t max_event_port_links;
+	/**< Maximum number of queues that can be linked to a single event
+	 * port by this device.
+	 */
 	int32_t max_num_events;
 	/**< A *closed system* event dev has a limit on the number of events it
 	 * can manage at a time. An *open system* event dev does not have a
@@ -387,6 +397,12 @@ struct rte_event_dev_info {
 	 */
 	uint32_t event_dev_cap;
 	/**< Event device capabilities(RTE_EVENT_DEV_CAP_)*/
+	uint8_t max_single_link_event_port_queue_pairs;
+	/**< Maximum number of event ports and queues that are optimized for
+	 * (and only capable of) single-link configurations supported by this
+	 * device. These ports and queues are not accounted for in
+	 * max_event_ports or max_event_queues.
+	 */
 };
 
 /**
@@ -494,6 +510,14 @@ struct rte_event_dev_config {
 	 */
 	uint32_t event_dev_cfg;
 	/**< Event device config flags(RTE_EVENT_DEV_CFG_)*/
+	uint8_t nb_single_link_event_port_queues;
+	/**< Number of event ports and queues that will be singly-linked to
+	 * each other. These are a subset of the overall event ports and
+	 * queues; this value cannot exceed *nb_event_ports* or
+	 * *nb_event_queues*. If the device has ports and queues that are
+	 * optimized for single-link usage, this field is a hint for how many
+	 * to allocate; otherwise, regular event ports and queues can be used.
+	 */
 };
 
 /**
@@ -519,7 +543,6 @@ int
 rte_event_dev_configure(uint8_t dev_id,
 			const struct rte_event_dev_config *dev_conf);
 
-
 /* Event queue specific APIs */
 
 /* Event queue configuration bitmap flags */
@@ -671,6 +694,20 @@ rte_event_queue_attr_get(uint8_t dev_id, uint8_t queue_id, uint32_t attr_id,
 
 /* Event port specific APIs */
 
+/* Event port configuration bitmap flags */
+#define RTE_EVENT_PORT_CFG_DISABLE_IMPL_REL    (1ULL << 0)
+/**< Configure the port not to release outstanding events in
+ * rte_event_dev_dequeue_burst(). If set, all events received through
+ * the port must be explicitly released with RTE_EVENT_OP_RELEASE or
+ * RTE_EVENT_OP_FORWARD. Must be unset if the device is not
+ * RTE_EVENT_DEV_CAP_IMPLICIT_RELEASE_DISABLE capable.
+ */
+#define RTE_EVENT_PORT_CFG_SINGLE_LINK         (1ULL << 1)
+/**< This event port links only to a single event queue.
+ *
+ *  @see rte_event_port_setup(), rte_event_port_link()
+ */
+
 /** Event port configuration structure */
 struct rte_event_port_conf {
 	int32_t new_event_threshold;
@@ -698,13 +735,7 @@ struct rte_event_port_conf {
 	 * which previously supplied to rte_event_dev_configure().
 	 * Ignored when device is not RTE_EVENT_DEV_CAP_BURST_MODE capable.
 	 */
-	uint8_t disable_implicit_release;
-	/**< Configure the port not to release outstanding events in
-	 * rte_event_dev_dequeue_burst(). If true, all events received through
-	 * the port must be explicitly released with RTE_EVENT_OP_RELEASE or
-	 * RTE_EVENT_OP_FORWARD. Must be false when the device is not
-	 * RTE_EVENT_DEV_CAP_IMPLICIT_RELEASE_DISABLE capable.
-	 */
+	uint32_t event_port_cfg; /**< Port cfg flags(EVENT_PORT_CFG_) */
 };
 
 /**
@@ -769,6 +800,10 @@ rte_event_port_setup(uint8_t dev_id, uint8_t port_id,
  * The new event threshold of the port
  */
 #define RTE_EVENT_PORT_ATTR_NEW_EVENT_THRESHOLD 2
+/**
+ * The implicit release disable attribute of the port
+ */
+#define RTE_EVENT_PORT_ATTR_IMPLICIT_RELEASE_DISABLE 3
 
 /**
  * Get an attribute from a port.
diff --git a/lib/librte_eventdev/rte_eventdev_pmd_pci.h b/lib/librte_eventdev/rte_eventdev_pmd_pci.h
index 443cd38..a3f9244 100644
--- a/lib/librte_eventdev/rte_eventdev_pmd_pci.h
+++ b/lib/librte_eventdev/rte_eventdev_pmd_pci.h
@@ -88,7 +88,6 @@ rte_event_pmd_pci_probe(struct rte_pci_driver *pci_drv,
 	return -ENXIO;
 }
 
-
 /**
  * @internal
  * Wrapper for use by pci drivers as a .remove function to detach a event
diff --git a/lib/librte_eventdev/rte_eventdev_trace.h b/lib/librte_eventdev/rte_eventdev_trace.h
index 4de6341..5ec43d8 100644
--- a/lib/librte_eventdev/rte_eventdev_trace.h
+++ b/lib/librte_eventdev/rte_eventdev_trace.h
@@ -34,6 +34,7 @@ RTE_TRACE_POINT(
 	rte_trace_point_emit_u32(dev_conf->nb_event_port_dequeue_depth);
 	rte_trace_point_emit_u32(dev_conf->nb_event_port_enqueue_depth);
 	rte_trace_point_emit_u32(dev_conf->event_dev_cfg);
+	rte_trace_point_emit_u8(dev_conf->nb_single_link_event_port_queues);
 	rte_trace_point_emit_int(rc);
 )
 
@@ -59,7 +60,7 @@ RTE_TRACE_POINT(
 	rte_trace_point_emit_i32(port_conf->new_event_threshold);
 	rte_trace_point_emit_u16(port_conf->dequeue_depth);
 	rte_trace_point_emit_u16(port_conf->enqueue_depth);
-	rte_trace_point_emit_u8(port_conf->disable_implicit_release);
+	rte_trace_point_emit_u32(port_conf->event_port_cfg);
 	rte_trace_point_emit_int(rc);
 )
 
@@ -165,7 +166,7 @@ RTE_TRACE_POINT(
 	rte_trace_point_emit_i32(port_conf->new_event_threshold);
 	rte_trace_point_emit_u16(port_conf->dequeue_depth);
 	rte_trace_point_emit_u16(port_conf->enqueue_depth);
-	rte_trace_point_emit_u8(port_conf->disable_implicit_release);
+	rte_trace_point_emit_u32(port_conf->event_port_cfg);
 	rte_trace_point_emit_ptr(conf_cb);
 	rte_trace_point_emit_int(rc);
 )
@@ -257,7 +258,7 @@ RTE_TRACE_POINT(
 	rte_trace_point_emit_i32(port_conf->new_event_threshold);
 	rte_trace_point_emit_u16(port_conf->dequeue_depth);
 	rte_trace_point_emit_u16(port_conf->enqueue_depth);
-	rte_trace_point_emit_u8(port_conf->disable_implicit_release);
+	rte_trace_point_emit_u32(port_conf->event_port_cfg);
 )
 
 RTE_TRACE_POINT(
diff --git a/lib/librte_eventdev/rte_eventdev_version.map b/lib/librte_eventdev/rte_eventdev_version.map
index 3d9d0ca..2846d04 100644
--- a/lib/librte_eventdev/rte_eventdev_version.map
+++ b/lib/librte_eventdev/rte_eventdev_version.map
@@ -100,7 +100,6 @@ EXPERIMENTAL {
 	# added in 20.05
 	__rte_eventdev_trace_configure;
 	__rte_eventdev_trace_queue_setup;
-	__rte_eventdev_trace_port_setup;
 	__rte_eventdev_trace_port_link;
 	__rte_eventdev_trace_port_unlink;
 	__rte_eventdev_trace_start;
@@ -134,4 +133,7 @@ EXPERIMENTAL {
 	__rte_eventdev_trace_crypto_adapter_queue_pair_del;
 	__rte_eventdev_trace_crypto_adapter_start;
 	__rte_eventdev_trace_crypto_adapter_stop;
+
+	# changed in 20.11
+	__rte_eventdev_trace_port_setup;
 };
-- 
2.6.4


^ permalink raw reply	[relevance 5%]

* [dpdk-dev] [PATCH 0/2] Eventdev ABI changes
@ 2020-09-11 16:58  9% Timothy McDaniel
  2020-09-11 16:58  5% ` [dpdk-dev] [PATCH 1/2] eventdev: implement ABI change Timothy McDaniel
  2020-09-11 16:58  6% ` [dpdk-dev] [PATCH 2/2] eventdev: update app and examples for new eventdev ABI Timothy McDaniel
  0 siblings, 2 replies; 200+ results
From: Timothy McDaniel @ 2020-09-11 16:58 UTC (permalink / raw)
  Cc: jerinj, mattias.ronnblom, liang.j.ma, peter.mccarthy,
	nipun.gupta, pbhagavatula, dev, erik.g.carrillo, gage.eads,
	harry.van.haaren, hemant.agrawal, bruce.richardson

This series implements the eventdev ABI changes required by
the DLB and DLB2 PMDs. This ABI change was announced in the
20.08 release notes [1]. This patch was initially part of
the V1 DLB PMD patchset.

The DLB hardware does not conform exactly to the eventdev interface.
1) It has a limit on the number of queues that may be linked to a port.
2) Some ports are further restricted to a maximum of 1 linked queue.
3) It does not (currently) have the ability to carry the flow_id as part
of the event (QE) payload.

Due to the above, we would like to propose the following enhancements.

1) Add new fields to the rte_event_dev_info struct. These fields allow
the device to advertise its capabilities so that applications can take
the appropriate actions based on those capabilities.

2) Add a new field to the rte_event_dev_config struct. This field allows
the application to specify how many of its ports are limited to a single
link, or will be used in single link mode.

3) Replace the dedicated implicit_release_disabled field with a bit field
of explicit port capabilities. The implicit_release_disable functionality
is assigned to one bit, and a port-is-single-link-only attribute is
assigned to another, with the remaining bits available for future
assignment.

Note that it was requested that we split this app/test
changes out from the eventdev ABI changes. As a result,
neither of these patches will bujild without the other
also being applied.

[1] http://mails.dpdk.org/archives/dev/2020-August/177261.html 

Timothy McDaniel (2):
  eventdev: implement ABI change
  eventdev: update app and examples for new eventdev ABI

 app/test-eventdev/evt_common.h                     | 11 ++++
 app/test-eventdev/test_order_atq.c                 | 30 +++++++---
 app/test-eventdev/test_order_common.c              |  1 +
 app/test-eventdev/test_order_queue.c               | 31 +++++++---
 app/test/test_eventdev.c                           |  4 +-
 drivers/event/dpaa/dpaa_eventdev.c                 |  3 +-
 drivers/event/dpaa2/dpaa2_eventdev.c               |  5 +-
 drivers/event/dsw/dsw_evdev.c                      |  3 +-
 drivers/event/octeontx/ssovf_evdev.c               |  5 +-
 drivers/event/octeontx2/otx2_evdev.c               |  3 +-
 drivers/event/opdl/opdl_evdev.c                    |  3 +-
 drivers/event/skeleton/skeleton_eventdev.c         |  5 +-
 drivers/event/sw/sw_evdev.c                        |  8 ++-
 drivers/event/sw/sw_evdev_selftest.c               |  6 +-
 .../eventdev_pipeline/pipeline_worker_generic.c    |  6 +-
 examples/eventdev_pipeline/pipeline_worker_tx.c    |  1 +
 examples/l2fwd-event/l2fwd_event_generic.c         |  7 ++-
 examples/l2fwd-event/l2fwd_event_internal_port.c   |  6 +-
 examples/l3fwd/l3fwd_event_generic.c               |  7 ++-
 examples/l3fwd/l3fwd_event_internal_port.c         |  6 +-
 lib/librte_eventdev/rte_event_eth_tx_adapter.c     |  2 +-
 lib/librte_eventdev/rte_eventdev.c                 | 66 +++++++++++++++++++---
 lib/librte_eventdev/rte_eventdev.h                 | 51 ++++++++++++++---
 lib/librte_eventdev/rte_eventdev_pmd_pci.h         |  1 -
 lib/librte_eventdev/rte_eventdev_trace.h           |  7 ++-
 lib/librte_eventdev/rte_eventdev_version.map       |  4 +-
 26 files changed, 218 insertions(+), 64 deletions(-)

-- 
2.6.4


^ permalink raw reply	[relevance 9%]

* [dpdk-dev] [PATCH v3 4/4] build: add abi breakage checks to meson
  2020-09-11 16:03 10%   ` [dpdk-dev] [PATCH v3 0/4] abi breakage checks for meson Conor Walsh
                       ` (2 preceding siblings ...)
  2020-09-11 16:03 21%     ` [dpdk-dev] [PATCH v3 3/4] buildtools: add script to setup abi checks for meson Conor Walsh
@ 2020-09-11 16:03 17%     ` Conor Walsh
  2020-09-14  8:08  8%     ` [dpdk-dev] [PATCH v3 0/4] abi breakage checks for meson Thomas Monjalon
  2020-09-18 12:11 10%     ` [dpdk-dev] [PATCH v4 " Conor Walsh
  5 siblings, 0 replies; 200+ results
From: Conor Walsh @ 2020-09-11 16:03 UTC (permalink / raw)
  To: dev
  Cc: david.marchand, ray.kinsella, nhorman, aconole, maicolgabriel,
	thomas, bruce.richardson, Conor Walsh

This patch adds the ability to run ABI breakage checks to meson.
To do this the developer needs to set the meson build type to debug and
set the version of DPDK that they want to check the ABI against.
The option "abi_checks" has been added to meson for this, the option
accepts DPDK tags e.g. "latest" or "v20.11".
Example meson command: "meson -Dbuildtype=debug -Dabi_checks=v20.11 build"
When the build is done using ninja the ABI checks will be performed
if any breakages are present the build will fail.

Signed-off-by: Conor Walsh <conor.walsh@intel.com>
---
 buildtools/meson.build | 18 ++++++++++++++++++
 config/meson.build     | 15 +++++++++++++++
 drivers/meson.build    | 14 ++++++++++++++
 lib/meson.build        | 14 ++++++++++++++
 meson_options.txt      |  2 ++
 5 files changed, 63 insertions(+)

diff --git a/buildtools/meson.build b/buildtools/meson.build
index 04808dabc..c3ee69a44 100644
--- a/buildtools/meson.build
+++ b/buildtools/meson.build
@@ -17,3 +17,21 @@ else
 endif
 map_to_win_cmd = py3 + files('map_to_win.py')
 sphinx_wrapper = py3 + files('call-sphinx-build.py')
+
+abi_check_version = get_option('abi_checks')
+check_abi = (abi_check_version != '')
+
+abi_dir = ''
+# If abi checks enabled setup abi dump directory
+if check_abi
+	message('ABI checks are being setup. This could take several minutes')
+	setup_run = run_command('abi-setup.py', '-t', abi_check_version, '-d', meson.source_root())
+	# Check if error returned from script
+	if setup_run.returncode() != 0
+		setup_err = setup_run.stderr().strip()
+		error('ABI checks setup script returned an error: ' + setup_err)
+	endif
+	abi_dir = setup_run.stdout().strip()
+endif
+abidiff = find_program('abidiff', required: check_abi)
+abignore = files('../devtools/libabigail.abignore')
diff --git a/config/meson.build b/config/meson.build
index 6996e5cbe..79b90f2cc 100644
--- a/config/meson.build
+++ b/config/meson.build
@@ -47,6 +47,21 @@ else
 	dpdk_conf.set('RTE_VER_RELEASE', 99)
 endif
 
+# abi checks cannot be run on windows
+if is_windows and check_abi
+	error('ABI checks cannot be run on windows')
+endif
+# abi checks can only be run on a debug build
+# meson <0.48 does not support get_option('debug')
+if meson.version().version_compare('>=0.48')
+	debug_enabled = get_option('debug')
+else
+	debug_enabled = get_option('buildtype').startswith('debug')
+endif
+if check_abi and not debug_enabled
+	error('Build type must have debug symbols when abi_checks are enabled')
+endif
+
 pmd_subdir_opt = get_option('drivers_install_subdir')
 if pmd_subdir_opt.contains('<VERSION>')
 	pmd_subdir_opt = abi_version.join(pmd_subdir_opt.split('<VERSION>'))
diff --git a/drivers/meson.build b/drivers/meson.build
index 5f9526557..b24a875da 100644
--- a/drivers/meson.build
+++ b/drivers/meson.build
@@ -208,6 +208,20 @@ foreach subpath:subdirs
 					include_directories: includes,
 					dependencies: static_deps)
 
+			# If abidiff found, abi checks are enabled and the abi dump files for the library are available run abi check
+			dump_name = abi_dir+'/lib' + lib_name + '.dump'
+			if check_abi and run_command('[', '-f', dump_name, ']').returncode() == 0
+				custom_target('lib' + lib_name + '.abi_chk',
+					      command: [abidiff, '--no-added-syms',
+							'--suppr', abignore,
+							'@INPUT@'],
+					      input: [dump_name, shared_lib],
+					      output: 'lib' + lib_name + '.abi_chk',
+					      capture: true,
+					      install: false,
+					      build_by_default: true)
+			endif
+
 			dpdk_drivers += static_lib
 
 			set_variable('shared_@0@'.format(lib_name), shared_dep)
diff --git a/lib/meson.build b/lib/meson.build
index 3852c0156..0d9325b90 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -190,6 +190,20 @@ foreach l:libraries
 					include_directories: includes,
 					dependencies: shared_deps)
 
+			# If abidiff found, abi checks are enabled and the abi dump files for the library are available run abi check
+			dump_name = abi_dir+'/' + dir_name + '.dump'
+			if check_abi and run_command('[', '-f', dump_name, ']').returncode() == 0
+				custom_target(dir_name + '.abi_chk',
+					      command: [abidiff, '--no-added-syms',
+							'--suppr', abignore,
+							'@INPUT@'],
+					      input: [dump_name, shared_lib],
+					      output: dir_name + '.abi_chk',
+					      capture: true,
+					      install: false,
+					      build_by_default: true)
+			endif
+
 			dpdk_libraries = [shared_lib] + dpdk_libraries
 			dpdk_static_libraries = [static_lib] + dpdk_static_libraries
 		endif # sources.length() > 0
diff --git a/meson_options.txt b/meson_options.txt
index 9bf18ab6b..26ac48f45 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -1,5 +1,7 @@
 # Please keep these options sorted alphabetically.
 
+option('abi_checks', type: 'string', value: '',
+    description: 'Enable abi compatibility checks to run during the build. This requires debug build to be enabled. Input is latest or git tag e.g. v20.11')
 option('armv8_crypto_dir', type: 'string', value: '',
 	description: 'path to the armv8_crypto library installation directory')
 option('disable_drivers', type: 'string', value: '',
-- 
2.25.1


^ permalink raw reply	[relevance 17%]

* [dpdk-dev] [PATCH v3 3/4] buildtools: add script to setup abi checks for meson
  2020-09-11 16:03 10%   ` [dpdk-dev] [PATCH v3 0/4] abi breakage checks for meson Conor Walsh
  2020-09-11 16:03 15%     ` [dpdk-dev] [PATCH v3 1/4] devtools: bug fix for gen-abi.sh Conor Walsh
  2020-09-11 16:03 20%     ` [dpdk-dev] [PATCH v3 2/4] devtools: add generation of compressed abi dump archives Conor Walsh
@ 2020-09-11 16:03 21%     ` Conor Walsh
  2020-09-11 16:03 17%     ` [dpdk-dev] [PATCH v3 4/4] build: add abi breakage checks to meson Conor Walsh
                       ` (2 subsequent siblings)
  5 siblings, 0 replies; 200+ results
From: Conor Walsh @ 2020-09-11 16:03 UTC (permalink / raw)
  To: dev
  Cc: david.marchand, ray.kinsella, nhorman, aconole, maicolgabriel,
	thomas, bruce.richardson, Conor Walsh

This patch adds a script that is intended to be invoked by meson to
do the required setup for performing ABI breakage checks at build time.
The required ABI dump archives can come from several sources including
being generated at build time or prebuilt archives can be pulled from a
remote http location or local directory.
Invoke using "./abi-setup.py -t <tag> -d <dpdk_source_path>"
 - <tag>: dpdk tag e.g. "v20.11"
 - <dpdk_source_path>: path to dpdk source directory
E.g. "./abi-setup.py -t v20.08 -d /root/dpdk"
As this script is intended to be run by meson during a build
some options can be specified by environmental variables:
 - DPDK_ABI_DUMPS_PATH: Can be used to specify a custom directory for the
   systems dump directories.
 - CC: The required compiler will be determined using this
   environmental variable
 - DPDK_ABI_TAR_URI: Can be used to specify a location that the script
   can pull prebuilt or cached dump archives from. This can be a remote
   http location or a local directory
After the script has setup an appropriate ABI dump directory using one of
the multiple methods available to it, it will print the location of this
directory to the command line.

Signed-off-by: Conor Walsh <conor.walsh@intel.com>
---
 buildtools/abi-setup.py | 104 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 104 insertions(+)
 create mode 100755 buildtools/abi-setup.py

diff --git a/buildtools/abi-setup.py b/buildtools/abi-setup.py
new file mode 100755
index 000000000..3bdef4925
--- /dev/null
+++ b/buildtools/abi-setup.py
@@ -0,0 +1,104 @@
+#!/usr/bin/env python3
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2020 Intel Corporation
+
+import sys
+import os
+import argparse
+
+# Get command line arguments
+parser = argparse.ArgumentParser(usage='\rThis script is intended to setup ABI dumps for meson to perform ABI checks\n'+
+                                       'Supported environmental variables\n'+
+                                       '\t- DPDK_ABI_DUMPS_PATH: Can be used to specify a custom directory for the systems dump directories.\n'+
+                                       '\t- CC: The required compiler will be determined using this environmental variable.\n'+
+                                       '\t- DPDK_ABI_TAR_URI: Can be used to specify a location that the script can pull prebuilt or cached dump archives from. This can be a remote http location or a local directory.\n')
+parser.add_argument('-t', '--tag', dest='tag', type=str, help='DPDK tag e.g. latest or v20.11')
+parser.add_argument('-d', '--dpdk', dest='dpdk', type=str, help='Path to DPDK source directory')
+args = parser.parse_args()
+
+# Get the DPDK tag if not supplied set as latest
+if args.tag:
+    user_tag = args.tag
+else:
+    user_tag = 'latest'
+
+tag = ''
+# If the user did not supply tag or wants latest then get latest tag
+if user_tag == 'latest':
+    # Get latest quarterly build tag from git repo
+    tag = os.popen('git ls-remote --tags http://dpdk.org/git/dpdk | grep -v "rc\|{}" | tail -n 1 | sed "s/.*\///"').read().strip()
+else:
+    tag = user_tag
+    # If the user supplied tag does not exist then fail
+    tag_check = int(os.popen('git ls-remote http://dpdk.org/git/dpdk refs/tags/'+tag+' | wc -l').read().strip())
+    if tag_check != 1:
+        sys.stderr.write('ERROR supplied tag does not exist in DPDK repo\n')
+        exit(1)
+
+# Get the specified compiler from system
+comp_env = 'CC'
+if comp_env in os.environ:
+    comp = os.environ[comp_env]
+else:
+    comp = 'gcc'
+
+# Get the systems architecture
+arch = os.popen('uname -m').read().strip()
+
+# Get devtools path
+devtools_path = ''
+if args.dpdk:
+    devtools_path = os.path.abspath(os.path.join(args.dpdk,'devtools'))
+else:
+    sys.stderr.write('ERROR DPDK source directory must be specified\n')
+    exit(1)
+
+# Get the abi dumps folder from args or env fail if none supplied
+abi_folder = ''
+abi_env = 'DPDK_ABI_DUMPS_PATH'
+if abi_env in os.environ:
+    abi_folder = os.path.abspath(os.environ[abi_env])
+else:
+    abi_folder = os.path.abspath(os.path.join(args.dpdk,'abi_dumps'))
+
+# If the directory doesn't exist create it and add a README to explain what it does
+if not os.path.exists(abi_folder):
+    os.makedirs(abi_folder)
+    f=open(abi_folder+'/README','w+')
+    f.write('This directory has been setup to contain the ABI dump folders needed to perform ABI checks\n')
+    f.write('Directories here must be in the format {DPDK Tag}-{Compiler ID}-{Architecture}-abi_dump\n')
+    f.write('e.g. v20.11-gcc-x86_64-abi_dump\n')
+    f.write('Directories that do not use this format will not be picked up by the meson ABI checks\n')
+    f.write('This directory is managed automatically unless desired by the user\n')
+    f.close()
+
+# Move to abi folder
+os.chdir(abi_folder)
+abi_dump=tag+'-'+comp+'-'+arch+'-abi_dump'
+# Download and untar abi dump if not present
+if not os.path.exists(abi_dump):
+    # Check DPDK_ABI_TAR_URI for the location of the tarballs local or web
+    tar_uri_env = 'DPDK_ABI_TAR_URI'
+    if tar_uri_env in os.environ:
+        abi_tar_uri = os.environ[tar_uri_env]
+        if abi_tar_uri.startswith('http'):
+            # Wget the required tarball
+            os.popen('wget '+os.path.join(abi_tar_uri,abi_dump)+'.tar.gz >/dev/null 2>&1').read()
+        else:
+            abi_tar_uri = os.path.abspath(abi_tar_uri)
+            os.popen('cp '+os.path.join(abi_tar_uri,abi_dump)+'.tar.gz . >/dev/null 2>&1').read()
+    # Check tarball was downloaded
+    if os.path.isfile(abi_dump+'.tar.gz'):
+        os.popen('tar -xzf '+abi_dump+'.tar.gz >/dev/null 2>&1').read()
+        os.popen('rm -rf '+abi_dump+'.tar.gz').read()
+    # If the tarball was not found then generate it
+    else:
+        os.popen(os.path.join(devtools_path,'gen-abi-tarball.py')+' -t '+tag+' -a '+arch+' >/dev/null').read()
+        if not os.path.isfile(abi_dump+'.tar.gz'):
+            sys.stderr.write('ERROR ABI check generation failed\n')
+            exit(1)
+        os.popen('tar -xzf '+abi_dump+'.tar.gz >/dev/null 2>&1').read()
+        os.popen('rm -rf '+abi_dump+'.tar.gz').read()
+
+# Tell user where specified directory is
+print(os.path.abspath(abi_dump))
-- 
2.25.1


^ permalink raw reply	[relevance 21%]

* [dpdk-dev] [PATCH v3 0/4] abi breakage checks for meson
  2020-09-10 14:21 10% ` [dpdk-dev] [PATCH v2 0/4] abi breakage checks for meson Conor Walsh
                     ` (3 preceding siblings ...)
  2020-09-10 14:21 17%   ` [dpdk-dev] [PATCH v2 4/4] build: add abi breakage checks to meson Conor Walsh
@ 2020-09-11 16:03 10%   ` Conor Walsh
  2020-09-11 16:03 15%     ` [dpdk-dev] [PATCH v3 1/4] devtools: bug fix for gen-abi.sh Conor Walsh
                       ` (5 more replies)
  4 siblings, 6 replies; 200+ results
From: Conor Walsh @ 2020-09-11 16:03 UTC (permalink / raw)
  To: dev
  Cc: david.marchand, ray.kinsella, nhorman, aconole, maicolgabriel,
	thomas, bruce.richardson, Conor Walsh

This patchset allows developers to check ABI breakages during build
time.
Currently checking that the DPDK ABI has not changed before up-streaming
code is not intuitive. The current method, requires the contributor to
use either the test-build.sh and test-meson-build.sh tools, along side
some environmental variables to test their changes. Contributors in many
cases are either unaware or unable to do this themselves, leading to a
potentially serious situation where they are unknowingly up-streaming
code that breaks the ABI. These breakages are then caught by Travis, but
it is more efficient if this is caught locally before up-streaming.

---
v2: Spelling mistake, corrected spelling of environmental

---
v3:
 - Fix for bug which now allows meson < 0.48.0 to be used
 - Various coding style changes throughout
 - Minor bug fixes to the various meson.build files

Conor Walsh (4):
  devtools: bug fix for gen-abi.sh
  devtools: add generation of compressed abi dump archives
  buildtools: add script to setup abi checks for meson
  build: add abi breakage checks to meson

 buildtools/abi-setup.py     | 104 ++++++++++++++++++++++++++++++
 buildtools/meson.build      |  18 ++++++
 config/meson.build          |  15 +++++
 devtools/gen-abi-tarball.py | 125 ++++++++++++++++++++++++++++++++++++
 devtools/gen-abi.sh         |   6 +-
 drivers/meson.build         |  14 ++++
 lib/meson.build             |  14 ++++
 meson_options.txt           |   2 +
 8 files changed, 293 insertions(+), 5 deletions(-)
 create mode 100755 buildtools/abi-setup.py
 create mode 100755 devtools/gen-abi-tarball.py

-- 
2.25.1


^ permalink raw reply	[relevance 10%]

* [dpdk-dev] [PATCH v3 1/4] devtools: bug fix for gen-abi.sh
  2020-09-11 16:03 10%   ` [dpdk-dev] [PATCH v3 0/4] abi breakage checks for meson Conor Walsh
@ 2020-09-11 16:03 15%     ` Conor Walsh
  2020-09-11 16:03 20%     ` [dpdk-dev] [PATCH v3 2/4] devtools: add generation of compressed abi dump archives Conor Walsh
                       ` (4 subsequent siblings)
  5 siblings, 0 replies; 200+ results
From: Conor Walsh @ 2020-09-11 16:03 UTC (permalink / raw)
  To: dev
  Cc: david.marchand, ray.kinsella, nhorman, aconole, maicolgabriel,
	thomas, bruce.richardson, Conor Walsh

This patch fixes a bug with the gen-abi.sh script in devtools.
When ran on an install directory the script would try to generate
.dump files from directories as well as the .so files which is
not correct.
Example error: abidw: gcc/lib/librte_net.so.21.0.p is not a regular file
To rectify this the regex that finds the appropriate .so files has been
changed and the file test has been removed.
This change was tested with the ABI_CHECK Travis checks in DPDK 20.08.
Travis build:
https://travis-ci.com/github/conorwalsh-intel/dpdk/jobs/382812849

Signed-off-by: Conor Walsh <conor.walsh@intel.com>
---
 devtools/gen-abi.sh | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/devtools/gen-abi.sh b/devtools/gen-abi.sh
index c44b0e228..da6fe0556 100755
--- a/devtools/gen-abi.sh
+++ b/devtools/gen-abi.sh
@@ -16,11 +16,7 @@ fi
 dumpdir=$installdir/dump
 rm -rf $dumpdir
 mkdir -p $dumpdir
-for f in $(find $installdir -name "*.so.*"); do
-	if test -L $f; then
-		continue
-	fi
-
+for f in $(find $installdir -name "*.so"); do
 	libname=$(basename $f)
 	abidw --out-file $dumpdir/${libname%.so*}.dump $f
 done
-- 
2.25.1


^ permalink raw reply	[relevance 15%]

* [dpdk-dev] [PATCH v3 2/4] devtools: add generation of compressed abi dump archives
  2020-09-11 16:03 10%   ` [dpdk-dev] [PATCH v3 0/4] abi breakage checks for meson Conor Walsh
  2020-09-11 16:03 15%     ` [dpdk-dev] [PATCH v3 1/4] devtools: bug fix for gen-abi.sh Conor Walsh
@ 2020-09-11 16:03 20%     ` Conor Walsh
  2020-09-14 12:50  4%       ` Burakov, Anatoly
  2020-09-11 16:03 21%     ` [dpdk-dev] [PATCH v3 3/4] buildtools: add script to setup abi checks for meson Conor Walsh
                       ` (3 subsequent siblings)
  5 siblings, 1 reply; 200+ results
From: Conor Walsh @ 2020-09-11 16:03 UTC (permalink / raw)
  To: dev
  Cc: david.marchand, ray.kinsella, nhorman, aconole, maicolgabriel,
	thomas, bruce.richardson, Conor Walsh

This patch adds a script that generates a compressed archive
containing .dump files which can be used to perform ABI
breakage checking for the build specified in the parameters.
Invoke using "./gen-abi-tarball.py -t <tag> -a <arch> [-cf <cross-file>]"
 - <tag>: dpdk tag e.g. "v20.11"
 - <arch>: required architecture e.g. "arm" or "x86_64"
 - <cross-file>: configuration file for cross compiling for another
                 system, this flag is not required.
                 e.g. "config/arm/arm64_armv8_linux_gcc"
E.g. "./gen-abi-tarball.py -t latest -a x86_64"
If a compiler is not specified using the CC environmental variable then
the script will default to using gcc.
Using these parameters the script will produce a .tar.gz archive
containing .dump files required to do ABI breakage checking

Signed-off-by: Conor Walsh <conor.walsh@intel.com>
---
 devtools/gen-abi-tarball.py | 125 ++++++++++++++++++++++++++++++++++++
 1 file changed, 125 insertions(+)
 create mode 100755 devtools/gen-abi-tarball.py

diff --git a/devtools/gen-abi-tarball.py b/devtools/gen-abi-tarball.py
new file mode 100755
index 000000000..06761fca6
--- /dev/null
+++ b/devtools/gen-abi-tarball.py
@@ -0,0 +1,125 @@
+#!/usr/bin/env python3
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2020 Intel Corporation
+
+import sys
+import os
+import argparse
+
+# Get command line arguments
+parser = argparse.ArgumentParser(usage='\rThis script is intended to generate ABI dump tarballs\n'+
+                                       'Supported environmental variables\n'+
+                                       '\t- CC: The required compiler will be determined using this environmental variable.\n')
+parser.add_argument('-t', '--tag', type=str, dest='tag', help='DPDK tag e.g. latest or v20.11')
+parser.add_argument('-cf', '--cross-file', type=str, dest='crosscompile', help='Set the location of a cross compile config')
+parser.add_argument('-a', '--arch', type=str, dest='arch', help='Arch arm or x86_64')
+args = parser.parse_args()
+
+# Get the DPDK tag if not supplied set as latest
+if args.tag:
+    user_tag = args.tag
+else:
+    user_tag = 'latest'
+    print('No tag supplied defaulting to latest')
+
+# Get the cross-compile option
+if args.crosscompile:
+    cross_comp = args.crosscompile
+    if not args.arch:
+        sys.stderr.write('ERROR Arch must be set using -a when using cross compile\n')
+        exit(1)
+    cross_comp = os.path.abspath(cross_comp)
+    cross_comp_meson = '--cross-file '+cross_comp
+else:
+    cross_comp = ''
+    cross_comp_meson = ''
+
+# Get the required system architecture if not supplied set as x86_64
+if args.arch:
+    arch = args.arch
+else:
+    arch = os.popen('uname -m').read().strip()
+    print('No system architecture supplied defaulting to '+arch)
+
+tag = ''
+# If the user did not supply tag or wants latest then get latest tag
+if user_tag == 'latest':
+    # Get latest quarterly build tag from git repo
+    tag = os.popen('git ls-remote --tags http://dpdk.org/git/dpdk | grep -v "rc\|{}" | tail -n 1 | sed "s/.*\///"').read().strip()
+else:
+    tag = user_tag
+    # If the user supplied tag is not in the DPDK repo then fail
+    tag_check = int(os.popen('git ls-remote http://dpdk.org/git/dpdk refs/tags/'+tag+' | wc -l').read().strip())
+    if tag_check != 1:
+        sys.stderr.write('ERROR supplied tag does not exist in DPDK repo\n')
+        exit(1)
+
+# Get the specified compiler from system
+comp_env = 'CC'
+if comp_env in os.environ:
+    comp = os.environ[comp_env]
+    comp_default = ''
+else:
+    print('No compiler specified, defaulting to gcc')
+    comp = 'gcc'
+    comp_default = 'CC=gcc'
+
+# Print the configuration to the user
+print('\nSelected Build: '+tag+', Compiler: '+comp+', Architecture: '+arch+', Cross Compile: '+cross_comp)
+
+# Store the base directory script is working from
+baseDir = os.getcwd()
+# Store devtools dir
+devtoolsDir = os.path.abspath(os.path.dirname(os.path.realpath(sys.argv[0])))
+
+# Create directory for DPDK git repo and build
+try:
+    os.mkdir('dump_dpdk')
+except OSError as error:
+    sys.stderr.write('ERROR The dump_dpdk directory could not be created, ensure it does not exist before start\n')
+    exit(1)
+os.chdir('dump_dpdk')
+# Clone DPDK and switch to specified tag
+print('Cloning '+tag+' from DPDK git')
+os.popen('git clone --quiet http://dpdk.org/git/dpdk >/dev/null').read()
+os.chdir('dpdk')
+os.popen('git checkout --quiet '+tag+' >/dev/null').read()
+
+# Create build folder with meson and set debug build and cross compile (if needed)
+print('Configuring Meson')
+os.popen(comp_default+' meson dumpbuild '+cross_comp_meson+' >/dev/null').read()
+os.chdir('dumpbuild')
+os.popen('meson configure -Dbuildtype=debug >/dev/null').read()
+print('Building DPDK . . .')
+#Build DPDK with ninja
+os.popen('ninja >/dev/null').read()
+gccDir = os.getcwd()
+
+# Create directory for abi dump files
+dumpDir = os.path.join(baseDir,tag+'-'+comp+'-'+arch+'-abi_dump')
+try:
+    os.mkdir(dumpDir)
+except OSError as error:
+    sys.stderr.write('ERROR The '+dumpDir+' directory could not be created\n')
+    os.popen('rm -rf '+os.path.join(baseDir,'dump_dpdk')).read()
+    exit(1)
+
+# Create dump files and output to dump directory
+print('Generating ABI dump files')
+genabiout = os.popen(os.path.join(devtoolsDir,'gen-abi.sh')+' '+gccDir).read()
+os.popen('cp dump/* '+dumpDir).read()
+
+# Compress the dump directory
+print('Creating Tarball of dump files')
+os.chdir(baseDir)
+origSize = os.popen('du -sh '+dumpDir+' | sed "s/\s.*$//"').read()
+os.popen('tar -czf '+dumpDir.split('/')[-1]+'.tar.gz '+dumpDir.split('/')[-1]+' >/dev/null').read()
+newSize = os.popen('du -sh '+dumpDir+'.tar.gz | sed "s/\s.*$//"').read()
+
+# Remove all temporary directories
+print('Cleaning up temporary directories')
+os.popen('rm -rf '+dumpDir).read()
+os.popen('rm -rf '+os.path.join(baseDir,'dump_dpdk')).read()
+
+#Print output of the script to the user
+print('\nDump of DPDK ABI '+tag+' is available in '+dumpDir.split('/')[-1]+'.tar.gz (Original Size: '+origSize.strip()+', Compressed Size:'+newSize.strip()+')\n')
-- 
2.25.1


^ permalink raw reply	[relevance 20%]

* [dpdk-dev] [PATCH v2] kernel: remove igb_uio
  2020-09-07 22:50  4% [dpdk-dev] [PATCH] kernel: remove igb_uio Thomas Monjalon
@ 2020-09-11 15:54  3% ` Thomas Monjalon
  0 siblings, 0 replies; 200+ results
From: Thomas Monjalon @ 2020-09-11 15:54 UTC (permalink / raw)
  To: dev; +Cc: david.marchand, ferruh.yigit, jerinj, stephen

As decided in the Technical Board in November 2019,
the kernel module igb_uio is moved to the dpdk-kmods repository
in the /linux/igb_uio/ directory.

Minutes of Technical Board meeting:
https://mails.dpdk.org/archives/dev/2019-November/151763.html

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
v2: update few docs (including release notes)
---
 MAINTAINERS                            |   1 -
 doc/guides/linux_gsg/enable_func.rst   |   5 +-
 doc/guides/linux_gsg/linux_drivers.rst |  21 +-
 doc/guides/rel_notes/deprecation.rst   |   7 -
 doc/guides/rel_notes/release_20_11.rst |   3 +
 kernel/linux/igb_uio/Kbuild            |   2 -
 kernel/linux/igb_uio/compat.h          | 154 ------
 kernel/linux/igb_uio/igb_uio.c         | 660 -------------------------
 kernel/linux/igb_uio/meson.build       |  20 -
 kernel/linux/meson.build               |   2 +-
 10 files changed, 12 insertions(+), 863 deletions(-)
 delete mode 100644 kernel/linux/igb_uio/Kbuild
 delete mode 100644 kernel/linux/igb_uio/compat.h
 delete mode 100644 kernel/linux/igb_uio/igb_uio.c
 delete mode 100644 kernel/linux/igb_uio/meson.build

diff --git a/MAINTAINERS b/MAINTAINERS
index 3b16d7a4b8..d74bec58e1 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -292,7 +292,6 @@ F: doc/guides/linux_gsg/
 
 Linux UIO
 M: Ferruh Yigit <ferruh.yigit@intel.com>
-F: kernel/linux/igb_uio/
 F: drivers/bus/pci/linux/*uio*
 
 Linux VFIO
diff --git a/doc/guides/linux_gsg/enable_func.rst b/doc/guides/linux_gsg/enable_func.rst
index b2bda80bb7..a6c5a980fd 100644
--- a/doc/guides/linux_gsg/enable_func.rst
+++ b/doc/guides/linux_gsg/enable_func.rst
@@ -129,7 +129,7 @@ Loading the DPDK KNI Kernel Module
 
 To run the DPDK Kernel NIC Interface (KNI) sample application, an extra kernel module (the kni module) must be loaded into the running kernel.
 The module is found in the kmod sub-directory of the DPDK target directory.
-Similar to the loading of the ``igb_uio`` module, this module should be loaded using the insmod command as shown below
+This module should be loaded using the insmod command as shown below
 (assuming that the current directory is the DPDK target directory):
 
 .. code-block:: console
@@ -156,4 +156,5 @@ This results in pass-through of the DMAR (DMA Remapping) lookup in the host.
 Also, if ``INTEL_IOMMU_DEFAULT_ON`` is not set in the kernel, the ``intel_iommu=on`` kernel parameter must be used too.
 This ensures that the Intel IOMMU is being initialized as expected.
 
-Please note that while using ``iommu=pt`` is compulsory for ``igb_uio driver``, the ``vfio-pci`` driver can actually work with both ``iommu=pt`` and ``iommu=on``.
+Please note that while using ``iommu=pt`` is compulsory for ``igb_uio`` driver,
+the ``vfio-pci`` driver can actually work with both ``iommu=pt`` and ``iommu=on``.
diff --git a/doc/guides/linux_gsg/linux_drivers.rst b/doc/guides/linux_gsg/linux_drivers.rst
index 185074013a..0024b23050 100644
--- a/doc/guides/linux_gsg/linux_drivers.rst
+++ b/doc/guides/linux_gsg/linux_drivers.rst
@@ -27,31 +27,20 @@ can provide the uio capability. This module can be loaded using the command:
 
     ``uio_pci_generic`` module doesn't support the creation of virtual functions.
 
-As an alternative to the ``uio_pci_generic``, the DPDK also includes the igb_uio
-module which can be found in the kmod subdirectory referred to above. It can
-be loaded as shown below:
+As an alternative to the ``uio_pci_generic``, there is the ``igb_uio`` module
+which can be found in the repository ``dpdk-kmods``.
+It can be loaded as shown below:
 
 .. code-block:: console
 
     sudo modprobe uio
-    sudo insmod kmod/igb_uio.ko
-
-.. note::
-
-   ``igb_uio`` module is disabled by default starting from ``DPDK v20.02``.
-   To build it, the config option ``CONFIG_RTE_EAL_IGB_UIO`` should be enabled.
-   It is planned to move ``igb_uio`` module to a different git repository.
-
-.. note::
-
-    For some devices which lack support for legacy interrupts, e.g. virtual function
-    (VF) devices, the ``igb_uio`` module may be needed in place of ``uio_pci_generic``.
+    sudo insmod igb_uio.ko
 
 .. note::
 
    If UEFI secure boot is enabled, the Linux kernel may disallow the use of
    UIO on the system. Therefore, devices for use by DPDK should be bound to the
-   ``vfio-pci`` kernel module rather than ``igb_uio`` or ``uio_pci_generic``.
+   ``vfio-pci`` kernel module rather than any UIO-based module.
    For more details see :ref:`linux_gsg_binding_kernel` below.
 
 .. note::
diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 88d7d07613..64d1c7fdff 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -96,13 +96,6 @@ Deprecation Notices
   used in the place of rte_cio_*mb APIs. The rte_cio_*mb APIs will be
   deprecated in 20.11 release.
 
-* igb_uio: In the view of reducing the kernel dependency from the main tree,
-  as a first step, the Technical Board decided to move ``igb_uio``
-  kernel module to the dpdk-kmods repository in the /linux/igb_uio/ directory
-  in 20.11.
-  Minutes of Technical Board Meeting of `2019-11-06
-  <https://mails.dpdk.org/archives/dev/2019-November/151763.html>`_.
-
 * lib: will fix extending some enum/define breaking the ABI. There are multiple
   samples in DPDK that enum/define terminated with a ``.*MAX.*`` value which is
   used by iterators, and arrays holding these values are sized with this
diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index 667e3d54ad..ba4e237d1f 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -68,6 +68,9 @@ Removed Items
    Also, make sure to start the actual text at the margin.
    =======================================================
 
+kernel: The module ``igb_uio`` has been moved to the git repository
+``dpdk-kmods`` in a new directory ``linux/igb_uio``.
+
 
 API Changes
 -----------
diff --git a/kernel/linux/igb_uio/Kbuild b/kernel/linux/igb_uio/Kbuild
deleted file mode 100644
index 3ab85c4116..0000000000
diff --git a/kernel/linux/igb_uio/compat.h b/kernel/linux/igb_uio/compat.h
deleted file mode 100644
index 8dbb896ae1..0000000000
diff --git a/kernel/linux/igb_uio/igb_uio.c b/kernel/linux/igb_uio/igb_uio.c
deleted file mode 100644
index 039f5a5f63..0000000000
diff --git a/kernel/linux/igb_uio/meson.build b/kernel/linux/igb_uio/meson.build
deleted file mode 100644
index 80540aecee..0000000000
diff --git a/kernel/linux/meson.build b/kernel/linux/meson.build
index da79df1687..5c864a4653 100644
--- a/kernel/linux/meson.build
+++ b/kernel/linux/meson.build
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Intel Corporation
 
-subdirs = ['igb_uio', 'kni']
+subdirs = ['kni']
 
 # if we are cross-compiling we need kernel_dir specified
 if get_option('kernel_dir') == '' and meson.is_cross_build()
-- 
2.28.0


^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] [PATCH v3 0/7] Enhance rawdev APIs
  2020-09-10 14:36  4% ` [dpdk-dev] [PATCH v3 " Bruce Richardson
                     ` (5 preceding siblings ...)
  2020-09-10 14:36  4%   ` [dpdk-dev] [PATCH v3 7/7] doc: remove rawdev deprecation notice Bruce Richardson
@ 2020-09-11  9:56  0%   ` Thomas Monjalon
  6 siblings, 0 replies; 200+ results
From: Thomas Monjalon @ 2020-09-11  9:56 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: dev

Bruce Richardson <bruce.richardson@intel.com> wrote:
> This patchset proposes some internal and externally-visible changes to the
> rawdev API, the ABI change of which were previously announced.
> 
> The changes are in two main areas:
> * For any APIs which take a void * parameter for driver-specific structs,
> 
>   add an additional parameter to provide the struct length. This allows
>   some runtime type-checking, as well as possible ABI-compatibility support
>   in the future as structure change generally involve a change in the size
>   of the structure.
> 
> * Ensure all APIs which can return error values have int type, rather than
> 
>   void. Since functions like info_get and queue_default_get can now do some
>   typechecking, they need to be modified to allow them to return error
>   codes on failure.
> 
> V3:
>   - fix doxygen error
>   - add release note update for changes to public APIs
> 
> V2:
>   - add additional patch to make start/stop functions optional
>   - remove deprecation notice once changes applied

Applied, thanks



^ permalink raw reply	[relevance 0%]

* [dpdk-dev] [PATCH 2/2] mbuf: remove external buffer atomically accessed refcnt
    2020-09-11  7:35  5% ` [dpdk-dev] [PATCH 1/2] mbuf: remove generic mbuf atomically accessed refcnt Phil Yang
@ 2020-09-11  7:35  5% ` Phil Yang
  1 sibling, 0 replies; 200+ results
From: Phil Yang @ 2020-09-11  7:35 UTC (permalink / raw)
  To: konstantin.ananyev, david.marchand, olivier.matz, dev
  Cc: Honnappa.Nagarahalli, Ruifeng.Wang, nd, John McNamara, Marko Kovacevic

Remove the deprecated refcnt_atomic union fields in
rte_mbuf_ext_shared_info structure.

Signed-off-by: Phil Yang <phil.yang@arm.com>
Reviewed-by: Ruifeng wang <ruifeng.wang@arm.com>
---
 doc/guides/rel_notes/release_20_11.rst | 4 ++--
 lib/librte_mbuf/rte_mbuf_core.h        | 6 +-----
 2 files changed, 3 insertions(+), 7 deletions(-)

diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index 6eeeffc..6c90d75 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -100,8 +100,8 @@ ABI Changes
    Also, make sure to start the actual text at the margin.
    =======================================================
 
-* mbuf: The field ``refcnt_atomic`` has been removed from structure
-  ``rte_mbuf``.
+* mbuf: The field ``refcnt_atomic`` has been removed from structures
+  ``rte_mbuf`` and ``rte_mbuf_ext_shared_info``.
 
 Known Issues
 ------------
diff --git a/lib/librte_mbuf/rte_mbuf_core.h b/lib/librte_mbuf/rte_mbuf_core.h
index 71fd6f5..cee3d5a 100644
--- a/lib/librte_mbuf/rte_mbuf_core.h
+++ b/lib/librte_mbuf/rte_mbuf_core.h
@@ -674,11 +674,7 @@ typedef void (*rte_mbuf_extbuf_free_callback_t)(void *addr, void *opaque);
 struct rte_mbuf_ext_shared_info {
 	rte_mbuf_extbuf_free_callback_t free_cb; /**< Free callback function */
 	void *fcb_opaque;                        /**< Free callback argument */
-	RTE_STD_C11
-	union {
-		rte_atomic16_t refcnt_atomic; /**< Atomically accessed refcnt */
-		uint16_t refcnt;
-	};
+	uint16_t refcnt;
 };
 
 /**< Maximum number of nb_segs allowed. */
-- 
2.7.4


^ permalink raw reply	[relevance 5%]

* [dpdk-dev] [PATCH 1/2] mbuf: remove generic mbuf atomically accessed refcnt
  @ 2020-09-11  7:35  5% ` Phil Yang
  2020-09-11  7:35  5% ` [dpdk-dev] [PATCH 2/2] mbuf: remove external buffer " Phil Yang
  1 sibling, 0 replies; 200+ results
From: Phil Yang @ 2020-09-11  7:35 UTC (permalink / raw)
  To: konstantin.ananyev, david.marchand, olivier.matz, dev
  Cc: Honnappa.Nagarahalli, Ruifeng.Wang, nd, John McNamara, Marko Kovacevic

Remove the deprecated refcnt_atomic union fields in rte_mbuf
structure.

Signed-off-by: Phil Yang <phil.yang@arm.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
---
 doc/guides/rel_notes/release_20_11.rst | 2 ++
 lib/librte_mbuf/rte_mbuf_core.h        | 7 +------
 2 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index df227a1..6eeeffc 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -100,6 +100,8 @@ ABI Changes
    Also, make sure to start the actual text at the margin.
    =======================================================
 
+* mbuf: The field ``refcnt_atomic`` has been removed from structure
+  ``rte_mbuf``.
 
 Known Issues
 ------------
diff --git a/lib/librte_mbuf/rte_mbuf_core.h b/lib/librte_mbuf/rte_mbuf_core.h
index 8cd7137..71fd6f5 100644
--- a/lib/librte_mbuf/rte_mbuf_core.h
+++ b/lib/librte_mbuf/rte_mbuf_core.h
@@ -495,12 +495,7 @@ struct rte_mbuf {
 	 * or non-atomic) is controlled by the CONFIG_RTE_MBUF_REFCNT_ATOMIC
 	 * config option.
 	 */
-	RTE_STD_C11
-	union {
-		rte_atomic16_t refcnt_atomic; /**< Atomically accessed refcnt */
-		/** Non-atomically accessed refcnt */
-		uint16_t refcnt;
-	};
+	uint16_t refcnt;
 	uint16_t nb_segs;         /**< Number of segments. */
 
 	/** Input port (16 bits to support more than 256 virtual ports).
-- 
2.7.4


^ permalink raw reply	[relevance 5%]

* [dpdk-dev] [PATCH v2 2/2] eal: remove RTE CIO barriers
  @ 2020-09-11  5:26  4%   ` Phil Yang
  2020-09-14 22:51  0%     ` Honnappa Nagarahalli
  0 siblings, 1 reply; 200+ results
From: Phil Yang @ 2020-09-11  5:26 UTC (permalink / raw)
  To: dev
  Cc: Honnappa.Nagarahalli, Ruifeng.Wang, joyce.kong, nd,
	John McNamara, Marko Kovacevic, Jan Viktorin, Ruifeng Wang,
	Jerin Jacob, David Christensen, Bruce Richardson,
	Konstantin Ananyev

Remove the deprecated rte_cio_[rw]mb APIs.

Signed-off-by: Phil Yang <phil.yang@arm.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
---
 doc/guides/rel_notes/release_20_11.rst      |  3 +++
 lib/librte_eal/arm/include/rte_atomic_32.h  |  4 ---
 lib/librte_eal/arm/include/rte_atomic_64.h  |  4 ---
 lib/librte_eal/include/generic/rte_atomic.h | 39 -----------------------------
 lib/librte_eal/ppc/include/rte_atomic.h     |  4 ---
 lib/librte_eal/x86/include/rte_atomic.h     |  4 ---
 6 files changed, 3 insertions(+), 55 deletions(-)

diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index df227a1..7090caf 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -84,6 +84,9 @@ API Changes
    Also, make sure to start the actual text at the margin.
    =======================================================
 
+* eal: The ``rte_cio_rmb()`` and ``rte_cio_wmb()`` were deprecated since
+  20.08 and are removed in this release.
+
 
 ABI Changes
 -----------
diff --git a/lib/librte_eal/arm/include/rte_atomic_32.h b/lib/librte_eal/arm/include/rte_atomic_32.h
index 368f10c..9d0568d 100644
--- a/lib/librte_eal/arm/include/rte_atomic_32.h
+++ b/lib/librte_eal/arm/include/rte_atomic_32.h
@@ -33,10 +33,6 @@ extern "C" {
 
 #define rte_io_rmb() rte_rmb()
 
-#define rte_cio_wmb() rte_wmb()
-
-#define rte_cio_rmb() rte_rmb()
-
 static __rte_always_inline void
 rte_atomic_thread_fence(int memory_order)
 {
diff --git a/lib/librte_eal/arm/include/rte_atomic_64.h b/lib/librte_eal/arm/include/rte_atomic_64.h
index 5cae52d..c518559 100644
--- a/lib/librte_eal/arm/include/rte_atomic_64.h
+++ b/lib/librte_eal/arm/include/rte_atomic_64.h
@@ -37,10 +37,6 @@ extern "C" {
 
 #define rte_io_rmb() rte_rmb()
 
-#define rte_cio_wmb() rte_wmb()
-
-#define rte_cio_rmb() rte_rmb()
-
 static __rte_always_inline void
 rte_atomic_thread_fence(int memory_order)
 {
diff --git a/lib/librte_eal/include/generic/rte_atomic.h b/lib/librte_eal/include/generic/rte_atomic.h
index 95270f1..d1255b2 100644
--- a/lib/librte_eal/include/generic/rte_atomic.h
+++ b/lib/librte_eal/include/generic/rte_atomic.h
@@ -107,45 +107,6 @@ static inline void rte_io_wmb(void);
 static inline void rte_io_rmb(void);
 ///@}
 
-/** @name Coherent I/O Memory Barrier
- *
- * Coherent I/O memory barrier is a lightweight version of I/O memory
- * barriers which are system-wide data synchronization barriers. This
- * is for only coherent memory domain between lcore and I/O device but
- * it is same as the I/O memory barriers in most of architectures.
- * However, some architecture provides even lighter barriers which are
- * somewhere in between I/O memory barriers and SMP memory barriers.
- * For example, in case of ARMv8, DMB(data memory barrier) instruction
- * can have different shareability domains - inner-shareable and
- * outer-shareable. And inner-shareable DMB fits for SMP memory
- * barriers and outer-shareable DMB for coherent I/O memory barriers,
- * which acts on coherent memory.
- *
- * In most cases, I/O memory barriers are safer but if operations are
- * on coherent memory instead of incoherent MMIO region of a device,
- * then coherent I/O memory barriers can be used and this could bring
- * performance gain depending on architectures.
- */
-///@{
-/**
- * Write memory barrier for coherent memory between lcore and I/O device
- *
- * Guarantees that the STORE operations on coherent memory that
- * precede the rte_cio_wmb() call are visible to I/O device before the
- * STORE operations that follow it.
- */
-static inline void rte_cio_wmb(void);
-
-/**
- * Read memory barrier for coherent memory between lcore and I/O device
- *
- * Guarantees that the LOAD operations on coherent memory updated by
- * I/O device that precede the rte_cio_rmb() call are visible to CPU
- * before the LOAD operations that follow it.
- */
-static inline void rte_cio_rmb(void);
-///@}
-
 #endif /* __DOXYGEN__ */
 
 /**
diff --git a/lib/librte_eal/ppc/include/rte_atomic.h b/lib/librte_eal/ppc/include/rte_atomic.h
index 527fcaf..a919899 100644
--- a/lib/librte_eal/ppc/include/rte_atomic.h
+++ b/lib/librte_eal/ppc/include/rte_atomic.h
@@ -36,10 +36,6 @@ extern "C" {
 
 #define rte_io_rmb() rte_rmb()
 
-#define rte_cio_wmb() rte_wmb()
-
-#define rte_cio_rmb() rte_rmb()
-
 static __rte_always_inline void
 rte_atomic_thread_fence(int memory_order)
 {
diff --git a/lib/librte_eal/x86/include/rte_atomic.h b/lib/librte_eal/x86/include/rte_atomic.h
index 62ea393..b7d6b06 100644
--- a/lib/librte_eal/x86/include/rte_atomic.h
+++ b/lib/librte_eal/x86/include/rte_atomic.h
@@ -79,10 +79,6 @@ rte_smp_mb(void)
 
 #define rte_io_rmb() rte_compiler_barrier()
 
-#define rte_cio_wmb() rte_compiler_barrier()
-
-#define rte_cio_rmb() rte_compiler_barrier()
-
 /**
  * Synchronization fence between threads based on the specified memory order.
  *
-- 
2.7.4


^ permalink raw reply	[relevance 4%]

* [dpdk-dev] [PATCH v2 10/10] sched: remove the redundant code
  @ 2020-09-10 18:48  3%   ` Savinay Dharmappa
    1 sibling, 0 replies; 200+ results
From: Savinay Dharmappa @ 2020-09-10 18:48 UTC (permalink / raw)
  To: jasvinder.singh, cristian.dumitrescu, dev; +Cc: savinay.dharmappa

Remove redundant data structure fields references from
functions and subport level data structures. It also
update the release and deprecation note.

Signed-off-by: Savinay Dharmappa <savinay.dharmappa@intel.com>
---
 doc/guides/rel_notes/deprecation.rst   |   6 --
 doc/guides/rel_notes/release_20_11.rst |   4 ++
 lib/librte_sched/rte_sched.c           | 115 +--------------------------------
 lib/librte_sched/rte_sched.h           |  12 ----
 4 files changed, 6 insertions(+), 131 deletions(-)

diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 279eccb..3926c3c 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -311,12 +311,6 @@ Deprecation Notices
   in "rte_sched.h". These changes are aligned to improvements suggested in the
   RFC https://mails.dpdk.org/archives/dev/2018-November/120035.html.
 
-* sched: To allow dynamic configuration of the subport bandwidth profile,
-  changes will be made to data structures ``rte_sched_subport_params``,
-  ``rte_sched_port_params`` and new data structure, API functions will be
-  defined in ``rte_sched.h``. These changes are aligned as suggested in the
-  RFC https://mails.dpdk.org/archives/dev/2020-July/175161.html
-
 * metrics: The function ``rte_metrics_init`` will have a non-void return
   in order to notify errors instead of calling ``rte_exit``.
 
diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index df227a1..51c4568 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -84,6 +84,10 @@ API Changes
    Also, make sure to start the actual text at the margin.
    =======================================================
 
+* sched: The subport bandwidth configuration parameters such as tb_rate,
+  tc_rate, tc_period etc., are moved from subport level data structure to
+  new a data structure. This allows to configure a subport with different
+  subport bandwidth configuration dynamically.
 
 ABI Changes
 -----------
diff --git a/lib/librte_sched/rte_sched.c b/lib/librte_sched/rte_sched.c
index 9ff67e0..6edc622 100644
--- a/lib/librte_sched/rte_sched.c
+++ b/lib/librte_sched/rte_sched.c
@@ -153,16 +153,11 @@ struct rte_sched_grinder {
 struct rte_sched_subport {
 	/* Token bucket (TB) */
 	uint64_t tb_time; /* time of last update */
-	uint64_t tb_period;
-	uint64_t tb_credits_per_period;
-	uint64_t tb_size;
 	uint64_t tb_credits;
 
 	/* Traffic classes (TCs) */
 	uint64_t tc_time; /* time of next update */
-	uint64_t tc_credits_per_period[RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE];
 	uint64_t tc_credits[RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE];
-	uint64_t tc_period;
 
 	/* TC oversubscription */
 	uint64_t tc_ov_wm;
@@ -838,18 +833,6 @@ rte_sched_subport_check_params(struct rte_sched_subport_params *params,
 		return -EINVAL;
 	}
 
-	if (params->tb_rate == 0 || params->tb_rate > rate) {
-		RTE_LOG(ERR, SCHED,
-			"%s: Incorrect value for tb rate\n", __func__);
-		return -EINVAL;
-	}
-
-	if (params->tb_size == 0) {
-		RTE_LOG(ERR, SCHED,
-			"%s: Incorrect value for tb size\n", __func__);
-		return -EINVAL;
-	}
-
 	/* qsize: if non-zero, power of 2,
 	 * no bigger than 32K (due to 16-bit read/write pointers)
 	 */
@@ -863,29 +846,8 @@ rte_sched_subport_check_params(struct rte_sched_subport_params *params,
 		}
 	}
 
-	for (i = 0; i < RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE; i++) {
-		uint64_t tc_rate = params->tc_rate[i];
-		uint16_t qsize = params->qsize[i];
-
-		if ((qsize == 0 && tc_rate != 0) ||
-			(qsize != 0 && tc_rate == 0) ||
-			(tc_rate > params->tb_rate)) {
-			RTE_LOG(ERR, SCHED,
-				"%s: Incorrect value for tc rate\n", __func__);
-			return -EINVAL;
-		}
-	}
-
-	if (params->qsize[RTE_SCHED_TRAFFIC_CLASS_BE] == 0 ||
-		params->tc_rate[RTE_SCHED_TRAFFIC_CLASS_BE] == 0) {
-		RTE_LOG(ERR, SCHED,
-			"%s: Incorrect qsize or tc rate(best effort)\n", __func__);
-		return -EINVAL;
-	}
-
-	if (params->tc_period == 0) {
-		RTE_LOG(ERR, SCHED,
-			"%s: Incorrect value for tc period\n", __func__);
+	if (params->qsize[RTE_SCHED_TRAFFIC_CLASS_BE] == 0) {
+		RTE_LOG(ERR, SCHED, "%s: Incorrect qsize\n", __func__);
 		return -EINVAL;
 	}
 
@@ -1102,48 +1064,6 @@ rte_sched_port_free(struct rte_sched_port *port)
 }
 
 static void
-rte_sched_port_log_subport_config(struct rte_sched_port *port, uint32_t i)
-{
-	struct rte_sched_subport *s = port->subports[i];
-
-	RTE_LOG(DEBUG, SCHED, "Low level config for subport %u:\n"
-		"	Token bucket: period = %"PRIu64", credits per period = %"PRIu64
-		", size = %"PRIu64"\n"
-		"	Traffic classes: period = %"PRIu64"\n"
-		"	credits per period = [%"PRIu64", %"PRIu64", %"PRIu64", %"PRIu64
-		", %"PRIu64", %"PRIu64", %"PRIu64", %"PRIu64", %"PRIu64", %"PRIu64
-		", %"PRIu64", %"PRIu64", %"PRIu64"]\n"
-		"	Best effort traffic class oversubscription: wm min = %"PRIu64
-		", wm max = %"PRIu64"\n",
-		i,
-
-		/* Token bucket */
-		s->tb_period,
-		s->tb_credits_per_period,
-		s->tb_size,
-
-		/* Traffic classes */
-		s->tc_period,
-		s->tc_credits_per_period[0],
-		s->tc_credits_per_period[1],
-		s->tc_credits_per_period[2],
-		s->tc_credits_per_period[3],
-		s->tc_credits_per_period[4],
-		s->tc_credits_per_period[5],
-		s->tc_credits_per_period[6],
-		s->tc_credits_per_period[7],
-		s->tc_credits_per_period[8],
-		s->tc_credits_per_period[9],
-		s->tc_credits_per_period[10],
-		s->tc_credits_per_period[11],
-		s->tc_credits_per_period[12],
-
-		/* Best effort traffic class oversubscription */
-		s->tc_ov_wm_min,
-		s->tc_ov_wm_max);
-}
-
-static void
 rte_sched_free_memory(struct rte_sched_port *port, uint32_t n_subports)
 {
 	uint32_t i;
@@ -1216,33 +1136,7 @@ rte_sched_subport_config(struct rte_sched_port *port,
 	/* Port */
 	port->subports[subport_id] = s;
 
-	/* Token Bucket (TB) */
-	if (params->tb_rate == port->rate) {
-		s->tb_credits_per_period = 1;
-		s->tb_period = 1;
-	} else {
-		double tb_rate = ((double) params->tb_rate) / ((double) port->rate);
-		double d = RTE_SCHED_TB_RATE_CONFIG_ERR;
-
-		rte_approx_64(tb_rate, d, &s->tb_credits_per_period, &s->tb_period);
-	}
-
-	s->tb_size = params->tb_size;
 	s->tb_time = port->time;
-	s->tb_credits = s->tb_size / 2;
-
-	/* Traffic Classes (TCs) */
-	s->tc_period = rte_sched_time_ms_to_bytes(params->tc_period, port->rate);
-	for (i = 0; i < RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE; i++) {
-		if (params->qsize[i])
-			s->tc_credits_per_period[i]
-				= rte_sched_time_ms_to_bytes(params->tc_period,
-					params->tc_rate[i]);
-	}
-	s->tc_time = port->time + s->tc_period;
-	for (i = 0; i < RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE; i++)
-		if (params->qsize[i])
-			s->tc_credits[i] = s->tc_credits_per_period[i];
 
 	/* compile time checks */
 	RTE_BUILD_BUG_ON(RTE_SCHED_PORT_N_GRINDERS == 0);
@@ -1332,17 +1226,12 @@ rte_sched_subport_config(struct rte_sched_port *port,
 #ifdef RTE_SCHED_SUBPORT_TC_OV
 	/* TC oversubscription */
 	s->tc_ov_wm_min = port->mtu;
-	s->tc_ov_wm_max = rte_sched_time_ms_to_bytes(params->tc_period,
-						     s->pipe_tc_be_rate_max);
 	s->tc_ov_wm = s->tc_ov_wm_max;
 	s->tc_ov_period_id = 0;
 	s->tc_ov = 0;
 	s->tc_ov_n = 0;
 	s->tc_ov_rate = 0;
 #endif
-
-	rte_sched_port_log_subport_config(port, subport_id);
-
 	return 0;
 }
 
diff --git a/lib/librte_sched/rte_sched.h b/lib/librte_sched/rte_sched.h
index a7c2638..7623919 100644
--- a/lib/librte_sched/rte_sched.h
+++ b/lib/librte_sched/rte_sched.h
@@ -149,18 +149,6 @@ struct rte_sched_pipe_params {
  * byte.
  */
 struct rte_sched_subport_params {
-	/** Token bucket rate (measured in bytes per second) */
-	uint64_t tb_rate;
-
-	/** Token bucket size (measured in credits) */
-	uint64_t tb_size;
-
-	/** Traffic class rates (measured in bytes per second) */
-	uint64_t tc_rate[RTE_SCHED_TRAFFIC_CLASSES_PER_PIPE];
-
-	/** Enforcement period for rates (measured in milliseconds) */
-	uint64_t tc_period;
-
 	/** Number of subport pipes.
 	 * The subport can enable/allocate fewer pipes than the maximum
 	 * number set through struct port_params::n_max_pipes_per_subport,
-- 
2.7.4


^ permalink raw reply	[relevance 3%]

* [dpdk-dev] [PATCH v2 3/3] app/test: remove ioat-specific autotest
    2020-09-10 16:47  4%   ` [dpdk-dev] [PATCH v2 2/3] app/test: change rawdev autotest to run selftest on all devs Bruce Richardson
@ 2020-09-10 16:47  4%   ` Bruce Richardson
  1 sibling, 0 replies; 200+ results
From: Bruce Richardson @ 2020-09-10 16:47 UTC (permalink / raw)
  To: dev
  Cc: Bruce Richardson, Nipun Gupta, Hemant Agrawal, John McNamara,
	Marko Kovacevic

Since the rawdev autotest can now be used to test all rawdevs on the
system, there is no need for a dedicated ioat autotest command.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 app/test/test_rawdev.c                 | 20 --------------------
 doc/guides/rel_notes/release_20_11.rst |  2 ++
 2 files changed, 2 insertions(+), 20 deletions(-)

diff --git a/app/test/test_rawdev.c b/app/test/test_rawdev.c
index 7e2fb2cf27..081fab969b 100644
--- a/app/test/test_rawdev.c
+++ b/app/test/test_rawdev.c
@@ -55,23 +55,3 @@ test_rawdev_selftests(void)
 }
 
 REGISTER_TEST_COMMAND(rawdev_autotest, test_rawdev_selftests);
-
-static int
-test_rawdev_selftest_ioat(void)
-{
-	const int count = rte_rawdev_count();
-	int i;
-
-	for (i = 0; i < count; i++) {
-		struct rte_rawdev_info info = { .dev_private = NULL };
-		if (rte_rawdev_info_get(i, &info, 0) == 0 &&
-				strstr(info.driver_name, "ioat") != NULL)
-			return rte_rawdev_selftest(i) == 0 ?
-					TEST_SUCCESS : TEST_FAILED;
-	}
-
-	printf("No IOAT rawdev found, skipping tests\n");
-	return TEST_SKIPPED;
-}
-
-REGISTER_TEST_COMMAND(ioat_rawdev_autotest, test_rawdev_selftest_ioat);
diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index 2ac7dca9a0..0cec16b61d 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -97,6 +97,8 @@ API Changes
   using the ``rawdev_autotest`` command in the ``dpdk-test`` binary. This
   command now calls the self-test function for each rawdev found on the
   system, and does not require a specific command per device type.
+  Following this change, the ``ioat_rawdev_autotest`` command has been
+  removed as no longer needed.
 
 
 ABI Changes
-- 
2.25.1


^ permalink raw reply	[relevance 4%]

* [dpdk-dev] [PATCH v2 2/3] app/test: change rawdev autotest to run selftest on all devs
  @ 2020-09-10 16:47  4%   ` Bruce Richardson
  2020-09-10 16:47  4%   ` [dpdk-dev] [PATCH v2 3/3] app/test: remove ioat-specific autotest Bruce Richardson
  1 sibling, 0 replies; 200+ results
From: Bruce Richardson @ 2020-09-10 16:47 UTC (permalink / raw)
  To: dev
  Cc: Bruce Richardson, Nipun Gupta, Hemant Agrawal, John McNamara,
	Marko Kovacevic

Rather than having each rawdev provide its own autotest command, we can
instead just use the generic rawdev_autotest to test any and all available
rawdevs.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 app/test/test_rawdev.c                 | 34 ++++++++++++++++++++++++--
 doc/guides/rel_notes/release_20_11.rst |  5 ++++
 2 files changed, 37 insertions(+), 2 deletions(-)

diff --git a/app/test/test_rawdev.c b/app/test/test_rawdev.c
index d8d9595be1..7e2fb2cf27 100644
--- a/app/test/test_rawdev.c
+++ b/app/test/test_rawdev.c
@@ -14,8 +14,13 @@
 static int
 test_rawdev_selftest_impl(const char *pmd, const char *opts)
 {
+	int ret;
+
+	printf("\n### Test rawdev infrastructure using skeleton driver\n");
 	rte_vdev_init(pmd, opts);
-	return rte_rawdev_selftest(rte_rawdev_get_dev_id(pmd));
+	ret = rte_rawdev_selftest(rte_rawdev_get_dev_id(pmd));
+	rte_vdev_uninit(pmd);
+	return ret;
 }
 
 static int
@@ -24,7 +29,32 @@ test_rawdev_selftest_skeleton(void)
 	return test_rawdev_selftest_impl("rawdev_skeleton", "");
 }
 
-REGISTER_TEST_COMMAND(rawdev_autotest, test_rawdev_selftest_skeleton);
+static int
+test_rawdev_selftests(void)
+{
+	const int count = rte_rawdev_count();
+	int ret = 0;
+	int i;
+
+	/* basic sanity on rawdev infrastructure */
+	if (test_rawdev_selftest_skeleton() < 0)
+		return -1;
+
+	/* now run self-test on all rawdevs */
+	if (count > 0)
+		printf("\n### Run selftest on each available rawdev\n");
+	for (i = 0; i < count; i++) {
+		int result = rte_rawdev_selftest(i);
+		printf("Rawdev %u (%s) selftest: %s\n", i,
+				rte_rawdevs[i].name,
+				result == 0 ? "Passed" : "Failed");
+		ret |=  result;
+	}
+
+	return ret;
+}
+
+REGISTER_TEST_COMMAND(rawdev_autotest, test_rawdev_selftests);
 
 static int
 test_rawdev_selftest_ioat(void)
diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index 667e3d54ad..2ac7dca9a0 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -93,6 +93,11 @@ API Changes
   and the function ``rte_rawdev_queue_conf_get()``
   from ``void`` to ``int`` allowing the return of error codes from drivers.
 
+* rawdev: The running of a drivers ``selftest()`` function can now be done
+  using the ``rawdev_autotest`` command in the ``dpdk-test`` binary. This
+  command now calls the self-test function for each rawdev found on the
+  system, and does not require a specific command per device type.
+
 
 ABI Changes
 -----------
-- 
2.25.1


^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] [PATCH 0/2] cryptodev: remove list end enumerators from asymmetric crypto api
  2020-09-10 11:42  3% [dpdk-dev] [PATCH 0/2] cryptodev: remove list end enumerators from asymmetric crypto api Arek Kusztal
  2020-09-10 11:42  3% ` [dpdk-dev] [PATCH 2/2] cryptodev: remove list ends " Arek Kusztal
@ 2020-09-10 15:13  0% ` Trahe, Fiona
  1 sibling, 0 replies; 200+ results
From: Trahe, Fiona @ 2020-09-10 15:13 UTC (permalink / raw)
  To: Kusztal, ArkadiuszX, dev; +Cc: akhil.goyal, anoobj



> -----Original Message-----
> From: Kusztal, ArkadiuszX <arkadiuszx.kusztal@intel.com>
> Sent: Thursday, September 10, 2020 12:43 PM
> To: dev@dpdk.org
> Cc: akhil.goyal@nxp.com; Trahe, Fiona <fiona.trahe@intel.com>; anoobj@marvell.com; Kusztal,
> ArkadiuszX <arkadiuszx.kusztal@intel.com>
> Subject: [PATCH 0/2] cryptodev: remove list end enumerators from asymmetric crypto api
> 
> This patchset removes RTE_CRYPTO_ASYM_XFORM_TYPE_LIST_END,
> RTE_CRYPTO_ASYM_OP_LIST_END, RTE_CRYPTO_RSA_PADDING_TYPE_LIST_END
> enumerators from asymmetric crypto API and its references.
> When asymmetric API will no more be experimental adding new entries
> will be possible without ABI breakage.
> 
> This patches depends on "crypto/qat: remove asym list end references" [1]
> 
> [1] http://patchwork.dpdk.org/patch/76634/
> 
> Arek Kusztal (2):
>   app/test: remove list end references from asym crypto
>   cryptodev: remove list ends from asymmetric crypto api
> 
>  app/test/test_cryptodev_asym.c         |  6 ++++--
>  lib/librte_cryptodev/rte_crypto_asym.h | 10 +++-------
>  2 files changed, 7 insertions(+), 9 deletions(-)

Series Acked-by: Fiona Trahe <fiona.trahe@intel.com>



^ permalink raw reply	[relevance 0%]

* [dpdk-dev] [PATCH v3 7/7] doc: remove rawdev deprecation notice
  2020-09-10 14:36  4% ` [dpdk-dev] [PATCH v3 " Bruce Richardson
                     ` (4 preceding siblings ...)
  2020-09-10 14:36  4%   ` [dpdk-dev] [PATCH v3 5/7] rawdev: allow queue config query to return error Bruce Richardson
@ 2020-09-10 14:36  4%   ` Bruce Richardson
  2020-09-11  9:56  0%   ` [dpdk-dev] [PATCH v3 0/7] Enhance rawdev APIs Thomas Monjalon
  6 siblings, 0 replies; 200+ results
From: Bruce Richardson @ 2020-09-10 14:36 UTC (permalink / raw)
  To: dev
  Cc: thomas, Bruce Richardson, Nipun Gupta, Ray Kinsella, Neil Horman,
	John McNamara, Marko Kovacevic

Since all changes covered by the deprecation notice have been applied, the
notice can be removed.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Nipun Gupta <nipun.gupta@nxp.com>
---
 doc/guides/rel_notes/deprecation.rst | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 279eccb04a..88d7d07613 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -294,13 +294,6 @@ Deprecation Notices
   - https://patches.dpdk.org/patch/71457/
   - https://patches.dpdk.org/patch/71456/
 
-* rawdev: The rawdev APIs which take a device-specific structure as
-  parameter directly, or indirectly via a "private" pointer inside another
-  structure, will be modified to take an additional parameter of the
-  structure size. The affected APIs will include ``rte_rawdev_info_get``,
-  ``rte_rawdev_configure``, ``rte_rawdev_queue_conf_get`` and
-  ``rte_rawdev_queue_setup``.
-
 * acl: ``RTE_ACL_CLASSIFY_NUM`` enum value will be removed.
   This enum value is not used inside DPDK, while it prevents to add new
   classify algorithms without causing an ABI breakage.
-- 
2.25.1


^ permalink raw reply	[relevance 4%]

* [dpdk-dev] [PATCH v3 5/7] rawdev: allow queue config query to return error
  2020-09-10 14:36  4% ` [dpdk-dev] [PATCH v3 " Bruce Richardson
                     ` (3 preceding siblings ...)
  2020-09-10 14:36  7%   ` [dpdk-dev] [PATCH v3 4/7] rawdev: add private data length parameter to queue fns Bruce Richardson
@ 2020-09-10 14:36  4%   ` Bruce Richardson
  2020-09-10 14:36  4%   ` [dpdk-dev] [PATCH v3 7/7] doc: remove rawdev deprecation notice Bruce Richardson
  2020-09-11  9:56  0%   ` [dpdk-dev] [PATCH v3 0/7] Enhance rawdev APIs Thomas Monjalon
  6 siblings, 0 replies; 200+ results
From: Bruce Richardson @ 2020-09-10 14:36 UTC (permalink / raw)
  To: dev
  Cc: thomas, Bruce Richardson, Nipun Gupta, John McNamara,
	Marko Kovacevic, Xiaoyun Li, Jingjing Wu, Hemant Agrawal

The driver APIs for returning the queue default config can fail if the
parameters are invalid, or other reasons, so allow them to return error
codes to the rawdev layer and from hence to the app.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Nipun Gupta <nipun.gupta@nxp.com>

---
v3: add release note update
---
 doc/guides/rel_notes/release_20_11.rst |  1 +
 drivers/raw/ntb/ntb.c                  |  6 ++++--
 drivers/raw/skeleton/skeleton_rawdev.c | 12 +++++++-----
 lib/librte_rawdev/rte_rawdev.c         |  3 +--
 lib/librte_rawdev/rte_rawdev_pmd.h     |  4 +++-
 5 files changed, 16 insertions(+), 10 deletions(-)

diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index e79b88641b..667e3d54ad 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -90,6 +90,7 @@ API Changes
   allowing limited driver type-checking and ABI compatibility.
 
 * rawdev: Changed the return type of the function ``rte_dev_info_get()``
+  and the function ``rte_rawdev_queue_conf_get()``
   from ``void`` to ``int`` allowing the return of error codes from drivers.
 
 
diff --git a/drivers/raw/ntb/ntb.c b/drivers/raw/ntb/ntb.c
index ad10857991..bddb1f5916 100644
--- a/drivers/raw/ntb/ntb.c
+++ b/drivers/raw/ntb/ntb.c
@@ -246,7 +246,7 @@ ntb_dev_intr_handler(void *param)
 	}
 }
 
-static void
+static int
 ntb_queue_conf_get(struct rte_rawdev *dev,
 		   uint16_t queue_id,
 		   rte_rawdev_obj_t queue_conf,
@@ -256,11 +256,13 @@ ntb_queue_conf_get(struct rte_rawdev *dev,
 	struct ntb_hw *hw = dev->dev_private;
 
 	if (conf_size != sizeof(*q_conf))
-		return;
+		return -EINVAL;
 
 	q_conf->tx_free_thresh = hw->tx_queues[queue_id]->tx_free_thresh;
 	q_conf->nb_desc = hw->rx_queues[queue_id]->nb_rx_desc;
 	q_conf->rx_mp = hw->rx_queues[queue_id]->mpool;
+
+	return 0;
 }
 
 static void
diff --git a/drivers/raw/skeleton/skeleton_rawdev.c b/drivers/raw/skeleton/skeleton_rawdev.c
index 801c707fb9..f8b47a391a 100644
--- a/drivers/raw/skeleton/skeleton_rawdev.c
+++ b/drivers/raw/skeleton/skeleton_rawdev.c
@@ -220,10 +220,10 @@ static int skeleton_rawdev_reset(struct rte_rawdev *dev)
 	return 0;
 }
 
-static void skeleton_rawdev_queue_def_conf(struct rte_rawdev *dev,
-					   uint16_t queue_id,
-					   rte_rawdev_obj_t queue_conf,
-					   size_t conf_size)
+static int skeleton_rawdev_queue_def_conf(struct rte_rawdev *dev,
+					  uint16_t queue_id,
+					  rte_rawdev_obj_t queue_conf,
+					  size_t conf_size)
 {
 	struct skeleton_rawdev *skeldev;
 	struct skeleton_rawdev_queue *skelq;
@@ -232,7 +232,7 @@ static void skeleton_rawdev_queue_def_conf(struct rte_rawdev *dev,
 
 	if (!dev || !queue_conf ||
 			conf_size != sizeof(struct skeleton_rawdev_queue))
-		return;
+		return -EINVAL;
 
 	skeldev = skeleton_rawdev_get_priv(dev);
 	skelq = &skeldev->queues[queue_id];
@@ -240,6 +240,8 @@ static void skeleton_rawdev_queue_def_conf(struct rte_rawdev *dev,
 	if (queue_id < SKELETON_MAX_QUEUES)
 		rte_memcpy(queue_conf, skelq,
 			sizeof(struct skeleton_rawdev_queue));
+
+	return 0;
 }
 
 static void
diff --git a/lib/librte_rawdev/rte_rawdev.c b/lib/librte_rawdev/rte_rawdev.c
index f48d8cf10b..fd123bb848 100644
--- a/lib/librte_rawdev/rte_rawdev.c
+++ b/lib/librte_rawdev/rte_rawdev.c
@@ -146,9 +146,8 @@ rte_rawdev_queue_conf_get(uint16_t dev_id,
 	dev = &rte_rawdevs[dev_id];
 
 	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->queue_def_conf, -ENOTSUP);
-	(*dev->dev_ops->queue_def_conf)(dev, queue_id, queue_conf,
+	return (*dev->dev_ops->queue_def_conf)(dev, queue_id, queue_conf,
 			queue_conf_size);
-	return 0;
 }
 
 int
diff --git a/lib/librte_rawdev/rte_rawdev_pmd.h b/lib/librte_rawdev/rte_rawdev_pmd.h
index 34eb667f62..34dd7181b4 100644
--- a/lib/librte_rawdev/rte_rawdev_pmd.h
+++ b/lib/librte_rawdev/rte_rawdev_pmd.h
@@ -215,8 +215,10 @@ typedef int (*rawdev_reset_t)(struct rte_rawdev *dev);
  * @param[out] queue_conf
  *   Raw device queue configuration structure
  *
+ * @return
+ *   Returns 0 on success, negative errno on failure
  */
-typedef void (*rawdev_queue_conf_get_t)(struct rte_rawdev *dev,
+typedef int (*rawdev_queue_conf_get_t)(struct rte_rawdev *dev,
 					uint16_t queue_id,
 					rte_rawdev_obj_t queue_conf,
 					size_t queue_conf_size);
-- 
2.25.1


^ permalink raw reply	[relevance 4%]

* [dpdk-dev] [PATCH v3 3/7] rawdev: add private data length parameter to config fn
  2020-09-10 14:36  4% ` [dpdk-dev] [PATCH v3 " Bruce Richardson
  2020-09-10 14:36 10%   ` [dpdk-dev] [PATCH v3 1/7] rawdev: add private data length parameter to info fn Bruce Richardson
  2020-09-10 14:36  5%   ` [dpdk-dev] [PATCH v3 2/7] rawdev: allow drivers to return error from info function Bruce Richardson
@ 2020-09-10 14:36  6%   ` Bruce Richardson
  2020-09-10 14:36  7%   ` [dpdk-dev] [PATCH v3 4/7] rawdev: add private data length parameter to queue fns Bruce Richardson
                     ` (3 subsequent siblings)
  6 siblings, 0 replies; 200+ results
From: Bruce Richardson @ 2020-09-10 14:36 UTC (permalink / raw)
  To: dev
  Cc: thomas, Bruce Richardson, Rosen Xu, Nipun Gupta, John McNamara,
	Marko Kovacevic, Satha Rao, Mahipal Challa, Tianfei zhang,
	Xiaoyun Li, Jingjing Wu, Hemant Agrawal

Currently with the rawdev API there is no way to check that the structure
passed in via the dev_private pointer in the structure passed to configure
API is of the correct type - it's just checked that it is non-NULL. Adding
in the length of the expected structure provides a measure of typechecking,
and can also be used for ABI compatibility in future, since ABI changes
involving structs almost always involve a change in size.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: Rosen Xu <rosen.xu@intel.com>
Acked-by: Nipun Gupta <nipun.gupta@nxp.com>

---
V3: fixed doxygen comment.
    add release note update
---
 doc/guides/rawdevs/ioat.rst                 | 2 +-
 doc/guides/rawdevs/octeontx2_dma.rst        | 2 +-
 doc/guides/rawdevs/octeontx2_ep.rst         | 3 ++-
 doc/guides/rel_notes/release_20_11.rst      | 4 ++--
 doc/guides/sample_app_ug/ioat.rst           | 2 +-
 drivers/raw/ifpga/ifpga_rawdev.c            | 3 ++-
 drivers/raw/ioat/ioat_rawdev.c              | 5 +++--
 drivers/raw/ioat/ioat_rawdev_test.c         | 2 +-
 drivers/raw/ntb/ntb.c                       | 6 +++++-
 drivers/raw/octeontx2_dma/otx2_dpi_rawdev.c | 7 ++++---
 drivers/raw/octeontx2_dma/otx2_dpi_test.c   | 3 ++-
 drivers/raw/octeontx2_ep/otx2_ep_rawdev.c   | 7 ++++---
 drivers/raw/octeontx2_ep/otx2_ep_test.c     | 2 +-
 drivers/raw/skeleton/skeleton_rawdev.c      | 5 +++--
 drivers/raw/skeleton/skeleton_rawdev_test.c | 5 +++--
 examples/ioat/ioatfwd.c                     | 2 +-
 examples/ntb/ntb_fwd.c                      | 2 +-
 lib/librte_rawdev/rte_rawdev.c              | 6 ++++--
 lib/librte_rawdev/rte_rawdev.h              | 8 +++++++-
 lib/librte_rawdev/rte_rawdev_pmd.h          | 3 ++-
 20 files changed, 50 insertions(+), 29 deletions(-)

diff --git a/doc/guides/rawdevs/ioat.rst b/doc/guides/rawdevs/ioat.rst
index dac52fabf1..c46460ff45 100644
--- a/doc/guides/rawdevs/ioat.rst
+++ b/doc/guides/rawdevs/ioat.rst
@@ -142,7 +142,7 @@ The following code shows how the device is configured in
         /* ... */
 
         p.ring_size = IOAT_TEST_RINGSIZE;
-        if (rte_rawdev_configure(dev_id, &info) != 0) {
+        if (rte_rawdev_configure(dev_id, &info, sizeof(p)) != 0) {
                 printf("Error with rte_rawdev_configure()\n");
                 return -1;
         }
diff --git a/doc/guides/rawdevs/octeontx2_dma.rst b/doc/guides/rawdevs/octeontx2_dma.rst
index 1e1dfbe931..4a9794489e 100644
--- a/doc/guides/rawdevs/octeontx2_dma.rst
+++ b/doc/guides/rawdevs/octeontx2_dma.rst
@@ -92,7 +92,7 @@ The following code shows how the device is configured
    rte_mempool_set_ops_byname(conf.chunk_pool, rte_mbuf_platform_mempool_ops(), NULL);
    rte_mempool_populate_default(conf.chunk_pool);
 
-   rte_rawdev_configure(dev_id, (rte_rawdev_obj_t)&rdev_info);
+   rte_rawdev_configure(dev_id, (rte_rawdev_obj_t)&rdev_info, sizeof(conf));
 
 Performing Data Transfer
 ------------------------
diff --git a/doc/guides/rawdevs/octeontx2_ep.rst b/doc/guides/rawdevs/octeontx2_ep.rst
index bbcf530a45..b03fcf789a 100644
--- a/doc/guides/rawdevs/octeontx2_ep.rst
+++ b/doc/guides/rawdevs/octeontx2_ep.rst
@@ -66,7 +66,8 @@ The following code shows how the device is configured
    struct rte_rawdev_info rdev_info = {.dev_private = &config};
    config.enqdeq_mpool = (void *)rte_mempool_create(...);
 
-   rte_rawdev_configure(dev_id, (rte_rawdev_obj_t)&rdev_info);
+   rte_rawdev_configure(dev_id, (rte_rawdev_obj_t)&rdev_info,
+                        sizeof(config));
 
 Performing Data Transfer
 ------------------------
diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index 6431efe56b..9543e7e98b 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -84,8 +84,8 @@ API Changes
    Also, make sure to start the actual text at the margin.
    =======================================================
 
-* rawdev: Added a structure size parameter to the function
-  ``rte_rawdev_info_get()``,
+* rawdev: Added a structure size parameter to the functions
+  ``rte_rawdev_info_get()`` and ``rte_rawdev_configure()``,
   allowing limited driver type-checking and ABI compatibility.
 
 * rawdev: Changed the return type of the function ``rte_dev_info_get()``
diff --git a/doc/guides/sample_app_ug/ioat.rst b/doc/guides/sample_app_ug/ioat.rst
index b5188220ba..3f7d5c34a6 100644
--- a/doc/guides/sample_app_ug/ioat.rst
+++ b/doc/guides/sample_app_ug/ioat.rst
@@ -296,7 +296,7 @@ is done in ``configure_rawdev_queue()``.
         struct rte_ioat_rawdev_config dev_config = { .ring_size = ring_size };
         struct rte_rawdev_info info = { .dev_private = &dev_config };
 
-        if (rte_rawdev_configure(dev_id, &info) != 0) {
+        if (rte_rawdev_configure(dev_id, &info, sizeof(dev_config)) != 0) {
             rte_exit(EXIT_FAILURE,
                 "Error with rte_rawdev_configure()\n");
         }
diff --git a/drivers/raw/ifpga/ifpga_rawdev.c b/drivers/raw/ifpga/ifpga_rawdev.c
index 32a2b96c90..a50173264c 100644
--- a/drivers/raw/ifpga/ifpga_rawdev.c
+++ b/drivers/raw/ifpga/ifpga_rawdev.c
@@ -684,7 +684,8 @@ ifpga_rawdev_info_get(struct rte_rawdev *dev,
 
 static int
 ifpga_rawdev_configure(const struct rte_rawdev *dev,
-		rte_rawdev_obj_t config)
+		rte_rawdev_obj_t config,
+		size_t config_size __rte_unused)
 {
 	IFPGA_RAWDEV_PMD_FUNC_TRACE();
 
diff --git a/drivers/raw/ioat/ioat_rawdev.c b/drivers/raw/ioat/ioat_rawdev.c
index e2fc787263..7f1a154360 100644
--- a/drivers/raw/ioat/ioat_rawdev.c
+++ b/drivers/raw/ioat/ioat_rawdev.c
@@ -39,7 +39,8 @@ RTE_LOG_REGISTER(ioat_pmd_logtype, rawdev.ioat, INFO);
 #define COMPLETION_SZ sizeof(__m128i)
 
 static int
-ioat_dev_configure(const struct rte_rawdev *dev, rte_rawdev_obj_t config)
+ioat_dev_configure(const struct rte_rawdev *dev, rte_rawdev_obj_t config,
+		size_t config_size)
 {
 	struct rte_ioat_rawdev_config *params = config;
 	struct rte_ioat_rawdev *ioat = dev->dev_private;
@@ -49,7 +50,7 @@ ioat_dev_configure(const struct rte_rawdev *dev, rte_rawdev_obj_t config)
 	if (dev->started)
 		return -EBUSY;
 
-	if (params == NULL)
+	if (params == NULL || config_size != sizeof(*params))
 		return -EINVAL;
 
 	if (params->ring_size > 4096 || params->ring_size < 64 ||
diff --git a/drivers/raw/ioat/ioat_rawdev_test.c b/drivers/raw/ioat/ioat_rawdev_test.c
index 2b40222eb4..c463a82ad6 100644
--- a/drivers/raw/ioat/ioat_rawdev_test.c
+++ b/drivers/raw/ioat/ioat_rawdev_test.c
@@ -156,7 +156,7 @@ ioat_rawdev_test(uint16_t dev_id)
 	}
 
 	p.ring_size = IOAT_TEST_RINGSIZE;
-	if (rte_rawdev_configure(dev_id, &info) != 0) {
+	if (rte_rawdev_configure(dev_id, &info, sizeof(p)) != 0) {
 		printf("Error with rte_rawdev_configure()\n");
 		return -1;
 	}
diff --git a/drivers/raw/ntb/ntb.c b/drivers/raw/ntb/ntb.c
index ced5b6d624..7f6b835a4b 100644
--- a/drivers/raw/ntb/ntb.c
+++ b/drivers/raw/ntb/ntb.c
@@ -837,13 +837,17 @@ ntb_dev_info_get(struct rte_rawdev *dev, rte_rawdev_obj_t dev_info,
 }
 
 static int
-ntb_dev_configure(const struct rte_rawdev *dev, rte_rawdev_obj_t config)
+ntb_dev_configure(const struct rte_rawdev *dev, rte_rawdev_obj_t config,
+		size_t config_size)
 {
 	struct ntb_dev_config *conf = config;
 	struct ntb_hw *hw = dev->dev_private;
 	uint32_t xstats_num;
 	int ret;
 
+	if (conf == NULL || config_size != sizeof(*conf))
+		return -EINVAL;
+
 	hw->queue_pairs	= conf->num_queues;
 	hw->queue_size = conf->queue_size;
 	hw->used_mw_num = conf->mz_num;
diff --git a/drivers/raw/octeontx2_dma/otx2_dpi_rawdev.c b/drivers/raw/octeontx2_dma/otx2_dpi_rawdev.c
index e398abb75b..5b496446ca 100644
--- a/drivers/raw/octeontx2_dma/otx2_dpi_rawdev.c
+++ b/drivers/raw/octeontx2_dma/otx2_dpi_rawdev.c
@@ -294,7 +294,8 @@ otx2_dpi_rawdev_reset(struct rte_rawdev *dev)
 }
 
 static int
-otx2_dpi_rawdev_configure(const struct rte_rawdev *dev, rte_rawdev_obj_t config)
+otx2_dpi_rawdev_configure(const struct rte_rawdev *dev, rte_rawdev_obj_t config,
+		size_t config_size)
 {
 	struct dpi_rawdev_conf_s *conf = config;
 	struct dpi_vf_s *dpivf = NULL;
@@ -302,8 +303,8 @@ otx2_dpi_rawdev_configure(const struct rte_rawdev *dev, rte_rawdev_obj_t config)
 	uintptr_t pool;
 	uint32_t gaura;
 
-	if (conf == NULL) {
-		otx2_dpi_dbg("NULL configuration");
+	if (conf == NULL || config_size != sizeof(*conf)) {
+		otx2_dpi_dbg("NULL or invalid configuration");
 		return -EINVAL;
 	}
 	dpivf = (struct dpi_vf_s *)dev->dev_private;
diff --git a/drivers/raw/octeontx2_dma/otx2_dpi_test.c b/drivers/raw/octeontx2_dma/otx2_dpi_test.c
index 276658af07..cec6ca91b0 100644
--- a/drivers/raw/octeontx2_dma/otx2_dpi_test.c
+++ b/drivers/raw/octeontx2_dma/otx2_dpi_test.c
@@ -182,7 +182,8 @@ test_otx2_dma_rawdev(uint16_t val)
 	/* Configure rawdev ports */
 	conf.chunk_pool = dpi_create_mempool();
 	rdev_info.dev_private = &conf;
-	ret = rte_rawdev_configure(i, (rte_rawdev_obj_t)&rdev_info);
+	ret = rte_rawdev_configure(i, (rte_rawdev_obj_t)&rdev_info,
+			sizeof(conf));
 	if (ret) {
 		otx2_dpi_dbg("Unable to configure DPIVF %d", i);
 		return -ENODEV;
diff --git a/drivers/raw/octeontx2_ep/otx2_ep_rawdev.c b/drivers/raw/octeontx2_ep/otx2_ep_rawdev.c
index 0778603d5b..2b78a7941d 100644
--- a/drivers/raw/octeontx2_ep/otx2_ep_rawdev.c
+++ b/drivers/raw/octeontx2_ep/otx2_ep_rawdev.c
@@ -224,13 +224,14 @@ sdp_rawdev_close(struct rte_rawdev *dev)
 }
 
 static int
-sdp_rawdev_configure(const struct rte_rawdev *dev, rte_rawdev_obj_t config)
+sdp_rawdev_configure(const struct rte_rawdev *dev, rte_rawdev_obj_t config,
+		size_t config_size)
 {
 	struct sdp_rawdev_info *app_info = (struct sdp_rawdev_info *)config;
 	struct sdp_device *sdpvf;
 
-	if (app_info == NULL) {
-		otx2_err("Application config info [NULL]");
+	if (app_info == NULL || config_size != sizeof(*app_info)) {
+		otx2_err("Application config info [NULL] or incorrect size");
 		return -EINVAL;
 	}
 
diff --git a/drivers/raw/octeontx2_ep/otx2_ep_test.c b/drivers/raw/octeontx2_ep/otx2_ep_test.c
index 091f1827c7..b876275f7a 100644
--- a/drivers/raw/octeontx2_ep/otx2_ep_test.c
+++ b/drivers/raw/octeontx2_ep/otx2_ep_test.c
@@ -108,7 +108,7 @@ sdp_rawdev_selftest(uint16_t dev_id)
 
 	dev_info.dev_private = &app_info;
 
-	ret = rte_rawdev_configure(dev_id, &dev_info);
+	ret = rte_rawdev_configure(dev_id, &dev_info, sizeof(app_info));
 	if (ret) {
 		otx2_err("Unable to configure SDP_VF %d", dev_id);
 		rte_mempool_free(ioq_mpool);
diff --git a/drivers/raw/skeleton/skeleton_rawdev.c b/drivers/raw/skeleton/skeleton_rawdev.c
index dce300c358..531d0450c8 100644
--- a/drivers/raw/skeleton/skeleton_rawdev.c
+++ b/drivers/raw/skeleton/skeleton_rawdev.c
@@ -68,7 +68,8 @@ static int skeleton_rawdev_info_get(struct rte_rawdev *dev,
 }
 
 static int skeleton_rawdev_configure(const struct rte_rawdev *dev,
-				     rte_rawdev_obj_t config)
+				     rte_rawdev_obj_t config,
+				     size_t config_size)
 {
 	struct skeleton_rawdev *skeldev;
 	struct skeleton_rawdev_conf *skeldev_conf;
@@ -77,7 +78,7 @@ static int skeleton_rawdev_configure(const struct rte_rawdev *dev,
 
 	RTE_FUNC_PTR_OR_ERR_RET(dev, -EINVAL);
 
-	if (!config) {
+	if (config == NULL || config_size != sizeof(*skeldev_conf)) {
 		SKELETON_PMD_ERR("Invalid configuration");
 		return -EINVAL;
 	}
diff --git a/drivers/raw/skeleton/skeleton_rawdev_test.c b/drivers/raw/skeleton/skeleton_rawdev_test.c
index 9b8390dfb7..7dc7c76847 100644
--- a/drivers/raw/skeleton/skeleton_rawdev_test.c
+++ b/drivers/raw/skeleton/skeleton_rawdev_test.c
@@ -126,7 +126,7 @@ test_rawdev_configure(void)
 	struct skeleton_rawdev_conf rdev_conf_get = {0};
 
 	/* Check invalid configuration */
-	ret = rte_rawdev_configure(test_dev_id, NULL);
+	ret = rte_rawdev_configure(test_dev_id, NULL, 0);
 	RTE_TEST_ASSERT(ret == -EINVAL,
 			"Null configure; Expected -EINVAL, got %d", ret);
 
@@ -137,7 +137,8 @@ test_rawdev_configure(void)
 
 	rdev_info.dev_private = &rdev_conf_set;
 	ret = rte_rawdev_configure(test_dev_id,
-				   (rte_rawdev_obj_t)&rdev_info);
+				   (rte_rawdev_obj_t)&rdev_info,
+				   sizeof(rdev_conf_set));
 	RTE_TEST_ASSERT_SUCCESS(ret, "Failed to configure rawdev (%d)", ret);
 
 	rdev_info.dev_private = &rdev_conf_get;
diff --git a/examples/ioat/ioatfwd.c b/examples/ioat/ioatfwd.c
index 76932d3dd2..43a19843ee 100644
--- a/examples/ioat/ioatfwd.c
+++ b/examples/ioat/ioatfwd.c
@@ -734,7 +734,7 @@ configure_rawdev_queue(uint32_t dev_id)
 	struct rte_ioat_rawdev_config dev_config = { .ring_size = ring_size };
 	struct rte_rawdev_info info = { .dev_private = &dev_config };
 
-	if (rte_rawdev_configure(dev_id, &info) != 0) {
+	if (rte_rawdev_configure(dev_id, &info, sizeof(dev_config)) != 0) {
 		rte_exit(EXIT_FAILURE,
 			"Error with rte_rawdev_configure()\n");
 	}
diff --git a/examples/ntb/ntb_fwd.c b/examples/ntb/ntb_fwd.c
index 11e224451c..656f736594 100644
--- a/examples/ntb/ntb_fwd.c
+++ b/examples/ntb/ntb_fwd.c
@@ -1401,7 +1401,7 @@ main(int argc, char **argv)
 	ntb_conf.num_queues = num_queues;
 	ntb_conf.queue_size = nb_desc;
 	ntb_rawdev_conf.dev_private = (rte_rawdev_obj_t)(&ntb_conf);
-	ret = rte_rawdev_configure(dev_id, &ntb_rawdev_conf);
+	ret = rte_rawdev_configure(dev_id, &ntb_rawdev_conf, sizeof(ntb_conf));
 	if (ret)
 		rte_exit(EXIT_FAILURE, "Can't config ntb dev: err=%d, "
 			"port=%u\n", ret, dev_id);
diff --git a/lib/librte_rawdev/rte_rawdev.c b/lib/librte_rawdev/rte_rawdev.c
index bde33763ee..6c4d783cc5 100644
--- a/lib/librte_rawdev/rte_rawdev.c
+++ b/lib/librte_rawdev/rte_rawdev.c
@@ -104,7 +104,8 @@ rte_rawdev_info_get(uint16_t dev_id, struct rte_rawdev_info *dev_info,
 }
 
 int
-rte_rawdev_configure(uint16_t dev_id, struct rte_rawdev_info *dev_conf)
+rte_rawdev_configure(uint16_t dev_id, struct rte_rawdev_info *dev_conf,
+		size_t dev_private_size)
 {
 	struct rte_rawdev *dev;
 	int diag;
@@ -123,7 +124,8 @@ rte_rawdev_configure(uint16_t dev_id, struct rte_rawdev_info *dev_conf)
 	}
 
 	/* Configure the device */
-	diag = (*dev->dev_ops->dev_configure)(dev, dev_conf->dev_private);
+	diag = (*dev->dev_ops->dev_configure)(dev, dev_conf->dev_private,
+			dev_private_size);
 	if (diag != 0)
 		RTE_RDEV_ERR("dev%d dev_configure = %d", dev_id, diag);
 	else
diff --git a/lib/librte_rawdev/rte_rawdev.h b/lib/librte_rawdev/rte_rawdev.h
index cf6acfd261..1720f1dd6b 100644
--- a/lib/librte_rawdev/rte_rawdev.h
+++ b/lib/librte_rawdev/rte_rawdev.h
@@ -116,13 +116,19 @@ rte_rawdev_info_get(uint16_t dev_id, struct rte_rawdev_info *dev_info,
  *   driver/implementation can use to configure the device. It is also assumed
  *   that once the configuration is done, a `queue_id` type field can be used
  *   to refer to some arbitrary internal representation of a queue.
+ * @param dev_private_size
+ *   The length of the memory space pointed to by dev_private in dev_info.
+ *   This should be set to the size of the expected private structure to be
+ *   used by the driver, and may be checked by drivers to ensure the expected
+ *   struct type is provided.
  *
  * @return
  *   - 0: Success, device configured.
  *   - <0: Error code returned by the driver configuration function.
  */
 int
-rte_rawdev_configure(uint16_t dev_id, struct rte_rawdev_info *dev_conf);
+rte_rawdev_configure(uint16_t dev_id, struct rte_rawdev_info *dev_conf,
+		size_t dev_private_size);
 
 
 /**
diff --git a/lib/librte_rawdev/rte_rawdev_pmd.h b/lib/librte_rawdev/rte_rawdev_pmd.h
index 89e46412a3..050f8b0292 100644
--- a/lib/librte_rawdev/rte_rawdev_pmd.h
+++ b/lib/librte_rawdev/rte_rawdev_pmd.h
@@ -160,7 +160,8 @@ typedef int (*rawdev_info_get_t)(struct rte_rawdev *dev,
  *   Returns 0 on success
  */
 typedef int (*rawdev_configure_t)(const struct rte_rawdev *dev,
-				  rte_rawdev_obj_t config);
+				  rte_rawdev_obj_t config,
+				  size_t config_size);
 
 /**
  * Start a configured device.
-- 
2.25.1


^ permalink raw reply	[relevance 6%]

* [dpdk-dev] [PATCH v3 4/7] rawdev: add private data length parameter to queue fns
  2020-09-10 14:36  4% ` [dpdk-dev] [PATCH v3 " Bruce Richardson
                     ` (2 preceding siblings ...)
  2020-09-10 14:36  6%   ` [dpdk-dev] [PATCH v3 3/7] rawdev: add private data length parameter to config fn Bruce Richardson
@ 2020-09-10 14:36  7%   ` Bruce Richardson
  2020-09-10 14:36  4%   ` [dpdk-dev] [PATCH v3 5/7] rawdev: allow queue config query to return error Bruce Richardson
                     ` (2 subsequent siblings)
  6 siblings, 0 replies; 200+ results
From: Bruce Richardson @ 2020-09-10 14:36 UTC (permalink / raw)
  To: dev
  Cc: thomas, Bruce Richardson, Nipun Gupta, John McNamara,
	Marko Kovacevic, Xiaoyun Li, Jingjing Wu, Hemant Agrawal

The queue setup and queue defaults query functions take a void * parameter
as configuration data, preventing any compile-time checking of the
parameters and limiting runtime checks. Adding in the length of the
expected structure provides a measure of typechecking, and can also be used
for ABI compatibility in future, since ABI changes involving structs almost
always involve a change in size.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Nipun Gupta <nipun.gupta@nxp.com>

---
V3: Added release note entry
---
 doc/guides/rel_notes/release_20_11.rst      |  1 +
 drivers/raw/ntb/ntb.c                       | 25 ++++++++++++++++-----
 drivers/raw/skeleton/skeleton_rawdev.c      | 12 ++++++----
 drivers/raw/skeleton/skeleton_rawdev_test.c |  8 +++----
 examples/ntb/ntb_fwd.c                      |  3 ++-
 lib/librte_rawdev/rte_rawdev.c              | 12 ++++++----
 lib/librte_rawdev/rte_rawdev.h              | 10 +++++++--
 lib/librte_rawdev/rte_rawdev_pmd.h          |  6 +++--
 8 files changed, 54 insertions(+), 23 deletions(-)

diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index 9543e7e98b..e79b88641b 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -85,6 +85,7 @@ API Changes
    =======================================================
 
 * rawdev: Added a structure size parameter to the functions
+  ``rte_rawdev_queue_setup()``, ``rte_rawdev_queue_conf_get()``,
   ``rte_rawdev_info_get()`` and ``rte_rawdev_configure()``,
   allowing limited driver type-checking and ABI compatibility.
 
diff --git a/drivers/raw/ntb/ntb.c b/drivers/raw/ntb/ntb.c
index 7f6b835a4b..ad10857991 100644
--- a/drivers/raw/ntb/ntb.c
+++ b/drivers/raw/ntb/ntb.c
@@ -249,11 +249,15 @@ ntb_dev_intr_handler(void *param)
 static void
 ntb_queue_conf_get(struct rte_rawdev *dev,
 		   uint16_t queue_id,
-		   rte_rawdev_obj_t queue_conf)
+		   rte_rawdev_obj_t queue_conf,
+		   size_t conf_size)
 {
 	struct ntb_queue_conf *q_conf = queue_conf;
 	struct ntb_hw *hw = dev->dev_private;
 
+	if (conf_size != sizeof(*q_conf))
+		return;
+
 	q_conf->tx_free_thresh = hw->tx_queues[queue_id]->tx_free_thresh;
 	q_conf->nb_desc = hw->rx_queues[queue_id]->nb_rx_desc;
 	q_conf->rx_mp = hw->rx_queues[queue_id]->mpool;
@@ -294,12 +298,16 @@ ntb_rxq_release(struct ntb_rx_queue *rxq)
 static int
 ntb_rxq_setup(struct rte_rawdev *dev,
 	      uint16_t qp_id,
-	      rte_rawdev_obj_t queue_conf)
+	      rte_rawdev_obj_t queue_conf,
+	      size_t conf_size)
 {
 	struct ntb_queue_conf *rxq_conf = queue_conf;
 	struct ntb_hw *hw = dev->dev_private;
 	struct ntb_rx_queue *rxq;
 
+	if (conf_size != sizeof(*rxq_conf))
+		return -EINVAL;
+
 	/* Allocate the rx queue data structure */
 	rxq = rte_zmalloc_socket("ntb rx queue",
 				 sizeof(struct ntb_rx_queue),
@@ -375,13 +383,17 @@ ntb_txq_release(struct ntb_tx_queue *txq)
 static int
 ntb_txq_setup(struct rte_rawdev *dev,
 	      uint16_t qp_id,
-	      rte_rawdev_obj_t queue_conf)
+	      rte_rawdev_obj_t queue_conf,
+	      size_t conf_size)
 {
 	struct ntb_queue_conf *txq_conf = queue_conf;
 	struct ntb_hw *hw = dev->dev_private;
 	struct ntb_tx_queue *txq;
 	uint16_t i, prev;
 
+	if (conf_size != sizeof(*txq_conf))
+		return -EINVAL;
+
 	/* Allocate the TX queue data structure. */
 	txq = rte_zmalloc_socket("ntb tx queue",
 				  sizeof(struct ntb_tx_queue),
@@ -439,7 +451,8 @@ ntb_txq_setup(struct rte_rawdev *dev,
 static int
 ntb_queue_setup(struct rte_rawdev *dev,
 		uint16_t queue_id,
-		rte_rawdev_obj_t queue_conf)
+		rte_rawdev_obj_t queue_conf,
+		size_t conf_size)
 {
 	struct ntb_hw *hw = dev->dev_private;
 	int ret;
@@ -447,11 +460,11 @@ ntb_queue_setup(struct rte_rawdev *dev,
 	if (queue_id >= hw->queue_pairs)
 		return -EINVAL;
 
-	ret = ntb_txq_setup(dev, queue_id, queue_conf);
+	ret = ntb_txq_setup(dev, queue_id, queue_conf, conf_size);
 	if (ret < 0)
 		return ret;
 
-	ret = ntb_rxq_setup(dev, queue_id, queue_conf);
+	ret = ntb_rxq_setup(dev, queue_id, queue_conf, conf_size);
 
 	return ret;
 }
diff --git a/drivers/raw/skeleton/skeleton_rawdev.c b/drivers/raw/skeleton/skeleton_rawdev.c
index 531d0450c8..801c707fb9 100644
--- a/drivers/raw/skeleton/skeleton_rawdev.c
+++ b/drivers/raw/skeleton/skeleton_rawdev.c
@@ -222,14 +222,16 @@ static int skeleton_rawdev_reset(struct rte_rawdev *dev)
 
 static void skeleton_rawdev_queue_def_conf(struct rte_rawdev *dev,
 					   uint16_t queue_id,
-					   rte_rawdev_obj_t queue_conf)
+					   rte_rawdev_obj_t queue_conf,
+					   size_t conf_size)
 {
 	struct skeleton_rawdev *skeldev;
 	struct skeleton_rawdev_queue *skelq;
 
 	SKELETON_PMD_FUNC_TRACE();
 
-	if (!dev || !queue_conf)
+	if (!dev || !queue_conf ||
+			conf_size != sizeof(struct skeleton_rawdev_queue))
 		return;
 
 	skeldev = skeleton_rawdev_get_priv(dev);
@@ -252,7 +254,8 @@ clear_queue_bufs(int queue_id)
 
 static int skeleton_rawdev_queue_setup(struct rte_rawdev *dev,
 				       uint16_t queue_id,
-				       rte_rawdev_obj_t queue_conf)
+				       rte_rawdev_obj_t queue_conf,
+				       size_t conf_size)
 {
 	int ret = 0;
 	struct skeleton_rawdev *skeldev;
@@ -260,7 +263,8 @@ static int skeleton_rawdev_queue_setup(struct rte_rawdev *dev,
 
 	SKELETON_PMD_FUNC_TRACE();
 
-	if (!dev || !queue_conf)
+	if (!dev || !queue_conf ||
+			conf_size != sizeof(struct skeleton_rawdev_queue))
 		return -EINVAL;
 
 	skeldev = skeleton_rawdev_get_priv(dev);
diff --git a/drivers/raw/skeleton/skeleton_rawdev_test.c b/drivers/raw/skeleton/skeleton_rawdev_test.c
index 7dc7c76847..bb4b6efe40 100644
--- a/drivers/raw/skeleton/skeleton_rawdev_test.c
+++ b/drivers/raw/skeleton/skeleton_rawdev_test.c
@@ -185,7 +185,7 @@ test_rawdev_queue_default_conf_get(void)
 	 * depth = DEF_DEPTH
 	 */
 	for (i = 0; i < rdev_conf_get.num_queues; i++) {
-		rte_rawdev_queue_conf_get(test_dev_id, i, &q);
+		rte_rawdev_queue_conf_get(test_dev_id, i, &q, sizeof(q));
 		RTE_TEST_ASSERT_EQUAL(q.depth, SKELETON_QUEUE_DEF_DEPTH,
 				      "Invalid default depth of queue (%d)",
 				      q.depth);
@@ -235,11 +235,11 @@ test_rawdev_queue_setup(void)
 	/* Modify the queue depth for Queue 0 and attach it */
 	qset.depth = 15;
 	qset.state = SKELETON_QUEUE_ATTACH;
-	ret = rte_rawdev_queue_setup(test_dev_id, 0, &qset);
+	ret = rte_rawdev_queue_setup(test_dev_id, 0, &qset, sizeof(qset));
 	RTE_TEST_ASSERT_SUCCESS(ret, "Failed to setup queue (%d)", ret);
 
 	/* Now, fetching the queue 0 should show depth as 15 */
-	ret = rte_rawdev_queue_conf_get(test_dev_id, 0, &qget);
+	ret = rte_rawdev_queue_conf_get(test_dev_id, 0, &qget, sizeof(qget));
 	RTE_TEST_ASSERT_SUCCESS(ret, "Failed to get queue config (%d)", ret);
 
 	RTE_TEST_ASSERT_EQUAL(qset.depth, qget.depth,
@@ -263,7 +263,7 @@ test_rawdev_queue_release(void)
 	RTE_TEST_ASSERT_SUCCESS(ret, "Failed to release queue 0; (%d)", ret);
 
 	/* Now, fetching the queue 0 should show depth as default */
-	ret = rte_rawdev_queue_conf_get(test_dev_id, 0, &qget);
+	ret = rte_rawdev_queue_conf_get(test_dev_id, 0, &qget, sizeof(qget));
 	RTE_TEST_ASSERT_SUCCESS(ret, "Failed to get queue config (%d)", ret);
 
 	RTE_TEST_ASSERT_EQUAL(qget.depth, SKELETON_QUEUE_DEF_DEPTH,
diff --git a/examples/ntb/ntb_fwd.c b/examples/ntb/ntb_fwd.c
index 656f736594..5a8439b8d3 100644
--- a/examples/ntb/ntb_fwd.c
+++ b/examples/ntb/ntb_fwd.c
@@ -1411,7 +1411,8 @@ main(int argc, char **argv)
 	ntb_q_conf.rx_mp = mbuf_pool;
 	for (i = 0; i < num_queues; i++) {
 		/* Setup rawdev queue */
-		ret = rte_rawdev_queue_setup(dev_id, i, &ntb_q_conf);
+		ret = rte_rawdev_queue_setup(dev_id, i, &ntb_q_conf,
+				sizeof(ntb_q_conf));
 		if (ret < 0)
 			rte_exit(EXIT_FAILURE,
 				"Failed to setup ntb queue %u.\n", i);
diff --git a/lib/librte_rawdev/rte_rawdev.c b/lib/librte_rawdev/rte_rawdev.c
index 6c4d783cc5..f48d8cf10b 100644
--- a/lib/librte_rawdev/rte_rawdev.c
+++ b/lib/librte_rawdev/rte_rawdev.c
@@ -137,7 +137,8 @@ rte_rawdev_configure(uint16_t dev_id, struct rte_rawdev_info *dev_conf,
 int
 rte_rawdev_queue_conf_get(uint16_t dev_id,
 			  uint16_t queue_id,
-			  rte_rawdev_obj_t queue_conf)
+			  rte_rawdev_obj_t queue_conf,
+			  size_t queue_conf_size)
 {
 	struct rte_rawdev *dev;
 
@@ -145,14 +146,16 @@ rte_rawdev_queue_conf_get(uint16_t dev_id,
 	dev = &rte_rawdevs[dev_id];
 
 	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->queue_def_conf, -ENOTSUP);
-	(*dev->dev_ops->queue_def_conf)(dev, queue_id, queue_conf);
+	(*dev->dev_ops->queue_def_conf)(dev, queue_id, queue_conf,
+			queue_conf_size);
 	return 0;
 }
 
 int
 rte_rawdev_queue_setup(uint16_t dev_id,
 		       uint16_t queue_id,
-		       rte_rawdev_obj_t queue_conf)
+		       rte_rawdev_obj_t queue_conf,
+		       size_t queue_conf_size)
 {
 	struct rte_rawdev *dev;
 
@@ -160,7 +163,8 @@ rte_rawdev_queue_setup(uint16_t dev_id,
 	dev = &rte_rawdevs[dev_id];
 
 	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->queue_setup, -ENOTSUP);
-	return (*dev->dev_ops->queue_setup)(dev, queue_id, queue_conf);
+	return (*dev->dev_ops->queue_setup)(dev, queue_id, queue_conf,
+			queue_conf_size);
 }
 
 int
diff --git a/lib/librte_rawdev/rte_rawdev.h b/lib/librte_rawdev/rte_rawdev.h
index 1720f1dd6b..14e8eb972f 100644
--- a/lib/librte_rawdev/rte_rawdev.h
+++ b/lib/librte_rawdev/rte_rawdev.h
@@ -146,6 +146,8 @@ rte_rawdev_configure(uint16_t dev_id, struct rte_rawdev_info *dev_conf,
  *   previously supplied to rte_rawdev_configure().
  * @param[out] queue_conf
  *   The pointer to the default raw queue configuration data.
+ * @param queue_conf_size
+ *   The size of the structure pointed to by queue_conf
  * @return
  *   - 0: Success, driver updates the default raw queue configuration data.
  *   - <0: Error code returned by the driver info get function.
@@ -156,7 +158,8 @@ rte_rawdev_configure(uint16_t dev_id, struct rte_rawdev_info *dev_conf,
 int
 rte_rawdev_queue_conf_get(uint16_t dev_id,
 			  uint16_t queue_id,
-			  rte_rawdev_obj_t queue_conf);
+			  rte_rawdev_obj_t queue_conf,
+			  size_t queue_conf_size);
 
 /**
  * Allocate and set up a raw queue for a raw device.
@@ -169,6 +172,8 @@ rte_rawdev_queue_conf_get(uint16_t dev_id,
  * @param queue_conf
  *   The pointer to the configuration data to be used for the raw queue.
  *   NULL value is allowed, in which case default configuration	used.
+ * @param queue_conf_size
+ *   The size of the structure pointed to by queue_conf
  *
  * @see rte_rawdev_queue_conf_get()
  *
@@ -179,7 +184,8 @@ rte_rawdev_queue_conf_get(uint16_t dev_id,
 int
 rte_rawdev_queue_setup(uint16_t dev_id,
 		       uint16_t queue_id,
-		       rte_rawdev_obj_t queue_conf);
+		       rte_rawdev_obj_t queue_conf,
+		       size_t queue_conf_size);
 
 /**
  * Release and deallocate a raw queue from a raw device.
diff --git a/lib/librte_rawdev/rte_rawdev_pmd.h b/lib/librte_rawdev/rte_rawdev_pmd.h
index 050f8b0292..34eb667f62 100644
--- a/lib/librte_rawdev/rte_rawdev_pmd.h
+++ b/lib/librte_rawdev/rte_rawdev_pmd.h
@@ -218,7 +218,8 @@ typedef int (*rawdev_reset_t)(struct rte_rawdev *dev);
  */
 typedef void (*rawdev_queue_conf_get_t)(struct rte_rawdev *dev,
 					uint16_t queue_id,
-					rte_rawdev_obj_t queue_conf);
+					rte_rawdev_obj_t queue_conf,
+					size_t queue_conf_size);
 
 /**
  * Setup an raw queue.
@@ -235,7 +236,8 @@ typedef void (*rawdev_queue_conf_get_t)(struct rte_rawdev *dev,
  */
 typedef int (*rawdev_queue_setup_t)(struct rte_rawdev *dev,
 				    uint16_t queue_id,
-				    rte_rawdev_obj_t queue_conf);
+				    rte_rawdev_obj_t queue_conf,
+				    size_t queue_conf_size);
 
 /**
  * Release resources allocated by given raw queue.
-- 
2.25.1


^ permalink raw reply	[relevance 7%]

* [dpdk-dev] [PATCH v3 2/7] rawdev: allow drivers to return error from info function
  2020-09-10 14:36  4% ` [dpdk-dev] [PATCH v3 " Bruce Richardson
  2020-09-10 14:36 10%   ` [dpdk-dev] [PATCH v3 1/7] rawdev: add private data length parameter to info fn Bruce Richardson
@ 2020-09-10 14:36  5%   ` Bruce Richardson
  2020-09-10 14:36  6%   ` [dpdk-dev] [PATCH v3 3/7] rawdev: add private data length parameter to config fn Bruce Richardson
                     ` (4 subsequent siblings)
  6 siblings, 0 replies; 200+ results
From: Bruce Richardson @ 2020-09-10 14:36 UTC (permalink / raw)
  To: dev
  Cc: thomas, Bruce Richardson, Rosen Xu, Nipun Gupta, John McNamara,
	Marko Kovacevic, Tianfei zhang, Xiaoyun Li, Jingjing Wu,
	Hemant Agrawal

Since we now allow some parameter checking inside the driver info_get()
functions, it makes sense to allow error return from those functions to the
caller. Therefore we change the driver callback return type from void to
int.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: Rosen Xu <rosen.xu@intel.com>
Acked-by: Nipun Gupta <nipun.gupta@nxp.com>

---
v3: Add release note entry for change
---
 doc/guides/rel_notes/release_20_11.rst |  3 +++
 drivers/raw/ifpga/ifpga_rawdev.c       | 15 ++++++++-------
 drivers/raw/ioat/ioat_rawdev.c         |  9 ++++++---
 drivers/raw/ntb/ntb.c                  |  8 +++++---
 drivers/raw/skeleton/skeleton_rawdev.c |  6 ++++--
 lib/librte_rawdev/rte_rawdev.c         |  6 ++++--
 lib/librte_rawdev/rte_rawdev_pmd.h     |  4 ++--
 7 files changed, 32 insertions(+), 19 deletions(-)

diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index a931dc0bff..6431efe56b 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -88,6 +88,9 @@ API Changes
   ``rte_rawdev_info_get()``,
   allowing limited driver type-checking and ABI compatibility.
 
+* rawdev: Changed the return type of the function ``rte_dev_info_get()``
+  from ``void`` to ``int`` allowing the return of error codes from drivers.
+
 
 ABI Changes
 -----------
diff --git a/drivers/raw/ifpga/ifpga_rawdev.c b/drivers/raw/ifpga/ifpga_rawdev.c
index 47cfa38778..32a2b96c90 100644
--- a/drivers/raw/ifpga/ifpga_rawdev.c
+++ b/drivers/raw/ifpga/ifpga_rawdev.c
@@ -603,7 +603,7 @@ ifpga_fill_afu_dev(struct opae_accelerator *acc,
 	return 0;
 }
 
-static void
+static int
 ifpga_rawdev_info_get(struct rte_rawdev *dev,
 		      rte_rawdev_obj_t dev_info,
 		      size_t dev_info_size)
@@ -620,12 +620,12 @@ ifpga_rawdev_info_get(struct rte_rawdev *dev,
 
 	if (!dev_info || dev_info_size != sizeof(*afu_dev)) {
 		IFPGA_RAWDEV_PMD_ERR("Invalid request");
-		return;
+		return -EINVAL;
 	}
 
 	adapter = ifpga_rawdev_get_priv(dev);
 	if (!adapter)
-		return;
+		return -ENOENT;
 
 	afu_dev = dev_info;
 	afu_dev->rawdev = dev;
@@ -637,7 +637,7 @@ ifpga_rawdev_info_get(struct rte_rawdev *dev,
 
 		if (ifpga_fill_afu_dev(acc, afu_dev)) {
 			IFPGA_RAWDEV_PMD_ERR("cannot get info\n");
-			return;
+			return -ENOENT;
 		}
 	}
 
@@ -647,21 +647,21 @@ ifpga_rawdev_info_get(struct rte_rawdev *dev,
 		/* get LineSide BAR Index */
 		if (opae_manager_get_eth_group_region_info(mgr, 0,
 			&opae_lside_eth_info)) {
-			return;
+			return -ENOENT;
 		}
 		lside_bar_idx = opae_lside_eth_info.mem_idx;
 
 		/* get NICSide BAR Index */
 		if (opae_manager_get_eth_group_region_info(mgr, 1,
 			&opae_nside_eth_info)) {
-			return;
+			return -ENOENT;
 		}
 		nside_bar_idx = opae_nside_eth_info.mem_idx;
 
 		if (lside_bar_idx >= PCI_MAX_RESOURCE ||
 			nside_bar_idx >= PCI_MAX_RESOURCE ||
 			lside_bar_idx == nside_bar_idx)
-			return;
+			return -ENOENT;
 
 		/* fill LineSide BAR Index */
 		afu_dev->mem_resource[lside_bar_idx].phys_addr =
@@ -679,6 +679,7 @@ ifpga_rawdev_info_get(struct rte_rawdev *dev,
 		afu_dev->mem_resource[nside_bar_idx].addr =
 			opae_nside_eth_info.addr;
 	}
+	return 0;
 }
 
 static int
diff --git a/drivers/raw/ioat/ioat_rawdev.c b/drivers/raw/ioat/ioat_rawdev.c
index a5c0452d7e..e2fc787263 100644
--- a/drivers/raw/ioat/ioat_rawdev.c
+++ b/drivers/raw/ioat/ioat_rawdev.c
@@ -110,15 +110,18 @@ ioat_dev_stop(struct rte_rawdev *dev)
 	RTE_SET_USED(dev);
 }
 
-static void
+static int
 ioat_dev_info_get(struct rte_rawdev *dev, rte_rawdev_obj_t dev_info,
 		size_t dev_info_size)
 {
 	struct rte_ioat_rawdev_config *cfg = dev_info;
 	struct rte_ioat_rawdev *ioat = dev->dev_private;
 
-	if (cfg != NULL && dev_info_size == sizeof(*cfg))
-		cfg->ring_size = ioat->ring_size;
+	if (dev_info == NULL || dev_info_size != sizeof(*cfg))
+		return -EINVAL;
+
+	cfg->ring_size = ioat->ring_size;
+	return 0;
 }
 
 static const char * const xstat_names[] = {
diff --git a/drivers/raw/ntb/ntb.c b/drivers/raw/ntb/ntb.c
index c890c43a32..ced5b6d624 100644
--- a/drivers/raw/ntb/ntb.c
+++ b/drivers/raw/ntb/ntb.c
@@ -800,7 +800,7 @@ ntb_dequeue_bufs(struct rte_rawdev *dev,
 	return nb_rx;
 }
 
-static void
+static int
 ntb_dev_info_get(struct rte_rawdev *dev, rte_rawdev_obj_t dev_info,
 		size_t dev_info_size)
 {
@@ -809,7 +809,7 @@ ntb_dev_info_get(struct rte_rawdev *dev, rte_rawdev_obj_t dev_info,
 
 	if (dev_info_size != sizeof(*info)) {
 		NTB_LOG(ERR, "Invalid size parameter to %s", __func__);
-		return;
+		return -EINVAL;
 	}
 
 	info->mw_cnt = hw->mw_cnt;
@@ -824,7 +824,7 @@ ntb_dev_info_get(struct rte_rawdev *dev, rte_rawdev_obj_t dev_info,
 
 	if (!hw->queue_size || !hw->queue_pairs) {
 		NTB_LOG(ERR, "No queue size and queue num assigned.");
-		return;
+		return -EAGAIN;
 	}
 
 	hw->hdr_size_per_queue = RTE_ALIGN(sizeof(struct ntb_header) +
@@ -832,6 +832,8 @@ ntb_dev_info_get(struct rte_rawdev *dev, rte_rawdev_obj_t dev_info,
 				hw->queue_size * sizeof(struct ntb_used),
 				RTE_CACHE_LINE_SIZE);
 	info->ntb_hdr_size = hw->hdr_size_per_queue * hw->queue_pairs;
+
+	return 0;
 }
 
 static int
diff --git a/drivers/raw/skeleton/skeleton_rawdev.c b/drivers/raw/skeleton/skeleton_rawdev.c
index dc05f3ecf8..dce300c358 100644
--- a/drivers/raw/skeleton/skeleton_rawdev.c
+++ b/drivers/raw/skeleton/skeleton_rawdev.c
@@ -41,7 +41,7 @@ struct queue_buffers {
 static struct queue_buffers queue_buf[SKELETON_MAX_QUEUES] = {};
 static void clear_queue_bufs(int queue_id);
 
-static void skeleton_rawdev_info_get(struct rte_rawdev *dev,
+static int skeleton_rawdev_info_get(struct rte_rawdev *dev,
 				     rte_rawdev_obj_t dev_info,
 				     size_t dev_info_size)
 {
@@ -52,7 +52,7 @@ static void skeleton_rawdev_info_get(struct rte_rawdev *dev,
 
 	if (!dev_info || dev_info_size != sizeof(*skeldev_conf)) {
 		SKELETON_PMD_ERR("Invalid request");
-		return;
+		return -EINVAL;
 	}
 
 	skeldev = skeleton_rawdev_get_priv(dev);
@@ -63,6 +63,8 @@ static void skeleton_rawdev_info_get(struct rte_rawdev *dev,
 	skeldev_conf->capabilities = skeldev->capabilities;
 	skeldev_conf->device_state = skeldev->device_state;
 	skeldev_conf->firmware_state = skeldev->fw.firmware_state;
+
+	return 0;
 }
 
 static int skeleton_rawdev_configure(const struct rte_rawdev *dev,
diff --git a/lib/librte_rawdev/rte_rawdev.c b/lib/librte_rawdev/rte_rawdev.c
index a576890356..bde33763ee 100644
--- a/lib/librte_rawdev/rte_rawdev.c
+++ b/lib/librte_rawdev/rte_rawdev.c
@@ -82,6 +82,7 @@ rte_rawdev_info_get(uint16_t dev_id, struct rte_rawdev_info *dev_info,
 		size_t dev_private_size)
 {
 	struct rte_rawdev *rawdev;
+	int ret = 0;
 
 	RTE_RAWDEV_VALID_DEVID_OR_ERR_RET(dev_id, -EINVAL);
 	RTE_FUNC_PTR_OR_ERR_RET(dev_info, -EINVAL);
@@ -90,7 +91,8 @@ rte_rawdev_info_get(uint16_t dev_id, struct rte_rawdev_info *dev_info,
 
 	if (dev_info->dev_private != NULL) {
 		RTE_FUNC_PTR_OR_ERR_RET(*rawdev->dev_ops->dev_info_get, -ENOTSUP);
-		(*rawdev->dev_ops->dev_info_get)(rawdev, dev_info->dev_private,
+		ret = (*rawdev->dev_ops->dev_info_get)(rawdev,
+				dev_info->dev_private,
 				dev_private_size);
 	}
 
@@ -98,7 +100,7 @@ rte_rawdev_info_get(uint16_t dev_id, struct rte_rawdev_info *dev_info,
 	dev_info->device = rawdev->device;
 	dev_info->socket_id = rawdev->socket_id;
 
-	return 0;
+	return ret;
 }
 
 int
diff --git a/lib/librte_rawdev/rte_rawdev_pmd.h b/lib/librte_rawdev/rte_rawdev_pmd.h
index 0e72a92058..89e46412a3 100644
--- a/lib/librte_rawdev/rte_rawdev_pmd.h
+++ b/lib/librte_rawdev/rte_rawdev_pmd.h
@@ -142,9 +142,9 @@ rte_rawdev_pmd_is_valid_dev(uint8_t dev_id)
  *   The size of the structure pointed to by dev_info->dev_private
  *
  * @return
- *   Returns 0 on success
+ *   Returns 0 on success, negative error code on failure
  */
-typedef void (*rawdev_info_get_t)(struct rte_rawdev *dev,
+typedef int (*rawdev_info_get_t)(struct rte_rawdev *dev,
 				  rte_rawdev_obj_t dev_info,
 				  size_t dev_private_size);
 
-- 
2.25.1


^ permalink raw reply	[relevance 5%]

* [dpdk-dev] [PATCH v3 1/7] rawdev: add private data length parameter to info fn
  2020-09-10 14:36  4% ` [dpdk-dev] [PATCH v3 " Bruce Richardson
@ 2020-09-10 14:36 10%   ` Bruce Richardson
  2020-09-10 14:36  5%   ` [dpdk-dev] [PATCH v3 2/7] rawdev: allow drivers to return error from info function Bruce Richardson
                     ` (5 subsequent siblings)
  6 siblings, 0 replies; 200+ results
From: Bruce Richardson @ 2020-09-10 14:36 UTC (permalink / raw)
  To: dev
  Cc: thomas, Bruce Richardson, Rosen Xu, Nipun Gupta, Hemant Agrawal,
	John McNamara, Marko Kovacevic, Tianfei zhang, Xiaoyun Li,
	Jingjing Wu

Currently with the rawdev API there is no way to check that the structure
passed in via the dev_private pointer in the dev_info structure is of the
correct type - it's just checked that it is non-NULL. Adding in the length
of the expected structure provides a measure of typechecking, and can also
be used for ABI compatibility in future, since ABI changes involving
structs almost always involve a change in size.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: Rosen Xu <rosen.xu@intel.com>
Acked-by: Rosen Xu <rosen.xu@intel.com>
Acked-by: Nipun Gupta <nipun.gupta@nxp.com>

---
V3: Added short release-note item describing the change.
---
 app/test/test_rawdev.c                      |  2 +-
 doc/guides/rawdevs/ioat.rst                 |  2 +-
 doc/guides/rel_notes/release_20_11.rst      |  4 ++++
 doc/guides/sample_app_ug/ioat.rst           |  2 +-
 drivers/bus/ifpga/ifpga_bus.c               |  2 +-
 drivers/raw/ifpga/ifpga_rawdev.c            |  5 +++--
 drivers/raw/ioat/ioat_rawdev.c              |  5 +++--
 drivers/raw/ioat/ioat_rawdev_test.c         |  4 ++--
 drivers/raw/ntb/ntb.c                       |  8 +++++++-
 drivers/raw/skeleton/skeleton_rawdev.c      |  5 +++--
 drivers/raw/skeleton/skeleton_rawdev_test.c | 19 ++++++++++++-------
 examples/ioat/ioatfwd.c                     |  2 +-
 examples/ntb/ntb_fwd.c                      |  2 +-
 lib/librte_rawdev/rte_rawdev.c              |  6 ++++--
 lib/librte_rawdev/rte_rawdev.h              |  9 ++++++++-
 lib/librte_rawdev/rte_rawdev_pmd.h          |  5 ++++-
 16 files changed, 56 insertions(+), 26 deletions(-)

diff --git a/app/test/test_rawdev.c b/app/test/test_rawdev.c
index 524a9d5f3b..d8d9595be1 100644
--- a/app/test/test_rawdev.c
+++ b/app/test/test_rawdev.c
@@ -34,7 +34,7 @@ test_rawdev_selftest_ioat(void)
 
 	for (i = 0; i < count; i++) {
 		struct rte_rawdev_info info = { .dev_private = NULL };
-		if (rte_rawdev_info_get(i, &info) == 0 &&
+		if (rte_rawdev_info_get(i, &info, 0) == 0 &&
 				strstr(info.driver_name, "ioat") != NULL)
 			return rte_rawdev_selftest(i) == 0 ?
 					TEST_SUCCESS : TEST_FAILED;
diff --git a/doc/guides/rawdevs/ioat.rst b/doc/guides/rawdevs/ioat.rst
index d0eee5e237..dac52fabf1 100644
--- a/doc/guides/rawdevs/ioat.rst
+++ b/doc/guides/rawdevs/ioat.rst
@@ -107,7 +107,7 @@ rawdev device for use by an application:
 
         for (i = 0; i < count && !found; i++) {
                 struct rte_rawdev_info info = { .dev_private = NULL };
-                found = (rte_rawdev_info_get(i, &info) == 0 &&
+                found = (rte_rawdev_info_get(i, &info, 0) == 0 &&
                                 strcmp(info.driver_name,
                                                 IOAT_PMD_RAWDEV_NAME_STR) == 0);
         }
diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index df227a1773..a931dc0bff 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -84,6 +84,10 @@ API Changes
    Also, make sure to start the actual text at the margin.
    =======================================================
 
+* rawdev: Added a structure size parameter to the function
+  ``rte_rawdev_info_get()``,
+  allowing limited driver type-checking and ABI compatibility.
+
 
 ABI Changes
 -----------
diff --git a/doc/guides/sample_app_ug/ioat.rst b/doc/guides/sample_app_ug/ioat.rst
index bab7654b8d..b5188220ba 100644
--- a/doc/guides/sample_app_ug/ioat.rst
+++ b/doc/guides/sample_app_ug/ioat.rst
@@ -265,7 +265,7 @@ functions:
                 do {
                     if (rdev_id == rte_rawdev_count())
                         goto end;
-                    rte_rawdev_info_get(rdev_id++, &rdev_info);
+                    rte_rawdev_info_get(rdev_id++, &rdev_info, 0);
                 } while (strcmp(rdev_info.driver_name,
                     IOAT_PMD_RAWDEV_NAME_STR) != 0);
 
diff --git a/drivers/bus/ifpga/ifpga_bus.c b/drivers/bus/ifpga/ifpga_bus.c
index 6b16a20bb6..bb8b3dcfb9 100644
--- a/drivers/bus/ifpga/ifpga_bus.c
+++ b/drivers/bus/ifpga/ifpga_bus.c
@@ -162,7 +162,7 @@ ifpga_scan_one(struct rte_rawdev *rawdev,
 	afu_dev->id.port      = afu_pr_conf.afu_id.port;
 
 	if (rawdev->dev_ops && rawdev->dev_ops->dev_info_get)
-		rawdev->dev_ops->dev_info_get(rawdev, afu_dev);
+		rawdev->dev_ops->dev_info_get(rawdev, afu_dev, sizeof(*afu_dev));
 
 	if (rawdev->dev_ops &&
 		rawdev->dev_ops->dev_start &&
diff --git a/drivers/raw/ifpga/ifpga_rawdev.c b/drivers/raw/ifpga/ifpga_rawdev.c
index cc25c662bc..47cfa38778 100644
--- a/drivers/raw/ifpga/ifpga_rawdev.c
+++ b/drivers/raw/ifpga/ifpga_rawdev.c
@@ -605,7 +605,8 @@ ifpga_fill_afu_dev(struct opae_accelerator *acc,
 
 static void
 ifpga_rawdev_info_get(struct rte_rawdev *dev,
-				     rte_rawdev_obj_t dev_info)
+		      rte_rawdev_obj_t dev_info,
+		      size_t dev_info_size)
 {
 	struct opae_adapter *adapter;
 	struct opae_accelerator *acc;
@@ -617,7 +618,7 @@ ifpga_rawdev_info_get(struct rte_rawdev *dev,
 
 	IFPGA_RAWDEV_PMD_FUNC_TRACE();
 
-	if (!dev_info) {
+	if (!dev_info || dev_info_size != sizeof(*afu_dev)) {
 		IFPGA_RAWDEV_PMD_ERR("Invalid request");
 		return;
 	}
diff --git a/drivers/raw/ioat/ioat_rawdev.c b/drivers/raw/ioat/ioat_rawdev.c
index 87fd088aac..a5c0452d7e 100644
--- a/drivers/raw/ioat/ioat_rawdev.c
+++ b/drivers/raw/ioat/ioat_rawdev.c
@@ -111,12 +111,13 @@ ioat_dev_stop(struct rte_rawdev *dev)
 }
 
 static void
-ioat_dev_info_get(struct rte_rawdev *dev, rte_rawdev_obj_t dev_info)
+ioat_dev_info_get(struct rte_rawdev *dev, rte_rawdev_obj_t dev_info,
+		size_t dev_info_size)
 {
 	struct rte_ioat_rawdev_config *cfg = dev_info;
 	struct rte_ioat_rawdev *ioat = dev->dev_private;
 
-	if (cfg != NULL)
+	if (cfg != NULL && dev_info_size == sizeof(*cfg))
 		cfg->ring_size = ioat->ring_size;
 }
 
diff --git a/drivers/raw/ioat/ioat_rawdev_test.c b/drivers/raw/ioat/ioat_rawdev_test.c
index c37351af2d..2b40222eb4 100644
--- a/drivers/raw/ioat/ioat_rawdev_test.c
+++ b/drivers/raw/ioat/ioat_rawdev_test.c
@@ -148,7 +148,7 @@ ioat_rawdev_test(uint16_t dev_id)
 	unsigned int nb_xstats;
 	unsigned int i;
 
-	rte_rawdev_info_get(dev_id, &info);
+	rte_rawdev_info_get(dev_id, &info, sizeof(p));
 	if (p.ring_size != expected_ring_size) {
 		printf("Error, initial ring size is not as expected (Actual: %d, Expected: %d)\n",
 				(int)p.ring_size, expected_ring_size);
@@ -160,7 +160,7 @@ ioat_rawdev_test(uint16_t dev_id)
 		printf("Error with rte_rawdev_configure()\n");
 		return -1;
 	}
-	rte_rawdev_info_get(dev_id, &info);
+	rte_rawdev_info_get(dev_id, &info, sizeof(p));
 	if (p.ring_size != IOAT_TEST_RINGSIZE) {
 		printf("Error, ring size is not %d (%d)\n",
 				IOAT_TEST_RINGSIZE, (int)p.ring_size);
diff --git a/drivers/raw/ntb/ntb.c b/drivers/raw/ntb/ntb.c
index e40412bb7e..c890c43a32 100644
--- a/drivers/raw/ntb/ntb.c
+++ b/drivers/raw/ntb/ntb.c
@@ -801,11 +801,17 @@ ntb_dequeue_bufs(struct rte_rawdev *dev,
 }
 
 static void
-ntb_dev_info_get(struct rte_rawdev *dev, rte_rawdev_obj_t dev_info)
+ntb_dev_info_get(struct rte_rawdev *dev, rte_rawdev_obj_t dev_info,
+		size_t dev_info_size)
 {
 	struct ntb_hw *hw = dev->dev_private;
 	struct ntb_dev_info *info = dev_info;
 
+	if (dev_info_size != sizeof(*info)) {
+		NTB_LOG(ERR, "Invalid size parameter to %s", __func__);
+		return;
+	}
+
 	info->mw_cnt = hw->mw_cnt;
 	info->mw_size = hw->mw_size;
 
diff --git a/drivers/raw/skeleton/skeleton_rawdev.c b/drivers/raw/skeleton/skeleton_rawdev.c
index 72ece887af..dc05f3ecf8 100644
--- a/drivers/raw/skeleton/skeleton_rawdev.c
+++ b/drivers/raw/skeleton/skeleton_rawdev.c
@@ -42,14 +42,15 @@ static struct queue_buffers queue_buf[SKELETON_MAX_QUEUES] = {};
 static void clear_queue_bufs(int queue_id);
 
 static void skeleton_rawdev_info_get(struct rte_rawdev *dev,
-				     rte_rawdev_obj_t dev_info)
+				     rte_rawdev_obj_t dev_info,
+				     size_t dev_info_size)
 {
 	struct skeleton_rawdev *skeldev;
 	struct skeleton_rawdev_conf *skeldev_conf;
 
 	SKELETON_PMD_FUNC_TRACE();
 
-	if (!dev_info) {
+	if (!dev_info || dev_info_size != sizeof(*skeldev_conf)) {
 		SKELETON_PMD_ERR("Invalid request");
 		return;
 	}
diff --git a/drivers/raw/skeleton/skeleton_rawdev_test.c b/drivers/raw/skeleton/skeleton_rawdev_test.c
index 9ecfdee818..9b8390dfb7 100644
--- a/drivers/raw/skeleton/skeleton_rawdev_test.c
+++ b/drivers/raw/skeleton/skeleton_rawdev_test.c
@@ -106,12 +106,12 @@ test_rawdev_info_get(void)
 	struct rte_rawdev_info rdev_info = {0};
 	struct skeleton_rawdev_conf skel_conf = {0};
 
-	ret = rte_rawdev_info_get(test_dev_id, NULL);
+	ret = rte_rawdev_info_get(test_dev_id, NULL, 0);
 	RTE_TEST_ASSERT(ret == -EINVAL, "Expected -EINVAL, %d", ret);
 
 	rdev_info.dev_private = &skel_conf;
 
-	ret = rte_rawdev_info_get(test_dev_id, &rdev_info);
+	ret = rte_rawdev_info_get(test_dev_id, &rdev_info, sizeof(skel_conf));
 	RTE_TEST_ASSERT_SUCCESS(ret, "Failed to get raw dev info");
 
 	return TEST_SUCCESS;
@@ -142,7 +142,8 @@ test_rawdev_configure(void)
 
 	rdev_info.dev_private = &rdev_conf_get;
 	ret = rte_rawdev_info_get(test_dev_id,
-				  (rte_rawdev_obj_t)&rdev_info);
+				  (rte_rawdev_obj_t)&rdev_info,
+				  sizeof(rdev_conf_get));
 	RTE_TEST_ASSERT_SUCCESS(ret,
 				"Failed to obtain rawdev configuration (%d)",
 				ret);
@@ -170,7 +171,8 @@ test_rawdev_queue_default_conf_get(void)
 	/* Get the current configuration */
 	rdev_info.dev_private = &rdev_conf_get;
 	ret = rte_rawdev_info_get(test_dev_id,
-				  (rte_rawdev_obj_t)&rdev_info);
+				  (rte_rawdev_obj_t)&rdev_info,
+				  sizeof(rdev_conf_get));
 	RTE_TEST_ASSERT_SUCCESS(ret, "Failed to obtain rawdev configuration (%d)",
 				ret);
 
@@ -218,7 +220,8 @@ test_rawdev_queue_setup(void)
 	/* Get the current configuration */
 	rdev_info.dev_private = &rdev_conf_get;
 	ret = rte_rawdev_info_get(test_dev_id,
-				  (rte_rawdev_obj_t)&rdev_info);
+				  (rte_rawdev_obj_t)&rdev_info,
+				  sizeof(rdev_conf_get));
 	RTE_TEST_ASSERT_SUCCESS(ret,
 				"Failed to obtain rawdev configuration (%d)",
 				ret);
@@ -327,7 +330,8 @@ test_rawdev_start_stop(void)
 	dummy_firmware = NULL;
 
 	rte_rawdev_start(test_dev_id);
-	ret = rte_rawdev_info_get(test_dev_id, (rte_rawdev_obj_t)&rdev_info);
+	ret = rte_rawdev_info_get(test_dev_id, (rte_rawdev_obj_t)&rdev_info,
+			sizeof(rdev_conf_get));
 	RTE_TEST_ASSERT_SUCCESS(ret,
 				"Failed to obtain rawdev configuration (%d)",
 				ret);
@@ -336,7 +340,8 @@ test_rawdev_start_stop(void)
 			      rdev_conf_get.device_state);
 
 	rte_rawdev_stop(test_dev_id);
-	ret = rte_rawdev_info_get(test_dev_id, (rte_rawdev_obj_t)&rdev_info);
+	ret = rte_rawdev_info_get(test_dev_id, (rte_rawdev_obj_t)&rdev_info,
+			sizeof(rdev_conf_get));
 	RTE_TEST_ASSERT_SUCCESS(ret,
 				"Failed to obtain rawdev configuration (%d)",
 				ret);
diff --git a/examples/ioat/ioatfwd.c b/examples/ioat/ioatfwd.c
index 75d8d5b9fe..76932d3dd2 100644
--- a/examples/ioat/ioatfwd.c
+++ b/examples/ioat/ioatfwd.c
@@ -757,7 +757,7 @@ assign_rawdevs(void)
 			do {
 				if (rdev_id == rte_rawdev_count())
 					goto end;
-				rte_rawdev_info_get(rdev_id++, &rdev_info);
+				rte_rawdev_info_get(rdev_id++, &rdev_info, 0);
 			} while (rdev_info.driver_name == NULL ||
 					strcmp(rdev_info.driver_name,
 						IOAT_PMD_RAWDEV_NAME_STR) != 0);
diff --git a/examples/ntb/ntb_fwd.c b/examples/ntb/ntb_fwd.c
index eba8ebf9fa..11e224451c 100644
--- a/examples/ntb/ntb_fwd.c
+++ b/examples/ntb/ntb_fwd.c
@@ -1389,7 +1389,7 @@ main(int argc, char **argv)
 	rte_rawdev_set_attr(dev_id, NTB_QUEUE_NUM_NAME, num_queues);
 	printf("Set queue number as %u.\n", num_queues);
 	ntb_rawdev_info.dev_private = (rte_rawdev_obj_t)(&ntb_info);
-	rte_rawdev_info_get(dev_id, &ntb_rawdev_info);
+	rte_rawdev_info_get(dev_id, &ntb_rawdev_info, sizeof(ntb_info));
 
 	nb_mbuf = nb_desc * num_queues * 2 * 2 + rte_lcore_count() *
 		  MEMPOOL_CACHE_SIZE;
diff --git a/lib/librte_rawdev/rte_rawdev.c b/lib/librte_rawdev/rte_rawdev.c
index 8f84d0b228..a576890356 100644
--- a/lib/librte_rawdev/rte_rawdev.c
+++ b/lib/librte_rawdev/rte_rawdev.c
@@ -78,7 +78,8 @@ rte_rawdev_socket_id(uint16_t dev_id)
 }
 
 int
-rte_rawdev_info_get(uint16_t dev_id, struct rte_rawdev_info *dev_info)
+rte_rawdev_info_get(uint16_t dev_id, struct rte_rawdev_info *dev_info,
+		size_t dev_private_size)
 {
 	struct rte_rawdev *rawdev;
 
@@ -89,7 +90,8 @@ rte_rawdev_info_get(uint16_t dev_id, struct rte_rawdev_info *dev_info)
 
 	if (dev_info->dev_private != NULL) {
 		RTE_FUNC_PTR_OR_ERR_RET(*rawdev->dev_ops->dev_info_get, -ENOTSUP);
-		(*rawdev->dev_ops->dev_info_get)(rawdev, dev_info->dev_private);
+		(*rawdev->dev_ops->dev_info_get)(rawdev, dev_info->dev_private,
+				dev_private_size);
 	}
 
 	dev_info->driver_name = rawdev->driver_name;
diff --git a/lib/librte_rawdev/rte_rawdev.h b/lib/librte_rawdev/rte_rawdev.h
index 32f6b8bb03..cf6acfd261 100644
--- a/lib/librte_rawdev/rte_rawdev.h
+++ b/lib/librte_rawdev/rte_rawdev.h
@@ -82,13 +82,20 @@ struct rte_rawdev_info;
  *   will be returned. This can be used to safely query the type of a rawdev
  *   instance without needing to know the size of the private data to return.
  *
+ * @param dev_private_size
+ *   The length of the memory space pointed to by dev_private in dev_info.
+ *   This should be set to the size of the expected private structure to be
+ *   returned, and may be checked by drivers to ensure the expected struct
+ *   type is provided.
+ *
  * @return
  *   - 0: Success, driver updates the contextual information of the raw device
  *   - <0: Error code returned by the driver info get function.
  *
  */
 int
-rte_rawdev_info_get(uint16_t dev_id, struct rte_rawdev_info *dev_info);
+rte_rawdev_info_get(uint16_t dev_id, struct rte_rawdev_info *dev_info,
+		size_t dev_private_size);
 
 /**
  * Configure a raw device.
diff --git a/lib/librte_rawdev/rte_rawdev_pmd.h b/lib/librte_rawdev/rte_rawdev_pmd.h
index 4395a2182d..0e72a92058 100644
--- a/lib/librte_rawdev/rte_rawdev_pmd.h
+++ b/lib/librte_rawdev/rte_rawdev_pmd.h
@@ -138,12 +138,15 @@ rte_rawdev_pmd_is_valid_dev(uint8_t dev_id)
  *   Raw device pointer
  * @param dev_info
  *   Raw device information structure
+ * @param dev_private_size
+ *   The size of the structure pointed to by dev_info->dev_private
  *
  * @return
  *   Returns 0 on success
  */
 typedef void (*rawdev_info_get_t)(struct rte_rawdev *dev,
-				  rte_rawdev_obj_t dev_info);
+				  rte_rawdev_obj_t dev_info,
+				  size_t dev_private_size);
 
 /**
  * Configure a device.
-- 
2.25.1


^ permalink raw reply	[relevance 10%]

* [dpdk-dev] [PATCH v3 0/7] Enhance rawdev APIs
    @ 2020-09-10 14:36  4% ` Bruce Richardson
  2020-09-10 14:36 10%   ` [dpdk-dev] [PATCH v3 1/7] rawdev: add private data length parameter to info fn Bruce Richardson
                     ` (6 more replies)
  1 sibling, 7 replies; 200+ results
From: Bruce Richardson @ 2020-09-10 14:36 UTC (permalink / raw)
  To: dev; +Cc: thomas, Bruce Richardson

This patchset proposes some internal and externally-visible changes to the
rawdev API, the ABI change of which were previously announced.

The changes are in two main areas:
* For any APIs which take a void * parameter for driver-specific structs,
  add an additional parameter to provide the struct length. This allows
  some runtime type-checking, as well as possible ABI-compatibility support
  in the future as structure change generally involve a change in the size
  of the structure.
* Ensure all APIs which can return error values have int type, rather than
  void. Since functions like info_get and queue_default_get can now do some
  typechecking, they need to be modified to allow them to return error
  codes on failure.

V3:
  - fix doxygen error
  - add release note update for changes to public APIs
V2:
  - add additional patch to make start/stop functions optional
  - remove deprecation notice once changes applied


Bruce Richardson (7):
  rawdev: add private data length parameter to info fn
  rawdev: allow drivers to return error from info function
  rawdev: add private data length parameter to config fn
  rawdev: add private data length parameter to queue fns
  rawdev: allow queue config query to return error
  rawdev: mark start and stop functions optional
  doc: remove rawdev deprecation notice

 app/test/test_rawdev.c                      |  2 +-
 doc/guides/rawdevs/ioat.rst                 |  4 +-
 doc/guides/rawdevs/octeontx2_dma.rst        |  2 +-
 doc/guides/rawdevs/octeontx2_ep.rst         |  3 +-
 doc/guides/rel_notes/deprecation.rst        |  7 ---
 doc/guides/rel_notes/release_20_11.rst      |  9 ++++
 doc/guides/sample_app_ug/ioat.rst           |  4 +-
 drivers/bus/ifpga/ifpga_bus.c               |  2 +-
 drivers/raw/ifpga/ifpga_rawdev.c            | 23 +++++-----
 drivers/raw/ioat/ioat_rawdev.c              | 17 ++++---
 drivers/raw/ioat/ioat_rawdev_test.c         |  6 +--
 drivers/raw/ntb/ntb.c                       | 49 ++++++++++++++++-----
 drivers/raw/octeontx2_dma/otx2_dpi_rawdev.c |  7 +--
 drivers/raw/octeontx2_dma/otx2_dpi_test.c   |  3 +-
 drivers/raw/octeontx2_ep/otx2_ep_rawdev.c   |  7 +--
 drivers/raw/octeontx2_ep/otx2_ep_test.c     |  2 +-
 drivers/raw/skeleton/skeleton_rawdev.c      | 36 +++++++++------
 drivers/raw/skeleton/skeleton_rawdev_test.c | 32 ++++++++------
 examples/ioat/ioatfwd.c                     |  4 +-
 examples/ntb/ntb_fwd.c                      |  7 +--
 lib/librte_rawdev/rte_rawdev.c              | 47 +++++++++++++-------
 lib/librte_rawdev/rte_rawdev.h              | 27 ++++++++++--
 lib/librte_rawdev/rte_rawdev_pmd.h          | 22 ++++++---
 23 files changed, 210 insertions(+), 112 deletions(-)

-- 
2.25.1


^ permalink raw reply	[relevance 4%]

* [dpdk-dev] [PATCH v2 4/4] build: add abi breakage checks to meson
  2020-09-10 14:21 10% ` [dpdk-dev] [PATCH v2 0/4] abi breakage checks for meson Conor Walsh
                     ` (2 preceding siblings ...)
  2020-09-10 14:21 21%   ` [dpdk-dev] [PATCH v2 3/4] buildtools: add script to setup abi checks for meson Conor Walsh
@ 2020-09-10 14:21 17%   ` Conor Walsh
  2020-09-11 16:03 10%   ` [dpdk-dev] [PATCH v3 0/4] abi breakage checks for meson Conor Walsh
  4 siblings, 0 replies; 200+ results
From: Conor Walsh @ 2020-09-10 14:21 UTC (permalink / raw)
  To: dev
  Cc: david.marchand, ray.kinsella, nhorman, aconole, maicolgabriel,
	thomas, bruce.richardson, Conor Walsh

This patch adds the ability to run ABI breakage checks to meson.
To do this the developer needs to set the meson build type to debug and
set the version of DPDK that they want to check the ABI against.
The option "abi_checks" has been added to meson for this, the option
accepts DPDK tags e.g. "latest" or "v20.11".
Example meson command: "meson -Dbuildtype=debug -Dabi_checks=v20.11 build"
When the build is done using ninja the ABI checks will be performed
if any breakages are present the build will fail.

Signed-off-by: Conor Walsh <conor.walsh@intel.com>
---
 buildtools/meson.build | 20 ++++++++++++++++++++
 config/meson.build     |  9 +++++++++
 drivers/meson.build    | 15 +++++++++++++++
 lib/meson.build        | 15 +++++++++++++++
 meson_options.txt      |  2 ++
 5 files changed, 61 insertions(+)

diff --git a/buildtools/meson.build b/buildtools/meson.build
index 04808dabc..63513a273 100644
--- a/buildtools/meson.build
+++ b/buildtools/meson.build
@@ -8,6 +8,26 @@ check_symbols = find_program('check-symbols.sh')
 ldflags_ibverbs_static = find_program('options-ibverbs-static.sh')
 binutils_avx512_check = find_program('binutils-avx512-check.sh')
 
+abi_checks = get_option('abi_checks')
+abi_dir = ''
+# If abi checks enabled setup abi dump directory
+if abi_checks!=''
+	message('ABI Checks are being setup, If DPDK_ABI_TAR_URI has not been set these checks may be need to be generated this could take several minutes')
+	setup_check = run_command('abi-setup.py','-t',abi_checks,'-d',meson.source_root()).stdout().strip()
+	# Check if error returned from script
+	if setup_check.startswith('ERROR')
+		error('ABI checks setup failed: '+setup_check)
+	# No error then set abi directory
+	else
+		abi_dir=setup_check
+	endif
+endif
+abidiff = find_program('abidiff', required: abi_checks!='')
+if abidiff.found()==false and abi_checks!=''
+	error('ABI checks require abidiff to to be completed')
+endif
+abignore = files(meson.source_root()+'/devtools/libabigail.abignore')
+
 # set up map-to-win script using python, either built-in or external
 python3 = import('python').find_installation(required: false)
 if python3.found()
diff --git a/config/meson.build b/config/meson.build
index 6996e5cbe..65f8ea4d7 100644
--- a/config/meson.build
+++ b/config/meson.build
@@ -47,6 +47,15 @@ else
 	dpdk_conf.set('RTE_VER_RELEASE', 99)
 endif
 
+# abi checks cannot be run on windows
+if is_windows and abi_checks!=''
+	error('ABI checks cannot be run on windows')
+endif
+# abi checks can only be run on a debug build
+if not get_option('debug') and abi_checks!=''
+  error('Build type must have debug symbols when abi_checks=enabled')
+endif
+
 pmd_subdir_opt = get_option('drivers_install_subdir')
 if pmd_subdir_opt.contains('<VERSION>')
 	pmd_subdir_opt = abi_version.join(pmd_subdir_opt.split('<VERSION>'))
diff --git a/drivers/meson.build b/drivers/meson.build
index 5f9526557..c82fbc250 100644
--- a/drivers/meson.build
+++ b/drivers/meson.build
@@ -208,6 +208,21 @@ foreach subpath:subdirs
 					include_directories: includes,
 					dependencies: static_deps)
 
+			# If abidiff found, abi checks are enabled and the abi dump files for the library are available run abi check
+			dump_name = abi_dir+'/lib' + lib_name + '.dump'
+			if abidiff.found() and abi_checks!='' and run_command('[', '-f', dump_name, ']').returncode() == 0
+				custom_target('lib' + lib_name + '.abi_chk',
+					      command: [abidiff, '--no-added-syms',
+							'--suppr', abignore,
+							files(dump_name),
+							'@INPUT@'],
+					      input: shared_lib,
+					      output: 'lib' + lib_name + '.abi_chk',
+					      capture: true,
+					      install: false,
+					      build_by_default: true)
+			endif
+
 			dpdk_drivers += static_lib
 
 			set_variable('shared_@0@'.format(lib_name), shared_dep)
diff --git a/lib/meson.build b/lib/meson.build
index 3852c0156..e864e0440 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -190,6 +190,21 @@ foreach l:libraries
 					include_directories: includes,
 					dependencies: shared_deps)
 
+			# If abidiff found, abi checks are enabled and the abi dump files for the library are available run abi check
+			dump_name = abi_dir+'/' + dir_name + '.dump'
+			if abidiff.found() and abi_checks!='' and run_command('[', '-f', dump_name, ']').returncode() == 0
+				custom_target(dir_name + '.abi_chk',
+					      command: [abidiff, '--no-added-syms',
+							'--suppr', abignore,
+							files(dump_name),
+							'@INPUT@'],
+					      input: shared_lib,
+					      output: dir_name + '.abi_chk',
+					      capture: true,
+					      install: false,
+					      build_by_default: true)
+			endif
+
 			dpdk_libraries = [shared_lib] + dpdk_libraries
 			dpdk_static_libraries = [static_lib] + dpdk_static_libraries
 		endif # sources.length() > 0
diff --git a/meson_options.txt b/meson_options.txt
index 9bf18ab6b..26ac48f45 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -1,5 +1,7 @@
 # Please keep these options sorted alphabetically.
 
+option('abi_checks', type: 'string', value: '',
+    description: 'Enable abi compatibility checks to run during the build. This requires debug build to be enabled. Input is latest or git tag e.g. v20.11')
 option('armv8_crypto_dir', type: 'string', value: '',
 	description: 'path to the armv8_crypto library installation directory')
 option('disable_drivers', type: 'string', value: '',
-- 
2.25.1


^ permalink raw reply	[relevance 17%]

* [dpdk-dev] [PATCH v2 3/4] buildtools: add script to setup abi checks for meson
  2020-09-10 14:21 10% ` [dpdk-dev] [PATCH v2 0/4] abi breakage checks for meson Conor Walsh
  2020-09-10 14:21 15%   ` [dpdk-dev] [PATCH v2 1/4] devtools: bug fix for gen-abi.sh Conor Walsh
  2020-09-10 14:21 21%   ` [dpdk-dev] [PATCH v2 2/4] devtools: add generation of compressed abi dump archives Conor Walsh
@ 2020-09-10 14:21 21%   ` Conor Walsh
  2020-09-10 14:21 17%   ` [dpdk-dev] [PATCH v2 4/4] build: add abi breakage checks to meson Conor Walsh
  2020-09-11 16:03 10%   ` [dpdk-dev] [PATCH v3 0/4] abi breakage checks for meson Conor Walsh
  4 siblings, 0 replies; 200+ results
From: Conor Walsh @ 2020-09-10 14:21 UTC (permalink / raw)
  To: dev
  Cc: david.marchand, ray.kinsella, nhorman, aconole, maicolgabriel,
	thomas, bruce.richardson, Conor Walsh

This patch adds a script that is intended to be invoked by meson to
do the required setup for performing ABI breakage checks at build time.
The required ABI dump archives can come from several sources including
being generated at build time or prebuilt archives can be pulled from a
remote http location or local directory.
Invoke using "./abi-setup.py -t <tag> -d <dpdk_source_path>"
 - <tag>: dpdk tag e.g. "v20.11"
 - <dpdk_source_path>: path to dpdk source directory
E.g. "./abi-setup.py -t v20.08 -d /root/dpdk"
As this script is intended to be run by meson during a build
some options can be specified by environmental variables:
 - DPDK_ABI_DUMPS_PATH: Can be used to specify a custom directory for the
   systems dump directories.
 - CC: The required compiler will be determined using this
   environmental variable
 - DPDK_ABI_TAR_URI: Can be used to specify a location that the script
   can pull prebuilt or cached dump archives from. This can be a remote
   http location or a local directory
After the script has setup an appropriate ABI dump directory using one of
the multiple methods available to it, it will print the location of this
directory to the command line.

Signed-off-by: Conor Walsh <conor.walsh@intel.com>
---
 buildtools/abi-setup.py | 104 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 104 insertions(+)
 create mode 100755 buildtools/abi-setup.py

diff --git a/buildtools/abi-setup.py b/buildtools/abi-setup.py
new file mode 100755
index 000000000..c156b3c73
--- /dev/null
+++ b/buildtools/abi-setup.py
@@ -0,0 +1,104 @@
+#!/usr/bin/env python3
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2020 Intel Corporation
+
+import sys
+import os
+import argparse
+
+# Get command line arguments
+parser = argparse.ArgumentParser(usage='\rThis script is intended to setup ABI dumps for meson to perform ABI checks\n'+
+                                       'Supported environmental variables\n'+
+                                       '\t- DPDK_ABI_DUMPS_PATH: Can be used to specify a custom directory for the systems dump directories.\n'+
+                                       '\t- CC: The required compiler will be determined using this environmental variable.\n'+
+                                       '\t- DPDK_ABI_TAR_URI: Can be used to specify a location that the script can pull prebuilt or cached dump archives from. This can be a remote http location or a local directory.\n')
+parser.add_argument('-t', '--tag', dest='tag', type=str, help='DPDK tag e.g. latest or v20.11')
+parser.add_argument('-d', '--dpdk', dest='dpdk', type=str, help='Path to DPDK source directory')
+args = parser.parse_args()
+
+# Get the DPDK tag if not supplied set as latest
+if args.tag:
+    user_tag = args.tag
+else:
+    user_tag = 'latest'
+
+tag = ''
+# If the user did not supply tag or wants latest then get latest tag
+if user_tag == 'latest':
+    # Get latest quarterly build tag from git repo
+    tag = os.popen('git ls-remote --tags http://dpdk.org/git/dpdk | grep -v "rc\|{}" | tail -n 1 | sed "s/.*\///"').read().strip()
+else:
+    tag = user_tag
+    # If the user supplied tag does not exist then fail
+    tag_check = int(os.popen('git ls-remote http://dpdk.org/git/dpdk refs/tags/'+tag+' | wc -l').read().strip())
+    if tag_check != 1:
+        print('ERROR supplied tag does not exist in DPDK repo')
+        exit()
+
+# Get the specified compiler from system
+comp_env = 'CC'
+if comp_env in os.environ:
+    comp = os.environ[comp_env]
+else:
+    comp = 'gcc'
+
+# Get the systems architecture
+arch = os.popen('uname -m').read().strip()
+
+# Get devtools path
+devtools_path = ''
+if args.dpdk:
+    devtools_path = os.path.abspath(os.path.join(args.dpdk,'devtools'))
+else:
+    print('ERROR DPDK source directory must be specified')
+    exit()
+
+# Get the abi dumps folder from args or env fail if none supplied
+abi_folder = ''
+abi_env = 'DPDK_ABI_DUMPS_PATH'
+if abi_env in os.environ:
+    abi_folder = os.path.abspath(os.environ[abi_env])
+else:
+    abi_folder = os.path.abspath(os.path.join(args.dpdk,'abi_dumps'))
+
+# If the directory doesn't exist create it and add a README to explain what it does
+if not os.path.exists(abi_folder):
+    os.makedirs(abi_folder)
+    f=open(abi_folder+'/README','w+')
+    f.write('This directory has been setup to contain the ABI dump folders needed to perform ABI checks\n')
+    f.write('Directories here must be in the format {DPDK Tag}-{Compiler ID}-{Architecture}-abi_dump\n')
+    f.write('e.g. v20.11-gcc-x86_64-abi_dump\n')
+    f.write('Directories that do not use this format will not be picked up by the meson ABI checks\n')
+    f.write('This directory is managed automatically unless desired by the user\n')
+    f.close()
+
+# Move to abi folder
+os.chdir(abi_folder)
+abi_dump=tag+'-'+comp+'-'+arch+'-abi_dump'
+# Download and untar abi dump if not present
+if not os.path.exists(abi_dump):
+    # Check DPDK_ABI_TAR_URI for the location of the tarballs local or web
+    tar_uri_env = 'DPDK_ABI_TAR_URI'
+    if tar_uri_env in os.environ:
+        abi_tar_uri = os.environ[tar_uri_env]
+        if abi_tar_uri.startswith('http'):
+            # Wget the required tarball
+            os.popen('wget '+os.path.join(abi_tar_uri,abi_dump)+'.tar.gz >/dev/null 2>&1').read()
+        else:
+            abi_tar_uri = os.path.abspath(abi_tar_uri)
+            os.popen('cp '+os.path.join(abi_tar_uri,abi_dump)+'.tar.gz . >/dev/null 2>&1').read()
+    # Check tarball was downloaded
+    if os.path.isfile(abi_dump+'.tar.gz'):
+        os.popen('tar -xzf '+abi_dump+'.tar.gz >/dev/null 2>&1').read()
+        os.popen('rm -rf '+abi_dump+'.tar.gz').read()
+    # If the tarball was not found then generate it
+    else:
+        os.popen(os.path.join(devtools_path,'gen-abi-tarball.py')+' -t '+tag+' -a '+arch+' >/dev/null 2>&1').read()
+        if not os.path.isfile(abi_dump+'.tar.gz'):
+            print('ERROR ABI check generation failed '+os.path.join(devtools_path,'gen-abi-tarball.py')+' -t '+tag+' -a '+arch)
+            exit()
+        os.popen('tar -xzf '+abi_dump+'.tar.gz >/dev/null 2>&1').read()
+        os.popen('rm -rf '+abi_dump+'.tar.gz').read()
+
+# Tell user where specified directory is
+print(os.path.abspath(abi_dump))
-- 
2.25.1


^ permalink raw reply	[relevance 21%]

* [dpdk-dev] [PATCH v2 2/4] devtools: add generation of compressed abi dump archives
  2020-09-10 14:21 10% ` [dpdk-dev] [PATCH v2 0/4] abi breakage checks for meson Conor Walsh
  2020-09-10 14:21 15%   ` [dpdk-dev] [PATCH v2 1/4] devtools: bug fix for gen-abi.sh Conor Walsh
@ 2020-09-10 14:21 21%   ` Conor Walsh
  2020-09-10 14:21 21%   ` [dpdk-dev] [PATCH v2 3/4] buildtools: add script to setup abi checks for meson Conor Walsh
                     ` (2 subsequent siblings)
  4 siblings, 0 replies; 200+ results
From: Conor Walsh @ 2020-09-10 14:21 UTC (permalink / raw)
  To: dev
  Cc: david.marchand, ray.kinsella, nhorman, aconole, maicolgabriel,
	thomas, bruce.richardson, Conor Walsh

This patch adds a script that generates a compressed archive
containing .dump files which can be used to perform ABI
breakage checking for the build specified in the parameters.
Invoke using "./gen-abi-tarball.py -t <tag> -a <arch> [-cf <cross-file>]"
 - <tag>: dpdk tag e.g. "v20.11"
 - <arch>: required architecture e.g. "arm" or "x86_64"
 - <cross-file>: configuration file for cross compiling for another
                 system, this flag is not required.
                 e.g. "config/arm/arm64_armv8_linux_gcc"
E.g. "./gen-abi-tarball.py -t latest -a x86_64"
If a compiler is not specified using the CC environmental variable then
the script will default to using gcc.
Using these parameters the script will produce a .tar.gz archive
containing .dump files required to do ABI breakage checking

Signed-off-by: Conor Walsh <conor.walsh@intel.com>
---
 devtools/gen-abi-tarball.py | 125 ++++++++++++++++++++++++++++++++++++
 1 file changed, 125 insertions(+)
 create mode 100755 devtools/gen-abi-tarball.py

diff --git a/devtools/gen-abi-tarball.py b/devtools/gen-abi-tarball.py
new file mode 100755
index 000000000..2104b4ee6
--- /dev/null
+++ b/devtools/gen-abi-tarball.py
@@ -0,0 +1,125 @@
+#!/usr/bin/env python3
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2020 Intel Corporation
+
+import sys
+import os
+import argparse
+
+# Get command line arguments
+parser = argparse.ArgumentParser(usage='\rThis script is intended to generate ABI dump tarballs\n'+
+                                       'Supported environmental variables\n'+
+                                       '\t- CC: The required compiler will be determined using this environmental variable.\n')
+parser.add_argument('-t', '--tag', type=str, dest='tag', help='DPDK tag e.g. latest or v20.11')
+parser.add_argument('-cf', '--cross-file', type=str, dest='crosscompile', help='Set the location of a cross compile config')
+parser.add_argument('-a', '--arch', type=str, dest='arch', help='Arch arm or x86_64')
+args = parser.parse_args()
+
+# Get the DPDK tag if not supplied set as latest
+if args.tag:
+    user_tag = args.tag
+else:
+    user_tag = 'latest'
+    print('No tag supplied defaulting to latest')
+
+# Get the cross-compile option
+if args.crosscompile:
+    cross_comp = args.crosscompile
+    if not args.arch:
+        print('ERROR Arch must be set using -a when using cross compile')
+        exit()
+    cross_comp = os.path.abspath(cross_comp)
+    cross_comp_meson = '--cross-file '+cross_comp
+else:
+    cross_comp = ''
+    cross_comp_meson = ''
+
+# Get the required system architecture if not supplied set as x86_64
+if args.arch:
+    arch = args.arch
+else:
+    arch = os.popen('uname -m').read().strip()
+    print('No system architecture supplied defaulting to '+arch)
+
+tag = ''
+# If the user did not supply tag or wants latest then get latest tag
+if user_tag == 'latest':
+    # Get latest quarterly build tag from git repo
+    tag = os.popen('git ls-remote --tags http://dpdk.org/git/dpdk | grep -v "rc\|{}" | tail -n 1 | sed "s/.*\///"').read().strip()
+else:
+    tag = user_tag
+    # If the user supplied tag is not in the DPDK repo then fail
+    tag_check = int(os.popen('git ls-remote http://dpdk.org/git/dpdk refs/tags/'+tag+' | wc -l').read().strip())
+    if tag_check != 1:
+        print('ERROR supplied tag does not exist in DPDK repo')
+        exit()
+
+# Get the specified compiler from system
+comp_env = 'CC'
+if comp_env in os.environ:
+    comp = os.environ[comp_env]
+    comp_default = ''
+else:
+    print('No compiler specified, defaulting to gcc')
+    comp = 'gcc'
+    comp_default = 'CC=gcc'
+
+# Print the configuration to the user
+print('\nSelected Build: '+tag+', Compiler: '+comp+', Architecture: '+arch+', Cross Compile: '+cross_comp)
+
+# Store the base directory script is working from
+baseDir = os.getcwd()
+# Store devtools dir
+devtoolsDir = os.path.abspath(os.path.dirname(os.path.realpath(sys.argv[0])))
+
+# Create directory for DPDK git repo and build
+try:
+    os.mkdir('dump_dpdk')
+except OSError as error:
+    print('ERROR The dump_dpdk directory could not be created, ensure it does not exist before start')
+    exit()
+os.chdir('dump_dpdk')
+# Clone DPDK and switch to specified tag
+print('Cloning '+tag+' from DPDK git')
+os.popen('git clone --quiet http://dpdk.org/git/dpdk >/dev/null').read()
+os.chdir('dpdk')
+os.popen('git checkout --quiet '+tag+' >/dev/null').read()
+
+# Create build folder with meson and set debug build and cross compile (if needed)
+print('Configuring Meson')
+os.popen(comp_default+' meson dumpbuild '+cross_comp_meson+' >/dev/null').read()
+os.chdir('dumpbuild')
+os.popen('meson configure -Dbuildtype=debug >/dev/null').read()
+print('Building DPDK . . .')
+#Build DPDK with ninja
+os.popen('ninja >/dev/null').read()
+gccDir = os.getcwd()
+
+# Create directory for abi dump files
+dumpDir = os.path.join(baseDir,tag+'-'+comp+'-'+arch+'-abi_dump')
+try:
+    os.mkdir(dumpDir)
+except OSError as error:
+    print('ERROR The '+dumpDir+' directory could not be created')
+    os.popen('rm -rf '+os.path.join(baseDir,'dump_dpdk')).read()
+    exit()
+
+# Create dump files and output to dump directory
+print('Generating ABI dump files')
+genabiout = os.popen(os.path.join(devtoolsDir,'gen-abi.sh')+' '+gccDir).read()
+os.popen('cp dump/* '+dumpDir).read()
+
+# Compress the dump directory
+print('Creating Tarball of dump files')
+os.chdir(baseDir)
+origSize = os.popen('du -sh '+dumpDir+' | sed "s/\s.*$//"').read()
+os.popen('tar -czf '+dumpDir.split('/')[-1]+'.tar.gz '+dumpDir.split('/')[-1]+' >/dev/null').read()
+newSize = os.popen('du -sh '+dumpDir+'.tar.gz | sed "s/\s.*$//"').read()
+
+# Remove all temporary directories
+print('Cleaning up temporary directories')
+os.popen('rm -rf '+dumpDir).read()
+os.popen('rm -rf '+os.path.join(baseDir,'dump_dpdk')).read()
+
+#Print output of the script to the user
+print('\nDump of DPDK ABI '+tag+' is available in '+dumpDir.split('/')[-1]+'.tar.gz (Original Size: '+origSize.strip()+', Compressed Size:'+newSize.strip()+')\n')
-- 
2.25.1


^ permalink raw reply	[relevance 21%]

* [dpdk-dev] [PATCH v2 1/4] devtools: bug fix for gen-abi.sh
  2020-09-10 14:21 10% ` [dpdk-dev] [PATCH v2 0/4] abi breakage checks for meson Conor Walsh
@ 2020-09-10 14:21 15%   ` Conor Walsh
  2020-09-10 14:21 21%   ` [dpdk-dev] [PATCH v2 2/4] devtools: add generation of compressed abi dump archives Conor Walsh
                     ` (3 subsequent siblings)
  4 siblings, 0 replies; 200+ results
From: Conor Walsh @ 2020-09-10 14:21 UTC (permalink / raw)
  To: dev
  Cc: david.marchand, ray.kinsella, nhorman, aconole, maicolgabriel,
	thomas, bruce.richardson, Conor Walsh

This patch fixes a bug with the gen-abi.sh script in devtools.
When ran on an install directory the script would try to generate
.dump files from directories as well as the .so files which is
not correct.
Example error: abidw: gcc/lib/librte_net.so.21.0.p is not a regular file
To rectify this the regex that finds the appropriate .so files has been
changed and the file test has been removed.
This change was tested with the ABI_CHECK Travis checks in DPDK 20.08.
Travis build:
https://travis-ci.com/github/conorwalsh-intel/dpdk/jobs/382812849

Signed-off-by: Conor Walsh <conor.walsh@intel.com>
---
 devtools/gen-abi.sh | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/devtools/gen-abi.sh b/devtools/gen-abi.sh
index c44b0e228..da6fe0556 100755
--- a/devtools/gen-abi.sh
+++ b/devtools/gen-abi.sh
@@ -16,11 +16,7 @@ fi
 dumpdir=$installdir/dump
 rm -rf $dumpdir
 mkdir -p $dumpdir
-for f in $(find $installdir -name "*.so.*"); do
-	if test -L $f; then
-		continue
-	fi
-
+for f in $(find $installdir -name "*.so"); do
 	libname=$(basename $f)
 	abidw --out-file $dumpdir/${libname%.so*}.dump $f
 done
-- 
2.25.1


^ permalink raw reply	[relevance 15%]

* [dpdk-dev] [PATCH v2 0/4] abi breakage checks for meson
  2020-09-10 14:01 10% [dpdk-dev] [PATCH 0/4] abi breakage checks for meson Conor Walsh
                   ` (3 preceding siblings ...)
  2020-09-10 14:01 17% ` [dpdk-dev] [PATCH 4/4] build: add abi breakage checks to meson Conor Walsh
@ 2020-09-10 14:21 10% ` Conor Walsh
  2020-09-10 14:21 15%   ` [dpdk-dev] [PATCH v2 1/4] devtools: bug fix for gen-abi.sh Conor Walsh
                     ` (4 more replies)
  4 siblings, 5 replies; 200+ results
From: Conor Walsh @ 2020-09-10 14:21 UTC (permalink / raw)
  To: dev
  Cc: david.marchand, ray.kinsella, nhorman, aconole, maicolgabriel,
	thomas, bruce.richardson, Conor Walsh

This patchset allows developers to check ABI breakages during build time.
Currently checking that the DPDK ABI has not changed before up-streaming
code is not intuitive. The current method, requires the contributor to
use either the test-build.sh and test-meson-build.sh tools, along side
some environmental variables to test their changes. Contributors in many
cases are either unaware or unable to do this themselves, leading to a
potentially serious situation where they are unknowingly up-streaming
code that breaks the ABI. These breakages are then caught by Travis, but
it is more efficient if this is caught locally before up-streaming.

---
v2: Spelling mistake, corrected spelling of environmental

Conor Walsh (4):
  devtools: bug fix for gen-abi.sh
  devtools: add generation of compressed abi dump archives
  buildtools: add script to setup abi checks for meson
  build: add abi breakage checks to meson

 buildtools/abi-setup.py     | 104 ++++++++++++++++++++++++++++++
 buildtools/meson.build      |  20 ++++++
 config/meson.build          |   9 +++
 devtools/gen-abi-tarball.py | 125 ++++++++++++++++++++++++++++++++++++
 devtools/gen-abi.sh         |   6 +-
 drivers/meson.build         |  15 +++++
 lib/meson.build             |  15 +++++
 meson_options.txt           |   2 +
 8 files changed, 291 insertions(+), 5 deletions(-)
 create mode 100755 buildtools/abi-setup.py
 create mode 100755 devtools/gen-abi-tarball.py

-- 
2.25.1


^ permalink raw reply	[relevance 10%]

* [dpdk-dev] [PATCH 4/4] build: add abi breakage checks to meson
  2020-09-10 14:01 10% [dpdk-dev] [PATCH 0/4] abi breakage checks for meson Conor Walsh
                   ` (2 preceding siblings ...)
  2020-09-10 14:01 21% ` [dpdk-dev] [PATCH 3/4] buildtools: add script to setup abi checks for meson Conor Walsh
@ 2020-09-10 14:01 17% ` Conor Walsh
  2020-09-10 14:21 10% ` [dpdk-dev] [PATCH v2 0/4] abi breakage checks for meson Conor Walsh
  4 siblings, 0 replies; 200+ results
From: Conor Walsh @ 2020-09-10 14:01 UTC (permalink / raw)
  To: dev
  Cc: david.marchand, ray.kinsella, nhorman, aconole, maicolgabriel,
	thomas, bruce.richardson, Conor Walsh

This patch adds the ability to run ABI breakage checks to meson.
To do this the developer needs to set the meson build type to debug and
set the version of DPDK that they want to check the ABI against.
The option "abi_checks" has been added to meson for this, the option
accepts DPDK tags e.g. "latest" or "v20.11".
Example meson command: "meson -Dbuildtype=debug -Dabi_checks=v20.11 build"
When the build is done using ninja the ABI checks will be performed
if any breakages are present the build will fail.

Signed-off-by: Conor Walsh <conor.walsh@intel.com>
---
 buildtools/meson.build | 20 ++++++++++++++++++++
 config/meson.build     |  9 +++++++++
 drivers/meson.build    | 15 +++++++++++++++
 lib/meson.build        | 15 +++++++++++++++
 meson_options.txt      |  2 ++
 5 files changed, 61 insertions(+)

diff --git a/buildtools/meson.build b/buildtools/meson.build
index 04808dabc..63513a273 100644
--- a/buildtools/meson.build
+++ b/buildtools/meson.build
@@ -8,6 +8,26 @@ check_symbols = find_program('check-symbols.sh')
 ldflags_ibverbs_static = find_program('options-ibverbs-static.sh')
 binutils_avx512_check = find_program('binutils-avx512-check.sh')
 
+abi_checks = get_option('abi_checks')
+abi_dir = ''
+# If abi checks enabled setup abi dump directory
+if abi_checks!=''
+	message('ABI Checks are being setup, If DPDK_ABI_TAR_URI has not been set these checks may be need to be generated this could take several minutes')
+	setup_check = run_command('abi-setup.py','-t',abi_checks,'-d',meson.source_root()).stdout().strip()
+	# Check if error returned from script
+	if setup_check.startswith('ERROR')
+		error('ABI checks setup failed: '+setup_check)
+	# No error then set abi directory
+	else
+		abi_dir=setup_check
+	endif
+endif
+abidiff = find_program('abidiff', required: abi_checks!='')
+if abidiff.found()==false and abi_checks!=''
+	error('ABI checks require abidiff to to be completed')
+endif
+abignore = files(meson.source_root()+'/devtools/libabigail.abignore')
+
 # set up map-to-win script using python, either built-in or external
 python3 = import('python').find_installation(required: false)
 if python3.found()
diff --git a/config/meson.build b/config/meson.build
index 6996e5cbe..65f8ea4d7 100644
--- a/config/meson.build
+++ b/config/meson.build
@@ -47,6 +47,15 @@ else
 	dpdk_conf.set('RTE_VER_RELEASE', 99)
 endif
 
+# abi checks cannot be run on windows
+if is_windows and abi_checks!=''
+	error('ABI checks cannot be run on windows')
+endif
+# abi checks can only be run on a debug build
+if not get_option('debug') and abi_checks!=''
+  error('Build type must have debug symbols when abi_checks=enabled')
+endif
+
 pmd_subdir_opt = get_option('drivers_install_subdir')
 if pmd_subdir_opt.contains('<VERSION>')
 	pmd_subdir_opt = abi_version.join(pmd_subdir_opt.split('<VERSION>'))
diff --git a/drivers/meson.build b/drivers/meson.build
index 5f9526557..c82fbc250 100644
--- a/drivers/meson.build
+++ b/drivers/meson.build
@@ -208,6 +208,21 @@ foreach subpath:subdirs
 					include_directories: includes,
 					dependencies: static_deps)
 
+			# If abidiff found, abi checks are enabled and the abi dump files for the library are available run abi check
+			dump_name = abi_dir+'/lib' + lib_name + '.dump'
+			if abidiff.found() and abi_checks!='' and run_command('[', '-f', dump_name, ']').returncode() == 0
+				custom_target('lib' + lib_name + '.abi_chk',
+					      command: [abidiff, '--no-added-syms',
+							'--suppr', abignore,
+							files(dump_name),
+							'@INPUT@'],
+					      input: shared_lib,
+					      output: 'lib' + lib_name + '.abi_chk',
+					      capture: true,
+					      install: false,
+					      build_by_default: true)
+			endif
+
 			dpdk_drivers += static_lib
 
 			set_variable('shared_@0@'.format(lib_name), shared_dep)
diff --git a/lib/meson.build b/lib/meson.build
index 3852c0156..e864e0440 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -190,6 +190,21 @@ foreach l:libraries
 					include_directories: includes,
 					dependencies: shared_deps)
 
+			# If abidiff found, abi checks are enabled and the abi dump files for the library are available run abi check
+			dump_name = abi_dir+'/' + dir_name + '.dump'
+			if abidiff.found() and abi_checks!='' and run_command('[', '-f', dump_name, ']').returncode() == 0
+				custom_target(dir_name + '.abi_chk',
+					      command: [abidiff, '--no-added-syms',
+							'--suppr', abignore,
+							files(dump_name),
+							'@INPUT@'],
+					      input: shared_lib,
+					      output: dir_name + '.abi_chk',
+					      capture: true,
+					      install: false,
+					      build_by_default: true)
+			endif
+
 			dpdk_libraries = [shared_lib] + dpdk_libraries
 			dpdk_static_libraries = [static_lib] + dpdk_static_libraries
 		endif # sources.length() > 0
diff --git a/meson_options.txt b/meson_options.txt
index 9bf18ab6b..26ac48f45 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -1,5 +1,7 @@
 # Please keep these options sorted alphabetically.
 
+option('abi_checks', type: 'string', value: '',
+    description: 'Enable abi compatibility checks to run during the build. This requires debug build to be enabled. Input is latest or git tag e.g. v20.11')
 option('armv8_crypto_dir', type: 'string', value: '',
 	description: 'path to the armv8_crypto library installation directory')
 option('disable_drivers', type: 'string', value: '',
-- 
2.25.1


^ permalink raw reply	[relevance 17%]

* [dpdk-dev] [PATCH 3/4] buildtools: add script to setup abi checks for meson
  2020-09-10 14:01 10% [dpdk-dev] [PATCH 0/4] abi breakage checks for meson Conor Walsh
  2020-09-10 14:01 15% ` [dpdk-dev] [PATCH 1/4] devtools: bug fix for gen-abi.sh Conor Walsh
  2020-09-10 14:01 21% ` [dpdk-dev] [PATCH 2/4] devtools: add generation of compressed abi dump archives Conor Walsh
@ 2020-09-10 14:01 21% ` Conor Walsh
  2020-09-10 14:01 17% ` [dpdk-dev] [PATCH 4/4] build: add abi breakage checks to meson Conor Walsh
  2020-09-10 14:21 10% ` [dpdk-dev] [PATCH v2 0/4] abi breakage checks for meson Conor Walsh
  4 siblings, 0 replies; 200+ results
From: Conor Walsh @ 2020-09-10 14:01 UTC (permalink / raw)
  To: dev
  Cc: david.marchand, ray.kinsella, nhorman, aconole, maicolgabriel,
	thomas, bruce.richardson, Conor Walsh

This patch adds a script that is intended to be invoked by meson to
do the required setup for performing ABI breakage checks at build time.
The required ABI dump archives can come from several sources including
being generated at build time or prebuilt archives can be pulled from a
remote http location or local directory.
Invoke using "./abi-setup.py -t <tag> -d <dpdk_source_path>"
 - <tag>: dpdk tag e.g. "v20.11"
 - <dpdk_source_path>: path to dpdk source directory
E.g. "./abi-setup.py -t v20.08 -d /root/dpdk"
As this script is intended to be run by meson during a build
some options can be specified by environmental variables:
 - DPDK_ABI_DUMPS_PATH: Can be used to specify a custom directory for the
   systems dump directories.
 - CC: The required compiler will be determined using this
   environmental variable
 - DPDK_ABI_TAR_URI: Can be used to specify a location that the script
   can pull prebuilt or cached dump archives from. This can be a remote
   http location or a local directory
After the script has setup an appropriate ABI dump directory using one of
the multiple methods available to it, it will print the location of this
directory to the command line.

Signed-off-by: Conor Walsh <conor.walsh@intel.com>
---
 buildtools/abi-setup.py | 104 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 104 insertions(+)
 create mode 100755 buildtools/abi-setup.py

diff --git a/buildtools/abi-setup.py b/buildtools/abi-setup.py
new file mode 100755
index 000000000..a3c34536e
--- /dev/null
+++ b/buildtools/abi-setup.py
@@ -0,0 +1,104 @@
+#!/usr/bin/env python3
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2020 Intel Corporation
+
+import sys
+import os
+import argparse
+
+# Get command line arguments
+parser = argparse.ArgumentParser(usage='\rThis script is intended to setup ABI dumps for meson to perform ABI checks\n'+
+                                       'Supported enviromental variables\n'+
+                                       '\t- DPDK_ABI_DUMPS_PATH: Can be used to specify a custom directory for the systems dump directories.\n'+
+                                       '\t- CC: The required compiler will be determined using this environmental variable.\n'+
+                                       '\t- DPDK_ABI_TAR_URI: Can be used to specify a location that the script can pull prebuilt or cached dump archives from. This can be a remote http location or a local directory.\n')
+parser.add_argument('-t', '--tag', dest='tag', type=str, help='DPDK tag e.g. latest or v20.11')
+parser.add_argument('-d', '--dpdk', dest='dpdk', type=str, help='Path to DPDK source directory')
+args = parser.parse_args()
+
+# Get the DPDK tag if not supplied set as latest
+if args.tag:
+    user_tag = args.tag
+else:
+    user_tag = 'latest'
+
+tag = ''
+# If the user did not supply tag or wants latest then get latest tag
+if user_tag == 'latest':
+    # Get latest quarterly build tag from git repo
+    tag = os.popen('git ls-remote --tags http://dpdk.org/git/dpdk | grep -v "rc\|{}" | tail -n 1 | sed "s/.*\///"').read().strip()
+else:
+    tag = user_tag
+    # If the user supplied tag does not exist then fail
+    tag_check = int(os.popen('git ls-remote http://dpdk.org/git/dpdk refs/tags/'+tag+' | wc -l').read().strip())
+    if tag_check != 1:
+        print('ERROR supplied tag does not exist in DPDK repo')
+        exit()
+
+# Get the specified compiler from system
+comp_env = 'CC'
+if comp_env in os.environ:
+    comp = os.environ[comp_env]
+else:
+    comp = 'gcc'
+
+# Get the systems architecture
+arch = os.popen('uname -m').read().strip()
+
+# Get devtools path
+devtools_path = ''
+if args.dpdk:
+    devtools_path = os.path.abspath(os.path.join(args.dpdk,'devtools'))
+else:
+    print('ERROR DPDK source directory must be specified')
+    exit()
+
+# Get the abi dumps folder from args or env fail if none supplied
+abi_folder = ''
+abi_env = 'DPDK_ABI_DUMPS_PATH'
+if abi_env in os.environ:
+    abi_folder = os.path.abspath(os.environ[abi_env])
+else:
+    abi_folder = os.path.abspath(os.path.join(args.dpdk,'abi_dumps'))
+
+# If the directory doesn't exist create it and add a README to explain what it does
+if not os.path.exists(abi_folder):
+    os.makedirs(abi_folder)
+    f=open(abi_folder+'/README','w+')
+    f.write('This directory has been setup to contain the ABI dump folders needed to perform ABI checks\n')
+    f.write('Directories here must be in the format {DPDK Tag}-{Compiler ID}-{Architecture}-abi_dump\n')
+    f.write('e.g. v20.11-gcc-x86_64-abi_dump\n')
+    f.write('Directories that do not use this format will not be picked up by the meson ABI checks\n')
+    f.write('This directory is managed automatically unless desired by the user\n')
+    f.close()
+
+# Move to abi folder
+os.chdir(abi_folder)
+abi_dump=tag+'-'+comp+'-'+arch+'-abi_dump'
+# Download and untar abi dump if not present
+if not os.path.exists(abi_dump):
+    # Check DPDK_ABI_TAR_URI for the location of the tarballs local or web
+    tar_uri_env = 'DPDK_ABI_TAR_URI'
+    if tar_uri_env in os.environ:
+        abi_tar_uri = os.environ[tar_uri_env]
+        if abi_tar_uri.startswith('http'):
+            # Wget the required tarball
+            os.popen('wget '+os.path.join(abi_tar_uri,abi_dump)+'.tar.gz >/dev/null 2>&1').read()
+        else:
+            abi_tar_uri = os.path.abspath(abi_tar_uri)
+            os.popen('cp '+os.path.join(abi_tar_uri,abi_dump)+'.tar.gz . >/dev/null 2>&1').read()
+    # Check tarball was downloaded
+    if os.path.isfile(abi_dump+'.tar.gz'):
+        os.popen('tar -xzf '+abi_dump+'.tar.gz >/dev/null 2>&1').read()
+        os.popen('rm -rf '+abi_dump+'.tar.gz').read()
+    # If the tarball was not found then generate it
+    else:
+        os.popen(os.path.join(devtools_path,'gen-abi-tarball.py')+' -t '+tag+' -a '+arch+' >/dev/null 2>&1').read()
+        if not os.path.isfile(abi_dump+'.tar.gz'):
+            print('ERROR ABI check generation failed '+os.path.join(devtools_path,'gen-abi-tarball.py')+' -t '+tag+' -a '+arch)
+            exit()
+        os.popen('tar -xzf '+abi_dump+'.tar.gz >/dev/null 2>&1').read()
+        os.popen('rm -rf '+abi_dump+'.tar.gz').read()
+
+# Tell user where specified directory is
+print(os.path.abspath(abi_dump))
-- 
2.25.1


^ permalink raw reply	[relevance 21%]

* [dpdk-dev] [PATCH 2/4] devtools: add generation of compressed abi dump archives
  2020-09-10 14:01 10% [dpdk-dev] [PATCH 0/4] abi breakage checks for meson Conor Walsh
  2020-09-10 14:01 15% ` [dpdk-dev] [PATCH 1/4] devtools: bug fix for gen-abi.sh Conor Walsh
@ 2020-09-10 14:01 21% ` Conor Walsh
  2020-09-10 14:01 21% ` [dpdk-dev] [PATCH 3/4] buildtools: add script to setup abi checks for meson Conor Walsh
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 200+ results
From: Conor Walsh @ 2020-09-10 14:01 UTC (permalink / raw)
  To: dev
  Cc: david.marchand, ray.kinsella, nhorman, aconole, maicolgabriel,
	thomas, bruce.richardson, Conor Walsh

This patch adds a script that generates a compressed archive
containing .dump files which can be used to perform ABI
breakage checking for the build specified in the parameters.
Invoke using "./gen-abi-tarball.py -t <tag> -a <arch> [-cf <cross-file>]"
 - <tag>: dpdk tag e.g. "v20.11"
 - <arch>: required architecture e.g. "arm" or "x86_64"
 - <cross-file>: configuration file for cross compiling for another
                 system, this flag is not required.
                 e.g. "config/arm/arm64_armv8_linux_gcc"
E.g. "./gen-abi-tarball.py -t latest -a x86_64"
If a compiler is not specified using the CC environmental variable then
the script will default to using gcc.
Using these parameters the script will produce a .tar.gz archive
containing .dump files required to do ABI breakage checking

Signed-off-by: Conor Walsh <conor.walsh@intel.com>
---
 devtools/gen-abi-tarball.py | 125 ++++++++++++++++++++++++++++++++++++
 1 file changed, 125 insertions(+)
 create mode 100755 devtools/gen-abi-tarball.py

diff --git a/devtools/gen-abi-tarball.py b/devtools/gen-abi-tarball.py
new file mode 100755
index 000000000..ce7a0c6ac
--- /dev/null
+++ b/devtools/gen-abi-tarball.py
@@ -0,0 +1,125 @@
+#!/usr/bin/env python3
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright(c) 2020 Intel Corporation
+
+import sys
+import os
+import argparse
+
+# Get command line arguments
+parser = argparse.ArgumentParser(usage='\rThis script is intended to generate ABI dump tarballs\n'+
+                                       'Supported enviromental variables\n'+
+                                       '\t- CC: The required compiler will be determined using this environmental variable.\n')
+parser.add_argument('-t', '--tag', type=str, dest='tag', help='DPDK tag e.g. latest or v20.11')
+parser.add_argument('-cf', '--cross-file', type=str, dest='crosscompile', help='Set the location of a cross compile config')
+parser.add_argument('-a', '--arch', type=str, dest='arch', help='Arch arm or x86_64')
+args = parser.parse_args()
+
+# Get the DPDK tag if not supplied set as latest
+if args.tag:
+    user_tag = args.tag
+else:
+    user_tag = 'latest'
+    print('No tag supplied defaulting to latest')
+
+# Get the cross-compile option
+if args.crosscompile:
+    cross_comp = args.crosscompile
+    if not args.arch:
+        print('ERROR Arch must be set using -a when using cross compile')
+        exit()
+    cross_comp = os.path.abspath(cross_comp)
+    cross_comp_meson = '--cross-file '+cross_comp
+else:
+    cross_comp = ''
+    cross_comp_meson = ''
+
+# Get the required system architecture if not supplied set as x86_64
+if args.arch:
+    arch = args.arch
+else:
+    arch = os.popen('uname -m').read().strip()
+    print('No system architecture supplied defaulting to '+arch)
+
+tag = ''
+# If the user did not supply tag or wants latest then get latest tag
+if user_tag == 'latest':
+    # Get latest quarterly build tag from git repo
+    tag = os.popen('git ls-remote --tags http://dpdk.org/git/dpdk | grep -v "rc\|{}" | tail -n 1 | sed "s/.*\///"').read().strip()
+else:
+    tag = user_tag
+    # If the user supplied tag is not in the DPDK repo then fail
+    tag_check = int(os.popen('git ls-remote http://dpdk.org/git/dpdk refs/tags/'+tag+' | wc -l').read().strip())
+    if tag_check != 1:
+        print('ERROR supplied tag does not exist in DPDK repo')
+        exit()
+
+# Get the specified compiler from system
+comp_env = 'CC'
+if comp_env in os.environ:
+    comp = os.environ[comp_env]
+    comp_default = ''
+else:
+    print('No compiler specified, defaulting to gcc')
+    comp = 'gcc'
+    comp_default = 'CC=gcc'
+
+# Print the configuration to the user
+print('\nSelected Build: '+tag+', Compiler: '+comp+', Architecture: '+arch+', Cross Compile: '+cross_comp)
+
+# Store the base directory script is working from
+baseDir = os.getcwd()
+# Store devtools dir
+devtoolsDir = os.path.abspath(os.path.dirname(os.path.realpath(sys.argv[0])))
+
+# Create directory for DPDK git repo and build
+try:
+    os.mkdir('dump_dpdk')
+except OSError as error:
+    print('ERROR The dump_dpdk directory could not be created, ensure it does not exist before start')
+    exit()
+os.chdir('dump_dpdk')
+# Clone DPDK and switch to specified tag
+print('Cloning '+tag+' from DPDK git')
+os.popen('git clone --quiet http://dpdk.org/git/dpdk >/dev/null').read()
+os.chdir('dpdk')
+os.popen('git checkout --quiet '+tag+' >/dev/null').read()
+
+# Create build folder with meson and set debug build and cross compile (if needed)
+print('Configuring Meson')
+os.popen(comp_default+' meson dumpbuild '+cross_comp_meson+' >/dev/null').read()
+os.chdir('dumpbuild')
+os.popen('meson configure -Dbuildtype=debug >/dev/null').read()
+print('Building DPDK . . .')
+#Build DPDK with ninja
+os.popen('ninja >/dev/null').read()
+gccDir = os.getcwd()
+
+# Create directory for abi dump files
+dumpDir = os.path.join(baseDir,tag+'-'+comp+'-'+arch+'-abi_dump')
+try:
+    os.mkdir(dumpDir)
+except OSError as error:
+    print('ERROR The '+dumpDir+' directory could not be created')
+    os.popen('rm -rf '+os.path.join(baseDir,'dump_dpdk')).read()
+    exit()
+
+# Create dump files and output to dump directory
+print('Generating ABI dump files')
+genabiout = os.popen(os.path.join(devtoolsDir,'gen-abi.sh')+' '+gccDir).read()
+os.popen('cp dump/* '+dumpDir).read()
+
+# Compress the dump directory
+print('Creating Tarball of dump files')
+os.chdir(baseDir)
+origSize = os.popen('du -sh '+dumpDir+' | sed "s/\s.*$//"').read()
+os.popen('tar -czf '+dumpDir.split('/')[-1]+'.tar.gz '+dumpDir.split('/')[-1]+' >/dev/null').read()
+newSize = os.popen('du -sh '+dumpDir+'.tar.gz | sed "s/\s.*$//"').read()
+
+# Remove all temporary directories
+print('Cleaning up temporary directories')
+os.popen('rm -rf '+dumpDir).read()
+os.popen('rm -rf '+os.path.join(baseDir,'dump_dpdk')).read()
+
+#Print output of the script to the user
+print('\nDump of DPDK ABI '+tag+' is available in '+dumpDir.split('/')[-1]+'.tar.gz (Original Size: '+origSize.strip()+', Compressed Size:'+newSize.strip()+')\n')
-- 
2.25.1


^ permalink raw reply	[relevance 21%]

* [dpdk-dev] [PATCH 1/4] devtools: bug fix for gen-abi.sh
  2020-09-10 14:01 10% [dpdk-dev] [PATCH 0/4] abi breakage checks for meson Conor Walsh
@ 2020-09-10 14:01 15% ` Conor Walsh
  2020-09-10 14:01 21% ` [dpdk-dev] [PATCH 2/4] devtools: add generation of compressed abi dump archives Conor Walsh
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 200+ results
From: Conor Walsh @ 2020-09-10 14:01 UTC (permalink / raw)
  To: dev
  Cc: david.marchand, ray.kinsella, nhorman, aconole, maicolgabriel,
	thomas, bruce.richardson, Conor Walsh

This patch fixes a bug with the gen-abi.sh script in devtools.
When ran on an install directory the script would try to generate
.dump files from directories as well as the .so files which is
not correct.
Example error: abidw: gcc/lib/librte_net.so.21.0.p is not a regular file
To rectify this the regex that finds the appropriate .so files has been
changed and the file test has been removed.
This change was tested with the ABI_CHECK Travis checks in DPDK 20.08.
Travis build:
https://travis-ci.com/github/conorwalsh-intel/dpdk/jobs/382812849

Signed-off-by: Conor Walsh <conor.walsh@intel.com>
---
 devtools/gen-abi.sh | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/devtools/gen-abi.sh b/devtools/gen-abi.sh
index c44b0e228..da6fe0556 100755
--- a/devtools/gen-abi.sh
+++ b/devtools/gen-abi.sh
@@ -16,11 +16,7 @@ fi
 dumpdir=$installdir/dump
 rm -rf $dumpdir
 mkdir -p $dumpdir
-for f in $(find $installdir -name "*.so.*"); do
-	if test -L $f; then
-		continue
-	fi
-
+for f in $(find $installdir -name "*.so"); do
 	libname=$(basename $f)
 	abidw --out-file $dumpdir/${libname%.so*}.dump $f
 done
-- 
2.25.1


^ permalink raw reply	[relevance 15%]

* [dpdk-dev] [PATCH 0/4] abi breakage checks for meson
@ 2020-09-10 14:01 10% Conor Walsh
  2020-09-10 14:01 15% ` [dpdk-dev] [PATCH 1/4] devtools: bug fix for gen-abi.sh Conor Walsh
                   ` (4 more replies)
  0 siblings, 5 replies; 200+ results
From: Conor Walsh @ 2020-09-10 14:01 UTC (permalink / raw)
  To: dev
  Cc: david.marchand, ray.kinsella, nhorman, aconole, maicolgabriel,
	thomas, bruce.richardson, Conor Walsh

This patchset allows developers to check ABI breakages during build time.
Currently checking that the DPDK ABI has not changed before up-streaming
code is not intuitive. The current method, requires the contributor to
use either the test-build.sh and test-meson-build.sh tools, along side
some environmental variables to test their changes. Contributors in many
cases are either unaware or unable to do this themselves, leading to a
potentially serious situation where they are unknowingly up-streaming
code that breaks the ABI. These breakages are then caught by Travis, but
it would be more efficient if this is caught locally before up-streaming.

Conor Walsh (4):
  devtools: bug fix for gen-abi.sh
  devtools: add generation of compressed abi dump archives
  buildtools: add script to setup abi checks for meson
  build: add abi breakage checks to meson

 buildtools/abi-setup.py     | 104 ++++++++++++++++++++++++++++++
 buildtools/meson.build      |  20 ++++++
 config/meson.build          |   9 +++
 devtools/gen-abi-tarball.py | 125 ++++++++++++++++++++++++++++++++++++
 devtools/gen-abi.sh         |   6 +-
 drivers/meson.build         |  15 +++++
 lib/meson.build             |  15 +++++
 meson_options.txt           |   2 +
 8 files changed, 291 insertions(+), 5 deletions(-)
 create mode 100755 buildtools/abi-setup.py
 create mode 100755 devtools/gen-abi-tarball.py

-- 
2.25.1


^ permalink raw reply	[relevance 10%]

* [dpdk-dev] [PATCH 2/2] cryptodev: remove list ends from asymmetric crypto api
  2020-09-10 11:42  3% [dpdk-dev] [PATCH 0/2] cryptodev: remove list end enumerators from asymmetric crypto api Arek Kusztal
@ 2020-09-10 11:42  3% ` Arek Kusztal
  2020-09-10 15:13  0% ` [dpdk-dev] [PATCH 0/2] cryptodev: remove list end enumerators " Trahe, Fiona
  1 sibling, 0 replies; 200+ results
From: Arek Kusztal @ 2020-09-10 11:42 UTC (permalink / raw)
  To: dev; +Cc: akhil.goyal, fiona.trahe, anoobj, Arek Kusztal

This patch removes RTE_CRYPTO_ASYM_XFORM_TYPE_LIST_END,
RTE_CRYPTO_ASYM_OP_LIST_END, RTE_CRYPTO_RSA_PADDING_TYPE_LIST_END
enumerators from asymmetric crypto API. When asymmetric API will
no more be experimental adding new entries will be possible without
ABI breakage.

Signed-off-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
---
 lib/librte_cryptodev/rte_crypto_asym.h | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/lib/librte_cryptodev/rte_crypto_asym.h b/lib/librte_cryptodev/rte_crypto_asym.h
index 9c866f553..915a586c1 100644
--- a/lib/librte_cryptodev/rte_crypto_asym.h
+++ b/lib/librte_cryptodev/rte_crypto_asym.h
@@ -92,10 +92,8 @@ enum rte_crypto_asym_xform_type {
 	/**< Elliptic Curve Digital Signature Algorithm
 	 * Perform Signature Generation and Verification.
 	 */
-	RTE_CRYPTO_ASYM_XFORM_ECPM,
+	RTE_CRYPTO_ASYM_XFORM_ECPM
 	/**< Elliptic Curve Point Multiplication */
-	RTE_CRYPTO_ASYM_XFORM_TYPE_LIST_END
-	/**< End of list */
 };
 
 /**
@@ -114,9 +112,8 @@ enum rte_crypto_asym_op_type {
 	/**< DH Private Key generation operation */
 	RTE_CRYPTO_ASYM_OP_PUBLIC_KEY_GENERATE,
 	/**< DH Public Key generation operation */
-	RTE_CRYPTO_ASYM_OP_SHARED_SECRET_COMPUTE,
+	RTE_CRYPTO_ASYM_OP_SHARED_SECRET_COMPUTE
 	/**< DH Shared Secret compute operation */
-	RTE_CRYPTO_ASYM_OP_LIST_END
 };
 
 /**
@@ -131,9 +128,8 @@ enum rte_crypto_rsa_padding_type {
 	 */
 	RTE_CRYPTO_RSA_PADDING_OAEP,
 	/**< RSA PKCS#1 OAEP padding scheme */
-	RTE_CRYPTO_RSA_PADDING_PSS,
+	RTE_CRYPTO_RSA_PADDING_PSS
 	/**< RSA PKCS#1 PSS padding scheme */
-	RTE_CRYPTO_RSA_PADDING_TYPE_LIST_END
 };
 
 /**
-- 
2.17.1


^ permalink raw reply	[relevance 3%]

* [dpdk-dev] [PATCH 0/2] cryptodev: remove list end enumerators from asymmetric crypto api
@ 2020-09-10 11:42  3% Arek Kusztal
  2020-09-10 11:42  3% ` [dpdk-dev] [PATCH 2/2] cryptodev: remove list ends " Arek Kusztal
  2020-09-10 15:13  0% ` [dpdk-dev] [PATCH 0/2] cryptodev: remove list end enumerators " Trahe, Fiona
  0 siblings, 2 replies; 200+ results
From: Arek Kusztal @ 2020-09-10 11:42 UTC (permalink / raw)
  To: dev; +Cc: akhil.goyal, fiona.trahe, anoobj, Arek Kusztal

This patchset removes RTE_CRYPTO_ASYM_XFORM_TYPE_LIST_END,
RTE_CRYPTO_ASYM_OP_LIST_END, RTE_CRYPTO_RSA_PADDING_TYPE_LIST_END
enumerators from asymmetric crypto API and its references.
When asymmetric API will no more be experimental adding new entries
will be possible without ABI breakage.

This patches depends on "crypto/qat: remove asym list end references" [1]

[1] http://patchwork.dpdk.org/patch/76634/

Arek Kusztal (2):
  app/test: remove list end references from asym crypto
  cryptodev: remove list ends from asymmetric crypto api

 app/test/test_cryptodev_asym.c         |  6 ++++--
 lib/librte_cryptodev/rte_crypto_asym.h | 10 +++-------
 2 files changed, 7 insertions(+), 9 deletions(-)

-- 
2.17.1


^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] [EXT] Re: [PATCH v2] ethdev: mark all traffic manager API as experimental
  2020-09-10 11:01  0%       ` Kinsella, Ray
@ 2020-09-10 11:22  0%         ` Nithin Dabilpuram
  0 siblings, 0 replies; 200+ results
From: Nithin Dabilpuram @ 2020-09-10 11:22 UTC (permalink / raw)
  To: Kinsella, Ray
  Cc: ferruh.yigit, bruce.richardson, cristian.dumitrescu, thomas,
	bluca, jasvinder.singh, arybchenko, ray.kinsella, nhorman,
	ktraynor, david.marchand, dev, jerinj

On Thu, Sep 10, 2020 at 12:01:49PM +0100, Kinsella, Ray wrote:
> 
> 
> On 10/09/2020 11:56, Nithin Dabilpuram wrote:
> > On Thu, Sep 10, 2020 at 09:30:15AM +0100, Kinsella, Ray wrote:
> >> External Email
> >>
> >> ----------------------------------------------------------------------
> >> On 10/09/2020 09:05, Nithin Dabilpuram wrote:
> >>> This patch marks all traffic manager API as experimental as
> >>> per discussion mentioned in below thread.
> >>>
> >>> https://urldefense.proofpoint.com/v2/url?u=https-3A__mails.dpdk.org_archives_dev_2020-2DApril_165364.html&d=DwIDaQ&c=nKjWec2b6R0mOyPaz7xtfQ&r=FZ_tPCbgFOh18zwRPO9H0yDx8VW38vuapifdDfc8SFQ&m=NlIUXSsugCPTKBv9qxsaMHOhTuC90TUqLcGg962VVyA&s=DZL_m0a73uef5Qgal1iFqc9dTdAuUd8J6eC0mZOQlFs&e= 
> >>>
> >>> Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
> >>> ---
> >>>
> >>> v2:
> >>> - Updated commit message.
> >>>
> >>>  lib/librte_ethdev/rte_ethdev_version.map | 62 ++++++++++++++++----------------
> >>>  lib/librte_ethdev/rte_tm.h               | 33 ++++++++++++++++-
> >>>  2 files changed, 64 insertions(+), 31 deletions(-)
> >>>
> >>> diff --git a/lib/librte_ethdev/rte_ethdev_version.map b/lib/librte_ethdev/rte_ethdev_version.map
> >>> index 1212a17..3da4512 100644
> >>> --- a/lib/librte_ethdev/rte_ethdev_version.map
> >>> +++ b/lib/librte_ethdev/rte_ethdev_version.map
> >>> @@ -135,36 +135,6 @@ DPDK_20.0 {
> >>>  	rte_flow_isolate;
> >>>  	rte_flow_query;
> >>>  	rte_flow_validate;
> >>> -	rte_tm_capabilities_get;
> >>> -	rte_tm_get_number_of_leaf_nodes;
> >>> -	rte_tm_hierarchy_commit;
> >>> -	rte_tm_level_capabilities_get;
> >>> -	rte_tm_mark_ip_dscp;
> >>> -	rte_tm_mark_ip_ecn;
> >>> -	rte_tm_mark_vlan_dei;
> >>> -	rte_tm_node_add;
> >>> -	rte_tm_node_capabilities_get;
> >>> -	rte_tm_node_cman_update;
> >>> -	rte_tm_node_delete;
> >>> -	rte_tm_node_parent_update;
> >>> -	rte_tm_node_resume;
> >>> -	rte_tm_node_shaper_update;
> >>> -	rte_tm_node_shared_shaper_update;
> >>> -	rte_tm_node_shared_wred_context_update;
> >>> -	rte_tm_node_stats_read;
> >>> -	rte_tm_node_stats_update;
> >>> -	rte_tm_node_suspend;
> >>> -	rte_tm_node_type_get;
> >>> -	rte_tm_node_wfq_weight_mode_update;
> >>> -	rte_tm_node_wred_context_update;
> >>> -	rte_tm_shaper_profile_add;
> >>> -	rte_tm_shaper_profile_delete;
> >>> -	rte_tm_shared_shaper_add_update;
> >>> -	rte_tm_shared_shaper_delete;
> >>> -	rte_tm_shared_wred_context_add_update;
> >>> -	rte_tm_shared_wred_context_delete;
> >>> -	rte_tm_wred_profile_add;
> >>> -	rte_tm_wred_profile_delete;
> >>>  
> >>>  	local: *;
> >>>  };
> >>> @@ -241,6 +211,38 @@ EXPERIMENTAL {
> >>>  	__rte_ethdev_trace_rx_burst;
> >>>  	__rte_ethdev_trace_tx_burst;
> >>>  	rte_flow_get_aged_flows;
> >>> +
> >>> +	# Marked as experimental in 20.11
> >>> +	rte_tm_capabilities_get;
> >>> +	rte_tm_get_number_of_leaf_nodes;
> >>> +	rte_tm_hierarchy_commit;
> >>> +	rte_tm_level_capabilities_get;
> >>> +	rte_tm_mark_ip_dscp;
> >>> +	rte_tm_mark_ip_ecn;
> >>> +	rte_tm_mark_vlan_dei;
> >>> +	rte_tm_node_add;
> >>> +	rte_tm_node_capabilities_get;
> >>> +	rte_tm_node_cman_update;
> >>> +	rte_tm_node_delete;
> >>> +	rte_tm_node_parent_update;
> >>> +	rte_tm_node_resume;
> >>> +	rte_tm_node_shaper_update;
> >>> +	rte_tm_node_shared_shaper_update;
> >>> +	rte_tm_node_shared_wred_context_update;
> >>> +	rte_tm_node_stats_read;
> >>> +	rte_tm_node_stats_update;
> >>> +	rte_tm_node_suspend;
> >>> +	rte_tm_node_type_get;
> >>> +	rte_tm_node_wfq_weight_mode_update;
> >>> +	rte_tm_node_wred_context_update;
> >>> +	rte_tm_shaper_profile_add;
> >>> +	rte_tm_shaper_profile_delete;
> >>> +	rte_tm_shared_shaper_add_update;
> >>> +	rte_tm_shared_shaper_delete;
> >>> +	rte_tm_shared_wred_context_add_update;
> >>> +	rte_tm_shared_wred_context_delete;
> >>> +	rte_tm_wred_profile_add;
> >>> +	rte_tm_wred_profile_delete;
> >>>  };
> >> [SNIP]
> >>
> >> So I will re-interate what I said in April, all of these API have existed since DPDK 17.08.
> >> I find it hard to believe they are all at imminent risk of changing to degree they _all_ warrant EXPERIMENTAL status.
> > 
> > As discussed earlier and agreed by TM and Ethdev maintainers, __rte_experimental tag was introduced several
> > releases after TM spec was added and TM spec remained untouched ending up making it stable unintentionally. 
> 
> We discussed it I agree, but to identify how this happened.
> I am not sure we all agreed it was ok to give a blanket EXPERIMENTAL. 
> 
> This API has been largely unchanged for 3 years.
> How can we justify keeping EXPERIMENTAL without a specific reason?
> Can you be more specific about planned changes?

Basically the changes atleast which initiated this discussion were

#1 Support to configure shaper in pkt mode that helps ratelimiting in
PPS(Packets per Sec) as opposed to BPS(Bits per Sec).
Needs change to a lot of existing tm param and capability structs.

#2 Support dynamic offload flags based Tx offload for tm packet marking.

#3 Support TM node color stats that report per tm color(red, green, yellow) pkt stats.

All the above three changes though add significant features and doesn't break existing
PMD's. 

> 
> > 
> > Bruce and other maintainers pointed out that we cannot fix it as a "Fixes:" patch in order
> > to honor ABI commitments, and suggestion was to change the complete spec back to
> > experimental in next ABI change window and proceed with improvements that make
> > it stable API in subsequent releases.
> >>
> >> Ray K

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [EXT] Re: [PATCH v2] ethdev: mark all traffic manager API as experimental
  2020-09-10 10:56  4%     ` [dpdk-dev] [EXT] " Nithin Dabilpuram
@ 2020-09-10 11:01  0%       ` Kinsella, Ray
  2020-09-10 11:22  0%         ` Nithin Dabilpuram
  0 siblings, 1 reply; 200+ results
From: Kinsella, Ray @ 2020-09-10 11:01 UTC (permalink / raw)
  To: Nithin Dabilpuram
  Cc: ferruh.yigit, bruce.richardson, cristian.dumitrescu, thomas,
	bluca, jasvinder.singh, arybchenko, ray.kinsella, nhorman,
	ktraynor, david.marchand, dev, jerinj



On 10/09/2020 11:56, Nithin Dabilpuram wrote:
> On Thu, Sep 10, 2020 at 09:30:15AM +0100, Kinsella, Ray wrote:
>> External Email
>>
>> ----------------------------------------------------------------------
>> On 10/09/2020 09:05, Nithin Dabilpuram wrote:
>>> This patch marks all traffic manager API as experimental as
>>> per discussion mentioned in below thread.
>>>
>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__mails.dpdk.org_archives_dev_2020-2DApril_165364.html&d=DwIDaQ&c=nKjWec2b6R0mOyPaz7xtfQ&r=FZ_tPCbgFOh18zwRPO9H0yDx8VW38vuapifdDfc8SFQ&m=NlIUXSsugCPTKBv9qxsaMHOhTuC90TUqLcGg962VVyA&s=DZL_m0a73uef5Qgal1iFqc9dTdAuUd8J6eC0mZOQlFs&e= 
>>>
>>> Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
>>> ---
>>>
>>> v2:
>>> - Updated commit message.
>>>
>>>  lib/librte_ethdev/rte_ethdev_version.map | 62 ++++++++++++++++----------------
>>>  lib/librte_ethdev/rte_tm.h               | 33 ++++++++++++++++-
>>>  2 files changed, 64 insertions(+), 31 deletions(-)
>>>
>>> diff --git a/lib/librte_ethdev/rte_ethdev_version.map b/lib/librte_ethdev/rte_ethdev_version.map
>>> index 1212a17..3da4512 100644
>>> --- a/lib/librte_ethdev/rte_ethdev_version.map
>>> +++ b/lib/librte_ethdev/rte_ethdev_version.map
>>> @@ -135,36 +135,6 @@ DPDK_20.0 {
>>>  	rte_flow_isolate;
>>>  	rte_flow_query;
>>>  	rte_flow_validate;
>>> -	rte_tm_capabilities_get;
>>> -	rte_tm_get_number_of_leaf_nodes;
>>> -	rte_tm_hierarchy_commit;
>>> -	rte_tm_level_capabilities_get;
>>> -	rte_tm_mark_ip_dscp;
>>> -	rte_tm_mark_ip_ecn;
>>> -	rte_tm_mark_vlan_dei;
>>> -	rte_tm_node_add;
>>> -	rte_tm_node_capabilities_get;
>>> -	rte_tm_node_cman_update;
>>> -	rte_tm_node_delete;
>>> -	rte_tm_node_parent_update;
>>> -	rte_tm_node_resume;
>>> -	rte_tm_node_shaper_update;
>>> -	rte_tm_node_shared_shaper_update;
>>> -	rte_tm_node_shared_wred_context_update;
>>> -	rte_tm_node_stats_read;
>>> -	rte_tm_node_stats_update;
>>> -	rte_tm_node_suspend;
>>> -	rte_tm_node_type_get;
>>> -	rte_tm_node_wfq_weight_mode_update;
>>> -	rte_tm_node_wred_context_update;
>>> -	rte_tm_shaper_profile_add;
>>> -	rte_tm_shaper_profile_delete;
>>> -	rte_tm_shared_shaper_add_update;
>>> -	rte_tm_shared_shaper_delete;
>>> -	rte_tm_shared_wred_context_add_update;
>>> -	rte_tm_shared_wred_context_delete;
>>> -	rte_tm_wred_profile_add;
>>> -	rte_tm_wred_profile_delete;
>>>  
>>>  	local: *;
>>>  };
>>> @@ -241,6 +211,38 @@ EXPERIMENTAL {
>>>  	__rte_ethdev_trace_rx_burst;
>>>  	__rte_ethdev_trace_tx_burst;
>>>  	rte_flow_get_aged_flows;
>>> +
>>> +	# Marked as experimental in 20.11
>>> +	rte_tm_capabilities_get;
>>> +	rte_tm_get_number_of_leaf_nodes;
>>> +	rte_tm_hierarchy_commit;
>>> +	rte_tm_level_capabilities_get;
>>> +	rte_tm_mark_ip_dscp;
>>> +	rte_tm_mark_ip_ecn;
>>> +	rte_tm_mark_vlan_dei;
>>> +	rte_tm_node_add;
>>> +	rte_tm_node_capabilities_get;
>>> +	rte_tm_node_cman_update;
>>> +	rte_tm_node_delete;
>>> +	rte_tm_node_parent_update;
>>> +	rte_tm_node_resume;
>>> +	rte_tm_node_shaper_update;
>>> +	rte_tm_node_shared_shaper_update;
>>> +	rte_tm_node_shared_wred_context_update;
>>> +	rte_tm_node_stats_read;
>>> +	rte_tm_node_stats_update;
>>> +	rte_tm_node_suspend;
>>> +	rte_tm_node_type_get;
>>> +	rte_tm_node_wfq_weight_mode_update;
>>> +	rte_tm_node_wred_context_update;
>>> +	rte_tm_shaper_profile_add;
>>> +	rte_tm_shaper_profile_delete;
>>> +	rte_tm_shared_shaper_add_update;
>>> +	rte_tm_shared_shaper_delete;
>>> +	rte_tm_shared_wred_context_add_update;
>>> +	rte_tm_shared_wred_context_delete;
>>> +	rte_tm_wred_profile_add;
>>> +	rte_tm_wred_profile_delete;
>>>  };
>> [SNIP]
>>
>> So I will re-interate what I said in April, all of these API have existed since DPDK 17.08.
>> I find it hard to believe they are all at imminent risk of changing to degree they _all_ warrant EXPERIMENTAL status.
> 
> As discussed earlier and agreed by TM and Ethdev maintainers, __rte_experimental tag was introduced several
> releases after TM spec was added and TM spec remained untouched ending up making it stable unintentionally. 

We discussed it I agree, but to identify how this happened.
I am not sure we all agreed it was ok to give a blanket EXPERIMENTAL. 

This API has been largely unchanged for 3 years.
How can we justify keeping EXPERIMENTAL without a specific reason?
Can you be more specific about planned changes?

> 
> Bruce and other maintainers pointed out that we cannot fix it as a "Fixes:" patch in order
> to honor ABI commitments, and suggestion was to change the complete spec back to
> experimental in next ABI change window and proceed with improvements that make
> it stable API in subsequent releases.
>>
>> Ray K

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [EXT] Re: [PATCH v2] ethdev: mark all traffic manager API as experimental
  @ 2020-09-10 10:56  4%     ` Nithin Dabilpuram
  2020-09-10 11:01  0%       ` Kinsella, Ray
  0 siblings, 1 reply; 200+ results
From: Nithin Dabilpuram @ 2020-09-10 10:56 UTC (permalink / raw)
  To: Kinsella, Ray
  Cc: ferruh.yigit, bruce.richardson, cristian.dumitrescu, thomas,
	bluca, jasvinder.singh, arybchenko, ray.kinsella, nhorman,
	ktraynor, david.marchand, dev, jerinj

On Thu, Sep 10, 2020 at 09:30:15AM +0100, Kinsella, Ray wrote:
> External Email
> 
> ----------------------------------------------------------------------
> On 10/09/2020 09:05, Nithin Dabilpuram wrote:
> > This patch marks all traffic manager API as experimental as
> > per discussion mentioned in below thread.
> > 
> > https://urldefense.proofpoint.com/v2/url?u=https-3A__mails.dpdk.org_archives_dev_2020-2DApril_165364.html&d=DwIDaQ&c=nKjWec2b6R0mOyPaz7xtfQ&r=FZ_tPCbgFOh18zwRPO9H0yDx8VW38vuapifdDfc8SFQ&m=NlIUXSsugCPTKBv9qxsaMHOhTuC90TUqLcGg962VVyA&s=DZL_m0a73uef5Qgal1iFqc9dTdAuUd8J6eC0mZOQlFs&e= 
> > 
> > Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
> > ---
> > 
> > v2:
> > - Updated commit message.
> > 
> >  lib/librte_ethdev/rte_ethdev_version.map | 62 ++++++++++++++++----------------
> >  lib/librte_ethdev/rte_tm.h               | 33 ++++++++++++++++-
> >  2 files changed, 64 insertions(+), 31 deletions(-)
> > 
> > diff --git a/lib/librte_ethdev/rte_ethdev_version.map b/lib/librte_ethdev/rte_ethdev_version.map
> > index 1212a17..3da4512 100644
> > --- a/lib/librte_ethdev/rte_ethdev_version.map
> > +++ b/lib/librte_ethdev/rte_ethdev_version.map
> > @@ -135,36 +135,6 @@ DPDK_20.0 {
> >  	rte_flow_isolate;
> >  	rte_flow_query;
> >  	rte_flow_validate;
> > -	rte_tm_capabilities_get;
> > -	rte_tm_get_number_of_leaf_nodes;
> > -	rte_tm_hierarchy_commit;
> > -	rte_tm_level_capabilities_get;
> > -	rte_tm_mark_ip_dscp;
> > -	rte_tm_mark_ip_ecn;
> > -	rte_tm_mark_vlan_dei;
> > -	rte_tm_node_add;
> > -	rte_tm_node_capabilities_get;
> > -	rte_tm_node_cman_update;
> > -	rte_tm_node_delete;
> > -	rte_tm_node_parent_update;
> > -	rte_tm_node_resume;
> > -	rte_tm_node_shaper_update;
> > -	rte_tm_node_shared_shaper_update;
> > -	rte_tm_node_shared_wred_context_update;
> > -	rte_tm_node_stats_read;
> > -	rte_tm_node_stats_update;
> > -	rte_tm_node_suspend;
> > -	rte_tm_node_type_get;
> > -	rte_tm_node_wfq_weight_mode_update;
> > -	rte_tm_node_wred_context_update;
> > -	rte_tm_shaper_profile_add;
> > -	rte_tm_shaper_profile_delete;
> > -	rte_tm_shared_shaper_add_update;
> > -	rte_tm_shared_shaper_delete;
> > -	rte_tm_shared_wred_context_add_update;
> > -	rte_tm_shared_wred_context_delete;
> > -	rte_tm_wred_profile_add;
> > -	rte_tm_wred_profile_delete;
> >  
> >  	local: *;
> >  };
> > @@ -241,6 +211,38 @@ EXPERIMENTAL {
> >  	__rte_ethdev_trace_rx_burst;
> >  	__rte_ethdev_trace_tx_burst;
> >  	rte_flow_get_aged_flows;
> > +
> > +	# Marked as experimental in 20.11
> > +	rte_tm_capabilities_get;
> > +	rte_tm_get_number_of_leaf_nodes;
> > +	rte_tm_hierarchy_commit;
> > +	rte_tm_level_capabilities_get;
> > +	rte_tm_mark_ip_dscp;
> > +	rte_tm_mark_ip_ecn;
> > +	rte_tm_mark_vlan_dei;
> > +	rte_tm_node_add;
> > +	rte_tm_node_capabilities_get;
> > +	rte_tm_node_cman_update;
> > +	rte_tm_node_delete;
> > +	rte_tm_node_parent_update;
> > +	rte_tm_node_resume;
> > +	rte_tm_node_shaper_update;
> > +	rte_tm_node_shared_shaper_update;
> > +	rte_tm_node_shared_wred_context_update;
> > +	rte_tm_node_stats_read;
> > +	rte_tm_node_stats_update;
> > +	rte_tm_node_suspend;
> > +	rte_tm_node_type_get;
> > +	rte_tm_node_wfq_weight_mode_update;
> > +	rte_tm_node_wred_context_update;
> > +	rte_tm_shaper_profile_add;
> > +	rte_tm_shaper_profile_delete;
> > +	rte_tm_shared_shaper_add_update;
> > +	rte_tm_shared_shaper_delete;
> > +	rte_tm_shared_wred_context_add_update;
> > +	rte_tm_shared_wred_context_delete;
> > +	rte_tm_wred_profile_add;
> > +	rte_tm_wred_profile_delete;
> >  };
> [SNIP]
> 
> So I will re-interate what I said in April, all of these API have existed since DPDK 17.08.
> I find it hard to believe they are all at imminent risk of changing to degree they _all_ warrant EXPERIMENTAL status.

As discussed earlier and agreed by TM and Ethdev maintainers, __rte_experimental tag was introduced several
releases after TM spec was added and TM spec remained untouched ending up making it stable unintentionally. 

Bruce and other maintainers pointed out that we cannot fix it as a "Fixes:" patch in order
to honor ABI commitments, and suggestion was to change the complete spec back to
experimental in next ABI change window and proceed with improvements that make
it stable API in subsequent releases.
> 
> Ray K

^ permalink raw reply	[relevance 4%]

* [dpdk-dev] [PATCH v3] ethdev: mark all traffic manager API as experimental
    @ 2020-09-10 10:09  4% ` Nithin Dabilpuram
  1 sibling, 0 replies; 200+ results
From: Nithin Dabilpuram @ 2020-09-10 10:09 UTC (permalink / raw)
  To: ferruh.yigit, bruce.richardson, cristian.dumitrescu, thomas,
	bluca, jasvinder.singh, arybchenko, ray.kinsella, nhorman,
	ktraynor, david.marchand, Ray Kinsella, John McNamara,
	Marko Kovacevic
  Cc: dev, jerinj, Nithin Dabilpuram

This patch marks all traffic manager API as experimental as
per deprecation notice[1] and discussion[2] mentioned in following
threads.

[1] https://mails.dpdk.org/archives/dev/2020-May/166221.html
[2] https://mails.dpdk.org/archives/dev/2020-April/165364.html

Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
---
 doc/guides/rel_notes/deprecation.rst     |  7 ----
 lib/librte_ethdev/rte_ethdev_version.map | 62 ++++++++++++++++----------------
 lib/librte_ethdev/rte_tm.h               | 33 ++++++++++++++++-
 3 files changed, 64 insertions(+), 38 deletions(-)

diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index dae4dbf..cd6b2c8 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -237,13 +237,6 @@ Deprecation Notices
   following the IPv6 header, as proposed in RFC
   https://mails.dpdk.org/archives/dev/2020-August/177257.html.
 
-* traffic manager: All traffic manager API's in ``rte_tm.h`` were mistakenly made
-  ABI stable in the v19.11 release. The TM maintainer and other contributors have
-  agreed to keep the TM APIs as experimental in expectation of additional spec
-  improvements. Therefore, all APIs in ``rte_tm.h`` will be marked back as
-  experimental in v20.11 DPDK release. For more details, please see `the thread
-  <https://mails.dpdk.org/archives/dev/2020-April/164970.html>`_.
-
 * pmd_dpaa: The API ``rte_pmd_dpaa_set_tx_loopback`` will have extended
   ``port_id`` definition from ``uint8_t`` to ``uint16_t``.
 
diff --git a/lib/librte_ethdev/rte_ethdev_version.map b/lib/librte_ethdev/rte_ethdev_version.map
index 1212a17..3da4512 100644
--- a/lib/librte_ethdev/rte_ethdev_version.map
+++ b/lib/librte_ethdev/rte_ethdev_version.map
@@ -135,36 +135,6 @@ DPDK_20.0 {
 	rte_flow_isolate;
 	rte_flow_query;
 	rte_flow_validate;
-	rte_tm_capabilities_get;
-	rte_tm_get_number_of_leaf_nodes;
-	rte_tm_hierarchy_commit;
-	rte_tm_level_capabilities_get;
-	rte_tm_mark_ip_dscp;
-	rte_tm_mark_ip_ecn;
-	rte_tm_mark_vlan_dei;
-	rte_tm_node_add;
-	rte_tm_node_capabilities_get;
-	rte_tm_node_cman_update;
-	rte_tm_node_delete;
-	rte_tm_node_parent_update;
-	rte_tm_node_resume;
-	rte_tm_node_shaper_update;
-	rte_tm_node_shared_shaper_update;
-	rte_tm_node_shared_wred_context_update;
-	rte_tm_node_stats_read;
-	rte_tm_node_stats_update;
-	rte_tm_node_suspend;
-	rte_tm_node_type_get;
-	rte_tm_node_wfq_weight_mode_update;
-	rte_tm_node_wred_context_update;
-	rte_tm_shaper_profile_add;
-	rte_tm_shaper_profile_delete;
-	rte_tm_shared_shaper_add_update;
-	rte_tm_shared_shaper_delete;
-	rte_tm_shared_wred_context_add_update;
-	rte_tm_shared_wred_context_delete;
-	rte_tm_wred_profile_add;
-	rte_tm_wred_profile_delete;
 
 	local: *;
 };
@@ -241,6 +211,38 @@ EXPERIMENTAL {
 	__rte_ethdev_trace_rx_burst;
 	__rte_ethdev_trace_tx_burst;
 	rte_flow_get_aged_flows;
+
+	# Marked as experimental in 20.11
+	rte_tm_capabilities_get;
+	rte_tm_get_number_of_leaf_nodes;
+	rte_tm_hierarchy_commit;
+	rte_tm_level_capabilities_get;
+	rte_tm_mark_ip_dscp;
+	rte_tm_mark_ip_ecn;
+	rte_tm_mark_vlan_dei;
+	rte_tm_node_add;
+	rte_tm_node_capabilities_get;
+	rte_tm_node_cman_update;
+	rte_tm_node_delete;
+	rte_tm_node_parent_update;
+	rte_tm_node_resume;
+	rte_tm_node_shaper_update;
+	rte_tm_node_shared_shaper_update;
+	rte_tm_node_shared_wred_context_update;
+	rte_tm_node_stats_read;
+	rte_tm_node_stats_update;
+	rte_tm_node_suspend;
+	rte_tm_node_type_get;
+	rte_tm_node_wfq_weight_mode_update;
+	rte_tm_node_wred_context_update;
+	rte_tm_shaper_profile_add;
+	rte_tm_shaper_profile_delete;
+	rte_tm_shared_shaper_add_update;
+	rte_tm_shared_shaper_delete;
+	rte_tm_shared_wred_context_add_update;
+	rte_tm_shared_wred_context_delete;
+	rte_tm_wred_profile_add;
+	rte_tm_wred_profile_delete;
 };
 
 INTERNAL {
diff --git a/lib/librte_ethdev/rte_tm.h b/lib/librte_ethdev/rte_tm.h
index f9c0cf3..c80c0bc 100644
--- a/lib/librte_ethdev/rte_tm.h
+++ b/lib/librte_ethdev/rte_tm.h
@@ -16,7 +16,8 @@
  * traffic shaping, congestion management, packet marking, etc.
  *
  * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
+ * @b EXPERIMENTAL:
+ * All functions in this file may be changed or removed without prior notice.
  */
 
 #include <stdint.h>
@@ -1050,6 +1051,7 @@ struct rte_tm_error {
  * @return
  *   0 on success, non-zero error code otherwise.
  */
+__rte_experimental
 int
 rte_tm_get_number_of_leaf_nodes(uint16_t port_id,
 	uint32_t *n_leaf_nodes,
@@ -1074,6 +1076,7 @@ rte_tm_get_number_of_leaf_nodes(uint16_t port_id,
  * @return
  *   0 on success, non-zero error code otherwise.
  */
+__rte_experimental
 int
 rte_tm_node_type_get(uint16_t port_id,
 	uint32_t node_id,
@@ -1092,6 +1095,7 @@ rte_tm_node_type_get(uint16_t port_id,
  * @return
  *   0 on success, non-zero error code otherwise.
  */
+__rte_experimental
 int
 rte_tm_capabilities_get(uint16_t port_id,
 	struct rte_tm_capabilities *cap,
@@ -1112,6 +1116,7 @@ rte_tm_capabilities_get(uint16_t port_id,
  * @return
  *   0 on success, non-zero error code otherwise.
  */
+__rte_experimental
 int
 rte_tm_level_capabilities_get(uint16_t port_id,
 	uint32_t level_id,
@@ -1132,6 +1137,7 @@ rte_tm_level_capabilities_get(uint16_t port_id,
  * @return
  *   0 on success, non-zero error code otherwise.
  */
+__rte_experimental
 int
 rte_tm_node_capabilities_get(uint16_t port_id,
 	uint32_t node_id,
@@ -1157,6 +1163,7 @@ rte_tm_node_capabilities_get(uint16_t port_id,
  *
  * @see struct rte_tm_capabilities::cman_wred_context_n_max
  */
+__rte_experimental
 int
 rte_tm_wred_profile_add(uint16_t port_id,
 	uint32_t wred_profile_id,
@@ -1180,6 +1187,7 @@ rte_tm_wred_profile_add(uint16_t port_id,
  *
  * @see struct rte_tm_capabilities::cman_wred_context_n_max
  */
+__rte_experimental
 int
 rte_tm_wred_profile_delete(uint16_t port_id,
 	uint32_t wred_profile_id,
@@ -1211,6 +1219,7 @@ rte_tm_wred_profile_delete(uint16_t port_id,
  *
  * @see struct rte_tm_capabilities::cman_wred_context_shared_n_max
  */
+__rte_experimental
 int
 rte_tm_shared_wred_context_add_update(uint16_t port_id,
 	uint32_t shared_wred_context_id,
@@ -1235,6 +1244,7 @@ rte_tm_shared_wred_context_add_update(uint16_t port_id,
  *
  * @see struct rte_tm_capabilities::cman_wred_context_shared_n_max
  */
+__rte_experimental
 int
 rte_tm_shared_wred_context_delete(uint16_t port_id,
 	uint32_t shared_wred_context_id,
@@ -1259,6 +1269,7 @@ rte_tm_shared_wred_context_delete(uint16_t port_id,
  *
  * @see struct rte_tm_capabilities::shaper_n_max
  */
+__rte_experimental
 int
 rte_tm_shaper_profile_add(uint16_t port_id,
 	uint32_t shaper_profile_id,
@@ -1282,6 +1293,7 @@ rte_tm_shaper_profile_add(uint16_t port_id,
  *
  * @see struct rte_tm_capabilities::shaper_n_max
  */
+__rte_experimental
 int
 rte_tm_shaper_profile_delete(uint16_t port_id,
 	uint32_t shaper_profile_id,
@@ -1311,6 +1323,7 @@ rte_tm_shaper_profile_delete(uint16_t port_id,
  *
  * @see struct rte_tm_capabilities::shaper_shared_n_max
  */
+__rte_experimental
 int
 rte_tm_shared_shaper_add_update(uint16_t port_id,
 	uint32_t shared_shaper_id,
@@ -1334,6 +1347,7 @@ rte_tm_shared_shaper_add_update(uint16_t port_id,
  *
  * @see struct rte_tm_capabilities::shaper_shared_n_max
  */
+__rte_experimental
 int
 rte_tm_shared_shaper_delete(uint16_t port_id,
 	uint32_t shared_shaper_id,
@@ -1402,6 +1416,7 @@ rte_tm_shared_shaper_delete(uint16_t port_id,
  * @see RTE_TM_NODE_LEVEL_ID_ANY
  * @see struct rte_tm_capabilities
  */
+__rte_experimental
 int
 rte_tm_node_add(uint16_t port_id,
 	uint32_t node_id,
@@ -1435,6 +1450,7 @@ rte_tm_node_add(uint16_t port_id,
  *
  * @see RTE_TM_UPDATE_NODE_ADD_DELETE
  */
+__rte_experimental
 int
 rte_tm_node_delete(uint16_t port_id,
 	uint32_t node_id,
@@ -1459,6 +1475,7 @@ rte_tm_node_delete(uint16_t port_id,
  * @see rte_tm_node_resume()
  * @see RTE_TM_UPDATE_NODE_SUSPEND_RESUME
  */
+__rte_experimental
 int
 rte_tm_node_suspend(uint16_t port_id,
 	uint32_t node_id,
@@ -1482,6 +1499,7 @@ rte_tm_node_suspend(uint16_t port_id,
  * @see rte_tm_node_suspend()
  * @see RTE_TM_UPDATE_NODE_SUSPEND_RESUME
  */
+__rte_experimental
 int
 rte_tm_node_resume(uint16_t port_id,
 	uint32_t node_id,
@@ -1523,6 +1541,7 @@ rte_tm_node_resume(uint16_t port_id,
  * @see rte_tm_node_add()
  * @see rte_tm_node_delete()
  */
+__rte_experimental
 int
 rte_tm_hierarchy_commit(uint16_t port_id,
 	int clear_on_fail,
@@ -1563,6 +1582,7 @@ rte_tm_hierarchy_commit(uint16_t port_id,
  * @see RTE_TM_UPDATE_NODE_PARENT_KEEP_LEVEL
  * @see RTE_TM_UPDATE_NODE_PARENT_CHANGE_LEVEL
  */
+__rte_experimental
 int
 rte_tm_node_parent_update(uint16_t port_id,
 	uint32_t node_id,
@@ -1592,6 +1612,7 @@ rte_tm_node_parent_update(uint16_t port_id,
  *
  * @see struct rte_tm_capabilities::shaper_private_n_max
  */
+__rte_experimental
 int
 rte_tm_node_shaper_update(uint16_t port_id,
 	uint32_t node_id,
@@ -1619,6 +1640,7 @@ rte_tm_node_shaper_update(uint16_t port_id,
  *
  * @see struct rte_tm_capabilities::shaper_shared_n_max
  */
+__rte_experimental
 int
 rte_tm_node_shared_shaper_update(uint16_t port_id,
 	uint32_t node_id,
@@ -1646,6 +1668,7 @@ rte_tm_node_shared_shaper_update(uint16_t port_id,
  * @see enum rte_tm_stats_type
  * @see RTE_TM_UPDATE_NODE_STATS
  */
+__rte_experimental
 int
 rte_tm_node_stats_update(uint16_t port_id,
 	uint32_t node_id,
@@ -1674,6 +1697,7 @@ rte_tm_node_stats_update(uint16_t port_id,
  * @see RTE_TM_UPDATE_NODE_WFQ_WEIGHT_MODE
  * @see RTE_TM_UPDATE_NODE_N_SP_PRIORITIES
  */
+__rte_experimental
 int
 rte_tm_node_wfq_weight_mode_update(uint16_t port_id,
 	uint32_t node_id,
@@ -1697,6 +1721,7 @@ rte_tm_node_wfq_weight_mode_update(uint16_t port_id,
  *
  * @see RTE_TM_UPDATE_NODE_CMAN
  */
+__rte_experimental
 int
 rte_tm_node_cman_update(uint16_t port_id,
 	uint32_t node_id,
@@ -1721,6 +1746,7 @@ rte_tm_node_cman_update(uint16_t port_id,
   *
  * @see struct rte_tm_capabilities::cman_wred_context_private_n_max
 */
+__rte_experimental
 int
 rte_tm_node_wred_context_update(uint16_t port_id,
 	uint32_t node_id,
@@ -1746,6 +1772,7 @@ rte_tm_node_wred_context_update(uint16_t port_id,
  *
  * @see struct rte_tm_capabilities::cman_wred_context_shared_n_max
  */
+__rte_experimental
 int
 rte_tm_node_shared_wred_context_update(uint16_t port_id,
 	uint32_t node_id,
@@ -1778,6 +1805,7 @@ rte_tm_node_shared_wred_context_update(uint16_t port_id,
  *
  * @see enum rte_tm_stats_type
  */
+__rte_experimental
 int
 rte_tm_node_stats_read(uint16_t port_id,
 	uint32_t node_id,
@@ -1815,6 +1843,7 @@ rte_tm_node_stats_read(uint16_t port_id,
  *
  * @see struct rte_tm_capabilities::mark_vlan_dei_supported
  */
+__rte_experimental
 int
 rte_tm_mark_vlan_dei(uint16_t port_id,
 	int mark_green,
@@ -1865,6 +1894,7 @@ rte_tm_mark_vlan_dei(uint16_t port_id,
  * @see struct rte_tm_capabilities::mark_ip_ecn_tcp_supported
  * @see struct rte_tm_capabilities::mark_ip_ecn_sctp_supported
  */
+__rte_experimental
 int
 rte_tm_mark_ip_ecn(uint16_t port_id,
 	int mark_green,
@@ -1913,6 +1943,7 @@ rte_tm_mark_ip_ecn(uint16_t port_id,
  *
  * @see struct rte_tm_capabilities::mark_ip_dscp_supported
  */
+__rte_experimental
 int
 rte_tm_mark_ip_dscp(uint16_t port_id,
 	int mark_green,
-- 
2.8.4


^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] [PATCH v4 7/7] ethdev: remove underscore prefix from internal API
  2020-09-09 13:01  2%   ` [dpdk-dev] [PATCH v4 7/7] ethdev: remove underscore prefix from internal API Ferruh Yigit
@ 2020-09-10  2:04  0%     ` Sachin Saxena (OSS)
  0 siblings, 0 replies; 200+ results
From: Sachin Saxena (OSS) @ 2020-09-10  2:04 UTC (permalink / raw)
  To: dev

Acked-by: Sachin Saxena<sachin.saxena@oss.nxp.com>


On 09-Sep-20 6:31 PM, Ferruh Yigit wrote:
> '_rte_eth_dev_callback_process()' & '_rte_eth_dev_reset()' internal APIs
> has unconventional underscore ('_') prefix.
> Although this is not documented most probably this is to mark them as
> internal. Since we have '__rte_internal' flag to mark this, removing '_'
> from API names.
>
> For '_rte_eth_dev_reset()', there is already a public API named
> 'rte_eth_dev_reset()', so renaming '_rte_eth_dev_reset()' to
> 'rte_eth_dev_internal_reset'.
>
> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
> Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
> Acked-by: David Marchand <david.marchand@redhat.com>
> ---
> v3:
> * release note updated
> ---
>   app/test/virtual_pmd.c                   |  4 ++--
>   doc/guides/prog_guide/poll_mode_drv.rst  |  4 ++--
>   doc/guides/rel_notes/release_20_11.rst   |  5 +++++
>   drivers/net/atlantic/atl_ethdev.c        |  5 ++---
>   drivers/net/bnxt/bnxt_ethdev.c           |  6 +++---
>   drivers/net/bnxt/rte_pmd_bnxt.c          |  4 ++--
>   drivers/net/bonding/rte_eth_bond_pmd.c   |  8 ++++----
>   drivers/net/dpaa/dpaa_ethdev.c           |  2 +-
>   drivers/net/dpaa2/dpaa2_ethdev.c         |  3 +--
>   drivers/net/e1000/em_ethdev.c            |  2 +-
>   drivers/net/e1000/igb_ethdev.c           |  7 +++----
>   drivers/net/ena/ena_ethdev.c             |  4 ++--
>   drivers/net/enic/enic_main.c             |  2 +-
>   drivers/net/failsafe/failsafe_ether.c    |  6 +++---
>   drivers/net/fm10k/fm10k_ethdev.c         | 11 ++++-------
>   drivers/net/hinic/base/hinic_pmd_hwdev.c |  6 +++---
>   drivers/net/i40e/i40e_ethdev.c           |  2 +-
>   drivers/net/i40e/i40e_ethdev_vf.c        |  4 ++--
>   drivers/net/i40e/i40e_pf.c               |  2 +-
>   drivers/net/iavf/iavf_vchnl.c            |  5 ++---
>   drivers/net/ice/ice_ethdev.c             |  4 ++--
>   drivers/net/igc/igc_ethdev.c             |  3 +--
>   drivers/net/ixgbe/ixgbe_ethdev.c         | 10 ++++------
>   drivers/net/ixgbe/ixgbe_pf.c             |  5 ++---
>   drivers/net/mlx4/mlx4_intr.c             | 10 +++++-----
>   drivers/net/mlx5/linux/mlx5_ethdev_os.c  |  4 ++--
>   drivers/net/mlx5/mlx5_flow.c             |  2 +-
>   drivers/net/netvsc/hn_rndis.c            |  2 +-
>   drivers/net/nfp/nfp_net.c                |  2 +-
>   drivers/net/octeontx/octeontx_ethdev.c   |  6 +++---
>   drivers/net/octeontx2/otx2_link.c        |  2 +-
>   drivers/net/qede/qede_main.c             |  3 +--
>   drivers/net/sfc/sfc_intr.c               | 12 ++++++------
>   drivers/net/thunderx/nicvf_ethdev.c      |  6 +++---
>   drivers/net/vhost/rte_eth_vhost.c        |  6 +++---
>   drivers/net/virtio/virtio_ethdev.c       |  6 +++---
>   drivers/net/vmxnet3/vmxnet3_ethdev.c     |  6 +++---
>   lib/librte_ethdev/rte_ethdev.c           |  8 ++++----
>   lib/librte_ethdev/rte_ethdev_driver.h    |  4 ++--
>   lib/librte_ethdev/rte_ethdev_version.map |  4 ++--
>   40 files changed, 95 insertions(+), 102 deletions(-)
>
> diff --git a/app/test/virtual_pmd.c b/app/test/virtual_pmd.c
> index 79156cb85a..b49089a33c 100644
> --- a/app/test/virtual_pmd.c
> +++ b/app/test/virtual_pmd.c
> @@ -474,8 +474,8 @@ virtual_ethdev_simulate_link_status_interrupt(uint16_t port_id,
>   
>   	vrtl_eth_dev->data->dev_link.link_status = link_status;
>   
> -	_rte_eth_dev_callback_process(vrtl_eth_dev, RTE_ETH_EVENT_INTR_LSC,
> -				      NULL);
> +	rte_eth_dev_callback_process(vrtl_eth_dev, RTE_ETH_EVENT_INTR_LSC,
> +				     NULL);
>   }
>   
>   int
> diff --git a/doc/guides/prog_guide/poll_mode_drv.rst b/doc/guides/prog_guide/poll_mode_drv.rst
> index 6fae39f904..86e0a141e6 100644
> --- a/doc/guides/prog_guide/poll_mode_drv.rst
> +++ b/doc/guides/prog_guide/poll_mode_drv.rst
> @@ -600,9 +600,9 @@ thread safety all these operations should be called from the same thread.
>   For example when PF is reset, the PF sends a message to notify VFs of
>   this event and also trigger an interrupt to VFs. Then in the interrupt
>   service routine the VFs detects this notification message and calls
> -_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_RESET, NULL).
> +rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_RESET, NULL).
>   This means that a PF reset triggers an RTE_ETH_EVENT_INTR_RESET
> -event within VFs. The function _rte_eth_dev_callback_process() will
> +event within VFs. The function rte_eth_dev_callback_process() will
>   call the registered callback function. The callback function can trigger
>   the application to handle all operations the VF reset requires including
>   stopping Rx/Tx queues and calling rte_eth_dev_reset().
> diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
> index f8c3521b3f..7ff6ac23b6 100644
> --- a/doc/guides/rel_notes/release_20_11.rst
> +++ b/doc/guides/rel_notes/release_20_11.rst
> @@ -86,6 +86,11 @@ API Changes
>   
>   * ``rte_eth_rx_descriptor_done()`` API has deprecated.
>   
> +* Renamed internal ethdev APIs:
> +
> +  * ``_rte_eth_dev_callback_process()`` -> ``rte_eth_dev_callback_process()``
> +  * ``_rte_eth_dev_reset`` -> ``rte_eth_dev_internal_reset()``
> +
>   
>   ABI Changes
>   -----------
> diff --git a/drivers/net/atlantic/atl_ethdev.c b/drivers/net/atlantic/atl_ethdev.c
> index 540b106045..2fca9140d7 100644
> --- a/drivers/net/atlantic/atl_ethdev.c
> +++ b/drivers/net/atlantic/atl_ethdev.c
> @@ -1395,8 +1395,7 @@ atl_dev_interrupt_action(struct rte_eth_dev *dev,
>   	/* Notify userapp if link status changed */
>   	if (!atl_dev_link_update(dev, 0)) {
>   		atl_dev_link_status_print(dev);
> -		_rte_eth_dev_callback_process(dev,
> -			RTE_ETH_EVENT_INTR_LSC, NULL);
> +		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
>   	} else {
>   		if (hw->aq_fw_ops->send_macsec_req == NULL)
>   			goto done;
> @@ -1422,7 +1421,7 @@ atl_dev_interrupt_action(struct rte_eth_dev *dev,
>   		    resp.stats.egress_expired ||
>   		    resp.stats.ingress_expired) {
>   			PMD_DRV_LOG(INFO, "RTE_ETH_EVENT_MACSEC");
> -			_rte_eth_dev_callback_process(dev,
> +			rte_eth_dev_callback_process(dev,
>   				RTE_ETH_EVENT_MACSEC, NULL);
>   		}
>   	}
> diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
> index 4d224bfa04..8c959ac913 100644
> --- a/drivers/net/bnxt/bnxt_ethdev.c
> +++ b/drivers/net/bnxt/bnxt_ethdev.c
> @@ -1528,9 +1528,9 @@ int bnxt_link_update(struct rte_eth_dev *eth_dev, int wait_to_complete,
>   	new.link_speed != eth_dev->data->dev_link.link_speed) {
>   		rte_eth_linkstatus_set(eth_dev, &new);
>   
> -		_rte_eth_dev_callback_process(eth_dev,
> -					      RTE_ETH_EVENT_INTR_LSC,
> -					      NULL);
> +		rte_eth_dev_callback_process(eth_dev,
> +					     RTE_ETH_EVENT_INTR_LSC,
> +					     NULL);
>   
>   		bnxt_print_link_info(eth_dev);
>   	}
> diff --git a/drivers/net/bnxt/rte_pmd_bnxt.c b/drivers/net/bnxt/rte_pmd_bnxt.c
> index eafc1d3868..d67db46c65 100644
> --- a/drivers/net/bnxt/rte_pmd_bnxt.c
> +++ b/drivers/net/bnxt/rte_pmd_bnxt.c
> @@ -28,8 +28,8 @@ int bnxt_rcv_msg_from_vf(struct bnxt *bp, uint16_t vf_id, void *msg)
>   	ret_param.vf_id = vf_id;
>   	ret_param.msg = msg;
>   
> -	_rte_eth_dev_callback_process(bp->eth_dev, RTE_ETH_EVENT_VF_MBOX,
> -				      &ret_param);
> +	rte_eth_dev_callback_process(bp->eth_dev, RTE_ETH_EVENT_VF_MBOX,
> +				     &ret_param);
>   
>   	/* Default to approve */
>   	if (ret_param.retval == RTE_PMD_BNXT_MB_EVENT_PROCEED)
> diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
> index cdbd8151ed..4ffd2ca4bb 100644
> --- a/drivers/net/bonding/rte_eth_bond_pmd.c
> +++ b/drivers/net/bonding/rte_eth_bond_pmd.c
> @@ -1879,7 +1879,7 @@ slave_remove(struct bond_dev_private *internals,
>   	internals->slave_count--;
>   
>   	/* force reconfiguration of slave interfaces */
> -	_rte_eth_dev_reset(slave_eth_dev);
> +	rte_eth_dev_internal_reset(slave_eth_dev);
>   }
>   
>   static void
> @@ -2765,7 +2765,7 @@ bond_ethdev_delayed_lsc_propagation(void *arg)
>   	if (arg == NULL)
>   		return;
>   
> -	_rte_eth_dev_callback_process((struct rte_eth_dev *)arg,
> +	rte_eth_dev_callback_process((struct rte_eth_dev *)arg,
>   			RTE_ETH_EVENT_INTR_LSC, NULL);
>   }
>   
> @@ -2900,7 +2900,7 @@ bond_ethdev_lsc_event_callback(uint16_t port_id, enum rte_eth_event_type type,
>   						bond_ethdev_delayed_lsc_propagation,
>   						(void *)bonded_eth_dev);
>   			else
> -				_rte_eth_dev_callback_process(bonded_eth_dev,
> +				rte_eth_dev_callback_process(bonded_eth_dev,
>   						RTE_ETH_EVENT_INTR_LSC,
>   						NULL);
>   
> @@ -2910,7 +2910,7 @@ bond_ethdev_lsc_event_callback(uint16_t port_id, enum rte_eth_event_type type,
>   						bond_ethdev_delayed_lsc_propagation,
>   						(void *)bonded_eth_dev);
>   			else
> -				_rte_eth_dev_callback_process(bonded_eth_dev,
> +				rte_eth_dev_callback_process(bonded_eth_dev,
>   						RTE_ETH_EVENT_INTR_LSC,
>   						NULL);
>   		}
> diff --git a/drivers/net/dpaa/dpaa_ethdev.c b/drivers/net/dpaa/dpaa_ethdev.c
> index e2c3fd0368..a077b98c3e 100644
> --- a/drivers/net/dpaa/dpaa_ethdev.c
> +++ b/drivers/net/dpaa/dpaa_ethdev.c
> @@ -335,7 +335,7 @@ static void dpaa_interrupt_handler(void *param)
>   	if (bytes_read < 0)
>   		DPAA_PMD_ERR("Error reading eventfd\n");
>   	dpaa_eth_link_update(dev, 0);
> -	_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
> +	rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
>   }
>   
>   static int dpaa_eth_dev_start(struct rte_eth_dev *dev)
> diff --git a/drivers/net/dpaa2/dpaa2_ethdev.c b/drivers/net/dpaa2/dpaa2_ethdev.c
> index 38cf0ab71c..0e9f836e55 100644
> --- a/drivers/net/dpaa2/dpaa2_ethdev.c
> +++ b/drivers/net/dpaa2/dpaa2_ethdev.c
> @@ -1065,8 +1065,7 @@ dpaa2_interrupt_handler(void *param)
>   		clear = DPNI_IRQ_EVENT_LINK_CHANGED;
>   		dpaa2_dev_link_update(dev, 0);
>   		/* calling all the apps registered for link status event */
> -		_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC,
> -					      NULL);
> +		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
>   	}
>   out:
>   	ret = dpni_clear_irq_status(dpni, CMD_PRI_LOW, priv->token,
> diff --git a/drivers/net/e1000/em_ethdev.c b/drivers/net/e1000/em_ethdev.c
> index 82766da882..1dc360713a 100644
> --- a/drivers/net/e1000/em_ethdev.c
> +++ b/drivers/net/e1000/em_ethdev.c
> @@ -1630,7 +1630,7 @@ eth_em_interrupt_handler(void *param)
>   
>   	eth_em_interrupt_get_status(dev);
>   	eth_em_interrupt_action(dev, dev->intr_handle);
> -	_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
> +	rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
>   }
>   
>   static int
> diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c
> index fe0cea88c2..5ab74840aa 100644
> --- a/drivers/net/e1000/igb_ethdev.c
> +++ b/drivers/net/e1000/igb_ethdev.c
> @@ -2920,8 +2920,7 @@ eth_igb_interrupt_action(struct rte_eth_dev *dev,
>   			     pci_dev->addr.bus,
>   			     pci_dev->addr.devid,
>   			     pci_dev->addr.function);
> -		_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC,
> -					      NULL);
> +		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
>   	}
>   
>   	return 0;
> @@ -2983,8 +2982,8 @@ void igbvf_mbx_process(struct rte_eth_dev *dev)
>   		/* dummy mbx read to ack pf */
>   		if (mbx->ops.read(hw, &in_msg, 1, 0))
>   			return;
> -		_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_RESET,
> -					      NULL);
> +		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_RESET,
> +					     NULL);
>   	}
>   }
>   
> diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c
> index da8c8ad922..8077519735 100644
> --- a/drivers/net/ena/ena_ethdev.c
> +++ b/drivers/net/ena/ena_ethdev.c
> @@ -1621,7 +1621,7 @@ static void ena_timer_wd_callback(__rte_unused struct rte_timer *timer,
>   
>   	if (unlikely(adapter->trigger_reset)) {
>   		PMD_DRV_LOG(ERR, "Trigger reset is on\n");
> -		_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_RESET,
> +		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_RESET,
>   			NULL);
>   	}
>   }
> @@ -2867,7 +2867,7 @@ static void ena_update_on_link_change(void *adapter_data,
>   	adapter->link_status = status;
>   
>   	ena_link_update(eth_dev, 0);
> -	_rte_eth_dev_callback_process(eth_dev, RTE_ETH_EVENT_INTR_LSC, NULL);
> +	rte_eth_dev_callback_process(eth_dev, RTE_ETH_EVENT_INTR_LSC, NULL);
>   }
>   
>   static void ena_notification(void *data,
> diff --git a/drivers/net/enic/enic_main.c b/drivers/net/enic/enic_main.c
> index 7942b0df6b..8b0441c5cd 100644
> --- a/drivers/net/enic/enic_main.c
> +++ b/drivers/net/enic/enic_main.c
> @@ -445,7 +445,7 @@ enic_intr_handler(void *arg)
>   	vnic_intr_return_all_credits(&enic->intr[ENICPMD_LSC_INTR_OFFSET]);
>   
>   	enic_link_update(dev);
> -	_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
> +	rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
>   	enic_log_q_error(enic);
>   	/* Re-enable irq in case of INTx */
>   	rte_intr_ack(&enic->pdev->intr_handle);
> diff --git a/drivers/net/failsafe/failsafe_ether.c b/drivers/net/failsafe/failsafe_ether.c
> index 70972d6717..7c68bbdec0 100644
> --- a/drivers/net/failsafe/failsafe_ether.c
> +++ b/drivers/net/failsafe/failsafe_ether.c
> @@ -602,9 +602,9 @@ failsafe_eth_lsc_event_callback(uint16_t port_id __rte_unused,
>   	ret = dev->dev_ops->link_update(dev, 0);
>   	/* We must pass on the LSC event */
>   	if (ret)
> -		return _rte_eth_dev_callback_process(dev,
> -						     RTE_ETH_EVENT_INTR_LSC,
> -						     NULL);
> +		return rte_eth_dev_callback_process(dev,
> +						    RTE_ETH_EVENT_INTR_LSC,
> +						    NULL);
>   	else
>   		return 0;
>   }
> diff --git a/drivers/net/fm10k/fm10k_ethdev.c b/drivers/net/fm10k/fm10k_ethdev.c
> index e6043e1455..5771d83b55 100644
> --- a/drivers/net/fm10k/fm10k_ethdev.c
> +++ b/drivers/net/fm10k/fm10k_ethdev.c
> @@ -2621,7 +2621,7 @@ fm10k_dev_interrupt_handler_pf(void *param)
>   					true);
>   
>   			dev_info->sm_down = 0;
> -			_rte_eth_dev_callback_process(dev,
> +			rte_eth_dev_callback_process(dev,
>   					RTE_ETH_EVENT_INTR_LSC,
>   					NULL);
>   		}
> @@ -2635,8 +2635,7 @@ fm10k_dev_interrupt_handler_pf(void *param)
>   	if (err == FM10K_ERR_RESET_REQUESTED) {
>   		PMD_INIT_LOG(INFO, "INT: Switch is down");
>   		dev_info->sm_down = 1;
> -		_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC,
> -				NULL);
> +		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
>   	}
>   
>   	/* Handle SRAM error */
> @@ -2703,8 +2702,7 @@ fm10k_dev_interrupt_handler_vf(void *param)
>   
>   		/* Setting reset flag */
>   		dev_info->sm_down = 1;
> -		_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC,
> -				NULL);
> +		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
>   	}
>   
>   	if (dev_info->sm_down == 1 &&
> @@ -2732,8 +2730,7 @@ fm10k_dev_interrupt_handler_vf(void *param)
>   		fm10k_vlan_filter_set(dev, hw->mac.default_vid, true);
>   
>   		dev_info->sm_down = 0;
> -		_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC,
> -				NULL);
> +		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
>   	}
>   
>   	/* Re-enable interrupt from device side */
> diff --git a/drivers/net/hinic/base/hinic_pmd_hwdev.c b/drivers/net/hinic/base/hinic_pmd_hwdev.c
> index ac2a72e388..41c99bdbf8 100644
> --- a/drivers/net/hinic/base/hinic_pmd_hwdev.c
> +++ b/drivers/net/hinic/base/hinic_pmd_hwdev.c
> @@ -1362,9 +1362,9 @@ static void hinic_lsc_process(struct hinic_hwdev *hwdev,
>   	ret = hinic_link_event_process(hwdev, rte_dev, status);
>   	/* check if link has changed, notify callback */
>   	if (ret == 0)
> -		_rte_eth_dev_callback_process(rte_dev,
> -					      RTE_ETH_EVENT_INTR_LSC,
> -					      NULL);
> +		rte_eth_dev_callback_process(rte_dev,
> +					     RTE_ETH_EVENT_INTR_LSC,
> +					     NULL);
>   }
>   
>   void hinic_l2nic_async_event_handle(struct hinic_hwdev *hwdev,
> diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
> index 80efd06cd9..563f21d9df 100644
> --- a/drivers/net/i40e/i40e_ethdev.c
> +++ b/drivers/net/i40e/i40e_ethdev.c
> @@ -6846,7 +6846,7 @@ i40e_dev_handle_aq_msg(struct rte_eth_dev *dev)
>   		case i40e_aqc_opc_get_link_status:
>   			ret = i40e_dev_link_update(dev, 0);
>   			if (!ret)
> -				_rte_eth_dev_callback_process(dev,
> +				rte_eth_dev_callback_process(dev,
>   					RTE_ETH_EVENT_INTR_LSC, NULL);
>   			break;
>   		default:
> diff --git a/drivers/net/i40e/i40e_ethdev_vf.c b/drivers/net/i40e/i40e_ethdev_vf.c
> index be4b28fa45..8531cf6b12 100644
> --- a/drivers/net/i40e/i40e_ethdev_vf.c
> +++ b/drivers/net/i40e/i40e_ethdev_vf.c
> @@ -1378,7 +1378,7 @@ i40evf_handle_pf_event(struct rte_eth_dev *dev, uint8_t *msg,
>   	switch (pf_msg->event) {
>   	case VIRTCHNL_EVENT_RESET_IMPENDING:
>   		PMD_DRV_LOG(DEBUG, "VIRTCHNL_EVENT_RESET_IMPENDING event");
> -		_rte_eth_dev_callback_process(dev,
> +		rte_eth_dev_callback_process(dev,
>   				RTE_ETH_EVENT_INTR_RESET, NULL);
>   		break;
>   	case VIRTCHNL_EVENT_LINK_CHANGE:
> @@ -1425,7 +1425,7 @@ i40evf_handle_pf_event(struct rte_eth_dev *dev, uint8_t *msg,
>   		}
>   
>   		i40evf_dev_link_update(dev, 0);
> -		_rte_eth_dev_callback_process(dev,
> +		rte_eth_dev_callback_process(dev,
>   				RTE_ETH_EVENT_INTR_LSC, NULL);
>   		break;
>   	case VIRTCHNL_EVENT_PF_DRIVER_CLOSE:
> diff --git a/drivers/net/i40e/i40e_pf.c b/drivers/net/i40e/i40e_pf.c
> index 7bf1e79410..03c2070c3f 100644
> --- a/drivers/net/i40e/i40e_pf.c
> +++ b/drivers/net/i40e/i40e_pf.c
> @@ -1363,7 +1363,7 @@ i40e_pf_host_handle_vf_msg(struct rte_eth_dev *dev,
>   	 * do nothing and send not_supported to VF. As PF must send a response
>   	 * to VF and ACK/NACK is not defined.
>   	 */
> -	_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_VF_MBOX, &ret_param);
> +	rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_VF_MBOX, &ret_param);
>   	if (ret_param.retval != RTE_PMD_I40E_MB_EVENT_PROCEED) {
>   		PMD_DRV_LOG(WARNING, "VF to PF message(%d) is not permitted!",
>   			    opcode);
> diff --git a/drivers/net/iavf/iavf_vchnl.c b/drivers/net/iavf/iavf_vchnl.c
> index 34c31a153a..29e4cae10c 100644
> --- a/drivers/net/iavf/iavf_vchnl.c
> +++ b/drivers/net/iavf/iavf_vchnl.c
> @@ -187,7 +187,7 @@ iavf_handle_pf_event_msg(struct rte_eth_dev *dev, uint8_t *msg,
>   	switch (pf_msg->event) {
>   	case VIRTCHNL_EVENT_RESET_IMPENDING:
>   		PMD_DRV_LOG(DEBUG, "VIRTCHNL_EVENT_RESET_IMPENDING event");
> -		_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_RESET,
> +		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_RESET,
>   					      NULL);
>   		break;
>   	case VIRTCHNL_EVENT_LINK_CHANGE:
> @@ -202,8 +202,7 @@ iavf_handle_pf_event_msg(struct rte_eth_dev *dev, uint8_t *msg,
>   			vf->link_speed = iavf_convert_link_speed(speed);
>   		}
>   		iavf_dev_link_update(dev, 0);
> -		_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC,
> -					      NULL);
> +		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
>   		break;
>   	case VIRTCHNL_EVENT_PF_DRIVER_CLOSE:
>   		PMD_DRV_LOG(DEBUG, "VIRTCHNL_EVENT_PF_DRIVER_CLOSE event");
> diff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c
> index c8b16c7f87..724b2ee26c 100644
> --- a/drivers/net/ice/ice_ethdev.c
> +++ b/drivers/net/ice/ice_ethdev.c
> @@ -1314,7 +1314,7 @@ ice_handle_aq_msg(struct rte_eth_dev *dev)
>   		case ice_aqc_opc_get_link_status:
>   			ret = ice_link_update(dev, 0);
>   			if (!ret)
> -				_rte_eth_dev_callback_process
> +				rte_eth_dev_callback_process
>   					(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
>   			break;
>   		default:
> @@ -1379,7 +1379,7 @@ ice_interrupt_handler(void *param)
>   		PMD_DRV_LOG(INFO, "OICR: link state change event");
>   		ret = ice_link_update(dev, 0);
>   		if (!ret)
> -			_rte_eth_dev_callback_process
> +			rte_eth_dev_callback_process
>   				(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
>   	}
>   #endif
> diff --git a/drivers/net/igc/igc_ethdev.c b/drivers/net/igc/igc_ethdev.c
> index aa37c11861..810568bc54 100644
> --- a/drivers/net/igc/igc_ethdev.c
> +++ b/drivers/net/igc/igc_ethdev.c
> @@ -540,8 +540,7 @@ eth_igc_interrupt_action(struct rte_eth_dev *dev)
>   				pci_dev->addr.bus,
>   				pci_dev->addr.devid,
>   				pci_dev->addr.function);
> -		_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC,
> -				NULL);
> +		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
>   	}
>   }
>   
> diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
> index 337ce90fbf..0f065bbc04 100644
> --- a/drivers/net/ixgbe/ixgbe_ethdev.c
> +++ b/drivers/net/ixgbe/ixgbe_ethdev.c
> @@ -4659,13 +4659,11 @@ ixgbe_dev_interrupt_delayed_handler(void *param)
>   		ixgbe_dev_link_update(dev, 0);
>   		intr->flags &= ~IXGBE_FLAG_NEED_LINK_UPDATE;
>   		ixgbe_dev_link_status_print(dev);
> -		_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC,
> -					      NULL);
> +		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
>   	}
>   
>   	if (intr->flags & IXGBE_FLAG_MACSEC) {
> -		_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_MACSEC,
> -					      NULL);
> +		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_MACSEC, NULL);
>   		intr->flags &= ~IXGBE_FLAG_MACSEC;
>   	}
>   
> @@ -8674,8 +8672,8 @@ static void ixgbevf_mbx_process(struct rte_eth_dev *dev)
>   		/* dummy mbx read to ack pf */
>   		if (ixgbe_read_mbx(hw, &in_msg, 1, 0))
>   			return;
> -		_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_RESET,
> -					      NULL);
> +		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_RESET,
> +					     NULL);
>   	}
>   }
>   
> diff --git a/drivers/net/ixgbe/ixgbe_pf.c b/drivers/net/ixgbe/ixgbe_pf.c
> index 67b5bef44f..ed5f96b1a4 100644
> --- a/drivers/net/ixgbe/ixgbe_pf.c
> +++ b/drivers/net/ixgbe/ixgbe_pf.c
> @@ -832,7 +832,7 @@ ixgbe_rcv_msg_from_vf(struct rte_eth_dev *dev, uint16_t vf)
>   		vfinfo[vf].clear_to_send = true;
>   
>   		/* notify application about VF reset */
> -		_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_VF_MBOX,
> +		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_VF_MBOX,
>   					      &ret_param);
>   		return ret;
>   	}
> @@ -844,8 +844,7 @@ ixgbe_rcv_msg_from_vf(struct rte_eth_dev *dev, uint16_t vf)
>   	 * if 0, do nothing and send ACK to VF
>   	 * if ret_param.retval > 1, do nothing and send NAK to VF
>   	 */
> -	_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_VF_MBOX,
> -				      &ret_param);
> +	rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_VF_MBOX, &ret_param);
>   
>   	retval = ret_param.retval;
>   
> diff --git a/drivers/net/mlx4/mlx4_intr.c b/drivers/net/mlx4/mlx4_intr.c
> index 19af9359c9..6786b12ab5 100644
> --- a/drivers/net/mlx4/mlx4_intr.c
> +++ b/drivers/net/mlx4/mlx4_intr.c
> @@ -124,9 +124,9 @@ mlx4_link_status_alarm(struct mlx4_priv *priv)
>   	MLX4_ASSERT(priv->intr_alarm == 1);
>   	priv->intr_alarm = 0;
>   	if (intr_conf->lsc && !mlx4_link_status_check(priv))
> -		_rte_eth_dev_callback_process(ETH_DEV(priv),
> -					      RTE_ETH_EVENT_INTR_LSC,
> -					      NULL);
> +		rte_eth_dev_callback_process(ETH_DEV(priv),
> +					     RTE_ETH_EVENT_INTR_LSC,
> +					     NULL);
>   }
>   
>   /**
> @@ -207,8 +207,8 @@ mlx4_interrupt_handler(struct mlx4_priv *priv)
>   	}
>   	for (i = 0; i != RTE_DIM(caught); ++i)
>   		if (caught[i])
> -			_rte_eth_dev_callback_process(ETH_DEV(priv), type[i],
> -						      NULL);
> +			rte_eth_dev_callback_process(ETH_DEV(priv), type[i],
> +						     NULL);
>   }
>   
>   /**
> diff --git a/drivers/net/mlx5/linux/mlx5_ethdev_os.c b/drivers/net/mlx5/linux/mlx5_ethdev_os.c
> index 3d3dd2e862..7256c1bcfe 100644
> --- a/drivers/net/mlx5/linux/mlx5_ethdev_os.c
> +++ b/drivers/net/mlx5/linux/mlx5_ethdev_os.c
> @@ -732,7 +732,7 @@ mlx5_dev_interrupt_device_fatal(struct mlx5_dev_ctx_shared *sh)
>   		dev = &rte_eth_devices[sh->port[i].ih_port_id];
>   		MLX5_ASSERT(dev);
>   		if (dev->data->dev_conf.intr_conf.rmv)
> -			_rte_eth_dev_callback_process
> +			rte_eth_dev_callback_process
>   				(dev, RTE_ETH_EVENT_INTR_RMV, NULL);
>   	}
>   }
> @@ -808,7 +808,7 @@ mlx5_dev_interrupt_handler(void *cb_arg)
>   				usleep(0);
>   				continue;
>   			}
> -			_rte_eth_dev_callback_process
> +			rte_eth_dev_callback_process
>   				(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
>   			continue;
>   		}
> diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
> index eb55bd7f99..55cdc37f00 100644
> --- a/drivers/net/mlx5/mlx5_flow.c
> +++ b/drivers/net/mlx5/mlx5_flow.c
> @@ -6085,7 +6085,7 @@ mlx5_flow_aging_check(struct mlx5_dev_ctx_shared *sh,
>   		if (!MLX5_AGE_GET(age_info, MLX5_AGE_EVENT_NEW))
>   			continue;
>   		if (MLX5_AGE_GET(age_info, MLX5_AGE_TRIGGER))
> -			_rte_eth_dev_callback_process
> +			rte_eth_dev_callback_process
>   				(&rte_eth_devices[sh->port[i].devx_ih_port_id],
>   				RTE_ETH_EVENT_FLOW_AGED, NULL);
>   		age_info->flags = 0;
> diff --git a/drivers/net/netvsc/hn_rndis.c b/drivers/net/netvsc/hn_rndis.c
> index d186ddeabd..66d1966f29 100644
> --- a/drivers/net/netvsc/hn_rndis.c
> +++ b/drivers/net/netvsc/hn_rndis.c
> @@ -292,7 +292,7 @@ static int hn_nvs_send_rndis_ctrl(struct vmbus_channel *chan,
>    */
>   static void hn_rndis_link_alarm(void *arg)
>   {
> -	_rte_eth_dev_callback_process(arg, RTE_ETH_EVENT_INTR_LSC, NULL);
> +	rte_eth_dev_callback_process(arg, RTE_ETH_EVENT_INTR_LSC, NULL);
>   }
>   
>   void hn_rndis_link_status(struct rte_eth_dev *dev, const void *msg)
> diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c
> index c556dedab6..4f03691989 100644
> --- a/drivers/net/nfp/nfp_net.c
> +++ b/drivers/net/nfp/nfp_net.c
> @@ -1460,7 +1460,7 @@ nfp_net_dev_interrupt_delayed_handler(void *param)
>   	struct rte_eth_dev *dev = (struct rte_eth_dev *)param;
>   
>   	nfp_net_link_update(dev, 0);
> -	_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
> +	rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
>   
>   	nfp_net_dev_link_status_print(dev);
>   
> diff --git a/drivers/net/octeontx/octeontx_ethdev.c b/drivers/net/octeontx/octeontx_ethdev.c
> index 76c69294d0..808b761b96 100644
> --- a/drivers/net/octeontx/octeontx_ethdev.c
> +++ b/drivers/net/octeontx/octeontx_ethdev.c
> @@ -227,9 +227,9 @@ octeontx_link_status_poll(void *arg)
>   			octeontx_link_status_update(nic, &link);
>   			octeontx_link_status_print(dev, &link);
>   			rte_eth_linkstatus_set(dev, &link);
> -			_rte_eth_dev_callback_process(dev,
> -						      RTE_ETH_EVENT_INTR_LSC,
> -						      NULL);
> +			rte_eth_dev_callback_process(dev,
> +						     RTE_ETH_EVENT_INTR_LSC,
> +						     NULL);
>   		}
>   	}
>   
> diff --git a/drivers/net/octeontx2/otx2_link.c b/drivers/net/octeontx2/otx2_link.c
> index 12bf6c3231..439ec4fa89 100644
> --- a/drivers/net/octeontx2/otx2_link.c
> +++ b/drivers/net/octeontx2/otx2_link.c
> @@ -82,7 +82,7 @@ otx2_eth_dev_link_status_update(struct otx2_dev *dev,
>   	rte_eth_linkstatus_set(eth_dev, &eth_link);
>   
>   	/* Set the flag and execute application callbacks */
> -	_rte_eth_dev_callback_process(eth_dev, RTE_ETH_EVENT_INTR_LSC, NULL);
> +	rte_eth_dev_callback_process(eth_dev, RTE_ETH_EVENT_INTR_LSC, NULL);
>   }
>   
>   static int
> diff --git a/drivers/net/qede/qede_main.c b/drivers/net/qede/qede_main.c
> index 987a6f1e13..aecb98261b 100644
> --- a/drivers/net/qede/qede_main.c
> +++ b/drivers/net/qede/qede_main.c
> @@ -650,8 +650,7 @@ void qed_link_update(struct ecore_hwfn *hwfn)
>   	struct rte_eth_dev *dev = (struct rte_eth_dev *)qdev->ethdev;
>   
>   	if (!qede_link_update(dev, 0))
> -		_rte_eth_dev_callback_process(dev,
> -					      RTE_ETH_EVENT_INTR_LSC, NULL);
> +		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
>   }
>   
>   static int qed_drain(struct ecore_dev *edev)
> diff --git a/drivers/net/sfc/sfc_intr.c b/drivers/net/sfc/sfc_intr.c
> index 80feab68f8..da32d393c2 100644
> --- a/drivers/net/sfc/sfc_intr.c
> +++ b/drivers/net/sfc/sfc_intr.c
> @@ -89,9 +89,9 @@ sfc_intr_line_handler(void *cb_arg)
>   		sfc_notice(sa, "link status change event: link %s",
>   			 sa->eth_dev->data->dev_link.link_status ?
>   			 "UP" : "DOWN");
> -		_rte_eth_dev_callback_process(sa->eth_dev,
> -					      RTE_ETH_EVENT_INTR_LSC,
> -					      NULL);
> +		rte_eth_dev_callback_process(sa->eth_dev,
> +					     RTE_ETH_EVENT_INTR_LSC,
> +					     NULL);
>   	}
>   }
>   
> @@ -131,9 +131,9 @@ sfc_intr_message_handler(void *cb_arg)
>   exit:
>   	if (lsc_seq != sa->port.lsc_seq) {
>   		sfc_notice(sa, "link status change event");
> -		_rte_eth_dev_callback_process(sa->eth_dev,
> -					      RTE_ETH_EVENT_INTR_LSC,
> -					      NULL);
> +		rte_eth_dev_callback_process(sa->eth_dev,
> +					     RTE_ETH_EVENT_INTR_LSC,
> +					     NULL);
>   	}
>   }
>   
> diff --git a/drivers/net/thunderx/nicvf_ethdev.c b/drivers/net/thunderx/nicvf_ethdev.c
> index 959c8e4ddc..83d9488360 100644
> --- a/drivers/net/thunderx/nicvf_ethdev.c
> +++ b/drivers/net/thunderx/nicvf_ethdev.c
> @@ -83,9 +83,9 @@ nicvf_interrupt(void *arg)
>   			nicvf_link_status_update(nic, &link);
>   			rte_eth_linkstatus_set(dev, &link);
>   
> -			_rte_eth_dev_callback_process(dev,
> -						      RTE_ETH_EVENT_INTR_LSC,
> -						      NULL);
> +			rte_eth_dev_callback_process(dev,
> +						     RTE_ETH_EVENT_INTR_LSC,
> +						     NULL);
>   		}
>   	}
>   
> diff --git a/drivers/net/vhost/rte_eth_vhost.c b/drivers/net/vhost/rte_eth_vhost.c
> index fa365605ef..ce32be9ce3 100644
> --- a/drivers/net/vhost/rte_eth_vhost.c
> +++ b/drivers/net/vhost/rte_eth_vhost.c
> @@ -832,7 +832,7 @@ new_device(int vid)
>   
>   	VHOST_LOG(INFO, "Vhost device %d created\n", vid);
>   
> -	_rte_eth_dev_callback_process(eth_dev, RTE_ETH_EVENT_INTR_LSC, NULL);
> +	rte_eth_dev_callback_process(eth_dev, RTE_ETH_EVENT_INTR_LSC, NULL);
>   
>   	return 0;
>   }
> @@ -889,7 +889,7 @@ destroy_device(int vid)
>   	VHOST_LOG(INFO, "Vhost device %d destroyed\n", vid);
>   	eth_vhost_uninstall_intr(eth_dev);
>   
> -	_rte_eth_dev_callback_process(eth_dev, RTE_ETH_EVENT_INTR_LSC, NULL);
> +	rte_eth_dev_callback_process(eth_dev, RTE_ETH_EVENT_INTR_LSC, NULL);
>   }
>   
>   static int
> @@ -968,7 +968,7 @@ vring_state_changed(int vid, uint16_t vring, int enable)
>   	VHOST_LOG(INFO, "vring%u is %s\n",
>   			vring, enable ? "enabled" : "disabled");
>   
> -	_rte_eth_dev_callback_process(eth_dev, RTE_ETH_EVENT_QUEUE_STATE, NULL);
> +	rte_eth_dev_callback_process(eth_dev, RTE_ETH_EVENT_QUEUE_STATE, NULL);
>   
>   	return 0;
>   }
> diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
> index 4f2fa0d943..dac0f23052 100644
> --- a/drivers/net/virtio/virtio_ethdev.c
> +++ b/drivers/net/virtio/virtio_ethdev.c
> @@ -1489,9 +1489,9 @@ virtio_interrupt_handler(void *param)
>   
>   	if (isr & VIRTIO_PCI_ISR_CONFIG) {
>   		if (virtio_dev_link_update(dev, 0) == 0)
> -			_rte_eth_dev_callback_process(dev,
> -						      RTE_ETH_EVENT_INTR_LSC,
> -						      NULL);
> +			rte_eth_dev_callback_process(dev,
> +						     RTE_ETH_EVENT_INTR_LSC,
> +						     NULL);
>   
>   		if (vtpci_with_feature(hw, VIRTIO_NET_F_STATUS)) {
>   			vtpci_read_dev_config(hw,
> diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c
> index 815fba2f55..fa80e75a5b 100644
> --- a/drivers/net/vmxnet3/vmxnet3_ethdev.c
> +++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c
> @@ -1417,9 +1417,9 @@ vmxnet3_process_events(struct rte_eth_dev *dev)
>   	if (events & VMXNET3_ECR_LINK) {
>   		PMD_DRV_LOG(DEBUG, "Process events: VMXNET3_ECR_LINK event");
>   		if (vmxnet3_dev_link_update(dev, 0) == 0)
> -			_rte_eth_dev_callback_process(dev,
> -						      RTE_ETH_EVENT_INTR_LSC,
> -						      NULL);
> +			rte_eth_dev_callback_process(dev,
> +						     RTE_ETH_EVENT_INTR_LSC,
> +						     NULL);
>   	}
>   
>   	/* Check if there is an error on xmit/recv queues */
> diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c
> index f8d63c7e17..066751f287 100644
> --- a/lib/librte_ethdev/rte_ethdev.c
> +++ b/lib/librte_ethdev/rte_ethdev.c
> @@ -549,7 +549,7 @@ rte_eth_dev_release_port(struct rte_eth_dev *eth_dev)
>   	rte_eth_dev_shared_data_prepare();
>   
>   	if (eth_dev->state != RTE_ETH_DEV_UNUSED)
> -		_rte_eth_dev_callback_process(eth_dev,
> +		rte_eth_dev_callback_process(eth_dev,
>   				RTE_ETH_EVENT_DESTROY, NULL);
>   
>   	rte_spinlock_lock(&rte_eth_dev_shared_data->ownership_lock);
> @@ -1486,7 +1486,7 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
>   }
>   
>   void
> -_rte_eth_dev_reset(struct rte_eth_dev *dev)
> +rte_eth_dev_internal_reset(struct rte_eth_dev *dev)
>   {
>   	if (dev->data->dev_started) {
>   		RTE_ETHDEV_LOG(ERR, "Port %u must be stopped to allow reset\n",
> @@ -4090,7 +4090,7 @@ rte_eth_dev_callback_unregister(uint16_t port_id,
>   }
>   
>   int
> -_rte_eth_dev_callback_process(struct rte_eth_dev *dev,
> +rte_eth_dev_callback_process(struct rte_eth_dev *dev,
>   	enum rte_eth_event_type event, void *ret_param)
>   {
>   	struct rte_eth_dev_callback *cb_lst;
> @@ -4122,7 +4122,7 @@ rte_eth_dev_probing_finish(struct rte_eth_dev *dev)
>   	if (dev == NULL)
>   		return;
>   
> -	_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_NEW, NULL);
> +	rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_NEW, NULL);
>   
>   	dev->state = RTE_ETH_DEV_ATTACHED;
>   }
> diff --git a/lib/librte_ethdev/rte_ethdev_driver.h b/lib/librte_ethdev/rte_ethdev_driver.h
> index 5dfe9fdf1a..23cc1e0959 100644
> --- a/lib/librte_ethdev/rte_ethdev_driver.h
> +++ b/lib/librte_ethdev/rte_ethdev_driver.h
> @@ -821,7 +821,7 @@ int rte_eth_dev_release_port(struct rte_eth_dev *eth_dev);
>    *  void
>    */
>   __rte_internal
> -void _rte_eth_dev_reset(struct rte_eth_dev *dev);
> +void rte_eth_dev_internal_reset(struct rte_eth_dev *dev);
>   
>   /**
>    * @internal Executes all the user application registered callbacks for
> @@ -841,7 +841,7 @@ void _rte_eth_dev_reset(struct rte_eth_dev *dev);
>    *  int
>    */
>   __rte_internal
> -int _rte_eth_dev_callback_process(struct rte_eth_dev *dev,
> +int rte_eth_dev_callback_process(struct rte_eth_dev *dev,
>   		enum rte_eth_event_type event, void *ret_param);
>   
>   /**
> diff --git a/lib/librte_ethdev/rte_ethdev_version.map b/lib/librte_ethdev/rte_ethdev_version.map
> index a85986a2a2..b6630dfabe 100644
> --- a/lib/librte_ethdev/rte_ethdev_version.map
> +++ b/lib/librte_ethdev/rte_ethdev_version.map
> @@ -228,17 +228,17 @@ EXPERIMENTAL {
>   INTERNAL {
>   	global:
>   
> -	_rte_eth_dev_callback_process;
> -	_rte_eth_dev_reset;
>   	rte_eth_dev_allocate;
>   	rte_eth_dev_allocated;
>   	rte_eth_dev_attach_secondary;
> +	rte_eth_dev_callback_process;
>   	rte_eth_dev_create;
>   	rte_eth_dev_destroy;
>   	rte_eth_dev_is_rx_hairpin_queue;
>   	rte_eth_dev_is_tx_hairpin_queue;
>   	rte_eth_dev_probing_finish;
>   	rte_eth_dev_release_port;
> +	rte_eth_dev_internal_reset;
>   	rte_eth_devargs_parse;
>   	rte_eth_dma_zone_free;
>   	rte_eth_dma_zone_reserve;


^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH v4 2/7] ethdev: move inline device operations
  2020-09-09 13:01  6%   ` [dpdk-dev] [PATCH v4 2/7] ethdev: move inline device operations Ferruh Yigit
@ 2020-09-10  1:56  0%     ` Sachin Saxena (OSS)
  0 siblings, 0 replies; 200+ results
From: Sachin Saxena (OSS) @ 2020-09-10  1:56 UTC (permalink / raw)
  To: dev, ferruh.yigit

Acked-by: Sachin Saxena<sachin.saxena@oss.nxp.com>



On 09-Sep-20 6:31 PM, Ferruh Yigit wrote:
> This patch is a preparation to hide the 'struct eth_dev_ops' from
> applications by moving some device operations from 'struct eth_dev_ops'
> to 'struct rte_eth_dev'.
>
> Mentioned ethdev APIs are in the data path and implemented as inline
> because of performance reasons.
>
> Exposing 'struct eth_dev_ops' to applications is bad because it is a
> contract between ethdev and PMDs, not really needs to be known by
> applications, also changes in the struct causing ABI breakages which
> shouldn't.
>
> To be able to both keep APIs inline and hide the 'struct eth_dev_ops',
> moving device operations used in ethdev inline APIs to 'struct
> rte_eth_dev' to the same level with Rx/Tx burst functions.
>
> The list of dev_ops moved:
> eth_rx_queue_count_t       rx_queue_count;
> eth_rx_descriptor_done_t   rx_descriptor_done;
> eth_rx_descriptor_status_t rx_descriptor_status;
> eth_tx_descriptor_status_t tx_descriptor_status;
>
> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
> Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com>
> Acked-by: David Marchand <david.marchand@redhat.com>
> ---
> v2:
> * Updated features.rst
> * Tweak assignment order in sfc
>
> Cc: David Marchand <david.marchand@redhat.com>
> v3:
> * ``rx_descriptor_done`` also moved
> * release note updated
> ---
>   doc/guides/nics/features.rst           |  6 +++---
>   doc/guides/rel_notes/release_20_11.rst |  9 +++++++++
>   drivers/net/ark/ark_ethdev.c           |  2 +-
>   drivers/net/atlantic/atl_ethdev.c      |  9 +++++----
>   drivers/net/axgbe/axgbe_ethdev.c       |  5 +++--
>   drivers/net/bnxt/bnxt_ethdev.c         |  6 +++---
>   drivers/net/dpaa/dpaa_ethdev.c         |  2 +-
>   drivers/net/dpaa2/dpaa2_ethdev.c       |  2 +-
>   drivers/net/e1000/em_ethdev.c          |  8 ++++----
>   drivers/net/e1000/igb_ethdev.c         | 14 +++++++-------
>   drivers/net/enic/enic_ethdev.c         |  3 +--
>   drivers/net/fm10k/fm10k_ethdev.c       |  8 ++++----
>   drivers/net/i40e/i40e_ethdev.c         |  8 ++++----
>   drivers/net/i40e/i40e_ethdev_vf.c      |  8 ++++----
>   drivers/net/iavf/iavf_ethdev.c         |  6 +++---
>   drivers/net/ice/ice_ethdev.c           |  6 +++---
>   drivers/net/igc/igc_ethdev.c           |  8 ++++----
>   drivers/net/ixgbe/ixgbe_ethdev.c       | 14 +++++++-------
>   drivers/net/mlx5/linux/mlx5_os.c       | 12 +++++-------
>   drivers/net/mlx5/mlx5_flow.c           |  4 ++++
>   drivers/net/netvsc/hn_ethdev.c         |  6 +++---
>   drivers/net/nfp/nfp_net.c              |  2 +-
>   drivers/net/octeontx2/otx2_ethdev.c    |  8 ++++----
>   drivers/net/qede/qede_ethdev.c         |  3 +--
>   drivers/net/sfc/sfc_ethdev.c           | 16 ++++++++--------
>   drivers/net/thunderx/nicvf_ethdev.c    |  2 +-
>   drivers/net/vhost/rte_eth_vhost.c      |  2 +-
>   drivers/net/virtio/virtio_ethdev.c     |  2 +-
>   lib/librte_ethdev/rte_ethdev.h         | 17 ++++++++---------
>   lib/librte_ethdev/rte_ethdev_core.h    | 13 ++++++-------
>   30 files changed, 110 insertions(+), 101 deletions(-)
>
> diff --git a/doc/guides/nics/features.rst b/doc/guides/nics/features.rst
> index edd21c4d8e..dd8c9555b0 100644
> --- a/doc/guides/nics/features.rst
> +++ b/doc/guides/nics/features.rst
> @@ -646,9 +646,9 @@ used, status can be "Available", "Done" or "Unavailable". When
>   ``rx_descriptor_done`` is used, status can be "DD bit is set" or "DD bit is
>   not set".
>   
> -* **[implements] eth_dev_ops**: ``rx_descriptor_status``.
> +* **[implements] rte_eth_dev**: ``rx_descriptor_status``.
>   * **[related]    API**: ``rte_eth_rx_descriptor_status()``.
> -* **[implements] eth_dev_ops**: ``rx_descriptor_done``.
> +* **[implements] rte_eth_dev**: ``rx_descriptor_done``.
>   * **[related]    API**: ``rte_eth_rx_descriptor_done()``.
>   
>   
> @@ -660,7 +660,7 @@ Tx descriptor status
>   Supports checking the status of a Tx descriptor. Status can be "Full", "Done"
>   or "Unavailable."
>   
> -* **[implements] eth_dev_ops**: ``tx_descriptor_status``.
> +* **[implements] rte_eth_dev**: ``tx_descriptor_status``.
>   * **[related]    API**: ``rte_eth_tx_descriptor_status()``.
>   
>   
> diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
> index a7d57b001d..ff7242012b 100644
> --- a/doc/guides/rel_notes/release_20_11.rst
> +++ b/doc/guides/rel_notes/release_20_11.rst
> @@ -102,6 +102,15 @@ ABI Changes
>      Also, make sure to start the actual text at the margin.
>      =======================================================
>   
> +* ``ethdev`` changes
> +
> +  * Following device operation function pointers moved from ``struct eth_dev_ops`` to ``struct rte_eth_dev``:
> +
> +    * ``eth_rx_queue_count_t       rx_queue_count;``
> +    * ``eth_rx_descriptor_done_t   rx_descriptor_done;``
> +    * ``eth_rx_descriptor_status_t rx_descriptor_status;``
> +    * ``eth_tx_descriptor_status_t tx_descriptor_status;``
> +
>   
>   Known Issues
>   ------------
> diff --git a/drivers/net/ark/ark_ethdev.c b/drivers/net/ark/ark_ethdev.c
> index b32ccd8677..ce7f6e4803 100644
> --- a/drivers/net/ark/ark_ethdev.c
> +++ b/drivers/net/ark/ark_ethdev.c
> @@ -132,7 +132,6 @@ static const struct eth_dev_ops ark_eth_dev_ops = {
>   	.dev_infos_get = eth_ark_dev_info_get,
>   
>   	.rx_queue_setup = eth_ark_dev_rx_queue_setup,
> -	.rx_queue_count = eth_ark_dev_rx_queue_count,
>   	.tx_queue_setup = eth_ark_tx_queue_setup,
>   
>   	.link_update = eth_ark_dev_link_update,
> @@ -318,6 +317,7 @@ eth_ark_dev_init(struct rte_eth_dev *dev)
>   		return -1;
>   
>   	dev->dev_ops = &ark_eth_dev_ops;
> +	dev->rx_queue_count = eth_ark_dev_rx_queue_count;
>   
>   	dev->data->mac_addrs = rte_zmalloc("ark", RTE_ETHER_ADDR_LEN, 0);
>   	if (!dev->data->mac_addrs) {
> diff --git a/drivers/net/atlantic/atl_ethdev.c b/drivers/net/atlantic/atl_ethdev.c
> index d3b00ab295..540b106045 100644
> --- a/drivers/net/atlantic/atl_ethdev.c
> +++ b/drivers/net/atlantic/atl_ethdev.c
> @@ -313,10 +313,6 @@ static const struct eth_dev_ops atl_eth_dev_ops = {
>   	.rx_queue_intr_enable = atl_dev_rx_queue_intr_enable,
>   	.rx_queue_intr_disable = atl_dev_rx_queue_intr_disable,
>   
> -	.rx_queue_count       = atl_rx_queue_count,
> -	.rx_descriptor_status = atl_dev_rx_descriptor_status,
> -	.tx_descriptor_status = atl_dev_tx_descriptor_status,
> -
>   	/* EEPROM */
>   	.get_eeprom_length    = atl_dev_get_eeprom_length,
>   	.get_eeprom           = atl_dev_get_eeprom,
> @@ -373,6 +369,11 @@ eth_atl_dev_init(struct rte_eth_dev *eth_dev)
>   	PMD_INIT_FUNC_TRACE();
>   
>   	eth_dev->dev_ops = &atl_eth_dev_ops;
> +
> +	eth_dev->rx_queue_count       = atl_rx_queue_count;
> +	eth_dev->rx_descriptor_status = atl_dev_rx_descriptor_status;
> +	eth_dev->tx_descriptor_status = atl_dev_tx_descriptor_status;
> +
>   	eth_dev->rx_pkt_burst = &atl_recv_pkts;
>   	eth_dev->tx_pkt_burst = &atl_xmit_pkts;
>   	eth_dev->tx_pkt_prepare = &atl_prep_pkts;
> diff --git a/drivers/net/axgbe/axgbe_ethdev.c b/drivers/net/axgbe/axgbe_ethdev.c
> index 0c25739f82..02ceb95754 100644
> --- a/drivers/net/axgbe/axgbe_ethdev.c
> +++ b/drivers/net/axgbe/axgbe_ethdev.c
> @@ -224,8 +224,6 @@ static const struct eth_dev_ops axgbe_eth_dev_ops = {
>   	.rxq_info_get                 = axgbe_rxq_info_get,
>   	.txq_info_get                 = axgbe_txq_info_get,
>   	.dev_supported_ptypes_get     = axgbe_dev_supported_ptypes_get,
> -	.rx_descriptor_status         = axgbe_dev_rx_descriptor_status,
> -	.tx_descriptor_status         = axgbe_dev_tx_descriptor_status,
>   	.mtu_set		= axgb_mtu_set,
>   };
>   
> @@ -1632,6 +1630,9 @@ eth_axgbe_dev_init(struct rte_eth_dev *eth_dev)
>   
>   	eth_dev->dev_ops = &axgbe_eth_dev_ops;
>   
> +	eth_dev->rx_descriptor_status = axgbe_dev_rx_descriptor_status;
> +	eth_dev->tx_descriptor_status = axgbe_dev_tx_descriptor_status;
> +
>   	/*
>   	 * For secondary processes, we don't initialise any further as primary
>   	 * has already done this work.
> diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
> index 75d055be00..4d224bfa04 100644
> --- a/drivers/net/bnxt/bnxt_ethdev.c
> +++ b/drivers/net/bnxt/bnxt_ethdev.c
> @@ -4246,9 +4246,6 @@ static const struct eth_dev_ops bnxt_dev_ops = {
>   	.dev_led_off = bnxt_dev_led_off_op,
>   	.xstats_get_by_id = bnxt_dev_xstats_get_by_id_op,
>   	.xstats_get_names_by_id = bnxt_dev_xstats_get_names_by_id_op,
> -	.rx_queue_count = bnxt_rx_queue_count_op,
> -	.rx_descriptor_status = bnxt_rx_descriptor_status_op,
> -	.tx_descriptor_status = bnxt_tx_descriptor_status_op,
>   	.rx_queue_start = bnxt_rx_queue_start,
>   	.rx_queue_stop = bnxt_rx_queue_stop,
>   	.tx_queue_start = bnxt_tx_queue_start,
> @@ -5681,6 +5678,9 @@ bnxt_dev_init(struct rte_eth_dev *eth_dev, void *params __rte_unused)
>   		PMD_DRV_LOG(INFO, "%s\n", bnxt_version);
>   
>   	eth_dev->dev_ops = &bnxt_dev_ops;
> +	eth_dev->rx_queue_count = bnxt_rx_queue_count_op;
> +	eth_dev->rx_descriptor_status = bnxt_rx_descriptor_status_op;
> +	eth_dev->tx_descriptor_status = bnxt_tx_descriptor_status_op;
>   	eth_dev->rx_pkt_burst = &bnxt_recv_pkts;
>   	eth_dev->tx_pkt_burst = &bnxt_xmit_pkts;
>   
> diff --git a/drivers/net/dpaa/dpaa_ethdev.c b/drivers/net/dpaa/dpaa_ethdev.c
> index b0f2023e60..e2c3fd0368 100644
> --- a/drivers/net/dpaa/dpaa_ethdev.c
> +++ b/drivers/net/dpaa/dpaa_ethdev.c
> @@ -1421,7 +1421,6 @@ static struct eth_dev_ops dpaa_devops = {
>   	.tx_queue_setup		  = dpaa_eth_tx_queue_setup,
>   	.rx_queue_release	  = dpaa_eth_rx_queue_release,
>   	.tx_queue_release	  = dpaa_eth_tx_queue_release,
> -	.rx_queue_count		  = dpaa_dev_rx_queue_count,
>   	.rx_burst_mode_get	  = dpaa_dev_rx_burst_mode_get,
>   	.tx_burst_mode_get	  = dpaa_dev_tx_burst_mode_get,
>   	.rxq_info_get		  = dpaa_rxq_info_get,
> @@ -1917,6 +1916,7 @@ dpaa_dev_init(struct rte_eth_dev *eth_dev)
>   
>   	/* Populate ethdev structure */
>   	eth_dev->dev_ops = &dpaa_devops;
> +	eth_dev->rx_queue_count = dpaa_dev_rx_queue_count;
>   	eth_dev->rx_pkt_burst = dpaa_eth_queue_rx;
>   	eth_dev->tx_pkt_burst = dpaa_eth_tx_drop_all;
>   
> diff --git a/drivers/net/dpaa2/dpaa2_ethdev.c b/drivers/net/dpaa2/dpaa2_ethdev.c
> index 02c254846c..38cf0ab71c 100644
> --- a/drivers/net/dpaa2/dpaa2_ethdev.c
> +++ b/drivers/net/dpaa2/dpaa2_ethdev.c
> @@ -2331,7 +2331,6 @@ static struct eth_dev_ops dpaa2_ethdev_ops = {
>   	.tx_queue_release  = dpaa2_dev_tx_queue_release,
>   	.rx_burst_mode_get = dpaa2_dev_rx_burst_mode_get,
>   	.tx_burst_mode_get = dpaa2_dev_tx_burst_mode_get,
> -	.rx_queue_count       = dpaa2_dev_rx_queue_count,
>   	.flow_ctrl_get	      = dpaa2_flow_ctrl_get,
>   	.flow_ctrl_set	      = dpaa2_flow_ctrl_set,
>   	.mac_addr_add         = dpaa2_dev_add_mac_addr,
> @@ -2486,6 +2485,7 @@ dpaa2_dev_init(struct rte_eth_dev *eth_dev)
>   		 * plugged.
>   		 */
>   		eth_dev->dev_ops = &dpaa2_ethdev_ops;
> +		eth_dev->rx_queue_count = dpaa2_dev_rx_queue_count;
>   		if (dpaa2_get_devargs(dev->devargs, DRIVER_LOOPBACK_MODE))
>   			eth_dev->rx_pkt_burst = dpaa2_dev_loopback_rx;
>   		else if (dpaa2_get_devargs(dev->devargs,
> diff --git a/drivers/net/e1000/em_ethdev.c b/drivers/net/e1000/em_ethdev.c
> index 902b1cdca0..82766da882 100644
> --- a/drivers/net/e1000/em_ethdev.c
> +++ b/drivers/net/e1000/em_ethdev.c
> @@ -176,10 +176,6 @@ static const struct eth_dev_ops eth_em_ops = {
>   	.vlan_offload_set     = eth_em_vlan_offload_set,
>   	.rx_queue_setup       = eth_em_rx_queue_setup,
>   	.rx_queue_release     = eth_em_rx_queue_release,
> -	.rx_queue_count       = eth_em_rx_queue_count,
> -	.rx_descriptor_done   = eth_em_rx_descriptor_done,
> -	.rx_descriptor_status = eth_em_rx_descriptor_status,
> -	.tx_descriptor_status = eth_em_tx_descriptor_status,
>   	.tx_queue_setup       = eth_em_tx_queue_setup,
>   	.tx_queue_release     = eth_em_tx_queue_release,
>   	.rx_queue_intr_enable = eth_em_rx_queue_intr_enable,
> @@ -250,6 +246,10 @@ eth_em_dev_init(struct rte_eth_dev *eth_dev)
>   		E1000_DEV_PRIVATE_TO_VFTA(eth_dev->data->dev_private);
>   
>   	eth_dev->dev_ops = &eth_em_ops;
> +	eth_dev->rx_queue_count = eth_em_rx_queue_count;
> +	eth_dev->rx_descriptor_done   = eth_em_rx_descriptor_done;
> +	eth_dev->rx_descriptor_status = eth_em_rx_descriptor_status;
> +	eth_dev->tx_descriptor_status = eth_em_tx_descriptor_status;
>   	eth_dev->rx_pkt_burst = (eth_rx_burst_t)&eth_em_recv_pkts;
>   	eth_dev->tx_pkt_burst = (eth_tx_burst_t)&eth_em_xmit_pkts;
>   	eth_dev->tx_pkt_prepare = (eth_tx_prep_t)&eth_em_prep_pkts;
> diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c
> index a5551e8175..fe0cea88c2 100644
> --- a/drivers/net/e1000/igb_ethdev.c
> +++ b/drivers/net/e1000/igb_ethdev.c
> @@ -380,10 +380,6 @@ static const struct eth_dev_ops eth_igb_ops = {
>   	.rx_queue_intr_enable = eth_igb_rx_queue_intr_enable,
>   	.rx_queue_intr_disable = eth_igb_rx_queue_intr_disable,
>   	.rx_queue_release     = eth_igb_rx_queue_release,
> -	.rx_queue_count       = eth_igb_rx_queue_count,
> -	.rx_descriptor_done   = eth_igb_rx_descriptor_done,
> -	.rx_descriptor_status = eth_igb_rx_descriptor_status,
> -	.tx_descriptor_status = eth_igb_tx_descriptor_status,
>   	.tx_queue_setup       = eth_igb_tx_queue_setup,
>   	.tx_queue_release     = eth_igb_tx_queue_release,
>   	.tx_done_cleanup      = eth_igb_tx_done_cleanup,
> @@ -441,9 +437,6 @@ static const struct eth_dev_ops igbvf_eth_dev_ops = {
>   	.dev_supported_ptypes_get = eth_igb_supported_ptypes_get,
>   	.rx_queue_setup       = eth_igb_rx_queue_setup,
>   	.rx_queue_release     = eth_igb_rx_queue_release,
> -	.rx_descriptor_done   = eth_igb_rx_descriptor_done,
> -	.rx_descriptor_status = eth_igb_rx_descriptor_status,
> -	.tx_descriptor_status = eth_igb_tx_descriptor_status,
>   	.tx_queue_setup       = eth_igb_tx_queue_setup,
>   	.tx_queue_release     = eth_igb_tx_queue_release,
>   	.tx_done_cleanup      = eth_igb_tx_done_cleanup,
> @@ -754,6 +747,10 @@ eth_igb_dev_init(struct rte_eth_dev *eth_dev)
>   	uint32_t ctrl_ext;
>   
>   	eth_dev->dev_ops = &eth_igb_ops;
> +	eth_dev->rx_queue_count = eth_igb_rx_queue_count;
> +	eth_dev->rx_descriptor_done   = eth_igb_rx_descriptor_done;
> +	eth_dev->rx_descriptor_status = eth_igb_rx_descriptor_status;
> +	eth_dev->tx_descriptor_status = eth_igb_tx_descriptor_status;
>   	eth_dev->rx_pkt_burst = &eth_igb_recv_pkts;
>   	eth_dev->tx_pkt_burst = &eth_igb_xmit_pkts;
>   	eth_dev->tx_pkt_prepare = &eth_igb_prep_pkts;
> @@ -949,6 +946,9 @@ eth_igbvf_dev_init(struct rte_eth_dev *eth_dev)
>   	PMD_INIT_FUNC_TRACE();
>   
>   	eth_dev->dev_ops = &igbvf_eth_dev_ops;
> +	eth_dev->rx_descriptor_done   = eth_igb_rx_descriptor_done;
> +	eth_dev->rx_descriptor_status = eth_igb_rx_descriptor_status;
> +	eth_dev->tx_descriptor_status = eth_igb_tx_descriptor_status;
>   	eth_dev->rx_pkt_burst = &eth_igb_recv_pkts;
>   	eth_dev->tx_pkt_burst = &eth_igb_xmit_pkts;
>   	eth_dev->tx_pkt_prepare = &eth_igb_prep_pkts;
> diff --git a/drivers/net/enic/enic_ethdev.c b/drivers/net/enic/enic_ethdev.c
> index ca75919ee2..2cffa3aa2d 100644
> --- a/drivers/net/enic/enic_ethdev.c
> +++ b/drivers/net/enic/enic_ethdev.c
> @@ -1141,8 +1141,6 @@ static const struct eth_dev_ops enicpmd_eth_dev_ops = {
>   	.tx_queue_stop        = enicpmd_dev_tx_queue_stop,
>   	.rx_queue_setup       = enicpmd_dev_rx_queue_setup,
>   	.rx_queue_release     = enicpmd_dev_rx_queue_release,
> -	.rx_queue_count       = enicpmd_dev_rx_queue_count,
> -	.rx_descriptor_done   = NULL,
>   	.tx_queue_setup       = enicpmd_dev_tx_queue_setup,
>   	.tx_queue_release     = enicpmd_dev_tx_queue_release,
>   	.rx_queue_intr_enable = enicpmd_dev_rx_queue_intr_enable,
> @@ -1279,6 +1277,7 @@ static int eth_enicpmd_dev_init(struct rte_eth_dev *eth_dev)
>   	ENICPMD_FUNC_TRACE();
>   
>   	eth_dev->dev_ops = &enicpmd_eth_dev_ops;
> +	eth_dev->rx_queue_count = enicpmd_dev_rx_queue_count;
>   	eth_dev->rx_pkt_burst = &enic_recv_pkts;
>   	eth_dev->tx_pkt_burst = &enic_xmit_pkts;
>   	eth_dev->tx_pkt_prepare = &enic_prep_pkts;
> diff --git a/drivers/net/fm10k/fm10k_ethdev.c b/drivers/net/fm10k/fm10k_ethdev.c
> index fd927923da..e6043e1455 100644
> --- a/drivers/net/fm10k/fm10k_ethdev.c
> +++ b/drivers/net/fm10k/fm10k_ethdev.c
> @@ -2855,10 +2855,6 @@ static const struct eth_dev_ops fm10k_eth_dev_ops = {
>   	.rx_queue_release	= fm10k_rx_queue_release,
>   	.tx_queue_setup		= fm10k_tx_queue_setup,
>   	.tx_queue_release	= fm10k_tx_queue_release,
> -	.rx_queue_count		= fm10k_dev_rx_queue_count,
> -	.rx_descriptor_done	= fm10k_dev_rx_descriptor_done,
> -	.rx_descriptor_status = fm10k_dev_rx_descriptor_status,
> -	.tx_descriptor_status = fm10k_dev_tx_descriptor_status,
>   	.rx_queue_intr_enable	= fm10k_dev_rx_queue_intr_enable,
>   	.rx_queue_intr_disable	= fm10k_dev_rx_queue_intr_disable,
>   	.reta_update		= fm10k_reta_update,
> @@ -3055,6 +3051,10 @@ eth_fm10k_dev_init(struct rte_eth_dev *dev)
>   	PMD_INIT_FUNC_TRACE();
>   
>   	dev->dev_ops = &fm10k_eth_dev_ops;
> +	dev->rx_queue_count = fm10k_dev_rx_queue_count;
> +	dev->rx_descriptor_done	= fm10k_dev_rx_descriptor_done;
> +	dev->rx_descriptor_status = fm10k_dev_rx_descriptor_status;
> +	dev->tx_descriptor_status = fm10k_dev_tx_descriptor_status;
>   	dev->rx_pkt_burst = &fm10k_recv_pkts;
>   	dev->tx_pkt_burst = &fm10k_xmit_pkts;
>   	dev->tx_pkt_prepare = &fm10k_prep_pkts;
> diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
> index 841447228a..80efd06cd9 100644
> --- a/drivers/net/i40e/i40e_ethdev.c
> +++ b/drivers/net/i40e/i40e_ethdev.c
> @@ -474,10 +474,6 @@ static const struct eth_dev_ops i40e_eth_dev_ops = {
>   	.rx_queue_intr_enable         = i40e_dev_rx_queue_intr_enable,
>   	.rx_queue_intr_disable        = i40e_dev_rx_queue_intr_disable,
>   	.rx_queue_release             = i40e_dev_rx_queue_release,
> -	.rx_queue_count               = i40e_dev_rx_queue_count,
> -	.rx_descriptor_done           = i40e_dev_rx_descriptor_done,
> -	.rx_descriptor_status         = i40e_dev_rx_descriptor_status,
> -	.tx_descriptor_status         = i40e_dev_tx_descriptor_status,
>   	.tx_queue_setup               = i40e_dev_tx_queue_setup,
>   	.tx_queue_release             = i40e_dev_tx_queue_release,
>   	.dev_led_on                   = i40e_dev_led_on,
> @@ -1448,6 +1444,10 @@ eth_i40e_dev_init(struct rte_eth_dev *dev, void *init_params __rte_unused)
>   	PMD_INIT_FUNC_TRACE();
>   
>   	dev->dev_ops = &i40e_eth_dev_ops;
> +	dev->rx_queue_count = i40e_dev_rx_queue_count;
> +	dev->rx_descriptor_done = i40e_dev_rx_descriptor_done;
> +	dev->rx_descriptor_status = i40e_dev_rx_descriptor_status;
> +	dev->tx_descriptor_status = i40e_dev_tx_descriptor_status;
>   	dev->rx_pkt_burst = i40e_recv_pkts;
>   	dev->tx_pkt_burst = i40e_xmit_pkts;
>   	dev->tx_pkt_prepare = i40e_prep_pkts;
> diff --git a/drivers/net/i40e/i40e_ethdev_vf.c b/drivers/net/i40e/i40e_ethdev_vf.c
> index b755350cd2..be4b28fa45 100644
> --- a/drivers/net/i40e/i40e_ethdev_vf.c
> +++ b/drivers/net/i40e/i40e_ethdev_vf.c
> @@ -199,12 +199,8 @@ static const struct eth_dev_ops i40evf_eth_dev_ops = {
>   	.rx_queue_release     = i40e_dev_rx_queue_release,
>   	.rx_queue_intr_enable = i40evf_dev_rx_queue_intr_enable,
>   	.rx_queue_intr_disable = i40evf_dev_rx_queue_intr_disable,
> -	.rx_descriptor_done   = i40e_dev_rx_descriptor_done,
> -	.rx_descriptor_status = i40e_dev_rx_descriptor_status,
> -	.tx_descriptor_status = i40e_dev_tx_descriptor_status,
>   	.tx_queue_setup       = i40e_dev_tx_queue_setup,
>   	.tx_queue_release     = i40e_dev_tx_queue_release,
> -	.rx_queue_count       = i40e_dev_rx_queue_count,
>   	.rxq_info_get         = i40e_rxq_info_get,
>   	.txq_info_get         = i40e_txq_info_get,
>   	.mac_addr_add	      = i40evf_add_mac_addr,
> @@ -1561,6 +1557,10 @@ i40evf_dev_init(struct rte_eth_dev *eth_dev)
>   
>   	/* assign ops func pointer */
>   	eth_dev->dev_ops = &i40evf_eth_dev_ops;
> +	eth_dev->rx_queue_count       = i40e_dev_rx_queue_count;
> +	eth_dev->rx_descriptor_done   = i40e_dev_rx_descriptor_done;
> +	eth_dev->rx_descriptor_status = i40e_dev_rx_descriptor_status;
> +	eth_dev->tx_descriptor_status = i40e_dev_tx_descriptor_status;
>   	eth_dev->rx_pkt_burst = &i40e_recv_pkts;
>   	eth_dev->tx_pkt_burst = &i40e_xmit_pkts;
>   
> diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c
> index 8e1d8a8d3e..e1ff38e8be 100644
> --- a/drivers/net/iavf/iavf_ethdev.c
> +++ b/drivers/net/iavf/iavf_ethdev.c
> @@ -117,9 +117,6 @@ static const struct eth_dev_ops iavf_eth_dev_ops = {
>   	.rss_hash_conf_get          = iavf_dev_rss_hash_conf_get,
>   	.rxq_info_get               = iavf_dev_rxq_info_get,
>   	.txq_info_get               = iavf_dev_txq_info_get,
> -	.rx_queue_count             = iavf_dev_rxq_count,
> -	.rx_descriptor_status       = iavf_dev_rx_desc_status,
> -	.tx_descriptor_status       = iavf_dev_tx_desc_status,
>   	.mtu_set                    = iavf_dev_mtu_set,
>   	.rx_queue_intr_enable       = iavf_dev_rx_queue_intr_enable,
>   	.rx_queue_intr_disable      = iavf_dev_rx_queue_intr_disable,
> @@ -1383,6 +1380,9 @@ iavf_dev_init(struct rte_eth_dev *eth_dev)
>   
>   	/* assign ops func pointer */
>   	eth_dev->dev_ops = &iavf_eth_dev_ops;
> +	eth_dev->rx_queue_count = iavf_dev_rxq_count;
> +	eth_dev->rx_descriptor_status = iavf_dev_rx_desc_status;
> +	eth_dev->tx_descriptor_status = iavf_dev_tx_desc_status;
>   	eth_dev->rx_pkt_burst = &iavf_recv_pkts;
>   	eth_dev->tx_pkt_burst = &iavf_xmit_pkts;
>   	eth_dev->tx_pkt_prepare = &iavf_prep_pkts;
> diff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c
> index c5dac2e328..c8b16c7f87 100644
> --- a/drivers/net/ice/ice_ethdev.c
> +++ b/drivers/net/ice/ice_ethdev.c
> @@ -205,9 +205,6 @@ static const struct eth_dev_ops ice_eth_dev_ops = {
>   	.tx_burst_mode_get            = ice_tx_burst_mode_get,
>   	.get_eeprom_length            = ice_get_eeprom_length,
>   	.get_eeprom                   = ice_get_eeprom,
> -	.rx_queue_count               = ice_rx_queue_count,
> -	.rx_descriptor_status         = ice_rx_descriptor_status,
> -	.tx_descriptor_status         = ice_tx_descriptor_status,
>   	.stats_get                    = ice_stats_get,
>   	.stats_reset                  = ice_stats_reset,
>   	.xstats_get                   = ice_xstats_get,
> @@ -2163,6 +2160,9 @@ ice_dev_init(struct rte_eth_dev *dev)
>   	int ret;
>   
>   	dev->dev_ops = &ice_eth_dev_ops;
> +	dev->rx_queue_count = ice_rx_queue_count;
> +	dev->rx_descriptor_status = ice_rx_descriptor_status;
> +	dev->tx_descriptor_status = ice_tx_descriptor_status;
>   	dev->rx_pkt_burst = ice_recv_pkts;
>   	dev->tx_pkt_burst = ice_xmit_pkts;
>   	dev->tx_pkt_prepare = ice_prep_pkts;
> diff --git a/drivers/net/igc/igc_ethdev.c b/drivers/net/igc/igc_ethdev.c
> index 6ab3ee909d..aa37c11861 100644
> --- a/drivers/net/igc/igc_ethdev.c
> +++ b/drivers/net/igc/igc_ethdev.c
> @@ -272,10 +272,6 @@ static const struct eth_dev_ops eth_igc_ops = {
>   
>   	.rx_queue_setup		= eth_igc_rx_queue_setup,
>   	.rx_queue_release	= eth_igc_rx_queue_release,
> -	.rx_queue_count		= eth_igc_rx_queue_count,
> -	.rx_descriptor_done	= eth_igc_rx_descriptor_done,
> -	.rx_descriptor_status	= eth_igc_rx_descriptor_status,
> -	.tx_descriptor_status	= eth_igc_tx_descriptor_status,
>   	.tx_queue_setup		= eth_igc_tx_queue_setup,
>   	.tx_queue_release	= eth_igc_tx_queue_release,
>   	.tx_done_cleanup	= eth_igc_tx_done_cleanup,
> @@ -1227,6 +1223,10 @@ eth_igc_dev_init(struct rte_eth_dev *dev)
>   
>   	PMD_INIT_FUNC_TRACE();
>   	dev->dev_ops = &eth_igc_ops;
> +	dev->rx_descriptor_done	= eth_igc_rx_descriptor_done;
> +	dev->rx_queue_count = eth_igc_rx_queue_count;
> +	dev->rx_descriptor_status = eth_igc_rx_descriptor_status;
> +	dev->tx_descriptor_status = eth_igc_tx_descriptor_status;
>   
>   	/*
>   	 * for secondary processes, we don't initialize any further as primary
> diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
> index d9582473a4..337ce90fbf 100644
> --- a/drivers/net/ixgbe/ixgbe_ethdev.c
> +++ b/drivers/net/ixgbe/ixgbe_ethdev.c
> @@ -545,10 +545,6 @@ static const struct eth_dev_ops ixgbe_eth_dev_ops = {
>   	.rx_queue_intr_enable = ixgbe_dev_rx_queue_intr_enable,
>   	.rx_queue_intr_disable = ixgbe_dev_rx_queue_intr_disable,
>   	.rx_queue_release     = ixgbe_dev_rx_queue_release,
> -	.rx_queue_count       = ixgbe_dev_rx_queue_count,
> -	.rx_descriptor_done   = ixgbe_dev_rx_descriptor_done,
> -	.rx_descriptor_status = ixgbe_dev_rx_descriptor_status,
> -	.tx_descriptor_status = ixgbe_dev_tx_descriptor_status,
>   	.tx_queue_setup       = ixgbe_dev_tx_queue_setup,
>   	.tx_queue_release     = ixgbe_dev_tx_queue_release,
>   	.dev_led_on           = ixgbe_dev_led_on,
> @@ -622,9 +618,6 @@ static const struct eth_dev_ops ixgbevf_eth_dev_ops = {
>   	.vlan_offload_set     = ixgbevf_vlan_offload_set,
>   	.rx_queue_setup       = ixgbe_dev_rx_queue_setup,
>   	.rx_queue_release     = ixgbe_dev_rx_queue_release,
> -	.rx_descriptor_done   = ixgbe_dev_rx_descriptor_done,
> -	.rx_descriptor_status = ixgbe_dev_rx_descriptor_status,
> -	.tx_descriptor_status = ixgbe_dev_tx_descriptor_status,
>   	.tx_queue_setup       = ixgbe_dev_tx_queue_setup,
>   	.tx_queue_release     = ixgbe_dev_tx_queue_release,
>   	.rx_queue_intr_enable = ixgbevf_dev_rx_queue_intr_enable,
> @@ -1091,6 +1084,10 @@ eth_ixgbe_dev_init(struct rte_eth_dev *eth_dev, void *init_params __rte_unused)
>   	ixgbe_dev_macsec_setting_reset(eth_dev);
>   
>   	eth_dev->dev_ops = &ixgbe_eth_dev_ops;
> +	eth_dev->rx_queue_count       = ixgbe_dev_rx_queue_count;
> +	eth_dev->rx_descriptor_done   = ixgbe_dev_rx_descriptor_done;
> +	eth_dev->rx_descriptor_status = ixgbe_dev_rx_descriptor_status;
> +	eth_dev->tx_descriptor_status = ixgbe_dev_tx_descriptor_status;
>   	eth_dev->rx_pkt_burst = &ixgbe_recv_pkts;
>   	eth_dev->tx_pkt_burst = &ixgbe_xmit_pkts;
>   	eth_dev->tx_pkt_prepare = &ixgbe_prep_pkts;
> @@ -1570,6 +1567,9 @@ eth_ixgbevf_dev_init(struct rte_eth_dev *eth_dev)
>   	PMD_INIT_FUNC_TRACE();
>   
>   	eth_dev->dev_ops = &ixgbevf_eth_dev_ops;
> +	eth_dev->rx_descriptor_done   = ixgbe_dev_rx_descriptor_done;
> +	eth_dev->rx_descriptor_status = ixgbe_dev_rx_descriptor_status;
> +	eth_dev->tx_descriptor_status = ixgbe_dev_tx_descriptor_status;
>   	eth_dev->rx_pkt_burst = &ixgbe_recv_pkts;
>   	eth_dev->tx_pkt_burst = &ixgbe_xmit_pkts;
>   
> diff --git a/drivers/net/mlx5/linux/mlx5_os.c b/drivers/net/mlx5/linux/mlx5_os.c
> index bf1f82ba67..ec3cc4000e 100644
> --- a/drivers/net/mlx5/linux/mlx5_os.c
> +++ b/drivers/net/mlx5/linux/mlx5_os.c
> @@ -601,6 +601,8 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev,
>   		}
>   		eth_dev->device = dpdk_dev;
>   		eth_dev->dev_ops = &mlx5_os_dev_sec_ops;
> +		eth_dev->rx_descriptor_status = mlx5_rx_descriptor_status;
> +		eth_dev->tx_descriptor_status = mlx5_tx_descriptor_status;
>   		err = mlx5_proc_priv_init(eth_dev);
>   		if (err)
>   			return NULL;
> @@ -1208,6 +1210,9 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev,
>   	eth_dev->rx_pkt_burst = removed_rx_burst;
>   	eth_dev->tx_pkt_burst = removed_tx_burst;
>   	eth_dev->dev_ops = &mlx5_os_dev_ops;
> +	eth_dev->rx_descriptor_status = mlx5_rx_descriptor_status;
> +	eth_dev->tx_descriptor_status = mlx5_tx_descriptor_status;
> +	eth_dev->rx_queue_count = mlx5_rx_queue_count;
>   	/* Register MAC address. */
>   	claim_zero(mlx5_mac_addr_add(eth_dev, &mac, 0, 0));
>   	if (config->vf && config->vf_nl_en)
> @@ -2396,13 +2401,10 @@ const struct eth_dev_ops mlx5_os_dev_ops = {
>   	.rss_hash_update = mlx5_rss_hash_update,
>   	.rss_hash_conf_get = mlx5_rss_hash_conf_get,
>   	.filter_ctrl = mlx5_dev_filter_ctrl,
> -	.rx_descriptor_status = mlx5_rx_descriptor_status,
> -	.tx_descriptor_status = mlx5_tx_descriptor_status,
>   	.rxq_info_get = mlx5_rxq_info_get,
>   	.txq_info_get = mlx5_txq_info_get,
>   	.rx_burst_mode_get = mlx5_rx_burst_mode_get,
>   	.tx_burst_mode_get = mlx5_tx_burst_mode_get,
> -	.rx_queue_count = mlx5_rx_queue_count,
>   	.rx_queue_intr_enable = mlx5_rx_intr_enable,
>   	.rx_queue_intr_disable = mlx5_rx_intr_disable,
>   	.is_removed = mlx5_is_removed,
> @@ -2427,8 +2429,6 @@ const struct eth_dev_ops mlx5_os_dev_sec_ops = {
>   	.rx_queue_stop = mlx5_rx_queue_stop,
>   	.tx_queue_start = mlx5_tx_queue_start,
>   	.tx_queue_stop = mlx5_tx_queue_stop,
> -	.rx_descriptor_status = mlx5_rx_descriptor_status,
> -	.tx_descriptor_status = mlx5_tx_descriptor_status,
>   	.rxq_info_get = mlx5_rxq_info_get,
>   	.txq_info_get = mlx5_txq_info_get,
>   	.rx_burst_mode_get = mlx5_rx_burst_mode_get,
> @@ -2480,8 +2480,6 @@ const struct eth_dev_ops mlx5_os_dev_ops_isolate = {
>   	.vlan_strip_queue_set = mlx5_vlan_strip_queue_set,
>   	.vlan_offload_set = mlx5_vlan_offload_set,
>   	.filter_ctrl = mlx5_dev_filter_ctrl,
> -	.rx_descriptor_status = mlx5_rx_descriptor_status,
> -	.tx_descriptor_status = mlx5_tx_descriptor_status,
>   	.rxq_info_get = mlx5_rxq_info_get,
>   	.txq_info_get = mlx5_txq_info_get,
>   	.rx_burst_mode_get = mlx5_rx_burst_mode_get,
> diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
> index 4c29898203..eb55bd7f99 100644
> --- a/drivers/net/mlx5/mlx5_flow.c
> +++ b/drivers/net/mlx5/mlx5_flow.c
> @@ -5138,6 +5138,10 @@ mlx5_flow_isolate(struct rte_eth_dev *dev,
>   		dev->dev_ops = &mlx5_os_dev_ops_isolate;
>   	else
>   		dev->dev_ops = &mlx5_os_dev_ops;
> +
> +	dev->rx_descriptor_status = mlx5_rx_descriptor_status;
> +	dev->tx_descriptor_status = mlx5_tx_descriptor_status;
> +
>   	return 0;
>   }
>   
> diff --git a/drivers/net/netvsc/hn_ethdev.c b/drivers/net/netvsc/hn_ethdev.c
> index fd91c0e491..229c1b9149 100644
> --- a/drivers/net/netvsc/hn_ethdev.c
> +++ b/drivers/net/netvsc/hn_ethdev.c
> @@ -871,11 +871,8 @@ static const struct eth_dev_ops hn_eth_dev_ops = {
>   	.tx_queue_setup		= hn_dev_tx_queue_setup,
>   	.tx_queue_release	= hn_dev_tx_queue_release,
>   	.tx_done_cleanup        = hn_dev_tx_done_cleanup,
> -	.tx_descriptor_status	= hn_dev_tx_descriptor_status,
>   	.rx_queue_setup		= hn_dev_rx_queue_setup,
>   	.rx_queue_release	= hn_dev_rx_queue_release,
> -	.rx_queue_count		= hn_dev_rx_queue_count,
> -	.rx_descriptor_status   = hn_dev_rx_queue_status,
>   	.link_update		= hn_dev_link_update,
>   	.stats_get		= hn_dev_stats_get,
>   	.stats_reset            = hn_dev_stats_reset,
> @@ -936,6 +933,9 @@ eth_hn_dev_init(struct rte_eth_dev *eth_dev)
>   
>   	vmbus = container_of(device, struct rte_vmbus_device, device);
>   	eth_dev->dev_ops = &hn_eth_dev_ops;
> +	eth_dev->rx_queue_count = hn_dev_rx_queue_count;
> +	eth_dev->rx_descriptor_status = hn_dev_rx_queue_status;
> +	eth_dev->tx_descriptor_status = hn_dev_tx_descriptor_status;
>   	eth_dev->tx_pkt_burst = &hn_xmit_pkts;
>   	eth_dev->rx_pkt_burst = &hn_recv_pkts;
>   
> diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c
> index 99946279db..c556dedab6 100644
> --- a/drivers/net/nfp/nfp_net.c
> +++ b/drivers/net/nfp/nfp_net.c
> @@ -2701,7 +2701,6 @@ static const struct eth_dev_ops nfp_net_eth_dev_ops = {
>   	.rss_hash_conf_get	= nfp_net_rss_hash_conf_get,
>   	.rx_queue_setup		= nfp_net_rx_queue_setup,
>   	.rx_queue_release	= nfp_net_rx_queue_release,
> -	.rx_queue_count		= nfp_net_rx_queue_count,
>   	.tx_queue_setup		= nfp_net_tx_queue_setup,
>   	.tx_queue_release	= nfp_net_tx_queue_release,
>   	.rx_queue_intr_enable   = nfp_rx_queue_intr_enable,
> @@ -2785,6 +2784,7 @@ nfp_net_init(struct rte_eth_dev *eth_dev)
>   	}
>   
>   	eth_dev->dev_ops = &nfp_net_eth_dev_ops;
> +	eth_dev->rx_queue_count = nfp_net_rx_queue_count;
>   	eth_dev->rx_pkt_burst = &nfp_net_recv_pkts;
>   	eth_dev->tx_pkt_burst = &nfp_net_xmit_pkts;
>   
> diff --git a/drivers/net/octeontx2/otx2_ethdev.c b/drivers/net/octeontx2/otx2_ethdev.c
> index 33b72bd4db..c06e32f26b 100644
> --- a/drivers/net/octeontx2/otx2_ethdev.c
> +++ b/drivers/net/octeontx2/otx2_ethdev.c
> @@ -2272,10 +2272,6 @@ static const struct eth_dev_ops otx2_eth_dev_ops = {
>   	.txq_info_get             = otx2_nix_txq_info_get,
>   	.rx_burst_mode_get        = otx2_rx_burst_mode_get,
>   	.tx_burst_mode_get        = otx2_tx_burst_mode_get,
> -	.rx_queue_count           = otx2_nix_rx_queue_count,
> -	.rx_descriptor_done       = otx2_nix_rx_descriptor_done,
> -	.rx_descriptor_status     = otx2_nix_rx_descriptor_status,
> -	.tx_descriptor_status     = otx2_nix_tx_descriptor_status,
>   	.tx_done_cleanup          = otx2_nix_tx_done_cleanup,
>   	.set_queue_rate_limit     = otx2_nix_tm_set_queue_rate_limit,
>   	.pool_ops_supported       = otx2_nix_pool_ops_supported,
> @@ -2382,6 +2378,10 @@ otx2_eth_dev_init(struct rte_eth_dev *eth_dev)
>   	int rc, max_entries;
>   
>   	eth_dev->dev_ops = &otx2_eth_dev_ops;
> +	eth_dev->rx_descriptor_done = otx2_nix_rx_descriptor_done;
> +	eth_dev->rx_queue_count = otx2_nix_rx_queue_count;
> +	eth_dev->rx_descriptor_status = otx2_nix_rx_descriptor_status;
> +	eth_dev->tx_descriptor_status = otx2_nix_tx_descriptor_status;
>   
>   	/* For secondary processes, the primary has done all the work */
>   	if (rte_eal_process_type() != RTE_PROC_PRIMARY) {
> diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c
> index 70d48e48ef..59f1746ee9 100644
> --- a/drivers/net/qede/qede_ethdev.c
> +++ b/drivers/net/qede/qede_ethdev.c
> @@ -2386,7 +2386,6 @@ static const struct eth_dev_ops qede_eth_dev_ops = {
>   	.dev_infos_get = qede_dev_info_get,
>   	.rx_queue_setup = qede_rx_queue_setup,
>   	.rx_queue_release = qede_rx_queue_release,
> -	.rx_descriptor_status = qede_rx_descriptor_status,
>   	.tx_queue_setup = qede_tx_queue_setup,
>   	.tx_queue_release = qede_tx_queue_release,
>   	.dev_start = qede_dev_start,
> @@ -2431,7 +2430,6 @@ static const struct eth_dev_ops qede_eth_vf_dev_ops = {
>   	.dev_infos_get = qede_dev_info_get,
>   	.rx_queue_setup = qede_rx_queue_setup,
>   	.rx_queue_release = qede_rx_queue_release,
> -	.rx_descriptor_status = qede_rx_descriptor_status,
>   	.tx_queue_setup = qede_tx_queue_setup,
>   	.tx_queue_release = qede_tx_queue_release,
>   	.dev_start = qede_dev_start,
> @@ -2670,6 +2668,7 @@ static int qede_common_dev_init(struct rte_eth_dev *eth_dev, bool is_vf)
>   	}
>   
>   	eth_dev->dev_ops = (is_vf) ? &qede_eth_vf_dev_ops : &qede_eth_dev_ops;
> +	eth_dev->rx_descriptor_status = qede_rx_descriptor_status;
>   
>   	adapter->num_tx_queues = 0;
>   	adapter->num_rx_queues = 0;
> diff --git a/drivers/net/sfc/sfc_ethdev.c b/drivers/net/sfc/sfc_ethdev.c
> index acee3e48e4..1a58e0df84 100644
> --- a/drivers/net/sfc/sfc_ethdev.c
> +++ b/drivers/net/sfc/sfc_ethdev.c
> @@ -1819,10 +1819,6 @@ static const struct eth_dev_ops sfc_eth_dev_ops = {
>   	.tx_queue_stop			= sfc_tx_queue_stop,
>   	.rx_queue_setup			= sfc_rx_queue_setup,
>   	.rx_queue_release		= sfc_rx_queue_release,
> -	.rx_queue_count			= sfc_rx_queue_count,
> -	.rx_descriptor_done		= sfc_rx_descriptor_done,
> -	.rx_descriptor_status		= sfc_rx_descriptor_status,
> -	.tx_descriptor_status		= sfc_tx_descriptor_status,
>   	.rx_queue_intr_enable		= sfc_rx_queue_intr_enable,
>   	.rx_queue_intr_disable		= sfc_rx_queue_intr_disable,
>   	.tx_queue_setup			= sfc_tx_queue_setup,
> @@ -1977,6 +1973,10 @@ sfc_eth_dev_set_ops(struct rte_eth_dev *dev)
>   	dev->tx_pkt_prepare = dp_tx->pkt_prepare;
>   	dev->tx_pkt_burst = dp_tx->pkt_burst;
>   
> +	dev->rx_queue_count = sfc_rx_queue_count;
> +	dev->rx_descriptor_done = sfc_rx_descriptor_done;
> +	dev->rx_descriptor_status = sfc_rx_descriptor_status;
> +	dev->tx_descriptor_status = sfc_tx_descriptor_status;
>   	dev->dev_ops = &sfc_eth_dev_ops;
>   
>   	return 0;
> @@ -2017,10 +2017,6 @@ sfc_eth_dev_clear_ops(struct rte_eth_dev *dev)
>   
>   static const struct eth_dev_ops sfc_eth_dev_secondary_ops = {
>   	.dev_supported_ptypes_get	= sfc_dev_supported_ptypes_get,
> -	.rx_queue_count			= sfc_rx_queue_count,
> -	.rx_descriptor_done		= sfc_rx_descriptor_done,
> -	.rx_descriptor_status		= sfc_rx_descriptor_status,
> -	.tx_descriptor_status		= sfc_tx_descriptor_status,
>   	.reta_query			= sfc_dev_rss_reta_query,
>   	.rss_hash_conf_get		= sfc_dev_rss_hash_conf_get,
>   	.rxq_info_get			= sfc_rx_queue_info_get,
> @@ -2085,6 +2081,10 @@ sfc_eth_dev_secondary_init(struct rte_eth_dev *dev, uint32_t logtype_main)
>   	dev->rx_pkt_burst = dp_rx->pkt_burst;
>   	dev->tx_pkt_prepare = dp_tx->pkt_prepare;
>   	dev->tx_pkt_burst = dp_tx->pkt_burst;
> +	dev->rx_queue_count = sfc_rx_queue_count;
> +	dev->rx_descriptor_done = sfc_rx_descriptor_done;
> +	dev->rx_descriptor_status = sfc_rx_descriptor_status;
> +	dev->tx_descriptor_status = sfc_tx_descriptor_status;
>   	dev->dev_ops = &sfc_eth_dev_secondary_ops;
>   
>   	return 0;
> diff --git a/drivers/net/thunderx/nicvf_ethdev.c b/drivers/net/thunderx/nicvf_ethdev.c
> index d955a7ee23..959c8e4ddc 100644
> --- a/drivers/net/thunderx/nicvf_ethdev.c
> +++ b/drivers/net/thunderx/nicvf_ethdev.c
> @@ -2029,7 +2029,6 @@ static const struct eth_dev_ops nicvf_eth_dev_ops = {
>   	.tx_queue_stop            = nicvf_dev_tx_queue_stop,
>   	.rx_queue_setup           = nicvf_dev_rx_queue_setup,
>   	.rx_queue_release         = nicvf_dev_rx_queue_release,
> -	.rx_queue_count           = nicvf_dev_rx_queue_count,
>   	.tx_queue_setup           = nicvf_dev_tx_queue_setup,
>   	.tx_queue_release         = nicvf_dev_tx_queue_release,
>   	.dev_set_link_up          = nicvf_dev_set_link_up,
> @@ -2134,6 +2133,7 @@ nicvf_eth_dev_init(struct rte_eth_dev *eth_dev)
>   	PMD_INIT_FUNC_TRACE();
>   
>   	eth_dev->dev_ops = &nicvf_eth_dev_ops;
> +	eth_dev->rx_queue_count = nicvf_dev_rx_queue_count;
>   
>   	/* For secondary processes, the primary has done all the work */
>   	if (rte_eal_process_type() != RTE_PROC_PRIMARY) {
> diff --git a/drivers/net/vhost/rte_eth_vhost.c b/drivers/net/vhost/rte_eth_vhost.c
> index e55278af69..fa365605ef 100644
> --- a/drivers/net/vhost/rte_eth_vhost.c
> +++ b/drivers/net/vhost/rte_eth_vhost.c
> @@ -1385,7 +1385,6 @@ static const struct eth_dev_ops ops = {
>   	.rx_queue_release = eth_queue_release,
>   	.tx_queue_release = eth_queue_release,
>   	.tx_done_cleanup = eth_tx_done_cleanup,
> -	.rx_queue_count = eth_rx_queue_count,
>   	.link_update = eth_link_update,
>   	.stats_get = eth_stats_get,
>   	.stats_reset = eth_stats_reset,
> @@ -1447,6 +1446,7 @@ eth_dev_vhost_create(struct rte_vdev_device *dev, char *iface_name,
>   	data->all_multicast = 1;
>   
>   	eth_dev->dev_ops = &ops;
> +	eth_dev->rx_queue_count = eth_rx_queue_count;
>   
>   	/* finally assign rx and tx ops */
>   	eth_dev->rx_pkt_burst = eth_vhost_rx;
> diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
> index dc0093bdf0..4f2fa0d943 100644
> --- a/drivers/net/virtio/virtio_ethdev.c
> +++ b/drivers/net/virtio/virtio_ethdev.c
> @@ -920,7 +920,6 @@ static const struct eth_dev_ops virtio_eth_dev_ops = {
>   	.rx_queue_intr_enable    = virtio_dev_rx_queue_intr_enable,
>   	.rx_queue_intr_disable   = virtio_dev_rx_queue_intr_disable,
>   	.rx_queue_release        = virtio_dev_queue_release,
> -	.rx_descriptor_done      = virtio_dev_rx_queue_done,
>   	.tx_queue_setup          = virtio_dev_tx_queue_setup,
>   	.tx_queue_release        = virtio_dev_queue_release,
>   	/* collect stats per queue */
> @@ -1903,6 +1902,7 @@ eth_virtio_dev_init(struct rte_eth_dev *eth_dev)
>   	}
>   
>   	eth_dev->dev_ops = &virtio_eth_dev_ops;
> +	eth_dev->rx_descriptor_done = virtio_dev_rx_queue_done;
>   
>   	if (rte_eal_process_type() == RTE_PROC_SECONDARY) {
>   		if (!hw->virtio_user_dev) {
> diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
> index eb6cd01f8d..b6f26a513b 100644
> --- a/lib/librte_ethdev/rte_ethdev.h
> +++ b/lib/librte_ethdev/rte_ethdev.h
> @@ -4545,11 +4545,11 @@ rte_eth_rx_queue_count(uint16_t port_id, uint16_t queue_id)
>   
>   	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -EINVAL);
>   	dev = &rte_eth_devices[port_id];
> -	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->rx_queue_count, -ENOTSUP);
> +	RTE_FUNC_PTR_OR_ERR_RET(*dev->rx_queue_count, -ENOTSUP);
>   	if (queue_id >= dev->data->nb_rx_queues)
>   		return -EINVAL;
>   
> -	return (int)(*dev->dev_ops->rx_queue_count)(dev, queue_id);
> +	return (int)(*dev->rx_queue_count)(dev, queue_id);
>   }
>   
>   /**
> @@ -4573,9 +4573,8 @@ rte_eth_rx_descriptor_done(uint16_t port_id, uint16_t queue_id, uint16_t offset)
>   {
>   	struct rte_eth_dev *dev = &rte_eth_devices[port_id];
>   	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
> -	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->rx_descriptor_done, -ENOTSUP);
> -	return (*dev->dev_ops->rx_descriptor_done)( \
> -		dev->data->rx_queues[queue_id], offset);
> +	RTE_FUNC_PTR_OR_ERR_RET(*dev->rx_descriptor_done, -ENOTSUP);
> +	return (*dev->rx_descriptor_done)(dev->data->rx_queues[queue_id], offset);
>   }
>   
>   #define RTE_ETH_RX_DESC_AVAIL    0 /**< Desc available for hw. */
> @@ -4630,10 +4629,10 @@ rte_eth_rx_descriptor_status(uint16_t port_id, uint16_t queue_id,
>   	if (queue_id >= dev->data->nb_rx_queues)
>   		return -ENODEV;
>   #endif
> -	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->rx_descriptor_status, -ENOTSUP);
> +	RTE_FUNC_PTR_OR_ERR_RET(*dev->rx_descriptor_status, -ENOTSUP);
>   	rxq = dev->data->rx_queues[queue_id];
>   
> -	return (*dev->dev_ops->rx_descriptor_status)(rxq, offset);
> +	return (*dev->rx_descriptor_status)(rxq, offset);
>   }
>   
>   #define RTE_ETH_TX_DESC_FULL    0 /**< Desc filled for hw, waiting xmit. */
> @@ -4687,10 +4686,10 @@ static inline int rte_eth_tx_descriptor_status(uint16_t port_id,
>   	if (queue_id >= dev->data->nb_tx_queues)
>   		return -ENODEV;
>   #endif
> -	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->tx_descriptor_status, -ENOTSUP);
> +	RTE_FUNC_PTR_OR_ERR_RET(*dev->tx_descriptor_status, -ENOTSUP);
>   	txq = dev->data->tx_queues[queue_id];
>   
> -	return (*dev->dev_ops->tx_descriptor_status)(txq, offset);
> +	return (*dev->tx_descriptor_status)(txq, offset);
>   }
>   
>   /**
> diff --git a/lib/librte_ethdev/rte_ethdev_core.h b/lib/librte_ethdev/rte_ethdev_core.h
> index 32407dd418..8ed827475f 100644
> --- a/lib/librte_ethdev/rte_ethdev_core.h
> +++ b/lib/librte_ethdev/rte_ethdev_core.h
> @@ -660,13 +660,6 @@ struct eth_dev_ops {
>   	eth_queue_stop_t           tx_queue_stop; /**< Stop TX for a queue. */
>   	eth_rx_queue_setup_t       rx_queue_setup;/**< Set up device RX queue. */
>   	eth_queue_release_t        rx_queue_release; /**< Release RX queue. */
> -	eth_rx_queue_count_t       rx_queue_count;
> -	/**< Get the number of used RX descriptors. */
> -	eth_rx_descriptor_done_t   rx_descriptor_done; /**< Check rxd DD bit. */
> -	eth_rx_descriptor_status_t rx_descriptor_status;
> -	/**< Check the status of a Rx descriptor. */
> -	eth_tx_descriptor_status_t tx_descriptor_status;
> -	/**< Check the status of a Tx descriptor. */
>   	/*
>   	 * Static inline functions use functions ABOVE this comment.
>   	 * New dev_ops functions should be added BELOW to avoid breaking ABI.
> @@ -782,6 +775,12 @@ struct rte_eth_dev {
>   	eth_rx_burst_t rx_pkt_burst; /**< Pointer to PMD receive function. */
>   	eth_tx_burst_t tx_pkt_burst; /**< Pointer to PMD transmit function. */
>   	eth_tx_prep_t tx_pkt_prepare; /**< Pointer to PMD transmit prepare function. */
> +
> +	eth_rx_queue_count_t       rx_queue_count; /**< Get the number of used RX descriptors. */
> +	eth_rx_descriptor_done_t   rx_descriptor_done;   /**< Check rxd DD bit. */
> +	eth_rx_descriptor_status_t rx_descriptor_status; /**< Check the status of a Rx descriptor. */
> +	eth_tx_descriptor_status_t tx_descriptor_status; /**< Check the status of a Tx descriptor. */
> +
>   	/**
>   	 * Next two fields are per-device data but *data is shared between
>   	 * primary and secondary processes and *process_private is per-process


^ permalink raw reply	[relevance 0%]

* [dpdk-dev] [PATCH 0/1] timer: add limitation note for sync stop and reset
@ 2020-09-09 14:41  3% Erik Gabriel Carrillo
  0 siblings, 0 replies; 200+ results
From: Erik Gabriel Carrillo @ 2020-09-09 14:41 UTC (permalink / raw)
  To: dev

Bugzilla ID 491 identifies a couple of scenarios in which calls to the
rte_timer_reset_sync() and rte_timer_stop_sync() APIs could hang.  Changing the
function prototypes such that error codes are returned in these scenarios was
considered, but rather than introducing another ABI change, it was proposed to
document a usage limitation[1]. This patch adds the notes.

[1] https://patches.dpdk.org/patch/75142/

Erik Gabriel Carrillo (1):
  timer: add limitation note for sync stop and reset

 lib/librte_timer/rte_timer.h | 12 ++++++++++++
 1 file changed, 12 insertions(+)

-- 
2.6.4


^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] [PATCH 00/14] net/sfc: factor out common driver library
  2020-09-08  9:14  2% [dpdk-dev] [PATCH 00/14] net/sfc: factor out common driver library Andrew Rybchenko
@ 2020-09-09 14:32  0% ` Ferruh Yigit
  0 siblings, 0 replies; 200+ results
From: Ferruh Yigit @ 2020-09-09 14:32 UTC (permalink / raw)
  To: Andrew Rybchenko, dev; +Cc: Thomas Monjalon, David Marchand

On 9/8/2020 10:14 AM, Andrew Rybchenko wrote:
> Network and vDPA drivers share libefx. So, libefx should be moved
> to common drivers.
> 
> DPDK adaptation of the MCDI interface may be shared as well.
> 
> The new common driver name is sfc_efx since it a new home of
> libefx base driver. sfc_ prefix is used to make it clear that
> it is related to net/sfc (and vdpa/sfc in the future).
> 
> In theory, right now all exported libefx functions should be marked
> as internal, but it requires corresponding markup in base driver
> which sources should have no DPDK specifics since shared by many
> drivers. So, it is unclear what to do and how to solve it.
>

Can a osdep.h can be added, like some other drivers do?
In that header a macro can be expanded to '__rte_internal' for DPDK, and empty
for others...

> 
> The patch series makes these functions a part of DPDK_21 ABI to
> pass build checks. checkpatches.sh does not like it.
> 
> Cc: Thomas Monjalon <thomas@monjalon.net>
> Cc: David Marchand <david.marchand@redhat.com>
> Cc: Ferruh Yigit <ferruh.yigit@intel.com>
> 
> Andrew Rybchenko (14):
>   net/sfc: include header with debug helpers directly
>   net/sfc: introduce common driver library
>   net/sfc: add dedicated header file with MCDI interface
>   net/sfc: move MCDI helper interface to dedicated namespace
>   net/sfc: make MCDI logging helper macros local
>   net/sfc: start to make MCDI helpers interface shareable
>   net/sfc: use own logging helper macros
>   net/sfc: avoid usage of NIC pointer from adapter context
>   net/sfc: avoid panic in the case of MCDI timeout
>   net/sfc: add MCDI callbacks to allocate/free DMA memory
>   net/sfc: add MCDI callback to schedule restart
>   net/sfc: add MCDI callback to poll management event queue
>   net/sfc: use MCDI control structure as libefx ops context
>   net/sfc: move MCDI helpers to common driver
> 
<...>

^ permalink raw reply	[relevance 0%]

* [dpdk-dev] [PATCH v4 7/7] ethdev: remove underscore prefix from internal API
  2020-09-09 13:01  4% ` [dpdk-dev] [PATCH v4 1/7] ethdev: deprecate descriptor status check API Ferruh Yigit
                     ` (2 preceding siblings ...)
  2020-09-09 13:01 12%   ` [dpdk-dev] [PATCH v4 4/7] ethdev: mark internal functions Ferruh Yigit
@ 2020-09-09 13:01  2%   ` Ferruh Yigit
  2020-09-10  2:04  0%     ` Sachin Saxena (OSS)
  3 siblings, 1 reply; 200+ results
From: Ferruh Yigit @ 2020-09-09 13:01 UTC (permalink / raw)
  To: dev, John McNamara, Marko Kovacevic, Igor Russkikh, Pavel Belous,
	Ajit Khaparde, Somnath Kotur, Chas Williams, Wei Hu (Xavier),
	Hemant Agrawal, Sachin Saxena, Wei Zhao, Jeff Guo, Marcin Wojtas,
	Michal Krawczyk, Guy Tzalik, Evgeny Schemeilin, Igor Chauskin,
	John Daley, Hyong Youb Kim, Gaetan Rivet, Qi Zhang, Xiao Wang,
	Ziyang Xuan, Xiaoyun Wang, Guoyang Zhou, Beilei Xing,
	Jingjing Wu, Qiming Yang, Matan Azrad, Shahaf Shuler,
	Viacheslav Ovsiienko, Stephen Hemminger, K. Y. Srinivasan,
	Haiyang Zhang, Long Li, Heinrich Kuhn, Harman Kalra, Jerin Jacob,
	Nithin Dabilpuram, Kiran Kumar K, Rasesh Mody, Shahed Shaikh,
	Andrew Rybchenko, Maciej Czekaj, Maxime Coquelin, Chenbo Xia,
	Zhihong Wang, Yong Wang, Thomas Monjalon, Ray Kinsella,
	Neil Horman
  Cc: Ferruh Yigit, David Marchand

'_rte_eth_dev_callback_process()' & '_rte_eth_dev_reset()' internal APIs
has unconventional underscore ('_') prefix.
Although this is not documented most probably this is to mark them as
internal. Since we have '__rte_internal' flag to mark this, removing '_'
from API names.

For '_rte_eth_dev_reset()', there is already a public API named
'rte_eth_dev_reset()', so renaming '_rte_eth_dev_reset()' to
'rte_eth_dev_internal_reset'.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: David Marchand <david.marchand@redhat.com>
---
v3:
* release note updated
---
 app/test/virtual_pmd.c                   |  4 ++--
 doc/guides/prog_guide/poll_mode_drv.rst  |  4 ++--
 doc/guides/rel_notes/release_20_11.rst   |  5 +++++
 drivers/net/atlantic/atl_ethdev.c        |  5 ++---
 drivers/net/bnxt/bnxt_ethdev.c           |  6 +++---
 drivers/net/bnxt/rte_pmd_bnxt.c          |  4 ++--
 drivers/net/bonding/rte_eth_bond_pmd.c   |  8 ++++----
 drivers/net/dpaa/dpaa_ethdev.c           |  2 +-
 drivers/net/dpaa2/dpaa2_ethdev.c         |  3 +--
 drivers/net/e1000/em_ethdev.c            |  2 +-
 drivers/net/e1000/igb_ethdev.c           |  7 +++----
 drivers/net/ena/ena_ethdev.c             |  4 ++--
 drivers/net/enic/enic_main.c             |  2 +-
 drivers/net/failsafe/failsafe_ether.c    |  6 +++---
 drivers/net/fm10k/fm10k_ethdev.c         | 11 ++++-------
 drivers/net/hinic/base/hinic_pmd_hwdev.c |  6 +++---
 drivers/net/i40e/i40e_ethdev.c           |  2 +-
 drivers/net/i40e/i40e_ethdev_vf.c        |  4 ++--
 drivers/net/i40e/i40e_pf.c               |  2 +-
 drivers/net/iavf/iavf_vchnl.c            |  5 ++---
 drivers/net/ice/ice_ethdev.c             |  4 ++--
 drivers/net/igc/igc_ethdev.c             |  3 +--
 drivers/net/ixgbe/ixgbe_ethdev.c         | 10 ++++------
 drivers/net/ixgbe/ixgbe_pf.c             |  5 ++---
 drivers/net/mlx4/mlx4_intr.c             | 10 +++++-----
 drivers/net/mlx5/linux/mlx5_ethdev_os.c  |  4 ++--
 drivers/net/mlx5/mlx5_flow.c             |  2 +-
 drivers/net/netvsc/hn_rndis.c            |  2 +-
 drivers/net/nfp/nfp_net.c                |  2 +-
 drivers/net/octeontx/octeontx_ethdev.c   |  6 +++---
 drivers/net/octeontx2/otx2_link.c        |  2 +-
 drivers/net/qede/qede_main.c             |  3 +--
 drivers/net/sfc/sfc_intr.c               | 12 ++++++------
 drivers/net/thunderx/nicvf_ethdev.c      |  6 +++---
 drivers/net/vhost/rte_eth_vhost.c        |  6 +++---
 drivers/net/virtio/virtio_ethdev.c       |  6 +++---
 drivers/net/vmxnet3/vmxnet3_ethdev.c     |  6 +++---
 lib/librte_ethdev/rte_ethdev.c           |  8 ++++----
 lib/librte_ethdev/rte_ethdev_driver.h    |  4 ++--
 lib/librte_ethdev/rte_ethdev_version.map |  4 ++--
 40 files changed, 95 insertions(+), 102 deletions(-)

diff --git a/app/test/virtual_pmd.c b/app/test/virtual_pmd.c
index 79156cb85a..b49089a33c 100644
--- a/app/test/virtual_pmd.c
+++ b/app/test/virtual_pmd.c
@@ -474,8 +474,8 @@ virtual_ethdev_simulate_link_status_interrupt(uint16_t port_id,
 
 	vrtl_eth_dev->data->dev_link.link_status = link_status;
 
-	_rte_eth_dev_callback_process(vrtl_eth_dev, RTE_ETH_EVENT_INTR_LSC,
-				      NULL);
+	rte_eth_dev_callback_process(vrtl_eth_dev, RTE_ETH_EVENT_INTR_LSC,
+				     NULL);
 }
 
 int
diff --git a/doc/guides/prog_guide/poll_mode_drv.rst b/doc/guides/prog_guide/poll_mode_drv.rst
index 6fae39f904..86e0a141e6 100644
--- a/doc/guides/prog_guide/poll_mode_drv.rst
+++ b/doc/guides/prog_guide/poll_mode_drv.rst
@@ -600,9 +600,9 @@ thread safety all these operations should be called from the same thread.
 For example when PF is reset, the PF sends a message to notify VFs of
 this event and also trigger an interrupt to VFs. Then in the interrupt
 service routine the VFs detects this notification message and calls
-_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_RESET, NULL).
+rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_RESET, NULL).
 This means that a PF reset triggers an RTE_ETH_EVENT_INTR_RESET
-event within VFs. The function _rte_eth_dev_callback_process() will
+event within VFs. The function rte_eth_dev_callback_process() will
 call the registered callback function. The callback function can trigger
 the application to handle all operations the VF reset requires including
 stopping Rx/Tx queues and calling rte_eth_dev_reset().
diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index f8c3521b3f..7ff6ac23b6 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -86,6 +86,11 @@ API Changes
 
 * ``rte_eth_rx_descriptor_done()`` API has deprecated.
 
+* Renamed internal ethdev APIs:
+
+  * ``_rte_eth_dev_callback_process()`` -> ``rte_eth_dev_callback_process()``
+  * ``_rte_eth_dev_reset`` -> ``rte_eth_dev_internal_reset()``
+
 
 ABI Changes
 -----------
diff --git a/drivers/net/atlantic/atl_ethdev.c b/drivers/net/atlantic/atl_ethdev.c
index 540b106045..2fca9140d7 100644
--- a/drivers/net/atlantic/atl_ethdev.c
+++ b/drivers/net/atlantic/atl_ethdev.c
@@ -1395,8 +1395,7 @@ atl_dev_interrupt_action(struct rte_eth_dev *dev,
 	/* Notify userapp if link status changed */
 	if (!atl_dev_link_update(dev, 0)) {
 		atl_dev_link_status_print(dev);
-		_rte_eth_dev_callback_process(dev,
-			RTE_ETH_EVENT_INTR_LSC, NULL);
+		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
 	} else {
 		if (hw->aq_fw_ops->send_macsec_req == NULL)
 			goto done;
@@ -1422,7 +1421,7 @@ atl_dev_interrupt_action(struct rte_eth_dev *dev,
 		    resp.stats.egress_expired ||
 		    resp.stats.ingress_expired) {
 			PMD_DRV_LOG(INFO, "RTE_ETH_EVENT_MACSEC");
-			_rte_eth_dev_callback_process(dev,
+			rte_eth_dev_callback_process(dev,
 				RTE_ETH_EVENT_MACSEC, NULL);
 		}
 	}
diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index 4d224bfa04..8c959ac913 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -1528,9 +1528,9 @@ int bnxt_link_update(struct rte_eth_dev *eth_dev, int wait_to_complete,
 	new.link_speed != eth_dev->data->dev_link.link_speed) {
 		rte_eth_linkstatus_set(eth_dev, &new);
 
-		_rte_eth_dev_callback_process(eth_dev,
-					      RTE_ETH_EVENT_INTR_LSC,
-					      NULL);
+		rte_eth_dev_callback_process(eth_dev,
+					     RTE_ETH_EVENT_INTR_LSC,
+					     NULL);
 
 		bnxt_print_link_info(eth_dev);
 	}
diff --git a/drivers/net/bnxt/rte_pmd_bnxt.c b/drivers/net/bnxt/rte_pmd_bnxt.c
index eafc1d3868..d67db46c65 100644
--- a/drivers/net/bnxt/rte_pmd_bnxt.c
+++ b/drivers/net/bnxt/rte_pmd_bnxt.c
@@ -28,8 +28,8 @@ int bnxt_rcv_msg_from_vf(struct bnxt *bp, uint16_t vf_id, void *msg)
 	ret_param.vf_id = vf_id;
 	ret_param.msg = msg;
 
-	_rte_eth_dev_callback_process(bp->eth_dev, RTE_ETH_EVENT_VF_MBOX,
-				      &ret_param);
+	rte_eth_dev_callback_process(bp->eth_dev, RTE_ETH_EVENT_VF_MBOX,
+				     &ret_param);
 
 	/* Default to approve */
 	if (ret_param.retval == RTE_PMD_BNXT_MB_EVENT_PROCEED)
diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
index cdbd8151ed..4ffd2ca4bb 100644
--- a/drivers/net/bonding/rte_eth_bond_pmd.c
+++ b/drivers/net/bonding/rte_eth_bond_pmd.c
@@ -1879,7 +1879,7 @@ slave_remove(struct bond_dev_private *internals,
 	internals->slave_count--;
 
 	/* force reconfiguration of slave interfaces */
-	_rte_eth_dev_reset(slave_eth_dev);
+	rte_eth_dev_internal_reset(slave_eth_dev);
 }
 
 static void
@@ -2765,7 +2765,7 @@ bond_ethdev_delayed_lsc_propagation(void *arg)
 	if (arg == NULL)
 		return;
 
-	_rte_eth_dev_callback_process((struct rte_eth_dev *)arg,
+	rte_eth_dev_callback_process((struct rte_eth_dev *)arg,
 			RTE_ETH_EVENT_INTR_LSC, NULL);
 }
 
@@ -2900,7 +2900,7 @@ bond_ethdev_lsc_event_callback(uint16_t port_id, enum rte_eth_event_type type,
 						bond_ethdev_delayed_lsc_propagation,
 						(void *)bonded_eth_dev);
 			else
-				_rte_eth_dev_callback_process(bonded_eth_dev,
+				rte_eth_dev_callback_process(bonded_eth_dev,
 						RTE_ETH_EVENT_INTR_LSC,
 						NULL);
 
@@ -2910,7 +2910,7 @@ bond_ethdev_lsc_event_callback(uint16_t port_id, enum rte_eth_event_type type,
 						bond_ethdev_delayed_lsc_propagation,
 						(void *)bonded_eth_dev);
 			else
-				_rte_eth_dev_callback_process(bonded_eth_dev,
+				rte_eth_dev_callback_process(bonded_eth_dev,
 						RTE_ETH_EVENT_INTR_LSC,
 						NULL);
 		}
diff --git a/drivers/net/dpaa/dpaa_ethdev.c b/drivers/net/dpaa/dpaa_ethdev.c
index e2c3fd0368..a077b98c3e 100644
--- a/drivers/net/dpaa/dpaa_ethdev.c
+++ b/drivers/net/dpaa/dpaa_ethdev.c
@@ -335,7 +335,7 @@ static void dpaa_interrupt_handler(void *param)
 	if (bytes_read < 0)
 		DPAA_PMD_ERR("Error reading eventfd\n");
 	dpaa_eth_link_update(dev, 0);
-	_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
+	rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
 }
 
 static int dpaa_eth_dev_start(struct rte_eth_dev *dev)
diff --git a/drivers/net/dpaa2/dpaa2_ethdev.c b/drivers/net/dpaa2/dpaa2_ethdev.c
index 38cf0ab71c..0e9f836e55 100644
--- a/drivers/net/dpaa2/dpaa2_ethdev.c
+++ b/drivers/net/dpaa2/dpaa2_ethdev.c
@@ -1065,8 +1065,7 @@ dpaa2_interrupt_handler(void *param)
 		clear = DPNI_IRQ_EVENT_LINK_CHANGED;
 		dpaa2_dev_link_update(dev, 0);
 		/* calling all the apps registered for link status event */
-		_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC,
-					      NULL);
+		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
 	}
 out:
 	ret = dpni_clear_irq_status(dpni, CMD_PRI_LOW, priv->token,
diff --git a/drivers/net/e1000/em_ethdev.c b/drivers/net/e1000/em_ethdev.c
index 82766da882..1dc360713a 100644
--- a/drivers/net/e1000/em_ethdev.c
+++ b/drivers/net/e1000/em_ethdev.c
@@ -1630,7 +1630,7 @@ eth_em_interrupt_handler(void *param)
 
 	eth_em_interrupt_get_status(dev);
 	eth_em_interrupt_action(dev, dev->intr_handle);
-	_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
+	rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
 }
 
 static int
diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c
index fe0cea88c2..5ab74840aa 100644
--- a/drivers/net/e1000/igb_ethdev.c
+++ b/drivers/net/e1000/igb_ethdev.c
@@ -2920,8 +2920,7 @@ eth_igb_interrupt_action(struct rte_eth_dev *dev,
 			     pci_dev->addr.bus,
 			     pci_dev->addr.devid,
 			     pci_dev->addr.function);
-		_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC,
-					      NULL);
+		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
 	}
 
 	return 0;
@@ -2983,8 +2982,8 @@ void igbvf_mbx_process(struct rte_eth_dev *dev)
 		/* dummy mbx read to ack pf */
 		if (mbx->ops.read(hw, &in_msg, 1, 0))
 			return;
-		_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_RESET,
-					      NULL);
+		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_RESET,
+					     NULL);
 	}
 }
 
diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c
index da8c8ad922..8077519735 100644
--- a/drivers/net/ena/ena_ethdev.c
+++ b/drivers/net/ena/ena_ethdev.c
@@ -1621,7 +1621,7 @@ static void ena_timer_wd_callback(__rte_unused struct rte_timer *timer,
 
 	if (unlikely(adapter->trigger_reset)) {
 		PMD_DRV_LOG(ERR, "Trigger reset is on\n");
-		_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_RESET,
+		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_RESET,
 			NULL);
 	}
 }
@@ -2867,7 +2867,7 @@ static void ena_update_on_link_change(void *adapter_data,
 	adapter->link_status = status;
 
 	ena_link_update(eth_dev, 0);
-	_rte_eth_dev_callback_process(eth_dev, RTE_ETH_EVENT_INTR_LSC, NULL);
+	rte_eth_dev_callback_process(eth_dev, RTE_ETH_EVENT_INTR_LSC, NULL);
 }
 
 static void ena_notification(void *data,
diff --git a/drivers/net/enic/enic_main.c b/drivers/net/enic/enic_main.c
index 7942b0df6b..8b0441c5cd 100644
--- a/drivers/net/enic/enic_main.c
+++ b/drivers/net/enic/enic_main.c
@@ -445,7 +445,7 @@ enic_intr_handler(void *arg)
 	vnic_intr_return_all_credits(&enic->intr[ENICPMD_LSC_INTR_OFFSET]);
 
 	enic_link_update(dev);
-	_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
+	rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
 	enic_log_q_error(enic);
 	/* Re-enable irq in case of INTx */
 	rte_intr_ack(&enic->pdev->intr_handle);
diff --git a/drivers/net/failsafe/failsafe_ether.c b/drivers/net/failsafe/failsafe_ether.c
index 70972d6717..7c68bbdec0 100644
--- a/drivers/net/failsafe/failsafe_ether.c
+++ b/drivers/net/failsafe/failsafe_ether.c
@@ -602,9 +602,9 @@ failsafe_eth_lsc_event_callback(uint16_t port_id __rte_unused,
 	ret = dev->dev_ops->link_update(dev, 0);
 	/* We must pass on the LSC event */
 	if (ret)
-		return _rte_eth_dev_callback_process(dev,
-						     RTE_ETH_EVENT_INTR_LSC,
-						     NULL);
+		return rte_eth_dev_callback_process(dev,
+						    RTE_ETH_EVENT_INTR_LSC,
+						    NULL);
 	else
 		return 0;
 }
diff --git a/drivers/net/fm10k/fm10k_ethdev.c b/drivers/net/fm10k/fm10k_ethdev.c
index e6043e1455..5771d83b55 100644
--- a/drivers/net/fm10k/fm10k_ethdev.c
+++ b/drivers/net/fm10k/fm10k_ethdev.c
@@ -2621,7 +2621,7 @@ fm10k_dev_interrupt_handler_pf(void *param)
 					true);
 
 			dev_info->sm_down = 0;
-			_rte_eth_dev_callback_process(dev,
+			rte_eth_dev_callback_process(dev,
 					RTE_ETH_EVENT_INTR_LSC,
 					NULL);
 		}
@@ -2635,8 +2635,7 @@ fm10k_dev_interrupt_handler_pf(void *param)
 	if (err == FM10K_ERR_RESET_REQUESTED) {
 		PMD_INIT_LOG(INFO, "INT: Switch is down");
 		dev_info->sm_down = 1;
-		_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC,
-				NULL);
+		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
 	}
 
 	/* Handle SRAM error */
@@ -2703,8 +2702,7 @@ fm10k_dev_interrupt_handler_vf(void *param)
 
 		/* Setting reset flag */
 		dev_info->sm_down = 1;
-		_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC,
-				NULL);
+		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
 	}
 
 	if (dev_info->sm_down == 1 &&
@@ -2732,8 +2730,7 @@ fm10k_dev_interrupt_handler_vf(void *param)
 		fm10k_vlan_filter_set(dev, hw->mac.default_vid, true);
 
 		dev_info->sm_down = 0;
-		_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC,
-				NULL);
+		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
 	}
 
 	/* Re-enable interrupt from device side */
diff --git a/drivers/net/hinic/base/hinic_pmd_hwdev.c b/drivers/net/hinic/base/hinic_pmd_hwdev.c
index ac2a72e388..41c99bdbf8 100644
--- a/drivers/net/hinic/base/hinic_pmd_hwdev.c
+++ b/drivers/net/hinic/base/hinic_pmd_hwdev.c
@@ -1362,9 +1362,9 @@ static void hinic_lsc_process(struct hinic_hwdev *hwdev,
 	ret = hinic_link_event_process(hwdev, rte_dev, status);
 	/* check if link has changed, notify callback */
 	if (ret == 0)
-		_rte_eth_dev_callback_process(rte_dev,
-					      RTE_ETH_EVENT_INTR_LSC,
-					      NULL);
+		rte_eth_dev_callback_process(rte_dev,
+					     RTE_ETH_EVENT_INTR_LSC,
+					     NULL);
 }
 
 void hinic_l2nic_async_event_handle(struct hinic_hwdev *hwdev,
diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index 80efd06cd9..563f21d9df 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -6846,7 +6846,7 @@ i40e_dev_handle_aq_msg(struct rte_eth_dev *dev)
 		case i40e_aqc_opc_get_link_status:
 			ret = i40e_dev_link_update(dev, 0);
 			if (!ret)
-				_rte_eth_dev_callback_process(dev,
+				rte_eth_dev_callback_process(dev,
 					RTE_ETH_EVENT_INTR_LSC, NULL);
 			break;
 		default:
diff --git a/drivers/net/i40e/i40e_ethdev_vf.c b/drivers/net/i40e/i40e_ethdev_vf.c
index be4b28fa45..8531cf6b12 100644
--- a/drivers/net/i40e/i40e_ethdev_vf.c
+++ b/drivers/net/i40e/i40e_ethdev_vf.c
@@ -1378,7 +1378,7 @@ i40evf_handle_pf_event(struct rte_eth_dev *dev, uint8_t *msg,
 	switch (pf_msg->event) {
 	case VIRTCHNL_EVENT_RESET_IMPENDING:
 		PMD_DRV_LOG(DEBUG, "VIRTCHNL_EVENT_RESET_IMPENDING event");
-		_rte_eth_dev_callback_process(dev,
+		rte_eth_dev_callback_process(dev,
 				RTE_ETH_EVENT_INTR_RESET, NULL);
 		break;
 	case VIRTCHNL_EVENT_LINK_CHANGE:
@@ -1425,7 +1425,7 @@ i40evf_handle_pf_event(struct rte_eth_dev *dev, uint8_t *msg,
 		}
 
 		i40evf_dev_link_update(dev, 0);
-		_rte_eth_dev_callback_process(dev,
+		rte_eth_dev_callback_process(dev,
 				RTE_ETH_EVENT_INTR_LSC, NULL);
 		break;
 	case VIRTCHNL_EVENT_PF_DRIVER_CLOSE:
diff --git a/drivers/net/i40e/i40e_pf.c b/drivers/net/i40e/i40e_pf.c
index 7bf1e79410..03c2070c3f 100644
--- a/drivers/net/i40e/i40e_pf.c
+++ b/drivers/net/i40e/i40e_pf.c
@@ -1363,7 +1363,7 @@ i40e_pf_host_handle_vf_msg(struct rte_eth_dev *dev,
 	 * do nothing and send not_supported to VF. As PF must send a response
 	 * to VF and ACK/NACK is not defined.
 	 */
-	_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_VF_MBOX, &ret_param);
+	rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_VF_MBOX, &ret_param);
 	if (ret_param.retval != RTE_PMD_I40E_MB_EVENT_PROCEED) {
 		PMD_DRV_LOG(WARNING, "VF to PF message(%d) is not permitted!",
 			    opcode);
diff --git a/drivers/net/iavf/iavf_vchnl.c b/drivers/net/iavf/iavf_vchnl.c
index 34c31a153a..29e4cae10c 100644
--- a/drivers/net/iavf/iavf_vchnl.c
+++ b/drivers/net/iavf/iavf_vchnl.c
@@ -187,7 +187,7 @@ iavf_handle_pf_event_msg(struct rte_eth_dev *dev, uint8_t *msg,
 	switch (pf_msg->event) {
 	case VIRTCHNL_EVENT_RESET_IMPENDING:
 		PMD_DRV_LOG(DEBUG, "VIRTCHNL_EVENT_RESET_IMPENDING event");
-		_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_RESET,
+		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_RESET,
 					      NULL);
 		break;
 	case VIRTCHNL_EVENT_LINK_CHANGE:
@@ -202,8 +202,7 @@ iavf_handle_pf_event_msg(struct rte_eth_dev *dev, uint8_t *msg,
 			vf->link_speed = iavf_convert_link_speed(speed);
 		}
 		iavf_dev_link_update(dev, 0);
-		_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC,
-					      NULL);
+		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
 		break;
 	case VIRTCHNL_EVENT_PF_DRIVER_CLOSE:
 		PMD_DRV_LOG(DEBUG, "VIRTCHNL_EVENT_PF_DRIVER_CLOSE event");
diff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c
index c8b16c7f87..724b2ee26c 100644
--- a/drivers/net/ice/ice_ethdev.c
+++ b/drivers/net/ice/ice_ethdev.c
@@ -1314,7 +1314,7 @@ ice_handle_aq_msg(struct rte_eth_dev *dev)
 		case ice_aqc_opc_get_link_status:
 			ret = ice_link_update(dev, 0);
 			if (!ret)
-				_rte_eth_dev_callback_process
+				rte_eth_dev_callback_process
 					(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
 			break;
 		default:
@@ -1379,7 +1379,7 @@ ice_interrupt_handler(void *param)
 		PMD_DRV_LOG(INFO, "OICR: link state change event");
 		ret = ice_link_update(dev, 0);
 		if (!ret)
-			_rte_eth_dev_callback_process
+			rte_eth_dev_callback_process
 				(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
 	}
 #endif
diff --git a/drivers/net/igc/igc_ethdev.c b/drivers/net/igc/igc_ethdev.c
index aa37c11861..810568bc54 100644
--- a/drivers/net/igc/igc_ethdev.c
+++ b/drivers/net/igc/igc_ethdev.c
@@ -540,8 +540,7 @@ eth_igc_interrupt_action(struct rte_eth_dev *dev)
 				pci_dev->addr.bus,
 				pci_dev->addr.devid,
 				pci_dev->addr.function);
-		_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC,
-				NULL);
+		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
 	}
 }
 
diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index 337ce90fbf..0f065bbc04 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -4659,13 +4659,11 @@ ixgbe_dev_interrupt_delayed_handler(void *param)
 		ixgbe_dev_link_update(dev, 0);
 		intr->flags &= ~IXGBE_FLAG_NEED_LINK_UPDATE;
 		ixgbe_dev_link_status_print(dev);
-		_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC,
-					      NULL);
+		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
 	}
 
 	if (intr->flags & IXGBE_FLAG_MACSEC) {
-		_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_MACSEC,
-					      NULL);
+		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_MACSEC, NULL);
 		intr->flags &= ~IXGBE_FLAG_MACSEC;
 	}
 
@@ -8674,8 +8672,8 @@ static void ixgbevf_mbx_process(struct rte_eth_dev *dev)
 		/* dummy mbx read to ack pf */
 		if (ixgbe_read_mbx(hw, &in_msg, 1, 0))
 			return;
-		_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_RESET,
-					      NULL);
+		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_RESET,
+					     NULL);
 	}
 }
 
diff --git a/drivers/net/ixgbe/ixgbe_pf.c b/drivers/net/ixgbe/ixgbe_pf.c
index 67b5bef44f..ed5f96b1a4 100644
--- a/drivers/net/ixgbe/ixgbe_pf.c
+++ b/drivers/net/ixgbe/ixgbe_pf.c
@@ -832,7 +832,7 @@ ixgbe_rcv_msg_from_vf(struct rte_eth_dev *dev, uint16_t vf)
 		vfinfo[vf].clear_to_send = true;
 
 		/* notify application about VF reset */
-		_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_VF_MBOX,
+		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_VF_MBOX,
 					      &ret_param);
 		return ret;
 	}
@@ -844,8 +844,7 @@ ixgbe_rcv_msg_from_vf(struct rte_eth_dev *dev, uint16_t vf)
 	 * if 0, do nothing and send ACK to VF
 	 * if ret_param.retval > 1, do nothing and send NAK to VF
 	 */
-	_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_VF_MBOX,
-				      &ret_param);
+	rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_VF_MBOX, &ret_param);
 
 	retval = ret_param.retval;
 
diff --git a/drivers/net/mlx4/mlx4_intr.c b/drivers/net/mlx4/mlx4_intr.c
index 19af9359c9..6786b12ab5 100644
--- a/drivers/net/mlx4/mlx4_intr.c
+++ b/drivers/net/mlx4/mlx4_intr.c
@@ -124,9 +124,9 @@ mlx4_link_status_alarm(struct mlx4_priv *priv)
 	MLX4_ASSERT(priv->intr_alarm == 1);
 	priv->intr_alarm = 0;
 	if (intr_conf->lsc && !mlx4_link_status_check(priv))
-		_rte_eth_dev_callback_process(ETH_DEV(priv),
-					      RTE_ETH_EVENT_INTR_LSC,
-					      NULL);
+		rte_eth_dev_callback_process(ETH_DEV(priv),
+					     RTE_ETH_EVENT_INTR_LSC,
+					     NULL);
 }
 
 /**
@@ -207,8 +207,8 @@ mlx4_interrupt_handler(struct mlx4_priv *priv)
 	}
 	for (i = 0; i != RTE_DIM(caught); ++i)
 		if (caught[i])
-			_rte_eth_dev_callback_process(ETH_DEV(priv), type[i],
-						      NULL);
+			rte_eth_dev_callback_process(ETH_DEV(priv), type[i],
+						     NULL);
 }
 
 /**
diff --git a/drivers/net/mlx5/linux/mlx5_ethdev_os.c b/drivers/net/mlx5/linux/mlx5_ethdev_os.c
index 3d3dd2e862..7256c1bcfe 100644
--- a/drivers/net/mlx5/linux/mlx5_ethdev_os.c
+++ b/drivers/net/mlx5/linux/mlx5_ethdev_os.c
@@ -732,7 +732,7 @@ mlx5_dev_interrupt_device_fatal(struct mlx5_dev_ctx_shared *sh)
 		dev = &rte_eth_devices[sh->port[i].ih_port_id];
 		MLX5_ASSERT(dev);
 		if (dev->data->dev_conf.intr_conf.rmv)
-			_rte_eth_dev_callback_process
+			rte_eth_dev_callback_process
 				(dev, RTE_ETH_EVENT_INTR_RMV, NULL);
 	}
 }
@@ -808,7 +808,7 @@ mlx5_dev_interrupt_handler(void *cb_arg)
 				usleep(0);
 				continue;
 			}
-			_rte_eth_dev_callback_process
+			rte_eth_dev_callback_process
 				(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
 			continue;
 		}
diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
index eb55bd7f99..55cdc37f00 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -6085,7 +6085,7 @@ mlx5_flow_aging_check(struct mlx5_dev_ctx_shared *sh,
 		if (!MLX5_AGE_GET(age_info, MLX5_AGE_EVENT_NEW))
 			continue;
 		if (MLX5_AGE_GET(age_info, MLX5_AGE_TRIGGER))
-			_rte_eth_dev_callback_process
+			rte_eth_dev_callback_process
 				(&rte_eth_devices[sh->port[i].devx_ih_port_id],
 				RTE_ETH_EVENT_FLOW_AGED, NULL);
 		age_info->flags = 0;
diff --git a/drivers/net/netvsc/hn_rndis.c b/drivers/net/netvsc/hn_rndis.c
index d186ddeabd..66d1966f29 100644
--- a/drivers/net/netvsc/hn_rndis.c
+++ b/drivers/net/netvsc/hn_rndis.c
@@ -292,7 +292,7 @@ static int hn_nvs_send_rndis_ctrl(struct vmbus_channel *chan,
  */
 static void hn_rndis_link_alarm(void *arg)
 {
-	_rte_eth_dev_callback_process(arg, RTE_ETH_EVENT_INTR_LSC, NULL);
+	rte_eth_dev_callback_process(arg, RTE_ETH_EVENT_INTR_LSC, NULL);
 }
 
 void hn_rndis_link_status(struct rte_eth_dev *dev, const void *msg)
diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c
index c556dedab6..4f03691989 100644
--- a/drivers/net/nfp/nfp_net.c
+++ b/drivers/net/nfp/nfp_net.c
@@ -1460,7 +1460,7 @@ nfp_net_dev_interrupt_delayed_handler(void *param)
 	struct rte_eth_dev *dev = (struct rte_eth_dev *)param;
 
 	nfp_net_link_update(dev, 0);
-	_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
+	rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
 
 	nfp_net_dev_link_status_print(dev);
 
diff --git a/drivers/net/octeontx/octeontx_ethdev.c b/drivers/net/octeontx/octeontx_ethdev.c
index 76c69294d0..808b761b96 100644
--- a/drivers/net/octeontx/octeontx_ethdev.c
+++ b/drivers/net/octeontx/octeontx_ethdev.c
@@ -227,9 +227,9 @@ octeontx_link_status_poll(void *arg)
 			octeontx_link_status_update(nic, &link);
 			octeontx_link_status_print(dev, &link);
 			rte_eth_linkstatus_set(dev, &link);
-			_rte_eth_dev_callback_process(dev,
-						      RTE_ETH_EVENT_INTR_LSC,
-						      NULL);
+			rte_eth_dev_callback_process(dev,
+						     RTE_ETH_EVENT_INTR_LSC,
+						     NULL);
 		}
 	}
 
diff --git a/drivers/net/octeontx2/otx2_link.c b/drivers/net/octeontx2/otx2_link.c
index 12bf6c3231..439ec4fa89 100644
--- a/drivers/net/octeontx2/otx2_link.c
+++ b/drivers/net/octeontx2/otx2_link.c
@@ -82,7 +82,7 @@ otx2_eth_dev_link_status_update(struct otx2_dev *dev,
 	rte_eth_linkstatus_set(eth_dev, &eth_link);
 
 	/* Set the flag and execute application callbacks */
-	_rte_eth_dev_callback_process(eth_dev, RTE_ETH_EVENT_INTR_LSC, NULL);
+	rte_eth_dev_callback_process(eth_dev, RTE_ETH_EVENT_INTR_LSC, NULL);
 }
 
 static int
diff --git a/drivers/net/qede/qede_main.c b/drivers/net/qede/qede_main.c
index 987a6f1e13..aecb98261b 100644
--- a/drivers/net/qede/qede_main.c
+++ b/drivers/net/qede/qede_main.c
@@ -650,8 +650,7 @@ void qed_link_update(struct ecore_hwfn *hwfn)
 	struct rte_eth_dev *dev = (struct rte_eth_dev *)qdev->ethdev;
 
 	if (!qede_link_update(dev, 0))
-		_rte_eth_dev_callback_process(dev,
-					      RTE_ETH_EVENT_INTR_LSC, NULL);
+		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
 }
 
 static int qed_drain(struct ecore_dev *edev)
diff --git a/drivers/net/sfc/sfc_intr.c b/drivers/net/sfc/sfc_intr.c
index 80feab68f8..da32d393c2 100644
--- a/drivers/net/sfc/sfc_intr.c
+++ b/drivers/net/sfc/sfc_intr.c
@@ -89,9 +89,9 @@ sfc_intr_line_handler(void *cb_arg)
 		sfc_notice(sa, "link status change event: link %s",
 			 sa->eth_dev->data->dev_link.link_status ?
 			 "UP" : "DOWN");
-		_rte_eth_dev_callback_process(sa->eth_dev,
-					      RTE_ETH_EVENT_INTR_LSC,
-					      NULL);
+		rte_eth_dev_callback_process(sa->eth_dev,
+					     RTE_ETH_EVENT_INTR_LSC,
+					     NULL);
 	}
 }
 
@@ -131,9 +131,9 @@ sfc_intr_message_handler(void *cb_arg)
 exit:
 	if (lsc_seq != sa->port.lsc_seq) {
 		sfc_notice(sa, "link status change event");
-		_rte_eth_dev_callback_process(sa->eth_dev,
-					      RTE_ETH_EVENT_INTR_LSC,
-					      NULL);
+		rte_eth_dev_callback_process(sa->eth_dev,
+					     RTE_ETH_EVENT_INTR_LSC,
+					     NULL);
 	}
 }
 
diff --git a/drivers/net/thunderx/nicvf_ethdev.c b/drivers/net/thunderx/nicvf_ethdev.c
index 959c8e4ddc..83d9488360 100644
--- a/drivers/net/thunderx/nicvf_ethdev.c
+++ b/drivers/net/thunderx/nicvf_ethdev.c
@@ -83,9 +83,9 @@ nicvf_interrupt(void *arg)
 			nicvf_link_status_update(nic, &link);
 			rte_eth_linkstatus_set(dev, &link);
 
-			_rte_eth_dev_callback_process(dev,
-						      RTE_ETH_EVENT_INTR_LSC,
-						      NULL);
+			rte_eth_dev_callback_process(dev,
+						     RTE_ETH_EVENT_INTR_LSC,
+						     NULL);
 		}
 	}
 
diff --git a/drivers/net/vhost/rte_eth_vhost.c b/drivers/net/vhost/rte_eth_vhost.c
index fa365605ef..ce32be9ce3 100644
--- a/drivers/net/vhost/rte_eth_vhost.c
+++ b/drivers/net/vhost/rte_eth_vhost.c
@@ -832,7 +832,7 @@ new_device(int vid)
 
 	VHOST_LOG(INFO, "Vhost device %d created\n", vid);
 
-	_rte_eth_dev_callback_process(eth_dev, RTE_ETH_EVENT_INTR_LSC, NULL);
+	rte_eth_dev_callback_process(eth_dev, RTE_ETH_EVENT_INTR_LSC, NULL);
 
 	return 0;
 }
@@ -889,7 +889,7 @@ destroy_device(int vid)
 	VHOST_LOG(INFO, "Vhost device %d destroyed\n", vid);
 	eth_vhost_uninstall_intr(eth_dev);
 
-	_rte_eth_dev_callback_process(eth_dev, RTE_ETH_EVENT_INTR_LSC, NULL);
+	rte_eth_dev_callback_process(eth_dev, RTE_ETH_EVENT_INTR_LSC, NULL);
 }
 
 static int
@@ -968,7 +968,7 @@ vring_state_changed(int vid, uint16_t vring, int enable)
 	VHOST_LOG(INFO, "vring%u is %s\n",
 			vring, enable ? "enabled" : "disabled");
 
-	_rte_eth_dev_callback_process(eth_dev, RTE_ETH_EVENT_QUEUE_STATE, NULL);
+	rte_eth_dev_callback_process(eth_dev, RTE_ETH_EVENT_QUEUE_STATE, NULL);
 
 	return 0;
 }
diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
index 4f2fa0d943..dac0f23052 100644
--- a/drivers/net/virtio/virtio_ethdev.c
+++ b/drivers/net/virtio/virtio_ethdev.c
@@ -1489,9 +1489,9 @@ virtio_interrupt_handler(void *param)
 
 	if (isr & VIRTIO_PCI_ISR_CONFIG) {
 		if (virtio_dev_link_update(dev, 0) == 0)
-			_rte_eth_dev_callback_process(dev,
-						      RTE_ETH_EVENT_INTR_LSC,
-						      NULL);
+			rte_eth_dev_callback_process(dev,
+						     RTE_ETH_EVENT_INTR_LSC,
+						     NULL);
 
 		if (vtpci_with_feature(hw, VIRTIO_NET_F_STATUS)) {
 			vtpci_read_dev_config(hw,
diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c
index 815fba2f55..fa80e75a5b 100644
--- a/drivers/net/vmxnet3/vmxnet3_ethdev.c
+++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c
@@ -1417,9 +1417,9 @@ vmxnet3_process_events(struct rte_eth_dev *dev)
 	if (events & VMXNET3_ECR_LINK) {
 		PMD_DRV_LOG(DEBUG, "Process events: VMXNET3_ECR_LINK event");
 		if (vmxnet3_dev_link_update(dev, 0) == 0)
-			_rte_eth_dev_callback_process(dev,
-						      RTE_ETH_EVENT_INTR_LSC,
-						      NULL);
+			rte_eth_dev_callback_process(dev,
+						     RTE_ETH_EVENT_INTR_LSC,
+						     NULL);
 	}
 
 	/* Check if there is an error on xmit/recv queues */
diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c
index f8d63c7e17..066751f287 100644
--- a/lib/librte_ethdev/rte_ethdev.c
+++ b/lib/librte_ethdev/rte_ethdev.c
@@ -549,7 +549,7 @@ rte_eth_dev_release_port(struct rte_eth_dev *eth_dev)
 	rte_eth_dev_shared_data_prepare();
 
 	if (eth_dev->state != RTE_ETH_DEV_UNUSED)
-		_rte_eth_dev_callback_process(eth_dev,
+		rte_eth_dev_callback_process(eth_dev,
 				RTE_ETH_EVENT_DESTROY, NULL);
 
 	rte_spinlock_lock(&rte_eth_dev_shared_data->ownership_lock);
@@ -1486,7 +1486,7 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
 }
 
 void
-_rte_eth_dev_reset(struct rte_eth_dev *dev)
+rte_eth_dev_internal_reset(struct rte_eth_dev *dev)
 {
 	if (dev->data->dev_started) {
 		RTE_ETHDEV_LOG(ERR, "Port %u must be stopped to allow reset\n",
@@ -4090,7 +4090,7 @@ rte_eth_dev_callback_unregister(uint16_t port_id,
 }
 
 int
-_rte_eth_dev_callback_process(struct rte_eth_dev *dev,
+rte_eth_dev_callback_process(struct rte_eth_dev *dev,
 	enum rte_eth_event_type event, void *ret_param)
 {
 	struct rte_eth_dev_callback *cb_lst;
@@ -4122,7 +4122,7 @@ rte_eth_dev_probing_finish(struct rte_eth_dev *dev)
 	if (dev == NULL)
 		return;
 
-	_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_NEW, NULL);
+	rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_NEW, NULL);
 
 	dev->state = RTE_ETH_DEV_ATTACHED;
 }
diff --git a/lib/librte_ethdev/rte_ethdev_driver.h b/lib/librte_ethdev/rte_ethdev_driver.h
index 5dfe9fdf1a..23cc1e0959 100644
--- a/lib/librte_ethdev/rte_ethdev_driver.h
+++ b/lib/librte_ethdev/rte_ethdev_driver.h
@@ -821,7 +821,7 @@ int rte_eth_dev_release_port(struct rte_eth_dev *eth_dev);
  *  void
  */
 __rte_internal
-void _rte_eth_dev_reset(struct rte_eth_dev *dev);
+void rte_eth_dev_internal_reset(struct rte_eth_dev *dev);
 
 /**
  * @internal Executes all the user application registered callbacks for
@@ -841,7 +841,7 @@ void _rte_eth_dev_reset(struct rte_eth_dev *dev);
  *  int
  */
 __rte_internal
-int _rte_eth_dev_callback_process(struct rte_eth_dev *dev,
+int rte_eth_dev_callback_process(struct rte_eth_dev *dev,
 		enum rte_eth_event_type event, void *ret_param);
 
 /**
diff --git a/lib/librte_ethdev/rte_ethdev_version.map b/lib/librte_ethdev/rte_ethdev_version.map
index a85986a2a2..b6630dfabe 100644
--- a/lib/librte_ethdev/rte_ethdev_version.map
+++ b/lib/librte_ethdev/rte_ethdev_version.map
@@ -228,17 +228,17 @@ EXPERIMENTAL {
 INTERNAL {
 	global:
 
-	_rte_eth_dev_callback_process;
-	_rte_eth_dev_reset;
 	rte_eth_dev_allocate;
 	rte_eth_dev_allocated;
 	rte_eth_dev_attach_secondary;
+	rte_eth_dev_callback_process;
 	rte_eth_dev_create;
 	rte_eth_dev_destroy;
 	rte_eth_dev_is_rx_hairpin_queue;
 	rte_eth_dev_is_tx_hairpin_queue;
 	rte_eth_dev_probing_finish;
 	rte_eth_dev_release_port;
+	rte_eth_dev_internal_reset;
 	rte_eth_devargs_parse;
 	rte_eth_dma_zone_free;
 	rte_eth_dma_zone_reserve;
-- 
2.26.2


^ permalink raw reply	[relevance 2%]

* [dpdk-dev] [PATCH v4 4/7] ethdev: mark internal functions
  2020-09-09 13:01  4% ` [dpdk-dev] [PATCH v4 1/7] ethdev: deprecate descriptor status check API Ferruh Yigit
  2020-09-09 13:01  6%   ` [dpdk-dev] [PATCH v4 2/7] ethdev: move inline device operations Ferruh Yigit
  2020-09-09 13:01  3%   ` [dpdk-dev] [PATCH v4 3/7] ethdev: make device operations struct private Ferruh Yigit
@ 2020-09-09 13:01 12%   ` Ferruh Yigit
  2020-09-09 13:01  2%   ` [dpdk-dev] [PATCH v4 7/7] ethdev: remove underscore prefix from internal API Ferruh Yigit
  3 siblings, 0 replies; 200+ results
From: Ferruh Yigit @ 2020-09-09 13:01 UTC (permalink / raw)
  To: dev, Ray Kinsella, Neil Horman, John McNamara, Marko Kovacevic,
	Thomas Monjalon, Andrew Rybchenko, Ori Kam
  Cc: Ferruh Yigit, David Marchand

Some ethdev functions are for drivers only, not for applications.

Since we have '__rte_internal' tag available now, marking internal
functions with it and moving functions to INTERNAL section in linker
script.
This is also good for documenting the internal functions.

Some internal APIs seems marked as experimental, but it doesn't make
sense to have internals APIs as experimental, updating their tag and
doxygen comments.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: David Marchand <david.marchand@redhat.com>
---
Cc: David Marchand <david.marchand@redhat.com>
v3:
* release note updated
---
 doc/guides/rel_notes/deprecation.rst     |  6 -----
 doc/guides/rel_notes/release_20_11.rst   |  2 ++
 lib/librte_ethdev/rte_ethdev.h           |  3 +--
 lib/librte_ethdev/rte_ethdev_driver.h    | 33 ++++++++++--------------
 lib/librte_ethdev/rte_ethdev_version.map | 30 ++++++++++-----------
 lib/librte_ethdev/rte_flow_driver.h      |  4 +--
 6 files changed, 31 insertions(+), 47 deletions(-)

diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 8770c87006..6c82db2961 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -225,12 +225,6 @@ Deprecation Notices
   following the IPv6 header, as proposed in RFC
   https://mails.dpdk.org/archives/dev/2020-August/177257.html.
 
-* ethdev: Some internal APIs for driver usage are exported in the .map file.
-  Now DPDK has ``__rte_internal`` marker so we can mark internal APIs and move
-  them to the INTERNAL block in .map. Although these APIs are internal it will
-  break the ABI checks, that is why change is planned for 20.11.
-  The list of internal APIs are mainly ones listed in ``rte_ethdev_driver.h``.
-
 * traffic manager: All traffic manager API's in ``rte_tm.h`` were mistakenly made
   ABI stable in the v19.11 release. The TM maintainer and other contributors have
   agreed to keep the TM APIs as experimental in expectation of additional spec
diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index 9b5bfcfae8..f8c3521b3f 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -113,6 +113,8 @@ ABI Changes
 
   * ``struct eth_dev_ops`` is no more accessible by applications, which was already internal data structure.
 
+  * ``ethdev`` internal functions are marked with ``__rte_internal`` tag.
+
 
 Known Issues
 ------------
diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
index b6f26a513b..e7733d828b 100644
--- a/lib/librte_ethdev/rte_ethdev.h
+++ b/lib/librte_ethdev/rte_ethdev.h
@@ -1724,8 +1724,7 @@ rte_eth_find_next_of(uint16_t port_id_start,
  */
 __rte_experimental
 uint16_t
-rte_eth_find_next_sibling(uint16_t port_id_start,
-		uint16_t ref_port_id);
+rte_eth_find_next_sibling(uint16_t port_id_start, uint16_t ref_port_id);
 
 /**
  * Macro to iterate over all ethdev ports sharing the same rte_device
diff --git a/lib/librte_ethdev/rte_ethdev_driver.h b/lib/librte_ethdev/rte_ethdev_driver.h
index b006cbbe92..3d1bc33272 100644
--- a/lib/librte_ethdev/rte_ethdev_driver.h
+++ b/lib/librte_ethdev/rte_ethdev_driver.h
@@ -759,6 +759,7 @@ int rte_eth_dev_is_tx_hairpin_queue(struct rte_eth_dev *dev, uint16_t queue_id);
  * @return
  *   - The pointer to the ethdev slot, on success. NULL on error
  */
+__rte_internal
 struct rte_eth_dev *rte_eth_dev_allocated(const char *name);
 
 /**
@@ -770,6 +771,7 @@ struct rte_eth_dev *rte_eth_dev_allocated(const char *name);
  * @return
  *   - Slot in the rte_dev_devices array for a new device;
  */
+__rte_internal
 struct rte_eth_dev *rte_eth_dev_allocate(const char *name);
 
 /**
@@ -783,6 +785,7 @@ struct rte_eth_dev *rte_eth_dev_allocate(const char *name);
  *        device.
  *   - Error: Null pointer.
  */
+__rte_internal
 struct rte_eth_dev *rte_eth_dev_attach_secondary(const char *name);
 
 /**
@@ -801,6 +804,7 @@ struct rte_eth_dev *rte_eth_dev_attach_secondary(const char *name);
  * @return
  *   - 0 on success, negative on error
  */
+__rte_internal
 int rte_eth_dev_release_port(struct rte_eth_dev *eth_dev);
 
 /**
@@ -814,6 +818,7 @@ int rte_eth_dev_release_port(struct rte_eth_dev *eth_dev);
  * @return
  *  void
  */
+__rte_internal
 void _rte_eth_dev_reset(struct rte_eth_dev *dev);
 
 /**
@@ -833,6 +838,7 @@ void _rte_eth_dev_reset(struct rte_eth_dev *dev);
  * @return
  *  int
  */
+__rte_internal
 int _rte_eth_dev_callback_process(struct rte_eth_dev *dev,
 		enum rte_eth_event_type event, void *ret_param);
 
@@ -848,6 +854,7 @@ int _rte_eth_dev_callback_process(struct rte_eth_dev *dev,
  * @param dev
  *  New ethdev port.
  */
+__rte_internal
 void rte_eth_dev_probing_finish(struct rte_eth_dev *dev);
 
 /**
@@ -869,6 +876,7 @@ void rte_eth_dev_probing_finish(struct rte_eth_dev *dev);
  * @param socket_id
  *   The *socket_id* argument is the socket identifier in case of NUMA.
  */
+__rte_internal
 const struct rte_memzone *
 rte_eth_dma_zone_reserve(const struct rte_eth_dev *eth_dev, const char *name,
 			 uint16_t queue_id, size_t size,
@@ -955,9 +963,6 @@ rte_eth_linkstatus_get(const struct rte_eth_dev *dev,
 }
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
  * Allocate an unique switch domain identifier.
  *
  * A pool of switch domain identifiers which can be allocated on request. This
@@ -971,14 +976,11 @@ rte_eth_linkstatus_get(const struct rte_eth_dev *dev,
  * @return
  *   Negative errno value on error, 0 on success.
  */
-__rte_experimental
+__rte_internal
 int
 rte_eth_switch_domain_alloc(uint16_t *domain_id);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
  * Free switch domain.
  *
  * Return a switch domain identifier to the pool of free identifiers after it is
@@ -990,7 +992,7 @@ rte_eth_switch_domain_alloc(uint16_t *domain_id);
  * @return
  *   Negative errno value on error, 0 on success.
  */
-__rte_experimental
+__rte_internal
 int
 rte_eth_switch_domain_free(uint16_t domain_id);
 
@@ -1007,9 +1009,6 @@ struct rte_eth_devargs {
 };
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
  * PMD helper function to parse ethdev arguments
  *
  * @param devargs
@@ -1020,7 +1019,7 @@ struct rte_eth_devargs {
  * @return
  *   Negative errno value on error, 0 on success.
  */
-__rte_experimental
+__rte_internal
 int
 rte_eth_devargs_parse(const char *devargs, struct rte_eth_devargs *eth_devargs);
 
@@ -1030,9 +1029,6 @@ typedef int (*ethdev_bus_specific_init)(struct rte_eth_dev *ethdev,
 	void *bus_specific_init_params);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
  * PMD helper function for the creation of a new ethdev ports.
  *
  * @param device
@@ -1053,7 +1049,7 @@ typedef int (*ethdev_bus_specific_init)(struct rte_eth_dev *ethdev,
  * @return
  *   Negative errno value on error, 0 on success.
  */
-__rte_experimental
+__rte_internal
 int
 rte_eth_dev_create(struct rte_device *device, const char *name,
 	size_t priv_data_size,
@@ -1064,9 +1060,6 @@ rte_eth_dev_create(struct rte_device *device, const char *name,
 typedef int (*ethdev_uninit_t)(struct rte_eth_dev *ethdev);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
  * PMD helper function for cleaning up the resources of a ethdev port on it's
  * destruction.
  *
@@ -1078,7 +1071,7 @@ typedef int (*ethdev_uninit_t)(struct rte_eth_dev *ethdev);
  * @return
  *   Negative errno value on error, 0 on success.
  */
-__rte_experimental
+__rte_internal
 int
 rte_eth_dev_destroy(struct rte_eth_dev *ethdev, ethdev_uninit_t ethdev_uninit);
 
diff --git a/lib/librte_ethdev/rte_ethdev_version.map b/lib/librte_ethdev/rte_ethdev_version.map
index 8d9d6b1c67..6a84f3d76d 100644
--- a/lib/librte_ethdev/rte_ethdev_version.map
+++ b/lib/librte_ethdev/rte_ethdev_version.map
@@ -1,8 +1,6 @@
 DPDK_21 {
 	global:
 
-	_rte_eth_dev_callback_process;
-	_rte_eth_dev_reset;
 	rte_eth_add_first_rx_callback;
 	rte_eth_add_rx_callback;
 	rte_eth_add_tx_callback;
@@ -10,9 +8,6 @@ DPDK_21 {
 	rte_eth_allmulticast_enable;
 	rte_eth_allmulticast_get;
 	rte_eth_dev_adjust_nb_rx_tx_desc;
-	rte_eth_dev_allocate;
-	rte_eth_dev_allocated;
-	rte_eth_dev_attach_secondary;
 	rte_eth_dev_callback_register;
 	rte_eth_dev_callback_unregister;
 	rte_eth_dev_close;
@@ -44,8 +39,6 @@ DPDK_21 {
 	rte_eth_dev_mac_addr_remove;
 	rte_eth_dev_pool_ops_supported;
 	rte_eth_dev_priority_flow_ctrl_set;
-	rte_eth_dev_probing_finish;
-	rte_eth_dev_release_port;
 	rte_eth_dev_reset;
 	rte_eth_dev_rss_hash_conf_get;
 	rte_eth_dev_rss_hash_update;
@@ -81,7 +74,6 @@ DPDK_21 {
 	rte_eth_dev_udp_tunnel_port_delete;
 	rte_eth_dev_vlan_filter;
 	rte_eth_devices;
-	rte_eth_dma_zone_reserve;
 	rte_eth_find_next;
 	rte_eth_find_next_owned_by;
 	rte_eth_iterator_cleanup;
@@ -195,16 +187,8 @@ EXPERIMENTAL {
 	rte_eth_dev_owner_unset;
 
 	# added in 18.05
-	rte_eth_dev_create;
-	rte_eth_dev_destroy;
 	rte_eth_dev_get_module_eeprom;
 	rte_eth_dev_get_module_info;
-	rte_eth_devargs_parse;
-	rte_eth_switch_domain_alloc;
-	rte_eth_switch_domain_free;
-
-	# added in 18.08
-	rte_flow_expand_rss;
 
 	# added in 18.11
 	rte_eth_dev_rx_intr_ctl_q_get_fd;
@@ -246,5 +230,19 @@ EXPERIMENTAL {
 INTERNAL {
 	global:
 
+	_rte_eth_dev_callback_process;
+	_rte_eth_dev_reset;
+	rte_eth_dev_allocate;
+	rte_eth_dev_allocated;
+	rte_eth_dev_attach_secondary;
+	rte_eth_dev_create;
+	rte_eth_dev_destroy;
+	rte_eth_dev_probing_finish;
+	rte_eth_dev_release_port;
+	rte_eth_devargs_parse;
 	rte_eth_dma_zone_free;
+	rte_eth_dma_zone_reserve;
+	rte_eth_switch_domain_alloc;
+	rte_eth_switch_domain_free;
+	rte_flow_expand_rss;
 };
diff --git a/lib/librte_ethdev/rte_flow_driver.h b/lib/librte_ethdev/rte_flow_driver.h
index 997598db11..3ee871d3eb 100644
--- a/lib/librte_ethdev/rte_flow_driver.h
+++ b/lib/librte_ethdev/rte_flow_driver.h
@@ -161,8 +161,6 @@ struct rte_flow_expand_rss {
  * Expand RSS flows into several possible flows according to the RSS hash
  * fields requested and the driver capabilities.
  *
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * @param[out] buf
  *   Buffer to store the result expansion.
  * @param[in] size
@@ -183,7 +181,7 @@ struct rte_flow_expand_rss {
  *
  *   -E2BIG: graph-depth @p graph is too deep.
  */
-__rte_experimental
+__rte_internal
 int
 rte_flow_expand_rss(struct rte_flow_expand_rss *buf, size_t size,
 		    const struct rte_flow_item *pattern, uint64_t types,
-- 
2.26.2


^ permalink raw reply	[relevance 12%]

* [dpdk-dev] [PATCH v4 3/7] ethdev: make device operations struct private
  2020-09-09 13:01  4% ` [dpdk-dev] [PATCH v4 1/7] ethdev: deprecate descriptor status check API Ferruh Yigit
  2020-09-09 13:01  6%   ` [dpdk-dev] [PATCH v4 2/7] ethdev: move inline device operations Ferruh Yigit
@ 2020-09-09 13:01  3%   ` Ferruh Yigit
  2020-09-09 13:01 12%   ` [dpdk-dev] [PATCH v4 4/7] ethdev: mark internal functions Ferruh Yigit
  2020-09-09 13:01  2%   ` [dpdk-dev] [PATCH v4 7/7] ethdev: remove underscore prefix from internal API Ferruh Yigit
  3 siblings, 0 replies; 200+ results
From: Ferruh Yigit @ 2020-09-09 13:01 UTC (permalink / raw)
  To: dev, Ray Kinsella, Neil Horman, John McNamara, Marko Kovacevic,
	Beilei Xing, Jeff Guo, Wei Zhao, Thomas Monjalon,
	Andrew Rybchenko, Ori Kam, Cristian Dumitrescu
  Cc: Ferruh Yigit, David Marchand

Hiding the 'struct eth_dev_ops' from applications.

Removing relevant deprecation notice.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: David Marchand <david.marchand@redhat.com>
---
Cc: David Marchand <david.marchand@redhat.com>
v3:
* release note updated

v4:
* Fix wording in release notes, s/inline/internal
---
 doc/guides/rel_notes/deprecation.rst     |   9 -
 doc/guides/rel_notes/release_20_11.rst   |   2 +
 drivers/net/i40e/i40e_vf_representor.c   |   1 +
 drivers/net/ixgbe/ixgbe_vf_representor.c |   1 +
 lib/librte_ethdev/rte_ethdev_core.h      | 712 +----------------------
 lib/librte_ethdev/rte_ethdev_driver.h    | 694 ++++++++++++++++++++++
 lib/librte_ethdev/rte_flow_driver.h      |   1 +
 lib/librte_ethdev/rte_mtr_driver.h       |   1 +
 lib/librte_ethdev/rte_tm_driver.h        |   1 +
 9 files changed, 710 insertions(+), 712 deletions(-)

diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 35c676e262..8770c87006 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -156,15 +156,6 @@ Deprecation Notices
   Due to adoption of C11 atomic builtins, the field ``refcnt_atomic``
   will be replaced with ``refcnt`` of type ``uint16_t`` in DPDK 20.11.
 
-* ethdev: Split the ``struct eth_dev_ops`` struct to hide it as much as possible
-  will be done in 20.11.
-  Currently the ``struct eth_dev_ops`` struct is accessible by the application
-  because some inline functions, like ``rte_eth_tx_descriptor_status()``,
-  access the struct directly.
-  The struct will be separate in two, the ops used by inline functions will be
-  moved next to Rx/Tx burst functions, rest of the ``struct eth_dev_ops`` struct
-  will be moved to header file for drivers to hide it from applications.
-
 * ethdev: the legacy filter API, including
   ``rte_eth_dev_filter_supported()``, ``rte_eth_dev_filter_ctrl()`` as well
   as filter types MACVLAN, ETHERTYPE, FLEXIBLE, SYN, NTUPLE, TUNNEL, FDIR,
diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index ff7242012b..9b5bfcfae8 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -111,6 +111,8 @@ ABI Changes
     * ``eth_rx_descriptor_status_t rx_descriptor_status;``
     * ``eth_tx_descriptor_status_t tx_descriptor_status;``
 
+  * ``struct eth_dev_ops`` is no more accessible by applications, which was already internal data structure.
+
 
 Known Issues
 ------------
diff --git a/drivers/net/i40e/i40e_vf_representor.c b/drivers/net/i40e/i40e_vf_representor.c
index 083bc1a5f3..f09d4d8798 100644
--- a/drivers/net/i40e/i40e_vf_representor.c
+++ b/drivers/net/i40e/i40e_vf_representor.c
@@ -7,6 +7,7 @@
 #include <rte_pci.h>
 #include <rte_malloc.h>
 
+#include "rte_ethdev_driver.h"
 #include "base/i40e_type.h"
 #include "base/virtchnl.h"
 #include "i40e_ethdev.h"
diff --git a/drivers/net/ixgbe/ixgbe_vf_representor.c b/drivers/net/ixgbe/ixgbe_vf_representor.c
index dbbef294ae..edb5d43846 100644
--- a/drivers/net/ixgbe/ixgbe_vf_representor.c
+++ b/drivers/net/ixgbe/ixgbe_vf_representor.c
@@ -6,6 +6,7 @@
 #include <rte_pci.h>
 #include <rte_malloc.h>
 
+#include "rte_ethdev_driver.h"
 #include "base/ixgbe_type.h"
 #include "base/ixgbe_vf.h"
 #include "ixgbe_ethdev.h"
diff --git a/lib/librte_ethdev/rte_ethdev_core.h b/lib/librte_ethdev/rte_ethdev_core.h
index 8ed827475f..bedd69acbd 100644
--- a/lib/librte_ethdev/rte_ethdev_core.h
+++ b/lib/librte_ethdev/rte_ethdev_core.h
@@ -21,322 +21,8 @@ struct rte_eth_dev_callback;
 /** @internal Structure to keep track of registered callbacks */
 TAILQ_HEAD(rte_eth_dev_cb_list, rte_eth_dev_callback);
 
-/*
- * Definitions of all functions exported by an Ethernet driver through the
- * the generic structure of type *eth_dev_ops* supplied in the *rte_eth_dev*
- * structure associated with an Ethernet device.
- */
 struct rte_eth_dev;
 
-typedef int  (*eth_dev_configure_t)(struct rte_eth_dev *dev);
-/**< @internal Ethernet device configuration. */
-
-typedef int  (*eth_dev_start_t)(struct rte_eth_dev *dev);
-/**< @internal Function used to start a configured Ethernet device. */
-
-typedef void (*eth_dev_stop_t)(struct rte_eth_dev *dev);
-/**< @internal Function used to stop a configured Ethernet device. */
-
-typedef int  (*eth_dev_set_link_up_t)(struct rte_eth_dev *dev);
-/**< @internal Function used to link up a configured Ethernet device. */
-
-typedef int  (*eth_dev_set_link_down_t)(struct rte_eth_dev *dev);
-/**< @internal Function used to link down a configured Ethernet device. */
-
-typedef void (*eth_dev_close_t)(struct rte_eth_dev *dev);
-/**< @internal Function used to close a configured Ethernet device. */
-
-typedef int (*eth_dev_reset_t)(struct rte_eth_dev *dev);
-/** <@internal Function used to reset a configured Ethernet device. */
-
-typedef int (*eth_is_removed_t)(struct rte_eth_dev *dev);
-/**< @internal Function used to detect an Ethernet device removal. */
-
-/**
- * @internal
- * Function used to enable the Rx promiscuous mode of an Ethernet device.
- *
- * @param dev
- *   ethdev handle of port.
- *
- * @return
- *   Negative errno value on error, 0 on success.
- *
- * @retval 0
- *   Success, promiscuous mode is enabled.
- * @retval -ENOTSUP
- *   Promiscuous mode is not supported.
- * @retval -ENODEV
- *   Device is gone.
- * @retval -E_RTE_SECONDARY
- *   Function was called from a secondary process instance and not supported.
- * @retval -ETIMEDOUT
- *   Attempt to enable promiscuos mode failed because of timeout.
- * @retval -EAGAIN
- *   Failed to enable promiscuous mode.
- */
-typedef int (*eth_promiscuous_enable_t)(struct rte_eth_dev *dev);
-
-/**
- * @internal
- * Function used to disable the Rx promiscuous mode of an Ethernet device.
- *
- * @param dev
- *   ethdev handle of port.
- *
- * @return
- *   Negative errno value on error, 0 on success.
- *
- * @retval 0
- *   Success, promiscuous mode is disabled.
- * @retval -ENOTSUP
- *   Promiscuous mode disabling is not supported.
- * @retval -ENODEV
- *   Device is gone.
- * @retval -E_RTE_SECONDARY
- *   Function was called from a secondary process instance and not supported.
- * @retval -ETIMEDOUT
- *   Attempt to disable promiscuos mode failed because of timeout.
- * @retval -EAGAIN
- *   Failed to disable promiscuous mode.
- */
-typedef int (*eth_promiscuous_disable_t)(struct rte_eth_dev *dev);
-
-/**
- * @internal
- * Enable the receipt of all multicast packets by an Ethernet device.
- *
- * @param dev
- *   ethdev handle of port.
- *
- * @return
- *   Negative errno value on error, 0 on success.
- *
- * @retval 0
- *   Success, all-multicast mode is enabled.
- * @retval -ENOTSUP
- *   All-multicast mode is not supported.
- * @retval -ENODEV
- *   Device is gone.
- * @retval -E_RTE_SECONDARY
- *   Function was called from a secondary process instance and not supported.
- * @retval -ETIMEDOUT
- *   Attempt to enable all-multicast mode failed because of timeout.
- * @retval -EAGAIN
- *   Failed to enable all-multicast mode.
- */
-typedef int (*eth_allmulticast_enable_t)(struct rte_eth_dev *dev);
-
-/**
- * @internal
- * Disable the receipt of all multicast packets by an Ethernet device.
- *
- * @param dev
- *   ethdev handle of port.
- *
- * @return
- *   Negative errno value on error, 0 on success.
- *
- * @retval 0
- *   Success, all-multicast mode is disabled.
- * @retval -ENOTSUP
- *   All-multicast mode disabling is not supported.
- * @retval -ENODEV
- *   Device is gone.
- * @retval -E_RTE_SECONDARY
- *   Function was called from a secondary process instance and not supported.
- * @retval -ETIMEDOUT
- *   Attempt to disable all-multicast mode failed because of timeout.
- * @retval -EAGAIN
- *   Failed to disable all-multicast mode.
- */
-typedef int (*eth_allmulticast_disable_t)(struct rte_eth_dev *dev);
-
-typedef int (*eth_link_update_t)(struct rte_eth_dev *dev,
-				int wait_to_complete);
-/**< @internal Get link speed, duplex mode and state (up/down) of an Ethernet device. */
-
-typedef int (*eth_stats_get_t)(struct rte_eth_dev *dev,
-				struct rte_eth_stats *igb_stats);
-/**< @internal Get global I/O statistics of an Ethernet device. */
-
-/**
- * @internal
- * Reset global I/O statistics of an Ethernet device to 0.
- *
- * @param dev
- *   ethdev handle of port.
- *
- * @return
- *   Negative errno value on error, 0 on success.
- *
- * @retval 0
- *   Success, statistics has been reset.
- * @retval -ENOTSUP
- *   Resetting statistics is not supported.
- * @retval -EINVAL
- *   Resetting statistics is not valid.
- * @retval -ENOMEM
- *   Not enough memory to get the stats.
- */
-typedef int (*eth_stats_reset_t)(struct rte_eth_dev *dev);
-
-typedef int (*eth_xstats_get_t)(struct rte_eth_dev *dev,
-	struct rte_eth_xstat *stats, unsigned n);
-/**< @internal Get extended stats of an Ethernet device. */
-
-typedef int (*eth_xstats_get_by_id_t)(struct rte_eth_dev *dev,
-				      const uint64_t *ids,
-				      uint64_t *values,
-				      unsigned int n);
-/**< @internal Get extended stats of an Ethernet device. */
-
-/**
- * @internal
- * Reset extended stats of an Ethernet device.
- *
- * @param dev
- *   ethdev handle of port.
- *
- * @return
- *   Negative errno value on error, 0 on success.
- *
- * @retval 0
- *   Success, statistics has been reset.
- * @retval -ENOTSUP
- *   Resetting statistics is not supported.
- * @retval -EINVAL
- *   Resetting statistics is not valid.
- * @retval -ENOMEM
- *   Not enough memory to get the stats.
- */
-typedef int (*eth_xstats_reset_t)(struct rte_eth_dev *dev);
-
-typedef int (*eth_xstats_get_names_t)(struct rte_eth_dev *dev,
-	struct rte_eth_xstat_name *xstats_names, unsigned size);
-/**< @internal Get names of extended stats of an Ethernet device. */
-
-typedef int (*eth_xstats_get_names_by_id_t)(struct rte_eth_dev *dev,
-	struct rte_eth_xstat_name *xstats_names, const uint64_t *ids,
-	unsigned int size);
-/**< @internal Get names of extended stats of an Ethernet device. */
-
-typedef int (*eth_queue_stats_mapping_set_t)(struct rte_eth_dev *dev,
-					     uint16_t queue_id,
-					     uint8_t stat_idx,
-					     uint8_t is_rx);
-/**< @internal Set a queue statistics mapping for a tx/rx queue of an Ethernet device. */
-
-typedef int (*eth_dev_infos_get_t)(struct rte_eth_dev *dev,
-				   struct rte_eth_dev_info *dev_info);
-/**< @internal Get specific information of an Ethernet device. */
-
-typedef const uint32_t *(*eth_dev_supported_ptypes_get_t)(struct rte_eth_dev *dev);
-/**< @internal Get supported ptypes of an Ethernet device. */
-
-/**
- * @internal
- * Inform Ethernet device about reduced range of packet types to handle.
- *
- * @param dev
- *   The Ethernet device identifier.
- * @param ptype_mask
- *   The ptype family that application is interested in should be bitwise OR of
- *   RTE_PTYPE_*_MASK or 0.
- * @return
- *   - (0) if Success.
- */
-typedef int (*eth_dev_ptypes_set_t)(struct rte_eth_dev *dev,
-				     uint32_t ptype_mask);
-
-typedef int (*eth_queue_start_t)(struct rte_eth_dev *dev,
-				    uint16_t queue_id);
-/**< @internal Start rx and tx of a queue of an Ethernet device. */
-
-typedef int (*eth_queue_stop_t)(struct rte_eth_dev *dev,
-				    uint16_t queue_id);
-/**< @internal Stop rx and tx of a queue of an Ethernet device. */
-
-typedef int (*eth_rx_queue_setup_t)(struct rte_eth_dev *dev,
-				    uint16_t rx_queue_id,
-				    uint16_t nb_rx_desc,
-				    unsigned int socket_id,
-				    const struct rte_eth_rxconf *rx_conf,
-				    struct rte_mempool *mb_pool);
-/**< @internal Set up a receive queue of an Ethernet device. */
-
-typedef int (*eth_tx_queue_setup_t)(struct rte_eth_dev *dev,
-				    uint16_t tx_queue_id,
-				    uint16_t nb_tx_desc,
-				    unsigned int socket_id,
-				    const struct rte_eth_txconf *tx_conf);
-/**< @internal Setup a transmit queue of an Ethernet device. */
-
-typedef int (*eth_rx_enable_intr_t)(struct rte_eth_dev *dev,
-				    uint16_t rx_queue_id);
-/**< @internal Enable interrupt of a receive queue of an Ethernet device. */
-
-typedef int (*eth_rx_disable_intr_t)(struct rte_eth_dev *dev,
-				    uint16_t rx_queue_id);
-/**< @internal Disable interrupt of a receive queue of an Ethernet device. */
-
-typedef void (*eth_queue_release_t)(void *queue);
-/**< @internal Release memory resources allocated by given RX/TX queue. */
-
-typedef uint32_t (*eth_rx_queue_count_t)(struct rte_eth_dev *dev,
-					 uint16_t rx_queue_id);
-/**< @internal Get number of used descriptors on a receive queue. */
-
-typedef int (*eth_rx_descriptor_done_t)(void *rxq, uint16_t offset);
-/**< @internal Check DD bit of specific RX descriptor */
-
-typedef int (*eth_rx_descriptor_status_t)(void *rxq, uint16_t offset);
-/**< @internal Check the status of a Rx descriptor */
-
-typedef int (*eth_tx_descriptor_status_t)(void *txq, uint16_t offset);
-/**< @internal Check the status of a Tx descriptor */
-
-typedef int (*eth_fw_version_get_t)(struct rte_eth_dev *dev,
-				     char *fw_version, size_t fw_size);
-/**< @internal Get firmware information of an Ethernet device. */
-
-typedef int (*eth_tx_done_cleanup_t)(void *txq, uint32_t free_cnt);
-/**< @internal Force mbufs to be from TX ring. */
-
-typedef void (*eth_rxq_info_get_t)(struct rte_eth_dev *dev,
-	uint16_t rx_queue_id, struct rte_eth_rxq_info *qinfo);
-
-typedef void (*eth_txq_info_get_t)(struct rte_eth_dev *dev,
-	uint16_t tx_queue_id, struct rte_eth_txq_info *qinfo);
-
-typedef int (*eth_burst_mode_get_t)(struct rte_eth_dev *dev,
-	uint16_t queue_id, struct rte_eth_burst_mode *mode);
-
-typedef int (*mtu_set_t)(struct rte_eth_dev *dev, uint16_t mtu);
-/**< @internal Set MTU. */
-
-typedef int (*vlan_filter_set_t)(struct rte_eth_dev *dev,
-				  uint16_t vlan_id,
-				  int on);
-/**< @internal filtering of a VLAN Tag Identifier by an Ethernet device. */
-
-typedef int (*vlan_tpid_set_t)(struct rte_eth_dev *dev,
-			       enum rte_vlan_type type, uint16_t tpid);
-/**< @internal set the outer/inner VLAN-TPID by an Ethernet device. */
-
-typedef int (*vlan_offload_set_t)(struct rte_eth_dev *dev, int mask);
-/**< @internal set VLAN offload function by an Ethernet device. */
-
-typedef int (*vlan_pvid_set_t)(struct rte_eth_dev *dev,
-			       uint16_t vlan_id,
-			       int on);
-/**< @internal set port based TX VLAN insertion by an Ethernet device. */
-
-typedef void (*vlan_strip_queue_set_t)(struct rte_eth_dev *dev,
-				  uint16_t rx_queue_id,
-				  int on);
-/**< @internal VLAN stripping enable/disable by an queue of Ethernet device. */
-
 typedef uint16_t (*eth_rx_burst_t)(void *rxq,
 				   struct rte_mbuf **rx_pkts,
 				   uint16_t nb_pkts);
@@ -352,400 +38,20 @@ typedef uint16_t (*eth_tx_prep_t)(void *txq,
 				   uint16_t nb_pkts);
 /**< @internal Prepare output packets on a transmit queue of an Ethernet device. */
 
-typedef int (*flow_ctrl_get_t)(struct rte_eth_dev *dev,
-			       struct rte_eth_fc_conf *fc_conf);
-/**< @internal Get current flow control parameter on an Ethernet device */
-
-typedef int (*flow_ctrl_set_t)(struct rte_eth_dev *dev,
-			       struct rte_eth_fc_conf *fc_conf);
-/**< @internal Setup flow control parameter on an Ethernet device */
-
-typedef int (*priority_flow_ctrl_set_t)(struct rte_eth_dev *dev,
-				struct rte_eth_pfc_conf *pfc_conf);
-/**< @internal Setup priority flow control parameter on an Ethernet device */
-
-typedef int (*reta_update_t)(struct rte_eth_dev *dev,
-			     struct rte_eth_rss_reta_entry64 *reta_conf,
-			     uint16_t reta_size);
-/**< @internal Update RSS redirection table on an Ethernet device */
-
-typedef int (*reta_query_t)(struct rte_eth_dev *dev,
-			    struct rte_eth_rss_reta_entry64 *reta_conf,
-			    uint16_t reta_size);
-/**< @internal Query RSS redirection table on an Ethernet device */
-
-typedef int (*rss_hash_update_t)(struct rte_eth_dev *dev,
-				 struct rte_eth_rss_conf *rss_conf);
-/**< @internal Update RSS hash configuration of an Ethernet device */
-
-typedef int (*rss_hash_conf_get_t)(struct rte_eth_dev *dev,
-				   struct rte_eth_rss_conf *rss_conf);
-/**< @internal Get current RSS hash configuration of an Ethernet device */
-
-typedef int (*eth_dev_led_on_t)(struct rte_eth_dev *dev);
-/**< @internal Turn on SW controllable LED on an Ethernet device */
-
-typedef int (*eth_dev_led_off_t)(struct rte_eth_dev *dev);
-/**< @internal Turn off SW controllable LED on an Ethernet device */
-
-typedef void (*eth_mac_addr_remove_t)(struct rte_eth_dev *dev, uint32_t index);
-/**< @internal Remove MAC address from receive address register */
-
-typedef int (*eth_mac_addr_add_t)(struct rte_eth_dev *dev,
-				  struct rte_ether_addr *mac_addr,
-				  uint32_t index,
-				  uint32_t vmdq);
-/**< @internal Set a MAC address into Receive Address Address Register */
-
-typedef int (*eth_mac_addr_set_t)(struct rte_eth_dev *dev,
-				  struct rte_ether_addr *mac_addr);
-/**< @internal Set a MAC address into Receive Address Address Register */
-
-typedef int (*eth_uc_hash_table_set_t)(struct rte_eth_dev *dev,
-				  struct rte_ether_addr *mac_addr,
-				  uint8_t on);
-/**< @internal Set a Unicast Hash bitmap */
-
-typedef int (*eth_uc_all_hash_table_set_t)(struct rte_eth_dev *dev,
-				  uint8_t on);
-/**< @internal Set all Unicast Hash bitmap */
-
-typedef int (*eth_set_queue_rate_limit_t)(struct rte_eth_dev *dev,
-				uint16_t queue_idx,
-				uint16_t tx_rate);
-/**< @internal Set queue TX rate */
-
-typedef int (*eth_mirror_rule_set_t)(struct rte_eth_dev *dev,
-				  struct rte_eth_mirror_conf *mirror_conf,
-				  uint8_t rule_id,
-				  uint8_t on);
-/**< @internal Add a traffic mirroring rule on an Ethernet device */
-
-typedef int (*eth_mirror_rule_reset_t)(struct rte_eth_dev *dev,
-				  uint8_t rule_id);
-/**< @internal Remove a traffic mirroring rule on an Ethernet device */
-
-typedef int (*eth_udp_tunnel_port_add_t)(struct rte_eth_dev *dev,
-					 struct rte_eth_udp_tunnel *tunnel_udp);
-/**< @internal Add tunneling UDP port */
-
-typedef int (*eth_udp_tunnel_port_del_t)(struct rte_eth_dev *dev,
-					 struct rte_eth_udp_tunnel *tunnel_udp);
-/**< @internal Delete tunneling UDP port */
-
-typedef int (*eth_set_mc_addr_list_t)(struct rte_eth_dev *dev,
-				      struct rte_ether_addr *mc_addr_set,
-				      uint32_t nb_mc_addr);
-/**< @internal set the list of multicast addresses on an Ethernet device */
-
-typedef int (*eth_timesync_enable_t)(struct rte_eth_dev *dev);
-/**< @internal Function used to enable IEEE1588/802.1AS timestamping. */
-
-typedef int (*eth_timesync_disable_t)(struct rte_eth_dev *dev);
-/**< @internal Function used to disable IEEE1588/802.1AS timestamping. */
-
-typedef int (*eth_timesync_read_rx_timestamp_t)(struct rte_eth_dev *dev,
-						struct timespec *timestamp,
-						uint32_t flags);
-/**< @internal Function used to read an RX IEEE1588/802.1AS timestamp. */
-
-typedef int (*eth_timesync_read_tx_timestamp_t)(struct rte_eth_dev *dev,
-						struct timespec *timestamp);
-/**< @internal Function used to read a TX IEEE1588/802.1AS timestamp. */
 
-typedef int (*eth_timesync_adjust_time)(struct rte_eth_dev *dev, int64_t);
-/**< @internal Function used to adjust the device clock */
-
-typedef int (*eth_timesync_read_time)(struct rte_eth_dev *dev,
-				      struct timespec *timestamp);
-/**< @internal Function used to get time from the device clock. */
-
-typedef int (*eth_timesync_write_time)(struct rte_eth_dev *dev,
-				       const struct timespec *timestamp);
-/**< @internal Function used to get time from the device clock */
-
-typedef int (*eth_read_clock)(struct rte_eth_dev *dev,
-				      uint64_t *timestamp);
-/**< @internal Function used to get the current value of the device clock. */
-
-typedef int (*eth_get_reg_t)(struct rte_eth_dev *dev,
-				struct rte_dev_reg_info *info);
-/**< @internal Retrieve registers  */
-
-typedef int (*eth_get_eeprom_length_t)(struct rte_eth_dev *dev);
-/**< @internal Retrieve eeprom size  */
-
-typedef int (*eth_get_eeprom_t)(struct rte_eth_dev *dev,
-				struct rte_dev_eeprom_info *info);
-/**< @internal Retrieve eeprom data  */
-
-typedef int (*eth_set_eeprom_t)(struct rte_eth_dev *dev,
-				struct rte_dev_eeprom_info *info);
-/**< @internal Program eeprom data  */
-
-typedef int (*eth_get_module_info_t)(struct rte_eth_dev *dev,
-				     struct rte_eth_dev_module_info *modinfo);
-/**< @internal Retrieve type and size of plugin module eeprom */
-
-typedef int (*eth_get_module_eeprom_t)(struct rte_eth_dev *dev,
-				       struct rte_dev_eeprom_info *info);
-/**< @internal Retrieve plugin module eeprom data */
-
-typedef int (*eth_l2_tunnel_eth_type_conf_t)
-	(struct rte_eth_dev *dev, struct rte_eth_l2_tunnel_conf *l2_tunnel);
-/**< @internal config l2 tunnel ether type */
-
-typedef int (*eth_l2_tunnel_offload_set_t)
-	(struct rte_eth_dev *dev,
-	 struct rte_eth_l2_tunnel_conf *l2_tunnel,
-	 uint32_t mask,
-	 uint8_t en);
-/**< @internal enable/disable the l2 tunnel offload functions */
-
-
-typedef int (*eth_filter_ctrl_t)(struct rte_eth_dev *dev,
-				 enum rte_filter_type filter_type,
-				 enum rte_filter_op filter_op,
-				 void *arg);
-/**< @internal Take operations to assigned filter type on an Ethernet device */
-
-typedef int (*eth_tm_ops_get_t)(struct rte_eth_dev *dev, void *ops);
-/**< @internal Get Traffic Management (TM) operations on an Ethernet device */
-
-typedef int (*eth_mtr_ops_get_t)(struct rte_eth_dev *dev, void *ops);
-/**< @internal Get Traffic Metering and Policing (MTR) operations */
-
-typedef int (*eth_get_dcb_info)(struct rte_eth_dev *dev,
-				 struct rte_eth_dcb_info *dcb_info);
-/**< @internal Get dcb information on an Ethernet device */
-
-typedef int (*eth_pool_ops_supported_t)(struct rte_eth_dev *dev,
-						const char *pool);
-/**< @internal Test if a port supports specific mempool ops */
-
-/**
- * @internal
- * Get the hairpin capabilities.
- *
- * @param dev
- *   ethdev handle of port.
- * @param cap
- *   returns the hairpin capabilities from the device.
- *
- * @return
- *   Negative errno value on error, 0 on success.
- *
- * @retval 0
- *   Success, hairpin is supported.
- * @retval -ENOTSUP
- *   Hairpin is not supported.
- */
-typedef int (*eth_hairpin_cap_get_t)(struct rte_eth_dev *dev,
-				     struct rte_eth_hairpin_cap *cap);
-
-/**
- * @internal
- * Setup RX hairpin queue.
- *
- * @param dev
- *   ethdev handle of port.
- * @param rx_queue_id
- *   the selected RX queue index.
- * @param nb_rx_desc
- *   the requested number of descriptors for this queue. 0 - use PMD default.
- * @param conf
- *   the RX hairpin configuration structure.
- *
- * @return
- *   Negative errno value on error, 0 on success.
- *
- * @retval 0
- *   Success, hairpin is supported.
- * @retval -ENOTSUP
- *   Hairpin is not supported.
- * @retval -EINVAL
- *   One of the parameters is invalid.
- * @retval -ENOMEM
- *   Unable to allocate resources.
- */
-typedef int (*eth_rx_hairpin_queue_setup_t)
-	(struct rte_eth_dev *dev, uint16_t rx_queue_id,
-	 uint16_t nb_rx_desc,
-	 const struct rte_eth_hairpin_conf *conf);
-
-/**
- * @internal
- * Setup TX hairpin queue.
- *
- * @param dev
- *   ethdev handle of port.
- * @param tx_queue_id
- *   the selected TX queue index.
- * @param nb_tx_desc
- *   the requested number of descriptors for this queue. 0 - use PMD default.
- * @param conf
- *   the TX hairpin configuration structure.
- *
- * @return
- *   Negative errno value on error, 0 on success.
- *
- * @retval 0
- *   Success, hairpin is supported.
- * @retval -ENOTSUP
- *   Hairpin is not supported.
- * @retval -EINVAL
- *   One of the parameters is invalid.
- * @retval -ENOMEM
- *   Unable to allocate resources.
- */
-typedef int (*eth_tx_hairpin_queue_setup_t)
-	(struct rte_eth_dev *dev, uint16_t tx_queue_id,
-	 uint16_t nb_tx_desc,
-	 const struct rte_eth_hairpin_conf *hairpin_conf);
-
-/**
- * @internal A structure containing the functions exported by an Ethernet driver.
- */
-struct eth_dev_ops {
-	eth_dev_configure_t        dev_configure; /**< Configure device. */
-	eth_dev_start_t            dev_start;     /**< Start device. */
-	eth_dev_stop_t             dev_stop;      /**< Stop device. */
-	eth_dev_set_link_up_t      dev_set_link_up;   /**< Device link up. */
-	eth_dev_set_link_down_t    dev_set_link_down; /**< Device link down. */
-	eth_dev_close_t            dev_close;     /**< Close device. */
-	eth_dev_reset_t		   dev_reset;	  /**< Reset device. */
-	eth_link_update_t          link_update;   /**< Get device link state. */
-	eth_is_removed_t           is_removed;
-	/**< Check if the device was physically removed. */
-
-	eth_promiscuous_enable_t   promiscuous_enable; /**< Promiscuous ON. */
-	eth_promiscuous_disable_t  promiscuous_disable;/**< Promiscuous OFF. */
-	eth_allmulticast_enable_t  allmulticast_enable;/**< RX multicast ON. */
-	eth_allmulticast_disable_t allmulticast_disable;/**< RX multicast OFF. */
-	eth_mac_addr_remove_t      mac_addr_remove; /**< Remove MAC address. */
-	eth_mac_addr_add_t         mac_addr_add;  /**< Add a MAC address. */
-	eth_mac_addr_set_t         mac_addr_set;  /**< Set a MAC address. */
-	eth_set_mc_addr_list_t     set_mc_addr_list; /**< set list of mcast addrs. */
-	mtu_set_t                  mtu_set;       /**< Set MTU. */
-
-	eth_stats_get_t            stats_get;     /**< Get generic device statistics. */
-	eth_stats_reset_t          stats_reset;   /**< Reset generic device statistics. */
-	eth_xstats_get_t           xstats_get;    /**< Get extended device statistics. */
-	eth_xstats_reset_t         xstats_reset;  /**< Reset extended device statistics. */
-	eth_xstats_get_names_t     xstats_get_names;
-	/**< Get names of extended statistics. */
-	eth_queue_stats_mapping_set_t queue_stats_mapping_set;
-	/**< Configure per queue stat counter mapping. */
-
-	eth_dev_infos_get_t        dev_infos_get; /**< Get device info. */
-	eth_rxq_info_get_t         rxq_info_get; /**< retrieve RX queue information. */
-	eth_txq_info_get_t         txq_info_get; /**< retrieve TX queue information. */
-	eth_burst_mode_get_t       rx_burst_mode_get; /**< Get RX burst mode */
-	eth_burst_mode_get_t       tx_burst_mode_get; /**< Get TX burst mode */
-	eth_fw_version_get_t       fw_version_get; /**< Get firmware version. */
-	eth_dev_supported_ptypes_get_t dev_supported_ptypes_get;
-	/**< Get packet types supported and identified by device. */
-	eth_dev_ptypes_set_t dev_ptypes_set;
-	/**< Inform Ethernet device about reduced range of packet types to handle. */
-
-	vlan_filter_set_t          vlan_filter_set; /**< Filter VLAN Setup. */
-	vlan_tpid_set_t            vlan_tpid_set; /**< Outer/Inner VLAN TPID Setup. */
-	vlan_strip_queue_set_t     vlan_strip_queue_set; /**< VLAN Stripping on queue. */
-	vlan_offload_set_t         vlan_offload_set; /**< Set VLAN Offload. */
-	vlan_pvid_set_t            vlan_pvid_set; /**< Set port based TX VLAN insertion. */
-
-	eth_queue_start_t          rx_queue_start;/**< Start RX for a queue. */
-	eth_queue_stop_t           rx_queue_stop; /**< Stop RX for a queue. */
-	eth_queue_start_t          tx_queue_start;/**< Start TX for a queue. */
-	eth_queue_stop_t           tx_queue_stop; /**< Stop TX for a queue. */
-	eth_rx_queue_setup_t       rx_queue_setup;/**< Set up device RX queue. */
-	eth_queue_release_t        rx_queue_release; /**< Release RX queue. */
-	/*
-	 * Static inline functions use functions ABOVE this comment.
-	 * New dev_ops functions should be added BELOW to avoid breaking ABI.
-	 */
-	eth_rx_enable_intr_t       rx_queue_intr_enable;  /**< Enable Rx queue interrupt. */
-	eth_rx_disable_intr_t      rx_queue_intr_disable; /**< Disable Rx queue interrupt. */
-	eth_tx_queue_setup_t       tx_queue_setup;/**< Set up device TX queue. */
-	eth_queue_release_t        tx_queue_release; /**< Release TX queue. */
-	eth_tx_done_cleanup_t      tx_done_cleanup;/**< Free tx ring mbufs */
-
-	eth_dev_led_on_t           dev_led_on;    /**< Turn on LED. */
-	eth_dev_led_off_t          dev_led_off;   /**< Turn off LED. */
-
-	flow_ctrl_get_t            flow_ctrl_get; /**< Get flow control. */
-	flow_ctrl_set_t            flow_ctrl_set; /**< Setup flow control. */
-	priority_flow_ctrl_set_t   priority_flow_ctrl_set; /**< Setup priority flow control. */
-
-	eth_uc_hash_table_set_t    uc_hash_table_set; /**< Set Unicast Table Array. */
-	eth_uc_all_hash_table_set_t uc_all_hash_table_set; /**< Set Unicast hash bitmap. */
-
-	eth_mirror_rule_set_t	   mirror_rule_set; /**< Add a traffic mirror rule. */
-	eth_mirror_rule_reset_t	   mirror_rule_reset; /**< reset a traffic mirror rule. */
-
-	eth_udp_tunnel_port_add_t  udp_tunnel_port_add; /** Add UDP tunnel port. */
-	eth_udp_tunnel_port_del_t  udp_tunnel_port_del; /** Del UDP tunnel port. */
-	eth_l2_tunnel_eth_type_conf_t l2_tunnel_eth_type_conf;
-	/** Config ether type of l2 tunnel. */
-	eth_l2_tunnel_offload_set_t   l2_tunnel_offload_set;
-	/** Enable/disable l2 tunnel offload functions. */
-
-	eth_set_queue_rate_limit_t set_queue_rate_limit; /**< Set queue rate limit. */
-
-	rss_hash_update_t          rss_hash_update; /** Configure RSS hash protocols. */
-	rss_hash_conf_get_t        rss_hash_conf_get; /** Get current RSS hash configuration. */
-	reta_update_t              reta_update;   /** Update redirection table. */
-	reta_query_t               reta_query;    /** Query redirection table. */
-
-	eth_get_reg_t              get_reg;           /**< Get registers. */
-	eth_get_eeprom_length_t    get_eeprom_length; /**< Get eeprom length. */
-	eth_get_eeprom_t           get_eeprom;        /**< Get eeprom data. */
-	eth_set_eeprom_t           set_eeprom;        /**< Set eeprom. */
-
-	eth_get_module_info_t      get_module_info;
-	/** Get plugin module eeprom attribute. */
-	eth_get_module_eeprom_t    get_module_eeprom;
-	/** Get plugin module eeprom data. */
-
-	eth_filter_ctrl_t          filter_ctrl; /**< common filter control. */
-
-	eth_get_dcb_info           get_dcb_info; /** Get DCB information. */
-
-	eth_timesync_enable_t      timesync_enable;
-	/** Turn IEEE1588/802.1AS timestamping on. */
-	eth_timesync_disable_t     timesync_disable;
-	/** Turn IEEE1588/802.1AS timestamping off. */
-	eth_timesync_read_rx_timestamp_t timesync_read_rx_timestamp;
-	/** Read the IEEE1588/802.1AS RX timestamp. */
-	eth_timesync_read_tx_timestamp_t timesync_read_tx_timestamp;
-	/** Read the IEEE1588/802.1AS TX timestamp. */
-	eth_timesync_adjust_time   timesync_adjust_time; /** Adjust the device clock. */
-	eth_timesync_read_time     timesync_read_time; /** Get the device clock time. */
-	eth_timesync_write_time    timesync_write_time; /** Set the device clock time. */
-
-	eth_read_clock             read_clock;
-
-	eth_xstats_get_by_id_t     xstats_get_by_id;
-	/**< Get extended device statistic values by ID. */
-	eth_xstats_get_names_by_id_t xstats_get_names_by_id;
-	/**< Get name of extended device statistics by ID. */
+typedef uint32_t (*eth_rx_queue_count_t)(struct rte_eth_dev *dev,
+					 uint16_t rx_queue_id);
+/**< @internal Get number of used descriptors on a receive queue. */
 
-	eth_tm_ops_get_t tm_ops_get;
-	/**< Get Traffic Management (TM) operations. */
+typedef int (*eth_rx_descriptor_done_t)(void *rxq, uint16_t offset);
+/**< @internal Check DD bit of specific RX descriptor */
 
-	eth_mtr_ops_get_t mtr_ops_get;
-	/**< Get Traffic Metering and Policing (MTR) operations. */
+typedef int (*eth_rx_descriptor_status_t)(void *rxq, uint16_t offset);
+/**< @internal Check the status of a Rx descriptor */
 
-	eth_pool_ops_supported_t pool_ops_supported;
-	/**< Test if a port supports specific mempool ops */
+typedef int (*eth_tx_descriptor_status_t)(void *txq, uint16_t offset);
+/**< @internal Check the status of a Tx descriptor */
 
-	eth_hairpin_cap_get_t hairpin_cap_get;
-	/**< Returns the hairpin capabilities. */
-	eth_rx_hairpin_queue_setup_t rx_hairpin_queue_setup;
-	/**< Set up device RX hairpin queue. */
-	eth_tx_hairpin_queue_setup_t tx_hairpin_queue_setup;
-	/**< Set up device TX hairpin queue. */
-};
 
 /**
  * @internal
diff --git a/lib/librte_ethdev/rte_ethdev_driver.h b/lib/librte_ethdev/rte_ethdev_driver.h
index 13fd049c0d..b006cbbe92 100644
--- a/lib/librte_ethdev/rte_ethdev_driver.h
+++ b/lib/librte_ethdev/rte_ethdev_driver.h
@@ -21,6 +21,700 @@
 extern "C" {
 #endif
 
+/*
+ * Definitions of all functions exported by an Ethernet driver through the
+ * generic structure of type *eth_dev_ops* supplied in the *rte_eth_dev*
+ * structure associated with an Ethernet device.
+ */
+
+typedef int  (*eth_dev_configure_t)(struct rte_eth_dev *dev);
+/**< @internal Ethernet device configuration. */
+
+typedef int  (*eth_dev_start_t)(struct rte_eth_dev *dev);
+/**< @internal Function used to start a configured Ethernet device. */
+
+typedef void (*eth_dev_stop_t)(struct rte_eth_dev *dev);
+/**< @internal Function used to stop a configured Ethernet device. */
+
+typedef int  (*eth_dev_set_link_up_t)(struct rte_eth_dev *dev);
+/**< @internal Function used to link up a configured Ethernet device. */
+
+typedef int  (*eth_dev_set_link_down_t)(struct rte_eth_dev *dev);
+/**< @internal Function used to link down a configured Ethernet device. */
+
+typedef void (*eth_dev_close_t)(struct rte_eth_dev *dev);
+/**< @internal Function used to close a configured Ethernet device. */
+
+typedef int (*eth_dev_reset_t)(struct rte_eth_dev *dev);
+/** <@internal Function used to reset a configured Ethernet device. */
+
+typedef int (*eth_is_removed_t)(struct rte_eth_dev *dev);
+/**< @internal Function used to detect an Ethernet device removal. */
+
+/**
+ * @internal
+ * Function used to enable the Rx promiscuous mode of an Ethernet device.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, promiscuous mode is enabled.
+ * @retval -ENOTSUP
+ *   Promiscuous mode is not supported.
+ * @retval -ENODEV
+ *   Device is gone.
+ * @retval -E_RTE_SECONDARY
+ *   Function was called from a secondary process instance and not supported.
+ * @retval -ETIMEDOUT
+ *   Attempt to enable promiscuos mode failed because of timeout.
+ * @retval -EAGAIN
+ *   Failed to enable promiscuous mode.
+ */
+typedef int (*eth_promiscuous_enable_t)(struct rte_eth_dev *dev);
+
+/**
+ * @internal
+ * Function used to disable the Rx promiscuous mode of an Ethernet device.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, promiscuous mode is disabled.
+ * @retval -ENOTSUP
+ *   Promiscuous mode disabling is not supported.
+ * @retval -ENODEV
+ *   Device is gone.
+ * @retval -E_RTE_SECONDARY
+ *   Function was called from a secondary process instance and not supported.
+ * @retval -ETIMEDOUT
+ *   Attempt to disable promiscuos mode failed because of timeout.
+ * @retval -EAGAIN
+ *   Failed to disable promiscuous mode.
+ */
+typedef int (*eth_promiscuous_disable_t)(struct rte_eth_dev *dev);
+
+/**
+ * @internal
+ * Enable the receipt of all multicast packets by an Ethernet device.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, all-multicast mode is enabled.
+ * @retval -ENOTSUP
+ *   All-multicast mode is not supported.
+ * @retval -ENODEV
+ *   Device is gone.
+ * @retval -E_RTE_SECONDARY
+ *   Function was called from a secondary process instance and not supported.
+ * @retval -ETIMEDOUT
+ *   Attempt to enable all-multicast mode failed because of timeout.
+ * @retval -EAGAIN
+ *   Failed to enable all-multicast mode.
+ */
+typedef int (*eth_allmulticast_enable_t)(struct rte_eth_dev *dev);
+
+/**
+ * @internal
+ * Disable the receipt of all multicast packets by an Ethernet device.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, all-multicast mode is disabled.
+ * @retval -ENOTSUP
+ *   All-multicast mode disabling is not supported.
+ * @retval -ENODEV
+ *   Device is gone.
+ * @retval -E_RTE_SECONDARY
+ *   Function was called from a secondary process instance and not supported.
+ * @retval -ETIMEDOUT
+ *   Attempt to disable all-multicast mode failed because of timeout.
+ * @retval -EAGAIN
+ *   Failed to disable all-multicast mode.
+ */
+typedef int (*eth_allmulticast_disable_t)(struct rte_eth_dev *dev);
+
+typedef int (*eth_link_update_t)(struct rte_eth_dev *dev,
+				int wait_to_complete);
+/**< @internal Get link speed, duplex mode and state (up/down) of an Ethernet device. */
+
+typedef int (*eth_stats_get_t)(struct rte_eth_dev *dev,
+				struct rte_eth_stats *igb_stats);
+/**< @internal Get global I/O statistics of an Ethernet device. */
+
+/**
+ * @internal
+ * Reset global I/O statistics of an Ethernet device to 0.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, statistics has been reset.
+ * @retval -ENOTSUP
+ *   Resetting statistics is not supported.
+ * @retval -EINVAL
+ *   Resetting statistics is not valid.
+ * @retval -ENOMEM
+ *   Not enough memory to get the stats.
+ */
+typedef int (*eth_stats_reset_t)(struct rte_eth_dev *dev);
+
+typedef int (*eth_xstats_get_t)(struct rte_eth_dev *dev,
+	struct rte_eth_xstat *stats, unsigned int n);
+/**< @internal Get extended stats of an Ethernet device. */
+
+typedef int (*eth_xstats_get_by_id_t)(struct rte_eth_dev *dev,
+				      const uint64_t *ids,
+				      uint64_t *values,
+				      unsigned int n);
+/**< @internal Get extended stats of an Ethernet device. */
+
+/**
+ * @internal
+ * Reset extended stats of an Ethernet device.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, statistics has been reset.
+ * @retval -ENOTSUP
+ *   Resetting statistics is not supported.
+ * @retval -EINVAL
+ *   Resetting statistics is not valid.
+ * @retval -ENOMEM
+ *   Not enough memory to get the stats.
+ */
+typedef int (*eth_xstats_reset_t)(struct rte_eth_dev *dev);
+
+typedef int (*eth_xstats_get_names_t)(struct rte_eth_dev *dev,
+	struct rte_eth_xstat_name *xstats_names, unsigned int size);
+/**< @internal Get names of extended stats of an Ethernet device. */
+
+typedef int (*eth_xstats_get_names_by_id_t)(struct rte_eth_dev *dev,
+	struct rte_eth_xstat_name *xstats_names, const uint64_t *ids,
+	unsigned int size);
+/**< @internal Get names of extended stats of an Ethernet device. */
+
+typedef int (*eth_queue_stats_mapping_set_t)(struct rte_eth_dev *dev,
+					     uint16_t queue_id,
+					     uint8_t stat_idx,
+					     uint8_t is_rx);
+/**< @internal Set a queue statistics mapping for a tx/rx queue of an Ethernet device. */
+
+typedef int (*eth_dev_infos_get_t)(struct rte_eth_dev *dev,
+				   struct rte_eth_dev_info *dev_info);
+/**< @internal Get specific information of an Ethernet device. */
+
+typedef const uint32_t *(*eth_dev_supported_ptypes_get_t)(struct rte_eth_dev *dev);
+/**< @internal Get supported ptypes of an Ethernet device. */
+
+/**
+ * @internal
+ * Inform Ethernet device about reduced range of packet types to handle.
+ *
+ * @param dev
+ *   The Ethernet device identifier.
+ * @param ptype_mask
+ *   The ptype family that application is interested in should be bitwise OR of
+ *   RTE_PTYPE_*_MASK or 0.
+ * @return
+ *   - (0) if Success.
+ */
+typedef int (*eth_dev_ptypes_set_t)(struct rte_eth_dev *dev,
+				     uint32_t ptype_mask);
+
+typedef int (*eth_queue_start_t)(struct rte_eth_dev *dev,
+				    uint16_t queue_id);
+/**< @internal Start rx and tx of a queue of an Ethernet device. */
+
+typedef int (*eth_queue_stop_t)(struct rte_eth_dev *dev,
+				    uint16_t queue_id);
+/**< @internal Stop rx and tx of a queue of an Ethernet device. */
+
+typedef int (*eth_rx_queue_setup_t)(struct rte_eth_dev *dev,
+				    uint16_t rx_queue_id,
+				    uint16_t nb_rx_desc,
+				    unsigned int socket_id,
+				    const struct rte_eth_rxconf *rx_conf,
+				    struct rte_mempool *mb_pool);
+/**< @internal Set up a receive queue of an Ethernet device. */
+
+typedef int (*eth_tx_queue_setup_t)(struct rte_eth_dev *dev,
+				    uint16_t tx_queue_id,
+				    uint16_t nb_tx_desc,
+				    unsigned int socket_id,
+				    const struct rte_eth_txconf *tx_conf);
+/**< @internal Setup a transmit queue of an Ethernet device. */
+
+typedef int (*eth_rx_enable_intr_t)(struct rte_eth_dev *dev,
+				    uint16_t rx_queue_id);
+/**< @internal Enable interrupt of a receive queue of an Ethernet device. */
+
+typedef int (*eth_rx_disable_intr_t)(struct rte_eth_dev *dev,
+				    uint16_t rx_queue_id);
+/**< @internal Disable interrupt of a receive queue of an Ethernet device. */
+
+typedef void (*eth_queue_release_t)(void *queue);
+/**< @internal Release memory resources allocated by given RX/TX queue. */
+
+typedef int (*eth_fw_version_get_t)(struct rte_eth_dev *dev,
+				     char *fw_version, size_t fw_size);
+/**< @internal Get firmware information of an Ethernet device. */
+
+typedef int (*eth_tx_done_cleanup_t)(void *txq, uint32_t free_cnt);
+/**< @internal Force mbufs to be from TX ring. */
+
+typedef void (*eth_rxq_info_get_t)(struct rte_eth_dev *dev,
+	uint16_t rx_queue_id, struct rte_eth_rxq_info *qinfo);
+
+typedef void (*eth_txq_info_get_t)(struct rte_eth_dev *dev,
+	uint16_t tx_queue_id, struct rte_eth_txq_info *qinfo);
+
+typedef int (*eth_burst_mode_get_t)(struct rte_eth_dev *dev,
+	uint16_t queue_id, struct rte_eth_burst_mode *mode);
+
+typedef int (*mtu_set_t)(struct rte_eth_dev *dev, uint16_t mtu);
+/**< @internal Set MTU. */
+
+typedef int (*vlan_filter_set_t)(struct rte_eth_dev *dev,
+				  uint16_t vlan_id,
+				  int on);
+/**< @internal filtering of a VLAN Tag Identifier by an Ethernet device. */
+
+typedef int (*vlan_tpid_set_t)(struct rte_eth_dev *dev,
+			       enum rte_vlan_type type, uint16_t tpid);
+/**< @internal set the outer/inner VLAN-TPID by an Ethernet device. */
+
+typedef int (*vlan_offload_set_t)(struct rte_eth_dev *dev, int mask);
+/**< @internal set VLAN offload function by an Ethernet device. */
+
+typedef int (*vlan_pvid_set_t)(struct rte_eth_dev *dev,
+			       uint16_t vlan_id,
+			       int on);
+/**< @internal set port based TX VLAN insertion by an Ethernet device. */
+
+typedef void (*vlan_strip_queue_set_t)(struct rte_eth_dev *dev,
+				  uint16_t rx_queue_id,
+				  int on);
+/**< @internal VLAN stripping enable/disable by an queue of Ethernet device. */
+
+typedef int (*flow_ctrl_get_t)(struct rte_eth_dev *dev,
+			       struct rte_eth_fc_conf *fc_conf);
+/**< @internal Get current flow control parameter on an Ethernet device */
+
+typedef int (*flow_ctrl_set_t)(struct rte_eth_dev *dev,
+			       struct rte_eth_fc_conf *fc_conf);
+/**< @internal Setup flow control parameter on an Ethernet device */
+
+typedef int (*priority_flow_ctrl_set_t)(struct rte_eth_dev *dev,
+				struct rte_eth_pfc_conf *pfc_conf);
+/**< @internal Setup priority flow control parameter on an Ethernet device */
+
+typedef int (*reta_update_t)(struct rte_eth_dev *dev,
+			     struct rte_eth_rss_reta_entry64 *reta_conf,
+			     uint16_t reta_size);
+/**< @internal Update RSS redirection table on an Ethernet device */
+
+typedef int (*reta_query_t)(struct rte_eth_dev *dev,
+			    struct rte_eth_rss_reta_entry64 *reta_conf,
+			    uint16_t reta_size);
+/**< @internal Query RSS redirection table on an Ethernet device */
+
+typedef int (*rss_hash_update_t)(struct rte_eth_dev *dev,
+				 struct rte_eth_rss_conf *rss_conf);
+/**< @internal Update RSS hash configuration of an Ethernet device */
+
+typedef int (*rss_hash_conf_get_t)(struct rte_eth_dev *dev,
+				   struct rte_eth_rss_conf *rss_conf);
+/**< @internal Get current RSS hash configuration of an Ethernet device */
+
+typedef int (*eth_dev_led_on_t)(struct rte_eth_dev *dev);
+/**< @internal Turn on SW controllable LED on an Ethernet device */
+
+typedef int (*eth_dev_led_off_t)(struct rte_eth_dev *dev);
+/**< @internal Turn off SW controllable LED on an Ethernet device */
+
+typedef void (*eth_mac_addr_remove_t)(struct rte_eth_dev *dev, uint32_t index);
+/**< @internal Remove MAC address from receive address register */
+
+typedef int (*eth_mac_addr_add_t)(struct rte_eth_dev *dev,
+				  struct rte_ether_addr *mac_addr,
+				  uint32_t index,
+				  uint32_t vmdq);
+/**< @internal Set a MAC address into Receive Address Register */
+
+typedef int (*eth_mac_addr_set_t)(struct rte_eth_dev *dev,
+				  struct rte_ether_addr *mac_addr);
+/**< @internal Set a MAC address into Receive Address Register */
+
+typedef int (*eth_uc_hash_table_set_t)(struct rte_eth_dev *dev,
+				  struct rte_ether_addr *mac_addr,
+				  uint8_t on);
+/**< @internal Set a Unicast Hash bitmap */
+
+typedef int (*eth_uc_all_hash_table_set_t)(struct rte_eth_dev *dev,
+				  uint8_t on);
+/**< @internal Set all Unicast Hash bitmap */
+
+typedef int (*eth_set_queue_rate_limit_t)(struct rte_eth_dev *dev,
+				uint16_t queue_idx,
+				uint16_t tx_rate);
+/**< @internal Set queue TX rate */
+
+typedef int (*eth_mirror_rule_set_t)(struct rte_eth_dev *dev,
+				  struct rte_eth_mirror_conf *mirror_conf,
+				  uint8_t rule_id,
+				  uint8_t on);
+/**< @internal Add a traffic mirroring rule on an Ethernet device */
+
+typedef int (*eth_mirror_rule_reset_t)(struct rte_eth_dev *dev,
+				  uint8_t rule_id);
+/**< @internal Remove a traffic mirroring rule on an Ethernet device */
+
+typedef int (*eth_udp_tunnel_port_add_t)(struct rte_eth_dev *dev,
+					 struct rte_eth_udp_tunnel *tunnel_udp);
+/**< @internal Add tunneling UDP port */
+
+typedef int (*eth_udp_tunnel_port_del_t)(struct rte_eth_dev *dev,
+					 struct rte_eth_udp_tunnel *tunnel_udp);
+/**< @internal Delete tunneling UDP port */
+
+typedef int (*eth_set_mc_addr_list_t)(struct rte_eth_dev *dev,
+				      struct rte_ether_addr *mc_addr_set,
+				      uint32_t nb_mc_addr);
+/**< @internal set the list of multicast addresses on an Ethernet device */
+
+typedef int (*eth_timesync_enable_t)(struct rte_eth_dev *dev);
+/**< @internal Function used to enable IEEE1588/802.1AS timestamping. */
+
+typedef int (*eth_timesync_disable_t)(struct rte_eth_dev *dev);
+/**< @internal Function used to disable IEEE1588/802.1AS timestamping. */
+
+typedef int (*eth_timesync_read_rx_timestamp_t)(struct rte_eth_dev *dev,
+						struct timespec *timestamp,
+						uint32_t flags);
+/**< @internal Function used to read an RX IEEE1588/802.1AS timestamp. */
+
+typedef int (*eth_timesync_read_tx_timestamp_t)(struct rte_eth_dev *dev,
+						struct timespec *timestamp);
+/**< @internal Function used to read a TX IEEE1588/802.1AS timestamp. */
+
+typedef int (*eth_timesync_adjust_time)(struct rte_eth_dev *dev, int64_t);
+/**< @internal Function used to adjust the device clock */
+
+typedef int (*eth_timesync_read_time)(struct rte_eth_dev *dev,
+				      struct timespec *timestamp);
+/**< @internal Function used to get time from the device clock. */
+
+typedef int (*eth_timesync_write_time)(struct rte_eth_dev *dev,
+				       const struct timespec *timestamp);
+/**< @internal Function used to get time from the device clock */
+
+typedef int (*eth_read_clock)(struct rte_eth_dev *dev,
+				      uint64_t *timestamp);
+/**< @internal Function used to get the current value of the device clock. */
+
+typedef int (*eth_get_reg_t)(struct rte_eth_dev *dev,
+				struct rte_dev_reg_info *info);
+/**< @internal Retrieve registers  */
+
+typedef int (*eth_get_eeprom_length_t)(struct rte_eth_dev *dev);
+/**< @internal Retrieve eeprom size  */
+
+typedef int (*eth_get_eeprom_t)(struct rte_eth_dev *dev,
+				struct rte_dev_eeprom_info *info);
+/**< @internal Retrieve eeprom data  */
+
+typedef int (*eth_set_eeprom_t)(struct rte_eth_dev *dev,
+				struct rte_dev_eeprom_info *info);
+/**< @internal Program eeprom data  */
+
+typedef int (*eth_get_module_info_t)(struct rte_eth_dev *dev,
+				     struct rte_eth_dev_module_info *modinfo);
+/**< @internal Retrieve type and size of plugin module eeprom */
+
+typedef int (*eth_get_module_eeprom_t)(struct rte_eth_dev *dev,
+				       struct rte_dev_eeprom_info *info);
+/**< @internal Retrieve plugin module eeprom data */
+
+typedef int (*eth_l2_tunnel_eth_type_conf_t)
+	(struct rte_eth_dev *dev, struct rte_eth_l2_tunnel_conf *l2_tunnel);
+/**< @internal config l2 tunnel ether type */
+
+typedef int (*eth_l2_tunnel_offload_set_t)
+	(struct rte_eth_dev *dev,
+	 struct rte_eth_l2_tunnel_conf *l2_tunnel,
+	 uint32_t mask,
+	 uint8_t en);
+/**< @internal enable/disable the l2 tunnel offload functions */
+
+
+typedef int (*eth_filter_ctrl_t)(struct rte_eth_dev *dev,
+				 enum rte_filter_type filter_type,
+				 enum rte_filter_op filter_op,
+				 void *arg);
+/**< @internal Take operations to assigned filter type on an Ethernet device */
+
+typedef int (*eth_tm_ops_get_t)(struct rte_eth_dev *dev, void *ops);
+/**< @internal Get Traffic Management (TM) operations on an Ethernet device */
+
+typedef int (*eth_mtr_ops_get_t)(struct rte_eth_dev *dev, void *ops);
+/**< @internal Get Traffic Metering and Policing (MTR) operations */
+
+typedef int (*eth_get_dcb_info)(struct rte_eth_dev *dev,
+				 struct rte_eth_dcb_info *dcb_info);
+/**< @internal Get dcb information on an Ethernet device */
+
+typedef int (*eth_pool_ops_supported_t)(struct rte_eth_dev *dev,
+						const char *pool);
+/**< @internal Test if a port supports specific mempool ops */
+
+/**
+ * @internal
+ * Get the hairpin capabilities.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ * @param cap
+ *   returns the hairpin capabilities from the device.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, hairpin is supported.
+ * @retval -ENOTSUP
+ *   Hairpin is not supported.
+ */
+typedef int (*eth_hairpin_cap_get_t)(struct rte_eth_dev *dev,
+				     struct rte_eth_hairpin_cap *cap);
+
+/**
+ * @internal
+ * Setup RX hairpin queue.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ * @param rx_queue_id
+ *   the selected RX queue index.
+ * @param nb_rx_desc
+ *   the requested number of descriptors for this queue. 0 - use PMD default.
+ * @param conf
+ *   the RX hairpin configuration structure.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, hairpin is supported.
+ * @retval -ENOTSUP
+ *   Hairpin is not supported.
+ * @retval -EINVAL
+ *   One of the parameters is invalid.
+ * @retval -ENOMEM
+ *   Unable to allocate resources.
+ */
+typedef int (*eth_rx_hairpin_queue_setup_t)
+	(struct rte_eth_dev *dev, uint16_t rx_queue_id,
+	 uint16_t nb_rx_desc,
+	 const struct rte_eth_hairpin_conf *conf);
+
+/**
+ * @internal
+ * Setup TX hairpin queue.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ * @param tx_queue_id
+ *   the selected TX queue index.
+ * @param nb_tx_desc
+ *   the requested number of descriptors for this queue. 0 - use PMD default.
+ * @param conf
+ *   the TX hairpin configuration structure.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, hairpin is supported.
+ * @retval -ENOTSUP
+ *   Hairpin is not supported.
+ * @retval -EINVAL
+ *   One of the parameters is invalid.
+ * @retval -ENOMEM
+ *   Unable to allocate resources.
+ */
+typedef int (*eth_tx_hairpin_queue_setup_t)
+	(struct rte_eth_dev *dev, uint16_t tx_queue_id,
+	 uint16_t nb_tx_desc,
+	 const struct rte_eth_hairpin_conf *hairpin_conf);
+
+/**
+ * @internal A structure containing the functions exported by an Ethernet driver.
+ */
+struct eth_dev_ops {
+	eth_dev_configure_t        dev_configure; /**< Configure device. */
+	eth_dev_start_t            dev_start;     /**< Start device. */
+	eth_dev_stop_t             dev_stop;      /**< Stop device. */
+	eth_dev_set_link_up_t      dev_set_link_up;   /**< Device link up. */
+	eth_dev_set_link_down_t    dev_set_link_down; /**< Device link down. */
+	eth_dev_close_t            dev_close;     /**< Close device. */
+	eth_dev_reset_t		   dev_reset;	  /**< Reset device. */
+	eth_link_update_t          link_update;   /**< Get device link state. */
+	eth_is_removed_t           is_removed;
+	/**< Check if the device was physically removed. */
+
+	eth_promiscuous_enable_t   promiscuous_enable; /**< Promiscuous ON. */
+	eth_promiscuous_disable_t  promiscuous_disable;/**< Promiscuous OFF. */
+	eth_allmulticast_enable_t  allmulticast_enable;/**< RX multicast ON. */
+	eth_allmulticast_disable_t allmulticast_disable;/**< RX multicast OFF. */
+	eth_mac_addr_remove_t      mac_addr_remove; /**< Remove MAC address. */
+	eth_mac_addr_add_t         mac_addr_add;  /**< Add a MAC address. */
+	eth_mac_addr_set_t         mac_addr_set;  /**< Set a MAC address. */
+	eth_set_mc_addr_list_t     set_mc_addr_list; /**< set list of mcast addrs. */
+	mtu_set_t                  mtu_set;       /**< Set MTU. */
+
+	eth_stats_get_t            stats_get;     /**< Get generic device statistics. */
+	eth_stats_reset_t          stats_reset;   /**< Reset generic device statistics. */
+	eth_xstats_get_t           xstats_get;    /**< Get extended device statistics. */
+	eth_xstats_reset_t         xstats_reset;  /**< Reset extended device statistics. */
+	eth_xstats_get_names_t     xstats_get_names;
+	/**< Get names of extended statistics. */
+	eth_queue_stats_mapping_set_t queue_stats_mapping_set;
+	/**< Configure per queue stat counter mapping. */
+
+	eth_dev_infos_get_t        dev_infos_get; /**< Get device info. */
+	eth_rxq_info_get_t         rxq_info_get; /**< retrieve RX queue information. */
+	eth_txq_info_get_t         txq_info_get; /**< retrieve TX queue information. */
+	eth_burst_mode_get_t       rx_burst_mode_get; /**< Get RX burst mode */
+	eth_burst_mode_get_t       tx_burst_mode_get; /**< Get TX burst mode */
+	eth_fw_version_get_t       fw_version_get; /**< Get firmware version. */
+	eth_dev_supported_ptypes_get_t dev_supported_ptypes_get;
+	/**< Get packet types supported and identified by device. */
+	eth_dev_ptypes_set_t dev_ptypes_set;
+	/**< Inform Ethernet device about reduced range of packet types to handle. */
+
+	vlan_filter_set_t          vlan_filter_set; /**< Filter VLAN Setup. */
+	vlan_tpid_set_t            vlan_tpid_set; /**< Outer/Inner VLAN TPID Setup. */
+	vlan_strip_queue_set_t     vlan_strip_queue_set; /**< VLAN Stripping on queue. */
+	vlan_offload_set_t         vlan_offload_set; /**< Set VLAN Offload. */
+	vlan_pvid_set_t            vlan_pvid_set; /**< Set port based TX VLAN insertion. */
+
+	eth_queue_start_t          rx_queue_start;/**< Start RX for a queue. */
+	eth_queue_stop_t           rx_queue_stop; /**< Stop RX for a queue. */
+	eth_queue_start_t          tx_queue_start;/**< Start TX for a queue. */
+	eth_queue_stop_t           tx_queue_stop; /**< Stop TX for a queue. */
+	eth_rx_queue_setup_t       rx_queue_setup;/**< Set up device RX queue. */
+	eth_queue_release_t        rx_queue_release; /**< Release RX queue. */
+
+	eth_rx_enable_intr_t       rx_queue_intr_enable;  /**< Enable Rx queue interrupt. */
+	eth_rx_disable_intr_t      rx_queue_intr_disable; /**< Disable Rx queue interrupt. */
+	eth_tx_queue_setup_t       tx_queue_setup;/**< Set up device TX queue. */
+	eth_queue_release_t        tx_queue_release; /**< Release TX queue. */
+	eth_tx_done_cleanup_t      tx_done_cleanup;/**< Free tx ring mbufs */
+
+	eth_dev_led_on_t           dev_led_on;    /**< Turn on LED. */
+	eth_dev_led_off_t          dev_led_off;   /**< Turn off LED. */
+
+	flow_ctrl_get_t            flow_ctrl_get; /**< Get flow control. */
+	flow_ctrl_set_t            flow_ctrl_set; /**< Setup flow control. */
+	priority_flow_ctrl_set_t   priority_flow_ctrl_set; /**< Setup priority flow control. */
+
+	eth_uc_hash_table_set_t    uc_hash_table_set; /**< Set Unicast Table Array. */
+	eth_uc_all_hash_table_set_t uc_all_hash_table_set; /**< Set Unicast hash bitmap. */
+
+	eth_mirror_rule_set_t	   mirror_rule_set; /**< Add a traffic mirror rule. */
+	eth_mirror_rule_reset_t	   mirror_rule_reset; /**< reset a traffic mirror rule. */
+
+	eth_udp_tunnel_port_add_t  udp_tunnel_port_add; /** Add UDP tunnel port. */
+	eth_udp_tunnel_port_del_t  udp_tunnel_port_del; /** Del UDP tunnel port. */
+	eth_l2_tunnel_eth_type_conf_t l2_tunnel_eth_type_conf;
+	/** Config ether type of l2 tunnel. */
+	eth_l2_tunnel_offload_set_t   l2_tunnel_offload_set;
+	/** Enable/disable l2 tunnel offload functions. */
+
+	eth_set_queue_rate_limit_t set_queue_rate_limit; /**< Set queue rate limit. */
+
+	rss_hash_update_t          rss_hash_update; /** Configure RSS hash protocols. */
+	rss_hash_conf_get_t        rss_hash_conf_get; /** Get current RSS hash configuration. */
+	reta_update_t              reta_update;   /** Update redirection table. */
+	reta_query_t               reta_query;    /** Query redirection table. */
+
+	eth_get_reg_t              get_reg;           /**< Get registers. */
+	eth_get_eeprom_length_t    get_eeprom_length; /**< Get eeprom length. */
+	eth_get_eeprom_t           get_eeprom;        /**< Get eeprom data. */
+	eth_set_eeprom_t           set_eeprom;        /**< Set eeprom. */
+
+	eth_get_module_info_t      get_module_info;
+	/** Get plugin module eeprom attribute. */
+	eth_get_module_eeprom_t    get_module_eeprom;
+	/** Get plugin module eeprom data. */
+
+	eth_filter_ctrl_t          filter_ctrl; /**< common filter control. */
+
+	eth_get_dcb_info           get_dcb_info; /** Get DCB information. */
+
+	eth_timesync_enable_t      timesync_enable;
+	/** Turn IEEE1588/802.1AS timestamping on. */
+	eth_timesync_disable_t     timesync_disable;
+	/** Turn IEEE1588/802.1AS timestamping off. */
+	eth_timesync_read_rx_timestamp_t timesync_read_rx_timestamp;
+	/** Read the IEEE1588/802.1AS RX timestamp. */
+	eth_timesync_read_tx_timestamp_t timesync_read_tx_timestamp;
+	/** Read the IEEE1588/802.1AS TX timestamp. */
+	eth_timesync_adjust_time   timesync_adjust_time; /** Adjust the device clock. */
+	eth_timesync_read_time     timesync_read_time; /** Get the device clock time. */
+	eth_timesync_write_time    timesync_write_time; /** Set the device clock time. */
+
+	eth_read_clock             read_clock;
+
+	eth_xstats_get_by_id_t     xstats_get_by_id;
+	/**< Get extended device statistic values by ID. */
+	eth_xstats_get_names_by_id_t xstats_get_names_by_id;
+	/**< Get name of extended device statistics by ID. */
+
+	eth_tm_ops_get_t tm_ops_get;
+	/**< Get Traffic Management (TM) operations. */
+
+	eth_mtr_ops_get_t mtr_ops_get;
+	/**< Get Traffic Metering and Policing (MTR) operations. */
+
+	eth_pool_ops_supported_t pool_ops_supported;
+	/**< Test if a port supports specific mempool ops */
+
+	eth_hairpin_cap_get_t hairpin_cap_get;
+	/**< Returns the hairpin capabilities. */
+	eth_rx_hairpin_queue_setup_t rx_hairpin_queue_setup;
+	/**< Set up device RX hairpin queue. */
+	eth_tx_hairpin_queue_setup_t tx_hairpin_queue_setup;
+	/**< Set up device TX hairpin queue. */
+};
+
 /**
  * RX/TX queue states
  */
diff --git a/lib/librte_ethdev/rte_flow_driver.h b/lib/librte_ethdev/rte_flow_driver.h
index 881cc469b7..997598db11 100644
--- a/lib/librte_ethdev/rte_flow_driver.h
+++ b/lib/librte_ethdev/rte_flow_driver.h
@@ -18,6 +18,7 @@
 #include <stdint.h>
 
 #include "rte_ethdev.h"
+#include "rte_ethdev_driver.h"
 #include "rte_flow.h"
 
 #ifdef __cplusplus
diff --git a/lib/librte_ethdev/rte_mtr_driver.h b/lib/librte_ethdev/rte_mtr_driver.h
index 3ec7ffa2a5..3b39532935 100644
--- a/lib/librte_ethdev/rte_mtr_driver.h
+++ b/lib/librte_ethdev/rte_mtr_driver.h
@@ -18,6 +18,7 @@
 
 #include <rte_errno.h>
 #include "rte_ethdev.h"
+#include "rte_ethdev_driver.h"
 #include "rte_mtr.h"
 
 #ifdef __cplusplus
diff --git a/lib/librte_ethdev/rte_tm_driver.h b/lib/librte_ethdev/rte_tm_driver.h
index 90114ff53e..b86ed89c00 100644
--- a/lib/librte_ethdev/rte_tm_driver.h
+++ b/lib/librte_ethdev/rte_tm_driver.h
@@ -18,6 +18,7 @@
 
 #include <rte_errno.h>
 #include "rte_ethdev.h"
+#include "rte_ethdev_driver.h"
 #include "rte_tm.h"
 
 #ifdef __cplusplus
-- 
2.26.2


^ permalink raw reply	[relevance 3%]

* [dpdk-dev] [PATCH v4 1/7] ethdev: deprecate descriptor status check API
  2020-08-24  9:40  1% [dpdk-dev] [PATCH 1/7] ethdev: remove legacy descriptor status check API Ferruh Yigit
                   ` (5 preceding siblings ...)
  2020-09-09 11:12  4% ` [dpdk-dev] [PATCH v3 1/7] ethdev: deprecate descriptor status check API Ferruh Yigit
@ 2020-09-09 13:01  4% ` Ferruh Yigit
  2020-09-09 13:01  6%   ` [dpdk-dev] [PATCH v4 2/7] ethdev: move inline device operations Ferruh Yigit
                     ` (3 more replies)
  6 siblings, 4 replies; 200+ results
From: Ferruh Yigit @ 2020-09-09 13:01 UTC (permalink / raw)
  To: dev, Ray Kinsella, Neil Horman, John McNamara, Marko Kovacevic,
	Thomas Monjalon, Andrew Rybchenko
  Cc: Ferruh Yigit, David Marchand

Marking 'rte_eth_rx_descriptor_done()' API as deprecated.
``rte_eth_rx_descriptor_status`` and ``rte_eth_tx_descriptor_status``
APIs can be used as replacement.

Plan is to remove the API on 21.11 release.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: David Marchand <david.marchand@redhat.com>
---

Cc: David Marchand <david.marchand@redhat.com>
v3:
* Just deprecating the 'rte_eth_rx_descriptor_done()' API without
  removing it to stick to the original plan.
---
 doc/guides/rel_notes/deprecation.rst   | 2 +-
 doc/guides/rel_notes/release_20_11.rst | 2 ++
 lib/librte_ethdev/rte_ethdev.h         | 1 +
 3 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 279eccb04a..35c676e262 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -214,7 +214,7 @@ Deprecation Notices
   https://mails.dpdk.org/archives/dev/2020-July/176135.html.
 
 * ethdev: ``rx_descriptor_done`` dev_ops and ``rte_eth_rx_descriptor_done``
-  will be deprecated in 20.11 and will be removed in 21.11.
+  will be removed in 21.11.
   Existing ``rte_eth_rx_descriptor_status`` and ``rte_eth_tx_descriptor_status``
   APIs can be used as replacement.
 
diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index df227a1773..a7d57b001d 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -84,6 +84,8 @@ API Changes
    Also, make sure to start the actual text at the margin.
    =======================================================
 
+* ``rte_eth_rx_descriptor_done()`` API has deprecated.
+
 
 ABI Changes
 -----------
diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
index f30245b102..eb6cd01f8d 100644
--- a/lib/librte_ethdev/rte_ethdev.h
+++ b/lib/librte_ethdev/rte_ethdev.h
@@ -4567,6 +4567,7 @@ rte_eth_rx_queue_count(uint16_t port_id, uint16_t queue_id)
  *  - (-ENODEV) if *port_id* invalid.
  *  - (-ENOTSUP) if the device does not support this function
  */
+__rte_deprecated
 static inline int
 rte_eth_rx_descriptor_done(uint16_t port_id, uint16_t queue_id, uint16_t offset)
 {
-- 
2.26.2


^ permalink raw reply	[relevance 4%]

* [dpdk-dev] [PATCH v4 2/7] ethdev: move inline device operations
  2020-09-09 13:01  4% ` [dpdk-dev] [PATCH v4 1/7] ethdev: deprecate descriptor status check API Ferruh Yigit
@ 2020-09-09 13:01  6%   ` Ferruh Yigit
  2020-09-10  1:56  0%     ` Sachin Saxena (OSS)
  2020-09-09 13:01  3%   ` [dpdk-dev] [PATCH v4 3/7] ethdev: make device operations struct private Ferruh Yigit
                     ` (2 subsequent siblings)
  3 siblings, 1 reply; 200+ results
From: Ferruh Yigit @ 2020-09-09 13:01 UTC (permalink / raw)
  To: dev, John McNamara, Marko Kovacevic, Shepard Siegel, Ed Czeck,
	John Miller, Igor Russkikh, Pavel Belous, Somalapuram Amaranath,
	Ajit Khaparde, Somnath Kotur, Hemant Agrawal, Sachin Saxena,
	Wei Zhao, Jeff Guo, John Daley, Hyong Youb Kim, Qi Zhang,
	Xiao Wang, Beilei Xing, Jingjing Wu, Qiming Yang, Matan Azrad,
	Shahaf Shuler, Viacheslav Ovsiienko, Stephen Hemminger,
	K. Y. Srinivasan, Haiyang Zhang, Long Li, Heinrich Kuhn,
	Jerin Jacob, Nithin Dabilpuram, Kiran Kumar K, Rasesh Mody,
	Shahed Shaikh, Andrew Rybchenko, Maciej Czekaj, Maxime Coquelin,
	Chenbo Xia, Zhihong Wang, Thomas Monjalon
  Cc: Ferruh Yigit, David Marchand

This patch is a preparation to hide the 'struct eth_dev_ops' from
applications by moving some device operations from 'struct eth_dev_ops'
to 'struct rte_eth_dev'.

Mentioned ethdev APIs are in the data path and implemented as inline
because of performance reasons.

Exposing 'struct eth_dev_ops' to applications is bad because it is a
contract between ethdev and PMDs, not really needs to be known by
applications, also changes in the struct causing ABI breakages which
shouldn't.

To be able to both keep APIs inline and hide the 'struct eth_dev_ops',
moving device operations used in ethdev inline APIs to 'struct
rte_eth_dev' to the same level with Rx/Tx burst functions.

The list of dev_ops moved:
eth_rx_queue_count_t       rx_queue_count;
eth_rx_descriptor_done_t   rx_descriptor_done;
eth_rx_descriptor_status_t rx_descriptor_status;
eth_tx_descriptor_status_t tx_descriptor_status;

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: David Marchand <david.marchand@redhat.com>
---
v2:
* Updated features.rst
* Tweak assignment order in sfc

Cc: David Marchand <david.marchand@redhat.com>
v3:
* ``rx_descriptor_done`` also moved
* release note updated
---
 doc/guides/nics/features.rst           |  6 +++---
 doc/guides/rel_notes/release_20_11.rst |  9 +++++++++
 drivers/net/ark/ark_ethdev.c           |  2 +-
 drivers/net/atlantic/atl_ethdev.c      |  9 +++++----
 drivers/net/axgbe/axgbe_ethdev.c       |  5 +++--
 drivers/net/bnxt/bnxt_ethdev.c         |  6 +++---
 drivers/net/dpaa/dpaa_ethdev.c         |  2 +-
 drivers/net/dpaa2/dpaa2_ethdev.c       |  2 +-
 drivers/net/e1000/em_ethdev.c          |  8 ++++----
 drivers/net/e1000/igb_ethdev.c         | 14 +++++++-------
 drivers/net/enic/enic_ethdev.c         |  3 +--
 drivers/net/fm10k/fm10k_ethdev.c       |  8 ++++----
 drivers/net/i40e/i40e_ethdev.c         |  8 ++++----
 drivers/net/i40e/i40e_ethdev_vf.c      |  8 ++++----
 drivers/net/iavf/iavf_ethdev.c         |  6 +++---
 drivers/net/ice/ice_ethdev.c           |  6 +++---
 drivers/net/igc/igc_ethdev.c           |  8 ++++----
 drivers/net/ixgbe/ixgbe_ethdev.c       | 14 +++++++-------
 drivers/net/mlx5/linux/mlx5_os.c       | 12 +++++-------
 drivers/net/mlx5/mlx5_flow.c           |  4 ++++
 drivers/net/netvsc/hn_ethdev.c         |  6 +++---
 drivers/net/nfp/nfp_net.c              |  2 +-
 drivers/net/octeontx2/otx2_ethdev.c    |  8 ++++----
 drivers/net/qede/qede_ethdev.c         |  3 +--
 drivers/net/sfc/sfc_ethdev.c           | 16 ++++++++--------
 drivers/net/thunderx/nicvf_ethdev.c    |  2 +-
 drivers/net/vhost/rte_eth_vhost.c      |  2 +-
 drivers/net/virtio/virtio_ethdev.c     |  2 +-
 lib/librte_ethdev/rte_ethdev.h         | 17 ++++++++---------
 lib/librte_ethdev/rte_ethdev_core.h    | 13 ++++++-------
 30 files changed, 110 insertions(+), 101 deletions(-)

diff --git a/doc/guides/nics/features.rst b/doc/guides/nics/features.rst
index edd21c4d8e..dd8c9555b0 100644
--- a/doc/guides/nics/features.rst
+++ b/doc/guides/nics/features.rst
@@ -646,9 +646,9 @@ used, status can be "Available", "Done" or "Unavailable". When
 ``rx_descriptor_done`` is used, status can be "DD bit is set" or "DD bit is
 not set".
 
-* **[implements] eth_dev_ops**: ``rx_descriptor_status``.
+* **[implements] rte_eth_dev**: ``rx_descriptor_status``.
 * **[related]    API**: ``rte_eth_rx_descriptor_status()``.
-* **[implements] eth_dev_ops**: ``rx_descriptor_done``.
+* **[implements] rte_eth_dev**: ``rx_descriptor_done``.
 * **[related]    API**: ``rte_eth_rx_descriptor_done()``.
 
 
@@ -660,7 +660,7 @@ Tx descriptor status
 Supports checking the status of a Tx descriptor. Status can be "Full", "Done"
 or "Unavailable."
 
-* **[implements] eth_dev_ops**: ``tx_descriptor_status``.
+* **[implements] rte_eth_dev**: ``tx_descriptor_status``.
 * **[related]    API**: ``rte_eth_tx_descriptor_status()``.
 
 
diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index a7d57b001d..ff7242012b 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -102,6 +102,15 @@ ABI Changes
    Also, make sure to start the actual text at the margin.
    =======================================================
 
+* ``ethdev`` changes
+
+  * Following device operation function pointers moved from ``struct eth_dev_ops`` to ``struct rte_eth_dev``:
+
+    * ``eth_rx_queue_count_t       rx_queue_count;``
+    * ``eth_rx_descriptor_done_t   rx_descriptor_done;``
+    * ``eth_rx_descriptor_status_t rx_descriptor_status;``
+    * ``eth_tx_descriptor_status_t tx_descriptor_status;``
+
 
 Known Issues
 ------------
diff --git a/drivers/net/ark/ark_ethdev.c b/drivers/net/ark/ark_ethdev.c
index b32ccd8677..ce7f6e4803 100644
--- a/drivers/net/ark/ark_ethdev.c
+++ b/drivers/net/ark/ark_ethdev.c
@@ -132,7 +132,6 @@ static const struct eth_dev_ops ark_eth_dev_ops = {
 	.dev_infos_get = eth_ark_dev_info_get,
 
 	.rx_queue_setup = eth_ark_dev_rx_queue_setup,
-	.rx_queue_count = eth_ark_dev_rx_queue_count,
 	.tx_queue_setup = eth_ark_tx_queue_setup,
 
 	.link_update = eth_ark_dev_link_update,
@@ -318,6 +317,7 @@ eth_ark_dev_init(struct rte_eth_dev *dev)
 		return -1;
 
 	dev->dev_ops = &ark_eth_dev_ops;
+	dev->rx_queue_count = eth_ark_dev_rx_queue_count;
 
 	dev->data->mac_addrs = rte_zmalloc("ark", RTE_ETHER_ADDR_LEN, 0);
 	if (!dev->data->mac_addrs) {
diff --git a/drivers/net/atlantic/atl_ethdev.c b/drivers/net/atlantic/atl_ethdev.c
index d3b00ab295..540b106045 100644
--- a/drivers/net/atlantic/atl_ethdev.c
+++ b/drivers/net/atlantic/atl_ethdev.c
@@ -313,10 +313,6 @@ static const struct eth_dev_ops atl_eth_dev_ops = {
 	.rx_queue_intr_enable = atl_dev_rx_queue_intr_enable,
 	.rx_queue_intr_disable = atl_dev_rx_queue_intr_disable,
 
-	.rx_queue_count       = atl_rx_queue_count,
-	.rx_descriptor_status = atl_dev_rx_descriptor_status,
-	.tx_descriptor_status = atl_dev_tx_descriptor_status,
-
 	/* EEPROM */
 	.get_eeprom_length    = atl_dev_get_eeprom_length,
 	.get_eeprom           = atl_dev_get_eeprom,
@@ -373,6 +369,11 @@ eth_atl_dev_init(struct rte_eth_dev *eth_dev)
 	PMD_INIT_FUNC_TRACE();
 
 	eth_dev->dev_ops = &atl_eth_dev_ops;
+
+	eth_dev->rx_queue_count       = atl_rx_queue_count;
+	eth_dev->rx_descriptor_status = atl_dev_rx_descriptor_status;
+	eth_dev->tx_descriptor_status = atl_dev_tx_descriptor_status;
+
 	eth_dev->rx_pkt_burst = &atl_recv_pkts;
 	eth_dev->tx_pkt_burst = &atl_xmit_pkts;
 	eth_dev->tx_pkt_prepare = &atl_prep_pkts;
diff --git a/drivers/net/axgbe/axgbe_ethdev.c b/drivers/net/axgbe/axgbe_ethdev.c
index 0c25739f82..02ceb95754 100644
--- a/drivers/net/axgbe/axgbe_ethdev.c
+++ b/drivers/net/axgbe/axgbe_ethdev.c
@@ -224,8 +224,6 @@ static const struct eth_dev_ops axgbe_eth_dev_ops = {
 	.rxq_info_get                 = axgbe_rxq_info_get,
 	.txq_info_get                 = axgbe_txq_info_get,
 	.dev_supported_ptypes_get     = axgbe_dev_supported_ptypes_get,
-	.rx_descriptor_status         = axgbe_dev_rx_descriptor_status,
-	.tx_descriptor_status         = axgbe_dev_tx_descriptor_status,
 	.mtu_set		= axgb_mtu_set,
 };
 
@@ -1632,6 +1630,9 @@ eth_axgbe_dev_init(struct rte_eth_dev *eth_dev)
 
 	eth_dev->dev_ops = &axgbe_eth_dev_ops;
 
+	eth_dev->rx_descriptor_status = axgbe_dev_rx_descriptor_status;
+	eth_dev->tx_descriptor_status = axgbe_dev_tx_descriptor_status;
+
 	/*
 	 * For secondary processes, we don't initialise any further as primary
 	 * has already done this work.
diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index 75d055be00..4d224bfa04 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -4246,9 +4246,6 @@ static const struct eth_dev_ops bnxt_dev_ops = {
 	.dev_led_off = bnxt_dev_led_off_op,
 	.xstats_get_by_id = bnxt_dev_xstats_get_by_id_op,
 	.xstats_get_names_by_id = bnxt_dev_xstats_get_names_by_id_op,
-	.rx_queue_count = bnxt_rx_queue_count_op,
-	.rx_descriptor_status = bnxt_rx_descriptor_status_op,
-	.tx_descriptor_status = bnxt_tx_descriptor_status_op,
 	.rx_queue_start = bnxt_rx_queue_start,
 	.rx_queue_stop = bnxt_rx_queue_stop,
 	.tx_queue_start = bnxt_tx_queue_start,
@@ -5681,6 +5678,9 @@ bnxt_dev_init(struct rte_eth_dev *eth_dev, void *params __rte_unused)
 		PMD_DRV_LOG(INFO, "%s\n", bnxt_version);
 
 	eth_dev->dev_ops = &bnxt_dev_ops;
+	eth_dev->rx_queue_count = bnxt_rx_queue_count_op;
+	eth_dev->rx_descriptor_status = bnxt_rx_descriptor_status_op;
+	eth_dev->tx_descriptor_status = bnxt_tx_descriptor_status_op;
 	eth_dev->rx_pkt_burst = &bnxt_recv_pkts;
 	eth_dev->tx_pkt_burst = &bnxt_xmit_pkts;
 
diff --git a/drivers/net/dpaa/dpaa_ethdev.c b/drivers/net/dpaa/dpaa_ethdev.c
index b0f2023e60..e2c3fd0368 100644
--- a/drivers/net/dpaa/dpaa_ethdev.c
+++ b/drivers/net/dpaa/dpaa_ethdev.c
@@ -1421,7 +1421,6 @@ static struct eth_dev_ops dpaa_devops = {
 	.tx_queue_setup		  = dpaa_eth_tx_queue_setup,
 	.rx_queue_release	  = dpaa_eth_rx_queue_release,
 	.tx_queue_release	  = dpaa_eth_tx_queue_release,
-	.rx_queue_count		  = dpaa_dev_rx_queue_count,
 	.rx_burst_mode_get	  = dpaa_dev_rx_burst_mode_get,
 	.tx_burst_mode_get	  = dpaa_dev_tx_burst_mode_get,
 	.rxq_info_get		  = dpaa_rxq_info_get,
@@ -1917,6 +1916,7 @@ dpaa_dev_init(struct rte_eth_dev *eth_dev)
 
 	/* Populate ethdev structure */
 	eth_dev->dev_ops = &dpaa_devops;
+	eth_dev->rx_queue_count = dpaa_dev_rx_queue_count;
 	eth_dev->rx_pkt_burst = dpaa_eth_queue_rx;
 	eth_dev->tx_pkt_burst = dpaa_eth_tx_drop_all;
 
diff --git a/drivers/net/dpaa2/dpaa2_ethdev.c b/drivers/net/dpaa2/dpaa2_ethdev.c
index 02c254846c..38cf0ab71c 100644
--- a/drivers/net/dpaa2/dpaa2_ethdev.c
+++ b/drivers/net/dpaa2/dpaa2_ethdev.c
@@ -2331,7 +2331,6 @@ static struct eth_dev_ops dpaa2_ethdev_ops = {
 	.tx_queue_release  = dpaa2_dev_tx_queue_release,
 	.rx_burst_mode_get = dpaa2_dev_rx_burst_mode_get,
 	.tx_burst_mode_get = dpaa2_dev_tx_burst_mode_get,
-	.rx_queue_count       = dpaa2_dev_rx_queue_count,
 	.flow_ctrl_get	      = dpaa2_flow_ctrl_get,
 	.flow_ctrl_set	      = dpaa2_flow_ctrl_set,
 	.mac_addr_add         = dpaa2_dev_add_mac_addr,
@@ -2486,6 +2485,7 @@ dpaa2_dev_init(struct rte_eth_dev *eth_dev)
 		 * plugged.
 		 */
 		eth_dev->dev_ops = &dpaa2_ethdev_ops;
+		eth_dev->rx_queue_count = dpaa2_dev_rx_queue_count;
 		if (dpaa2_get_devargs(dev->devargs, DRIVER_LOOPBACK_MODE))
 			eth_dev->rx_pkt_burst = dpaa2_dev_loopback_rx;
 		else if (dpaa2_get_devargs(dev->devargs,
diff --git a/drivers/net/e1000/em_ethdev.c b/drivers/net/e1000/em_ethdev.c
index 902b1cdca0..82766da882 100644
--- a/drivers/net/e1000/em_ethdev.c
+++ b/drivers/net/e1000/em_ethdev.c
@@ -176,10 +176,6 @@ static const struct eth_dev_ops eth_em_ops = {
 	.vlan_offload_set     = eth_em_vlan_offload_set,
 	.rx_queue_setup       = eth_em_rx_queue_setup,
 	.rx_queue_release     = eth_em_rx_queue_release,
-	.rx_queue_count       = eth_em_rx_queue_count,
-	.rx_descriptor_done   = eth_em_rx_descriptor_done,
-	.rx_descriptor_status = eth_em_rx_descriptor_status,
-	.tx_descriptor_status = eth_em_tx_descriptor_status,
 	.tx_queue_setup       = eth_em_tx_queue_setup,
 	.tx_queue_release     = eth_em_tx_queue_release,
 	.rx_queue_intr_enable = eth_em_rx_queue_intr_enable,
@@ -250,6 +246,10 @@ eth_em_dev_init(struct rte_eth_dev *eth_dev)
 		E1000_DEV_PRIVATE_TO_VFTA(eth_dev->data->dev_private);
 
 	eth_dev->dev_ops = &eth_em_ops;
+	eth_dev->rx_queue_count = eth_em_rx_queue_count;
+	eth_dev->rx_descriptor_done   = eth_em_rx_descriptor_done;
+	eth_dev->rx_descriptor_status = eth_em_rx_descriptor_status;
+	eth_dev->tx_descriptor_status = eth_em_tx_descriptor_status;
 	eth_dev->rx_pkt_burst = (eth_rx_burst_t)&eth_em_recv_pkts;
 	eth_dev->tx_pkt_burst = (eth_tx_burst_t)&eth_em_xmit_pkts;
 	eth_dev->tx_pkt_prepare = (eth_tx_prep_t)&eth_em_prep_pkts;
diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c
index a5551e8175..fe0cea88c2 100644
--- a/drivers/net/e1000/igb_ethdev.c
+++ b/drivers/net/e1000/igb_ethdev.c
@@ -380,10 +380,6 @@ static const struct eth_dev_ops eth_igb_ops = {
 	.rx_queue_intr_enable = eth_igb_rx_queue_intr_enable,
 	.rx_queue_intr_disable = eth_igb_rx_queue_intr_disable,
 	.rx_queue_release     = eth_igb_rx_queue_release,
-	.rx_queue_count       = eth_igb_rx_queue_count,
-	.rx_descriptor_done   = eth_igb_rx_descriptor_done,
-	.rx_descriptor_status = eth_igb_rx_descriptor_status,
-	.tx_descriptor_status = eth_igb_tx_descriptor_status,
 	.tx_queue_setup       = eth_igb_tx_queue_setup,
 	.tx_queue_release     = eth_igb_tx_queue_release,
 	.tx_done_cleanup      = eth_igb_tx_done_cleanup,
@@ -441,9 +437,6 @@ static const struct eth_dev_ops igbvf_eth_dev_ops = {
 	.dev_supported_ptypes_get = eth_igb_supported_ptypes_get,
 	.rx_queue_setup       = eth_igb_rx_queue_setup,
 	.rx_queue_release     = eth_igb_rx_queue_release,
-	.rx_descriptor_done   = eth_igb_rx_descriptor_done,
-	.rx_descriptor_status = eth_igb_rx_descriptor_status,
-	.tx_descriptor_status = eth_igb_tx_descriptor_status,
 	.tx_queue_setup       = eth_igb_tx_queue_setup,
 	.tx_queue_release     = eth_igb_tx_queue_release,
 	.tx_done_cleanup      = eth_igb_tx_done_cleanup,
@@ -754,6 +747,10 @@ eth_igb_dev_init(struct rte_eth_dev *eth_dev)
 	uint32_t ctrl_ext;
 
 	eth_dev->dev_ops = &eth_igb_ops;
+	eth_dev->rx_queue_count = eth_igb_rx_queue_count;
+	eth_dev->rx_descriptor_done   = eth_igb_rx_descriptor_done;
+	eth_dev->rx_descriptor_status = eth_igb_rx_descriptor_status;
+	eth_dev->tx_descriptor_status = eth_igb_tx_descriptor_status;
 	eth_dev->rx_pkt_burst = &eth_igb_recv_pkts;
 	eth_dev->tx_pkt_burst = &eth_igb_xmit_pkts;
 	eth_dev->tx_pkt_prepare = &eth_igb_prep_pkts;
@@ -949,6 +946,9 @@ eth_igbvf_dev_init(struct rte_eth_dev *eth_dev)
 	PMD_INIT_FUNC_TRACE();
 
 	eth_dev->dev_ops = &igbvf_eth_dev_ops;
+	eth_dev->rx_descriptor_done   = eth_igb_rx_descriptor_done;
+	eth_dev->rx_descriptor_status = eth_igb_rx_descriptor_status;
+	eth_dev->tx_descriptor_status = eth_igb_tx_descriptor_status;
 	eth_dev->rx_pkt_burst = &eth_igb_recv_pkts;
 	eth_dev->tx_pkt_burst = &eth_igb_xmit_pkts;
 	eth_dev->tx_pkt_prepare = &eth_igb_prep_pkts;
diff --git a/drivers/net/enic/enic_ethdev.c b/drivers/net/enic/enic_ethdev.c
index ca75919ee2..2cffa3aa2d 100644
--- a/drivers/net/enic/enic_ethdev.c
+++ b/drivers/net/enic/enic_ethdev.c
@@ -1141,8 +1141,6 @@ static const struct eth_dev_ops enicpmd_eth_dev_ops = {
 	.tx_queue_stop        = enicpmd_dev_tx_queue_stop,
 	.rx_queue_setup       = enicpmd_dev_rx_queue_setup,
 	.rx_queue_release     = enicpmd_dev_rx_queue_release,
-	.rx_queue_count       = enicpmd_dev_rx_queue_count,
-	.rx_descriptor_done   = NULL,
 	.tx_queue_setup       = enicpmd_dev_tx_queue_setup,
 	.tx_queue_release     = enicpmd_dev_tx_queue_release,
 	.rx_queue_intr_enable = enicpmd_dev_rx_queue_intr_enable,
@@ -1279,6 +1277,7 @@ static int eth_enicpmd_dev_init(struct rte_eth_dev *eth_dev)
 	ENICPMD_FUNC_TRACE();
 
 	eth_dev->dev_ops = &enicpmd_eth_dev_ops;
+	eth_dev->rx_queue_count = enicpmd_dev_rx_queue_count;
 	eth_dev->rx_pkt_burst = &enic_recv_pkts;
 	eth_dev->tx_pkt_burst = &enic_xmit_pkts;
 	eth_dev->tx_pkt_prepare = &enic_prep_pkts;
diff --git a/drivers/net/fm10k/fm10k_ethdev.c b/drivers/net/fm10k/fm10k_ethdev.c
index fd927923da..e6043e1455 100644
--- a/drivers/net/fm10k/fm10k_ethdev.c
+++ b/drivers/net/fm10k/fm10k_ethdev.c
@@ -2855,10 +2855,6 @@ static const struct eth_dev_ops fm10k_eth_dev_ops = {
 	.rx_queue_release	= fm10k_rx_queue_release,
 	.tx_queue_setup		= fm10k_tx_queue_setup,
 	.tx_queue_release	= fm10k_tx_queue_release,
-	.rx_queue_count		= fm10k_dev_rx_queue_count,
-	.rx_descriptor_done	= fm10k_dev_rx_descriptor_done,
-	.rx_descriptor_status = fm10k_dev_rx_descriptor_status,
-	.tx_descriptor_status = fm10k_dev_tx_descriptor_status,
 	.rx_queue_intr_enable	= fm10k_dev_rx_queue_intr_enable,
 	.rx_queue_intr_disable	= fm10k_dev_rx_queue_intr_disable,
 	.reta_update		= fm10k_reta_update,
@@ -3055,6 +3051,10 @@ eth_fm10k_dev_init(struct rte_eth_dev *dev)
 	PMD_INIT_FUNC_TRACE();
 
 	dev->dev_ops = &fm10k_eth_dev_ops;
+	dev->rx_queue_count = fm10k_dev_rx_queue_count;
+	dev->rx_descriptor_done	= fm10k_dev_rx_descriptor_done;
+	dev->rx_descriptor_status = fm10k_dev_rx_descriptor_status;
+	dev->tx_descriptor_status = fm10k_dev_tx_descriptor_status;
 	dev->rx_pkt_burst = &fm10k_recv_pkts;
 	dev->tx_pkt_burst = &fm10k_xmit_pkts;
 	dev->tx_pkt_prepare = &fm10k_prep_pkts;
diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index 841447228a..80efd06cd9 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -474,10 +474,6 @@ static const struct eth_dev_ops i40e_eth_dev_ops = {
 	.rx_queue_intr_enable         = i40e_dev_rx_queue_intr_enable,
 	.rx_queue_intr_disable        = i40e_dev_rx_queue_intr_disable,
 	.rx_queue_release             = i40e_dev_rx_queue_release,
-	.rx_queue_count               = i40e_dev_rx_queue_count,
-	.rx_descriptor_done           = i40e_dev_rx_descriptor_done,
-	.rx_descriptor_status         = i40e_dev_rx_descriptor_status,
-	.tx_descriptor_status         = i40e_dev_tx_descriptor_status,
 	.tx_queue_setup               = i40e_dev_tx_queue_setup,
 	.tx_queue_release             = i40e_dev_tx_queue_release,
 	.dev_led_on                   = i40e_dev_led_on,
@@ -1448,6 +1444,10 @@ eth_i40e_dev_init(struct rte_eth_dev *dev, void *init_params __rte_unused)
 	PMD_INIT_FUNC_TRACE();
 
 	dev->dev_ops = &i40e_eth_dev_ops;
+	dev->rx_queue_count = i40e_dev_rx_queue_count;
+	dev->rx_descriptor_done = i40e_dev_rx_descriptor_done;
+	dev->rx_descriptor_status = i40e_dev_rx_descriptor_status;
+	dev->tx_descriptor_status = i40e_dev_tx_descriptor_status;
 	dev->rx_pkt_burst = i40e_recv_pkts;
 	dev->tx_pkt_burst = i40e_xmit_pkts;
 	dev->tx_pkt_prepare = i40e_prep_pkts;
diff --git a/drivers/net/i40e/i40e_ethdev_vf.c b/drivers/net/i40e/i40e_ethdev_vf.c
index b755350cd2..be4b28fa45 100644
--- a/drivers/net/i40e/i40e_ethdev_vf.c
+++ b/drivers/net/i40e/i40e_ethdev_vf.c
@@ -199,12 +199,8 @@ static const struct eth_dev_ops i40evf_eth_dev_ops = {
 	.rx_queue_release     = i40e_dev_rx_queue_release,
 	.rx_queue_intr_enable = i40evf_dev_rx_queue_intr_enable,
 	.rx_queue_intr_disable = i40evf_dev_rx_queue_intr_disable,
-	.rx_descriptor_done   = i40e_dev_rx_descriptor_done,
-	.rx_descriptor_status = i40e_dev_rx_descriptor_status,
-	.tx_descriptor_status = i40e_dev_tx_descriptor_status,
 	.tx_queue_setup       = i40e_dev_tx_queue_setup,
 	.tx_queue_release     = i40e_dev_tx_queue_release,
-	.rx_queue_count       = i40e_dev_rx_queue_count,
 	.rxq_info_get         = i40e_rxq_info_get,
 	.txq_info_get         = i40e_txq_info_get,
 	.mac_addr_add	      = i40evf_add_mac_addr,
@@ -1561,6 +1557,10 @@ i40evf_dev_init(struct rte_eth_dev *eth_dev)
 
 	/* assign ops func pointer */
 	eth_dev->dev_ops = &i40evf_eth_dev_ops;
+	eth_dev->rx_queue_count       = i40e_dev_rx_queue_count;
+	eth_dev->rx_descriptor_done   = i40e_dev_rx_descriptor_done;
+	eth_dev->rx_descriptor_status = i40e_dev_rx_descriptor_status;
+	eth_dev->tx_descriptor_status = i40e_dev_tx_descriptor_status;
 	eth_dev->rx_pkt_burst = &i40e_recv_pkts;
 	eth_dev->tx_pkt_burst = &i40e_xmit_pkts;
 
diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c
index 8e1d8a8d3e..e1ff38e8be 100644
--- a/drivers/net/iavf/iavf_ethdev.c
+++ b/drivers/net/iavf/iavf_ethdev.c
@@ -117,9 +117,6 @@ static const struct eth_dev_ops iavf_eth_dev_ops = {
 	.rss_hash_conf_get          = iavf_dev_rss_hash_conf_get,
 	.rxq_info_get               = iavf_dev_rxq_info_get,
 	.txq_info_get               = iavf_dev_txq_info_get,
-	.rx_queue_count             = iavf_dev_rxq_count,
-	.rx_descriptor_status       = iavf_dev_rx_desc_status,
-	.tx_descriptor_status       = iavf_dev_tx_desc_status,
 	.mtu_set                    = iavf_dev_mtu_set,
 	.rx_queue_intr_enable       = iavf_dev_rx_queue_intr_enable,
 	.rx_queue_intr_disable      = iavf_dev_rx_queue_intr_disable,
@@ -1383,6 +1380,9 @@ iavf_dev_init(struct rte_eth_dev *eth_dev)
 
 	/* assign ops func pointer */
 	eth_dev->dev_ops = &iavf_eth_dev_ops;
+	eth_dev->rx_queue_count = iavf_dev_rxq_count;
+	eth_dev->rx_descriptor_status = iavf_dev_rx_desc_status;
+	eth_dev->tx_descriptor_status = iavf_dev_tx_desc_status;
 	eth_dev->rx_pkt_burst = &iavf_recv_pkts;
 	eth_dev->tx_pkt_burst = &iavf_xmit_pkts;
 	eth_dev->tx_pkt_prepare = &iavf_prep_pkts;
diff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c
index c5dac2e328..c8b16c7f87 100644
--- a/drivers/net/ice/ice_ethdev.c
+++ b/drivers/net/ice/ice_ethdev.c
@@ -205,9 +205,6 @@ static const struct eth_dev_ops ice_eth_dev_ops = {
 	.tx_burst_mode_get            = ice_tx_burst_mode_get,
 	.get_eeprom_length            = ice_get_eeprom_length,
 	.get_eeprom                   = ice_get_eeprom,
-	.rx_queue_count               = ice_rx_queue_count,
-	.rx_descriptor_status         = ice_rx_descriptor_status,
-	.tx_descriptor_status         = ice_tx_descriptor_status,
 	.stats_get                    = ice_stats_get,
 	.stats_reset                  = ice_stats_reset,
 	.xstats_get                   = ice_xstats_get,
@@ -2163,6 +2160,9 @@ ice_dev_init(struct rte_eth_dev *dev)
 	int ret;
 
 	dev->dev_ops = &ice_eth_dev_ops;
+	dev->rx_queue_count = ice_rx_queue_count;
+	dev->rx_descriptor_status = ice_rx_descriptor_status;
+	dev->tx_descriptor_status = ice_tx_descriptor_status;
 	dev->rx_pkt_burst = ice_recv_pkts;
 	dev->tx_pkt_burst = ice_xmit_pkts;
 	dev->tx_pkt_prepare = ice_prep_pkts;
diff --git a/drivers/net/igc/igc_ethdev.c b/drivers/net/igc/igc_ethdev.c
index 6ab3ee909d..aa37c11861 100644
--- a/drivers/net/igc/igc_ethdev.c
+++ b/drivers/net/igc/igc_ethdev.c
@@ -272,10 +272,6 @@ static const struct eth_dev_ops eth_igc_ops = {
 
 	.rx_queue_setup		= eth_igc_rx_queue_setup,
 	.rx_queue_release	= eth_igc_rx_queue_release,
-	.rx_queue_count		= eth_igc_rx_queue_count,
-	.rx_descriptor_done	= eth_igc_rx_descriptor_done,
-	.rx_descriptor_status	= eth_igc_rx_descriptor_status,
-	.tx_descriptor_status	= eth_igc_tx_descriptor_status,
 	.tx_queue_setup		= eth_igc_tx_queue_setup,
 	.tx_queue_release	= eth_igc_tx_queue_release,
 	.tx_done_cleanup	= eth_igc_tx_done_cleanup,
@@ -1227,6 +1223,10 @@ eth_igc_dev_init(struct rte_eth_dev *dev)
 
 	PMD_INIT_FUNC_TRACE();
 	dev->dev_ops = &eth_igc_ops;
+	dev->rx_descriptor_done	= eth_igc_rx_descriptor_done;
+	dev->rx_queue_count = eth_igc_rx_queue_count;
+	dev->rx_descriptor_status = eth_igc_rx_descriptor_status;
+	dev->tx_descriptor_status = eth_igc_tx_descriptor_status;
 
 	/*
 	 * for secondary processes, we don't initialize any further as primary
diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index d9582473a4..337ce90fbf 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -545,10 +545,6 @@ static const struct eth_dev_ops ixgbe_eth_dev_ops = {
 	.rx_queue_intr_enable = ixgbe_dev_rx_queue_intr_enable,
 	.rx_queue_intr_disable = ixgbe_dev_rx_queue_intr_disable,
 	.rx_queue_release     = ixgbe_dev_rx_queue_release,
-	.rx_queue_count       = ixgbe_dev_rx_queue_count,
-	.rx_descriptor_done   = ixgbe_dev_rx_descriptor_done,
-	.rx_descriptor_status = ixgbe_dev_rx_descriptor_status,
-	.tx_descriptor_status = ixgbe_dev_tx_descriptor_status,
 	.tx_queue_setup       = ixgbe_dev_tx_queue_setup,
 	.tx_queue_release     = ixgbe_dev_tx_queue_release,
 	.dev_led_on           = ixgbe_dev_led_on,
@@ -622,9 +618,6 @@ static const struct eth_dev_ops ixgbevf_eth_dev_ops = {
 	.vlan_offload_set     = ixgbevf_vlan_offload_set,
 	.rx_queue_setup       = ixgbe_dev_rx_queue_setup,
 	.rx_queue_release     = ixgbe_dev_rx_queue_release,
-	.rx_descriptor_done   = ixgbe_dev_rx_descriptor_done,
-	.rx_descriptor_status = ixgbe_dev_rx_descriptor_status,
-	.tx_descriptor_status = ixgbe_dev_tx_descriptor_status,
 	.tx_queue_setup       = ixgbe_dev_tx_queue_setup,
 	.tx_queue_release     = ixgbe_dev_tx_queue_release,
 	.rx_queue_intr_enable = ixgbevf_dev_rx_queue_intr_enable,
@@ -1091,6 +1084,10 @@ eth_ixgbe_dev_init(struct rte_eth_dev *eth_dev, void *init_params __rte_unused)
 	ixgbe_dev_macsec_setting_reset(eth_dev);
 
 	eth_dev->dev_ops = &ixgbe_eth_dev_ops;
+	eth_dev->rx_queue_count       = ixgbe_dev_rx_queue_count;
+	eth_dev->rx_descriptor_done   = ixgbe_dev_rx_descriptor_done;
+	eth_dev->rx_descriptor_status = ixgbe_dev_rx_descriptor_status;
+	eth_dev->tx_descriptor_status = ixgbe_dev_tx_descriptor_status;
 	eth_dev->rx_pkt_burst = &ixgbe_recv_pkts;
 	eth_dev->tx_pkt_burst = &ixgbe_xmit_pkts;
 	eth_dev->tx_pkt_prepare = &ixgbe_prep_pkts;
@@ -1570,6 +1567,9 @@ eth_ixgbevf_dev_init(struct rte_eth_dev *eth_dev)
 	PMD_INIT_FUNC_TRACE();
 
 	eth_dev->dev_ops = &ixgbevf_eth_dev_ops;
+	eth_dev->rx_descriptor_done   = ixgbe_dev_rx_descriptor_done;
+	eth_dev->rx_descriptor_status = ixgbe_dev_rx_descriptor_status;
+	eth_dev->tx_descriptor_status = ixgbe_dev_tx_descriptor_status;
 	eth_dev->rx_pkt_burst = &ixgbe_recv_pkts;
 	eth_dev->tx_pkt_burst = &ixgbe_xmit_pkts;
 
diff --git a/drivers/net/mlx5/linux/mlx5_os.c b/drivers/net/mlx5/linux/mlx5_os.c
index bf1f82ba67..ec3cc4000e 100644
--- a/drivers/net/mlx5/linux/mlx5_os.c
+++ b/drivers/net/mlx5/linux/mlx5_os.c
@@ -601,6 +601,8 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev,
 		}
 		eth_dev->device = dpdk_dev;
 		eth_dev->dev_ops = &mlx5_os_dev_sec_ops;
+		eth_dev->rx_descriptor_status = mlx5_rx_descriptor_status;
+		eth_dev->tx_descriptor_status = mlx5_tx_descriptor_status;
 		err = mlx5_proc_priv_init(eth_dev);
 		if (err)
 			return NULL;
@@ -1208,6 +1210,9 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev,
 	eth_dev->rx_pkt_burst = removed_rx_burst;
 	eth_dev->tx_pkt_burst = removed_tx_burst;
 	eth_dev->dev_ops = &mlx5_os_dev_ops;
+	eth_dev->rx_descriptor_status = mlx5_rx_descriptor_status;
+	eth_dev->tx_descriptor_status = mlx5_tx_descriptor_status;
+	eth_dev->rx_queue_count = mlx5_rx_queue_count;
 	/* Register MAC address. */
 	claim_zero(mlx5_mac_addr_add(eth_dev, &mac, 0, 0));
 	if (config->vf && config->vf_nl_en)
@@ -2396,13 +2401,10 @@ const struct eth_dev_ops mlx5_os_dev_ops = {
 	.rss_hash_update = mlx5_rss_hash_update,
 	.rss_hash_conf_get = mlx5_rss_hash_conf_get,
 	.filter_ctrl = mlx5_dev_filter_ctrl,
-	.rx_descriptor_status = mlx5_rx_descriptor_status,
-	.tx_descriptor_status = mlx5_tx_descriptor_status,
 	.rxq_info_get = mlx5_rxq_info_get,
 	.txq_info_get = mlx5_txq_info_get,
 	.rx_burst_mode_get = mlx5_rx_burst_mode_get,
 	.tx_burst_mode_get = mlx5_tx_burst_mode_get,
-	.rx_queue_count = mlx5_rx_queue_count,
 	.rx_queue_intr_enable = mlx5_rx_intr_enable,
 	.rx_queue_intr_disable = mlx5_rx_intr_disable,
 	.is_removed = mlx5_is_removed,
@@ -2427,8 +2429,6 @@ const struct eth_dev_ops mlx5_os_dev_sec_ops = {
 	.rx_queue_stop = mlx5_rx_queue_stop,
 	.tx_queue_start = mlx5_tx_queue_start,
 	.tx_queue_stop = mlx5_tx_queue_stop,
-	.rx_descriptor_status = mlx5_rx_descriptor_status,
-	.tx_descriptor_status = mlx5_tx_descriptor_status,
 	.rxq_info_get = mlx5_rxq_info_get,
 	.txq_info_get = mlx5_txq_info_get,
 	.rx_burst_mode_get = mlx5_rx_burst_mode_get,
@@ -2480,8 +2480,6 @@ const struct eth_dev_ops mlx5_os_dev_ops_isolate = {
 	.vlan_strip_queue_set = mlx5_vlan_strip_queue_set,
 	.vlan_offload_set = mlx5_vlan_offload_set,
 	.filter_ctrl = mlx5_dev_filter_ctrl,
-	.rx_descriptor_status = mlx5_rx_descriptor_status,
-	.tx_descriptor_status = mlx5_tx_descriptor_status,
 	.rxq_info_get = mlx5_rxq_info_get,
 	.txq_info_get = mlx5_txq_info_get,
 	.rx_burst_mode_get = mlx5_rx_burst_mode_get,
diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
index 4c29898203..eb55bd7f99 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -5138,6 +5138,10 @@ mlx5_flow_isolate(struct rte_eth_dev *dev,
 		dev->dev_ops = &mlx5_os_dev_ops_isolate;
 	else
 		dev->dev_ops = &mlx5_os_dev_ops;
+
+	dev->rx_descriptor_status = mlx5_rx_descriptor_status;
+	dev->tx_descriptor_status = mlx5_tx_descriptor_status;
+
 	return 0;
 }
 
diff --git a/drivers/net/netvsc/hn_ethdev.c b/drivers/net/netvsc/hn_ethdev.c
index fd91c0e491..229c1b9149 100644
--- a/drivers/net/netvsc/hn_ethdev.c
+++ b/drivers/net/netvsc/hn_ethdev.c
@@ -871,11 +871,8 @@ static const struct eth_dev_ops hn_eth_dev_ops = {
 	.tx_queue_setup		= hn_dev_tx_queue_setup,
 	.tx_queue_release	= hn_dev_tx_queue_release,
 	.tx_done_cleanup        = hn_dev_tx_done_cleanup,
-	.tx_descriptor_status	= hn_dev_tx_descriptor_status,
 	.rx_queue_setup		= hn_dev_rx_queue_setup,
 	.rx_queue_release	= hn_dev_rx_queue_release,
-	.rx_queue_count		= hn_dev_rx_queue_count,
-	.rx_descriptor_status   = hn_dev_rx_queue_status,
 	.link_update		= hn_dev_link_update,
 	.stats_get		= hn_dev_stats_get,
 	.stats_reset            = hn_dev_stats_reset,
@@ -936,6 +933,9 @@ eth_hn_dev_init(struct rte_eth_dev *eth_dev)
 
 	vmbus = container_of(device, struct rte_vmbus_device, device);
 	eth_dev->dev_ops = &hn_eth_dev_ops;
+	eth_dev->rx_queue_count = hn_dev_rx_queue_count;
+	eth_dev->rx_descriptor_status = hn_dev_rx_queue_status;
+	eth_dev->tx_descriptor_status = hn_dev_tx_descriptor_status;
 	eth_dev->tx_pkt_burst = &hn_xmit_pkts;
 	eth_dev->rx_pkt_burst = &hn_recv_pkts;
 
diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c
index 99946279db..c556dedab6 100644
--- a/drivers/net/nfp/nfp_net.c
+++ b/drivers/net/nfp/nfp_net.c
@@ -2701,7 +2701,6 @@ static const struct eth_dev_ops nfp_net_eth_dev_ops = {
 	.rss_hash_conf_get	= nfp_net_rss_hash_conf_get,
 	.rx_queue_setup		= nfp_net_rx_queue_setup,
 	.rx_queue_release	= nfp_net_rx_queue_release,
-	.rx_queue_count		= nfp_net_rx_queue_count,
 	.tx_queue_setup		= nfp_net_tx_queue_setup,
 	.tx_queue_release	= nfp_net_tx_queue_release,
 	.rx_queue_intr_enable   = nfp_rx_queue_intr_enable,
@@ -2785,6 +2784,7 @@ nfp_net_init(struct rte_eth_dev *eth_dev)
 	}
 
 	eth_dev->dev_ops = &nfp_net_eth_dev_ops;
+	eth_dev->rx_queue_count = nfp_net_rx_queue_count;
 	eth_dev->rx_pkt_burst = &nfp_net_recv_pkts;
 	eth_dev->tx_pkt_burst = &nfp_net_xmit_pkts;
 
diff --git a/drivers/net/octeontx2/otx2_ethdev.c b/drivers/net/octeontx2/otx2_ethdev.c
index 33b72bd4db..c06e32f26b 100644
--- a/drivers/net/octeontx2/otx2_ethdev.c
+++ b/drivers/net/octeontx2/otx2_ethdev.c
@@ -2272,10 +2272,6 @@ static const struct eth_dev_ops otx2_eth_dev_ops = {
 	.txq_info_get             = otx2_nix_txq_info_get,
 	.rx_burst_mode_get        = otx2_rx_burst_mode_get,
 	.tx_burst_mode_get        = otx2_tx_burst_mode_get,
-	.rx_queue_count           = otx2_nix_rx_queue_count,
-	.rx_descriptor_done       = otx2_nix_rx_descriptor_done,
-	.rx_descriptor_status     = otx2_nix_rx_descriptor_status,
-	.tx_descriptor_status     = otx2_nix_tx_descriptor_status,
 	.tx_done_cleanup          = otx2_nix_tx_done_cleanup,
 	.set_queue_rate_limit     = otx2_nix_tm_set_queue_rate_limit,
 	.pool_ops_supported       = otx2_nix_pool_ops_supported,
@@ -2382,6 +2378,10 @@ otx2_eth_dev_init(struct rte_eth_dev *eth_dev)
 	int rc, max_entries;
 
 	eth_dev->dev_ops = &otx2_eth_dev_ops;
+	eth_dev->rx_descriptor_done = otx2_nix_rx_descriptor_done;
+	eth_dev->rx_queue_count = otx2_nix_rx_queue_count;
+	eth_dev->rx_descriptor_status = otx2_nix_rx_descriptor_status;
+	eth_dev->tx_descriptor_status = otx2_nix_tx_descriptor_status;
 
 	/* For secondary processes, the primary has done all the work */
 	if (rte_eal_process_type() != RTE_PROC_PRIMARY) {
diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c
index 70d48e48ef..59f1746ee9 100644
--- a/drivers/net/qede/qede_ethdev.c
+++ b/drivers/net/qede/qede_ethdev.c
@@ -2386,7 +2386,6 @@ static const struct eth_dev_ops qede_eth_dev_ops = {
 	.dev_infos_get = qede_dev_info_get,
 	.rx_queue_setup = qede_rx_queue_setup,
 	.rx_queue_release = qede_rx_queue_release,
-	.rx_descriptor_status = qede_rx_descriptor_status,
 	.tx_queue_setup = qede_tx_queue_setup,
 	.tx_queue_release = qede_tx_queue_release,
 	.dev_start = qede_dev_start,
@@ -2431,7 +2430,6 @@ static const struct eth_dev_ops qede_eth_vf_dev_ops = {
 	.dev_infos_get = qede_dev_info_get,
 	.rx_queue_setup = qede_rx_queue_setup,
 	.rx_queue_release = qede_rx_queue_release,
-	.rx_descriptor_status = qede_rx_descriptor_status,
 	.tx_queue_setup = qede_tx_queue_setup,
 	.tx_queue_release = qede_tx_queue_release,
 	.dev_start = qede_dev_start,
@@ -2670,6 +2668,7 @@ static int qede_common_dev_init(struct rte_eth_dev *eth_dev, bool is_vf)
 	}
 
 	eth_dev->dev_ops = (is_vf) ? &qede_eth_vf_dev_ops : &qede_eth_dev_ops;
+	eth_dev->rx_descriptor_status = qede_rx_descriptor_status;
 
 	adapter->num_tx_queues = 0;
 	adapter->num_rx_queues = 0;
diff --git a/drivers/net/sfc/sfc_ethdev.c b/drivers/net/sfc/sfc_ethdev.c
index acee3e48e4..1a58e0df84 100644
--- a/drivers/net/sfc/sfc_ethdev.c
+++ b/drivers/net/sfc/sfc_ethdev.c
@@ -1819,10 +1819,6 @@ static const struct eth_dev_ops sfc_eth_dev_ops = {
 	.tx_queue_stop			= sfc_tx_queue_stop,
 	.rx_queue_setup			= sfc_rx_queue_setup,
 	.rx_queue_release		= sfc_rx_queue_release,
-	.rx_queue_count			= sfc_rx_queue_count,
-	.rx_descriptor_done		= sfc_rx_descriptor_done,
-	.rx_descriptor_status		= sfc_rx_descriptor_status,
-	.tx_descriptor_status		= sfc_tx_descriptor_status,
 	.rx_queue_intr_enable		= sfc_rx_queue_intr_enable,
 	.rx_queue_intr_disable		= sfc_rx_queue_intr_disable,
 	.tx_queue_setup			= sfc_tx_queue_setup,
@@ -1977,6 +1973,10 @@ sfc_eth_dev_set_ops(struct rte_eth_dev *dev)
 	dev->tx_pkt_prepare = dp_tx->pkt_prepare;
 	dev->tx_pkt_burst = dp_tx->pkt_burst;
 
+	dev->rx_queue_count = sfc_rx_queue_count;
+	dev->rx_descriptor_done = sfc_rx_descriptor_done;
+	dev->rx_descriptor_status = sfc_rx_descriptor_status;
+	dev->tx_descriptor_status = sfc_tx_descriptor_status;
 	dev->dev_ops = &sfc_eth_dev_ops;
 
 	return 0;
@@ -2017,10 +2017,6 @@ sfc_eth_dev_clear_ops(struct rte_eth_dev *dev)
 
 static const struct eth_dev_ops sfc_eth_dev_secondary_ops = {
 	.dev_supported_ptypes_get	= sfc_dev_supported_ptypes_get,
-	.rx_queue_count			= sfc_rx_queue_count,
-	.rx_descriptor_done		= sfc_rx_descriptor_done,
-	.rx_descriptor_status		= sfc_rx_descriptor_status,
-	.tx_descriptor_status		= sfc_tx_descriptor_status,
 	.reta_query			= sfc_dev_rss_reta_query,
 	.rss_hash_conf_get		= sfc_dev_rss_hash_conf_get,
 	.rxq_info_get			= sfc_rx_queue_info_get,
@@ -2085,6 +2081,10 @@ sfc_eth_dev_secondary_init(struct rte_eth_dev *dev, uint32_t logtype_main)
 	dev->rx_pkt_burst = dp_rx->pkt_burst;
 	dev->tx_pkt_prepare = dp_tx->pkt_prepare;
 	dev->tx_pkt_burst = dp_tx->pkt_burst;
+	dev->rx_queue_count = sfc_rx_queue_count;
+	dev->rx_descriptor_done = sfc_rx_descriptor_done;
+	dev->rx_descriptor_status = sfc_rx_descriptor_status;
+	dev->tx_descriptor_status = sfc_tx_descriptor_status;
 	dev->dev_ops = &sfc_eth_dev_secondary_ops;
 
 	return 0;
diff --git a/drivers/net/thunderx/nicvf_ethdev.c b/drivers/net/thunderx/nicvf_ethdev.c
index d955a7ee23..959c8e4ddc 100644
--- a/drivers/net/thunderx/nicvf_ethdev.c
+++ b/drivers/net/thunderx/nicvf_ethdev.c
@@ -2029,7 +2029,6 @@ static const struct eth_dev_ops nicvf_eth_dev_ops = {
 	.tx_queue_stop            = nicvf_dev_tx_queue_stop,
 	.rx_queue_setup           = nicvf_dev_rx_queue_setup,
 	.rx_queue_release         = nicvf_dev_rx_queue_release,
-	.rx_queue_count           = nicvf_dev_rx_queue_count,
 	.tx_queue_setup           = nicvf_dev_tx_queue_setup,
 	.tx_queue_release         = nicvf_dev_tx_queue_release,
 	.dev_set_link_up          = nicvf_dev_set_link_up,
@@ -2134,6 +2133,7 @@ nicvf_eth_dev_init(struct rte_eth_dev *eth_dev)
 	PMD_INIT_FUNC_TRACE();
 
 	eth_dev->dev_ops = &nicvf_eth_dev_ops;
+	eth_dev->rx_queue_count = nicvf_dev_rx_queue_count;
 
 	/* For secondary processes, the primary has done all the work */
 	if (rte_eal_process_type() != RTE_PROC_PRIMARY) {
diff --git a/drivers/net/vhost/rte_eth_vhost.c b/drivers/net/vhost/rte_eth_vhost.c
index e55278af69..fa365605ef 100644
--- a/drivers/net/vhost/rte_eth_vhost.c
+++ b/drivers/net/vhost/rte_eth_vhost.c
@@ -1385,7 +1385,6 @@ static const struct eth_dev_ops ops = {
 	.rx_queue_release = eth_queue_release,
 	.tx_queue_release = eth_queue_release,
 	.tx_done_cleanup = eth_tx_done_cleanup,
-	.rx_queue_count = eth_rx_queue_count,
 	.link_update = eth_link_update,
 	.stats_get = eth_stats_get,
 	.stats_reset = eth_stats_reset,
@@ -1447,6 +1446,7 @@ eth_dev_vhost_create(struct rte_vdev_device *dev, char *iface_name,
 	data->all_multicast = 1;
 
 	eth_dev->dev_ops = &ops;
+	eth_dev->rx_queue_count = eth_rx_queue_count;
 
 	/* finally assign rx and tx ops */
 	eth_dev->rx_pkt_burst = eth_vhost_rx;
diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
index dc0093bdf0..4f2fa0d943 100644
--- a/drivers/net/virtio/virtio_ethdev.c
+++ b/drivers/net/virtio/virtio_ethdev.c
@@ -920,7 +920,6 @@ static const struct eth_dev_ops virtio_eth_dev_ops = {
 	.rx_queue_intr_enable    = virtio_dev_rx_queue_intr_enable,
 	.rx_queue_intr_disable   = virtio_dev_rx_queue_intr_disable,
 	.rx_queue_release        = virtio_dev_queue_release,
-	.rx_descriptor_done      = virtio_dev_rx_queue_done,
 	.tx_queue_setup          = virtio_dev_tx_queue_setup,
 	.tx_queue_release        = virtio_dev_queue_release,
 	/* collect stats per queue */
@@ -1903,6 +1902,7 @@ eth_virtio_dev_init(struct rte_eth_dev *eth_dev)
 	}
 
 	eth_dev->dev_ops = &virtio_eth_dev_ops;
+	eth_dev->rx_descriptor_done = virtio_dev_rx_queue_done;
 
 	if (rte_eal_process_type() == RTE_PROC_SECONDARY) {
 		if (!hw->virtio_user_dev) {
diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
index eb6cd01f8d..b6f26a513b 100644
--- a/lib/librte_ethdev/rte_ethdev.h
+++ b/lib/librte_ethdev/rte_ethdev.h
@@ -4545,11 +4545,11 @@ rte_eth_rx_queue_count(uint16_t port_id, uint16_t queue_id)
 
 	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -EINVAL);
 	dev = &rte_eth_devices[port_id];
-	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->rx_queue_count, -ENOTSUP);
+	RTE_FUNC_PTR_OR_ERR_RET(*dev->rx_queue_count, -ENOTSUP);
 	if (queue_id >= dev->data->nb_rx_queues)
 		return -EINVAL;
 
-	return (int)(*dev->dev_ops->rx_queue_count)(dev, queue_id);
+	return (int)(*dev->rx_queue_count)(dev, queue_id);
 }
 
 /**
@@ -4573,9 +4573,8 @@ rte_eth_rx_descriptor_done(uint16_t port_id, uint16_t queue_id, uint16_t offset)
 {
 	struct rte_eth_dev *dev = &rte_eth_devices[port_id];
 	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
-	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->rx_descriptor_done, -ENOTSUP);
-	return (*dev->dev_ops->rx_descriptor_done)( \
-		dev->data->rx_queues[queue_id], offset);
+	RTE_FUNC_PTR_OR_ERR_RET(*dev->rx_descriptor_done, -ENOTSUP);
+	return (*dev->rx_descriptor_done)(dev->data->rx_queues[queue_id], offset);
 }
 
 #define RTE_ETH_RX_DESC_AVAIL    0 /**< Desc available for hw. */
@@ -4630,10 +4629,10 @@ rte_eth_rx_descriptor_status(uint16_t port_id, uint16_t queue_id,
 	if (queue_id >= dev->data->nb_rx_queues)
 		return -ENODEV;
 #endif
-	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->rx_descriptor_status, -ENOTSUP);
+	RTE_FUNC_PTR_OR_ERR_RET(*dev->rx_descriptor_status, -ENOTSUP);
 	rxq = dev->data->rx_queues[queue_id];
 
-	return (*dev->dev_ops->rx_descriptor_status)(rxq, offset);
+	return (*dev->rx_descriptor_status)(rxq, offset);
 }
 
 #define RTE_ETH_TX_DESC_FULL    0 /**< Desc filled for hw, waiting xmit. */
@@ -4687,10 +4686,10 @@ static inline int rte_eth_tx_descriptor_status(uint16_t port_id,
 	if (queue_id >= dev->data->nb_tx_queues)
 		return -ENODEV;
 #endif
-	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->tx_descriptor_status, -ENOTSUP);
+	RTE_FUNC_PTR_OR_ERR_RET(*dev->tx_descriptor_status, -ENOTSUP);
 	txq = dev->data->tx_queues[queue_id];
 
-	return (*dev->dev_ops->tx_descriptor_status)(txq, offset);
+	return (*dev->tx_descriptor_status)(txq, offset);
 }
 
 /**
diff --git a/lib/librte_ethdev/rte_ethdev_core.h b/lib/librte_ethdev/rte_ethdev_core.h
index 32407dd418..8ed827475f 100644
--- a/lib/librte_ethdev/rte_ethdev_core.h
+++ b/lib/librte_ethdev/rte_ethdev_core.h
@@ -660,13 +660,6 @@ struct eth_dev_ops {
 	eth_queue_stop_t           tx_queue_stop; /**< Stop TX for a queue. */
 	eth_rx_queue_setup_t       rx_queue_setup;/**< Set up device RX queue. */
 	eth_queue_release_t        rx_queue_release; /**< Release RX queue. */
-	eth_rx_queue_count_t       rx_queue_count;
-	/**< Get the number of used RX descriptors. */
-	eth_rx_descriptor_done_t   rx_descriptor_done; /**< Check rxd DD bit. */
-	eth_rx_descriptor_status_t rx_descriptor_status;
-	/**< Check the status of a Rx descriptor. */
-	eth_tx_descriptor_status_t tx_descriptor_status;
-	/**< Check the status of a Tx descriptor. */
 	/*
 	 * Static inline functions use functions ABOVE this comment.
 	 * New dev_ops functions should be added BELOW to avoid breaking ABI.
@@ -782,6 +775,12 @@ struct rte_eth_dev {
 	eth_rx_burst_t rx_pkt_burst; /**< Pointer to PMD receive function. */
 	eth_tx_burst_t tx_pkt_burst; /**< Pointer to PMD transmit function. */
 	eth_tx_prep_t tx_pkt_prepare; /**< Pointer to PMD transmit prepare function. */
+
+	eth_rx_queue_count_t       rx_queue_count; /**< Get the number of used RX descriptors. */
+	eth_rx_descriptor_done_t   rx_descriptor_done;   /**< Check rxd DD bit. */
+	eth_rx_descriptor_status_t rx_descriptor_status; /**< Check the status of a Rx descriptor. */
+	eth_tx_descriptor_status_t tx_descriptor_status; /**< Check the status of a Tx descriptor. */
+
 	/**
 	 * Next two fields are per-device data but *data is shared between
 	 * primary and secondary processes and *process_private is per-process
-- 
2.26.2


^ permalink raw reply	[relevance 6%]

* Re: [dpdk-dev] [PATCH v3 3/7] ethdev: make device operations struct private
  2020-09-09 11:12  3%   ` [dpdk-dev] [PATCH v3 3/7] ethdev: make device operations struct private Ferruh Yigit
@ 2020-09-09 12:57  0%     ` Ferruh Yigit
  0 siblings, 0 replies; 200+ results
From: Ferruh Yigit @ 2020-09-09 12:57 UTC (permalink / raw)
  To: dev, Ray Kinsella, Neil Horman, John McNamara, Marko Kovacevic,
	Beilei Xing, Jeff Guo, Wei Zhao, Thomas Monjalon,
	Andrew Rybchenko, Ori Kam, Cristian Dumitrescu
  Cc: David Marchand

On 9/9/2020 12:12 PM, Ferruh Yigit wrote:
> Hiding the 'struct eth_dev_ops' from applications.
> 
> Removing relevant deprecation notice.
> 
> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
> Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>

<...>

> --- a/doc/guides/rel_notes/release_20_11.rst
> +++ b/doc/guides/rel_notes/release_20_11.rst
> @@ -111,6 +111,8 @@ ABI Changes
>      * ``eth_rx_descriptor_status_t rx_descriptor_status;``
>      * ``eth_tx_descriptor_status_t tx_descriptor_status;``
>  
> +  * ``struct eth_dev_ops`` is no more accessible by applications, which was already inline data structure.
>

s/inline/internal, will send a v4


^ permalink raw reply	[relevance 0%]

* [dpdk-dev] [PATCH v3 7/7] ethdev: remove underscore prefix from internal API
  2020-09-09 11:12  4% ` [dpdk-dev] [PATCH v3 1/7] ethdev: deprecate descriptor status check API Ferruh Yigit
                     ` (2 preceding siblings ...)
  2020-09-09 11:12 12%   ` [dpdk-dev] [PATCH v3 4/7] ethdev: mark internal functions Ferruh Yigit
@ 2020-09-09 11:12  2%   ` Ferruh Yigit
  3 siblings, 0 replies; 200+ results
From: Ferruh Yigit @ 2020-09-09 11:12 UTC (permalink / raw)
  To: dev, John McNamara, Marko Kovacevic, Igor Russkikh, Pavel Belous,
	Ajit Khaparde, Somnath Kotur, Chas Williams, Wei Hu (Xavier),
	Hemant Agrawal, Sachin Saxena, Wei Zhao, Jeff Guo, Marcin Wojtas,
	Michal Krawczyk, Guy Tzalik, Evgeny Schemeilin, Igor Chauskin,
	John Daley, Hyong Youb Kim, Gaetan Rivet, Qi Zhang, Xiao Wang,
	Ziyang Xuan, Xiaoyun Wang, Guoyang Zhou, Beilei Xing,
	Jingjing Wu, Qiming Yang, Matan Azrad, Shahaf Shuler,
	Viacheslav Ovsiienko, Stephen Hemminger, K. Y. Srinivasan,
	Haiyang Zhang, Long Li, Heinrich Kuhn, Harman Kalra, Jerin Jacob,
	Nithin Dabilpuram, Kiran Kumar K, Rasesh Mody, Shahed Shaikh,
	Andrew Rybchenko, Maciej Czekaj, Maxime Coquelin, Chenbo Xia,
	Zhihong Wang, Yong Wang, Thomas Monjalon, Ray Kinsella,
	Neil Horman
  Cc: Ferruh Yigit

'_rte_eth_dev_callback_process()' & '_rte_eth_dev_reset()' internal APIs
has unconventional underscore ('_') prefix.
Although this is not documented most probably this is to mark them as
internal. Since we have '__rte_internal' flag to mark this, removing '_'
from API names.

For '_rte_eth_dev_reset()', there is already a public API named
'rte_eth_dev_reset()', so renaming '_rte_eth_dev_reset()' to
'rte_eth_dev_internal_reset'.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
---
v3:
* release note updated
---
 app/test/virtual_pmd.c                   |  4 ++--
 doc/guides/prog_guide/poll_mode_drv.rst  |  4 ++--
 doc/guides/rel_notes/release_20_11.rst   |  5 +++++
 drivers/net/atlantic/atl_ethdev.c        |  5 ++---
 drivers/net/bnxt/bnxt_ethdev.c           |  6 +++---
 drivers/net/bnxt/rte_pmd_bnxt.c          |  4 ++--
 drivers/net/bonding/rte_eth_bond_pmd.c   |  8 ++++----
 drivers/net/dpaa/dpaa_ethdev.c           |  2 +-
 drivers/net/dpaa2/dpaa2_ethdev.c         |  3 +--
 drivers/net/e1000/em_ethdev.c            |  2 +-
 drivers/net/e1000/igb_ethdev.c           |  7 +++----
 drivers/net/ena/ena_ethdev.c             |  4 ++--
 drivers/net/enic/enic_main.c             |  2 +-
 drivers/net/failsafe/failsafe_ether.c    |  6 +++---
 drivers/net/fm10k/fm10k_ethdev.c         | 11 ++++-------
 drivers/net/hinic/base/hinic_pmd_hwdev.c |  6 +++---
 drivers/net/i40e/i40e_ethdev.c           |  2 +-
 drivers/net/i40e/i40e_ethdev_vf.c        |  4 ++--
 drivers/net/i40e/i40e_pf.c               |  2 +-
 drivers/net/iavf/iavf_vchnl.c            |  5 ++---
 drivers/net/ice/ice_ethdev.c             |  4 ++--
 drivers/net/igc/igc_ethdev.c             |  3 +--
 drivers/net/ixgbe/ixgbe_ethdev.c         | 10 ++++------
 drivers/net/ixgbe/ixgbe_pf.c             |  5 ++---
 drivers/net/mlx4/mlx4_intr.c             | 10 +++++-----
 drivers/net/mlx5/linux/mlx5_ethdev_os.c  |  4 ++--
 drivers/net/mlx5/mlx5_flow.c             |  2 +-
 drivers/net/netvsc/hn_rndis.c            |  2 +-
 drivers/net/nfp/nfp_net.c                |  2 +-
 drivers/net/octeontx/octeontx_ethdev.c   |  6 +++---
 drivers/net/octeontx2/otx2_link.c        |  2 +-
 drivers/net/qede/qede_main.c             |  3 +--
 drivers/net/sfc/sfc_intr.c               | 12 ++++++------
 drivers/net/thunderx/nicvf_ethdev.c      |  6 +++---
 drivers/net/vhost/rte_eth_vhost.c        |  6 +++---
 drivers/net/virtio/virtio_ethdev.c       |  6 +++---
 drivers/net/vmxnet3/vmxnet3_ethdev.c     |  6 +++---
 lib/librte_ethdev/rte_ethdev.c           |  8 ++++----
 lib/librte_ethdev/rte_ethdev_driver.h    |  4 ++--
 lib/librte_ethdev/rte_ethdev_version.map |  4 ++--
 40 files changed, 95 insertions(+), 102 deletions(-)

diff --git a/app/test/virtual_pmd.c b/app/test/virtual_pmd.c
index 79156cb85a..b49089a33c 100644
--- a/app/test/virtual_pmd.c
+++ b/app/test/virtual_pmd.c
@@ -474,8 +474,8 @@ virtual_ethdev_simulate_link_status_interrupt(uint16_t port_id,
 
 	vrtl_eth_dev->data->dev_link.link_status = link_status;
 
-	_rte_eth_dev_callback_process(vrtl_eth_dev, RTE_ETH_EVENT_INTR_LSC,
-				      NULL);
+	rte_eth_dev_callback_process(vrtl_eth_dev, RTE_ETH_EVENT_INTR_LSC,
+				     NULL);
 }
 
 int
diff --git a/doc/guides/prog_guide/poll_mode_drv.rst b/doc/guides/prog_guide/poll_mode_drv.rst
index 6fae39f904..86e0a141e6 100644
--- a/doc/guides/prog_guide/poll_mode_drv.rst
+++ b/doc/guides/prog_guide/poll_mode_drv.rst
@@ -600,9 +600,9 @@ thread safety all these operations should be called from the same thread.
 For example when PF is reset, the PF sends a message to notify VFs of
 this event and also trigger an interrupt to VFs. Then in the interrupt
 service routine the VFs detects this notification message and calls
-_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_RESET, NULL).
+rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_RESET, NULL).
 This means that a PF reset triggers an RTE_ETH_EVENT_INTR_RESET
-event within VFs. The function _rte_eth_dev_callback_process() will
+event within VFs. The function rte_eth_dev_callback_process() will
 call the registered callback function. The callback function can trigger
 the application to handle all operations the VF reset requires including
 stopping Rx/Tx queues and calling rte_eth_dev_reset().
diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index 6d3c60390f..110b0517b4 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -86,6 +86,11 @@ API Changes
 
 * ``rte_eth_rx_descriptor_done()`` API has deprecated.
 
+* Renamed internal ethdev APIs:
+
+  * ``_rte_eth_dev_callback_process()`` -> ``rte_eth_dev_callback_process()``
+  * ``_rte_eth_dev_reset`` -> ``rte_eth_dev_internal_reset()``
+
 
 ABI Changes
 -----------
diff --git a/drivers/net/atlantic/atl_ethdev.c b/drivers/net/atlantic/atl_ethdev.c
index 540b106045..2fca9140d7 100644
--- a/drivers/net/atlantic/atl_ethdev.c
+++ b/drivers/net/atlantic/atl_ethdev.c
@@ -1395,8 +1395,7 @@ atl_dev_interrupt_action(struct rte_eth_dev *dev,
 	/* Notify userapp if link status changed */
 	if (!atl_dev_link_update(dev, 0)) {
 		atl_dev_link_status_print(dev);
-		_rte_eth_dev_callback_process(dev,
-			RTE_ETH_EVENT_INTR_LSC, NULL);
+		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
 	} else {
 		if (hw->aq_fw_ops->send_macsec_req == NULL)
 			goto done;
@@ -1422,7 +1421,7 @@ atl_dev_interrupt_action(struct rte_eth_dev *dev,
 		    resp.stats.egress_expired ||
 		    resp.stats.ingress_expired) {
 			PMD_DRV_LOG(INFO, "RTE_ETH_EVENT_MACSEC");
-			_rte_eth_dev_callback_process(dev,
+			rte_eth_dev_callback_process(dev,
 				RTE_ETH_EVENT_MACSEC, NULL);
 		}
 	}
diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index 4d224bfa04..8c959ac913 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -1528,9 +1528,9 @@ int bnxt_link_update(struct rte_eth_dev *eth_dev, int wait_to_complete,
 	new.link_speed != eth_dev->data->dev_link.link_speed) {
 		rte_eth_linkstatus_set(eth_dev, &new);
 
-		_rte_eth_dev_callback_process(eth_dev,
-					      RTE_ETH_EVENT_INTR_LSC,
-					      NULL);
+		rte_eth_dev_callback_process(eth_dev,
+					     RTE_ETH_EVENT_INTR_LSC,
+					     NULL);
 
 		bnxt_print_link_info(eth_dev);
 	}
diff --git a/drivers/net/bnxt/rte_pmd_bnxt.c b/drivers/net/bnxt/rte_pmd_bnxt.c
index eafc1d3868..d67db46c65 100644
--- a/drivers/net/bnxt/rte_pmd_bnxt.c
+++ b/drivers/net/bnxt/rte_pmd_bnxt.c
@@ -28,8 +28,8 @@ int bnxt_rcv_msg_from_vf(struct bnxt *bp, uint16_t vf_id, void *msg)
 	ret_param.vf_id = vf_id;
 	ret_param.msg = msg;
 
-	_rte_eth_dev_callback_process(bp->eth_dev, RTE_ETH_EVENT_VF_MBOX,
-				      &ret_param);
+	rte_eth_dev_callback_process(bp->eth_dev, RTE_ETH_EVENT_VF_MBOX,
+				     &ret_param);
 
 	/* Default to approve */
 	if (ret_param.retval == RTE_PMD_BNXT_MB_EVENT_PROCEED)
diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
index cdbd8151ed..4ffd2ca4bb 100644
--- a/drivers/net/bonding/rte_eth_bond_pmd.c
+++ b/drivers/net/bonding/rte_eth_bond_pmd.c
@@ -1879,7 +1879,7 @@ slave_remove(struct bond_dev_private *internals,
 	internals->slave_count--;
 
 	/* force reconfiguration of slave interfaces */
-	_rte_eth_dev_reset(slave_eth_dev);
+	rte_eth_dev_internal_reset(slave_eth_dev);
 }
 
 static void
@@ -2765,7 +2765,7 @@ bond_ethdev_delayed_lsc_propagation(void *arg)
 	if (arg == NULL)
 		return;
 
-	_rte_eth_dev_callback_process((struct rte_eth_dev *)arg,
+	rte_eth_dev_callback_process((struct rte_eth_dev *)arg,
 			RTE_ETH_EVENT_INTR_LSC, NULL);
 }
 
@@ -2900,7 +2900,7 @@ bond_ethdev_lsc_event_callback(uint16_t port_id, enum rte_eth_event_type type,
 						bond_ethdev_delayed_lsc_propagation,
 						(void *)bonded_eth_dev);
 			else
-				_rte_eth_dev_callback_process(bonded_eth_dev,
+				rte_eth_dev_callback_process(bonded_eth_dev,
 						RTE_ETH_EVENT_INTR_LSC,
 						NULL);
 
@@ -2910,7 +2910,7 @@ bond_ethdev_lsc_event_callback(uint16_t port_id, enum rte_eth_event_type type,
 						bond_ethdev_delayed_lsc_propagation,
 						(void *)bonded_eth_dev);
 			else
-				_rte_eth_dev_callback_process(bonded_eth_dev,
+				rte_eth_dev_callback_process(bonded_eth_dev,
 						RTE_ETH_EVENT_INTR_LSC,
 						NULL);
 		}
diff --git a/drivers/net/dpaa/dpaa_ethdev.c b/drivers/net/dpaa/dpaa_ethdev.c
index e2c3fd0368..a077b98c3e 100644
--- a/drivers/net/dpaa/dpaa_ethdev.c
+++ b/drivers/net/dpaa/dpaa_ethdev.c
@@ -335,7 +335,7 @@ static void dpaa_interrupt_handler(void *param)
 	if (bytes_read < 0)
 		DPAA_PMD_ERR("Error reading eventfd\n");
 	dpaa_eth_link_update(dev, 0);
-	_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
+	rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
 }
 
 static int dpaa_eth_dev_start(struct rte_eth_dev *dev)
diff --git a/drivers/net/dpaa2/dpaa2_ethdev.c b/drivers/net/dpaa2/dpaa2_ethdev.c
index 38cf0ab71c..0e9f836e55 100644
--- a/drivers/net/dpaa2/dpaa2_ethdev.c
+++ b/drivers/net/dpaa2/dpaa2_ethdev.c
@@ -1065,8 +1065,7 @@ dpaa2_interrupt_handler(void *param)
 		clear = DPNI_IRQ_EVENT_LINK_CHANGED;
 		dpaa2_dev_link_update(dev, 0);
 		/* calling all the apps registered for link status event */
-		_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC,
-					      NULL);
+		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
 	}
 out:
 	ret = dpni_clear_irq_status(dpni, CMD_PRI_LOW, priv->token,
diff --git a/drivers/net/e1000/em_ethdev.c b/drivers/net/e1000/em_ethdev.c
index 82766da882..1dc360713a 100644
--- a/drivers/net/e1000/em_ethdev.c
+++ b/drivers/net/e1000/em_ethdev.c
@@ -1630,7 +1630,7 @@ eth_em_interrupt_handler(void *param)
 
 	eth_em_interrupt_get_status(dev);
 	eth_em_interrupt_action(dev, dev->intr_handle);
-	_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
+	rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
 }
 
 static int
diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c
index fe0cea88c2..5ab74840aa 100644
--- a/drivers/net/e1000/igb_ethdev.c
+++ b/drivers/net/e1000/igb_ethdev.c
@@ -2920,8 +2920,7 @@ eth_igb_interrupt_action(struct rte_eth_dev *dev,
 			     pci_dev->addr.bus,
 			     pci_dev->addr.devid,
 			     pci_dev->addr.function);
-		_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC,
-					      NULL);
+		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
 	}
 
 	return 0;
@@ -2983,8 +2982,8 @@ void igbvf_mbx_process(struct rte_eth_dev *dev)
 		/* dummy mbx read to ack pf */
 		if (mbx->ops.read(hw, &in_msg, 1, 0))
 			return;
-		_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_RESET,
-					      NULL);
+		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_RESET,
+					     NULL);
 	}
 }
 
diff --git a/drivers/net/ena/ena_ethdev.c b/drivers/net/ena/ena_ethdev.c
index da8c8ad922..8077519735 100644
--- a/drivers/net/ena/ena_ethdev.c
+++ b/drivers/net/ena/ena_ethdev.c
@@ -1621,7 +1621,7 @@ static void ena_timer_wd_callback(__rte_unused struct rte_timer *timer,
 
 	if (unlikely(adapter->trigger_reset)) {
 		PMD_DRV_LOG(ERR, "Trigger reset is on\n");
-		_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_RESET,
+		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_RESET,
 			NULL);
 	}
 }
@@ -2867,7 +2867,7 @@ static void ena_update_on_link_change(void *adapter_data,
 	adapter->link_status = status;
 
 	ena_link_update(eth_dev, 0);
-	_rte_eth_dev_callback_process(eth_dev, RTE_ETH_EVENT_INTR_LSC, NULL);
+	rte_eth_dev_callback_process(eth_dev, RTE_ETH_EVENT_INTR_LSC, NULL);
 }
 
 static void ena_notification(void *data,
diff --git a/drivers/net/enic/enic_main.c b/drivers/net/enic/enic_main.c
index 7942b0df6b..8b0441c5cd 100644
--- a/drivers/net/enic/enic_main.c
+++ b/drivers/net/enic/enic_main.c
@@ -445,7 +445,7 @@ enic_intr_handler(void *arg)
 	vnic_intr_return_all_credits(&enic->intr[ENICPMD_LSC_INTR_OFFSET]);
 
 	enic_link_update(dev);
-	_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
+	rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
 	enic_log_q_error(enic);
 	/* Re-enable irq in case of INTx */
 	rte_intr_ack(&enic->pdev->intr_handle);
diff --git a/drivers/net/failsafe/failsafe_ether.c b/drivers/net/failsafe/failsafe_ether.c
index 70972d6717..7c68bbdec0 100644
--- a/drivers/net/failsafe/failsafe_ether.c
+++ b/drivers/net/failsafe/failsafe_ether.c
@@ -602,9 +602,9 @@ failsafe_eth_lsc_event_callback(uint16_t port_id __rte_unused,
 	ret = dev->dev_ops->link_update(dev, 0);
 	/* We must pass on the LSC event */
 	if (ret)
-		return _rte_eth_dev_callback_process(dev,
-						     RTE_ETH_EVENT_INTR_LSC,
-						     NULL);
+		return rte_eth_dev_callback_process(dev,
+						    RTE_ETH_EVENT_INTR_LSC,
+						    NULL);
 	else
 		return 0;
 }
diff --git a/drivers/net/fm10k/fm10k_ethdev.c b/drivers/net/fm10k/fm10k_ethdev.c
index e6043e1455..5771d83b55 100644
--- a/drivers/net/fm10k/fm10k_ethdev.c
+++ b/drivers/net/fm10k/fm10k_ethdev.c
@@ -2621,7 +2621,7 @@ fm10k_dev_interrupt_handler_pf(void *param)
 					true);
 
 			dev_info->sm_down = 0;
-			_rte_eth_dev_callback_process(dev,
+			rte_eth_dev_callback_process(dev,
 					RTE_ETH_EVENT_INTR_LSC,
 					NULL);
 		}
@@ -2635,8 +2635,7 @@ fm10k_dev_interrupt_handler_pf(void *param)
 	if (err == FM10K_ERR_RESET_REQUESTED) {
 		PMD_INIT_LOG(INFO, "INT: Switch is down");
 		dev_info->sm_down = 1;
-		_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC,
-				NULL);
+		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
 	}
 
 	/* Handle SRAM error */
@@ -2703,8 +2702,7 @@ fm10k_dev_interrupt_handler_vf(void *param)
 
 		/* Setting reset flag */
 		dev_info->sm_down = 1;
-		_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC,
-				NULL);
+		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
 	}
 
 	if (dev_info->sm_down == 1 &&
@@ -2732,8 +2730,7 @@ fm10k_dev_interrupt_handler_vf(void *param)
 		fm10k_vlan_filter_set(dev, hw->mac.default_vid, true);
 
 		dev_info->sm_down = 0;
-		_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC,
-				NULL);
+		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
 	}
 
 	/* Re-enable interrupt from device side */
diff --git a/drivers/net/hinic/base/hinic_pmd_hwdev.c b/drivers/net/hinic/base/hinic_pmd_hwdev.c
index ac2a72e388..41c99bdbf8 100644
--- a/drivers/net/hinic/base/hinic_pmd_hwdev.c
+++ b/drivers/net/hinic/base/hinic_pmd_hwdev.c
@@ -1362,9 +1362,9 @@ static void hinic_lsc_process(struct hinic_hwdev *hwdev,
 	ret = hinic_link_event_process(hwdev, rte_dev, status);
 	/* check if link has changed, notify callback */
 	if (ret == 0)
-		_rte_eth_dev_callback_process(rte_dev,
-					      RTE_ETH_EVENT_INTR_LSC,
-					      NULL);
+		rte_eth_dev_callback_process(rte_dev,
+					     RTE_ETH_EVENT_INTR_LSC,
+					     NULL);
 }
 
 void hinic_l2nic_async_event_handle(struct hinic_hwdev *hwdev,
diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index 80efd06cd9..563f21d9df 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -6846,7 +6846,7 @@ i40e_dev_handle_aq_msg(struct rte_eth_dev *dev)
 		case i40e_aqc_opc_get_link_status:
 			ret = i40e_dev_link_update(dev, 0);
 			if (!ret)
-				_rte_eth_dev_callback_process(dev,
+				rte_eth_dev_callback_process(dev,
 					RTE_ETH_EVENT_INTR_LSC, NULL);
 			break;
 		default:
diff --git a/drivers/net/i40e/i40e_ethdev_vf.c b/drivers/net/i40e/i40e_ethdev_vf.c
index be4b28fa45..8531cf6b12 100644
--- a/drivers/net/i40e/i40e_ethdev_vf.c
+++ b/drivers/net/i40e/i40e_ethdev_vf.c
@@ -1378,7 +1378,7 @@ i40evf_handle_pf_event(struct rte_eth_dev *dev, uint8_t *msg,
 	switch (pf_msg->event) {
 	case VIRTCHNL_EVENT_RESET_IMPENDING:
 		PMD_DRV_LOG(DEBUG, "VIRTCHNL_EVENT_RESET_IMPENDING event");
-		_rte_eth_dev_callback_process(dev,
+		rte_eth_dev_callback_process(dev,
 				RTE_ETH_EVENT_INTR_RESET, NULL);
 		break;
 	case VIRTCHNL_EVENT_LINK_CHANGE:
@@ -1425,7 +1425,7 @@ i40evf_handle_pf_event(struct rte_eth_dev *dev, uint8_t *msg,
 		}
 
 		i40evf_dev_link_update(dev, 0);
-		_rte_eth_dev_callback_process(dev,
+		rte_eth_dev_callback_process(dev,
 				RTE_ETH_EVENT_INTR_LSC, NULL);
 		break;
 	case VIRTCHNL_EVENT_PF_DRIVER_CLOSE:
diff --git a/drivers/net/i40e/i40e_pf.c b/drivers/net/i40e/i40e_pf.c
index 7bf1e79410..03c2070c3f 100644
--- a/drivers/net/i40e/i40e_pf.c
+++ b/drivers/net/i40e/i40e_pf.c
@@ -1363,7 +1363,7 @@ i40e_pf_host_handle_vf_msg(struct rte_eth_dev *dev,
 	 * do nothing and send not_supported to VF. As PF must send a response
 	 * to VF and ACK/NACK is not defined.
 	 */
-	_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_VF_MBOX, &ret_param);
+	rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_VF_MBOX, &ret_param);
 	if (ret_param.retval != RTE_PMD_I40E_MB_EVENT_PROCEED) {
 		PMD_DRV_LOG(WARNING, "VF to PF message(%d) is not permitted!",
 			    opcode);
diff --git a/drivers/net/iavf/iavf_vchnl.c b/drivers/net/iavf/iavf_vchnl.c
index 34c31a153a..29e4cae10c 100644
--- a/drivers/net/iavf/iavf_vchnl.c
+++ b/drivers/net/iavf/iavf_vchnl.c
@@ -187,7 +187,7 @@ iavf_handle_pf_event_msg(struct rte_eth_dev *dev, uint8_t *msg,
 	switch (pf_msg->event) {
 	case VIRTCHNL_EVENT_RESET_IMPENDING:
 		PMD_DRV_LOG(DEBUG, "VIRTCHNL_EVENT_RESET_IMPENDING event");
-		_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_RESET,
+		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_RESET,
 					      NULL);
 		break;
 	case VIRTCHNL_EVENT_LINK_CHANGE:
@@ -202,8 +202,7 @@ iavf_handle_pf_event_msg(struct rte_eth_dev *dev, uint8_t *msg,
 			vf->link_speed = iavf_convert_link_speed(speed);
 		}
 		iavf_dev_link_update(dev, 0);
-		_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC,
-					      NULL);
+		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
 		break;
 	case VIRTCHNL_EVENT_PF_DRIVER_CLOSE:
 		PMD_DRV_LOG(DEBUG, "VIRTCHNL_EVENT_PF_DRIVER_CLOSE event");
diff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c
index c8b16c7f87..724b2ee26c 100644
--- a/drivers/net/ice/ice_ethdev.c
+++ b/drivers/net/ice/ice_ethdev.c
@@ -1314,7 +1314,7 @@ ice_handle_aq_msg(struct rte_eth_dev *dev)
 		case ice_aqc_opc_get_link_status:
 			ret = ice_link_update(dev, 0);
 			if (!ret)
-				_rte_eth_dev_callback_process
+				rte_eth_dev_callback_process
 					(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
 			break;
 		default:
@@ -1379,7 +1379,7 @@ ice_interrupt_handler(void *param)
 		PMD_DRV_LOG(INFO, "OICR: link state change event");
 		ret = ice_link_update(dev, 0);
 		if (!ret)
-			_rte_eth_dev_callback_process
+			rte_eth_dev_callback_process
 				(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
 	}
 #endif
diff --git a/drivers/net/igc/igc_ethdev.c b/drivers/net/igc/igc_ethdev.c
index aa37c11861..810568bc54 100644
--- a/drivers/net/igc/igc_ethdev.c
+++ b/drivers/net/igc/igc_ethdev.c
@@ -540,8 +540,7 @@ eth_igc_interrupt_action(struct rte_eth_dev *dev)
 				pci_dev->addr.bus,
 				pci_dev->addr.devid,
 				pci_dev->addr.function);
-		_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC,
-				NULL);
+		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
 	}
 }
 
diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index 337ce90fbf..0f065bbc04 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -4659,13 +4659,11 @@ ixgbe_dev_interrupt_delayed_handler(void *param)
 		ixgbe_dev_link_update(dev, 0);
 		intr->flags &= ~IXGBE_FLAG_NEED_LINK_UPDATE;
 		ixgbe_dev_link_status_print(dev);
-		_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC,
-					      NULL);
+		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
 	}
 
 	if (intr->flags & IXGBE_FLAG_MACSEC) {
-		_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_MACSEC,
-					      NULL);
+		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_MACSEC, NULL);
 		intr->flags &= ~IXGBE_FLAG_MACSEC;
 	}
 
@@ -8674,8 +8672,8 @@ static void ixgbevf_mbx_process(struct rte_eth_dev *dev)
 		/* dummy mbx read to ack pf */
 		if (ixgbe_read_mbx(hw, &in_msg, 1, 0))
 			return;
-		_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_RESET,
-					      NULL);
+		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_RESET,
+					     NULL);
 	}
 }
 
diff --git a/drivers/net/ixgbe/ixgbe_pf.c b/drivers/net/ixgbe/ixgbe_pf.c
index 67b5bef44f..ed5f96b1a4 100644
--- a/drivers/net/ixgbe/ixgbe_pf.c
+++ b/drivers/net/ixgbe/ixgbe_pf.c
@@ -832,7 +832,7 @@ ixgbe_rcv_msg_from_vf(struct rte_eth_dev *dev, uint16_t vf)
 		vfinfo[vf].clear_to_send = true;
 
 		/* notify application about VF reset */
-		_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_VF_MBOX,
+		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_VF_MBOX,
 					      &ret_param);
 		return ret;
 	}
@@ -844,8 +844,7 @@ ixgbe_rcv_msg_from_vf(struct rte_eth_dev *dev, uint16_t vf)
 	 * if 0, do nothing and send ACK to VF
 	 * if ret_param.retval > 1, do nothing and send NAK to VF
 	 */
-	_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_VF_MBOX,
-				      &ret_param);
+	rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_VF_MBOX, &ret_param);
 
 	retval = ret_param.retval;
 
diff --git a/drivers/net/mlx4/mlx4_intr.c b/drivers/net/mlx4/mlx4_intr.c
index 19af9359c9..6786b12ab5 100644
--- a/drivers/net/mlx4/mlx4_intr.c
+++ b/drivers/net/mlx4/mlx4_intr.c
@@ -124,9 +124,9 @@ mlx4_link_status_alarm(struct mlx4_priv *priv)
 	MLX4_ASSERT(priv->intr_alarm == 1);
 	priv->intr_alarm = 0;
 	if (intr_conf->lsc && !mlx4_link_status_check(priv))
-		_rte_eth_dev_callback_process(ETH_DEV(priv),
-					      RTE_ETH_EVENT_INTR_LSC,
-					      NULL);
+		rte_eth_dev_callback_process(ETH_DEV(priv),
+					     RTE_ETH_EVENT_INTR_LSC,
+					     NULL);
 }
 
 /**
@@ -207,8 +207,8 @@ mlx4_interrupt_handler(struct mlx4_priv *priv)
 	}
 	for (i = 0; i != RTE_DIM(caught); ++i)
 		if (caught[i])
-			_rte_eth_dev_callback_process(ETH_DEV(priv), type[i],
-						      NULL);
+			rte_eth_dev_callback_process(ETH_DEV(priv), type[i],
+						     NULL);
 }
 
 /**
diff --git a/drivers/net/mlx5/linux/mlx5_ethdev_os.c b/drivers/net/mlx5/linux/mlx5_ethdev_os.c
index 3d3dd2e862..7256c1bcfe 100644
--- a/drivers/net/mlx5/linux/mlx5_ethdev_os.c
+++ b/drivers/net/mlx5/linux/mlx5_ethdev_os.c
@@ -732,7 +732,7 @@ mlx5_dev_interrupt_device_fatal(struct mlx5_dev_ctx_shared *sh)
 		dev = &rte_eth_devices[sh->port[i].ih_port_id];
 		MLX5_ASSERT(dev);
 		if (dev->data->dev_conf.intr_conf.rmv)
-			_rte_eth_dev_callback_process
+			rte_eth_dev_callback_process
 				(dev, RTE_ETH_EVENT_INTR_RMV, NULL);
 	}
 }
@@ -808,7 +808,7 @@ mlx5_dev_interrupt_handler(void *cb_arg)
 				usleep(0);
 				continue;
 			}
-			_rte_eth_dev_callback_process
+			rte_eth_dev_callback_process
 				(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
 			continue;
 		}
diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
index eb55bd7f99..55cdc37f00 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -6085,7 +6085,7 @@ mlx5_flow_aging_check(struct mlx5_dev_ctx_shared *sh,
 		if (!MLX5_AGE_GET(age_info, MLX5_AGE_EVENT_NEW))
 			continue;
 		if (MLX5_AGE_GET(age_info, MLX5_AGE_TRIGGER))
-			_rte_eth_dev_callback_process
+			rte_eth_dev_callback_process
 				(&rte_eth_devices[sh->port[i].devx_ih_port_id],
 				RTE_ETH_EVENT_FLOW_AGED, NULL);
 		age_info->flags = 0;
diff --git a/drivers/net/netvsc/hn_rndis.c b/drivers/net/netvsc/hn_rndis.c
index d186ddeabd..66d1966f29 100644
--- a/drivers/net/netvsc/hn_rndis.c
+++ b/drivers/net/netvsc/hn_rndis.c
@@ -292,7 +292,7 @@ static int hn_nvs_send_rndis_ctrl(struct vmbus_channel *chan,
  */
 static void hn_rndis_link_alarm(void *arg)
 {
-	_rte_eth_dev_callback_process(arg, RTE_ETH_EVENT_INTR_LSC, NULL);
+	rte_eth_dev_callback_process(arg, RTE_ETH_EVENT_INTR_LSC, NULL);
 }
 
 void hn_rndis_link_status(struct rte_eth_dev *dev, const void *msg)
diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c
index c556dedab6..4f03691989 100644
--- a/drivers/net/nfp/nfp_net.c
+++ b/drivers/net/nfp/nfp_net.c
@@ -1460,7 +1460,7 @@ nfp_net_dev_interrupt_delayed_handler(void *param)
 	struct rte_eth_dev *dev = (struct rte_eth_dev *)param;
 
 	nfp_net_link_update(dev, 0);
-	_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
+	rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
 
 	nfp_net_dev_link_status_print(dev);
 
diff --git a/drivers/net/octeontx/octeontx_ethdev.c b/drivers/net/octeontx/octeontx_ethdev.c
index 76c69294d0..808b761b96 100644
--- a/drivers/net/octeontx/octeontx_ethdev.c
+++ b/drivers/net/octeontx/octeontx_ethdev.c
@@ -227,9 +227,9 @@ octeontx_link_status_poll(void *arg)
 			octeontx_link_status_update(nic, &link);
 			octeontx_link_status_print(dev, &link);
 			rte_eth_linkstatus_set(dev, &link);
-			_rte_eth_dev_callback_process(dev,
-						      RTE_ETH_EVENT_INTR_LSC,
-						      NULL);
+			rte_eth_dev_callback_process(dev,
+						     RTE_ETH_EVENT_INTR_LSC,
+						     NULL);
 		}
 	}
 
diff --git a/drivers/net/octeontx2/otx2_link.c b/drivers/net/octeontx2/otx2_link.c
index 12bf6c3231..439ec4fa89 100644
--- a/drivers/net/octeontx2/otx2_link.c
+++ b/drivers/net/octeontx2/otx2_link.c
@@ -82,7 +82,7 @@ otx2_eth_dev_link_status_update(struct otx2_dev *dev,
 	rte_eth_linkstatus_set(eth_dev, &eth_link);
 
 	/* Set the flag and execute application callbacks */
-	_rte_eth_dev_callback_process(eth_dev, RTE_ETH_EVENT_INTR_LSC, NULL);
+	rte_eth_dev_callback_process(eth_dev, RTE_ETH_EVENT_INTR_LSC, NULL);
 }
 
 static int
diff --git a/drivers/net/qede/qede_main.c b/drivers/net/qede/qede_main.c
index 987a6f1e13..aecb98261b 100644
--- a/drivers/net/qede/qede_main.c
+++ b/drivers/net/qede/qede_main.c
@@ -650,8 +650,7 @@ void qed_link_update(struct ecore_hwfn *hwfn)
 	struct rte_eth_dev *dev = (struct rte_eth_dev *)qdev->ethdev;
 
 	if (!qede_link_update(dev, 0))
-		_rte_eth_dev_callback_process(dev,
-					      RTE_ETH_EVENT_INTR_LSC, NULL);
+		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
 }
 
 static int qed_drain(struct ecore_dev *edev)
diff --git a/drivers/net/sfc/sfc_intr.c b/drivers/net/sfc/sfc_intr.c
index 80feab68f8..da32d393c2 100644
--- a/drivers/net/sfc/sfc_intr.c
+++ b/drivers/net/sfc/sfc_intr.c
@@ -89,9 +89,9 @@ sfc_intr_line_handler(void *cb_arg)
 		sfc_notice(sa, "link status change event: link %s",
 			 sa->eth_dev->data->dev_link.link_status ?
 			 "UP" : "DOWN");
-		_rte_eth_dev_callback_process(sa->eth_dev,
-					      RTE_ETH_EVENT_INTR_LSC,
-					      NULL);
+		rte_eth_dev_callback_process(sa->eth_dev,
+					     RTE_ETH_EVENT_INTR_LSC,
+					     NULL);
 	}
 }
 
@@ -131,9 +131,9 @@ sfc_intr_message_handler(void *cb_arg)
 exit:
 	if (lsc_seq != sa->port.lsc_seq) {
 		sfc_notice(sa, "link status change event");
-		_rte_eth_dev_callback_process(sa->eth_dev,
-					      RTE_ETH_EVENT_INTR_LSC,
-					      NULL);
+		rte_eth_dev_callback_process(sa->eth_dev,
+					     RTE_ETH_EVENT_INTR_LSC,
+					     NULL);
 	}
 }
 
diff --git a/drivers/net/thunderx/nicvf_ethdev.c b/drivers/net/thunderx/nicvf_ethdev.c
index 959c8e4ddc..83d9488360 100644
--- a/drivers/net/thunderx/nicvf_ethdev.c
+++ b/drivers/net/thunderx/nicvf_ethdev.c
@@ -83,9 +83,9 @@ nicvf_interrupt(void *arg)
 			nicvf_link_status_update(nic, &link);
 			rte_eth_linkstatus_set(dev, &link);
 
-			_rte_eth_dev_callback_process(dev,
-						      RTE_ETH_EVENT_INTR_LSC,
-						      NULL);
+			rte_eth_dev_callback_process(dev,
+						     RTE_ETH_EVENT_INTR_LSC,
+						     NULL);
 		}
 	}
 
diff --git a/drivers/net/vhost/rte_eth_vhost.c b/drivers/net/vhost/rte_eth_vhost.c
index fa365605ef..ce32be9ce3 100644
--- a/drivers/net/vhost/rte_eth_vhost.c
+++ b/drivers/net/vhost/rte_eth_vhost.c
@@ -832,7 +832,7 @@ new_device(int vid)
 
 	VHOST_LOG(INFO, "Vhost device %d created\n", vid);
 
-	_rte_eth_dev_callback_process(eth_dev, RTE_ETH_EVENT_INTR_LSC, NULL);
+	rte_eth_dev_callback_process(eth_dev, RTE_ETH_EVENT_INTR_LSC, NULL);
 
 	return 0;
 }
@@ -889,7 +889,7 @@ destroy_device(int vid)
 	VHOST_LOG(INFO, "Vhost device %d destroyed\n", vid);
 	eth_vhost_uninstall_intr(eth_dev);
 
-	_rte_eth_dev_callback_process(eth_dev, RTE_ETH_EVENT_INTR_LSC, NULL);
+	rte_eth_dev_callback_process(eth_dev, RTE_ETH_EVENT_INTR_LSC, NULL);
 }
 
 static int
@@ -968,7 +968,7 @@ vring_state_changed(int vid, uint16_t vring, int enable)
 	VHOST_LOG(INFO, "vring%u is %s\n",
 			vring, enable ? "enabled" : "disabled");
 
-	_rte_eth_dev_callback_process(eth_dev, RTE_ETH_EVENT_QUEUE_STATE, NULL);
+	rte_eth_dev_callback_process(eth_dev, RTE_ETH_EVENT_QUEUE_STATE, NULL);
 
 	return 0;
 }
diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
index 4f2fa0d943..dac0f23052 100644
--- a/drivers/net/virtio/virtio_ethdev.c
+++ b/drivers/net/virtio/virtio_ethdev.c
@@ -1489,9 +1489,9 @@ virtio_interrupt_handler(void *param)
 
 	if (isr & VIRTIO_PCI_ISR_CONFIG) {
 		if (virtio_dev_link_update(dev, 0) == 0)
-			_rte_eth_dev_callback_process(dev,
-						      RTE_ETH_EVENT_INTR_LSC,
-						      NULL);
+			rte_eth_dev_callback_process(dev,
+						     RTE_ETH_EVENT_INTR_LSC,
+						     NULL);
 
 		if (vtpci_with_feature(hw, VIRTIO_NET_F_STATUS)) {
 			vtpci_read_dev_config(hw,
diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c
index 815fba2f55..fa80e75a5b 100644
--- a/drivers/net/vmxnet3/vmxnet3_ethdev.c
+++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c
@@ -1417,9 +1417,9 @@ vmxnet3_process_events(struct rte_eth_dev *dev)
 	if (events & VMXNET3_ECR_LINK) {
 		PMD_DRV_LOG(DEBUG, "Process events: VMXNET3_ECR_LINK event");
 		if (vmxnet3_dev_link_update(dev, 0) == 0)
-			_rte_eth_dev_callback_process(dev,
-						      RTE_ETH_EVENT_INTR_LSC,
-						      NULL);
+			rte_eth_dev_callback_process(dev,
+						     RTE_ETH_EVENT_INTR_LSC,
+						     NULL);
 	}
 
 	/* Check if there is an error on xmit/recv queues */
diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c
index f8d63c7e17..066751f287 100644
--- a/lib/librte_ethdev/rte_ethdev.c
+++ b/lib/librte_ethdev/rte_ethdev.c
@@ -549,7 +549,7 @@ rte_eth_dev_release_port(struct rte_eth_dev *eth_dev)
 	rte_eth_dev_shared_data_prepare();
 
 	if (eth_dev->state != RTE_ETH_DEV_UNUSED)
-		_rte_eth_dev_callback_process(eth_dev,
+		rte_eth_dev_callback_process(eth_dev,
 				RTE_ETH_EVENT_DESTROY, NULL);
 
 	rte_spinlock_lock(&rte_eth_dev_shared_data->ownership_lock);
@@ -1486,7 +1486,7 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
 }
 
 void
-_rte_eth_dev_reset(struct rte_eth_dev *dev)
+rte_eth_dev_internal_reset(struct rte_eth_dev *dev)
 {
 	if (dev->data->dev_started) {
 		RTE_ETHDEV_LOG(ERR, "Port %u must be stopped to allow reset\n",
@@ -4090,7 +4090,7 @@ rte_eth_dev_callback_unregister(uint16_t port_id,
 }
 
 int
-_rte_eth_dev_callback_process(struct rte_eth_dev *dev,
+rte_eth_dev_callback_process(struct rte_eth_dev *dev,
 	enum rte_eth_event_type event, void *ret_param)
 {
 	struct rte_eth_dev_callback *cb_lst;
@@ -4122,7 +4122,7 @@ rte_eth_dev_probing_finish(struct rte_eth_dev *dev)
 	if (dev == NULL)
 		return;
 
-	_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_NEW, NULL);
+	rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_NEW, NULL);
 
 	dev->state = RTE_ETH_DEV_ATTACHED;
 }
diff --git a/lib/librte_ethdev/rte_ethdev_driver.h b/lib/librte_ethdev/rte_ethdev_driver.h
index 5dfe9fdf1a..23cc1e0959 100644
--- a/lib/librte_ethdev/rte_ethdev_driver.h
+++ b/lib/librte_ethdev/rte_ethdev_driver.h
@@ -821,7 +821,7 @@ int rte_eth_dev_release_port(struct rte_eth_dev *eth_dev);
  *  void
  */
 __rte_internal
-void _rte_eth_dev_reset(struct rte_eth_dev *dev);
+void rte_eth_dev_internal_reset(struct rte_eth_dev *dev);
 
 /**
  * @internal Executes all the user application registered callbacks for
@@ -841,7 +841,7 @@ void _rte_eth_dev_reset(struct rte_eth_dev *dev);
  *  int
  */
 __rte_internal
-int _rte_eth_dev_callback_process(struct rte_eth_dev *dev,
+int rte_eth_dev_callback_process(struct rte_eth_dev *dev,
 		enum rte_eth_event_type event, void *ret_param);
 
 /**
diff --git a/lib/librte_ethdev/rte_ethdev_version.map b/lib/librte_ethdev/rte_ethdev_version.map
index a85986a2a2..b6630dfabe 100644
--- a/lib/librte_ethdev/rte_ethdev_version.map
+++ b/lib/librte_ethdev/rte_ethdev_version.map
@@ -228,17 +228,17 @@ EXPERIMENTAL {
 INTERNAL {
 	global:
 
-	_rte_eth_dev_callback_process;
-	_rte_eth_dev_reset;
 	rte_eth_dev_allocate;
 	rte_eth_dev_allocated;
 	rte_eth_dev_attach_secondary;
+	rte_eth_dev_callback_process;
 	rte_eth_dev_create;
 	rte_eth_dev_destroy;
 	rte_eth_dev_is_rx_hairpin_queue;
 	rte_eth_dev_is_tx_hairpin_queue;
 	rte_eth_dev_probing_finish;
 	rte_eth_dev_release_port;
+	rte_eth_dev_internal_reset;
 	rte_eth_devargs_parse;
 	rte_eth_dma_zone_free;
 	rte_eth_dma_zone_reserve;
-- 
2.26.2


^ permalink raw reply	[relevance 2%]

* [dpdk-dev] [PATCH v3 4/7] ethdev: mark internal functions
  2020-09-09 11:12  4% ` [dpdk-dev] [PATCH v3 1/7] ethdev: deprecate descriptor status check API Ferruh Yigit
  2020-09-09 11:12  6%   ` [dpdk-dev] [PATCH v3 2/7] ethdev: move inline device operations Ferruh Yigit
  2020-09-09 11:12  3%   ` [dpdk-dev] [PATCH v3 3/7] ethdev: make device operations struct private Ferruh Yigit
@ 2020-09-09 11:12 12%   ` Ferruh Yigit
  2020-09-09 11:12  2%   ` [dpdk-dev] [PATCH v3 7/7] ethdev: remove underscore prefix from internal API Ferruh Yigit
  3 siblings, 0 replies; 200+ results
From: Ferruh Yigit @ 2020-09-09 11:12 UTC (permalink / raw)
  To: dev, Ray Kinsella, Neil Horman, John McNamara, Marko Kovacevic,
	Thomas Monjalon, Andrew Rybchenko, Ori Kam
  Cc: Ferruh Yigit, David Marchand

Some ethdev functions are for drivers only, not for applications.

Since we have '__rte_internal' tag available now, marking internal
functions with it and moving functions to INTERNAL section in linker
script.
This is also good for documenting the internal functions.

Some internal APIs seems marked as experimental, but it doesn't make
sense to have internals APIs as experimental, updating their tag and
doxygen comments.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
---
Cc: David Marchand <david.marchand@redhat.com>
v3:
* release note updated
---
 doc/guides/rel_notes/deprecation.rst     |  6 -----
 doc/guides/rel_notes/release_20_11.rst   |  2 ++
 lib/librte_ethdev/rte_ethdev.h           |  3 +--
 lib/librte_ethdev/rte_ethdev_driver.h    | 33 ++++++++++--------------
 lib/librte_ethdev/rte_ethdev_version.map | 30 ++++++++++-----------
 lib/librte_ethdev/rte_flow_driver.h      |  4 +--
 6 files changed, 31 insertions(+), 47 deletions(-)

diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 8770c87006..6c82db2961 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -225,12 +225,6 @@ Deprecation Notices
   following the IPv6 header, as proposed in RFC
   https://mails.dpdk.org/archives/dev/2020-August/177257.html.
 
-* ethdev: Some internal APIs for driver usage are exported in the .map file.
-  Now DPDK has ``__rte_internal`` marker so we can mark internal APIs and move
-  them to the INTERNAL block in .map. Although these APIs are internal it will
-  break the ABI checks, that is why change is planned for 20.11.
-  The list of internal APIs are mainly ones listed in ``rte_ethdev_driver.h``.
-
 * traffic manager: All traffic manager API's in ``rte_tm.h`` were mistakenly made
   ABI stable in the v19.11 release. The TM maintainer and other contributors have
   agreed to keep the TM APIs as experimental in expectation of additional spec
diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index bc4e8e412a..6d3c60390f 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -113,6 +113,8 @@ ABI Changes
 
   * ``struct eth_dev_ops`` is no more accessible by applications, which was already inline data structure.
 
+  * ``ethdev`` internal functions are marked with ``__rte_internal`` tag.
+
 
 Known Issues
 ------------
diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
index b6f26a513b..e7733d828b 100644
--- a/lib/librte_ethdev/rte_ethdev.h
+++ b/lib/librte_ethdev/rte_ethdev.h
@@ -1724,8 +1724,7 @@ rte_eth_find_next_of(uint16_t port_id_start,
  */
 __rte_experimental
 uint16_t
-rte_eth_find_next_sibling(uint16_t port_id_start,
-		uint16_t ref_port_id);
+rte_eth_find_next_sibling(uint16_t port_id_start, uint16_t ref_port_id);
 
 /**
  * Macro to iterate over all ethdev ports sharing the same rte_device
diff --git a/lib/librte_ethdev/rte_ethdev_driver.h b/lib/librte_ethdev/rte_ethdev_driver.h
index b006cbbe92..3d1bc33272 100644
--- a/lib/librte_ethdev/rte_ethdev_driver.h
+++ b/lib/librte_ethdev/rte_ethdev_driver.h
@@ -759,6 +759,7 @@ int rte_eth_dev_is_tx_hairpin_queue(struct rte_eth_dev *dev, uint16_t queue_id);
  * @return
  *   - The pointer to the ethdev slot, on success. NULL on error
  */
+__rte_internal
 struct rte_eth_dev *rte_eth_dev_allocated(const char *name);
 
 /**
@@ -770,6 +771,7 @@ struct rte_eth_dev *rte_eth_dev_allocated(const char *name);
  * @return
  *   - Slot in the rte_dev_devices array for a new device;
  */
+__rte_internal
 struct rte_eth_dev *rte_eth_dev_allocate(const char *name);
 
 /**
@@ -783,6 +785,7 @@ struct rte_eth_dev *rte_eth_dev_allocate(const char *name);
  *        device.
  *   - Error: Null pointer.
  */
+__rte_internal
 struct rte_eth_dev *rte_eth_dev_attach_secondary(const char *name);
 
 /**
@@ -801,6 +804,7 @@ struct rte_eth_dev *rte_eth_dev_attach_secondary(const char *name);
  * @return
  *   - 0 on success, negative on error
  */
+__rte_internal
 int rte_eth_dev_release_port(struct rte_eth_dev *eth_dev);
 
 /**
@@ -814,6 +818,7 @@ int rte_eth_dev_release_port(struct rte_eth_dev *eth_dev);
  * @return
  *  void
  */
+__rte_internal
 void _rte_eth_dev_reset(struct rte_eth_dev *dev);
 
 /**
@@ -833,6 +838,7 @@ void _rte_eth_dev_reset(struct rte_eth_dev *dev);
  * @return
  *  int
  */
+__rte_internal
 int _rte_eth_dev_callback_process(struct rte_eth_dev *dev,
 		enum rte_eth_event_type event, void *ret_param);
 
@@ -848,6 +854,7 @@ int _rte_eth_dev_callback_process(struct rte_eth_dev *dev,
  * @param dev
  *  New ethdev port.
  */
+__rte_internal
 void rte_eth_dev_probing_finish(struct rte_eth_dev *dev);
 
 /**
@@ -869,6 +876,7 @@ void rte_eth_dev_probing_finish(struct rte_eth_dev *dev);
  * @param socket_id
  *   The *socket_id* argument is the socket identifier in case of NUMA.
  */
+__rte_internal
 const struct rte_memzone *
 rte_eth_dma_zone_reserve(const struct rte_eth_dev *eth_dev, const char *name,
 			 uint16_t queue_id, size_t size,
@@ -955,9 +963,6 @@ rte_eth_linkstatus_get(const struct rte_eth_dev *dev,
 }
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
  * Allocate an unique switch domain identifier.
  *
  * A pool of switch domain identifiers which can be allocated on request. This
@@ -971,14 +976,11 @@ rte_eth_linkstatus_get(const struct rte_eth_dev *dev,
  * @return
  *   Negative errno value on error, 0 on success.
  */
-__rte_experimental
+__rte_internal
 int
 rte_eth_switch_domain_alloc(uint16_t *domain_id);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
  * Free switch domain.
  *
  * Return a switch domain identifier to the pool of free identifiers after it is
@@ -990,7 +992,7 @@ rte_eth_switch_domain_alloc(uint16_t *domain_id);
  * @return
  *   Negative errno value on error, 0 on success.
  */
-__rte_experimental
+__rte_internal
 int
 rte_eth_switch_domain_free(uint16_t domain_id);
 
@@ -1007,9 +1009,6 @@ struct rte_eth_devargs {
 };
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
  * PMD helper function to parse ethdev arguments
  *
  * @param devargs
@@ -1020,7 +1019,7 @@ struct rte_eth_devargs {
  * @return
  *   Negative errno value on error, 0 on success.
  */
-__rte_experimental
+__rte_internal
 int
 rte_eth_devargs_parse(const char *devargs, struct rte_eth_devargs *eth_devargs);
 
@@ -1030,9 +1029,6 @@ typedef int (*ethdev_bus_specific_init)(struct rte_eth_dev *ethdev,
 	void *bus_specific_init_params);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
  * PMD helper function for the creation of a new ethdev ports.
  *
  * @param device
@@ -1053,7 +1049,7 @@ typedef int (*ethdev_bus_specific_init)(struct rte_eth_dev *ethdev,
  * @return
  *   Negative errno value on error, 0 on success.
  */
-__rte_experimental
+__rte_internal
 int
 rte_eth_dev_create(struct rte_device *device, const char *name,
 	size_t priv_data_size,
@@ -1064,9 +1060,6 @@ rte_eth_dev_create(struct rte_device *device, const char *name,
 typedef int (*ethdev_uninit_t)(struct rte_eth_dev *ethdev);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
  * PMD helper function for cleaning up the resources of a ethdev port on it's
  * destruction.
  *
@@ -1078,7 +1071,7 @@ typedef int (*ethdev_uninit_t)(struct rte_eth_dev *ethdev);
  * @return
  *   Negative errno value on error, 0 on success.
  */
-__rte_experimental
+__rte_internal
 int
 rte_eth_dev_destroy(struct rte_eth_dev *ethdev, ethdev_uninit_t ethdev_uninit);
 
diff --git a/lib/librte_ethdev/rte_ethdev_version.map b/lib/librte_ethdev/rte_ethdev_version.map
index 8d9d6b1c67..6a84f3d76d 100644
--- a/lib/librte_ethdev/rte_ethdev_version.map
+++ b/lib/librte_ethdev/rte_ethdev_version.map
@@ -1,8 +1,6 @@
 DPDK_21 {
 	global:
 
-	_rte_eth_dev_callback_process;
-	_rte_eth_dev_reset;
 	rte_eth_add_first_rx_callback;
 	rte_eth_add_rx_callback;
 	rte_eth_add_tx_callback;
@@ -10,9 +8,6 @@ DPDK_21 {
 	rte_eth_allmulticast_enable;
 	rte_eth_allmulticast_get;
 	rte_eth_dev_adjust_nb_rx_tx_desc;
-	rte_eth_dev_allocate;
-	rte_eth_dev_allocated;
-	rte_eth_dev_attach_secondary;
 	rte_eth_dev_callback_register;
 	rte_eth_dev_callback_unregister;
 	rte_eth_dev_close;
@@ -44,8 +39,6 @@ DPDK_21 {
 	rte_eth_dev_mac_addr_remove;
 	rte_eth_dev_pool_ops_supported;
 	rte_eth_dev_priority_flow_ctrl_set;
-	rte_eth_dev_probing_finish;
-	rte_eth_dev_release_port;
 	rte_eth_dev_reset;
 	rte_eth_dev_rss_hash_conf_get;
 	rte_eth_dev_rss_hash_update;
@@ -81,7 +74,6 @@ DPDK_21 {
 	rte_eth_dev_udp_tunnel_port_delete;
 	rte_eth_dev_vlan_filter;
 	rte_eth_devices;
-	rte_eth_dma_zone_reserve;
 	rte_eth_find_next;
 	rte_eth_find_next_owned_by;
 	rte_eth_iterator_cleanup;
@@ -195,16 +187,8 @@ EXPERIMENTAL {
 	rte_eth_dev_owner_unset;
 
 	# added in 18.05
-	rte_eth_dev_create;
-	rte_eth_dev_destroy;
 	rte_eth_dev_get_module_eeprom;
 	rte_eth_dev_get_module_info;
-	rte_eth_devargs_parse;
-	rte_eth_switch_domain_alloc;
-	rte_eth_switch_domain_free;
-
-	# added in 18.08
-	rte_flow_expand_rss;
 
 	# added in 18.11
 	rte_eth_dev_rx_intr_ctl_q_get_fd;
@@ -246,5 +230,19 @@ EXPERIMENTAL {
 INTERNAL {
 	global:
 
+	_rte_eth_dev_callback_process;
+	_rte_eth_dev_reset;
+	rte_eth_dev_allocate;
+	rte_eth_dev_allocated;
+	rte_eth_dev_attach_secondary;
+	rte_eth_dev_create;
+	rte_eth_dev_destroy;
+	rte_eth_dev_probing_finish;
+	rte_eth_dev_release_port;
+	rte_eth_devargs_parse;
 	rte_eth_dma_zone_free;
+	rte_eth_dma_zone_reserve;
+	rte_eth_switch_domain_alloc;
+	rte_eth_switch_domain_free;
+	rte_flow_expand_rss;
 };
diff --git a/lib/librte_ethdev/rte_flow_driver.h b/lib/librte_ethdev/rte_flow_driver.h
index 997598db11..3ee871d3eb 100644
--- a/lib/librte_ethdev/rte_flow_driver.h
+++ b/lib/librte_ethdev/rte_flow_driver.h
@@ -161,8 +161,6 @@ struct rte_flow_expand_rss {
  * Expand RSS flows into several possible flows according to the RSS hash
  * fields requested and the driver capabilities.
  *
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * @param[out] buf
  *   Buffer to store the result expansion.
  * @param[in] size
@@ -183,7 +181,7 @@ struct rte_flow_expand_rss {
  *
  *   -E2BIG: graph-depth @p graph is too deep.
  */
-__rte_experimental
+__rte_internal
 int
 rte_flow_expand_rss(struct rte_flow_expand_rss *buf, size_t size,
 		    const struct rte_flow_item *pattern, uint64_t types,
-- 
2.26.2


^ permalink raw reply	[relevance 12%]

* [dpdk-dev] [PATCH v3 3/7] ethdev: make device operations struct private
  2020-09-09 11:12  4% ` [dpdk-dev] [PATCH v3 1/7] ethdev: deprecate descriptor status check API Ferruh Yigit
  2020-09-09 11:12  6%   ` [dpdk-dev] [PATCH v3 2/7] ethdev: move inline device operations Ferruh Yigit
@ 2020-09-09 11:12  3%   ` Ferruh Yigit
  2020-09-09 12:57  0%     ` Ferruh Yigit
  2020-09-09 11:12 12%   ` [dpdk-dev] [PATCH v3 4/7] ethdev: mark internal functions Ferruh Yigit
  2020-09-09 11:12  2%   ` [dpdk-dev] [PATCH v3 7/7] ethdev: remove underscore prefix from internal API Ferruh Yigit
  3 siblings, 1 reply; 200+ results
From: Ferruh Yigit @ 2020-09-09 11:12 UTC (permalink / raw)
  To: dev, Ray Kinsella, Neil Horman, John McNamara, Marko Kovacevic,
	Beilei Xing, Jeff Guo, Wei Zhao, Thomas Monjalon,
	Andrew Rybchenko, Ori Kam, Cristian Dumitrescu
  Cc: Ferruh Yigit, David Marchand

Hiding the 'struct eth_dev_ops' from applications.

Removing relevant deprecation notice.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
---
Cc: David Marchand <david.marchand@redhat.com>
v3:
* release note updated
---
 doc/guides/rel_notes/deprecation.rst     |   9 -
 doc/guides/rel_notes/release_20_11.rst   |   2 +
 drivers/net/i40e/i40e_vf_representor.c   |   1 +
 drivers/net/ixgbe/ixgbe_vf_representor.c |   1 +
 lib/librte_ethdev/rte_ethdev_core.h      | 712 +----------------------
 lib/librte_ethdev/rte_ethdev_driver.h    | 694 ++++++++++++++++++++++
 lib/librte_ethdev/rte_flow_driver.h      |   1 +
 lib/librte_ethdev/rte_mtr_driver.h       |   1 +
 lib/librte_ethdev/rte_tm_driver.h        |   1 +
 9 files changed, 710 insertions(+), 712 deletions(-)

diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 35c676e262..8770c87006 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -156,15 +156,6 @@ Deprecation Notices
   Due to adoption of C11 atomic builtins, the field ``refcnt_atomic``
   will be replaced with ``refcnt`` of type ``uint16_t`` in DPDK 20.11.
 
-* ethdev: Split the ``struct eth_dev_ops`` struct to hide it as much as possible
-  will be done in 20.11.
-  Currently the ``struct eth_dev_ops`` struct is accessible by the application
-  because some inline functions, like ``rte_eth_tx_descriptor_status()``,
-  access the struct directly.
-  The struct will be separate in two, the ops used by inline functions will be
-  moved next to Rx/Tx burst functions, rest of the ``struct eth_dev_ops`` struct
-  will be moved to header file for drivers to hide it from applications.
-
 * ethdev: the legacy filter API, including
   ``rte_eth_dev_filter_supported()``, ``rte_eth_dev_filter_ctrl()`` as well
   as filter types MACVLAN, ETHERTYPE, FLEXIBLE, SYN, NTUPLE, TUNNEL, FDIR,
diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index ff7242012b..bc4e8e412a 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -111,6 +111,8 @@ ABI Changes
     * ``eth_rx_descriptor_status_t rx_descriptor_status;``
     * ``eth_tx_descriptor_status_t tx_descriptor_status;``
 
+  * ``struct eth_dev_ops`` is no more accessible by applications, which was already inline data structure.
+
 
 Known Issues
 ------------
diff --git a/drivers/net/i40e/i40e_vf_representor.c b/drivers/net/i40e/i40e_vf_representor.c
index 083bc1a5f3..f09d4d8798 100644
--- a/drivers/net/i40e/i40e_vf_representor.c
+++ b/drivers/net/i40e/i40e_vf_representor.c
@@ -7,6 +7,7 @@
 #include <rte_pci.h>
 #include <rte_malloc.h>
 
+#include "rte_ethdev_driver.h"
 #include "base/i40e_type.h"
 #include "base/virtchnl.h"
 #include "i40e_ethdev.h"
diff --git a/drivers/net/ixgbe/ixgbe_vf_representor.c b/drivers/net/ixgbe/ixgbe_vf_representor.c
index dbbef294ae..edb5d43846 100644
--- a/drivers/net/ixgbe/ixgbe_vf_representor.c
+++ b/drivers/net/ixgbe/ixgbe_vf_representor.c
@@ -6,6 +6,7 @@
 #include <rte_pci.h>
 #include <rte_malloc.h>
 
+#include "rte_ethdev_driver.h"
 #include "base/ixgbe_type.h"
 #include "base/ixgbe_vf.h"
 #include "ixgbe_ethdev.h"
diff --git a/lib/librte_ethdev/rte_ethdev_core.h b/lib/librte_ethdev/rte_ethdev_core.h
index 8ed827475f..bedd69acbd 100644
--- a/lib/librte_ethdev/rte_ethdev_core.h
+++ b/lib/librte_ethdev/rte_ethdev_core.h
@@ -21,322 +21,8 @@ struct rte_eth_dev_callback;
 /** @internal Structure to keep track of registered callbacks */
 TAILQ_HEAD(rte_eth_dev_cb_list, rte_eth_dev_callback);
 
-/*
- * Definitions of all functions exported by an Ethernet driver through the
- * the generic structure of type *eth_dev_ops* supplied in the *rte_eth_dev*
- * structure associated with an Ethernet device.
- */
 struct rte_eth_dev;
 
-typedef int  (*eth_dev_configure_t)(struct rte_eth_dev *dev);
-/**< @internal Ethernet device configuration. */
-
-typedef int  (*eth_dev_start_t)(struct rte_eth_dev *dev);
-/**< @internal Function used to start a configured Ethernet device. */
-
-typedef void (*eth_dev_stop_t)(struct rte_eth_dev *dev);
-/**< @internal Function used to stop a configured Ethernet device. */
-
-typedef int  (*eth_dev_set_link_up_t)(struct rte_eth_dev *dev);
-/**< @internal Function used to link up a configured Ethernet device. */
-
-typedef int  (*eth_dev_set_link_down_t)(struct rte_eth_dev *dev);
-/**< @internal Function used to link down a configured Ethernet device. */
-
-typedef void (*eth_dev_close_t)(struct rte_eth_dev *dev);
-/**< @internal Function used to close a configured Ethernet device. */
-
-typedef int (*eth_dev_reset_t)(struct rte_eth_dev *dev);
-/** <@internal Function used to reset a configured Ethernet device. */
-
-typedef int (*eth_is_removed_t)(struct rte_eth_dev *dev);
-/**< @internal Function used to detect an Ethernet device removal. */
-
-/**
- * @internal
- * Function used to enable the Rx promiscuous mode of an Ethernet device.
- *
- * @param dev
- *   ethdev handle of port.
- *
- * @return
- *   Negative errno value on error, 0 on success.
- *
- * @retval 0
- *   Success, promiscuous mode is enabled.
- * @retval -ENOTSUP
- *   Promiscuous mode is not supported.
- * @retval -ENODEV
- *   Device is gone.
- * @retval -E_RTE_SECONDARY
- *   Function was called from a secondary process instance and not supported.
- * @retval -ETIMEDOUT
- *   Attempt to enable promiscuos mode failed because of timeout.
- * @retval -EAGAIN
- *   Failed to enable promiscuous mode.
- */
-typedef int (*eth_promiscuous_enable_t)(struct rte_eth_dev *dev);
-
-/**
- * @internal
- * Function used to disable the Rx promiscuous mode of an Ethernet device.
- *
- * @param dev
- *   ethdev handle of port.
- *
- * @return
- *   Negative errno value on error, 0 on success.
- *
- * @retval 0
- *   Success, promiscuous mode is disabled.
- * @retval -ENOTSUP
- *   Promiscuous mode disabling is not supported.
- * @retval -ENODEV
- *   Device is gone.
- * @retval -E_RTE_SECONDARY
- *   Function was called from a secondary process instance and not supported.
- * @retval -ETIMEDOUT
- *   Attempt to disable promiscuos mode failed because of timeout.
- * @retval -EAGAIN
- *   Failed to disable promiscuous mode.
- */
-typedef int (*eth_promiscuous_disable_t)(struct rte_eth_dev *dev);
-
-/**
- * @internal
- * Enable the receipt of all multicast packets by an Ethernet device.
- *
- * @param dev
- *   ethdev handle of port.
- *
- * @return
- *   Negative errno value on error, 0 on success.
- *
- * @retval 0
- *   Success, all-multicast mode is enabled.
- * @retval -ENOTSUP
- *   All-multicast mode is not supported.
- * @retval -ENODEV
- *   Device is gone.
- * @retval -E_RTE_SECONDARY
- *   Function was called from a secondary process instance and not supported.
- * @retval -ETIMEDOUT
- *   Attempt to enable all-multicast mode failed because of timeout.
- * @retval -EAGAIN
- *   Failed to enable all-multicast mode.
- */
-typedef int (*eth_allmulticast_enable_t)(struct rte_eth_dev *dev);
-
-/**
- * @internal
- * Disable the receipt of all multicast packets by an Ethernet device.
- *
- * @param dev
- *   ethdev handle of port.
- *
- * @return
- *   Negative errno value on error, 0 on success.
- *
- * @retval 0
- *   Success, all-multicast mode is disabled.
- * @retval -ENOTSUP
- *   All-multicast mode disabling is not supported.
- * @retval -ENODEV
- *   Device is gone.
- * @retval -E_RTE_SECONDARY
- *   Function was called from a secondary process instance and not supported.
- * @retval -ETIMEDOUT
- *   Attempt to disable all-multicast mode failed because of timeout.
- * @retval -EAGAIN
- *   Failed to disable all-multicast mode.
- */
-typedef int (*eth_allmulticast_disable_t)(struct rte_eth_dev *dev);
-
-typedef int (*eth_link_update_t)(struct rte_eth_dev *dev,
-				int wait_to_complete);
-/**< @internal Get link speed, duplex mode and state (up/down) of an Ethernet device. */
-
-typedef int (*eth_stats_get_t)(struct rte_eth_dev *dev,
-				struct rte_eth_stats *igb_stats);
-/**< @internal Get global I/O statistics of an Ethernet device. */
-
-/**
- * @internal
- * Reset global I/O statistics of an Ethernet device to 0.
- *
- * @param dev
- *   ethdev handle of port.
- *
- * @return
- *   Negative errno value on error, 0 on success.
- *
- * @retval 0
- *   Success, statistics has been reset.
- * @retval -ENOTSUP
- *   Resetting statistics is not supported.
- * @retval -EINVAL
- *   Resetting statistics is not valid.
- * @retval -ENOMEM
- *   Not enough memory to get the stats.
- */
-typedef int (*eth_stats_reset_t)(struct rte_eth_dev *dev);
-
-typedef int (*eth_xstats_get_t)(struct rte_eth_dev *dev,
-	struct rte_eth_xstat *stats, unsigned n);
-/**< @internal Get extended stats of an Ethernet device. */
-
-typedef int (*eth_xstats_get_by_id_t)(struct rte_eth_dev *dev,
-				      const uint64_t *ids,
-				      uint64_t *values,
-				      unsigned int n);
-/**< @internal Get extended stats of an Ethernet device. */
-
-/**
- * @internal
- * Reset extended stats of an Ethernet device.
- *
- * @param dev
- *   ethdev handle of port.
- *
- * @return
- *   Negative errno value on error, 0 on success.
- *
- * @retval 0
- *   Success, statistics has been reset.
- * @retval -ENOTSUP
- *   Resetting statistics is not supported.
- * @retval -EINVAL
- *   Resetting statistics is not valid.
- * @retval -ENOMEM
- *   Not enough memory to get the stats.
- */
-typedef int (*eth_xstats_reset_t)(struct rte_eth_dev *dev);
-
-typedef int (*eth_xstats_get_names_t)(struct rte_eth_dev *dev,
-	struct rte_eth_xstat_name *xstats_names, unsigned size);
-/**< @internal Get names of extended stats of an Ethernet device. */
-
-typedef int (*eth_xstats_get_names_by_id_t)(struct rte_eth_dev *dev,
-	struct rte_eth_xstat_name *xstats_names, const uint64_t *ids,
-	unsigned int size);
-/**< @internal Get names of extended stats of an Ethernet device. */
-
-typedef int (*eth_queue_stats_mapping_set_t)(struct rte_eth_dev *dev,
-					     uint16_t queue_id,
-					     uint8_t stat_idx,
-					     uint8_t is_rx);
-/**< @internal Set a queue statistics mapping for a tx/rx queue of an Ethernet device. */
-
-typedef int (*eth_dev_infos_get_t)(struct rte_eth_dev *dev,
-				   struct rte_eth_dev_info *dev_info);
-/**< @internal Get specific information of an Ethernet device. */
-
-typedef const uint32_t *(*eth_dev_supported_ptypes_get_t)(struct rte_eth_dev *dev);
-/**< @internal Get supported ptypes of an Ethernet device. */
-
-/**
- * @internal
- * Inform Ethernet device about reduced range of packet types to handle.
- *
- * @param dev
- *   The Ethernet device identifier.
- * @param ptype_mask
- *   The ptype family that application is interested in should be bitwise OR of
- *   RTE_PTYPE_*_MASK or 0.
- * @return
- *   - (0) if Success.
- */
-typedef int (*eth_dev_ptypes_set_t)(struct rte_eth_dev *dev,
-				     uint32_t ptype_mask);
-
-typedef int (*eth_queue_start_t)(struct rte_eth_dev *dev,
-				    uint16_t queue_id);
-/**< @internal Start rx and tx of a queue of an Ethernet device. */
-
-typedef int (*eth_queue_stop_t)(struct rte_eth_dev *dev,
-				    uint16_t queue_id);
-/**< @internal Stop rx and tx of a queue of an Ethernet device. */
-
-typedef int (*eth_rx_queue_setup_t)(struct rte_eth_dev *dev,
-				    uint16_t rx_queue_id,
-				    uint16_t nb_rx_desc,
-				    unsigned int socket_id,
-				    const struct rte_eth_rxconf *rx_conf,
-				    struct rte_mempool *mb_pool);
-/**< @internal Set up a receive queue of an Ethernet device. */
-
-typedef int (*eth_tx_queue_setup_t)(struct rte_eth_dev *dev,
-				    uint16_t tx_queue_id,
-				    uint16_t nb_tx_desc,
-				    unsigned int socket_id,
-				    const struct rte_eth_txconf *tx_conf);
-/**< @internal Setup a transmit queue of an Ethernet device. */
-
-typedef int (*eth_rx_enable_intr_t)(struct rte_eth_dev *dev,
-				    uint16_t rx_queue_id);
-/**< @internal Enable interrupt of a receive queue of an Ethernet device. */
-
-typedef int (*eth_rx_disable_intr_t)(struct rte_eth_dev *dev,
-				    uint16_t rx_queue_id);
-/**< @internal Disable interrupt of a receive queue of an Ethernet device. */
-
-typedef void (*eth_queue_release_t)(void *queue);
-/**< @internal Release memory resources allocated by given RX/TX queue. */
-
-typedef uint32_t (*eth_rx_queue_count_t)(struct rte_eth_dev *dev,
-					 uint16_t rx_queue_id);
-/**< @internal Get number of used descriptors on a receive queue. */
-
-typedef int (*eth_rx_descriptor_done_t)(void *rxq, uint16_t offset);
-/**< @internal Check DD bit of specific RX descriptor */
-
-typedef int (*eth_rx_descriptor_status_t)(void *rxq, uint16_t offset);
-/**< @internal Check the status of a Rx descriptor */
-
-typedef int (*eth_tx_descriptor_status_t)(void *txq, uint16_t offset);
-/**< @internal Check the status of a Tx descriptor */
-
-typedef int (*eth_fw_version_get_t)(struct rte_eth_dev *dev,
-				     char *fw_version, size_t fw_size);
-/**< @internal Get firmware information of an Ethernet device. */
-
-typedef int (*eth_tx_done_cleanup_t)(void *txq, uint32_t free_cnt);
-/**< @internal Force mbufs to be from TX ring. */
-
-typedef void (*eth_rxq_info_get_t)(struct rte_eth_dev *dev,
-	uint16_t rx_queue_id, struct rte_eth_rxq_info *qinfo);
-
-typedef void (*eth_txq_info_get_t)(struct rte_eth_dev *dev,
-	uint16_t tx_queue_id, struct rte_eth_txq_info *qinfo);
-
-typedef int (*eth_burst_mode_get_t)(struct rte_eth_dev *dev,
-	uint16_t queue_id, struct rte_eth_burst_mode *mode);
-
-typedef int (*mtu_set_t)(struct rte_eth_dev *dev, uint16_t mtu);
-/**< @internal Set MTU. */
-
-typedef int (*vlan_filter_set_t)(struct rte_eth_dev *dev,
-				  uint16_t vlan_id,
-				  int on);
-/**< @internal filtering of a VLAN Tag Identifier by an Ethernet device. */
-
-typedef int (*vlan_tpid_set_t)(struct rte_eth_dev *dev,
-			       enum rte_vlan_type type, uint16_t tpid);
-/**< @internal set the outer/inner VLAN-TPID by an Ethernet device. */
-
-typedef int (*vlan_offload_set_t)(struct rte_eth_dev *dev, int mask);
-/**< @internal set VLAN offload function by an Ethernet device. */
-
-typedef int (*vlan_pvid_set_t)(struct rte_eth_dev *dev,
-			       uint16_t vlan_id,
-			       int on);
-/**< @internal set port based TX VLAN insertion by an Ethernet device. */
-
-typedef void (*vlan_strip_queue_set_t)(struct rte_eth_dev *dev,
-				  uint16_t rx_queue_id,
-				  int on);
-/**< @internal VLAN stripping enable/disable by an queue of Ethernet device. */
-
 typedef uint16_t (*eth_rx_burst_t)(void *rxq,
 				   struct rte_mbuf **rx_pkts,
 				   uint16_t nb_pkts);
@@ -352,400 +38,20 @@ typedef uint16_t (*eth_tx_prep_t)(void *txq,
 				   uint16_t nb_pkts);
 /**< @internal Prepare output packets on a transmit queue of an Ethernet device. */
 
-typedef int (*flow_ctrl_get_t)(struct rte_eth_dev *dev,
-			       struct rte_eth_fc_conf *fc_conf);
-/**< @internal Get current flow control parameter on an Ethernet device */
-
-typedef int (*flow_ctrl_set_t)(struct rte_eth_dev *dev,
-			       struct rte_eth_fc_conf *fc_conf);
-/**< @internal Setup flow control parameter on an Ethernet device */
-
-typedef int (*priority_flow_ctrl_set_t)(struct rte_eth_dev *dev,
-				struct rte_eth_pfc_conf *pfc_conf);
-/**< @internal Setup priority flow control parameter on an Ethernet device */
-
-typedef int (*reta_update_t)(struct rte_eth_dev *dev,
-			     struct rte_eth_rss_reta_entry64 *reta_conf,
-			     uint16_t reta_size);
-/**< @internal Update RSS redirection table on an Ethernet device */
-
-typedef int (*reta_query_t)(struct rte_eth_dev *dev,
-			    struct rte_eth_rss_reta_entry64 *reta_conf,
-			    uint16_t reta_size);
-/**< @internal Query RSS redirection table on an Ethernet device */
-
-typedef int (*rss_hash_update_t)(struct rte_eth_dev *dev,
-				 struct rte_eth_rss_conf *rss_conf);
-/**< @internal Update RSS hash configuration of an Ethernet device */
-
-typedef int (*rss_hash_conf_get_t)(struct rte_eth_dev *dev,
-				   struct rte_eth_rss_conf *rss_conf);
-/**< @internal Get current RSS hash configuration of an Ethernet device */
-
-typedef int (*eth_dev_led_on_t)(struct rte_eth_dev *dev);
-/**< @internal Turn on SW controllable LED on an Ethernet device */
-
-typedef int (*eth_dev_led_off_t)(struct rte_eth_dev *dev);
-/**< @internal Turn off SW controllable LED on an Ethernet device */
-
-typedef void (*eth_mac_addr_remove_t)(struct rte_eth_dev *dev, uint32_t index);
-/**< @internal Remove MAC address from receive address register */
-
-typedef int (*eth_mac_addr_add_t)(struct rte_eth_dev *dev,
-				  struct rte_ether_addr *mac_addr,
-				  uint32_t index,
-				  uint32_t vmdq);
-/**< @internal Set a MAC address into Receive Address Address Register */
-
-typedef int (*eth_mac_addr_set_t)(struct rte_eth_dev *dev,
-				  struct rte_ether_addr *mac_addr);
-/**< @internal Set a MAC address into Receive Address Address Register */
-
-typedef int (*eth_uc_hash_table_set_t)(struct rte_eth_dev *dev,
-				  struct rte_ether_addr *mac_addr,
-				  uint8_t on);
-/**< @internal Set a Unicast Hash bitmap */
-
-typedef int (*eth_uc_all_hash_table_set_t)(struct rte_eth_dev *dev,
-				  uint8_t on);
-/**< @internal Set all Unicast Hash bitmap */
-
-typedef int (*eth_set_queue_rate_limit_t)(struct rte_eth_dev *dev,
-				uint16_t queue_idx,
-				uint16_t tx_rate);
-/**< @internal Set queue TX rate */
-
-typedef int (*eth_mirror_rule_set_t)(struct rte_eth_dev *dev,
-				  struct rte_eth_mirror_conf *mirror_conf,
-				  uint8_t rule_id,
-				  uint8_t on);
-/**< @internal Add a traffic mirroring rule on an Ethernet device */
-
-typedef int (*eth_mirror_rule_reset_t)(struct rte_eth_dev *dev,
-				  uint8_t rule_id);
-/**< @internal Remove a traffic mirroring rule on an Ethernet device */
-
-typedef int (*eth_udp_tunnel_port_add_t)(struct rte_eth_dev *dev,
-					 struct rte_eth_udp_tunnel *tunnel_udp);
-/**< @internal Add tunneling UDP port */
-
-typedef int (*eth_udp_tunnel_port_del_t)(struct rte_eth_dev *dev,
-					 struct rte_eth_udp_tunnel *tunnel_udp);
-/**< @internal Delete tunneling UDP port */
-
-typedef int (*eth_set_mc_addr_list_t)(struct rte_eth_dev *dev,
-				      struct rte_ether_addr *mc_addr_set,
-				      uint32_t nb_mc_addr);
-/**< @internal set the list of multicast addresses on an Ethernet device */
-
-typedef int (*eth_timesync_enable_t)(struct rte_eth_dev *dev);
-/**< @internal Function used to enable IEEE1588/802.1AS timestamping. */
-
-typedef int (*eth_timesync_disable_t)(struct rte_eth_dev *dev);
-/**< @internal Function used to disable IEEE1588/802.1AS timestamping. */
-
-typedef int (*eth_timesync_read_rx_timestamp_t)(struct rte_eth_dev *dev,
-						struct timespec *timestamp,
-						uint32_t flags);
-/**< @internal Function used to read an RX IEEE1588/802.1AS timestamp. */
-
-typedef int (*eth_timesync_read_tx_timestamp_t)(struct rte_eth_dev *dev,
-						struct timespec *timestamp);
-/**< @internal Function used to read a TX IEEE1588/802.1AS timestamp. */
 
-typedef int (*eth_timesync_adjust_time)(struct rte_eth_dev *dev, int64_t);
-/**< @internal Function used to adjust the device clock */
-
-typedef int (*eth_timesync_read_time)(struct rte_eth_dev *dev,
-				      struct timespec *timestamp);
-/**< @internal Function used to get time from the device clock. */
-
-typedef int (*eth_timesync_write_time)(struct rte_eth_dev *dev,
-				       const struct timespec *timestamp);
-/**< @internal Function used to get time from the device clock */
-
-typedef int (*eth_read_clock)(struct rte_eth_dev *dev,
-				      uint64_t *timestamp);
-/**< @internal Function used to get the current value of the device clock. */
-
-typedef int (*eth_get_reg_t)(struct rte_eth_dev *dev,
-				struct rte_dev_reg_info *info);
-/**< @internal Retrieve registers  */
-
-typedef int (*eth_get_eeprom_length_t)(struct rte_eth_dev *dev);
-/**< @internal Retrieve eeprom size  */
-
-typedef int (*eth_get_eeprom_t)(struct rte_eth_dev *dev,
-				struct rte_dev_eeprom_info *info);
-/**< @internal Retrieve eeprom data  */
-
-typedef int (*eth_set_eeprom_t)(struct rte_eth_dev *dev,
-				struct rte_dev_eeprom_info *info);
-/**< @internal Program eeprom data  */
-
-typedef int (*eth_get_module_info_t)(struct rte_eth_dev *dev,
-				     struct rte_eth_dev_module_info *modinfo);
-/**< @internal Retrieve type and size of plugin module eeprom */
-
-typedef int (*eth_get_module_eeprom_t)(struct rte_eth_dev *dev,
-				       struct rte_dev_eeprom_info *info);
-/**< @internal Retrieve plugin module eeprom data */
-
-typedef int (*eth_l2_tunnel_eth_type_conf_t)
-	(struct rte_eth_dev *dev, struct rte_eth_l2_tunnel_conf *l2_tunnel);
-/**< @internal config l2 tunnel ether type */
-
-typedef int (*eth_l2_tunnel_offload_set_t)
-	(struct rte_eth_dev *dev,
-	 struct rte_eth_l2_tunnel_conf *l2_tunnel,
-	 uint32_t mask,
-	 uint8_t en);
-/**< @internal enable/disable the l2 tunnel offload functions */
-
-
-typedef int (*eth_filter_ctrl_t)(struct rte_eth_dev *dev,
-				 enum rte_filter_type filter_type,
-				 enum rte_filter_op filter_op,
-				 void *arg);
-/**< @internal Take operations to assigned filter type on an Ethernet device */
-
-typedef int (*eth_tm_ops_get_t)(struct rte_eth_dev *dev, void *ops);
-/**< @internal Get Traffic Management (TM) operations on an Ethernet device */
-
-typedef int (*eth_mtr_ops_get_t)(struct rte_eth_dev *dev, void *ops);
-/**< @internal Get Traffic Metering and Policing (MTR) operations */
-
-typedef int (*eth_get_dcb_info)(struct rte_eth_dev *dev,
-				 struct rte_eth_dcb_info *dcb_info);
-/**< @internal Get dcb information on an Ethernet device */
-
-typedef int (*eth_pool_ops_supported_t)(struct rte_eth_dev *dev,
-						const char *pool);
-/**< @internal Test if a port supports specific mempool ops */
-
-/**
- * @internal
- * Get the hairpin capabilities.
- *
- * @param dev
- *   ethdev handle of port.
- * @param cap
- *   returns the hairpin capabilities from the device.
- *
- * @return
- *   Negative errno value on error, 0 on success.
- *
- * @retval 0
- *   Success, hairpin is supported.
- * @retval -ENOTSUP
- *   Hairpin is not supported.
- */
-typedef int (*eth_hairpin_cap_get_t)(struct rte_eth_dev *dev,
-				     struct rte_eth_hairpin_cap *cap);
-
-/**
- * @internal
- * Setup RX hairpin queue.
- *
- * @param dev
- *   ethdev handle of port.
- * @param rx_queue_id
- *   the selected RX queue index.
- * @param nb_rx_desc
- *   the requested number of descriptors for this queue. 0 - use PMD default.
- * @param conf
- *   the RX hairpin configuration structure.
- *
- * @return
- *   Negative errno value on error, 0 on success.
- *
- * @retval 0
- *   Success, hairpin is supported.
- * @retval -ENOTSUP
- *   Hairpin is not supported.
- * @retval -EINVAL
- *   One of the parameters is invalid.
- * @retval -ENOMEM
- *   Unable to allocate resources.
- */
-typedef int (*eth_rx_hairpin_queue_setup_t)
-	(struct rte_eth_dev *dev, uint16_t rx_queue_id,
-	 uint16_t nb_rx_desc,
-	 const struct rte_eth_hairpin_conf *conf);
-
-/**
- * @internal
- * Setup TX hairpin queue.
- *
- * @param dev
- *   ethdev handle of port.
- * @param tx_queue_id
- *   the selected TX queue index.
- * @param nb_tx_desc
- *   the requested number of descriptors for this queue. 0 - use PMD default.
- * @param conf
- *   the TX hairpin configuration structure.
- *
- * @return
- *   Negative errno value on error, 0 on success.
- *
- * @retval 0
- *   Success, hairpin is supported.
- * @retval -ENOTSUP
- *   Hairpin is not supported.
- * @retval -EINVAL
- *   One of the parameters is invalid.
- * @retval -ENOMEM
- *   Unable to allocate resources.
- */
-typedef int (*eth_tx_hairpin_queue_setup_t)
-	(struct rte_eth_dev *dev, uint16_t tx_queue_id,
-	 uint16_t nb_tx_desc,
-	 const struct rte_eth_hairpin_conf *hairpin_conf);
-
-/**
- * @internal A structure containing the functions exported by an Ethernet driver.
- */
-struct eth_dev_ops {
-	eth_dev_configure_t        dev_configure; /**< Configure device. */
-	eth_dev_start_t            dev_start;     /**< Start device. */
-	eth_dev_stop_t             dev_stop;      /**< Stop device. */
-	eth_dev_set_link_up_t      dev_set_link_up;   /**< Device link up. */
-	eth_dev_set_link_down_t    dev_set_link_down; /**< Device link down. */
-	eth_dev_close_t            dev_close;     /**< Close device. */
-	eth_dev_reset_t		   dev_reset;	  /**< Reset device. */
-	eth_link_update_t          link_update;   /**< Get device link state. */
-	eth_is_removed_t           is_removed;
-	/**< Check if the device was physically removed. */
-
-	eth_promiscuous_enable_t   promiscuous_enable; /**< Promiscuous ON. */
-	eth_promiscuous_disable_t  promiscuous_disable;/**< Promiscuous OFF. */
-	eth_allmulticast_enable_t  allmulticast_enable;/**< RX multicast ON. */
-	eth_allmulticast_disable_t allmulticast_disable;/**< RX multicast OFF. */
-	eth_mac_addr_remove_t      mac_addr_remove; /**< Remove MAC address. */
-	eth_mac_addr_add_t         mac_addr_add;  /**< Add a MAC address. */
-	eth_mac_addr_set_t         mac_addr_set;  /**< Set a MAC address. */
-	eth_set_mc_addr_list_t     set_mc_addr_list; /**< set list of mcast addrs. */
-	mtu_set_t                  mtu_set;       /**< Set MTU. */
-
-	eth_stats_get_t            stats_get;     /**< Get generic device statistics. */
-	eth_stats_reset_t          stats_reset;   /**< Reset generic device statistics. */
-	eth_xstats_get_t           xstats_get;    /**< Get extended device statistics. */
-	eth_xstats_reset_t         xstats_reset;  /**< Reset extended device statistics. */
-	eth_xstats_get_names_t     xstats_get_names;
-	/**< Get names of extended statistics. */
-	eth_queue_stats_mapping_set_t queue_stats_mapping_set;
-	/**< Configure per queue stat counter mapping. */
-
-	eth_dev_infos_get_t        dev_infos_get; /**< Get device info. */
-	eth_rxq_info_get_t         rxq_info_get; /**< retrieve RX queue information. */
-	eth_txq_info_get_t         txq_info_get; /**< retrieve TX queue information. */
-	eth_burst_mode_get_t       rx_burst_mode_get; /**< Get RX burst mode */
-	eth_burst_mode_get_t       tx_burst_mode_get; /**< Get TX burst mode */
-	eth_fw_version_get_t       fw_version_get; /**< Get firmware version. */
-	eth_dev_supported_ptypes_get_t dev_supported_ptypes_get;
-	/**< Get packet types supported and identified by device. */
-	eth_dev_ptypes_set_t dev_ptypes_set;
-	/**< Inform Ethernet device about reduced range of packet types to handle. */
-
-	vlan_filter_set_t          vlan_filter_set; /**< Filter VLAN Setup. */
-	vlan_tpid_set_t            vlan_tpid_set; /**< Outer/Inner VLAN TPID Setup. */
-	vlan_strip_queue_set_t     vlan_strip_queue_set; /**< VLAN Stripping on queue. */
-	vlan_offload_set_t         vlan_offload_set; /**< Set VLAN Offload. */
-	vlan_pvid_set_t            vlan_pvid_set; /**< Set port based TX VLAN insertion. */
-
-	eth_queue_start_t          rx_queue_start;/**< Start RX for a queue. */
-	eth_queue_stop_t           rx_queue_stop; /**< Stop RX for a queue. */
-	eth_queue_start_t          tx_queue_start;/**< Start TX for a queue. */
-	eth_queue_stop_t           tx_queue_stop; /**< Stop TX for a queue. */
-	eth_rx_queue_setup_t       rx_queue_setup;/**< Set up device RX queue. */
-	eth_queue_release_t        rx_queue_release; /**< Release RX queue. */
-	/*
-	 * Static inline functions use functions ABOVE this comment.
-	 * New dev_ops functions should be added BELOW to avoid breaking ABI.
-	 */
-	eth_rx_enable_intr_t       rx_queue_intr_enable;  /**< Enable Rx queue interrupt. */
-	eth_rx_disable_intr_t      rx_queue_intr_disable; /**< Disable Rx queue interrupt. */
-	eth_tx_queue_setup_t       tx_queue_setup;/**< Set up device TX queue. */
-	eth_queue_release_t        tx_queue_release; /**< Release TX queue. */
-	eth_tx_done_cleanup_t      tx_done_cleanup;/**< Free tx ring mbufs */
-
-	eth_dev_led_on_t           dev_led_on;    /**< Turn on LED. */
-	eth_dev_led_off_t          dev_led_off;   /**< Turn off LED. */
-
-	flow_ctrl_get_t            flow_ctrl_get; /**< Get flow control. */
-	flow_ctrl_set_t            flow_ctrl_set; /**< Setup flow control. */
-	priority_flow_ctrl_set_t   priority_flow_ctrl_set; /**< Setup priority flow control. */
-
-	eth_uc_hash_table_set_t    uc_hash_table_set; /**< Set Unicast Table Array. */
-	eth_uc_all_hash_table_set_t uc_all_hash_table_set; /**< Set Unicast hash bitmap. */
-
-	eth_mirror_rule_set_t	   mirror_rule_set; /**< Add a traffic mirror rule. */
-	eth_mirror_rule_reset_t	   mirror_rule_reset; /**< reset a traffic mirror rule. */
-
-	eth_udp_tunnel_port_add_t  udp_tunnel_port_add; /** Add UDP tunnel port. */
-	eth_udp_tunnel_port_del_t  udp_tunnel_port_del; /** Del UDP tunnel port. */
-	eth_l2_tunnel_eth_type_conf_t l2_tunnel_eth_type_conf;
-	/** Config ether type of l2 tunnel. */
-	eth_l2_tunnel_offload_set_t   l2_tunnel_offload_set;
-	/** Enable/disable l2 tunnel offload functions. */
-
-	eth_set_queue_rate_limit_t set_queue_rate_limit; /**< Set queue rate limit. */
-
-	rss_hash_update_t          rss_hash_update; /** Configure RSS hash protocols. */
-	rss_hash_conf_get_t        rss_hash_conf_get; /** Get current RSS hash configuration. */
-	reta_update_t              reta_update;   /** Update redirection table. */
-	reta_query_t               reta_query;    /** Query redirection table. */
-
-	eth_get_reg_t              get_reg;           /**< Get registers. */
-	eth_get_eeprom_length_t    get_eeprom_length; /**< Get eeprom length. */
-	eth_get_eeprom_t           get_eeprom;        /**< Get eeprom data. */
-	eth_set_eeprom_t           set_eeprom;        /**< Set eeprom. */
-
-	eth_get_module_info_t      get_module_info;
-	/** Get plugin module eeprom attribute. */
-	eth_get_module_eeprom_t    get_module_eeprom;
-	/** Get plugin module eeprom data. */
-
-	eth_filter_ctrl_t          filter_ctrl; /**< common filter control. */
-
-	eth_get_dcb_info           get_dcb_info; /** Get DCB information. */
-
-	eth_timesync_enable_t      timesync_enable;
-	/** Turn IEEE1588/802.1AS timestamping on. */
-	eth_timesync_disable_t     timesync_disable;
-	/** Turn IEEE1588/802.1AS timestamping off. */
-	eth_timesync_read_rx_timestamp_t timesync_read_rx_timestamp;
-	/** Read the IEEE1588/802.1AS RX timestamp. */
-	eth_timesync_read_tx_timestamp_t timesync_read_tx_timestamp;
-	/** Read the IEEE1588/802.1AS TX timestamp. */
-	eth_timesync_adjust_time   timesync_adjust_time; /** Adjust the device clock. */
-	eth_timesync_read_time     timesync_read_time; /** Get the device clock time. */
-	eth_timesync_write_time    timesync_write_time; /** Set the device clock time. */
-
-	eth_read_clock             read_clock;
-
-	eth_xstats_get_by_id_t     xstats_get_by_id;
-	/**< Get extended device statistic values by ID. */
-	eth_xstats_get_names_by_id_t xstats_get_names_by_id;
-	/**< Get name of extended device statistics by ID. */
+typedef uint32_t (*eth_rx_queue_count_t)(struct rte_eth_dev *dev,
+					 uint16_t rx_queue_id);
+/**< @internal Get number of used descriptors on a receive queue. */
 
-	eth_tm_ops_get_t tm_ops_get;
-	/**< Get Traffic Management (TM) operations. */
+typedef int (*eth_rx_descriptor_done_t)(void *rxq, uint16_t offset);
+/**< @internal Check DD bit of specific RX descriptor */
 
-	eth_mtr_ops_get_t mtr_ops_get;
-	/**< Get Traffic Metering and Policing (MTR) operations. */
+typedef int (*eth_rx_descriptor_status_t)(void *rxq, uint16_t offset);
+/**< @internal Check the status of a Rx descriptor */
 
-	eth_pool_ops_supported_t pool_ops_supported;
-	/**< Test if a port supports specific mempool ops */
+typedef int (*eth_tx_descriptor_status_t)(void *txq, uint16_t offset);
+/**< @internal Check the status of a Tx descriptor */
 
-	eth_hairpin_cap_get_t hairpin_cap_get;
-	/**< Returns the hairpin capabilities. */
-	eth_rx_hairpin_queue_setup_t rx_hairpin_queue_setup;
-	/**< Set up device RX hairpin queue. */
-	eth_tx_hairpin_queue_setup_t tx_hairpin_queue_setup;
-	/**< Set up device TX hairpin queue. */
-};
 
 /**
  * @internal
diff --git a/lib/librte_ethdev/rte_ethdev_driver.h b/lib/librte_ethdev/rte_ethdev_driver.h
index 13fd049c0d..b006cbbe92 100644
--- a/lib/librte_ethdev/rte_ethdev_driver.h
+++ b/lib/librte_ethdev/rte_ethdev_driver.h
@@ -21,6 +21,700 @@
 extern "C" {
 #endif
 
+/*
+ * Definitions of all functions exported by an Ethernet driver through the
+ * generic structure of type *eth_dev_ops* supplied in the *rte_eth_dev*
+ * structure associated with an Ethernet device.
+ */
+
+typedef int  (*eth_dev_configure_t)(struct rte_eth_dev *dev);
+/**< @internal Ethernet device configuration. */
+
+typedef int  (*eth_dev_start_t)(struct rte_eth_dev *dev);
+/**< @internal Function used to start a configured Ethernet device. */
+
+typedef void (*eth_dev_stop_t)(struct rte_eth_dev *dev);
+/**< @internal Function used to stop a configured Ethernet device. */
+
+typedef int  (*eth_dev_set_link_up_t)(struct rte_eth_dev *dev);
+/**< @internal Function used to link up a configured Ethernet device. */
+
+typedef int  (*eth_dev_set_link_down_t)(struct rte_eth_dev *dev);
+/**< @internal Function used to link down a configured Ethernet device. */
+
+typedef void (*eth_dev_close_t)(struct rte_eth_dev *dev);
+/**< @internal Function used to close a configured Ethernet device. */
+
+typedef int (*eth_dev_reset_t)(struct rte_eth_dev *dev);
+/** <@internal Function used to reset a configured Ethernet device. */
+
+typedef int (*eth_is_removed_t)(struct rte_eth_dev *dev);
+/**< @internal Function used to detect an Ethernet device removal. */
+
+/**
+ * @internal
+ * Function used to enable the Rx promiscuous mode of an Ethernet device.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, promiscuous mode is enabled.
+ * @retval -ENOTSUP
+ *   Promiscuous mode is not supported.
+ * @retval -ENODEV
+ *   Device is gone.
+ * @retval -E_RTE_SECONDARY
+ *   Function was called from a secondary process instance and not supported.
+ * @retval -ETIMEDOUT
+ *   Attempt to enable promiscuos mode failed because of timeout.
+ * @retval -EAGAIN
+ *   Failed to enable promiscuous mode.
+ */
+typedef int (*eth_promiscuous_enable_t)(struct rte_eth_dev *dev);
+
+/**
+ * @internal
+ * Function used to disable the Rx promiscuous mode of an Ethernet device.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, promiscuous mode is disabled.
+ * @retval -ENOTSUP
+ *   Promiscuous mode disabling is not supported.
+ * @retval -ENODEV
+ *   Device is gone.
+ * @retval -E_RTE_SECONDARY
+ *   Function was called from a secondary process instance and not supported.
+ * @retval -ETIMEDOUT
+ *   Attempt to disable promiscuos mode failed because of timeout.
+ * @retval -EAGAIN
+ *   Failed to disable promiscuous mode.
+ */
+typedef int (*eth_promiscuous_disable_t)(struct rte_eth_dev *dev);
+
+/**
+ * @internal
+ * Enable the receipt of all multicast packets by an Ethernet device.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, all-multicast mode is enabled.
+ * @retval -ENOTSUP
+ *   All-multicast mode is not supported.
+ * @retval -ENODEV
+ *   Device is gone.
+ * @retval -E_RTE_SECONDARY
+ *   Function was called from a secondary process instance and not supported.
+ * @retval -ETIMEDOUT
+ *   Attempt to enable all-multicast mode failed because of timeout.
+ * @retval -EAGAIN
+ *   Failed to enable all-multicast mode.
+ */
+typedef int (*eth_allmulticast_enable_t)(struct rte_eth_dev *dev);
+
+/**
+ * @internal
+ * Disable the receipt of all multicast packets by an Ethernet device.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, all-multicast mode is disabled.
+ * @retval -ENOTSUP
+ *   All-multicast mode disabling is not supported.
+ * @retval -ENODEV
+ *   Device is gone.
+ * @retval -E_RTE_SECONDARY
+ *   Function was called from a secondary process instance and not supported.
+ * @retval -ETIMEDOUT
+ *   Attempt to disable all-multicast mode failed because of timeout.
+ * @retval -EAGAIN
+ *   Failed to disable all-multicast mode.
+ */
+typedef int (*eth_allmulticast_disable_t)(struct rte_eth_dev *dev);
+
+typedef int (*eth_link_update_t)(struct rte_eth_dev *dev,
+				int wait_to_complete);
+/**< @internal Get link speed, duplex mode and state (up/down) of an Ethernet device. */
+
+typedef int (*eth_stats_get_t)(struct rte_eth_dev *dev,
+				struct rte_eth_stats *igb_stats);
+/**< @internal Get global I/O statistics of an Ethernet device. */
+
+/**
+ * @internal
+ * Reset global I/O statistics of an Ethernet device to 0.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, statistics has been reset.
+ * @retval -ENOTSUP
+ *   Resetting statistics is not supported.
+ * @retval -EINVAL
+ *   Resetting statistics is not valid.
+ * @retval -ENOMEM
+ *   Not enough memory to get the stats.
+ */
+typedef int (*eth_stats_reset_t)(struct rte_eth_dev *dev);
+
+typedef int (*eth_xstats_get_t)(struct rte_eth_dev *dev,
+	struct rte_eth_xstat *stats, unsigned int n);
+/**< @internal Get extended stats of an Ethernet device. */
+
+typedef int (*eth_xstats_get_by_id_t)(struct rte_eth_dev *dev,
+				      const uint64_t *ids,
+				      uint64_t *values,
+				      unsigned int n);
+/**< @internal Get extended stats of an Ethernet device. */
+
+/**
+ * @internal
+ * Reset extended stats of an Ethernet device.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, statistics has been reset.
+ * @retval -ENOTSUP
+ *   Resetting statistics is not supported.
+ * @retval -EINVAL
+ *   Resetting statistics is not valid.
+ * @retval -ENOMEM
+ *   Not enough memory to get the stats.
+ */
+typedef int (*eth_xstats_reset_t)(struct rte_eth_dev *dev);
+
+typedef int (*eth_xstats_get_names_t)(struct rte_eth_dev *dev,
+	struct rte_eth_xstat_name *xstats_names, unsigned int size);
+/**< @internal Get names of extended stats of an Ethernet device. */
+
+typedef int (*eth_xstats_get_names_by_id_t)(struct rte_eth_dev *dev,
+	struct rte_eth_xstat_name *xstats_names, const uint64_t *ids,
+	unsigned int size);
+/**< @internal Get names of extended stats of an Ethernet device. */
+
+typedef int (*eth_queue_stats_mapping_set_t)(struct rte_eth_dev *dev,
+					     uint16_t queue_id,
+					     uint8_t stat_idx,
+					     uint8_t is_rx);
+/**< @internal Set a queue statistics mapping for a tx/rx queue of an Ethernet device. */
+
+typedef int (*eth_dev_infos_get_t)(struct rte_eth_dev *dev,
+				   struct rte_eth_dev_info *dev_info);
+/**< @internal Get specific information of an Ethernet device. */
+
+typedef const uint32_t *(*eth_dev_supported_ptypes_get_t)(struct rte_eth_dev *dev);
+/**< @internal Get supported ptypes of an Ethernet device. */
+
+/**
+ * @internal
+ * Inform Ethernet device about reduced range of packet types to handle.
+ *
+ * @param dev
+ *   The Ethernet device identifier.
+ * @param ptype_mask
+ *   The ptype family that application is interested in should be bitwise OR of
+ *   RTE_PTYPE_*_MASK or 0.
+ * @return
+ *   - (0) if Success.
+ */
+typedef int (*eth_dev_ptypes_set_t)(struct rte_eth_dev *dev,
+				     uint32_t ptype_mask);
+
+typedef int (*eth_queue_start_t)(struct rte_eth_dev *dev,
+				    uint16_t queue_id);
+/**< @internal Start rx and tx of a queue of an Ethernet device. */
+
+typedef int (*eth_queue_stop_t)(struct rte_eth_dev *dev,
+				    uint16_t queue_id);
+/**< @internal Stop rx and tx of a queue of an Ethernet device. */
+
+typedef int (*eth_rx_queue_setup_t)(struct rte_eth_dev *dev,
+				    uint16_t rx_queue_id,
+				    uint16_t nb_rx_desc,
+				    unsigned int socket_id,
+				    const struct rte_eth_rxconf *rx_conf,
+				    struct rte_mempool *mb_pool);
+/**< @internal Set up a receive queue of an Ethernet device. */
+
+typedef int (*eth_tx_queue_setup_t)(struct rte_eth_dev *dev,
+				    uint16_t tx_queue_id,
+				    uint16_t nb_tx_desc,
+				    unsigned int socket_id,
+				    const struct rte_eth_txconf *tx_conf);
+/**< @internal Setup a transmit queue of an Ethernet device. */
+
+typedef int (*eth_rx_enable_intr_t)(struct rte_eth_dev *dev,
+				    uint16_t rx_queue_id);
+/**< @internal Enable interrupt of a receive queue of an Ethernet device. */
+
+typedef int (*eth_rx_disable_intr_t)(struct rte_eth_dev *dev,
+				    uint16_t rx_queue_id);
+/**< @internal Disable interrupt of a receive queue of an Ethernet device. */
+
+typedef void (*eth_queue_release_t)(void *queue);
+/**< @internal Release memory resources allocated by given RX/TX queue. */
+
+typedef int (*eth_fw_version_get_t)(struct rte_eth_dev *dev,
+				     char *fw_version, size_t fw_size);
+/**< @internal Get firmware information of an Ethernet device. */
+
+typedef int (*eth_tx_done_cleanup_t)(void *txq, uint32_t free_cnt);
+/**< @internal Force mbufs to be from TX ring. */
+
+typedef void (*eth_rxq_info_get_t)(struct rte_eth_dev *dev,
+	uint16_t rx_queue_id, struct rte_eth_rxq_info *qinfo);
+
+typedef void (*eth_txq_info_get_t)(struct rte_eth_dev *dev,
+	uint16_t tx_queue_id, struct rte_eth_txq_info *qinfo);
+
+typedef int (*eth_burst_mode_get_t)(struct rte_eth_dev *dev,
+	uint16_t queue_id, struct rte_eth_burst_mode *mode);
+
+typedef int (*mtu_set_t)(struct rte_eth_dev *dev, uint16_t mtu);
+/**< @internal Set MTU. */
+
+typedef int (*vlan_filter_set_t)(struct rte_eth_dev *dev,
+				  uint16_t vlan_id,
+				  int on);
+/**< @internal filtering of a VLAN Tag Identifier by an Ethernet device. */
+
+typedef int (*vlan_tpid_set_t)(struct rte_eth_dev *dev,
+			       enum rte_vlan_type type, uint16_t tpid);
+/**< @internal set the outer/inner VLAN-TPID by an Ethernet device. */
+
+typedef int (*vlan_offload_set_t)(struct rte_eth_dev *dev, int mask);
+/**< @internal set VLAN offload function by an Ethernet device. */
+
+typedef int (*vlan_pvid_set_t)(struct rte_eth_dev *dev,
+			       uint16_t vlan_id,
+			       int on);
+/**< @internal set port based TX VLAN insertion by an Ethernet device. */
+
+typedef void (*vlan_strip_queue_set_t)(struct rte_eth_dev *dev,
+				  uint16_t rx_queue_id,
+				  int on);
+/**< @internal VLAN stripping enable/disable by an queue of Ethernet device. */
+
+typedef int (*flow_ctrl_get_t)(struct rte_eth_dev *dev,
+			       struct rte_eth_fc_conf *fc_conf);
+/**< @internal Get current flow control parameter on an Ethernet device */
+
+typedef int (*flow_ctrl_set_t)(struct rte_eth_dev *dev,
+			       struct rte_eth_fc_conf *fc_conf);
+/**< @internal Setup flow control parameter on an Ethernet device */
+
+typedef int (*priority_flow_ctrl_set_t)(struct rte_eth_dev *dev,
+				struct rte_eth_pfc_conf *pfc_conf);
+/**< @internal Setup priority flow control parameter on an Ethernet device */
+
+typedef int (*reta_update_t)(struct rte_eth_dev *dev,
+			     struct rte_eth_rss_reta_entry64 *reta_conf,
+			     uint16_t reta_size);
+/**< @internal Update RSS redirection table on an Ethernet device */
+
+typedef int (*reta_query_t)(struct rte_eth_dev *dev,
+			    struct rte_eth_rss_reta_entry64 *reta_conf,
+			    uint16_t reta_size);
+/**< @internal Query RSS redirection table on an Ethernet device */
+
+typedef int (*rss_hash_update_t)(struct rte_eth_dev *dev,
+				 struct rte_eth_rss_conf *rss_conf);
+/**< @internal Update RSS hash configuration of an Ethernet device */
+
+typedef int (*rss_hash_conf_get_t)(struct rte_eth_dev *dev,
+				   struct rte_eth_rss_conf *rss_conf);
+/**< @internal Get current RSS hash configuration of an Ethernet device */
+
+typedef int (*eth_dev_led_on_t)(struct rte_eth_dev *dev);
+/**< @internal Turn on SW controllable LED on an Ethernet device */
+
+typedef int (*eth_dev_led_off_t)(struct rte_eth_dev *dev);
+/**< @internal Turn off SW controllable LED on an Ethernet device */
+
+typedef void (*eth_mac_addr_remove_t)(struct rte_eth_dev *dev, uint32_t index);
+/**< @internal Remove MAC address from receive address register */
+
+typedef int (*eth_mac_addr_add_t)(struct rte_eth_dev *dev,
+				  struct rte_ether_addr *mac_addr,
+				  uint32_t index,
+				  uint32_t vmdq);
+/**< @internal Set a MAC address into Receive Address Register */
+
+typedef int (*eth_mac_addr_set_t)(struct rte_eth_dev *dev,
+				  struct rte_ether_addr *mac_addr);
+/**< @internal Set a MAC address into Receive Address Register */
+
+typedef int (*eth_uc_hash_table_set_t)(struct rte_eth_dev *dev,
+				  struct rte_ether_addr *mac_addr,
+				  uint8_t on);
+/**< @internal Set a Unicast Hash bitmap */
+
+typedef int (*eth_uc_all_hash_table_set_t)(struct rte_eth_dev *dev,
+				  uint8_t on);
+/**< @internal Set all Unicast Hash bitmap */
+
+typedef int (*eth_set_queue_rate_limit_t)(struct rte_eth_dev *dev,
+				uint16_t queue_idx,
+				uint16_t tx_rate);
+/**< @internal Set queue TX rate */
+
+typedef int (*eth_mirror_rule_set_t)(struct rte_eth_dev *dev,
+				  struct rte_eth_mirror_conf *mirror_conf,
+				  uint8_t rule_id,
+				  uint8_t on);
+/**< @internal Add a traffic mirroring rule on an Ethernet device */
+
+typedef int (*eth_mirror_rule_reset_t)(struct rte_eth_dev *dev,
+				  uint8_t rule_id);
+/**< @internal Remove a traffic mirroring rule on an Ethernet device */
+
+typedef int (*eth_udp_tunnel_port_add_t)(struct rte_eth_dev *dev,
+					 struct rte_eth_udp_tunnel *tunnel_udp);
+/**< @internal Add tunneling UDP port */
+
+typedef int (*eth_udp_tunnel_port_del_t)(struct rte_eth_dev *dev,
+					 struct rte_eth_udp_tunnel *tunnel_udp);
+/**< @internal Delete tunneling UDP port */
+
+typedef int (*eth_set_mc_addr_list_t)(struct rte_eth_dev *dev,
+				      struct rte_ether_addr *mc_addr_set,
+				      uint32_t nb_mc_addr);
+/**< @internal set the list of multicast addresses on an Ethernet device */
+
+typedef int (*eth_timesync_enable_t)(struct rte_eth_dev *dev);
+/**< @internal Function used to enable IEEE1588/802.1AS timestamping. */
+
+typedef int (*eth_timesync_disable_t)(struct rte_eth_dev *dev);
+/**< @internal Function used to disable IEEE1588/802.1AS timestamping. */
+
+typedef int (*eth_timesync_read_rx_timestamp_t)(struct rte_eth_dev *dev,
+						struct timespec *timestamp,
+						uint32_t flags);
+/**< @internal Function used to read an RX IEEE1588/802.1AS timestamp. */
+
+typedef int (*eth_timesync_read_tx_timestamp_t)(struct rte_eth_dev *dev,
+						struct timespec *timestamp);
+/**< @internal Function used to read a TX IEEE1588/802.1AS timestamp. */
+
+typedef int (*eth_timesync_adjust_time)(struct rte_eth_dev *dev, int64_t);
+/**< @internal Function used to adjust the device clock */
+
+typedef int (*eth_timesync_read_time)(struct rte_eth_dev *dev,
+				      struct timespec *timestamp);
+/**< @internal Function used to get time from the device clock. */
+
+typedef int (*eth_timesync_write_time)(struct rte_eth_dev *dev,
+				       const struct timespec *timestamp);
+/**< @internal Function used to get time from the device clock */
+
+typedef int (*eth_read_clock)(struct rte_eth_dev *dev,
+				      uint64_t *timestamp);
+/**< @internal Function used to get the current value of the device clock. */
+
+typedef int (*eth_get_reg_t)(struct rte_eth_dev *dev,
+				struct rte_dev_reg_info *info);
+/**< @internal Retrieve registers  */
+
+typedef int (*eth_get_eeprom_length_t)(struct rte_eth_dev *dev);
+/**< @internal Retrieve eeprom size  */
+
+typedef int (*eth_get_eeprom_t)(struct rte_eth_dev *dev,
+				struct rte_dev_eeprom_info *info);
+/**< @internal Retrieve eeprom data  */
+
+typedef int (*eth_set_eeprom_t)(struct rte_eth_dev *dev,
+				struct rte_dev_eeprom_info *info);
+/**< @internal Program eeprom data  */
+
+typedef int (*eth_get_module_info_t)(struct rte_eth_dev *dev,
+				     struct rte_eth_dev_module_info *modinfo);
+/**< @internal Retrieve type and size of plugin module eeprom */
+
+typedef int (*eth_get_module_eeprom_t)(struct rte_eth_dev *dev,
+				       struct rte_dev_eeprom_info *info);
+/**< @internal Retrieve plugin module eeprom data */
+
+typedef int (*eth_l2_tunnel_eth_type_conf_t)
+	(struct rte_eth_dev *dev, struct rte_eth_l2_tunnel_conf *l2_tunnel);
+/**< @internal config l2 tunnel ether type */
+
+typedef int (*eth_l2_tunnel_offload_set_t)
+	(struct rte_eth_dev *dev,
+	 struct rte_eth_l2_tunnel_conf *l2_tunnel,
+	 uint32_t mask,
+	 uint8_t en);
+/**< @internal enable/disable the l2 tunnel offload functions */
+
+
+typedef int (*eth_filter_ctrl_t)(struct rte_eth_dev *dev,
+				 enum rte_filter_type filter_type,
+				 enum rte_filter_op filter_op,
+				 void *arg);
+/**< @internal Take operations to assigned filter type on an Ethernet device */
+
+typedef int (*eth_tm_ops_get_t)(struct rte_eth_dev *dev, void *ops);
+/**< @internal Get Traffic Management (TM) operations on an Ethernet device */
+
+typedef int (*eth_mtr_ops_get_t)(struct rte_eth_dev *dev, void *ops);
+/**< @internal Get Traffic Metering and Policing (MTR) operations */
+
+typedef int (*eth_get_dcb_info)(struct rte_eth_dev *dev,
+				 struct rte_eth_dcb_info *dcb_info);
+/**< @internal Get dcb information on an Ethernet device */
+
+typedef int (*eth_pool_ops_supported_t)(struct rte_eth_dev *dev,
+						const char *pool);
+/**< @internal Test if a port supports specific mempool ops */
+
+/**
+ * @internal
+ * Get the hairpin capabilities.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ * @param cap
+ *   returns the hairpin capabilities from the device.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, hairpin is supported.
+ * @retval -ENOTSUP
+ *   Hairpin is not supported.
+ */
+typedef int (*eth_hairpin_cap_get_t)(struct rte_eth_dev *dev,
+				     struct rte_eth_hairpin_cap *cap);
+
+/**
+ * @internal
+ * Setup RX hairpin queue.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ * @param rx_queue_id
+ *   the selected RX queue index.
+ * @param nb_rx_desc
+ *   the requested number of descriptors for this queue. 0 - use PMD default.
+ * @param conf
+ *   the RX hairpin configuration structure.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, hairpin is supported.
+ * @retval -ENOTSUP
+ *   Hairpin is not supported.
+ * @retval -EINVAL
+ *   One of the parameters is invalid.
+ * @retval -ENOMEM
+ *   Unable to allocate resources.
+ */
+typedef int (*eth_rx_hairpin_queue_setup_t)
+	(struct rte_eth_dev *dev, uint16_t rx_queue_id,
+	 uint16_t nb_rx_desc,
+	 const struct rte_eth_hairpin_conf *conf);
+
+/**
+ * @internal
+ * Setup TX hairpin queue.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ * @param tx_queue_id
+ *   the selected TX queue index.
+ * @param nb_tx_desc
+ *   the requested number of descriptors for this queue. 0 - use PMD default.
+ * @param conf
+ *   the TX hairpin configuration structure.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, hairpin is supported.
+ * @retval -ENOTSUP
+ *   Hairpin is not supported.
+ * @retval -EINVAL
+ *   One of the parameters is invalid.
+ * @retval -ENOMEM
+ *   Unable to allocate resources.
+ */
+typedef int (*eth_tx_hairpin_queue_setup_t)
+	(struct rte_eth_dev *dev, uint16_t tx_queue_id,
+	 uint16_t nb_tx_desc,
+	 const struct rte_eth_hairpin_conf *hairpin_conf);
+
+/**
+ * @internal A structure containing the functions exported by an Ethernet driver.
+ */
+struct eth_dev_ops {
+	eth_dev_configure_t        dev_configure; /**< Configure device. */
+	eth_dev_start_t            dev_start;     /**< Start device. */
+	eth_dev_stop_t             dev_stop;      /**< Stop device. */
+	eth_dev_set_link_up_t      dev_set_link_up;   /**< Device link up. */
+	eth_dev_set_link_down_t    dev_set_link_down; /**< Device link down. */
+	eth_dev_close_t            dev_close;     /**< Close device. */
+	eth_dev_reset_t		   dev_reset;	  /**< Reset device. */
+	eth_link_update_t          link_update;   /**< Get device link state. */
+	eth_is_removed_t           is_removed;
+	/**< Check if the device was physically removed. */
+
+	eth_promiscuous_enable_t   promiscuous_enable; /**< Promiscuous ON. */
+	eth_promiscuous_disable_t  promiscuous_disable;/**< Promiscuous OFF. */
+	eth_allmulticast_enable_t  allmulticast_enable;/**< RX multicast ON. */
+	eth_allmulticast_disable_t allmulticast_disable;/**< RX multicast OFF. */
+	eth_mac_addr_remove_t      mac_addr_remove; /**< Remove MAC address. */
+	eth_mac_addr_add_t         mac_addr_add;  /**< Add a MAC address. */
+	eth_mac_addr_set_t         mac_addr_set;  /**< Set a MAC address. */
+	eth_set_mc_addr_list_t     set_mc_addr_list; /**< set list of mcast addrs. */
+	mtu_set_t                  mtu_set;       /**< Set MTU. */
+
+	eth_stats_get_t            stats_get;     /**< Get generic device statistics. */
+	eth_stats_reset_t          stats_reset;   /**< Reset generic device statistics. */
+	eth_xstats_get_t           xstats_get;    /**< Get extended device statistics. */
+	eth_xstats_reset_t         xstats_reset;  /**< Reset extended device statistics. */
+	eth_xstats_get_names_t     xstats_get_names;
+	/**< Get names of extended statistics. */
+	eth_queue_stats_mapping_set_t queue_stats_mapping_set;
+	/**< Configure per queue stat counter mapping. */
+
+	eth_dev_infos_get_t        dev_infos_get; /**< Get device info. */
+	eth_rxq_info_get_t         rxq_info_get; /**< retrieve RX queue information. */
+	eth_txq_info_get_t         txq_info_get; /**< retrieve TX queue information. */
+	eth_burst_mode_get_t       rx_burst_mode_get; /**< Get RX burst mode */
+	eth_burst_mode_get_t       tx_burst_mode_get; /**< Get TX burst mode */
+	eth_fw_version_get_t       fw_version_get; /**< Get firmware version. */
+	eth_dev_supported_ptypes_get_t dev_supported_ptypes_get;
+	/**< Get packet types supported and identified by device. */
+	eth_dev_ptypes_set_t dev_ptypes_set;
+	/**< Inform Ethernet device about reduced range of packet types to handle. */
+
+	vlan_filter_set_t          vlan_filter_set; /**< Filter VLAN Setup. */
+	vlan_tpid_set_t            vlan_tpid_set; /**< Outer/Inner VLAN TPID Setup. */
+	vlan_strip_queue_set_t     vlan_strip_queue_set; /**< VLAN Stripping on queue. */
+	vlan_offload_set_t         vlan_offload_set; /**< Set VLAN Offload. */
+	vlan_pvid_set_t            vlan_pvid_set; /**< Set port based TX VLAN insertion. */
+
+	eth_queue_start_t          rx_queue_start;/**< Start RX for a queue. */
+	eth_queue_stop_t           rx_queue_stop; /**< Stop RX for a queue. */
+	eth_queue_start_t          tx_queue_start;/**< Start TX for a queue. */
+	eth_queue_stop_t           tx_queue_stop; /**< Stop TX for a queue. */
+	eth_rx_queue_setup_t       rx_queue_setup;/**< Set up device RX queue. */
+	eth_queue_release_t        rx_queue_release; /**< Release RX queue. */
+
+	eth_rx_enable_intr_t       rx_queue_intr_enable;  /**< Enable Rx queue interrupt. */
+	eth_rx_disable_intr_t      rx_queue_intr_disable; /**< Disable Rx queue interrupt. */
+	eth_tx_queue_setup_t       tx_queue_setup;/**< Set up device TX queue. */
+	eth_queue_release_t        tx_queue_release; /**< Release TX queue. */
+	eth_tx_done_cleanup_t      tx_done_cleanup;/**< Free tx ring mbufs */
+
+	eth_dev_led_on_t           dev_led_on;    /**< Turn on LED. */
+	eth_dev_led_off_t          dev_led_off;   /**< Turn off LED. */
+
+	flow_ctrl_get_t            flow_ctrl_get; /**< Get flow control. */
+	flow_ctrl_set_t            flow_ctrl_set; /**< Setup flow control. */
+	priority_flow_ctrl_set_t   priority_flow_ctrl_set; /**< Setup priority flow control. */
+
+	eth_uc_hash_table_set_t    uc_hash_table_set; /**< Set Unicast Table Array. */
+	eth_uc_all_hash_table_set_t uc_all_hash_table_set; /**< Set Unicast hash bitmap. */
+
+	eth_mirror_rule_set_t	   mirror_rule_set; /**< Add a traffic mirror rule. */
+	eth_mirror_rule_reset_t	   mirror_rule_reset; /**< reset a traffic mirror rule. */
+
+	eth_udp_tunnel_port_add_t  udp_tunnel_port_add; /** Add UDP tunnel port. */
+	eth_udp_tunnel_port_del_t  udp_tunnel_port_del; /** Del UDP tunnel port. */
+	eth_l2_tunnel_eth_type_conf_t l2_tunnel_eth_type_conf;
+	/** Config ether type of l2 tunnel. */
+	eth_l2_tunnel_offload_set_t   l2_tunnel_offload_set;
+	/** Enable/disable l2 tunnel offload functions. */
+
+	eth_set_queue_rate_limit_t set_queue_rate_limit; /**< Set queue rate limit. */
+
+	rss_hash_update_t          rss_hash_update; /** Configure RSS hash protocols. */
+	rss_hash_conf_get_t        rss_hash_conf_get; /** Get current RSS hash configuration. */
+	reta_update_t              reta_update;   /** Update redirection table. */
+	reta_query_t               reta_query;    /** Query redirection table. */
+
+	eth_get_reg_t              get_reg;           /**< Get registers. */
+	eth_get_eeprom_length_t    get_eeprom_length; /**< Get eeprom length. */
+	eth_get_eeprom_t           get_eeprom;        /**< Get eeprom data. */
+	eth_set_eeprom_t           set_eeprom;        /**< Set eeprom. */
+
+	eth_get_module_info_t      get_module_info;
+	/** Get plugin module eeprom attribute. */
+	eth_get_module_eeprom_t    get_module_eeprom;
+	/** Get plugin module eeprom data. */
+
+	eth_filter_ctrl_t          filter_ctrl; /**< common filter control. */
+
+	eth_get_dcb_info           get_dcb_info; /** Get DCB information. */
+
+	eth_timesync_enable_t      timesync_enable;
+	/** Turn IEEE1588/802.1AS timestamping on. */
+	eth_timesync_disable_t     timesync_disable;
+	/** Turn IEEE1588/802.1AS timestamping off. */
+	eth_timesync_read_rx_timestamp_t timesync_read_rx_timestamp;
+	/** Read the IEEE1588/802.1AS RX timestamp. */
+	eth_timesync_read_tx_timestamp_t timesync_read_tx_timestamp;
+	/** Read the IEEE1588/802.1AS TX timestamp. */
+	eth_timesync_adjust_time   timesync_adjust_time; /** Adjust the device clock. */
+	eth_timesync_read_time     timesync_read_time; /** Get the device clock time. */
+	eth_timesync_write_time    timesync_write_time; /** Set the device clock time. */
+
+	eth_read_clock             read_clock;
+
+	eth_xstats_get_by_id_t     xstats_get_by_id;
+	/**< Get extended device statistic values by ID. */
+	eth_xstats_get_names_by_id_t xstats_get_names_by_id;
+	/**< Get name of extended device statistics by ID. */
+
+	eth_tm_ops_get_t tm_ops_get;
+	/**< Get Traffic Management (TM) operations. */
+
+	eth_mtr_ops_get_t mtr_ops_get;
+	/**< Get Traffic Metering and Policing (MTR) operations. */
+
+	eth_pool_ops_supported_t pool_ops_supported;
+	/**< Test if a port supports specific mempool ops */
+
+	eth_hairpin_cap_get_t hairpin_cap_get;
+	/**< Returns the hairpin capabilities. */
+	eth_rx_hairpin_queue_setup_t rx_hairpin_queue_setup;
+	/**< Set up device RX hairpin queue. */
+	eth_tx_hairpin_queue_setup_t tx_hairpin_queue_setup;
+	/**< Set up device TX hairpin queue. */
+};
+
 /**
  * RX/TX queue states
  */
diff --git a/lib/librte_ethdev/rte_flow_driver.h b/lib/librte_ethdev/rte_flow_driver.h
index 881cc469b7..997598db11 100644
--- a/lib/librte_ethdev/rte_flow_driver.h
+++ b/lib/librte_ethdev/rte_flow_driver.h
@@ -18,6 +18,7 @@
 #include <stdint.h>
 
 #include "rte_ethdev.h"
+#include "rte_ethdev_driver.h"
 #include "rte_flow.h"
 
 #ifdef __cplusplus
diff --git a/lib/librte_ethdev/rte_mtr_driver.h b/lib/librte_ethdev/rte_mtr_driver.h
index 3ec7ffa2a5..3b39532935 100644
--- a/lib/librte_ethdev/rte_mtr_driver.h
+++ b/lib/librte_ethdev/rte_mtr_driver.h
@@ -18,6 +18,7 @@
 
 #include <rte_errno.h>
 #include "rte_ethdev.h"
+#include "rte_ethdev_driver.h"
 #include "rte_mtr.h"
 
 #ifdef __cplusplus
diff --git a/lib/librte_ethdev/rte_tm_driver.h b/lib/librte_ethdev/rte_tm_driver.h
index 90114ff53e..b86ed89c00 100644
--- a/lib/librte_ethdev/rte_tm_driver.h
+++ b/lib/librte_ethdev/rte_tm_driver.h
@@ -18,6 +18,7 @@
 
 #include <rte_errno.h>
 #include "rte_ethdev.h"
+#include "rte_ethdev_driver.h"
 #include "rte_tm.h"
 
 #ifdef __cplusplus
-- 
2.26.2


^ permalink raw reply	[relevance 3%]

* [dpdk-dev] [PATCH v3 2/7] ethdev: move inline device operations
  2020-09-09 11:12  4% ` [dpdk-dev] [PATCH v3 1/7] ethdev: deprecate descriptor status check API Ferruh Yigit
@ 2020-09-09 11:12  6%   ` Ferruh Yigit
  2020-09-09 11:12  3%   ` [dpdk-dev] [PATCH v3 3/7] ethdev: make device operations struct private Ferruh Yigit
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 200+ results
From: Ferruh Yigit @ 2020-09-09 11:12 UTC (permalink / raw)
  To: dev, John McNamara, Marko Kovacevic, Shepard Siegel, Ed Czeck,
	John Miller, Igor Russkikh, Pavel Belous, Somalapuram Amaranath,
	Ajit Khaparde, Somnath Kotur, Hemant Agrawal, Sachin Saxena,
	Wei Zhao, Jeff Guo, John Daley, Hyong Youb Kim, Qi Zhang,
	Xiao Wang, Beilei Xing, Jingjing Wu, Qiming Yang, Matan Azrad,
	Shahaf Shuler, Viacheslav Ovsiienko, Stephen Hemminger,
	K. Y. Srinivasan, Haiyang Zhang, Long Li, Heinrich Kuhn,
	Jerin Jacob, Nithin Dabilpuram, Kiran Kumar K, Rasesh Mody,
	Shahed Shaikh, Andrew Rybchenko, Maciej Czekaj, Maxime Coquelin,
	Chenbo Xia, Zhihong Wang, Thomas Monjalon
  Cc: Ferruh Yigit, David Marchand

This patch is a preparation to hide the 'struct eth_dev_ops' from
applications by moving some device operations from 'struct eth_dev_ops'
to 'struct rte_eth_dev'.

Mentioned ethdev APIs are in the data path and implemented as inline
because of performance reasons.

Exposing 'struct eth_dev_ops' to applications is bad because it is a
contract between ethdev and PMDs, not really needs to be known by
applications, also changes in the struct causing ABI breakages which
shouldn't.

To be able to both keep APIs inline and hide the 'struct eth_dev_ops',
moving device operations used in ethdev inline APIs to 'struct
rte_eth_dev' to the same level with Rx/Tx burst functions.

The list of dev_ops moved:
eth_rx_queue_count_t       rx_queue_count;
eth_rx_descriptor_done_t   rx_descriptor_done;
eth_rx_descriptor_status_t rx_descriptor_status;
eth_tx_descriptor_status_t tx_descriptor_status;

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com>
---
v2:
* Updated features.rst
* Tweak assignment order in sfc

Cc: David Marchand <david.marchand@redhat.com>
v3:
* ``rx_descriptor_done`` also moved
* release note updated
---
 doc/guides/nics/features.rst           |  6 +++---
 doc/guides/rel_notes/release_20_11.rst |  9 +++++++++
 drivers/net/ark/ark_ethdev.c           |  2 +-
 drivers/net/atlantic/atl_ethdev.c      |  9 +++++----
 drivers/net/axgbe/axgbe_ethdev.c       |  5 +++--
 drivers/net/bnxt/bnxt_ethdev.c         |  6 +++---
 drivers/net/dpaa/dpaa_ethdev.c         |  2 +-
 drivers/net/dpaa2/dpaa2_ethdev.c       |  2 +-
 drivers/net/e1000/em_ethdev.c          |  8 ++++----
 drivers/net/e1000/igb_ethdev.c         | 14 +++++++-------
 drivers/net/enic/enic_ethdev.c         |  3 +--
 drivers/net/fm10k/fm10k_ethdev.c       |  8 ++++----
 drivers/net/i40e/i40e_ethdev.c         |  8 ++++----
 drivers/net/i40e/i40e_ethdev_vf.c      |  8 ++++----
 drivers/net/iavf/iavf_ethdev.c         |  6 +++---
 drivers/net/ice/ice_ethdev.c           |  6 +++---
 drivers/net/igc/igc_ethdev.c           |  8 ++++----
 drivers/net/ixgbe/ixgbe_ethdev.c       | 14 +++++++-------
 drivers/net/mlx5/linux/mlx5_os.c       | 12 +++++-------
 drivers/net/mlx5/mlx5_flow.c           |  4 ++++
 drivers/net/netvsc/hn_ethdev.c         |  6 +++---
 drivers/net/nfp/nfp_net.c              |  2 +-
 drivers/net/octeontx2/otx2_ethdev.c    |  8 ++++----
 drivers/net/qede/qede_ethdev.c         |  3 +--
 drivers/net/sfc/sfc_ethdev.c           | 16 ++++++++--------
 drivers/net/thunderx/nicvf_ethdev.c    |  2 +-
 drivers/net/vhost/rte_eth_vhost.c      |  2 +-
 drivers/net/virtio/virtio_ethdev.c     |  2 +-
 lib/librte_ethdev/rte_ethdev.h         | 17 ++++++++---------
 lib/librte_ethdev/rte_ethdev_core.h    | 13 ++++++-------
 30 files changed, 110 insertions(+), 101 deletions(-)

diff --git a/doc/guides/nics/features.rst b/doc/guides/nics/features.rst
index edd21c4d8e..dd8c9555b0 100644
--- a/doc/guides/nics/features.rst
+++ b/doc/guides/nics/features.rst
@@ -646,9 +646,9 @@ used, status can be "Available", "Done" or "Unavailable". When
 ``rx_descriptor_done`` is used, status can be "DD bit is set" or "DD bit is
 not set".
 
-* **[implements] eth_dev_ops**: ``rx_descriptor_status``.
+* **[implements] rte_eth_dev**: ``rx_descriptor_status``.
 * **[related]    API**: ``rte_eth_rx_descriptor_status()``.
-* **[implements] eth_dev_ops**: ``rx_descriptor_done``.
+* **[implements] rte_eth_dev**: ``rx_descriptor_done``.
 * **[related]    API**: ``rte_eth_rx_descriptor_done()``.
 
 
@@ -660,7 +660,7 @@ Tx descriptor status
 Supports checking the status of a Tx descriptor. Status can be "Full", "Done"
 or "Unavailable."
 
-* **[implements] eth_dev_ops**: ``tx_descriptor_status``.
+* **[implements] rte_eth_dev**: ``tx_descriptor_status``.
 * **[related]    API**: ``rte_eth_tx_descriptor_status()``.
 
 
diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index a7d57b001d..ff7242012b 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -102,6 +102,15 @@ ABI Changes
    Also, make sure to start the actual text at the margin.
    =======================================================
 
+* ``ethdev`` changes
+
+  * Following device operation function pointers moved from ``struct eth_dev_ops`` to ``struct rte_eth_dev``:
+
+    * ``eth_rx_queue_count_t       rx_queue_count;``
+    * ``eth_rx_descriptor_done_t   rx_descriptor_done;``
+    * ``eth_rx_descriptor_status_t rx_descriptor_status;``
+    * ``eth_tx_descriptor_status_t tx_descriptor_status;``
+
 
 Known Issues
 ------------
diff --git a/drivers/net/ark/ark_ethdev.c b/drivers/net/ark/ark_ethdev.c
index b32ccd8677..ce7f6e4803 100644
--- a/drivers/net/ark/ark_ethdev.c
+++ b/drivers/net/ark/ark_ethdev.c
@@ -132,7 +132,6 @@ static const struct eth_dev_ops ark_eth_dev_ops = {
 	.dev_infos_get = eth_ark_dev_info_get,
 
 	.rx_queue_setup = eth_ark_dev_rx_queue_setup,
-	.rx_queue_count = eth_ark_dev_rx_queue_count,
 	.tx_queue_setup = eth_ark_tx_queue_setup,
 
 	.link_update = eth_ark_dev_link_update,
@@ -318,6 +317,7 @@ eth_ark_dev_init(struct rte_eth_dev *dev)
 		return -1;
 
 	dev->dev_ops = &ark_eth_dev_ops;
+	dev->rx_queue_count = eth_ark_dev_rx_queue_count;
 
 	dev->data->mac_addrs = rte_zmalloc("ark", RTE_ETHER_ADDR_LEN, 0);
 	if (!dev->data->mac_addrs) {
diff --git a/drivers/net/atlantic/atl_ethdev.c b/drivers/net/atlantic/atl_ethdev.c
index d3b00ab295..540b106045 100644
--- a/drivers/net/atlantic/atl_ethdev.c
+++ b/drivers/net/atlantic/atl_ethdev.c
@@ -313,10 +313,6 @@ static const struct eth_dev_ops atl_eth_dev_ops = {
 	.rx_queue_intr_enable = atl_dev_rx_queue_intr_enable,
 	.rx_queue_intr_disable = atl_dev_rx_queue_intr_disable,
 
-	.rx_queue_count       = atl_rx_queue_count,
-	.rx_descriptor_status = atl_dev_rx_descriptor_status,
-	.tx_descriptor_status = atl_dev_tx_descriptor_status,
-
 	/* EEPROM */
 	.get_eeprom_length    = atl_dev_get_eeprom_length,
 	.get_eeprom           = atl_dev_get_eeprom,
@@ -373,6 +369,11 @@ eth_atl_dev_init(struct rte_eth_dev *eth_dev)
 	PMD_INIT_FUNC_TRACE();
 
 	eth_dev->dev_ops = &atl_eth_dev_ops;
+
+	eth_dev->rx_queue_count       = atl_rx_queue_count;
+	eth_dev->rx_descriptor_status = atl_dev_rx_descriptor_status;
+	eth_dev->tx_descriptor_status = atl_dev_tx_descriptor_status;
+
 	eth_dev->rx_pkt_burst = &atl_recv_pkts;
 	eth_dev->tx_pkt_burst = &atl_xmit_pkts;
 	eth_dev->tx_pkt_prepare = &atl_prep_pkts;
diff --git a/drivers/net/axgbe/axgbe_ethdev.c b/drivers/net/axgbe/axgbe_ethdev.c
index 0c25739f82..02ceb95754 100644
--- a/drivers/net/axgbe/axgbe_ethdev.c
+++ b/drivers/net/axgbe/axgbe_ethdev.c
@@ -224,8 +224,6 @@ static const struct eth_dev_ops axgbe_eth_dev_ops = {
 	.rxq_info_get                 = axgbe_rxq_info_get,
 	.txq_info_get                 = axgbe_txq_info_get,
 	.dev_supported_ptypes_get     = axgbe_dev_supported_ptypes_get,
-	.rx_descriptor_status         = axgbe_dev_rx_descriptor_status,
-	.tx_descriptor_status         = axgbe_dev_tx_descriptor_status,
 	.mtu_set		= axgb_mtu_set,
 };
 
@@ -1632,6 +1630,9 @@ eth_axgbe_dev_init(struct rte_eth_dev *eth_dev)
 
 	eth_dev->dev_ops = &axgbe_eth_dev_ops;
 
+	eth_dev->rx_descriptor_status = axgbe_dev_rx_descriptor_status;
+	eth_dev->tx_descriptor_status = axgbe_dev_tx_descriptor_status;
+
 	/*
 	 * For secondary processes, we don't initialise any further as primary
 	 * has already done this work.
diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index 75d055be00..4d224bfa04 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -4246,9 +4246,6 @@ static const struct eth_dev_ops bnxt_dev_ops = {
 	.dev_led_off = bnxt_dev_led_off_op,
 	.xstats_get_by_id = bnxt_dev_xstats_get_by_id_op,
 	.xstats_get_names_by_id = bnxt_dev_xstats_get_names_by_id_op,
-	.rx_queue_count = bnxt_rx_queue_count_op,
-	.rx_descriptor_status = bnxt_rx_descriptor_status_op,
-	.tx_descriptor_status = bnxt_tx_descriptor_status_op,
 	.rx_queue_start = bnxt_rx_queue_start,
 	.rx_queue_stop = bnxt_rx_queue_stop,
 	.tx_queue_start = bnxt_tx_queue_start,
@@ -5681,6 +5678,9 @@ bnxt_dev_init(struct rte_eth_dev *eth_dev, void *params __rte_unused)
 		PMD_DRV_LOG(INFO, "%s\n", bnxt_version);
 
 	eth_dev->dev_ops = &bnxt_dev_ops;
+	eth_dev->rx_queue_count = bnxt_rx_queue_count_op;
+	eth_dev->rx_descriptor_status = bnxt_rx_descriptor_status_op;
+	eth_dev->tx_descriptor_status = bnxt_tx_descriptor_status_op;
 	eth_dev->rx_pkt_burst = &bnxt_recv_pkts;
 	eth_dev->tx_pkt_burst = &bnxt_xmit_pkts;
 
diff --git a/drivers/net/dpaa/dpaa_ethdev.c b/drivers/net/dpaa/dpaa_ethdev.c
index b0f2023e60..e2c3fd0368 100644
--- a/drivers/net/dpaa/dpaa_ethdev.c
+++ b/drivers/net/dpaa/dpaa_ethdev.c
@@ -1421,7 +1421,6 @@ static struct eth_dev_ops dpaa_devops = {
 	.tx_queue_setup		  = dpaa_eth_tx_queue_setup,
 	.rx_queue_release	  = dpaa_eth_rx_queue_release,
 	.tx_queue_release	  = dpaa_eth_tx_queue_release,
-	.rx_queue_count		  = dpaa_dev_rx_queue_count,
 	.rx_burst_mode_get	  = dpaa_dev_rx_burst_mode_get,
 	.tx_burst_mode_get	  = dpaa_dev_tx_burst_mode_get,
 	.rxq_info_get		  = dpaa_rxq_info_get,
@@ -1917,6 +1916,7 @@ dpaa_dev_init(struct rte_eth_dev *eth_dev)
 
 	/* Populate ethdev structure */
 	eth_dev->dev_ops = &dpaa_devops;
+	eth_dev->rx_queue_count = dpaa_dev_rx_queue_count;
 	eth_dev->rx_pkt_burst = dpaa_eth_queue_rx;
 	eth_dev->tx_pkt_burst = dpaa_eth_tx_drop_all;
 
diff --git a/drivers/net/dpaa2/dpaa2_ethdev.c b/drivers/net/dpaa2/dpaa2_ethdev.c
index 02c254846c..38cf0ab71c 100644
--- a/drivers/net/dpaa2/dpaa2_ethdev.c
+++ b/drivers/net/dpaa2/dpaa2_ethdev.c
@@ -2331,7 +2331,6 @@ static struct eth_dev_ops dpaa2_ethdev_ops = {
 	.tx_queue_release  = dpaa2_dev_tx_queue_release,
 	.rx_burst_mode_get = dpaa2_dev_rx_burst_mode_get,
 	.tx_burst_mode_get = dpaa2_dev_tx_burst_mode_get,
-	.rx_queue_count       = dpaa2_dev_rx_queue_count,
 	.flow_ctrl_get	      = dpaa2_flow_ctrl_get,
 	.flow_ctrl_set	      = dpaa2_flow_ctrl_set,
 	.mac_addr_add         = dpaa2_dev_add_mac_addr,
@@ -2486,6 +2485,7 @@ dpaa2_dev_init(struct rte_eth_dev *eth_dev)
 		 * plugged.
 		 */
 		eth_dev->dev_ops = &dpaa2_ethdev_ops;
+		eth_dev->rx_queue_count = dpaa2_dev_rx_queue_count;
 		if (dpaa2_get_devargs(dev->devargs, DRIVER_LOOPBACK_MODE))
 			eth_dev->rx_pkt_burst = dpaa2_dev_loopback_rx;
 		else if (dpaa2_get_devargs(dev->devargs,
diff --git a/drivers/net/e1000/em_ethdev.c b/drivers/net/e1000/em_ethdev.c
index 902b1cdca0..82766da882 100644
--- a/drivers/net/e1000/em_ethdev.c
+++ b/drivers/net/e1000/em_ethdev.c
@@ -176,10 +176,6 @@ static const struct eth_dev_ops eth_em_ops = {
 	.vlan_offload_set     = eth_em_vlan_offload_set,
 	.rx_queue_setup       = eth_em_rx_queue_setup,
 	.rx_queue_release     = eth_em_rx_queue_release,
-	.rx_queue_count       = eth_em_rx_queue_count,
-	.rx_descriptor_done   = eth_em_rx_descriptor_done,
-	.rx_descriptor_status = eth_em_rx_descriptor_status,
-	.tx_descriptor_status = eth_em_tx_descriptor_status,
 	.tx_queue_setup       = eth_em_tx_queue_setup,
 	.tx_queue_release     = eth_em_tx_queue_release,
 	.rx_queue_intr_enable = eth_em_rx_queue_intr_enable,
@@ -250,6 +246,10 @@ eth_em_dev_init(struct rte_eth_dev *eth_dev)
 		E1000_DEV_PRIVATE_TO_VFTA(eth_dev->data->dev_private);
 
 	eth_dev->dev_ops = &eth_em_ops;
+	eth_dev->rx_queue_count = eth_em_rx_queue_count;
+	eth_dev->rx_descriptor_done   = eth_em_rx_descriptor_done;
+	eth_dev->rx_descriptor_status = eth_em_rx_descriptor_status;
+	eth_dev->tx_descriptor_status = eth_em_tx_descriptor_status;
 	eth_dev->rx_pkt_burst = (eth_rx_burst_t)&eth_em_recv_pkts;
 	eth_dev->tx_pkt_burst = (eth_tx_burst_t)&eth_em_xmit_pkts;
 	eth_dev->tx_pkt_prepare = (eth_tx_prep_t)&eth_em_prep_pkts;
diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c
index a5551e8175..fe0cea88c2 100644
--- a/drivers/net/e1000/igb_ethdev.c
+++ b/drivers/net/e1000/igb_ethdev.c
@@ -380,10 +380,6 @@ static const struct eth_dev_ops eth_igb_ops = {
 	.rx_queue_intr_enable = eth_igb_rx_queue_intr_enable,
 	.rx_queue_intr_disable = eth_igb_rx_queue_intr_disable,
 	.rx_queue_release     = eth_igb_rx_queue_release,
-	.rx_queue_count       = eth_igb_rx_queue_count,
-	.rx_descriptor_done   = eth_igb_rx_descriptor_done,
-	.rx_descriptor_status = eth_igb_rx_descriptor_status,
-	.tx_descriptor_status = eth_igb_tx_descriptor_status,
 	.tx_queue_setup       = eth_igb_tx_queue_setup,
 	.tx_queue_release     = eth_igb_tx_queue_release,
 	.tx_done_cleanup      = eth_igb_tx_done_cleanup,
@@ -441,9 +437,6 @@ static const struct eth_dev_ops igbvf_eth_dev_ops = {
 	.dev_supported_ptypes_get = eth_igb_supported_ptypes_get,
 	.rx_queue_setup       = eth_igb_rx_queue_setup,
 	.rx_queue_release     = eth_igb_rx_queue_release,
-	.rx_descriptor_done   = eth_igb_rx_descriptor_done,
-	.rx_descriptor_status = eth_igb_rx_descriptor_status,
-	.tx_descriptor_status = eth_igb_tx_descriptor_status,
 	.tx_queue_setup       = eth_igb_tx_queue_setup,
 	.tx_queue_release     = eth_igb_tx_queue_release,
 	.tx_done_cleanup      = eth_igb_tx_done_cleanup,
@@ -754,6 +747,10 @@ eth_igb_dev_init(struct rte_eth_dev *eth_dev)
 	uint32_t ctrl_ext;
 
 	eth_dev->dev_ops = &eth_igb_ops;
+	eth_dev->rx_queue_count = eth_igb_rx_queue_count;
+	eth_dev->rx_descriptor_done   = eth_igb_rx_descriptor_done;
+	eth_dev->rx_descriptor_status = eth_igb_rx_descriptor_status;
+	eth_dev->tx_descriptor_status = eth_igb_tx_descriptor_status;
 	eth_dev->rx_pkt_burst = &eth_igb_recv_pkts;
 	eth_dev->tx_pkt_burst = &eth_igb_xmit_pkts;
 	eth_dev->tx_pkt_prepare = &eth_igb_prep_pkts;
@@ -949,6 +946,9 @@ eth_igbvf_dev_init(struct rte_eth_dev *eth_dev)
 	PMD_INIT_FUNC_TRACE();
 
 	eth_dev->dev_ops = &igbvf_eth_dev_ops;
+	eth_dev->rx_descriptor_done   = eth_igb_rx_descriptor_done;
+	eth_dev->rx_descriptor_status = eth_igb_rx_descriptor_status;
+	eth_dev->tx_descriptor_status = eth_igb_tx_descriptor_status;
 	eth_dev->rx_pkt_burst = &eth_igb_recv_pkts;
 	eth_dev->tx_pkt_burst = &eth_igb_xmit_pkts;
 	eth_dev->tx_pkt_prepare = &eth_igb_prep_pkts;
diff --git a/drivers/net/enic/enic_ethdev.c b/drivers/net/enic/enic_ethdev.c
index ca75919ee2..2cffa3aa2d 100644
--- a/drivers/net/enic/enic_ethdev.c
+++ b/drivers/net/enic/enic_ethdev.c
@@ -1141,8 +1141,6 @@ static const struct eth_dev_ops enicpmd_eth_dev_ops = {
 	.tx_queue_stop        = enicpmd_dev_tx_queue_stop,
 	.rx_queue_setup       = enicpmd_dev_rx_queue_setup,
 	.rx_queue_release     = enicpmd_dev_rx_queue_release,
-	.rx_queue_count       = enicpmd_dev_rx_queue_count,
-	.rx_descriptor_done   = NULL,
 	.tx_queue_setup       = enicpmd_dev_tx_queue_setup,
 	.tx_queue_release     = enicpmd_dev_tx_queue_release,
 	.rx_queue_intr_enable = enicpmd_dev_rx_queue_intr_enable,
@@ -1279,6 +1277,7 @@ static int eth_enicpmd_dev_init(struct rte_eth_dev *eth_dev)
 	ENICPMD_FUNC_TRACE();
 
 	eth_dev->dev_ops = &enicpmd_eth_dev_ops;
+	eth_dev->rx_queue_count = enicpmd_dev_rx_queue_count;
 	eth_dev->rx_pkt_burst = &enic_recv_pkts;
 	eth_dev->tx_pkt_burst = &enic_xmit_pkts;
 	eth_dev->tx_pkt_prepare = &enic_prep_pkts;
diff --git a/drivers/net/fm10k/fm10k_ethdev.c b/drivers/net/fm10k/fm10k_ethdev.c
index fd927923da..e6043e1455 100644
--- a/drivers/net/fm10k/fm10k_ethdev.c
+++ b/drivers/net/fm10k/fm10k_ethdev.c
@@ -2855,10 +2855,6 @@ static const struct eth_dev_ops fm10k_eth_dev_ops = {
 	.rx_queue_release	= fm10k_rx_queue_release,
 	.tx_queue_setup		= fm10k_tx_queue_setup,
 	.tx_queue_release	= fm10k_tx_queue_release,
-	.rx_queue_count		= fm10k_dev_rx_queue_count,
-	.rx_descriptor_done	= fm10k_dev_rx_descriptor_done,
-	.rx_descriptor_status = fm10k_dev_rx_descriptor_status,
-	.tx_descriptor_status = fm10k_dev_tx_descriptor_status,
 	.rx_queue_intr_enable	= fm10k_dev_rx_queue_intr_enable,
 	.rx_queue_intr_disable	= fm10k_dev_rx_queue_intr_disable,
 	.reta_update		= fm10k_reta_update,
@@ -3055,6 +3051,10 @@ eth_fm10k_dev_init(struct rte_eth_dev *dev)
 	PMD_INIT_FUNC_TRACE();
 
 	dev->dev_ops = &fm10k_eth_dev_ops;
+	dev->rx_queue_count = fm10k_dev_rx_queue_count;
+	dev->rx_descriptor_done	= fm10k_dev_rx_descriptor_done;
+	dev->rx_descriptor_status = fm10k_dev_rx_descriptor_status;
+	dev->tx_descriptor_status = fm10k_dev_tx_descriptor_status;
 	dev->rx_pkt_burst = &fm10k_recv_pkts;
 	dev->tx_pkt_burst = &fm10k_xmit_pkts;
 	dev->tx_pkt_prepare = &fm10k_prep_pkts;
diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index 841447228a..80efd06cd9 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -474,10 +474,6 @@ static const struct eth_dev_ops i40e_eth_dev_ops = {
 	.rx_queue_intr_enable         = i40e_dev_rx_queue_intr_enable,
 	.rx_queue_intr_disable        = i40e_dev_rx_queue_intr_disable,
 	.rx_queue_release             = i40e_dev_rx_queue_release,
-	.rx_queue_count               = i40e_dev_rx_queue_count,
-	.rx_descriptor_done           = i40e_dev_rx_descriptor_done,
-	.rx_descriptor_status         = i40e_dev_rx_descriptor_status,
-	.tx_descriptor_status         = i40e_dev_tx_descriptor_status,
 	.tx_queue_setup               = i40e_dev_tx_queue_setup,
 	.tx_queue_release             = i40e_dev_tx_queue_release,
 	.dev_led_on                   = i40e_dev_led_on,
@@ -1448,6 +1444,10 @@ eth_i40e_dev_init(struct rte_eth_dev *dev, void *init_params __rte_unused)
 	PMD_INIT_FUNC_TRACE();
 
 	dev->dev_ops = &i40e_eth_dev_ops;
+	dev->rx_queue_count = i40e_dev_rx_queue_count;
+	dev->rx_descriptor_done = i40e_dev_rx_descriptor_done;
+	dev->rx_descriptor_status = i40e_dev_rx_descriptor_status;
+	dev->tx_descriptor_status = i40e_dev_tx_descriptor_status;
 	dev->rx_pkt_burst = i40e_recv_pkts;
 	dev->tx_pkt_burst = i40e_xmit_pkts;
 	dev->tx_pkt_prepare = i40e_prep_pkts;
diff --git a/drivers/net/i40e/i40e_ethdev_vf.c b/drivers/net/i40e/i40e_ethdev_vf.c
index b755350cd2..be4b28fa45 100644
--- a/drivers/net/i40e/i40e_ethdev_vf.c
+++ b/drivers/net/i40e/i40e_ethdev_vf.c
@@ -199,12 +199,8 @@ static const struct eth_dev_ops i40evf_eth_dev_ops = {
 	.rx_queue_release     = i40e_dev_rx_queue_release,
 	.rx_queue_intr_enable = i40evf_dev_rx_queue_intr_enable,
 	.rx_queue_intr_disable = i40evf_dev_rx_queue_intr_disable,
-	.rx_descriptor_done   = i40e_dev_rx_descriptor_done,
-	.rx_descriptor_status = i40e_dev_rx_descriptor_status,
-	.tx_descriptor_status = i40e_dev_tx_descriptor_status,
 	.tx_queue_setup       = i40e_dev_tx_queue_setup,
 	.tx_queue_release     = i40e_dev_tx_queue_release,
-	.rx_queue_count       = i40e_dev_rx_queue_count,
 	.rxq_info_get         = i40e_rxq_info_get,
 	.txq_info_get         = i40e_txq_info_get,
 	.mac_addr_add	      = i40evf_add_mac_addr,
@@ -1561,6 +1557,10 @@ i40evf_dev_init(struct rte_eth_dev *eth_dev)
 
 	/* assign ops func pointer */
 	eth_dev->dev_ops = &i40evf_eth_dev_ops;
+	eth_dev->rx_queue_count       = i40e_dev_rx_queue_count;
+	eth_dev->rx_descriptor_done   = i40e_dev_rx_descriptor_done;
+	eth_dev->rx_descriptor_status = i40e_dev_rx_descriptor_status;
+	eth_dev->tx_descriptor_status = i40e_dev_tx_descriptor_status;
 	eth_dev->rx_pkt_burst = &i40e_recv_pkts;
 	eth_dev->tx_pkt_burst = &i40e_xmit_pkts;
 
diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c
index 8e1d8a8d3e..e1ff38e8be 100644
--- a/drivers/net/iavf/iavf_ethdev.c
+++ b/drivers/net/iavf/iavf_ethdev.c
@@ -117,9 +117,6 @@ static const struct eth_dev_ops iavf_eth_dev_ops = {
 	.rss_hash_conf_get          = iavf_dev_rss_hash_conf_get,
 	.rxq_info_get               = iavf_dev_rxq_info_get,
 	.txq_info_get               = iavf_dev_txq_info_get,
-	.rx_queue_count             = iavf_dev_rxq_count,
-	.rx_descriptor_status       = iavf_dev_rx_desc_status,
-	.tx_descriptor_status       = iavf_dev_tx_desc_status,
 	.mtu_set                    = iavf_dev_mtu_set,
 	.rx_queue_intr_enable       = iavf_dev_rx_queue_intr_enable,
 	.rx_queue_intr_disable      = iavf_dev_rx_queue_intr_disable,
@@ -1383,6 +1380,9 @@ iavf_dev_init(struct rte_eth_dev *eth_dev)
 
 	/* assign ops func pointer */
 	eth_dev->dev_ops = &iavf_eth_dev_ops;
+	eth_dev->rx_queue_count = iavf_dev_rxq_count;
+	eth_dev->rx_descriptor_status = iavf_dev_rx_desc_status;
+	eth_dev->tx_descriptor_status = iavf_dev_tx_desc_status;
 	eth_dev->rx_pkt_burst = &iavf_recv_pkts;
 	eth_dev->tx_pkt_burst = &iavf_xmit_pkts;
 	eth_dev->tx_pkt_prepare = &iavf_prep_pkts;
diff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c
index c5dac2e328..c8b16c7f87 100644
--- a/drivers/net/ice/ice_ethdev.c
+++ b/drivers/net/ice/ice_ethdev.c
@@ -205,9 +205,6 @@ static const struct eth_dev_ops ice_eth_dev_ops = {
 	.tx_burst_mode_get            = ice_tx_burst_mode_get,
 	.get_eeprom_length            = ice_get_eeprom_length,
 	.get_eeprom                   = ice_get_eeprom,
-	.rx_queue_count               = ice_rx_queue_count,
-	.rx_descriptor_status         = ice_rx_descriptor_status,
-	.tx_descriptor_status         = ice_tx_descriptor_status,
 	.stats_get                    = ice_stats_get,
 	.stats_reset                  = ice_stats_reset,
 	.xstats_get                   = ice_xstats_get,
@@ -2163,6 +2160,9 @@ ice_dev_init(struct rte_eth_dev *dev)
 	int ret;
 
 	dev->dev_ops = &ice_eth_dev_ops;
+	dev->rx_queue_count = ice_rx_queue_count;
+	dev->rx_descriptor_status = ice_rx_descriptor_status;
+	dev->tx_descriptor_status = ice_tx_descriptor_status;
 	dev->rx_pkt_burst = ice_recv_pkts;
 	dev->tx_pkt_burst = ice_xmit_pkts;
 	dev->tx_pkt_prepare = ice_prep_pkts;
diff --git a/drivers/net/igc/igc_ethdev.c b/drivers/net/igc/igc_ethdev.c
index 6ab3ee909d..aa37c11861 100644
--- a/drivers/net/igc/igc_ethdev.c
+++ b/drivers/net/igc/igc_ethdev.c
@@ -272,10 +272,6 @@ static const struct eth_dev_ops eth_igc_ops = {
 
 	.rx_queue_setup		= eth_igc_rx_queue_setup,
 	.rx_queue_release	= eth_igc_rx_queue_release,
-	.rx_queue_count		= eth_igc_rx_queue_count,
-	.rx_descriptor_done	= eth_igc_rx_descriptor_done,
-	.rx_descriptor_status	= eth_igc_rx_descriptor_status,
-	.tx_descriptor_status	= eth_igc_tx_descriptor_status,
 	.tx_queue_setup		= eth_igc_tx_queue_setup,
 	.tx_queue_release	= eth_igc_tx_queue_release,
 	.tx_done_cleanup	= eth_igc_tx_done_cleanup,
@@ -1227,6 +1223,10 @@ eth_igc_dev_init(struct rte_eth_dev *dev)
 
 	PMD_INIT_FUNC_TRACE();
 	dev->dev_ops = &eth_igc_ops;
+	dev->rx_descriptor_done	= eth_igc_rx_descriptor_done;
+	dev->rx_queue_count = eth_igc_rx_queue_count;
+	dev->rx_descriptor_status = eth_igc_rx_descriptor_status;
+	dev->tx_descriptor_status = eth_igc_tx_descriptor_status;
 
 	/*
 	 * for secondary processes, we don't initialize any further as primary
diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index d9582473a4..337ce90fbf 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -545,10 +545,6 @@ static const struct eth_dev_ops ixgbe_eth_dev_ops = {
 	.rx_queue_intr_enable = ixgbe_dev_rx_queue_intr_enable,
 	.rx_queue_intr_disable = ixgbe_dev_rx_queue_intr_disable,
 	.rx_queue_release     = ixgbe_dev_rx_queue_release,
-	.rx_queue_count       = ixgbe_dev_rx_queue_count,
-	.rx_descriptor_done   = ixgbe_dev_rx_descriptor_done,
-	.rx_descriptor_status = ixgbe_dev_rx_descriptor_status,
-	.tx_descriptor_status = ixgbe_dev_tx_descriptor_status,
 	.tx_queue_setup       = ixgbe_dev_tx_queue_setup,
 	.tx_queue_release     = ixgbe_dev_tx_queue_release,
 	.dev_led_on           = ixgbe_dev_led_on,
@@ -622,9 +618,6 @@ static const struct eth_dev_ops ixgbevf_eth_dev_ops = {
 	.vlan_offload_set     = ixgbevf_vlan_offload_set,
 	.rx_queue_setup       = ixgbe_dev_rx_queue_setup,
 	.rx_queue_release     = ixgbe_dev_rx_queue_release,
-	.rx_descriptor_done   = ixgbe_dev_rx_descriptor_done,
-	.rx_descriptor_status = ixgbe_dev_rx_descriptor_status,
-	.tx_descriptor_status = ixgbe_dev_tx_descriptor_status,
 	.tx_queue_setup       = ixgbe_dev_tx_queue_setup,
 	.tx_queue_release     = ixgbe_dev_tx_queue_release,
 	.rx_queue_intr_enable = ixgbevf_dev_rx_queue_intr_enable,
@@ -1091,6 +1084,10 @@ eth_ixgbe_dev_init(struct rte_eth_dev *eth_dev, void *init_params __rte_unused)
 	ixgbe_dev_macsec_setting_reset(eth_dev);
 
 	eth_dev->dev_ops = &ixgbe_eth_dev_ops;
+	eth_dev->rx_queue_count       = ixgbe_dev_rx_queue_count;
+	eth_dev->rx_descriptor_done   = ixgbe_dev_rx_descriptor_done;
+	eth_dev->rx_descriptor_status = ixgbe_dev_rx_descriptor_status;
+	eth_dev->tx_descriptor_status = ixgbe_dev_tx_descriptor_status;
 	eth_dev->rx_pkt_burst = &ixgbe_recv_pkts;
 	eth_dev->tx_pkt_burst = &ixgbe_xmit_pkts;
 	eth_dev->tx_pkt_prepare = &ixgbe_prep_pkts;
@@ -1570,6 +1567,9 @@ eth_ixgbevf_dev_init(struct rte_eth_dev *eth_dev)
 	PMD_INIT_FUNC_TRACE();
 
 	eth_dev->dev_ops = &ixgbevf_eth_dev_ops;
+	eth_dev->rx_descriptor_done   = ixgbe_dev_rx_descriptor_done;
+	eth_dev->rx_descriptor_status = ixgbe_dev_rx_descriptor_status;
+	eth_dev->tx_descriptor_status = ixgbe_dev_tx_descriptor_status;
 	eth_dev->rx_pkt_burst = &ixgbe_recv_pkts;
 	eth_dev->tx_pkt_burst = &ixgbe_xmit_pkts;
 
diff --git a/drivers/net/mlx5/linux/mlx5_os.c b/drivers/net/mlx5/linux/mlx5_os.c
index bf1f82ba67..ec3cc4000e 100644
--- a/drivers/net/mlx5/linux/mlx5_os.c
+++ b/drivers/net/mlx5/linux/mlx5_os.c
@@ -601,6 +601,8 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev,
 		}
 		eth_dev->device = dpdk_dev;
 		eth_dev->dev_ops = &mlx5_os_dev_sec_ops;
+		eth_dev->rx_descriptor_status = mlx5_rx_descriptor_status;
+		eth_dev->tx_descriptor_status = mlx5_tx_descriptor_status;
 		err = mlx5_proc_priv_init(eth_dev);
 		if (err)
 			return NULL;
@@ -1208,6 +1210,9 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev,
 	eth_dev->rx_pkt_burst = removed_rx_burst;
 	eth_dev->tx_pkt_burst = removed_tx_burst;
 	eth_dev->dev_ops = &mlx5_os_dev_ops;
+	eth_dev->rx_descriptor_status = mlx5_rx_descriptor_status;
+	eth_dev->tx_descriptor_status = mlx5_tx_descriptor_status;
+	eth_dev->rx_queue_count = mlx5_rx_queue_count;
 	/* Register MAC address. */
 	claim_zero(mlx5_mac_addr_add(eth_dev, &mac, 0, 0));
 	if (config->vf && config->vf_nl_en)
@@ -2396,13 +2401,10 @@ const struct eth_dev_ops mlx5_os_dev_ops = {
 	.rss_hash_update = mlx5_rss_hash_update,
 	.rss_hash_conf_get = mlx5_rss_hash_conf_get,
 	.filter_ctrl = mlx5_dev_filter_ctrl,
-	.rx_descriptor_status = mlx5_rx_descriptor_status,
-	.tx_descriptor_status = mlx5_tx_descriptor_status,
 	.rxq_info_get = mlx5_rxq_info_get,
 	.txq_info_get = mlx5_txq_info_get,
 	.rx_burst_mode_get = mlx5_rx_burst_mode_get,
 	.tx_burst_mode_get = mlx5_tx_burst_mode_get,
-	.rx_queue_count = mlx5_rx_queue_count,
 	.rx_queue_intr_enable = mlx5_rx_intr_enable,
 	.rx_queue_intr_disable = mlx5_rx_intr_disable,
 	.is_removed = mlx5_is_removed,
@@ -2427,8 +2429,6 @@ const struct eth_dev_ops mlx5_os_dev_sec_ops = {
 	.rx_queue_stop = mlx5_rx_queue_stop,
 	.tx_queue_start = mlx5_tx_queue_start,
 	.tx_queue_stop = mlx5_tx_queue_stop,
-	.rx_descriptor_status = mlx5_rx_descriptor_status,
-	.tx_descriptor_status = mlx5_tx_descriptor_status,
 	.rxq_info_get = mlx5_rxq_info_get,
 	.txq_info_get = mlx5_txq_info_get,
 	.rx_burst_mode_get = mlx5_rx_burst_mode_get,
@@ -2480,8 +2480,6 @@ const struct eth_dev_ops mlx5_os_dev_ops_isolate = {
 	.vlan_strip_queue_set = mlx5_vlan_strip_queue_set,
 	.vlan_offload_set = mlx5_vlan_offload_set,
 	.filter_ctrl = mlx5_dev_filter_ctrl,
-	.rx_descriptor_status = mlx5_rx_descriptor_status,
-	.tx_descriptor_status = mlx5_tx_descriptor_status,
 	.rxq_info_get = mlx5_rxq_info_get,
 	.txq_info_get = mlx5_txq_info_get,
 	.rx_burst_mode_get = mlx5_rx_burst_mode_get,
diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
index 4c29898203..eb55bd7f99 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -5138,6 +5138,10 @@ mlx5_flow_isolate(struct rte_eth_dev *dev,
 		dev->dev_ops = &mlx5_os_dev_ops_isolate;
 	else
 		dev->dev_ops = &mlx5_os_dev_ops;
+
+	dev->rx_descriptor_status = mlx5_rx_descriptor_status;
+	dev->tx_descriptor_status = mlx5_tx_descriptor_status;
+
 	return 0;
 }
 
diff --git a/drivers/net/netvsc/hn_ethdev.c b/drivers/net/netvsc/hn_ethdev.c
index fd91c0e491..229c1b9149 100644
--- a/drivers/net/netvsc/hn_ethdev.c
+++ b/drivers/net/netvsc/hn_ethdev.c
@@ -871,11 +871,8 @@ static const struct eth_dev_ops hn_eth_dev_ops = {
 	.tx_queue_setup		= hn_dev_tx_queue_setup,
 	.tx_queue_release	= hn_dev_tx_queue_release,
 	.tx_done_cleanup        = hn_dev_tx_done_cleanup,
-	.tx_descriptor_status	= hn_dev_tx_descriptor_status,
 	.rx_queue_setup		= hn_dev_rx_queue_setup,
 	.rx_queue_release	= hn_dev_rx_queue_release,
-	.rx_queue_count		= hn_dev_rx_queue_count,
-	.rx_descriptor_status   = hn_dev_rx_queue_status,
 	.link_update		= hn_dev_link_update,
 	.stats_get		= hn_dev_stats_get,
 	.stats_reset            = hn_dev_stats_reset,
@@ -936,6 +933,9 @@ eth_hn_dev_init(struct rte_eth_dev *eth_dev)
 
 	vmbus = container_of(device, struct rte_vmbus_device, device);
 	eth_dev->dev_ops = &hn_eth_dev_ops;
+	eth_dev->rx_queue_count = hn_dev_rx_queue_count;
+	eth_dev->rx_descriptor_status = hn_dev_rx_queue_status;
+	eth_dev->tx_descriptor_status = hn_dev_tx_descriptor_status;
 	eth_dev->tx_pkt_burst = &hn_xmit_pkts;
 	eth_dev->rx_pkt_burst = &hn_recv_pkts;
 
diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c
index 99946279db..c556dedab6 100644
--- a/drivers/net/nfp/nfp_net.c
+++ b/drivers/net/nfp/nfp_net.c
@@ -2701,7 +2701,6 @@ static const struct eth_dev_ops nfp_net_eth_dev_ops = {
 	.rss_hash_conf_get	= nfp_net_rss_hash_conf_get,
 	.rx_queue_setup		= nfp_net_rx_queue_setup,
 	.rx_queue_release	= nfp_net_rx_queue_release,
-	.rx_queue_count		= nfp_net_rx_queue_count,
 	.tx_queue_setup		= nfp_net_tx_queue_setup,
 	.tx_queue_release	= nfp_net_tx_queue_release,
 	.rx_queue_intr_enable   = nfp_rx_queue_intr_enable,
@@ -2785,6 +2784,7 @@ nfp_net_init(struct rte_eth_dev *eth_dev)
 	}
 
 	eth_dev->dev_ops = &nfp_net_eth_dev_ops;
+	eth_dev->rx_queue_count = nfp_net_rx_queue_count;
 	eth_dev->rx_pkt_burst = &nfp_net_recv_pkts;
 	eth_dev->tx_pkt_burst = &nfp_net_xmit_pkts;
 
diff --git a/drivers/net/octeontx2/otx2_ethdev.c b/drivers/net/octeontx2/otx2_ethdev.c
index 33b72bd4db..c06e32f26b 100644
--- a/drivers/net/octeontx2/otx2_ethdev.c
+++ b/drivers/net/octeontx2/otx2_ethdev.c
@@ -2272,10 +2272,6 @@ static const struct eth_dev_ops otx2_eth_dev_ops = {
 	.txq_info_get             = otx2_nix_txq_info_get,
 	.rx_burst_mode_get        = otx2_rx_burst_mode_get,
 	.tx_burst_mode_get        = otx2_tx_burst_mode_get,
-	.rx_queue_count           = otx2_nix_rx_queue_count,
-	.rx_descriptor_done       = otx2_nix_rx_descriptor_done,
-	.rx_descriptor_status     = otx2_nix_rx_descriptor_status,
-	.tx_descriptor_status     = otx2_nix_tx_descriptor_status,
 	.tx_done_cleanup          = otx2_nix_tx_done_cleanup,
 	.set_queue_rate_limit     = otx2_nix_tm_set_queue_rate_limit,
 	.pool_ops_supported       = otx2_nix_pool_ops_supported,
@@ -2382,6 +2378,10 @@ otx2_eth_dev_init(struct rte_eth_dev *eth_dev)
 	int rc, max_entries;
 
 	eth_dev->dev_ops = &otx2_eth_dev_ops;
+	eth_dev->rx_descriptor_done = otx2_nix_rx_descriptor_done;
+	eth_dev->rx_queue_count = otx2_nix_rx_queue_count;
+	eth_dev->rx_descriptor_status = otx2_nix_rx_descriptor_status;
+	eth_dev->tx_descriptor_status = otx2_nix_tx_descriptor_status;
 
 	/* For secondary processes, the primary has done all the work */
 	if (rte_eal_process_type() != RTE_PROC_PRIMARY) {
diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c
index 70d48e48ef..59f1746ee9 100644
--- a/drivers/net/qede/qede_ethdev.c
+++ b/drivers/net/qede/qede_ethdev.c
@@ -2386,7 +2386,6 @@ static const struct eth_dev_ops qede_eth_dev_ops = {
 	.dev_infos_get = qede_dev_info_get,
 	.rx_queue_setup = qede_rx_queue_setup,
 	.rx_queue_release = qede_rx_queue_release,
-	.rx_descriptor_status = qede_rx_descriptor_status,
 	.tx_queue_setup = qede_tx_queue_setup,
 	.tx_queue_release = qede_tx_queue_release,
 	.dev_start = qede_dev_start,
@@ -2431,7 +2430,6 @@ static const struct eth_dev_ops qede_eth_vf_dev_ops = {
 	.dev_infos_get = qede_dev_info_get,
 	.rx_queue_setup = qede_rx_queue_setup,
 	.rx_queue_release = qede_rx_queue_release,
-	.rx_descriptor_status = qede_rx_descriptor_status,
 	.tx_queue_setup = qede_tx_queue_setup,
 	.tx_queue_release = qede_tx_queue_release,
 	.dev_start = qede_dev_start,
@@ -2670,6 +2668,7 @@ static int qede_common_dev_init(struct rte_eth_dev *eth_dev, bool is_vf)
 	}
 
 	eth_dev->dev_ops = (is_vf) ? &qede_eth_vf_dev_ops : &qede_eth_dev_ops;
+	eth_dev->rx_descriptor_status = qede_rx_descriptor_status;
 
 	adapter->num_tx_queues = 0;
 	adapter->num_rx_queues = 0;
diff --git a/drivers/net/sfc/sfc_ethdev.c b/drivers/net/sfc/sfc_ethdev.c
index acee3e48e4..1a58e0df84 100644
--- a/drivers/net/sfc/sfc_ethdev.c
+++ b/drivers/net/sfc/sfc_ethdev.c
@@ -1819,10 +1819,6 @@ static const struct eth_dev_ops sfc_eth_dev_ops = {
 	.tx_queue_stop			= sfc_tx_queue_stop,
 	.rx_queue_setup			= sfc_rx_queue_setup,
 	.rx_queue_release		= sfc_rx_queue_release,
-	.rx_queue_count			= sfc_rx_queue_count,
-	.rx_descriptor_done		= sfc_rx_descriptor_done,
-	.rx_descriptor_status		= sfc_rx_descriptor_status,
-	.tx_descriptor_status		= sfc_tx_descriptor_status,
 	.rx_queue_intr_enable		= sfc_rx_queue_intr_enable,
 	.rx_queue_intr_disable		= sfc_rx_queue_intr_disable,
 	.tx_queue_setup			= sfc_tx_queue_setup,
@@ -1977,6 +1973,10 @@ sfc_eth_dev_set_ops(struct rte_eth_dev *dev)
 	dev->tx_pkt_prepare = dp_tx->pkt_prepare;
 	dev->tx_pkt_burst = dp_tx->pkt_burst;
 
+	dev->rx_queue_count = sfc_rx_queue_count;
+	dev->rx_descriptor_done = sfc_rx_descriptor_done;
+	dev->rx_descriptor_status = sfc_rx_descriptor_status;
+	dev->tx_descriptor_status = sfc_tx_descriptor_status;
 	dev->dev_ops = &sfc_eth_dev_ops;
 
 	return 0;
@@ -2017,10 +2017,6 @@ sfc_eth_dev_clear_ops(struct rte_eth_dev *dev)
 
 static const struct eth_dev_ops sfc_eth_dev_secondary_ops = {
 	.dev_supported_ptypes_get	= sfc_dev_supported_ptypes_get,
-	.rx_queue_count			= sfc_rx_queue_count,
-	.rx_descriptor_done		= sfc_rx_descriptor_done,
-	.rx_descriptor_status		= sfc_rx_descriptor_status,
-	.tx_descriptor_status		= sfc_tx_descriptor_status,
 	.reta_query			= sfc_dev_rss_reta_query,
 	.rss_hash_conf_get		= sfc_dev_rss_hash_conf_get,
 	.rxq_info_get			= sfc_rx_queue_info_get,
@@ -2085,6 +2081,10 @@ sfc_eth_dev_secondary_init(struct rte_eth_dev *dev, uint32_t logtype_main)
 	dev->rx_pkt_burst = dp_rx->pkt_burst;
 	dev->tx_pkt_prepare = dp_tx->pkt_prepare;
 	dev->tx_pkt_burst = dp_tx->pkt_burst;
+	dev->rx_queue_count = sfc_rx_queue_count;
+	dev->rx_descriptor_done = sfc_rx_descriptor_done;
+	dev->rx_descriptor_status = sfc_rx_descriptor_status;
+	dev->tx_descriptor_status = sfc_tx_descriptor_status;
 	dev->dev_ops = &sfc_eth_dev_secondary_ops;
 
 	return 0;
diff --git a/drivers/net/thunderx/nicvf_ethdev.c b/drivers/net/thunderx/nicvf_ethdev.c
index d955a7ee23..959c8e4ddc 100644
--- a/drivers/net/thunderx/nicvf_ethdev.c
+++ b/drivers/net/thunderx/nicvf_ethdev.c
@@ -2029,7 +2029,6 @@ static const struct eth_dev_ops nicvf_eth_dev_ops = {
 	.tx_queue_stop            = nicvf_dev_tx_queue_stop,
 	.rx_queue_setup           = nicvf_dev_rx_queue_setup,
 	.rx_queue_release         = nicvf_dev_rx_queue_release,
-	.rx_queue_count           = nicvf_dev_rx_queue_count,
 	.tx_queue_setup           = nicvf_dev_tx_queue_setup,
 	.tx_queue_release         = nicvf_dev_tx_queue_release,
 	.dev_set_link_up          = nicvf_dev_set_link_up,
@@ -2134,6 +2133,7 @@ nicvf_eth_dev_init(struct rte_eth_dev *eth_dev)
 	PMD_INIT_FUNC_TRACE();
 
 	eth_dev->dev_ops = &nicvf_eth_dev_ops;
+	eth_dev->rx_queue_count = nicvf_dev_rx_queue_count;
 
 	/* For secondary processes, the primary has done all the work */
 	if (rte_eal_process_type() != RTE_PROC_PRIMARY) {
diff --git a/drivers/net/vhost/rte_eth_vhost.c b/drivers/net/vhost/rte_eth_vhost.c
index e55278af69..fa365605ef 100644
--- a/drivers/net/vhost/rte_eth_vhost.c
+++ b/drivers/net/vhost/rte_eth_vhost.c
@@ -1385,7 +1385,6 @@ static const struct eth_dev_ops ops = {
 	.rx_queue_release = eth_queue_release,
 	.tx_queue_release = eth_queue_release,
 	.tx_done_cleanup = eth_tx_done_cleanup,
-	.rx_queue_count = eth_rx_queue_count,
 	.link_update = eth_link_update,
 	.stats_get = eth_stats_get,
 	.stats_reset = eth_stats_reset,
@@ -1447,6 +1446,7 @@ eth_dev_vhost_create(struct rte_vdev_device *dev, char *iface_name,
 	data->all_multicast = 1;
 
 	eth_dev->dev_ops = &ops;
+	eth_dev->rx_queue_count = eth_rx_queue_count;
 
 	/* finally assign rx and tx ops */
 	eth_dev->rx_pkt_burst = eth_vhost_rx;
diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
index dc0093bdf0..4f2fa0d943 100644
--- a/drivers/net/virtio/virtio_ethdev.c
+++ b/drivers/net/virtio/virtio_ethdev.c
@@ -920,7 +920,6 @@ static const struct eth_dev_ops virtio_eth_dev_ops = {
 	.rx_queue_intr_enable    = virtio_dev_rx_queue_intr_enable,
 	.rx_queue_intr_disable   = virtio_dev_rx_queue_intr_disable,
 	.rx_queue_release        = virtio_dev_queue_release,
-	.rx_descriptor_done      = virtio_dev_rx_queue_done,
 	.tx_queue_setup          = virtio_dev_tx_queue_setup,
 	.tx_queue_release        = virtio_dev_queue_release,
 	/* collect stats per queue */
@@ -1903,6 +1902,7 @@ eth_virtio_dev_init(struct rte_eth_dev *eth_dev)
 	}
 
 	eth_dev->dev_ops = &virtio_eth_dev_ops;
+	eth_dev->rx_descriptor_done = virtio_dev_rx_queue_done;
 
 	if (rte_eal_process_type() == RTE_PROC_SECONDARY) {
 		if (!hw->virtio_user_dev) {
diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
index eb6cd01f8d..b6f26a513b 100644
--- a/lib/librte_ethdev/rte_ethdev.h
+++ b/lib/librte_ethdev/rte_ethdev.h
@@ -4545,11 +4545,11 @@ rte_eth_rx_queue_count(uint16_t port_id, uint16_t queue_id)
 
 	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -EINVAL);
 	dev = &rte_eth_devices[port_id];
-	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->rx_queue_count, -ENOTSUP);
+	RTE_FUNC_PTR_OR_ERR_RET(*dev->rx_queue_count, -ENOTSUP);
 	if (queue_id >= dev->data->nb_rx_queues)
 		return -EINVAL;
 
-	return (int)(*dev->dev_ops->rx_queue_count)(dev, queue_id);
+	return (int)(*dev->rx_queue_count)(dev, queue_id);
 }
 
 /**
@@ -4573,9 +4573,8 @@ rte_eth_rx_descriptor_done(uint16_t port_id, uint16_t queue_id, uint16_t offset)
 {
 	struct rte_eth_dev *dev = &rte_eth_devices[port_id];
 	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
-	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->rx_descriptor_done, -ENOTSUP);
-	return (*dev->dev_ops->rx_descriptor_done)( \
-		dev->data->rx_queues[queue_id], offset);
+	RTE_FUNC_PTR_OR_ERR_RET(*dev->rx_descriptor_done, -ENOTSUP);
+	return (*dev->rx_descriptor_done)(dev->data->rx_queues[queue_id], offset);
 }
 
 #define RTE_ETH_RX_DESC_AVAIL    0 /**< Desc available for hw. */
@@ -4630,10 +4629,10 @@ rte_eth_rx_descriptor_status(uint16_t port_id, uint16_t queue_id,
 	if (queue_id >= dev->data->nb_rx_queues)
 		return -ENODEV;
 #endif
-	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->rx_descriptor_status, -ENOTSUP);
+	RTE_FUNC_PTR_OR_ERR_RET(*dev->rx_descriptor_status, -ENOTSUP);
 	rxq = dev->data->rx_queues[queue_id];
 
-	return (*dev->dev_ops->rx_descriptor_status)(rxq, offset);
+	return (*dev->rx_descriptor_status)(rxq, offset);
 }
 
 #define RTE_ETH_TX_DESC_FULL    0 /**< Desc filled for hw, waiting xmit. */
@@ -4687,10 +4686,10 @@ static inline int rte_eth_tx_descriptor_status(uint16_t port_id,
 	if (queue_id >= dev->data->nb_tx_queues)
 		return -ENODEV;
 #endif
-	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->tx_descriptor_status, -ENOTSUP);
+	RTE_FUNC_PTR_OR_ERR_RET(*dev->tx_descriptor_status, -ENOTSUP);
 	txq = dev->data->tx_queues[queue_id];
 
-	return (*dev->dev_ops->tx_descriptor_status)(txq, offset);
+	return (*dev->tx_descriptor_status)(txq, offset);
 }
 
 /**
diff --git a/lib/librte_ethdev/rte_ethdev_core.h b/lib/librte_ethdev/rte_ethdev_core.h
index 32407dd418..8ed827475f 100644
--- a/lib/librte_ethdev/rte_ethdev_core.h
+++ b/lib/librte_ethdev/rte_ethdev_core.h
@@ -660,13 +660,6 @@ struct eth_dev_ops {
 	eth_queue_stop_t           tx_queue_stop; /**< Stop TX for a queue. */
 	eth_rx_queue_setup_t       rx_queue_setup;/**< Set up device RX queue. */
 	eth_queue_release_t        rx_queue_release; /**< Release RX queue. */
-	eth_rx_queue_count_t       rx_queue_count;
-	/**< Get the number of used RX descriptors. */
-	eth_rx_descriptor_done_t   rx_descriptor_done; /**< Check rxd DD bit. */
-	eth_rx_descriptor_status_t rx_descriptor_status;
-	/**< Check the status of a Rx descriptor. */
-	eth_tx_descriptor_status_t tx_descriptor_status;
-	/**< Check the status of a Tx descriptor. */
 	/*
 	 * Static inline functions use functions ABOVE this comment.
 	 * New dev_ops functions should be added BELOW to avoid breaking ABI.
@@ -782,6 +775,12 @@ struct rte_eth_dev {
 	eth_rx_burst_t rx_pkt_burst; /**< Pointer to PMD receive function. */
 	eth_tx_burst_t tx_pkt_burst; /**< Pointer to PMD transmit function. */
 	eth_tx_prep_t tx_pkt_prepare; /**< Pointer to PMD transmit prepare function. */
+
+	eth_rx_queue_count_t       rx_queue_count; /**< Get the number of used RX descriptors. */
+	eth_rx_descriptor_done_t   rx_descriptor_done;   /**< Check rxd DD bit. */
+	eth_rx_descriptor_status_t rx_descriptor_status; /**< Check the status of a Rx descriptor. */
+	eth_tx_descriptor_status_t tx_descriptor_status; /**< Check the status of a Tx descriptor. */
+
 	/**
 	 * Next two fields are per-device data but *data is shared between
 	 * primary and secondary processes and *process_private is per-process
-- 
2.26.2


^ permalink raw reply	[relevance 6%]

* [dpdk-dev] [PATCH v3 1/7] ethdev: deprecate descriptor status check API
  2020-08-24  9:40  1% [dpdk-dev] [PATCH 1/7] ethdev: remove legacy descriptor status check API Ferruh Yigit
                   ` (4 preceding siblings ...)
  2020-09-03 21:09  1% ` [dpdk-dev] [PATCH v2 " Ferruh Yigit
@ 2020-09-09 11:12  4% ` Ferruh Yigit
  2020-09-09 11:12  6%   ` [dpdk-dev] [PATCH v3 2/7] ethdev: move inline device operations Ferruh Yigit
                     ` (3 more replies)
  2020-09-09 13:01  4% ` [dpdk-dev] [PATCH v4 1/7] ethdev: deprecate descriptor status check API Ferruh Yigit
  6 siblings, 4 replies; 200+ results
From: Ferruh Yigit @ 2020-09-09 11:12 UTC (permalink / raw)
  To: dev, Ray Kinsella, Neil Horman, John McNamara, Marko Kovacevic,
	Thomas Monjalon, Andrew Rybchenko
  Cc: Ferruh Yigit, David Marchand

Marking 'rte_eth_rx_descriptor_done()' API as deprecated.
``rte_eth_rx_descriptor_status`` and ``rte_eth_tx_descriptor_status``
APIs can be used as replacement.

Plan is to remove the API on 21.11 release.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
---

Cc: David Marchand <david.marchand@redhat.com>
v3:
* Just deprecating the 'rte_eth_rx_descriptor_done()' API without
  removing it to stick to the original plan.
---
 doc/guides/rel_notes/deprecation.rst   | 2 +-
 doc/guides/rel_notes/release_20_11.rst | 2 ++
 lib/librte_ethdev/rte_ethdev.h         | 1 +
 3 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 279eccb04a..35c676e262 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -214,7 +214,7 @@ Deprecation Notices
   https://mails.dpdk.org/archives/dev/2020-July/176135.html.
 
 * ethdev: ``rx_descriptor_done`` dev_ops and ``rte_eth_rx_descriptor_done``
-  will be deprecated in 20.11 and will be removed in 21.11.
+  will be removed in 21.11.
   Existing ``rte_eth_rx_descriptor_status`` and ``rte_eth_tx_descriptor_status``
   APIs can be used as replacement.
 
diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index df227a1773..a7d57b001d 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -84,6 +84,8 @@ API Changes
    Also, make sure to start the actual text at the margin.
    =======================================================
 
+* ``rte_eth_rx_descriptor_done()`` API has deprecated.
+
 
 ABI Changes
 -----------
diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
index f30245b102..eb6cd01f8d 100644
--- a/lib/librte_ethdev/rte_ethdev.h
+++ b/lib/librte_ethdev/rte_ethdev.h
@@ -4567,6 +4567,7 @@ rte_eth_rx_queue_count(uint16_t port_id, uint16_t queue_id)
  *  - (-ENODEV) if *port_id* invalid.
  *  - (-ENOTSUP) if the device does not support this function
  */
+__rte_deprecated
 static inline int
 rte_eth_rx_descriptor_done(uint16_t port_id, uint16_t queue_id, uint16_t offset)
 {
-- 
2.26.2


^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] [EXT] Re: [PATCH v7 1/3] ethdev: add level support for RSS offload types
  2020-09-07  8:12  0%             ` Andrew Rybchenko
@ 2020-09-08 19:40  0%               ` Ajit Khaparde
  0 siblings, 0 replies; 200+ results
From: Ajit Khaparde @ 2020-09-08 19:40 UTC (permalink / raw)
  To: Andrew Rybchenko
  Cc: Ferruh Yigit, Kiran Kumar Kokkilagadda, Thomas Monjalon, dev,
	Jerin Jacob Kollanukkaran, orika, xuanziyang2, cloud.wangxiaoyun,
	zhouguoyang, rosen.xu, beilei.xing, jia.guo, Rasesh Mody,
	Shahed Shaikh, Nithin Kumar Dabilpuram, qiming.yang, qi.z.zhang,
	keith.wiles, hemant.agrawal, sachin.saxena, wei.zhao1, johndale,
	hyonkim, chas3, matan, shahafs, viacheslavo, rahul.lakkireddy,
	grive, Liron Himi, jingjing.wu, xavier.huwei, humin29,
	yisen.zhuang, somnath.kotur, jasvinder.singh,
	cristian.dumitrescu

On Mon, Sep 7, 2020 at 1:12 AM Andrew Rybchenko <arybchenko@solarflare.com>
wrote:

> On 9/3/20 4:14 PM, Ferruh Yigit wrote:
> > On 9/3/2020 11:11 AM, Kiran Kumar Kokkilagadda wrote:
> >> *From:* Ajit Khaparde <ajit.khaparde@broadcom.com>
> >> *Sent:* Tuesday, September 1, 2020 10:42 PM
> >> *To:* Kiran Kumar Kokkilagadda <kirankumark@marvell.com>
> >> *Cc:* Ferruh Yigit <ferruh.yigit@intel.com>; Thomas Monjalon
> >> <thomas@monjalon.net>; Andrew Rybchenko <arybchenko@solarflare.com>;
> >> dev@dpdk.org; Jerin Jacob Kollanukkaran <jerinj@marvell.com>;
> >> orika@mellanox.com; xuanziyang2@huawei.com;
> >> cloud.wangxiaoyun@huawei.com; zhouguoyang@huawei.com;
> >> rosen.xu@intel.com; beilei.xing@intel.com; jia.guo@intel.com; Rasesh
> >> Mody <rmody@marvell.com>; Shahed Shaikh <shshaikh@marvell.com>; Nithin
> >> Kumar Dabilpuram <ndabilpuram@marvell.com>; qiming.yang@intel.com;
> >> qi.z.zhang@intel.com; keith.wiles@intel.com; hemant.agrawal@nxp.com;
> >> sachin.saxena@nxp.com; wei.zhao1@intel.com; johndale@cisco.com;
> >> hyonkim@cisco.com; chas3@att.com; matan@mellanox.com;
> >> shahafs@mellanox.com; viacheslavo@mellanox.com;
> >> rahul.lakkireddy@chelsio.com; grive@u256.net; Liron Himi
> >> <lironh@marvell.com>; jingjing.wu@intel.com; xavier.huwei@huawei.com;
> >> humin29@huawei.com; yisen.zhuang@huawei.com;
> >> somnath.kotur@broadcom.com; jasvinder.singh@intel.com;
> >> cristian.dumitrescu@intel.com
> >> *Subject:* Re: [EXT] Re: [dpdk-dev][PATCH v7 1/3] ethdev: add level
> >> support for RSS offload types
> >>
> >> On Tue, Sep 1, 2020 at 7:27 AM Kiran Kumar Kokkilagadda
> >> <kirankumark@marvell.com <mailto:kirankumark@marvell.com>> wrote:
> >>
> >>
> >>
> >>      > -----Original Message-----
> >>      > From: Ferruh Yigit <ferruh.yigit@intel.com
> >> <mailto:ferruh.yigit@intel.com>>
> >>      > Sent: Tuesday, September 1, 2020 7:08 PM
> >>      > To: Kiran Kumar Kokkilagadda <kirankumark@marvell.com
> >>     <mailto:kirankumark@marvell.com>>; Thomas Monjalon
> >>      > <thomas@monjalon.net <mailto:thomas@monjalon.net>>; Andrew
> >> Rybchenko
> >>     <arybchenko@solarflare.com <mailto:arybchenko@solarflare.com>>
> >>      > Cc: dev@dpdk.org <mailto:dev@dpdk.org>; Jerin Jacob
> Kollanukkaran
> >>     <jerinj@marvell.com <mailto:jerinj@marvell.com>>;
> >>      > orika@mellanox.com <mailto:orika@mellanox.com>;
> >> xuanziyang2@huawei.com
> >>     <mailto:xuanziyang2@huawei.com>;
> >>      > cloud.wangxiaoyun@huawei.com
> >> <mailto:cloud.wangxiaoyun@huawei.com>;
> >>     zhouguoyang@huawei.com <mailto:zhouguoyang@huawei.com>;
> >>      > rosen.xu@intel.com <mailto:rosen.xu@intel.com>;
> >> beilei.xing@intel.com
> >>     <mailto:beilei.xing@intel.com>; jia.guo@intel.com
> >>     <mailto:jia.guo@intel.com>; Rasesh Mody
> >>      > <rmody@marvell.com <mailto:rmody@marvell.com>>; Shahed Shaikh
> >>     <shshaikh@marvell.com <mailto:shshaikh@marvell.com>>; Nithin Kumar
> >>      > Dabilpuram <ndabilpuram@marvell.com
> >> <mailto:ndabilpuram@marvell.com>>;
> >>     qiming.yang@intel.com <mailto:qiming.yang@intel.com>;
> >>      > qi.z.zhang@intel.com <mailto:qi.z.zhang@intel.com>;
> >> keith.wiles@intel.com
> >>     <mailto:keith.wiles@intel.com>; hemant.agrawal@nxp.com
> >>     <mailto:hemant.agrawal@nxp.com>;
> >>      > sachin.saxena@nxp.com <mailto:sachin.saxena@nxp.com>;
> >> wei.zhao1@intel.com
> >>     <mailto:wei.zhao1@intel.com>; johndale@cisco.com
> >> <mailto:johndale@cisco.com>;
> >>      > hyonkim@cisco.com <mailto:hyonkim@cisco.com>; chas3@att.com
> >>     <mailto:chas3@att.com>; matan@mellanox.com
> >> <mailto:matan@mellanox.com>;
> >>      > shahafs@mellanox.com <mailto:shahafs@mellanox.com>;
> >>     viacheslavo@mellanox.com <mailto:viacheslavo@mellanox.com>;
> >>      > rahul.lakkireddy@chelsio.com
> >> <mailto:rahul.lakkireddy@chelsio.com>;
> >>     grive@u256.net <mailto:grive@u256.net>; Liron Himi
> >>      > <lironh@marvell.com <mailto:lironh@marvell.com>>;
> >> jingjing.wu@intel.com
> >>     <mailto:jingjing.wu@intel.com>; xavier.huwei@huawei.com
> >>     <mailto:xavier.huwei@huawei.com>;
> >>      > humin29@huawei.com <mailto:humin29@huawei.com>;
> >> yisen.zhuang@huawei.com
> >>     <mailto:yisen.zhuang@huawei.com>;
> >>      > ajit.khaparde@broadcom.com <mailto:ajit.khaparde@broadcom.com>;
> >>     somnath.kotur@broadcom.com <mailto:somnath.kotur@broadcom.com>;
> >>      > jasvinder.singh@intel.com <mailto:jasvinder.singh@intel.com>;
> >>     cristian.dumitrescu@intel.com <mailto:cristian.dumitrescu@intel.com
> >
> >>      > Subject: [EXT] Re: [dpdk-dev][PATCH v7 1/3] ethdev: add level
> >> support for RSS
> >>      > offload types
> >>      >
> >>      > External Email
> >>      >
> >>      >
> >> ----------------------------------------------------------------------
> >>      > On 9/1/2020 4:27 AM, kirankumark@marvell.com
> >>     <mailto:kirankumark@marvell.com> wrote:
> >>      > > From: Kiran Kumar K <kirankumark@marvell.com
> >>     <mailto:kirankumark@marvell.com>>
> >>      > >
> >>      > > This patch reserves 2 bits as input selection to select Inner
> >> and
> >>      > > outer encapsulation level for RSS computation. It is combined
> >> with
> >>      > > existing
> >>      > > ETH_RSS_* to choose Inner or outer layers.
> >>      > > This functionality already exists in rte_flow through level
> >> parameter
> >>      > > in RSS action configuration rte_flow_action_rss.
> >>      > >
> >>      > > Signed-off-by: Kiran Kumar K <kirankumark@marvell.com
> >>     <mailto:kirankumark@marvell.com>>
> >>      > > ---
> >>      > > V7 Changes:
> >>      > > * Re-worked to keep it in sync with rte_flow_action_rss and
> >> support
> >>      > > upto
> >>      > > 3 levels.
> >>      > > * Addressed testpmd review comments.
> >>      > >
> >>      > >   lib/librte_ethdev/rte_ethdev.h | 27
> >> +++++++++++++++++++++++++++
> >>      > >   1 file changed, 27 insertions(+)
> >>      > >
> >>      > > diff --git a/lib/librte_ethdev/rte_ethdev.h
> >>      > > b/lib/librte_ethdev/rte_ethdev.h index 70295d7ab..13e49bbd7
> >> 100644
> >>      > > --- a/lib/librte_ethdev/rte_ethdev.h
> >>      > > +++ b/lib/librte_ethdev/rte_ethdev.h
> >>      > > @@ -552,6 +552,33 @@ struct rte_eth_rss_conf {
> >>      > >   #define RTE_ETH_RSS_L3_PRE64         (1ULL << 53)
> >>      > >   #define RTE_ETH_RSS_L3_PRE96         (1ULL << 52)
> >>      > >
> >>      > > +/*
> >>      > > + * We use the following macros to combine with the above
> >> layers to
> >>      > > +choose
> >>      > > + * inner and outer layers or both for RSS computation.
> >>      > > + * bit 50 and 51 are reserved for this.
> >>      > > + */
> >>      > > +
> >>      > > +/** level 0, requests the default behavior. Depending on the
> >> packet
> >>      > > + * type, it can mean outermost, innermost, anything in
> >> between or even no
> >>      > RSS.
> >>      > > + * It basically stands for the innermost encapsulation level
> >> RSS
> >>      > > + * can be performed on according to PMD and device
> >> capabilities.
> >>      > > + */
> >>      > > +#define ETH_RSS_LEVEL_0         (0ULL << 50)
> >>      >
> >>      > I can see from history how this is involved, but the
> >> 'ETH_RSS_LEVEL_0'
> >>     naming is
> >>      > not really clear what it is, the naming in v6 is more clear.
> >>      >
> >>      > What about following one:
> >>      > 0 -> LEVEL_PMD_DEFAULT
> >>      > 1 -> LEVEL_OUTER
> >>      > 2 -> LEVEL_INNER
> >>      > 3 -> LEVEL_INNER_OUTER
> >>      >
> >>      > This doesn't exactly match to rte_flow one, but closer than v6
> >> one. This ends
> >>      > with max level 2. And defines a way to say both inner and outer.
> >>
> >>     This one looks good to me. If everyone is ok with the proposed
> >> changes, I
> >>     will send V8.
> >>
> >> How about following one:
> >> 0 -> LEVEL_PMD_DEFAULT
> >> 1 -> LEVEL_OUTERMOST
> >> 2 -> LEVEL_INNERMOST
> >>
> >> This way we can avoid any ambiguity especially if stacked tunnel
> >> headersbecome real.
> >>
> >>
> >> 3 -> LEVEL_INNER_OUTER
> >>
> >> But I am not sure if INNER_OUTER has a use case.
> >>
> >> Alternatively,
> >>
> >> why not just add uint32_t level;
> >>
> >> just like in case of rte_flow_action_rss?
> >>
> >> It will break ABI but its 20.11.
> >>
> >> Thanks
> >>
> >> -Ajit
> >>
> >> Can I send V8 with this proposal?
> >>
> >> 0 -> LEVEL_PMD_DEFAULT
> >> 1 -> LEVEL_OUTERMOST
> >> 2 -> LEVEL_INNERMOST
> >>
> >> If anyone want INNER_OUTER, they can specify LEVEL_OUTERMOST|
> >> LEVEL_INNERMOST
> >
> > +1 to INNERMOST & OUTERMOST, and use "LEVEL_OUTERMOST| LEVEL_INNERMOST"
> > for INNER_OUTER.
>
> Frankly speaking I'd drop OUTERMOST | INNERMOST for now in requested RSS
> hash config and defined OUTERMOST | INNERMOST in
> capabilities as possibility to hash by either INNERMOST or
> OUTERMOST headers correspondingly.
>
> >
> > But the capability reporting is still problematic.
> > If @Andrew has no objection, I think it is ok to have a v8 and we can
> > continue discussion on it.
>
> See above. Number of recognized tunnel levels could be reported
> in dev_info, but looks insufficient, since it is interesting
> which tunnels are supported (may be even on which level).
>
+1.


>
> >>
> >>
> >>      >
> >>      > > +
> >>      > > +/** level 1,  requests RSS to be performed on the outermost
> >> packet
> >>      > > + * encapsulation level.
> >>      > > + */
> >>      > > +#define ETH_RSS_LEVEL_1         (1ULL << 50)
> >>      > > +
> >>      > > +/** level 2,  requests RSS to be performed on the
> >>      > > + * specified inner packet encapsulation level, from
> >> outermost to
> >>      > > + * innermost (lower to higher values).
> >>      > > + */
> >>      > > +#define ETH_RSS_LEVEL_2            (2ULL << 50)
> >>      >
> >>      > I can see you are trying to copy rte_flow usage, but this
> >> doesn't really
> >>     makes
> >>      > sense here. Where the value of the level is defined in this
> >> case? If not
> >>     defined
> >>      > how the PMD knows which level to use?
> >>      >
> >>      > > +#define ETH_RSS_LEVEL_MASK (3ULL << 50)
> >>      > > +
> >>      > > +#define ETH_RSS_LEVEL(rss_hf) ((rss_hf & ETH_RSS_LEVEL_MASK)
> >> >> 50)
> >>      > > +
> >>      > >   /**
> >>      > >    * For input set change of hash filter, if SRC_ONLY and
> >> DST_ONLY of
> >>      > >    * the same level are used simultaneously, it is the same
> >> case as
> >>      > > --
> >>      > > 2.25.1
> >>      > >
> >>
>
>

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH] lib/bpf: remove experimental tag
  @ 2020-09-08 15:55  3%   ` Ananyev, Konstantin
  0 siblings, 0 replies; 200+ results
From: Ananyev, Konstantin @ 2020-09-08 15:55 UTC (permalink / raw)
  To: David Marchand, Walsh, Conor; +Cc: dev


> 
> On Tue, Sep 1, 2020 at 4:50 PM Conor Walsh <conor.walsh@intel.com> wrote:
> >
> > The BPF lib was introduced in 18.05.
> > There were no changes in it's public API since 19.11.
> > It should be mature enough to remove it's 'experimental' tag.
> 
> Should RTE_BPF_XTYPE_NUM be dropped?

Good catch, thanks.
Yes I agree, we probably better do it now to avoid ABI problems in future.


^ permalink raw reply	[relevance 3%]

* [dpdk-dev] [PATCH 00/14] net/sfc: factor out common driver library
@ 2020-09-08  9:14  2% Andrew Rybchenko
  2020-09-09 14:32  0% ` Ferruh Yigit
  0 siblings, 1 reply; 200+ results
From: Andrew Rybchenko @ 2020-09-08  9:14 UTC (permalink / raw)
  To: dev; +Cc: Thomas Monjalon, David Marchand, Ferruh Yigit

Network and vDPA drivers share libefx. So, libefx should be moved
to common drivers.

DPDK adaptation of the MCDI interface may be shared as well.

The new common driver name is sfc_efx since it a new home of
libefx base driver. sfc_ prefix is used to make it clear that
it is related to net/sfc (and vdpa/sfc in the future).

In theory, right now all exported libefx functions should be marked
as internal, but it requires corresponding markup in base driver
which sources should have no DPDK specifics since shared by many
drivers. So, it is unclear what to do and how to solve it.

The patch series makes these functions a part of DPDK_21 ABI to
pass build checks. checkpatches.sh does not like it.

Cc: Thomas Monjalon <thomas@monjalon.net>
Cc: David Marchand <david.marchand@redhat.com>
Cc: Ferruh Yigit <ferruh.yigit@intel.com>

Andrew Rybchenko (14):
  net/sfc: include header with debug helpers directly
  net/sfc: introduce common driver library
  net/sfc: add dedicated header file with MCDI interface
  net/sfc: move MCDI helper interface to dedicated namespace
  net/sfc: make MCDI logging helper macros local
  net/sfc: start to make MCDI helpers interface shareable
  net/sfc: use own logging helper macros
  net/sfc: avoid usage of NIC pointer from adapter context
  net/sfc: avoid panic in the case of MCDI timeout
  net/sfc: add MCDI callbacks to allocate/free DMA memory
  net/sfc: add MCDI callback to schedule restart
  net/sfc: add MCDI callback to poll management event queue
  net/sfc: use MCDI control structure as libefx ops context
  net/sfc: move MCDI helpers to common driver

 MAINTAINERS                                   |   1 +
 drivers/common/Makefile                       |   4 +
 drivers/common/meson.build                    |   2 +-
 drivers/common/sfc_efx/Makefile               | 112 ++++++
 .../{net/sfc => common/sfc_efx}/base/README   |   0
 .../sfc => common/sfc_efx}/base/ef10_ev.c     |   0
 .../sfc => common/sfc_efx}/base/ef10_evb.c    |   0
 .../sfc => common/sfc_efx}/base/ef10_filter.c |   0
 .../sfc_efx}/base/ef10_firmware_ids.h         |   0
 .../sfc => common/sfc_efx}/base/ef10_image.c  |   0
 .../sfc => common/sfc_efx}/base/ef10_impl.h   |   0
 .../sfc => common/sfc_efx}/base/ef10_intr.c   |   0
 .../sfc => common/sfc_efx}/base/ef10_mac.c    |   0
 .../sfc => common/sfc_efx}/base/ef10_mcdi.c   |   0
 .../sfc => common/sfc_efx}/base/ef10_nic.c    |   0
 .../sfc => common/sfc_efx}/base/ef10_nvram.c  |   0
 .../sfc => common/sfc_efx}/base/ef10_phy.c    |   0
 .../sfc => common/sfc_efx}/base/ef10_proxy.c  |   0
 .../sfc => common/sfc_efx}/base/ef10_rx.c     |   0
 .../sfc_efx}/base/ef10_signed_image_layout.h  |   0
 .../sfc_efx}/base/ef10_tlv_layout.h           |   0
 .../sfc => common/sfc_efx}/base/ef10_tx.c     |   0
 .../sfc => common/sfc_efx}/base/ef10_vpd.c    |   0
 .../{net/sfc => common/sfc_efx}/base/efx.h    |   0
 .../sfc => common/sfc_efx}/base/efx_annote.h  |   0
 .../sfc => common/sfc_efx}/base/efx_bootcfg.c |   0
 .../sfc => common/sfc_efx}/base/efx_check.h   |   0
 .../sfc => common/sfc_efx}/base/efx_crc32.c   |   0
 .../{net/sfc => common/sfc_efx}/base/efx_ev.c |   0
 .../sfc => common/sfc_efx}/base/efx_evb.c     |   0
 .../sfc => common/sfc_efx}/base/efx_filter.c  |   0
 .../sfc => common/sfc_efx}/base/efx_hash.c    |   0
 .../sfc => common/sfc_efx}/base/efx_impl.h    |   0
 .../sfc => common/sfc_efx}/base/efx_intr.c    |   0
 .../sfc => common/sfc_efx}/base/efx_lic.c     |   0
 .../sfc => common/sfc_efx}/base/efx_mac.c     |   0
 .../sfc => common/sfc_efx}/base/efx_mcdi.c    |   0
 .../sfc => common/sfc_efx}/base/efx_mcdi.h    |   0
 .../sfc => common/sfc_efx}/base/efx_mon.c     |   0
 .../sfc => common/sfc_efx}/base/efx_nic.c     |   0
 .../sfc => common/sfc_efx}/base/efx_nvram.c   |   0
 .../sfc => common/sfc_efx}/base/efx_phy.c     |   0
 .../sfc => common/sfc_efx}/base/efx_phy_ids.h |   0
 .../sfc => common/sfc_efx}/base/efx_port.c    |   0
 .../sfc => common/sfc_efx}/base/efx_proxy.c   |   0
 .../sfc => common/sfc_efx}/base/efx_regs.h    |   0
 .../sfc_efx}/base/efx_regs_ef10.h             |   0
 .../sfc_efx}/base/efx_regs_mcdi.h             |   0
 .../sfc_efx}/base/efx_regs_mcdi_aoe.h         |   0
 .../sfc_efx}/base/efx_regs_mcdi_strs.h        |   0
 .../sfc_efx}/base/efx_regs_pci.h              |   0
 .../{net/sfc => common/sfc_efx}/base/efx_rx.c |   0
 .../sfc => common/sfc_efx}/base/efx_sram.c    |   0
 .../sfc => common/sfc_efx}/base/efx_tunnel.c  |   0
 .../{net/sfc => common/sfc_efx}/base/efx_tx.c |   0
 .../sfc => common/sfc_efx}/base/efx_types.h   |   0
 .../sfc => common/sfc_efx}/base/efx_vpd.c     |   0
 .../sfc => common/sfc_efx}/base/hunt_impl.h   |   0
 .../sfc => common/sfc_efx}/base/hunt_nic.c    |   0
 .../sfc => common/sfc_efx}/base/mcdi_mon.c    |   0
 .../sfc => common/sfc_efx}/base/mcdi_mon.h    |   0
 .../sfc_efx}/base/medford2_impl.h             |   0
 .../sfc_efx}/base/medford2_nic.c              |   0
 .../sfc_efx}/base/medford_impl.h              |   0
 .../sfc => common/sfc_efx}/base/medford_nic.c |   0
 .../sfc => common/sfc_efx}/base/meson.build   |   0
 .../sfc => common/sfc_efx}/base/siena_flash.h |   0
 .../sfc => common/sfc_efx}/base/siena_impl.h  |   0
 .../sfc => common/sfc_efx}/base/siena_mac.c   |   0
 .../sfc => common/sfc_efx}/base/siena_mcdi.c  |   0
 .../sfc => common/sfc_efx}/base/siena_nic.c   |   0
 .../sfc => common/sfc_efx}/base/siena_nvram.c |   0
 .../sfc => common/sfc_efx}/base/siena_phy.c   |   0
 .../sfc => common/sfc_efx}/base/siena_sram.c  |   0
 .../sfc => common/sfc_efx}/base/siena_vpd.c   |   0
 drivers/{net/sfc => common/sfc_efx}/efsys.h   |  58 +--
 drivers/common/sfc_efx/meson.build            |  40 ++
 .../sfc_efx/rte_common_sfc_efx_version.map    | 119 ++++++
 drivers/common/sfc_efx/sfc_efx.c              |  23 ++
 drivers/common/sfc_efx/sfc_efx_debug.h        |  29 ++
 drivers/common/sfc_efx/sfc_efx_log.h          |  22 ++
 drivers/common/sfc_efx/sfc_efx_mcdi.c         | 343 ++++++++++++++++++
 drivers/common/sfc_efx/sfc_efx_mcdi.h         |  75 ++++
 drivers/net/sfc/Makefile                      |  70 +---
 drivers/net/sfc/meson.build                   |   6 +-
 drivers/net/sfc/sfc.c                         |   1 +
 drivers/net/sfc/sfc.h                         |  26 +-
 drivers/net/sfc/sfc_dp_tx.h                   |   1 +
 drivers/net/sfc/sfc_ef10.h                    |   2 +
 drivers/net/sfc/sfc_ef10_essb_rx.c            |   1 +
 drivers/net/sfc/sfc_ef10_rx.c                 |   1 +
 drivers/net/sfc/sfc_ef10_rx_ev.h              |   2 +
 drivers/net/sfc/sfc_ef10_tx.c                 |   1 +
 drivers/net/sfc/sfc_ethdev.c                  |  13 +
 drivers/net/sfc/sfc_filter.c                  |   1 +
 drivers/net/sfc/sfc_flow.c                    |   1 +
 drivers/net/sfc/sfc_log.h                     |  21 +-
 drivers/net/sfc/sfc_mcdi.c                    | 295 ++-------------
 drivers/net/sfc/sfc_port.c                    |   1 +
 mk/rte.app.mk                                 |   1 +
 100 files changed, 870 insertions(+), 402 deletions(-)
 create mode 100644 drivers/common/sfc_efx/Makefile
 rename drivers/{net/sfc => common/sfc_efx}/base/README (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/ef10_ev.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/ef10_evb.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/ef10_filter.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/ef10_firmware_ids.h (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/ef10_image.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/ef10_impl.h (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/ef10_intr.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/ef10_mac.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/ef10_mcdi.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/ef10_nic.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/ef10_nvram.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/ef10_phy.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/ef10_proxy.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/ef10_rx.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/ef10_signed_image_layout.h (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/ef10_tlv_layout.h (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/ef10_tx.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/ef10_vpd.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/efx.h (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/efx_annote.h (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/efx_bootcfg.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/efx_check.h (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/efx_crc32.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/efx_ev.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/efx_evb.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/efx_filter.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/efx_hash.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/efx_impl.h (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/efx_intr.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/efx_lic.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/efx_mac.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/efx_mcdi.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/efx_mcdi.h (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/efx_mon.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/efx_nic.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/efx_nvram.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/efx_phy.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/efx_phy_ids.h (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/efx_port.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/efx_proxy.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/efx_regs.h (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/efx_regs_ef10.h (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/efx_regs_mcdi.h (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/efx_regs_mcdi_aoe.h (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/efx_regs_mcdi_strs.h (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/efx_regs_pci.h (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/efx_rx.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/efx_sram.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/efx_tunnel.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/efx_tx.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/efx_types.h (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/efx_vpd.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/hunt_impl.h (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/hunt_nic.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/mcdi_mon.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/mcdi_mon.h (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/medford2_impl.h (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/medford2_nic.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/medford_impl.h (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/medford_nic.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/meson.build (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/siena_flash.h (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/siena_impl.h (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/siena_mac.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/siena_mcdi.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/siena_nic.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/siena_nvram.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/siena_phy.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/siena_sram.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/base/siena_vpd.c (100%)
 rename drivers/{net/sfc => common/sfc_efx}/efsys.h (93%)
 create mode 100644 drivers/common/sfc_efx/meson.build
 create mode 100644 drivers/common/sfc_efx/rte_common_sfc_efx_version.map
 create mode 100644 drivers/common/sfc_efx/sfc_efx.c
 create mode 100644 drivers/common/sfc_efx/sfc_efx_debug.h
 create mode 100644 drivers/common/sfc_efx/sfc_efx_log.h
 create mode 100644 drivers/common/sfc_efx/sfc_efx_mcdi.c
 create mode 100644 drivers/common/sfc_efx/sfc_efx_mcdi.h

-- 
2.17.1


^ permalink raw reply	[relevance 2%]

* [dpdk-dev] [PATCH] kernel: remove igb_uio
@ 2020-09-07 22:50  4% Thomas Monjalon
  2020-09-11 15:54  3% ` [dpdk-dev] [PATCH v2] " Thomas Monjalon
  0 siblings, 1 reply; 200+ results
From: Thomas Monjalon @ 2020-09-07 22:50 UTC (permalink / raw)
  To: dev; +Cc: david.marchand, ferruh.yigit, jerinj, stephen

As decided in the Technical Board in November 2019,
the kernel module igb_uio is moved to the dpdk-kmods repository
in the /linux/igb_uio/ directory.

Minutes of Technical Board meeting:
https://mails.dpdk.org/archives/dev/2019-November/151763.html

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
 MAINTAINERS                          |   1 -
 doc/guides/rel_notes/deprecation.rst |   7 -
 kernel/linux/igb_uio/Kbuild          |   2 -
 kernel/linux/igb_uio/compat.h        | 154 -------
 kernel/linux/igb_uio/igb_uio.c       | 660 ---------------------------
 kernel/linux/igb_uio/meson.build     |  20 -
 kernel/linux/meson.build             |   2 +-
 7 files changed, 1 insertion(+), 845 deletions(-)
 delete mode 100644 kernel/linux/igb_uio/Kbuild
 delete mode 100644 kernel/linux/igb_uio/compat.h
 delete mode 100644 kernel/linux/igb_uio/igb_uio.c
 delete mode 100644 kernel/linux/igb_uio/meson.build

diff --git a/MAINTAINERS b/MAINTAINERS
index 3b16d7a4b8..d74bec58e1 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -292,7 +292,6 @@ F: doc/guides/linux_gsg/
 
 Linux UIO
 M: Ferruh Yigit <ferruh.yigit@intel.com>
-F: kernel/linux/igb_uio/
 F: drivers/bus/pci/linux/*uio*
 
 Linux VFIO
diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 279eccb04a..6f722ad79d 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -96,13 +96,6 @@ Deprecation Notices
   used in the place of rte_cio_*mb APIs. The rte_cio_*mb APIs will be
   deprecated in 20.11 release.
 
-* igb_uio: In the view of reducing the kernel dependency from the main tree,
-  as a first step, the Technical Board decided to move ``igb_uio``
-  kernel module to the dpdk-kmods repository in the /linux/igb_uio/ directory
-  in 20.11.
-  Minutes of Technical Board Meeting of `2019-11-06
-  <https://mails.dpdk.org/archives/dev/2019-November/151763.html>`_.
-
 * lib: will fix extending some enum/define breaking the ABI. There are multiple
   samples in DPDK that enum/define terminated with a ``.*MAX.*`` value which is
   used by iterators, and arrays holding these values are sized with this
diff --git a/kernel/linux/igb_uio/Kbuild b/kernel/linux/igb_uio/Kbuild
deleted file mode 100644
index 3ab85c4116..0000000000
diff --git a/kernel/linux/igb_uio/compat.h b/kernel/linux/igb_uio/compat.h
deleted file mode 100644
index 8dbb896ae1..0000000000
diff --git a/kernel/linux/igb_uio/igb_uio.c b/kernel/linux/igb_uio/igb_uio.c
deleted file mode 100644
index 039f5a5f63..0000000000
diff --git a/kernel/linux/igb_uio/meson.build b/kernel/linux/igb_uio/meson.build
deleted file mode 100644
index 80540aecee..0000000000
diff --git a/kernel/linux/meson.build b/kernel/linux/meson.build
index da79df1687..5c864a4653 100644
--- a/kernel/linux/meson.build
+++ b/kernel/linux/meson.build
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Intel Corporation
 
-subdirs = ['igb_uio', 'kni']
+subdirs = ['kni']
 
 # if we are cross-compiling we need kernel_dir specified
 if get_option('kernel_dir') == '' and meson.is_cross_build()
-- 
2.28.0


^ permalink raw reply	[relevance 4%]

* [dpdk-dev] [PATCH v4 31/31] doc: remove references to make from contributing guide
    2020-09-07 22:06  1%     ` [dpdk-dev] [PATCH v4 11/31] build: remove makefiles Thomas Monjalon
  2020-09-07 22:06  1%     ` [dpdk-dev] [PATCH v4 13/31] config: remove default configs used with make Thomas Monjalon
@ 2020-09-07 22:07  5%     ` Thomas Monjalon
  2 siblings, 0 replies; 200+ results
From: Thomas Monjalon @ 2020-09-07 22:07 UTC (permalink / raw)
  To: dev; +Cc: david.marchand, bruce.richardson, ciara.power, Louise Kilheeney

From: Ciara Power <ciara.power@intel.com>

Make is no longer supported for compiling DPDK, references are now
removed in the documentation.

Signed-off-by: Ciara Power <ciara.power@intel.com>
Signed-off-by: Louise Kilheeney <louise.kilheeney@intel.com>
---
 doc/guides/contributing/design.rst        | 127 ++--------------------
 doc/guides/contributing/documentation.rst |  31 +-----
 2 files changed, 13 insertions(+), 145 deletions(-)

diff --git a/doc/guides/contributing/design.rst b/doc/guides/contributing/design.rst
index 5fe7f63942..6ce0de97ac 100644
--- a/doc/guides/contributing/design.rst
+++ b/doc/guides/contributing/design.rst
@@ -21,7 +21,7 @@ A file located in a subdir of "linux" is specific to this execution environment.
 
 When absolutely necessary, there are several ways to handle specific code:
 
-* Use a ``#ifdef`` with the CONFIG option in the C code.
+* Use a ``#ifdef`` with a build definition macro in the C code.
   This can be done when the differences are small and they can be embedded in the same C file:
 
   .. code-block:: c
@@ -32,30 +32,22 @@ When absolutely necessary, there are several ways to handle specific code:
      titi();
      #endif
 
-* Use the CONFIG option in the Makefile. This is done when the differences are more significant.
-  In this case, the code is split into two separate files that are architecture or environment specific.
-  This should only apply inside the EAL library.
-
-.. note::
-
-   As in the linux kernel, the ``CONFIG_`` prefix is not used in C code.
-   This is only needed in Makefiles or shell scripts.
 
 Per Architecture Sources
 ~~~~~~~~~~~~~~~~~~~~~~~~
 
-The following config options can be used:
+The following macro options can be used:
 
-* ``CONFIG_RTE_ARCH`` is a string that contains the name of the architecture.
-* ``CONFIG_RTE_ARCH_I686``, ``CONFIG_RTE_ARCH_X86_64``, ``CONFIG_RTE_ARCH_X86_64_32`` or ``CONFIG_RTE_ARCH_PPC_64`` are defined only if we are building for those architectures.
+* ``RTE_ARCH`` is a string that contains the name of the architecture.
+* ``RTE_ARCH_I686``, ``RTE_ARCH_X86_64``, ``RTE_ARCH_X86_64_32`` or ``RTE_ARCH_PPC_64`` are defined only if we are building for those architectures.
 
 Per Execution Environment Sources
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-The following config options can be used:
+The following macro options can be used:
 
-* ``CONFIG_RTE_EXEC_ENV`` is a string that contains the name of the executive environment.
-* ``CONFIG_RTE_EXEC_ENV_FREEBSD`` or ``CONFIG_RTE_EXEC_ENV_LINUX`` are defined only if we are building for this execution environment.
+* ``RTE_EXEC_ENV`` is a string that contains the name of the executive environment.
+* ``RTE_EXEC_ENV_FREEBSD`` or ``RTE_EXEC_ENV_LINUX`` are defined only if we are building for this execution environment.
 
 Mbuf features
 -------------
@@ -73,111 +65,6 @@ Adding a new static field or flag must be an exception matching many criteria
 like (non exhaustive): wide usage, performance, size.
 
 
-Library Statistics
-------------------
-
-Description
-~~~~~~~~~~~
-
-This document describes the guidelines for DPDK library-level statistics counter
-support. This includes guidelines for turning library statistics on and off and
-requirements for preventing ABI changes when implementing statistics.
-
-
-Mechanism to allow the application to turn library statistics on and off
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Each library that maintains statistics counters should provide a single build
-time flag that decides whether the statistics counter collection is enabled or
-not. This flag should be exposed as a variable within the DPDK configuration
-file. When this flag is set, all the counters supported by current library are
-collected for all the instances of every object type provided by the library.
-When this flag is cleared, none of the counters supported by the current library
-are collected for any instance of any object type provided by the library:
-
-.. code-block:: console
-
-   # DPDK file config/common_linux, config/common_freebsd, etc.
-   CONFIG_RTE_<LIBRARY_NAME>_STATS_COLLECT=y/n
-
-The default value for this DPDK configuration file variable (either "yes" or
-"no") is decided by each library.
-
-
-Prevention of ABI changes due to library statistics support
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The layout of data structures and prototype of functions that are part of the
-library API should not be affected by whether the collection of statistics
-counters is turned on or off for the current library. In practical terms, this
-means that space should always be allocated in the API data structures for
-statistics counters and the statistics related API functions are always built
-into the code, regardless of whether the statistics counter collection is turned
-on or off for the current library.
-
-When the collection of statistics counters for the current library is turned
-off, the counters retrieved through the statistics related API functions should
-have a default value of zero.
-
-
-Motivation to allow the application to turn library statistics on and off
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-It is highly recommended that each library provides statistics counters to allow
-an application to monitor the library-level run-time events. Typical counters
-are: number of packets received/dropped/transmitted, number of buffers
-allocated/freed, number of occurrences for specific events, etc.
-
-However, the resources consumed for library-level statistics counter collection
-have to be spent out of the application budget and the counters collected by
-some libraries might not be relevant to the current application. In order to
-avoid any unwanted waste of resources and/or performance impacts, the
-application should decide at build time whether the collection of library-level
-statistics counters should be turned on or off for each library individually.
-
-Library-level statistics counters can be relevant or not for specific
-applications:
-
-* For Application A, counters maintained by Library X are always relevant and
-  the application needs to use them to implement certain features, such as traffic
-  accounting, logging, application-level statistics, etc. In this case,
-  the application requires that collection of statistics counters for Library X is
-  always turned on.
-
-* For Application B, counters maintained by Library X are only useful during the
-  application debug stage and are not relevant once debug phase is over. In this
-  case, the application may decide to turn on the collection of Library X
-  statistics counters during the debug phase and at a later stage turn them off.
-
-* For Application C, counters maintained by Library X are not relevant at all.
-  It might be that the application maintains its own set of statistics counters
-  that monitor a different set of run-time events (e.g. number of connection
-  requests, number of active users, etc). It might also be that the application
-  uses multiple libraries (Library X, Library Y, etc) and it is interested in the
-  statistics counters of Library Y, but not in those of Library X. In this case,
-  the application may decide to turn the collection of statistics counters off for
-  Library X and on for Library Y.
-
-The statistics collection consumes a certain amount of CPU resources (cycles,
-cache bandwidth, memory bandwidth, etc) that depends on:
-
-* Number of libraries used by the current application that have statistics
-  counters collection turned on.
-
-* Number of statistics counters maintained by each library per object type
-  instance (e.g. per port, table, pipeline, thread, etc).
-
-* Number of instances created for each object type supported by each library.
-
-* Complexity of the statistics logic collection for each counter: when only
-  some occurrences of a specific event are valid, additional logic is typically
-  needed to decide whether the current occurrence of the event should be counted
-  or not. For example, in the event of packet reception, when only TCP packets
-  with destination port within a certain range should be recorded, conditional
-  branches are usually required. When processing a burst of packets that have been
-  validated for header integrity, counting the number of bits set in a bitmask
-  might be needed.
-
 PF and VF Considerations
 ------------------------
 
diff --git a/doc/guides/contributing/documentation.rst b/doc/guides/contributing/documentation.rst
index 375ea64ba8..768453126f 100644
--- a/doc/guides/contributing/documentation.rst
+++ b/doc/guides/contributing/documentation.rst
@@ -222,25 +222,14 @@ Build commands
 ~~~~~~~~~~~~~~
 
 The documentation is built using the standard DPDK build system.
-Some examples are shown below:
 
-* Generate all the documentation targets::
+To enable doc building::
 
-     make doc
+   meson configure -Denable_docs=true
 
-* Generate the Doxygen API documentation in Html::
+See :doc:`../linux_gsg/build_dpdk` for more detail on compiling DPDK with meson.
 
-     make doc-api-html
-
-* Generate the guides documentation in Html::
-
-     make doc-guides-html
-
-* Generate the guides documentation in Pdf::
-
-     make doc-guides-pdf
-
-The output of these commands is generated in the ``build`` directory::
+The output is generated in the ``build`` directory::
 
    build/doc
          |-- html
@@ -255,10 +244,6 @@ The output of these commands is generated in the ``build`` directory::
 
    Make sure to fix any Sphinx or Doxygen warnings when adding or updating documentation.
 
-The documentation output files can be removed as follows::
-
-   make doc-clean
-
 
 Document Guidelines
 -------------------
@@ -308,7 +293,7 @@ Line Length
   Long literal command lines can be shown wrapped with backslashes. For
   example::
 
-     testpmd -l 2-3 -n 4 \
+     dpdk-testpmd -l 2-3 -n 4 \
              --vdev=virtio_user0,path=/dev/vhost-net,queues=2,queue_size=1024 \
              -- -i --tx-offloads=0x0000002c --enable-lro --txq=2 --rxq=2 \
              --txd=1024 --rxd=1024
@@ -460,7 +445,7 @@ Code and Literal block sections
   For long literal lines that exceed that limit try to wrap the text at sensible locations.
   For example a long command line could be documented like this and still work if copied directly from the docs::
 
-     build/app/testpmd -l 0-2 -n3 --vdev=net_pcap0,iface=eth0     \
+     ./<build_dir>/app/dpdk-testpmd -l 0-2 -n3 --vdev=net_pcap0,iface=eth0    \
                                --vdev=net_pcap1,iface=eth1     \
                                -- -i --nb-cores=2 --nb-ports=2 \
                                   --total-num-mbufs=2048
@@ -743,9 +728,5 @@ The following are some guidelines for use of Doxygen in the DPDK API documentati
      /** Array of physical page addresses for the mempool buffer. */
      phys_addr_t elt_pa[MEMPOOL_PG_NUM_DEFAULT];
 
-* Check for Doxygen warnings in new code by checking the API documentation build::
-
-     make doc-api-html >/dev/null
-
 * Read the rendered section of the documentation that you have added for correctness, clarity and consistency
   with the surrounding text.
-- 
2.28.0


^ permalink raw reply	[relevance 5%]

* [dpdk-dev] [PATCH v4 11/31] build: remove makefiles
  @ 2020-09-07 22:06  1%     ` Thomas Monjalon
  2020-09-07 22:06  1%     ` [dpdk-dev] [PATCH v4 13/31] config: remove default configs used with make Thomas Monjalon
  2020-09-07 22:07  5%     ` [dpdk-dev] [PATCH v4 31/31] doc: remove references to make from contributing guide Thomas Monjalon
  2 siblings, 0 replies; 200+ results
From: Thomas Monjalon @ 2020-09-07 22:06 UTC (permalink / raw)
  To: dev; +Cc: david.marchand, bruce.richardson, ciara.power, Ruifeng Wang

From: Ciara Power <ciara.power@intel.com>

A decision was made [1] to no longer support Make in DPDK, this patch
removes all Makefiles that do not make use of pkg-config, along with
the mk directory previously used by make.

[1] https://mails.dpdk.org/archives/dev/2020-April/162839.html

Signed-off-by: Ciara Power <ciara.power@intel.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
---
 GNUmakefile                                   |  17 -
 MAINTAINERS                                   |  11 +-
 app/Makefile                                  |  34 --
 app/pdump/Makefile                            |  18 -
 app/proc-info/Makefile                        |  14 -
 app/test-acl/Makefile                         |  17 -
 app/test-bbdev/Makefile                       |  30 --
 app/test-cmdline/Makefile                     |  24 -
 app/test-compress-perf/Makefile               |  19 -
 app/test-crypto-perf/Makefile                 |  28 -
 app/test-eventdev/Makefile                    |  32 --
 app/test-fib/Makefile                         |  18 -
 app/test-flow-perf/Makefile                   |  26 -
 app/test-pipeline/Makefile                    |  33 --
 app/test-pmd/Makefile                         |  73 ---
 app/test-regex/Makefile                       |  13 -
 app/test-sad/Makefile                         |  17 -
 app/test/Makefile                             | 310 -----------
 buildtools/Makefile                           |   9 -
 buildtools/pmdinfogen/Makefile                |  20 -
 devtools/git-log-fixes.sh                     |   2 +-
 devtools/test-build.sh                        | 315 -----------
 doc/build-sdk-quick.txt                       |  34 --
 doc/guides/contributing/coding_style.rst      |  48 +-
 doc/guides/contributing/patches.rst           |  49 --
 doc/guides/freebsd_gsg/intro.rst              |   4 +-
 doc/guides/linux_gsg/build_dpdk.rst           |  68 +--
 doc/guides/linux_gsg/build_sample_apps.rst    |  51 +-
 .../linux_gsg/cross_build_dpdk_for_arm64.rst  |  48 +-
 doc/guides/linux_gsg/intro.rst                |   2 +-
 doc/guides/linux_gsg/sys_reqs.rst             |  10 +-
 doc/guides/prog_guide/build_app.rst           |  56 +-
 .../prog_guide/dev_kit_build_system.rst       | 331 ------------
 .../prog_guide/dev_kit_root_make_help.rst     | 188 -------
 .../prog_guide/ext_app_lib_make_help.rst      |  98 ----
 doc/guides/prog_guide/index.rst               |   3 -
 doc/guides/prog_guide/intro.rst               |   2 +-
 doc/guides/prog_guide/overview.rst            |  12 +-
 doc/guides/prog_guide/source_org.rst          |  23 +-
 doc/guides/rel_notes/deprecation.rst          |   7 -
 drivers/Makefile                              |  34 --
 drivers/baseband/Makefile                     |  18 -
 drivers/baseband/fpga_5gnr_fec/Makefile       |  28 -
 drivers/baseband/fpga_lte_fec/Makefile        |  25 -
 drivers/baseband/null/Makefile                |  21 -
 drivers/baseband/turbo_sw/Makefile            |  52 --
 drivers/bus/Makefile                          |  15 -
 drivers/bus/dpaa/Makefile                     |  48 --
 drivers/bus/fslmc/Makefile                    |  47 --
 drivers/bus/ifpga/Makefile                    |  28 -
 drivers/bus/pci/Makefile                      |  33 --
 drivers/bus/pci/bsd/Makefile                  |   4 -
 drivers/bus/pci/linux/Makefile                |   6 -
 drivers/bus/vdev/Makefile                     |  27 -
 drivers/bus/vmbus/Makefile                    |  33 --
 drivers/bus/vmbus/linux/Makefile              |   3 -
 drivers/common/Makefile                       |  39 --
 drivers/common/cpt/Makefile                   |  24 -
 drivers/common/dpaax/Makefile                 |  30 --
 drivers/common/iavf/Makefile                  |  27 -
 drivers/common/mlx5/Makefile                  | 404 --------------
 drivers/common/mvep/Makefile                  |  35 --
 drivers/common/octeontx/Makefile              |  22 -
 drivers/common/octeontx2/Makefile             |  39 --
 drivers/common/qat/Makefile                   |  74 ---
 drivers/compress/Makefile                     |  10 -
 drivers/compress/isal/Makefile                |  27 -
 drivers/compress/octeontx/Makefile            |  26 -
 drivers/compress/zlib/Makefile                |  25 -
 drivers/crypto/Makefile                       |  31 --
 drivers/crypto/aesni_gcm/Makefile             |  43 --
 drivers/crypto/aesni_mb/Makefile              |  42 --
 drivers/crypto/armv8/Makefile                 |  36 --
 drivers/crypto/caam_jr/Makefile               |  39 --
 drivers/crypto/ccp/Makefile                   |  32 --
 drivers/crypto/dpaa2_sec/Makefile             |  45 --
 drivers/crypto/dpaa_sec/Makefile              |  38 --
 drivers/crypto/kasumi/Makefile                |  42 --
 drivers/crypto/mvsam/Makefile                 |  40 --
 drivers/crypto/nitrox/Makefile                |  30 --
 drivers/crypto/null/Makefile                  |  27 -
 drivers/crypto/octeontx/Makefile              |  36 --
 drivers/crypto/octeontx2/Makefile             |  49 --
 drivers/crypto/openssl/Makefile               |  26 -
 drivers/crypto/scheduler/Makefile             |  34 --
 drivers/crypto/snow3g/Makefile                |  43 --
 drivers/crypto/virtio/Makefile                |  33 --
 drivers/crypto/zuc/Makefile                   |  42 --
 drivers/event/Makefile                        |  20 -
 drivers/event/dpaa/Makefile                   |  39 --
 drivers/event/dpaa2/Makefile                  |  41 --
 drivers/event/dsw/Makefile                    |  26 -
 drivers/event/octeontx/Makefile               |  51 --
 drivers/event/octeontx2/Makefile              |  47 --
 drivers/event/opdl/Makefile                   |  29 -
 drivers/event/skeleton/Makefile               |  24 -
 drivers/event/sw/Makefile                     |  29 -
 drivers/mempool/Makefile                      |  18 -
 drivers/mempool/bucket/Makefile               |  25 -
 drivers/mempool/dpaa/Makefile                 |  30 --
 drivers/mempool/dpaa2/Makefile                |  31 --
 drivers/mempool/octeontx/Makefile             |  39 --
 drivers/mempool/octeontx2/Makefile            |  40 --
 drivers/mempool/ring/Makefile                 |  19 -
 drivers/mempool/stack/Makefile                |  22 -
 drivers/net/Makefile                          |  84 ---
 drivers/net/af_packet/Makefile                |  27 -
 drivers/net/af_xdp/Makefile                   |  26 -
 drivers/net/ark/Makefile                      |  39 --
 drivers/net/atlantic/Makefile                 |  34 --
 drivers/net/avp/Makefile                      |  29 -
 drivers/net/axgbe/Makefile                    |  33 --
 drivers/net/bnx2x/Makefile                    |  33 --
 drivers/net/bnxt/Makefile                     |  63 ---
 drivers/net/bnxt/hcapi/Makefile               |   5 -
 drivers/net/bnxt/tf_core/Makefile             |  31 --
 drivers/net/bnxt/tf_ulp/Makefile              |  20 -
 drivers/net/bonding/Makefile                  |  36 --
 drivers/net/cxgbe/Makefile                    |  57 --
 drivers/net/dpaa/Makefile                     |  41 --
 drivers/net/dpaa2/Makefile                    |  47 --
 drivers/net/e1000/Makefile                    |  79 ---
 drivers/net/ena/Makefile                      |  30 --
 drivers/net/enetc/Makefile                    |  23 -
 drivers/net/enic/Makefile                     |  68 ---
 drivers/net/failsafe/Makefile                 |  43 --
 drivers/net/fm10k/Makefile                    |  77 ---
 drivers/net/hinic/Makefile                    |  67 ---
 drivers/net/hns3/Makefile                     |  42 --
 drivers/net/i40e/Makefile                     | 112 ----
 drivers/net/iavf/Makefile                     |  54 --
 drivers/net/ice/Makefile                      |  96 ----
 drivers/net/igc/Makefile                      |  40 --
 drivers/net/ionic/Makefile                    |  31 --
 drivers/net/ipn3ke/Makefile                   |  38 --
 drivers/net/ixgbe/Makefile                    | 110 ----
 drivers/net/kni/Makefile                      |  30 --
 drivers/net/liquidio/Makefile                 |  30 --
 drivers/net/memif/Makefile                    |  26 -
 drivers/net/mlx4/Makefile                     | 142 -----
 drivers/net/mlx5/Makefile                     |  82 ---
 drivers/net/mvneta/Makefile                   |  39 --
 drivers/net/mvpp2/Makefile                    |  42 --
 drivers/net/netvsc/Makefile                   |  21 -
 drivers/net/nfb/Makefile                      |  40 --
 drivers/net/nfp/Makefile                      |  41 --
 drivers/net/null/Makefile                     |  24 -
 drivers/net/octeontx/Makefile                 |  53 --
 drivers/net/octeontx2/Makefile                |  63 ---
 drivers/net/pcap/Makefile                     |  32 --
 drivers/net/pfe/Makefile                      |  31 --
 drivers/net/qede/Makefile                     | 109 ----
 drivers/net/ring/Makefile                     |  29 -
 drivers/net/sfc/Makefile                      | 133 -----
 drivers/net/softnic/Makefile                  |  54 --
 drivers/net/szedata2/Makefile                 |  30 --
 drivers/net/tap/Makefile                      |  97 ----
 drivers/net/thunderx/Makefile                 |  41 --
 drivers/net/vdev_netvsc/Makefile              |  30 --
 drivers/net/vhost/Makefile                    |  31 --
 drivers/net/virtio/Makefile                   |  82 ---
 drivers/net/vmxnet3/Makefile                  |  53 --
 drivers/raw/Makefile                          |  18 -
 drivers/raw/dpaa2_cmdif/Makefile              |  35 --
 drivers/raw/dpaa2_qdma/Makefile               |  36 --
 drivers/raw/ifpga/Makefile                    |  39 --
 drivers/raw/ifpga/base/Makefile               |  32 --
 drivers/raw/ioat/Makefile                     |  28 -
 drivers/raw/ntb/Makefile                      |  28 -
 drivers/raw/octeontx2_dma/Makefile            |  34 --
 drivers/raw/octeontx2_ep/Makefile             |  42 --
 drivers/raw/skeleton/Makefile                 |  26 -
 drivers/regex/Makefile                        |   8 -
 drivers/regex/mlx5/Makefile                   |  41 --
 drivers/vdpa/Makefile                         |  12 -
 drivers/vdpa/ifc/Makefile                     |  33 --
 drivers/vdpa/mlx5/Makefile                    |  58 --
 examples/Makefile                             |  90 ----
 kernel/Makefile                               |   9 -
 kernel/freebsd/Makefile                       |   9 -
 kernel/freebsd/contigmem/Makefile             |  24 -
 kernel/freebsd/nic_uio/Makefile               |  24 -
 kernel/linux/Makefile                         |   9 -
 kernel/linux/igb_uio/Makefile                 |  25 -
 kernel/linux/kni/Makefile                     |  34 --
 lib/Makefile                                  | 138 -----
 lib/librte_acl/Makefile                       |  65 ---
 lib/librte_bbdev/Makefile                     |  25 -
 lib/librte_bitratestats/Makefile              |  20 -
 lib/librte_bpf/Makefile                       |  40 --
 lib/librte_cfgfile/Makefile                   |  26 -
 lib/librte_cmdline/Makefile                   |  34 --
 lib/librte_compressdev/Makefile               |  27 -
 lib/librte_cryptodev/Makefile                 |  30 --
 lib/librte_distributor/Makefile               |  28 -
 lib/librte_eal/Makefile                       |  12 -
 lib/librte_eal/freebsd/Makefile               | 104 ----
 lib/librte_eal/include/Makefile               |  19 -
 lib/librte_eal/linux/Makefile                 | 112 ----
 lib/librte_efd/Makefile                       |  21 -
 lib/librte_ethdev/Makefile                    |  46 --
 lib/librte_eventdev/Makefile                  |  47 --
 lib/librte_fib/Makefile                       |  22 -
 lib/librte_flow_classify/Makefile             |  23 -
 lib/librte_graph/Makefile                     |  28 -
 lib/librte_gro/Makefile                       |  23 -
 lib/librte_gso/Makefile                       |  25 -
 lib/librte_hash/Makefile                      |  31 --
 lib/librte_ip_frag/Makefile                   |  27 -
 lib/librte_ipsec/Makefile                     |  29 -
 lib/librte_jobstats/Makefile                  |  21 -
 lib/librte_kni/Makefile                       |  20 -
 lib/librte_kvargs/Makefile                    |  21 -
 lib/librte_latencystats/Makefile              |  22 -
 lib/librte_lpm/Makefile                       |  29 -
 lib/librte_mbuf/Makefile                      |  26 -
 lib/librte_member/Makefile                    |  22 -
 lib/librte_mempool/Makefile                   |  24 -
 lib/librte_meter/Makefile                     |  27 -
 lib/librte_metrics/Makefile                   |  30 --
 lib/librte_net/Makefile                       |  25 -
 lib/librte_node/Makefile                      |  33 --
 lib/librte_pci/Makefile                       |  19 -
 lib/librte_pdump/Makefile                     |  20 -
 lib/librte_pipeline/Makefile                  |  28 -
 lib/librte_port/Makefile                      |  59 --
 lib/librte_power/Makefile                     |  24 -
 lib/librte_rawdev/Makefile                    |  24 -
 lib/librte_rcu/Makefile                       |  20 -
 lib/librte_regexdev/Makefile                  |  32 --
 lib/librte_reorder/Makefile                   |  21 -
 lib/librte_rib/Makefile                       |  22 -
 lib/librte_ring/Makefile                      |  30 --
 lib/librte_sched/Makefile                     |  29 -
 lib/librte_security/Makefile                  |  24 -
 lib/librte_stack/Makefile                     |  27 -
 lib/librte_table/Makefile                     |  59 --
 lib/librte_telemetry/Makefile                 |  30 --
 lib/librte_timer/Makefile                     |  20 -
 lib/librte_vhost/Makefile                     |  54 --
 mk/arch/arm/rte.vars.mk                       |  16 -
 mk/arch/arm64/rte.vars.mk                     |  37 --
 mk/arch/i686/rte.vars.mk                      |  36 --
 mk/arch/ppc_64/rte.vars.mk                    |  17 -
 mk/arch/x86_64/rte.vars.mk                    |  36 --
 mk/arch/x86_x32/rte.vars.mk                   |  40 --
 mk/exec-env/bsdapp                            |   1 -
 mk/exec-env/freebsd/rte.app.mk                |   8 -
 mk/exec-env/freebsd/rte.vars.mk               |  36 --
 mk/exec-env/linux/rte.app.mk                  |   8 -
 mk/exec-env/linux/rte.vars.mk                 |  44 --
 mk/exec-env/linuxapp                          |   1 -
 mk/internal/rte.build-post.mk                 |  34 --
 mk/internal/rte.build-pre.mk                  |   7 -
 mk/internal/rte.clean-post.mk                 |  34 --
 mk/internal/rte.clean-pre.mk                  |   4 -
 mk/internal/rte.compile-post.mk               |   5 -
 mk/internal/rte.compile-pre.mk                | 164 ------
 mk/internal/rte.extvars.mk                    |  55 --
 mk/internal/rte.install-post.mk               |  71 ---
 mk/internal/rte.install-pre.mk                |  32 --
 mk/machine/armv7a/rte.vars.mk                 |  36 --
 mk/machine/armv8a/rte.vars.mk                 |  31 --
 mk/machine/default/rte.vars.mk                |  30 --
 mk/machine/dpaa/rte.vars.mk                   |  37 --
 mk/machine/emag/rte.vars.mk                   |  32 --
 mk/machine/hsw/rte.vars.mk                    |  30 --
 mk/machine/ivb/rte.vars.mk                    |  30 --
 mk/machine/n1sdp/rte.vars.mk                  |  34 --
 mk/machine/native/rte.vars.mk                 |  39 --
 mk/machine/nhm/rte.vars.mk                    |  30 --
 mk/machine/octeontx2/rte.vars.mk              |  34 --
 mk/machine/power8/rte.vars.mk                 |  30 --
 mk/machine/silvermont/rte.vars.mk             |  30 --
 mk/machine/snb/rte.vars.mk                    |  30 --
 mk/machine/thunderx/rte.vars.mk               |  31 --
 mk/machine/thunderx2/rte.vars.mk              |  34 --
 mk/machine/wsm/rte.vars.mk                    |  30 --
 mk/machine/xgene1/rte.vars.mk                 |  31 --
 mk/rte.app.mk                                 | 509 ------------------
 mk/rte.bsdmodule.mk                           |  89 ---
 mk/rte.combinedlib.mk                         |  30 --
 mk/rte.cpuflags.mk                            | 124 -----
 mk/rte.extapp.mk                              |  24 -
 mk/rte.extlib.mk                              |  26 -
 mk/rte.extobj.mk                              |  24 -
 mk/rte.extshared.mk                           |  26 -
 mk/rte.extsubdir.mk                           |  39 --
 mk/rte.gnuconfigure.mk                        |  44 --
 mk/rte.helper.mk                              |  10 -
 mk/rte.hostapp.mk                             |  93 ----
 mk/rte.hostlib.mk                             |  86 ---
 mk/rte.install.mk                             |  28 -
 mk/rte.lib.mk                                 | 156 ------
 mk/rte.module.mk                              |  86 ---
 mk/rte.obj.mk                                 |  82 ---
 mk/rte.sdkbuild.mk                            |  77 ---
 mk/rte.sdkconfig.mk                           | 142 -----
 mk/rte.sdkdepdirs.mk                          |   9 -
 mk/rte.sdkdoc.mk                              | 104 ----
 mk/rte.sdkexamples.mk                         |  50 --
 mk/rte.sdkgcov.mk                             |  39 --
 mk/rte.sdkinstall.mk                          | 152 ------
 mk/rte.sdkroot.mk                             | 115 ----
 mk/rte.sdktest.mk                             |  76 ---
 mk/rte.shared.mk                              | 108 ----
 mk/rte.subdir.mk                              |  65 ---
 mk/rte.vars.mk                                | 102 ----
 mk/target/generic/rte.app.mk                  |  13 -
 mk/target/generic/rte.vars.mk                 | 132 -----
 mk/toolchain/clang/rte.toolchain-compat.mk    |  22 -
 mk/toolchain/clang/rte.vars.mk                |  60 ---
 mk/toolchain/gcc/rte.toolchain-compat.mk      | 120 -----
 mk/toolchain/gcc/rte.vars.mk                  | 109 ----
 mk/toolchain/icc/rte.toolchain-compat.mk      |  58 --
 mk/toolchain/icc/rte.vars.mk                  |  62 ---
 316 files changed, 26 insertions(+), 14324 deletions(-)
 delete mode 100644 GNUmakefile
 delete mode 100644 app/Makefile
 delete mode 100644 app/pdump/Makefile
 delete mode 100644 app/proc-info/Makefile
 delete mode 100644 app/test-acl/Makefile
 delete mode 100644 app/test-bbdev/Makefile
 delete mode 100644 app/test-cmdline/Makefile
 delete mode 100644 app/test-compress-perf/Makefile
 delete mode 100644 app/test-crypto-perf/Makefile
 delete mode 100644 app/test-eventdev/Makefile
 delete mode 100644 app/test-fib/Makefile
 delete mode 100644 app/test-flow-perf/Makefile
 delete mode 100644 app/test-pipeline/Makefile
 delete mode 100644 app/test-pmd/Makefile
 delete mode 100644 app/test-regex/Makefile
 delete mode 100644 app/test-sad/Makefile
 delete mode 100644 app/test/Makefile
 delete mode 100644 buildtools/Makefile
 delete mode 100644 buildtools/pmdinfogen/Makefile
 delete mode 100755 devtools/test-build.sh
 delete mode 100644 doc/build-sdk-quick.txt
 delete mode 100644 doc/guides/prog_guide/dev_kit_build_system.rst
 delete mode 100644 doc/guides/prog_guide/dev_kit_root_make_help.rst
 delete mode 100644 doc/guides/prog_guide/ext_app_lib_make_help.rst
 delete mode 100644 drivers/Makefile
 delete mode 100644 drivers/baseband/Makefile
 delete mode 100644 drivers/baseband/fpga_5gnr_fec/Makefile
 delete mode 100644 drivers/baseband/fpga_lte_fec/Makefile
 delete mode 100644 drivers/baseband/null/Makefile
 delete mode 100644 drivers/baseband/turbo_sw/Makefile
 delete mode 100644 drivers/bus/Makefile
 delete mode 100644 drivers/bus/dpaa/Makefile
 delete mode 100644 drivers/bus/fslmc/Makefile
 delete mode 100644 drivers/bus/ifpga/Makefile
 delete mode 100644 drivers/bus/pci/Makefile
 delete mode 100644 drivers/bus/pci/bsd/Makefile
 delete mode 100644 drivers/bus/pci/linux/Makefile
 delete mode 100644 drivers/bus/vdev/Makefile
 delete mode 100644 drivers/bus/vmbus/Makefile
 delete mode 100644 drivers/bus/vmbus/linux/Makefile
 delete mode 100644 drivers/common/Makefile
 delete mode 100644 drivers/common/cpt/Makefile
 delete mode 100644 drivers/common/dpaax/Makefile
 delete mode 100644 drivers/common/iavf/Makefile
 delete mode 100644 drivers/common/mlx5/Makefile
 delete mode 100644 drivers/common/mvep/Makefile
 delete mode 100644 drivers/common/octeontx/Makefile
 delete mode 100644 drivers/common/octeontx2/Makefile
 delete mode 100644 drivers/common/qat/Makefile
 delete mode 100644 drivers/compress/Makefile
 delete mode 100644 drivers/compress/isal/Makefile
 delete mode 100644 drivers/compress/octeontx/Makefile
 delete mode 100644 drivers/compress/zlib/Makefile
 delete mode 100644 drivers/crypto/Makefile
 delete mode 100644 drivers/crypto/aesni_gcm/Makefile
 delete mode 100644 drivers/crypto/aesni_mb/Makefile
 delete mode 100644 drivers/crypto/armv8/Makefile
 delete mode 100644 drivers/crypto/caam_jr/Makefile
 delete mode 100644 drivers/crypto/ccp/Makefile
 delete mode 100644 drivers/crypto/dpaa2_sec/Makefile
 delete mode 100644 drivers/crypto/dpaa_sec/Makefile
 delete mode 100644 drivers/crypto/kasumi/Makefile
 delete mode 100644 drivers/crypto/mvsam/Makefile
 delete mode 100644 drivers/crypto/nitrox/Makefile
 delete mode 100644 drivers/crypto/null/Makefile
 delete mode 100644 drivers/crypto/octeontx/Makefile
 delete mode 100644 drivers/crypto/octeontx2/Makefile
 delete mode 100644 drivers/crypto/openssl/Makefile
 delete mode 100644 drivers/crypto/scheduler/Makefile
 delete mode 100644 drivers/crypto/snow3g/Makefile
 delete mode 100644 drivers/crypto/virtio/Makefile
 delete mode 100644 drivers/crypto/zuc/Makefile
 delete mode 100644 drivers/event/Makefile
 delete mode 100644 drivers/event/dpaa/Makefile
 delete mode 100644 drivers/event/dpaa2/Makefile
 delete mode 100644 drivers/event/dsw/Makefile
 delete mode 100644 drivers/event/octeontx/Makefile
 delete mode 100644 drivers/event/octeontx2/Makefile
 delete mode 100644 drivers/event/opdl/Makefile
 delete mode 100644 drivers/event/skeleton/Makefile
 delete mode 100644 drivers/event/sw/Makefile
 delete mode 100644 drivers/mempool/Makefile
 delete mode 100644 drivers/mempool/bucket/Makefile
 delete mode 100644 drivers/mempool/dpaa/Makefile
 delete mode 100644 drivers/mempool/dpaa2/Makefile
 delete mode 100644 drivers/mempool/octeontx/Makefile
 delete mode 100644 drivers/mempool/octeontx2/Makefile
 delete mode 100644 drivers/mempool/ring/Makefile
 delete mode 100644 drivers/mempool/stack/Makefile
 delete mode 100644 drivers/net/Makefile
 delete mode 100644 drivers/net/af_packet/Makefile
 delete mode 100644 drivers/net/af_xdp/Makefile
 delete mode 100644 drivers/net/ark/Makefile
 delete mode 100644 drivers/net/atlantic/Makefile
 delete mode 100644 drivers/net/avp/Makefile
 delete mode 100644 drivers/net/axgbe/Makefile
 delete mode 100644 drivers/net/bnx2x/Makefile
 delete mode 100644 drivers/net/bnxt/Makefile
 delete mode 100644 drivers/net/bnxt/hcapi/Makefile
 delete mode 100644 drivers/net/bnxt/tf_core/Makefile
 delete mode 100644 drivers/net/bnxt/tf_ulp/Makefile
 delete mode 100644 drivers/net/bonding/Makefile
 delete mode 100644 drivers/net/cxgbe/Makefile
 delete mode 100644 drivers/net/dpaa/Makefile
 delete mode 100644 drivers/net/dpaa2/Makefile
 delete mode 100644 drivers/net/e1000/Makefile
 delete mode 100644 drivers/net/ena/Makefile
 delete mode 100644 drivers/net/enetc/Makefile
 delete mode 100644 drivers/net/enic/Makefile
 delete mode 100644 drivers/net/failsafe/Makefile
 delete mode 100644 drivers/net/fm10k/Makefile
 delete mode 100644 drivers/net/hinic/Makefile
 delete mode 100644 drivers/net/hns3/Makefile
 delete mode 100644 drivers/net/i40e/Makefile
 delete mode 100644 drivers/net/iavf/Makefile
 delete mode 100644 drivers/net/ice/Makefile
 delete mode 100644 drivers/net/igc/Makefile
 delete mode 100644 drivers/net/ionic/Makefile
 delete mode 100644 drivers/net/ipn3ke/Makefile
 delete mode 100644 drivers/net/ixgbe/Makefile
 delete mode 100644 drivers/net/kni/Makefile
 delete mode 100644 drivers/net/liquidio/Makefile
 delete mode 100644 drivers/net/memif/Makefile
 delete mode 100644 drivers/net/mlx4/Makefile
 delete mode 100644 drivers/net/mlx5/Makefile
 delete mode 100644 drivers/net/mvneta/Makefile
 delete mode 100644 drivers/net/mvpp2/Makefile
 delete mode 100644 drivers/net/netvsc/Makefile
 delete mode 100644 drivers/net/nfb/Makefile
 delete mode 100644 drivers/net/nfp/Makefile
 delete mode 100644 drivers/net/null/Makefile
 delete mode 100644 drivers/net/octeontx/Makefile
 delete mode 100644 drivers/net/octeontx2/Makefile
 delete mode 100644 drivers/net/pcap/Makefile
 delete mode 100644 drivers/net/pfe/Makefile
 delete mode 100644 drivers/net/qede/Makefile
 delete mode 100644 drivers/net/ring/Makefile
 delete mode 100644 drivers/net/sfc/Makefile
 delete mode 100644 drivers/net/softnic/Makefile
 delete mode 100644 drivers/net/szedata2/Makefile
 delete mode 100644 drivers/net/tap/Makefile
 delete mode 100644 drivers/net/thunderx/Makefile
 delete mode 100644 drivers/net/vdev_netvsc/Makefile
 delete mode 100644 drivers/net/vhost/Makefile
 delete mode 100644 drivers/net/virtio/Makefile
 delete mode 100644 drivers/net/vmxnet3/Makefile
 delete mode 100644 drivers/raw/Makefile
 delete mode 100644 drivers/raw/dpaa2_cmdif/Makefile
 delete mode 100644 drivers/raw/dpaa2_qdma/Makefile
 delete mode 100644 drivers/raw/ifpga/Makefile
 delete mode 100644 drivers/raw/ifpga/base/Makefile
 delete mode 100644 drivers/raw/ioat/Makefile
 delete mode 100644 drivers/raw/ntb/Makefile
 delete mode 100644 drivers/raw/octeontx2_dma/Makefile
 delete mode 100644 drivers/raw/octeontx2_ep/Makefile
 delete mode 100644 drivers/raw/skeleton/Makefile
 delete mode 100644 drivers/regex/Makefile
 delete mode 100644 drivers/regex/mlx5/Makefile
 delete mode 100644 drivers/vdpa/Makefile
 delete mode 100644 drivers/vdpa/ifc/Makefile
 delete mode 100644 drivers/vdpa/mlx5/Makefile
 delete mode 100644 examples/Makefile
 delete mode 100644 kernel/Makefile
 delete mode 100644 kernel/freebsd/Makefile
 delete mode 100644 kernel/freebsd/contigmem/Makefile
 delete mode 100644 kernel/freebsd/nic_uio/Makefile
 delete mode 100644 kernel/linux/Makefile
 delete mode 100644 kernel/linux/igb_uio/Makefile
 delete mode 100644 kernel/linux/kni/Makefile
 delete mode 100644 lib/Makefile
 delete mode 100644 lib/librte_acl/Makefile
 delete mode 100644 lib/librte_bbdev/Makefile
 delete mode 100644 lib/librte_bitratestats/Makefile
 delete mode 100644 lib/librte_bpf/Makefile
 delete mode 100644 lib/librte_cfgfile/Makefile
 delete mode 100644 lib/librte_cmdline/Makefile
 delete mode 100644 lib/librte_compressdev/Makefile
 delete mode 100644 lib/librte_cryptodev/Makefile
 delete mode 100644 lib/librte_distributor/Makefile
 delete mode 100644 lib/librte_eal/Makefile
 delete mode 100644 lib/librte_eal/freebsd/Makefile
 delete mode 100644 lib/librte_eal/include/Makefile
 delete mode 100644 lib/librte_eal/linux/Makefile
 delete mode 100644 lib/librte_efd/Makefile
 delete mode 100644 lib/librte_ethdev/Makefile
 delete mode 100644 lib/librte_eventdev/Makefile
 delete mode 100644 lib/librte_fib/Makefile
 delete mode 100644 lib/librte_flow_classify/Makefile
 delete mode 100644 lib/librte_graph/Makefile
 delete mode 100644 lib/librte_gro/Makefile
 delete mode 100644 lib/librte_gso/Makefile
 delete mode 100644 lib/librte_hash/Makefile
 delete mode 100644 lib/librte_ip_frag/Makefile
 delete mode 100644 lib/librte_ipsec/Makefile
 delete mode 100644 lib/librte_jobstats/Makefile
 delete mode 100644 lib/librte_kni/Makefile
 delete mode 100644 lib/librte_kvargs/Makefile
 delete mode 100644 lib/librte_latencystats/Makefile
 delete mode 100644 lib/librte_lpm/Makefile
 delete mode 100644 lib/librte_mbuf/Makefile
 delete mode 100644 lib/librte_member/Makefile
 delete mode 100644 lib/librte_mempool/Makefile
 delete mode 100644 lib/librte_meter/Makefile
 delete mode 100644 lib/librte_metrics/Makefile
 delete mode 100644 lib/librte_net/Makefile
 delete mode 100644 lib/librte_node/Makefile
 delete mode 100644 lib/librte_pci/Makefile
 delete mode 100644 lib/librte_pdump/Makefile
 delete mode 100644 lib/librte_pipeline/Makefile
 delete mode 100644 lib/librte_port/Makefile
 delete mode 100644 lib/librte_power/Makefile
 delete mode 100644 lib/librte_rawdev/Makefile
 delete mode 100644 lib/librte_rcu/Makefile
 delete mode 100644 lib/librte_regexdev/Makefile
 delete mode 100644 lib/librte_reorder/Makefile
 delete mode 100644 lib/librte_rib/Makefile
 delete mode 100644 lib/librte_ring/Makefile
 delete mode 100644 lib/librte_sched/Makefile
 delete mode 100644 lib/librte_security/Makefile
 delete mode 100644 lib/librte_stack/Makefile
 delete mode 100644 lib/librte_table/Makefile
 delete mode 100644 lib/librte_telemetry/Makefile
 delete mode 100644 lib/librte_timer/Makefile
 delete mode 100644 lib/librte_vhost/Makefile
 delete mode 100644 mk/arch/arm/rte.vars.mk
 delete mode 100644 mk/arch/arm64/rte.vars.mk
 delete mode 100644 mk/arch/i686/rte.vars.mk
 delete mode 100644 mk/arch/ppc_64/rte.vars.mk
 delete mode 100644 mk/arch/x86_64/rte.vars.mk
 delete mode 100644 mk/arch/x86_x32/rte.vars.mk
 delete mode 120000 mk/exec-env/bsdapp
 delete mode 100644 mk/exec-env/freebsd/rte.app.mk
 delete mode 100644 mk/exec-env/freebsd/rte.vars.mk
 delete mode 100644 mk/exec-env/linux/rte.app.mk
 delete mode 100644 mk/exec-env/linux/rte.vars.mk
 delete mode 120000 mk/exec-env/linuxapp
 delete mode 100644 mk/internal/rte.build-post.mk
 delete mode 100644 mk/internal/rte.build-pre.mk
 delete mode 100644 mk/internal/rte.clean-post.mk
 delete mode 100644 mk/internal/rte.clean-pre.mk
 delete mode 100644 mk/internal/rte.compile-post.mk
 delete mode 100644 mk/internal/rte.compile-pre.mk
 delete mode 100644 mk/internal/rte.extvars.mk
 delete mode 100644 mk/internal/rte.install-post.mk
 delete mode 100644 mk/internal/rte.install-pre.mk
 delete mode 100644 mk/machine/armv7a/rte.vars.mk
 delete mode 100644 mk/machine/armv8a/rte.vars.mk
 delete mode 100644 mk/machine/default/rte.vars.mk
 delete mode 100644 mk/machine/dpaa/rte.vars.mk
 delete mode 100644 mk/machine/emag/rte.vars.mk
 delete mode 100644 mk/machine/hsw/rte.vars.mk
 delete mode 100644 mk/machine/ivb/rte.vars.mk
 delete mode 100644 mk/machine/n1sdp/rte.vars.mk
 delete mode 100644 mk/machine/native/rte.vars.mk
 delete mode 100644 mk/machine/nhm/rte.vars.mk
 delete mode 100644 mk/machine/octeontx2/rte.vars.mk
 delete mode 100644 mk/machine/power8/rte.vars.mk
 delete mode 100644 mk/machine/silvermont/rte.vars.mk
 delete mode 100644 mk/machine/snb/rte.vars.mk
 delete mode 100644 mk/machine/thunderx/rte.vars.mk
 delete mode 100644 mk/machine/thunderx2/rte.vars.mk
 delete mode 100644 mk/machine/wsm/rte.vars.mk
 delete mode 100644 mk/machine/xgene1/rte.vars.mk
 delete mode 100644 mk/rte.app.mk
 delete mode 100644 mk/rte.bsdmodule.mk
 delete mode 100644 mk/rte.combinedlib.mk
 delete mode 100644 mk/rte.cpuflags.mk
 delete mode 100644 mk/rte.extapp.mk
 delete mode 100644 mk/rte.extlib.mk
 delete mode 100644 mk/rte.extobj.mk
 delete mode 100644 mk/rte.extshared.mk
 delete mode 100644 mk/rte.extsubdir.mk
 delete mode 100644 mk/rte.gnuconfigure.mk
 delete mode 100644 mk/rte.helper.mk
 delete mode 100644 mk/rte.hostapp.mk
 delete mode 100644 mk/rte.hostlib.mk
 delete mode 100644 mk/rte.install.mk
 delete mode 100644 mk/rte.lib.mk
 delete mode 100644 mk/rte.module.mk
 delete mode 100644 mk/rte.obj.mk
 delete mode 100644 mk/rte.sdkbuild.mk
 delete mode 100644 mk/rte.sdkconfig.mk
 delete mode 100644 mk/rte.sdkdepdirs.mk
 delete mode 100644 mk/rte.sdkdoc.mk
 delete mode 100644 mk/rte.sdkexamples.mk
 delete mode 100644 mk/rte.sdkgcov.mk
 delete mode 100644 mk/rte.sdkinstall.mk
 delete mode 100644 mk/rte.sdkroot.mk
 delete mode 100644 mk/rte.sdktest.mk
 delete mode 100644 mk/rte.shared.mk
 delete mode 100644 mk/rte.subdir.mk
 delete mode 100644 mk/rte.vars.mk
 delete mode 100644 mk/target/generic/rte.app.mk
 delete mode 100644 mk/target/generic/rte.vars.mk
 delete mode 100644 mk/toolchain/clang/rte.toolchain-compat.mk
 delete mode 100644 mk/toolchain/clang/rte.vars.mk
 delete mode 100644 mk/toolchain/gcc/rte.toolchain-compat.mk
 delete mode 100644 mk/toolchain/gcc/rte.vars.mk
 delete mode 100644 mk/toolchain/icc/rte.toolchain-compat.mk
 delete mode 100644 mk/toolchain/icc/rte.vars.mk

diff --git a/GNUmakefile b/GNUmakefile
deleted file mode 100644
index e8de422df8..0000000000
--- a/GNUmakefile
+++ /dev/null
@@ -1,17 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2015 Intel Corporation
-
-#
-# Head Makefile for compiling rte SDK
-#
-
-RTE_SDK := $(CURDIR)
-export RTE_SDK
-
-#
-# directory list
-#
-
-ROOTDIRS-y := buildtools lib kernel drivers app
-
-include $(RTE_SDK)/mk/rte.sdkroot.mk
diff --git a/MAINTAINERS b/MAINTAINERS
index ed163f5d59..d8a51b0af1 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -90,8 +90,6 @@ F: devtools/checkpatches.sh
 F: devtools/get-maintainer.sh
 F: devtools/git-log-fixes.sh
 F: devtools/load-devel-config
-F: devtools/test-build.sh
-F: devtools/test-meson-builds.sh
 F: devtools/words-case.txt
 F: license/
 F: .editorconfig
@@ -100,18 +98,12 @@ F: .editorconfig
 Build System
 ------------
 M: Thomas Monjalon <thomas@monjalon.net>
-F: GNUmakefile
 F: Makefile
 F: config/
-F: mk/
 F: buildtools/auto-config-h.sh
 F: buildtools/gen-build-mk.sh
 F: buildtools/gen-config-h.sh
 F: buildtools/relpath.sh
-F: doc/build-sdk-quick.txt
-F: doc/guides/prog_guide/build_app.rst
-F: doc/guides/prog_guide/dev_kit_*
-F: doc/guides/prog_guide/ext_app_lib_make_help.rst
 
 Meson build
 M: Bruce Richardson <bruce.richardson@intel.com>
@@ -124,6 +116,7 @@ F: buildtools/gen-pmdinfo-cfile.sh
 F: buildtools/list-dir-globs.py
 F: buildtools/pkg-config/
 F: buildtools/symlink-drivers-solibs.sh
+F: devtools/test-meson-builds.sh
 
 Public CI
 M: Aaron Conole <aconole@redhat.com>
@@ -354,7 +347,6 @@ Memory pool
 M: Olivier Matz <olivier.matz@6wind.com>
 M: Andrew Rybchenko <arybchenko@solarflare.com>
 F: lib/librte_mempool/
-F: drivers/mempool/Makefile
 F: drivers/mempool/ring/
 F: doc/guides/prog_guide/mempool_lib.rst
 F: app/test/test_mempool*
@@ -1519,7 +1511,6 @@ Test Applications
 -----------------
 
 Unit tests framework
-F: app/test/Makefile
 F: app/test/autotest*
 F: app/test/commands.c
 F: app/test/get-coremask.sh
diff --git a/app/Makefile b/app/Makefile
deleted file mode 100644
index 453c4fed6d..0000000000
--- a/app/Makefile
+++ /dev/null
@@ -1,34 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-$(CONFIG_RTE_APP_TEST) += test
-DIRS-$(CONFIG_RTE_TEST_PMD) += test-pmd
-DIRS-$(CONFIG_RTE_PROC_INFO) += proc-info
-DIRS-$(CONFIG_RTE_LIBRTE_PDUMP) += pdump
-DIRS-$(CONFIG_RTE_LIBRTE_ACL) += test-acl
-DIRS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test-cmdline
-DIRS-$(CONFIG_RTE_LIBRTE_FIB) += test-fib
-DIRS-$(CONFIG_RTE_TEST_FLOW_PERF) += test-flow-perf
-DIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) += test-pipeline
-DIRS-$(CONFIG_RTE_LIBRTE_IPSEC) += test-sad
-DIRS-$(CONFIG_RTE_LIBRTE_REGEXDEV) += test-regex
-
-ifeq ($(CONFIG_RTE_LIBRTE_BBDEV),y)
-DIRS-$(CONFIG_RTE_TEST_BBDEV) += test-bbdev
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_COMPRESSDEV),y)
-DIRS-$(CONFIG_RTE_APP_COMPRESS_PERF) += test-compress-perf
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_CRYPTODEV),y)
-DIRS-$(CONFIG_RTE_APP_CRYPTO_PERF) += test-crypto-perf
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_EVENTDEV),y)
-DIRS-$(CONFIG_RTE_APP_EVENTDEV) += test-eventdev
-endif
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/app/pdump/Makefile b/app/pdump/Makefile
deleted file mode 100644
index e6b9eea91b..0000000000
--- a/app/pdump/Makefile
+++ /dev/null
@@ -1,18 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-ifeq ($(CONFIG_RTE_LIBRTE_PDUMP),y)
-
-APP = dpdk-pdump
-
-CFLAGS += $(WERROR_FLAGS)
-
-# all source are stored in SRCS-y
-
-SRCS-y := main.c
-
-include $(RTE_SDK)/mk/rte.app.mk
-
-endif
diff --git a/app/proc-info/Makefile b/app/proc-info/Makefile
deleted file mode 100644
index 214f3f54a1..0000000000
--- a/app/proc-info/Makefile
+++ /dev/null
@@ -1,14 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2015 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-APP = dpdk-procinfo
-
-CFLAGS += $(WERROR_FLAGS)
-
-# all source are stored in SRCS-y
-
-SRCS-y := main.c
-
-include $(RTE_SDK)/mk/rte.app.mk
diff --git a/app/test-acl/Makefile b/app/test-acl/Makefile
deleted file mode 100644
index 5f26294cf1..0000000000
--- a/app/test-acl/Makefile
+++ /dev/null
@@ -1,17 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-ifeq ($(CONFIG_RTE_LIBRTE_ACL),y)
-
-APP = testacl
-
-CFLAGS += $(WERROR_FLAGS)
-
-# all source are stored in SRCS-y
-SRCS-y := main.c
-
-include $(RTE_SDK)/mk/rte.app.mk
-
-endif
diff --git a/app/test-bbdev/Makefile b/app/test-bbdev/Makefile
deleted file mode 100644
index dc29557f37..0000000000
--- a/app/test-bbdev/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-APP = testbbdev
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-#
-# all sources are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_TEST_BBDEV) += main.c
-SRCS-$(CONFIG_RTE_TEST_BBDEV) += test_bbdev.c
-SRCS-$(CONFIG_RTE_TEST_BBDEV) += test_bbdev_perf.c
-SRCS-$(CONFIG_RTE_TEST_BBDEV) += test_bbdev_vector.c
-
-LDLIBS += -lm
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_LTE_FEC),y)
-LDLIBS += -lrte_pmd_bbdev_fpga_lte_fec
-endif
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_5GNR_FEC),y)
-LDLIBS += -lrte_pmd_bbdev_fpga_5gnr_fec
-endif
-
-include $(RTE_SDK)/mk/rte.app.mk
diff --git a/app/test-cmdline/Makefile b/app/test-cmdline/Makefile
deleted file mode 100644
index 3e7421906b..0000000000
--- a/app/test-cmdline/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-ifeq ($(CONFIG_RTE_LIBRTE_CMDLINE),y)
-
-#
-# library name
-#
-APP = cmdline_test
-
-#
-# all sources are stored in SRCS-y
-#
-SRCS-y += cmdline_test.c
-SRCS-y += commands.c
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-include $(RTE_SDK)/mk/rte.app.mk
-
-endif
diff --git a/app/test-compress-perf/Makefile b/app/test-compress-perf/Makefile
deleted file mode 100644
index 2bff531836..0000000000
--- a/app/test-compress-perf/Makefile
+++ /dev/null
@@ -1,19 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-APP = dpdk-test-compress-perf
-
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -O3
-
-# all source are stored in SRCS-y
-SRCS-y := main.c
-SRCS-y += comp_perf_options_parse.c
-SRCS-y += comp_perf_test_verify.c
-SRCS-y += comp_perf_test_throughput.c
-SRCS-y += comp_perf_test_cyclecount.c
-SRCS-y += comp_perf_test_common.c
-
-include $(RTE_SDK)/mk/rte.app.mk
diff --git a/app/test-crypto-perf/Makefile b/app/test-crypto-perf/Makefile
deleted file mode 100644
index 0dced790f0..0000000000
--- a/app/test-crypto-perf/Makefile
+++ /dev/null
@@ -1,28 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016-2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-
-APP = dpdk-test-crypto-perf
-
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -O3
-
-# all source are stored in SRCS-y
-SRCS-y := main.c
-SRCS-y += cperf_ops.c
-SRCS-y += cperf_options_parsing.c
-SRCS-y += cperf_test_vectors.c
-SRCS-y += cperf_test_throughput.c
-SRCS-y += cperf_test_latency.c
-SRCS-y += cperf_test_pmd_cyclecount.c
-SRCS-y += cperf_test_verify.c
-SRCS-y += cperf_test_vector_parsing.c
-SRCS-y += cperf_test_common.c
-
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER),y)
-LDLIBS += -lrte_pmd_crypto_scheduler
-endif
-
-include $(RTE_SDK)/mk/rte.app.mk
diff --git a/app/test-eventdev/Makefile b/app/test-eventdev/Makefile
deleted file mode 100644
index e600e21c41..0000000000
--- a/app/test-eventdev/Makefile
+++ /dev/null
@@ -1,32 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Cavium, Inc
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-APP = dpdk-test-eventdev
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-y := evt_main.c
-SRCS-y += evt_options.c
-SRCS-y += evt_test.c
-SRCS-y += parser.c
-
-SRCS-y += test_order_common.c
-SRCS-y += test_order_queue.c
-SRCS-y += test_order_atq.c
-
-SRCS-y += test_perf_common.c
-SRCS-y += test_perf_queue.c
-SRCS-y += test_perf_atq.c
-
-SRCS-y += test_pipeline_common.c
-SRCS-y += test_pipeline_queue.c
-SRCS-y += test_pipeline_atq.c
-
-include $(RTE_SDK)/mk/rte.app.mk
diff --git a/app/test-fib/Makefile b/app/test-fib/Makefile
deleted file mode 100644
index 2ea799c0e9..0000000000
--- a/app/test-fib/Makefile
+++ /dev/null
@@ -1,18 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-ifeq ($(CONFIG_RTE_LIBRTE_FIB),y)
-
-APP = testfib
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-# all source are stored in SRCS-y
-SRCS-y := main.c
-
-include $(RTE_SDK)/mk/rte.app.mk
-
-endif
diff --git a/app/test-flow-perf/Makefile b/app/test-flow-perf/Makefile
deleted file mode 100644
index 4f2db75910..0000000000
--- a/app/test-flow-perf/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2020 Mellanox Technologies, Ltd
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-ifeq ($(CONFIG_RTE_TEST_FLOW_PERF),y)
-
-#
-# library name
-#
-APP = dpdk-test-flow-perf
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-y += actions_gen.c
-SRCS-y += flow_gen.c
-SRCS-y += items_gen.c
-SRCS-y += main.c
-
-include $(RTE_SDK)/mk/rte.app.mk
-
-endif
diff --git a/app/test-pipeline/Makefile b/app/test-pipeline/Makefile
deleted file mode 100644
index fc3a504409..0000000000
--- a/app/test-pipeline/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2015 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-ifeq ($(CONFIG_RTE_LIBRTE_PIPELINE),y)
-
-#
-# library name
-#
-APP = testpipeline
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-y := main.c
-SRCS-y += config.c
-SRCS-y += init.c
-SRCS-y += runtime.c
-SRCS-y += pipeline_stub.c
-SRCS-y += pipeline_hash.c
-SRCS-y += pipeline_lpm.c
-SRCS-y += pipeline_lpm_ipv6.c
-
-# include ACL lib if available
-SRCS-$(CONFIG_RTE_LIBRTE_ACL) += pipeline_acl.c
-
-include $(RTE_SDK)/mk/rte.app.mk
-
-endif
diff --git a/app/test-pmd/Makefile b/app/test-pmd/Makefile
deleted file mode 100644
index e739797f8a..0000000000
--- a/app/test-pmd/Makefile
+++ /dev/null
@@ -1,73 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2015 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-ifeq ($(CONFIG_RTE_TEST_PMD),y)
-
-#
-# library name
-#
-APP = testpmd
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -Wno-deprecated-declarations
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-y := testpmd.c
-SRCS-y += parameters.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_mtr.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_tm.c
-SRCS-y += config.c
-SRCS-y += iofwd.c
-SRCS-y += macfwd.c
-SRCS-y += macswap.c
-SRCS-y += flowgen.c
-SRCS-y += rxonly.c
-SRCS-y += txonly.c
-SRCS-y += csumonly.c
-SRCS-y += icmpecho.c
-SRCS-y += noisy_vnf.c
-SRCS-y += 5tswap.c
-SRCS-$(CONFIG_RTE_LIBRTE_IEEE1588) += ieee1588fwd.c
-SRCS-$(CONFIG_RTE_LIBRTE_BPF) += bpf_cmd.c
-SRCS-y += util.c
-
-ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
-
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_BOND),y)
-LDLIBS += -lrte_pmd_bond
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS)$(CONFIG_RTE_LIBRTE_DPAA_PMD),yy)
-LDLIBS += -lrte_pmd_dpaa
-LDLIBS += -lrte_bus_dpaa
-LDLIBS += -lrte_mempool_dpaa
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_IXGBE_PMD),y)
-LDLIBS += -lrte_pmd_ixgbe
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_I40E_PMD),y)
-LDLIBS += -lrte_pmd_i40e
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_BNXT_PMD),y)
-LDLIBS += -lrte_pmd_bnxt
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_SOFTNIC),y)
-LDLIBS += -lrte_pmd_softnic
-endif
-
-endif
-
-include $(RTE_SDK)/mk/rte.app.mk
-
-endif
diff --git a/app/test-regex/Makefile b/app/test-regex/Makefile
deleted file mode 100644
index bb8f150871..0000000000
--- a/app/test-regex/Makefile
+++ /dev/null
@@ -1,13 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2020 Mellanox Technologies, Ltd
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-APP = dpdk-test-regex
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-SRCS-y := main.c
-
-include $(RTE_SDK)/mk/rte.app.mk
diff --git a/app/test-sad/Makefile b/app/test-sad/Makefile
deleted file mode 100644
index 9b5a7ddc61..0000000000
--- a/app/test-sad/Makefile
+++ /dev/null
@@ -1,17 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-ifeq ($(CONFIG_RTE_LIBRTE_IPSEC),y)
-
-APP = testsad
-
-CFLAGS += $(WERROR_FLAGS)
-
-# all source are stored in SRCS-y
-SRCS-y := main.c
-
-include $(RTE_SDK)/mk/rte.app.mk
-
-endif
diff --git a/app/test/Makefile b/app/test/Makefile
deleted file mode 100644
index f4065271e4..0000000000
--- a/app/test/Makefile
+++ /dev/null
@@ -1,310 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-ifeq ($(CONFIG_RTE_APP_TEST),y)
-
-# default rule
-all:
-
-# Define an externally linked resource. A linked resource is an arbitrary
-# file that is linked into the test binary. The application refers to this
-# resource by name. The linked generates identifiers beg_<name> and end_<name>
-# for referencing by the C code.
-#
-# Parameters: <unique name>, <file to be linked>
-define linked_resource
-SRCS-y += $(1).res.o
-$(1).res.o: $(2)
-	@  echo '  MKRES $$@'
-	$Q [ "$$(<D)" = . ] || ln -fs $$<
-	$Q $(OBJCOPY) -I binary -B $(RTE_OBJCOPY_ARCH) -O $(RTE_OBJCOPY_TARGET) \
-		--rename-section                                         \
-			.data=.rodata,alloc,load,data,contents,readonly  \
-		--redefine-sym _binary_$$(subst .,_,$$(<F))_start=beg_$(1) \
-		--redefine-sym _binary_$$(subst .,_,$$(<F))_end=end_$(1)   \
-		--redefine-sym _binary_$$(subst .,_,$$(<F))_size=siz_$(1)  \
-		$$(<F) $$@
-endef
-
-ifeq ($(CONFIG_RTE_APP_TEST_RESOURCE_TAR),y)
-define linked_tar_resource
-$(1).tar: $(2)
-	@  echo '  TAR $$@'
-	$Q tar -C $$(dir $$<) -cf $$@ $$(notdir $$<)
-$(call linked_resource,$(1),$(1).tar)
-endef
-else # ! CONFIG_RTE_APP_TEST_RESOURCE_TAR
-linked_tar_resource =
-endif # CONFIG_RTE_APP_TEST_RESOURCE_TAR
-
-#
-# library name
-#
-APP = test
-
-#
-# all sources are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) := commands.c
-SRCS-y += test.c
-SRCS-y += resource.c
-SRCS-y += test_resource.c
-test_resource.res: test_resource.c
-	@ cp $< $@
-$(eval $(call linked_resource,test_resource_c,test_resource.res))
-$(eval $(call linked_tar_resource,test_resource_tar,test_resource.c))
-SRCS-$(CONFIG_RTE_APP_TEST_RESOURCE_TAR) += test_cfgfile.c
-$(eval $(call linked_tar_resource,test_cfgfiles,test_cfgfiles))
-SRCS-y += test_prefetch.c
-SRCS-y += test_byteorder.c
-SRCS-y += test_per_lcore.c
-SRCS-y += test_atomic.c
-SRCS-y += test_barrier.c
-SRCS-y += test_malloc.c
-SRCS-y += test_cycles.c
-SRCS-y += test_mcslock.c
-SRCS-y += test_spinlock.c
-SRCS-y += test_ticketlock.c
-SRCS-y += test_memory.c
-SRCS-y += test_memzone.c
-SRCS-y += test_bitmap.c
-SRCS-y += test_bitops.c
-SRCS-y += test_reciprocal_division.c
-SRCS-y += test_reciprocal_division_perf.c
-SRCS-y += test_fbarray.c
-SRCS-y += test_external_mem.c
-SRCS-y += test_rand_perf.c
-
-SRCS-y += test_ring.c
-SRCS-y += test_ring_mpmc_stress.c
-SRCS-y += test_ring_hts_stress.c
-SRCS-y += test_ring_perf.c
-SRCS-y += test_ring_mt_peek_stress.c
-SRCS-y += test_ring_rts_stress.c
-SRCS-y += test_ring_st_peek_stress.c
-SRCS-y += test_ring_stress.c
-SRCS-y += test_pmd_perf.c
-
-ifeq ($(CONFIG_RTE_LIBRTE_TABLE),y)
-SRCS-y += test_table.c
-SRCS-$(CONFIG_RTE_LIBRTE_PIPELINE) += test_table_pipeline.c
-SRCS-y += test_table_tables.c
-SRCS-y += test_table_ports.c
-SRCS-y += test_table_combined.c
-SRCS-$(CONFIG_RTE_LIBRTE_ACL) += test_table_acl.c
-SRCS-$(CONFIG_RTE_LIBRTE_FLOW_CLASSIFY) += test_flow_classify.c
-endif
-
-SRCS-y += test_rwlock.c
-SRCS-y += test_lcores.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_STACK) += test_stack.c
-SRCS-$(CONFIG_RTE_LIBRTE_STACK) += test_stack_perf.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_TIMER) += test_timer.c
-SRCS-$(CONFIG_RTE_LIBRTE_TIMER) += test_timer_perf.c
-SRCS-$(CONFIG_RTE_LIBRTE_TIMER) += test_timer_racecond.c
-SRCS-$(CONFIG_RTE_LIBRTE_TIMER) += test_timer_secondary.c
-
-SRCS-y += test_mempool.c
-SRCS-y += test_mempool_perf.c
-
-SRCS-y += test_mbuf.c
-SRCS-y += test_logs.c
-
-SRCS-y += test_memcpy.c
-SRCS-y += test_memcpy_perf.c
-
-
-SRCS-$(CONFIG_RTE_LIBRTE_MEMBER) += test_member.c
-SRCS-$(CONFIG_RTE_LIBRTE_MEMBER) += test_member_perf.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_EFD) += test_efd.c
-SRCS-$(CONFIG_RTE_LIBRTE_EFD) += test_efd_perf.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_HASH) += test_hash.c
-SRCS-$(CONFIG_RTE_LIBRTE_HASH) += test_thash.c
-SRCS-$(CONFIG_RTE_LIBRTE_HASH) += test_hash_perf.c
-SRCS-$(CONFIG_RTE_LIBRTE_HASH) += test_hash_functions.c
-SRCS-$(CONFIG_RTE_LIBRTE_HASH) += test_hash_multiwriter.c
-SRCS-$(CONFIG_RTE_LIBRTE_HASH) += test_hash_readwrite.c
-SRCS-$(CONFIG_RTE_LIBRTE_HASH) += test_hash_readwrite_lf_perf.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_RIB) += test_rib.c
-SRCS-$(CONFIG_RTE_LIBRTE_RIB) += test_rib6.c
-SRCS-$(CONFIG_RTE_LIBRTE_FIB) += test_fib.c
-SRCS-$(CONFIG_RTE_LIBRTE_FIB) += test_fib6.c
-SRCS-$(CONFIG_RTE_LIBRTE_FIB) += test_fib_perf.c
-SRCS-$(CONFIG_RTE_LIBRTE_FIB) += test_fib6_perf.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_LPM) += test_lpm.c
-SRCS-$(CONFIG_RTE_LIBRTE_LPM) += test_lpm_perf.c
-SRCS-$(CONFIG_RTE_LIBRTE_LPM) += test_lpm6.c
-SRCS-$(CONFIG_RTE_LIBRTE_LPM) += test_lpm6_perf.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_TELEMETRY) += test_telemetry_json.c
-
-SRCS-y += test_debug.c
-SRCS-y += test_errno.c
-SRCS-y += test_tailq.c
-SRCS-y += test_string_fns.c
-SRCS-y += test_cpuflags.c
-SRCS-y += test_mp_secondary.c
-SRCS-y += test_eal_flags.c
-SRCS-y += test_eal_fs.c
-SRCS-y += test_alarm.c
-SRCS-y += test_interrupts.c
-SRCS-y += test_version.c
-SRCS-y += test_func_reentrancy.c
-SRCS-y += test_trace.c
-SRCS-y += test_trace_register.c
-SRCS-y += test_trace_perf.c
-SRCS-y += test_service_cores.c
-
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_RING),y)
-SRCS-y += sample_packet_forward.c
-SRCS-$(CONFIG_RTE_LIBRTE_BITRATE) += test_bitratestats.c
-SRCS-$(CONFIG_RTE_LIBRTE_LATENCY_STATS) += test_latencystats.c
-SRCS-$(CONFIG_RTE_LIBRTE_PDUMP) += test_pdump.c
-endif
-
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_num.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_etheraddr.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_portlist.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_ipaddr.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_cirbuf.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_string.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_lib.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_NET) += test_crc.c
-
-ifeq ($(CONFIG_RTE_LIBRTE_SCHED),y)
-SRCS-y += test_red.c
-SRCS-y += test_sched.c
-endif
-
-SRCS-$(CONFIG_RTE_LIBRTE_METER) += test_meter.c
-SRCS-$(CONFIG_RTE_LIBRTE_KNI) += test_kni.c
-SRCS-$(CONFIG_RTE_LIBRTE_POWER) += test_power.c test_power_cpufreq.c
-SRCS-$(CONFIG_RTE_LIBRTE_POWER) += test_power_kvm_vm.c
-SRCS-y += test_common.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += test_distributor.c
-SRCS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += test_distributor_perf.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_REORDER) += test_reorder.c
-
-SRCS-y += virtual_pmd.c
-SRCS-y += packet_burst_generator.c
-SRCS-$(CONFIG_RTE_LIBRTE_ACL) += test_acl.c
-
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_RING),y)
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += test_link_bonding.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += test_link_bonding_mode4.c
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_NULL),y)
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += test_link_bonding_rssconf.c
-endif
-
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_RING) += test_pmd_ring.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_RING) += test_pmd_ring_perf.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += test_cryptodev_blockcipher.c
-SRCS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += test_cryptodev.c
-SRCS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += test_cryptodev_asym.c
-SRCS-$(CONFIG_RTE_LIBRTE_SECURITY) += test_cryptodev_security_pdcp.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_METRICS) += test_metrics.c
-
-ifeq ($(CONFIG_RTE_COMPRESSDEV_TEST),y)
-SRCS-$(CONFIG_RTE_LIBRTE_COMPRESSDEV) += test_compressdev.c
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_EVENTDEV),y)
-SRCS-y += test_eventdev.c
-SRCS-y += test_event_ring.c
-SRCS-y += test_event_eth_rx_adapter.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_RING) += test_event_eth_tx_adapter.c
-SRCS-y += test_event_timer_adapter.c
-SRCS-y += test_event_crypto_adapter.c
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_GRAPH), y)
-SRCS-y += test_graph.c
-SRCS-y += test_graph_perf.c
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_RAWDEV),y)
-SRCS-y += test_rawdev.c
-endif
-
-SRCS-$(CONFIG_RTE_LIBRTE_KVARGS) += test_kvargs.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_BPF) += test_bpf.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_RCU) += test_rcu_qsbr.c test_rcu_qsbr_perf.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_SECURITY) += test_security.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_IPSEC) += test_ipsec.c test_ipsec_perf.c
-SRCS-$(CONFIG_RTE_LIBRTE_IPSEC) += test_ipsec_sad.c
-ifeq ($(CONFIG_RTE_LIBRTE_IPSEC),y)
-LDLIBS += -lrte_ipsec
-endif
-
-CFLAGS += -O3
-# Strict-aliasing rules are violated by uint8_t[] to context size casts.
-CFLAGS += -fno-strict-aliasing
-CFLAGS += $(WERROR_FLAGS)
-
-LDLIBS += -lm
-
-ifeq ($(CONFIG_RTE_LIBRTE_PDUMP),y)
-LDLIBS += -lpthread
-endif
-
-ifeq ($(CONFIG_RTE_COMPRESSDEV_TEST),y)
-ifeq ($(CONFIG_RTE_LIBRTE_COMPRESSDEV),y)
-LDLIBS += -lz
-endif
-endif
-
-# Disable VTA for memcpy test
-ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
-ifeq ($(shell test $(GCC_VERSION) -ge 44 && echo 1), 1)
-CFLAGS_test_memcpy.o += -fno-var-tracking-assignments
-CFLAGS_test_memcpy_perf.o += -fno-var-tracking-assignments
-endif
-endif
-
-ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
-
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_BOND),y)
-LDLIBS += -lrte_pmd_bond
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_NULL),y)
-LDLIBS += -lrte_pmd_null
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_RING),y)
-LDLIBS += -lrte_pmd_ring
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER),y)
-LDLIBS += -lrte_pmd_crypto_scheduler
-endif
-
-endif
-
-ifeq ($(CONFIG_RTE_APP_TEST_RESOURCE_TAR),y)
-LDLIBS += -larchive
-endif
-
-include $(RTE_SDK)/mk/rte.app.mk
-
-endif
diff --git a/buildtools/Makefile b/buildtools/Makefile
deleted file mode 100644
index 7f76fd7d65..0000000000
--- a/buildtools/Makefile
+++ /dev/null
@@ -1,9 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016 Neil Horman <nhorman@tuxdriver.com>
-# All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-y += pmdinfogen
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/buildtools/pmdinfogen/Makefile b/buildtools/pmdinfogen/Makefile
deleted file mode 100644
index a97a7648fe..0000000000
--- a/buildtools/pmdinfogen/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016 Neil Horman <nhorman@tuxdriver.com>
-# All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-HOSTAPP = dpdk-pmdinfogen
-
-#
-# all sources are stored in SRCS-y
-#
-SRCS-y += pmdinfogen.c
-
-HOST_CFLAGS += $(HOST_WERROR_FLAGS) -g
-HOST_CFLAGS += -I$(RTE_OUTPUT)/include
-
-include $(RTE_SDK)/mk/rte.hostapp.mk
diff --git a/devtools/git-log-fixes.sh b/devtools/git-log-fixes.sh
index 6d468d6731..210c8dcf25 100755
--- a/devtools/git-log-fixes.sh
+++ b/devtools/git-log-fixes.sh
@@ -50,7 +50,7 @@ commit_version () # <hash>
 		head -n1)
 	if [ -z "$tag" ] ; then
 		# before -rc1 tag of release in progress
-		make showversion | cut -d'.' -f-2
+		cat VERSION | cut -d'.' -f-2
 	else
 		echo $tag | sed 's,^v,,' | sed 's,-rc.*,,'
 	fi
diff --git a/devtools/test-build.sh b/devtools/test-build.sh
deleted file mode 100755
index f013656024..0000000000
--- a/devtools/test-build.sh
+++ /dev/null
@@ -1,315 +0,0 @@
-#! /bin/sh -e
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2015 6WIND S.A.
-
-default_path=$PATH
-
-# Load config options:
-# - ARMV8_CRYPTO_LIB_PATH
-# - DPDK_ABI_REF_DIR
-# - DPDK_ABI_REF_VERSION
-# - DPDK_BUILD_TEST_CONFIGS (defconfig1+option1+option2 defconfig2)
-# - DPDK_BUILD_TEST_DIR
-# - DPDK_DEP_ARCHIVE
-# - DPDK_DEP_BPF (y/[n])
-# - DPDK_DEP_CFLAGS
-# - DPDK_DEP_ELF (y/[n])
-# - DPDK_DEP_FDT (y/[n])
-# - DPDK_DEP_ISAL (y/[n])
-# - DPDK_DEP_JSON (y/[n])
-# - DPDK_DEP_LDFLAGS
-# - DPDK_DEP_MLX (y/[n])
-# - DPDK_DEP_NFB (y/[n])
-# - DPDK_DEP_NUMA ([y]/n)
-# - DPDK_DEP_PCAP (y/[n])
-# - DPDK_DEP_SSL (y/[n])
-# - DPDK_DEP_IPSEC_MB (y/[n])
-# - DPDK_DEP_SZE (y/[n])
-# - DPDK_DEP_ZLIB (y/[n])
-# - DPDK_MAKE_JOBS (int)
-# - DPDK_NOTIFY (notify-send)
-# - FLEXRAN_SDK
-# - LIBMUSDK_PATH
-devtools_dir=$(dirname $(readlink -f $0))
-. $devtools_dir/load-devel-config
-
-print_usage () {
-	echo "usage: $(basename $0) [-h] [-jX] [-s] [config1 [config2] ...]]"
-}
-
-print_help () {
-	echo 'Test building several targets with different options'
-	echo
-	print_usage
-	cat <<- END_OF_HELP
-
-	options:
-	        -h    this help
-	        -jX   use X parallel jobs in "make"
-	        -s    short test only first config without tests|examples|doc
-	        -v    verbose build
-
-	config: defconfig[[~][+]option1[[~][+]option2...]]
-	        Example: x86_64-native-linux-gcc+debug~RXTX_CALLBACKS
-	        The lowercase options are defined inside $(basename $0).
-	        The uppercase options can be the end of a defconfig option
-	        to enable if prefixed with '+' or to disable if prefixed with '~'.
-	        Default is to automatically enable most of the options.
-	        The external dependencies are setup with DPDK_DEP_* variables.
-	        If no config on command line, DPDK_BUILD_TEST_CONFIGS is used.
-	END_OF_HELP
-}
-
-[ -z $MAKE ] && command -v gmake > /dev/null && MAKE=gmake
-[ -z $MAKE ] && command -v make > /dev/null && MAKE=make
-[ -z $MAKE ] && echo "Cannot find make or gmake" && exit 1
-
-J=$DPDK_MAKE_JOBS
-builds_dir=${DPDK_BUILD_TEST_DIR:-.}
-short=false
-unset verbose
-while getopts hj:sv ARG ; do
-	case $ARG in
-		j ) J=$OPTARG ;;
-		s ) short=true ;;
-		v ) verbose='V=1' ;;
-		h ) print_help ; exit 0 ;;
-		? ) print_usage ; exit 1 ;;
-	esac
-done
-shift $(($OPTIND - 1))
-configs=${*:-$DPDK_BUILD_TEST_CONFIGS}
-
-success=false
-on_exit ()
-{
-	if $success ; then
-		[ "$DPDK_NOTIFY" != notify-send ] || \
-			notify-send -u low --icon=dialog-information 'DPDK build' 'finished'
-	elif [ -z "$signal" ] ; then
-		[ -z "$dir" ] || echo "failed to build $dir" >&2
-		[ "$DPDK_NOTIFY" != notify-send ] || \
-			notify-send -u low --icon=dialog-error 'DPDK build' 'failed'
-	fi
-}
-# catch manual interrupt to ignore notification
-trap "signal=INT ; trap - INT ; kill -INT $$" INT
-# notify result on exit
-trap on_exit EXIT
-
-cd $devtools_dir/..
-
-reset_env ()
-{
-	export PATH=$default_path
-	unset CROSS
-	unset DPDK_DEP_ARCHIVE
-	unset DPDK_DEP_BPF
-	unset DPDK_DEP_CFLAGS
-	unset DPDK_DEP_ELF
-	unset DPDK_DEP_FDT
-	unset DPDK_DEP_ISAL
-	unset DPDK_DEP_JSON
-	unset DPDK_DEP_LDFLAGS
-	unset DPDK_DEP_MLX
-	unset DPDK_DEP_NFB
-	unset DPDK_DEP_NUMA
-	unset DPDK_DEP_PCAP
-	unset DPDK_DEP_SSL
-	unset DPDK_DEP_IPSEC_MB
-	unset DPDK_DEP_SZE
-	unset DPDK_DEP_ZLIB
-	unset ARMV8_CRYPTO_LIB_PATH
-	unset FLEXRAN_SDK
-	unset LIBMUSDK_PATH
-	unset PQOS_INSTALL_PATH
-}
-
-config () # <directory> <target> <options>
-{
-	reconfig=false
-	if git rev-parse 2>&- && [ -n "$(git diff HEAD~ -- config)" ] ; then
-		echo 'Default config may have changed'
-		reconfig=true
-	fi
-	if [ ! -e $1/.config ] || $reconfig ; then
-		echo "================== Configure $1"
-		${MAKE} T=$2 O=$1 config
-
-		echo 'Customize configuration'
-		# Built-in options (lowercase)
-		! echo $3 | grep -q '+default' || \
-		sed -ri="" 's,(RTE_MACHINE=")native,\1default,' $1/.config
-		! echo $3 | grep -q '+kmods' || \
-		sed -ri="" 's,(IGB_UIO=|KNI_KMOD=)n,\1y,' $1/.config
-		echo $3 | grep -q '+next' || \
-		sed -ri=""           's,(NEXT_ABI=)y,\1n,' $1/.config
-		! echo $3 | grep -q '+shared' || \
-		sed -ri=""         's,(SHARED_LIB=)n,\1y,' $1/.config
-		! echo $3 | grep -q '+debug' || ( \
-		sed -ri=""  's,(RTE_LOG_DP_LEVEL=).*,\1RTE_LOG_DEBUG,' $1/.config
-		sed -ri=""           's,(_DEBUG.*=)n,\1y,' $1/.config
-		sed -ri=""  's,(_STAT)([S_].*=|=)n,\1\2y,' $1/.config
-		sed -ri="" 's,(TEST_PMD_RECORD_.*=)n,\1y,' $1/.config )
-
-		# Automatic configuration
-		! echo $2 | grep -q 'arm64' || \
-		sed -ri=""        's,(ARM_USE_WFE=)n,\1y,' $1/.config
-		test "$DPDK_DEP_NUMA" != n || \
-		sed -ri=""             's,(NUMA.*=)y,\1n,' $1/.config
-		sed -ri=""    's,(LIBRTE_IEEE1588=)n,\1y,' $1/.config
-		sed -ri=""             's,(BYPASS=)n,\1y,' $1/.config
-		test "$DPDK_DEP_ARCHIVE" != y || \
-		sed -ri=""       's,(RESOURCE_TAR=)n,\1y,' $1/.config
-		test "$DPDK_DEP_BPF" != y || \
-		sed -ri=""         's,(PMD_AF_XDP=)n,\1y,' $1/.config
-		test "$DPDK_DEP_FDT" != y || \
-		sed -ri=""   's,(PMD_IFPGA_RAWDEV=)n,\1y,' $1/.config
-		test "$DPDK_DEP_FDT" != y || \
-		sed -ri=""         's,(IPN3KE_PMD=)n,\1y,' $1/.config
-		test "$DPDK_DEP_ISAL" != y || \
-		sed -ri=""           's,(PMD_ISAL=)n,\1y,' $1/.config
-		test "$DPDK_DEP_MLX" != y || \
-		sed -ri=""          's,(MLX.*_PMD=)n,\1y,' $1/.config
-		test "$DPDK_DEP_NFB" != y || \
-		sed -ri=""            's,(NFB_PMD=)n,\1y,' $1/.config
-		test "$DPDK_DEP_SZE" != y || \
-		sed -ri=""       's,(PMD_SZEDATA2=)n,\1y,' $1/.config
-		test "$DPDK_DEP_ZLIB" != y || \
-		sed -ri=""          's,(BNX2X_PMD=)n,\1y,' $1/.config
-		test "$DPDK_DEP_ZLIB" != y || \
-		sed -ri=""           's,(PMD_ZLIB=)n,\1y,' $1/.config
-		test "$DPDK_DEP_ZLIB" != y || \
-		sed -ri=""   's,(COMPRESSDEV_TEST=)n,\1y,' $1/.config
-		test "$DPDK_DEP_PCAP" != y || \
-		sed -ri=""               's,(PCAP=)n,\1y,' $1/.config
-		test -z "$ARMV8_CRYPTO_LIB_PATH" || \
-		sed -ri=""   's,(PMD_ARMV8_CRYPTO=)n,\1y,' $1/.config
-		test "$DPDK_DEP_IPSEC_MB" != y || \
-		sed -ri=""       's,(PMD_AESNI_MB=)n,\1y,' $1/.config
-		test "$DPDK_DEP_IPSEC_MB" != y || \
-		sed -ri=""      's,(PMD_AESNI_GCM=)n,\1y,' $1/.config
-		test "$DPDK_DEP_IPSEC_MB" != y || \
-		sed -ri=""            's,(PMD_ZUC=)n,\1y,' $1/.config
-		test "$DPDK_DEP_IPSEC_MB" != y || \
-		sed -ri=""         's,(PMD_KASUMI=)n,\1y,' $1/.config
-		test "$DPDK_DEP_IPSEC_MB" != y || \
-		sed -ri=""         's,(PMD_SNOW3G=)n,\1y,' $1/.config
-		test "$DPDK_DEP_SSL" != y || \
-		sed -ri=""            's,(PMD_CCP=)n,\1y,' $1/.config
-		test "$DPDK_DEP_SSL" != y || \
-		sed -ri=""        's,(PMD_OPENSSL=)n,\1y,' $1/.config
-		test "$DPDK_DEP_SSL" != y || \
-		sed -ri=""            's,(QAT_SYM=)n,\1y,' $1/.config
-		test -z "$FLEXRAN_SDK" || \
-		sed -ri=""     's,(BBDEV_TURBO_SW=)n,\1y,' $1/.config
-		sed -ri=""           's,(SCHED_.*=)n,\1y,' $1/.config
-		test -z "$LIBMUSDK_PATH" || \
-		sed -ri=""   's,(PMD_MVSAM_CRYPTO=)n,\1y,' $1/.config
-		test -z "$LIBMUSDK_PATH" || \
-		sed -ri=""          's,(MVPP2_PMD=)n,\1y,' $1/.config
-		test -z "$LIBMUSDK_PATH" || \
-		sed -ri=""         's,(MVNETA_PMD=)n,\1y,' $1/.config
-		test "$DPDK_DEP_ELF" != y || \
-		sed -ri=""            's,(BPF_ELF=)n,\1y,' $1/.config
-		test "$DPDK_DEP_JSON" != y || \
-		sed -ri=""          's,(TELEMETRY=)n,\1y,' $1/.config
-		build_config_hook $1 $2 $3
-
-		# Explicit enabler/disabler (uppercase)
-		for option in $(echo $3 | sed 's,[~+], &,g') ; do
-			pattern=$(echo $option | cut -c2-)
-			if echo $option | grep -q '^~' ; then
-				sed -ri="" "s,($pattern=)y,\1n," $1/.config
-			elif echo $option | grep -q '^+' ; then
-				sed -ri="" "s,($pattern=)n,\1y," $1/.config
-			fi
-		done
-	fi
-}
-
-# default empty hook to override in devel config
-build_config_hook () # <directory> <target> <options>
-{
-	:
-}
-
-for conf in $configs ; do
-	target=$(echo $conf | sed 's,[~+].*,,')
-	# reload config with DPDK_TARGET set
-	DPDK_TARGET=$target
-	reset_env
-	. $devtools_dir/load-devel-config
-
-	options=$(echo $conf | sed 's,[^~+]*,,')
-	dir=$builds_dir/$conf
-	config $dir $target $options
-
-	echo "================== Build $conf"
-	${MAKE} -j$J EXTRA_CFLAGS="-Wfatal-errors -g $DPDK_DEP_CFLAGS" \
-		EXTRA_LDFLAGS="$DPDK_DEP_LDFLAGS" $verbose O=$dir
-	! $short || break
-	export RTE_TARGET=$target
-	rm -rf $dir/install
-	${MAKE} install O=$dir DESTDIR=$dir/install prefix=
-	echo "================== Build examples for $conf"
-	export RTE_SDK=$(readlink -f $dir)/install/share/dpdk
-	ln -sTf $(pwd)/lib $RTE_SDK/lib # workaround for vm_power_manager
-	grep -q 'SHARED_LIB=n' $dir/.config || # skip examples with static libs
-	${MAKE} -j$J -sC examples \
-		EXTRA_LDFLAGS="$DPDK_DEP_LDFLAGS" $verbose \
-		O=$(readlink -f $dir)/examples
-	unset RTE_TARGET
-	grep -q 'SHARED_LIB=n' $dir/.config || # skip ABI check with static libs
-	if [ -n "$DPDK_ABI_REF_VERSION" ]; then
-		abirefdir=${DPDK_ABI_REF_DIR:-reference}/$DPDK_ABI_REF_VERSION
-		if [ ! -d $abirefdir/$conf ]; then
-			# clone current sources
-			if [ ! -d $abirefdir/src ]; then
-				git clone --local --no-hardlinks \
-					--single-branch \
-					-b $DPDK_ABI_REF_VERSION \
-					$(pwd) $abirefdir/src
-			fi
-
-			cd $abirefdir/src
-
-			rm -rf $abirefdir/build
-			config $abirefdir/build $target $options
-
-			echo -n "================== Build $conf "
-			echo "($DPDK_ABI_REF_VERSION)"
-			${MAKE} -j$J \
-				EXTRA_CFLAGS="-Wno-error -g $DPDK_DEP_CFLAGS" \
-				EXTRA_LDFLAGS="$DPDK_DEP_LDFLAGS" $verbose \
-				O=$abirefdir/build
-			export RTE_TARGET=$target
-			${MAKE} install O=$abirefdir/build \
-				DESTDIR=$abirefdir/$conf \
-				prefix=
-			unset RTE_TARGET
-			$devtools_dir/gen-abi.sh $abirefdir/$conf
-
-			# back to current workdir
-			cd $devtools_dir/..
-		fi
-
-		echo "================== Check ABI $conf"
-		$devtools_dir/gen-abi.sh $dir/install
-		$devtools_dir/check-abi.sh $abirefdir/$conf $dir/install
-	fi
-	echo "################## $conf done."
-	unset dir
-done
-
-if ! $short ; then
-	mkdir -p .check
-	echo "================== Build doxygen HTML API"
-	${MAKE} doc-api-html >/dev/null 2>.check/doc.txt
-	echo "================== Build sphinx HTML guides"
-	${MAKE} doc-guides-html >/dev/null 2>>.check/doc.txt
-	echo "================== Check docs"
-	diff -u /dev/null .check/doc.txt
-fi
-
-success=true
diff --git a/doc/build-sdk-quick.txt b/doc/build-sdk-quick.txt
deleted file mode 100644
index bcfa7d6fe1..0000000000
--- a/doc/build-sdk-quick.txt
+++ /dev/null
@@ -1,34 +0,0 @@
-Basic build
-	make defconfig && make
-	or
-	make config T=x86_64-native-linux-gcc && make
-Build commands
-	config           get configuration from target template (T=)
-	defconfig        auto-select target template based on arch, OS, etc.
-	all              same as build (default rule)
-	build            build in a configured directory
-	clean            remove files but keep configuration
-	install T=       configure, build and install a target in DESTDIR
-	install          install optionally staged in DESTDIR
-	examples         build examples for given targets (T=)
-	examples_clean   clean examples for given targets (T=)
-	test             compile tests and run basic unit tests
-	test-*           run specific subset of unit tests
-	tags|etags|gtags generate tags database for given targets (T=)
-	cscope           generate cscope database for given targets (T=)
-Build variables
-	EXTRA_CPPFLAGS   preprocessor options
-	EXTRA_CFLAGS     compiler options
-	EXTRA_LDFLAGS    linker options
-	EXTRA_LDLIBS     linker library options
-	RTE_KERNELDIR    linux headers path
-	RTE_DEVEL_BUILD  stricter options (default: y in git tree)
-	CROSS     toolchain prefix
-	V         verbose
-	D         debug dependencies
-	O         build directory (default: build/ - install T= default: ./)
-	DESTDIR   staging install directory (default: empty)
-	prefix    root install directory (default: /usr/local)
-	T         target template - used with config or install
-			format: <arch-machine-execenv-toolchain>
-			templates in config/defconfig_*
diff --git a/doc/guides/contributing/coding_style.rst b/doc/guides/contributing/coding_style.rst
index b55075eaa2..0be9546a6a 100644
--- a/doc/guides/contributing/coding_style.rst
+++ b/doc/guides/contributing/coding_style.rst
@@ -773,53 +773,13 @@ The ``pep8`` tool can be used for testing compliance with the guidelines.
 Integrating with the Build System
 ---------------------------------
 
-DPDK supports being built in two different ways:
+DPDK is built using the tools ``meson`` and ``ninja``.
 
-* using ``make`` - or more specifically "GNU make", i.e. ``gmake`` on FreeBSD
-* using the tools ``meson`` and ``ninja``
-
-Any new library or driver to be integrated into DPDK should support being
-built with both systems. While building using ``make`` is a legacy approach, and
-most build-system enhancements are being done using ``meson`` and ``ninja``
-there are no plans at this time to deprecate the legacy ``make`` build system.
-
-Therefore all new component additions should include both a ``Makefile`` and a
-``meson.build`` file, and should be added to the component lists in both the
-``Makefile`` and ``meson.build`` files in the relevant top-level directory:
+Therefore all new component additions should include a ``meson.build`` file,
+and should be added to the component lists in the ``meson.build`` files in the
+relevant top-level directory:
 either ``lib`` directory or a ``driver`` subdirectory.
 
-Makefile Contents
-~~~~~~~~~~~~~~~~~
-
-The ``Makefile`` for the component should be of the following format, where
-``<name>`` corresponds to the name of the library in question, e.g. hash,
-lpm, etc. For drivers, the same format of Makefile is used.
-
-.. code-block:: none
-
-	# pull in basic DPDK definitions, including whether library is to be
-	# built or not
-	include $(RTE_SDK)/mk/rte.vars.mk
-
-	# library name
-	LIB = librte_<name>.a
-
-	# any library cflags needed. Generally add "-O3 $(WERROR_FLAGS)"
-	CFLAGS += -O3
-	CFLAGS += $(WERROR_FLAGS)
-
-	# the symbol version information for the library
-	EXPORT_MAP := rte_<name>_version.map
-
-	# all source filenames are stored in SRCS-y
-	SRCS-$(CONFIG_RTE_LIBRTE_<NAME>) += rte_<name>.c
-
-	# install includes
-	SYMLINK-$(CONFIG_RTE_LIBRTE_<NAME>)-include += rte_<name>.h
-
-	# pull in rules to build the library
-	include $(RTE_SDK)/mk/rte.lib.mk
-
 Meson Build File Contents - Libraries
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
diff --git a/doc/guides/contributing/patches.rst b/doc/guides/contributing/patches.rst
index 425bb874f8..9ff60944c3 100644
--- a/doc/guides/contributing/patches.rst
+++ b/doc/guides/contributing/patches.rst
@@ -464,55 +464,6 @@ and the -r option allows the user specify a ``git log`` range.
 Checking Compilation
 --------------------
 
-Makefile System
-~~~~~~~~~~~~~~~
-
-Compilation of patches and changes should be tested using the ``test-build.sh`` script in the ``devtools``
-directory of the DPDK repo::
-
-  devtools/test-build.sh x86_64-native-linux-gcc+next+shared
-
-The script usage is::
-
-   test-build.sh [-h] [-jX] [-s] [config1 [config2] ...]]
-
-Where:
-
-* ``-h``: help, usage.
-* ``-jX``: use X parallel jobs in "make".
-* ``-s``: short test with only first config and without examples/doc.
-* ``config``: default config name plus config switches delimited with a ``+`` sign.
-
-Examples of configs are::
-
-   x86_64-native-linux-gcc
-   x86_64-native-linux-gcc+next+shared
-   x86_64-native-linux-clang+shared
-
-The builds can be modified via the following environmental variables:
-
-* ``DPDK_BUILD_TEST_CONFIGS`` (target1+option1+option2 target2)
-* ``DPDK_BUILD_TEST_DIR``
-* ``DPDK_DEP_CFLAGS``
-* ``DPDK_DEP_LDFLAGS``
-* ``DPDK_DEP_PCAP`` (y/[n])
-* ``DPDK_NOTIFY`` (notify-send)
-
-These can be set from the command line or in the config files shown above in the :ref:`contrib_checkpatch`.
-
-The recommended configurations and options to test compilation prior to submitting patches are::
-
-   x86_64-native-linux-gcc+shared+next
-   x86_64-native-linux-clang+shared
-   i686-native-linux-gcc
-
-   export DPDK_DEP_ZLIB=y
-   export DPDK_DEP_PCAP=y
-   export DPDK_DEP_SSL=y
-
-Meson System
-~~~~~~~~~~~~
-
 Compilation of patches is to be tested with ``devtools/test-meson-builds.sh`` script.
 
 The script internally checks for dependencies, then builds for several
diff --git a/doc/guides/freebsd_gsg/intro.rst b/doc/guides/freebsd_gsg/intro.rst
index 63160ce64f..b2e57909ee 100644
--- a/doc/guides/freebsd_gsg/intro.rst
+++ b/doc/guides/freebsd_gsg/intro.rst
@@ -39,8 +39,8 @@ The following is a list of DPDK documents in the suggested reading order:
         specifically in a Linux* application (linux) environment
 
     *   The content of the DPDK, the build system (including the commands
-        that can be used in the root DPDK Makefile to build the development
-        kit and an application) and guidelines for porting an application
+        that can be used to build the development kit and an application)
+        and guidelines for porting an application
 
     *   Optimizations used in the software and those that should be considered
         for new development
diff --git a/doc/guides/linux_gsg/build_dpdk.rst b/doc/guides/linux_gsg/build_dpdk.rst
index c536e354ef..a895e1b0f4 100644
--- a/doc/guides/linux_gsg/build_dpdk.rst
+++ b/doc/guides/linux_gsg/build_dpdk.rst
@@ -31,7 +31,7 @@ The DPDK is composed of several directories:
 
 *   examples: Source code of DPDK application examples
 
-*   config, buildtools, mk: Framework-related makefiles, scripts and configuration
+*   config, buildtools: Framework-related scripts and configuration
 
 Compiling and Installing DPDK System-wide
 -----------------------------------------
@@ -39,11 +39,6 @@ Compiling and Installing DPDK System-wide
 DPDK can be configured, built and installed on your system using the tools
 ``meson`` and ``ninja``.
 
-.. note::
-
-  The older makefile-based build system used in older DPDK releases is
-  still present and its use is described in section
-  `Installation of DPDK Target Environment using Make`_.
 
 DPDK Configuration
 ~~~~~~~~~~~~~~~~~~
@@ -156,64 +151,3 @@ build system is shown below:
    dpdk = dependency('libdpdk')
    sources = files('main.c')
    executable('dpdk-app', sources, dependencies: dpdk)
-
-
-Installation of DPDK Target Environment using Make
---------------------------------------------------
-
-.. note::
-
-   The building of DPDK using make will be deprecated in a future release. It
-   is therefore recommended that DPDK installation is done using meson and
-   ninja as described above.
-
-Get a native target environment automatically::
-
-   make defconfig O=mybuild
-
-.. note::
-
-    Within the configuration files, the ``RTE_MACHINE`` configuration value is set to native,
-    which means that the compiled software is tuned for the platform on which it is built.
-
-Or get a specific target environment::
-
-   make config T=x86_64-native-linux-gcc O=mybuild
-
-The format of a DPDK target is "ARCH-MACHINE-EXECENV-TOOLCHAIN".
-Available targets can be found with::
-
-   make help
-
-Customize the target configuration in the generated ``.config`` file.
-Example for enabling the pcap PMD::
-
-   sed -ri 's,(PMD_PCAP=).*,\1y,' mybuild/.config
-
-Compile the target::
-
-   make -j4 O=mybuild
-
-.. warning::
-
-    Any kernel modules to be used, e.g. ``igb_uio``, ``kni``, must be compiled with the
-    same kernel as the one running on the target.
-    If the DPDK is not being built on the target machine,
-    the ``RTE_KERNELDIR`` environment variable should be used to point the compilation at a copy of the kernel version to be used on the target machine.
-
-Install the target in a separate directory::
-
-   make install O=mybuild DESTDIR=myinstall prefix=
-
-The environment is ready to build a DPDK application::
-
-   RTE_SDK=$(pwd)/myinstall/share/dpdk RTE_TARGET=x86_64-native-linux-gcc make -C myapp
-
-In addition, the make clean command can be used to remove any existing compiled files for a subsequent full, clean rebuild of the code.
-
-Browsing the Installed DPDK Environment Target
-----------------------------------------------
-
-Once a target is created it contains all libraries, including poll-mode drivers, and header files for the DPDK environment that are required to build customer applications.
-In addition, the test applications are built under the app directory, which may be used for testing.
-A kmod  directory is also present that contains kernel modules which may be loaded if needed.
diff --git a/doc/guides/linux_gsg/build_sample_apps.rst b/doc/guides/linux_gsg/build_sample_apps.rst
index 2f606535c3..2882883f95 100644
--- a/doc/guides/linux_gsg/build_sample_apps.rst
+++ b/doc/guides/linux_gsg/build_sample_apps.rst
@@ -15,56 +15,7 @@ It also provides a pointer to where sample applications are stored.
 Compiling a Sample Application
 ------------------------------
 
-Once an DPDK target environment directory has been created (such as ``x86_64-native-linux-gcc``),
-it contains all libraries and header files required to build an application.
-
-When compiling an application in the Linux* environment on the DPDK, the following variables must be exported:
-
-* ``RTE_SDK`` - Points to the DPDK installation directory.
-
-* ``RTE_TARGET`` - Points to the DPDK target environment directory.
-
-The following is an example of creating the ``helloworld`` application, which runs in the DPDK Linux environment.
-This example may be found in the ``${RTE_SDK}/examples`` directory.
-
-The directory contains the ``main.c`` file. This file, when combined with the libraries in the DPDK target environment,
-calls the various functions to initialize the DPDK environment,
-then launches an entry point (dispatch application) for each core to be utilized.
-By default, the binary is generated in the build directory.
-
-.. code-block:: console
-
-    cd examples/helloworld/
-    export RTE_SDK=$HOME/DPDK
-    export RTE_TARGET=x86_64-native-linux-gcc
-
-    make
-        CC main.o
-        LD helloworld
-        INSTALL-APP helloworld
-        INSTALL-MAP helloworld.map
-
-    ls build/app
-        helloworld helloworld.map
-
-.. note::
-
-    In the above example, ``helloworld`` was in the directory structure of the DPDK.
-    However, it could have been located outside the directory structure to keep the DPDK structure intact.
-    In the following case, the ``helloworld`` application is copied to a new directory as a new starting point.
-
-    .. code-block:: console
-
-       export RTE_SDK=/home/user/DPDK
-       cp -r $(RTE_SDK)/examples/helloworld my_rte_app
-       cd my_rte_app/
-       export RTE_TARGET=x86_64-native-linux-gcc
-
-       make
-         CC main.o
-         LD helloworld
-         INSTALL-APP helloworld
-         INSTALL-MAP helloworld.map
+Please refer to :ref:`building_app_using_installed_dpdk` for detail on compiling sample apps.
 
 Running a Sample Application
 ----------------------------
diff --git a/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst b/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
index c5875a6d57..8a1d0e88b0 100644
--- a/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
+++ b/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
@@ -67,7 +67,7 @@ Augment the cross toolchain with NUMA support
 
 .. note::
 
-   This way is optional, an alternative is to use extra CFLAGS and LDFLAGS, depicted in :ref:`configure_and_cross_compile_dpdk_build` below.
+   This way is optional, an alternative is to use extra CFLAGS and LDFLAGS.
 
 Copy the NUMA header files and lib to the cross compiler's directories:
 
@@ -79,8 +79,8 @@ Copy the NUMA header files and lib to the cross compiler's directories:
 
 .. _configure_and_cross_compile_dpdk_build:
 
-Cross Compiling DPDK using Meson
---------------------------------
+Cross Compiling DPDK
+--------------------
 
 Meson depends on pkgconfig to find the dependencies.
 The package ``pkg-config-aarch64-linux-gnu`` is required for aarch64.
@@ -99,45 +99,3 @@ command::
 
 	meson arm64-build --cross-file config/arm/arm64_armv8_linux_gcc
 	ninja -C arm64-build
-
-Configure and Cross Compile DPDK using Make
--------------------------------------------
-To configure a build, choose one of the target configurations, like arm64-dpaa-linux-gcc and arm64-thunderx-linux-gcc.
-
-.. code-block:: console
-
-   make config T=arm64-armv8a-linux-gcc
-
-To cross-compile, without compiling the kernel modules, use the following command:
-
-.. code-block:: console
-
-   make -j CROSS=aarch64-linux-gnu- CONFIG_RTE_KNI_KMOD=n CONFIG_RTE_EAL_IGB_UIO=n
-
-To cross-compile, including the kernel modules, the kernel source tree needs to be specified by setting
-RTE_KERNELDIR:
-
-.. code-block:: console
-
-   make -j CROSS=aarch64-linux-gnu- RTE_KERNELDIR=<kernel_src_rootdir> CROSS_COMPILE=aarch64-linux-gnu-
-
-To compile for non-NUMA targets, without compiling the kernel modules, use the following command:
-
-.. code-block:: console
-
-   make -j CROSS=aarch64-linux-gnu- CONFIG_RTE_KNI_KMOD=n CONFIG_RTE_EAL_IGB_UIO=n CONFIG_RTE_LIBRTE_VHOST_NUMA=n CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=n
-
-.. note::
-
-   1. EXTRA_CFLAGS and EXTRA_LDFLAGS should be added to include the NUMA headers and link the library respectively,
-   if the above step :ref:`augment_the_cross_toolchain_with_numa_support` was skipped therefore the toolchain was not
-   augmented with NUMA support.
-
-   2. "-isystem <numa_install_dir>/include" should be add to EXTRA_CFLAGS, otherwise the numa.h file will get a lot of compiling
-   errors of Werror=cast-qual, Werror=strict-prototypes and Werror=old-style-definition.
-
-   An example is given below:
-
-   .. code-block:: console
-
-      make -j CROSS=aarch64-linux-gnu- CONFIG_RTE_KNI_KMOD=n CONFIG_RTE_EAL_IGB_UIO=n EXTRA_CFLAGS="-isystem <numa_install_dir>/include" EXTRA_LDFLAGS="-L<numa_install_dir>/lib -lnuma"
diff --git a/doc/guides/linux_gsg/intro.rst b/doc/guides/linux_gsg/intro.rst
index 94877f4ae2..890169e97f 100644
--- a/doc/guides/linux_gsg/intro.rst
+++ b/doc/guides/linux_gsg/intro.rst
@@ -23,7 +23,7 @@ The following is a list of DPDK documents in the suggested reading order:
 
     *   The software architecture and how to use it (through examples), specifically in a Linux application (linux) environment
 
-    *   The content of the DPDK, the build system (including the commands that can be used in the root DPDK Makefile to build the development kit and
+    *   The content of the DPDK, the build system (including the commands that can be used to build the development kit and
         an application) and guidelines for porting an application
 
     *   Optimizations used in the software and those that should be considered for new development
diff --git a/doc/guides/linux_gsg/sys_reqs.rst b/doc/guides/linux_gsg/sys_reqs.rst
index a124656bcb..6b9f573fce 100644
--- a/doc/guides/linux_gsg/sys_reqs.rst
+++ b/doc/guides/linux_gsg/sys_reqs.rst
@@ -37,7 +37,7 @@ Compilation of the DPDK
     The setup commands and installed packages needed on various systems may be different.
     For details on Linux distributions and the versions tested, please consult the DPDK Release Notes.
 
-*   General development tools including ``make``, and a supported C compiler such as ``gcc`` (version 4.9+) or ``clang`` (version 3.4+).
+*   General development tools including a supported C compiler such as gcc (version 4.9+) or clang (version 3.4+).
 
     * For RHEL/Fedora systems these can be installed using ``dnf groupinstall "Development Tools"``
 
@@ -82,12 +82,8 @@ Compilation of the DPDK
 **Additional Libraries**
 
 A number of DPDK components, such as libraries and poll-mode drivers (PMDs) have additional dependencies.
-For DPDK builds using meson, the presence or absence of these dependencies will be
-automatically detected enabling or disabling the relevant components appropriately.
-
-For builds using make, these components are disabled in the default configuration and
-need to be enabled manually by changing the relevant setting to "y" in the build configuration file
-i.e. the ``.config`` file in the build folder.
+For DPDK builds, the presence or absence of these dependencies will be automatically detected
+enabling or disabling the relevant components appropriately.
 
 In each case, the relevant library development package (``-devel`` or ``-dev``) is needed to build the DPDK components.
 
diff --git a/doc/guides/prog_guide/build_app.rst b/doc/guides/prog_guide/build_app.rst
index bffa55bbef..84196a8e03 100644
--- a/doc/guides/prog_guide/build_app.rst
+++ b/doc/guides/prog_guide/build_app.rst
@@ -9,19 +9,12 @@ Building Your Own Application
 Compiling a Sample Application in the Development Kit Directory
 ---------------------------------------------------------------
 
-When compiling a sample application (for example, hello world), the following variables must be exported:
-RTE_SDK and RTE_TARGET.
+To compile a sample application with make (for example, hello world):
 
 .. code-block:: console
 
     ~/DPDK$ cd examples/helloworld/
-    ~/DPDK/examples/helloworld$ export RTE_SDK=/home/user/DPDK
-    ~/DPDK/examples/helloworld$ export RTE_TARGET=x86_64-native-linux-gcc
     ~/DPDK/examples/helloworld$ make
-        CC main.o
-        LD helloworld
-        INSTALL-APP helloworld
-        INSTALL-MAP helloworld.map
 
 The binary is generated in the build directory by default:
 
@@ -30,6 +23,8 @@ The binary is generated in the build directory by default:
     ~/DPDK/examples/helloworld$ ls build/app
     helloworld helloworld.map
 
+Please refer to :doc:`../linux_gsg/build_dpdk` for details on compiling with meson.
+
 Build Your Own Application Outside the Development Kit
 ------------------------------------------------------
 
@@ -39,13 +34,7 @@ The sample application (Hello World) can be duplicated in a new directory as a s
 
     ~$ cp -r DPDK/examples/helloworld my_rte_app
     ~$ cd my_rte_app/
-    ~/my_rte_app$ export RTE_SDK=/home/user/DPDK
-    ~/my_rte_app$ export RTE_TARGET=x86_64-native-linux-gcc
     ~/my_rte_app$ make
-        CC main.o
-        LD helloworld
-        INSTALL-APP helloworld
-        INSTALL-MAP helloworld.map
 
 Customizing Makefiles
 ---------------------
@@ -53,47 +42,10 @@ Customizing Makefiles
 Application Makefile
 ~~~~~~~~~~~~~~~~~~~~
 
-The default makefile provided with the Hello World sample application is a good starting point. It includes:
-
-*   $(RTE_SDK)/mk/rte.vars.mk at the beginning
-
-*   $(RTE_SDK)/mk/rte.extapp.mk at the end
+The default makefile provided with the Hello World sample application is a good starting point.
 
 The user must define several variables:
 
 *   APP: Contains the name of the application.
 
 *   SRCS-y: List of source files (\*.c, \*.S).
-
-Library Makefile
-~~~~~~~~~~~~~~~~
-
-It is also possible to build a library in the same way:
-
-*   Include $(RTE_SDK)/mk/rte.vars.mk at the beginning.
-
-*   Include $(RTE_SDK)/mk/rte.extlib.mk  at the end.
-
-The only difference is that APP should be replaced by LIB, which contains the name of the library. For example, libfoo.a.
-
-Customize Makefile Actions
-~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Some variables can be defined to customize Makefile actions. The most common are listed below. Refer to
-:ref:`Makefile Description <Makefile_Description>` section in
-:ref:`Development Kit Build System <Development_Kit_Build_System>`
-
-chapter for details.
-
-*   VPATH: The path list where the build system will search for sources. By default,
-    RTE_SRCDIR will be included in VPATH.
-
-*   CFLAGS_my_file.o: The specific flags to add for C compilation of my_file.c.
-
-*   CFLAGS: The flags to use for C compilation.
-
-*   LDFLAGS: The flags to use for linking.
-
-*   CPPFLAGS: The flags to use to provide flags to the C preprocessor (only useful when assembling .S files)
-
-*   LDLIBS: A list of libraries to link with (for example, -L /path/to/libfoo - lfoo)
diff --git a/doc/guides/prog_guide/dev_kit_build_system.rst b/doc/guides/prog_guide/dev_kit_build_system.rst
deleted file mode 100644
index 74dba4dd16..0000000000
--- a/doc/guides/prog_guide/dev_kit_build_system.rst
+++ /dev/null
@@ -1,331 +0,0 @@
-..  SPDX-License-Identifier: BSD-3-Clause
-    Copyright(c) 2010-2014 Intel Corporation.
-
-.. _Development_Kit_Build_System:
-
-Development Kit Build System
-============================
-
-The DPDK requires a build system for compilation activities and so on.
-This section describes the constraints and the mechanisms used in the DPDK framework.
-
-There are two use-cases for the framework:
-
-*   Compilation of the DPDK libraries and sample applications;
-    the framework generates specific binary libraries,
-    include files and sample applications
-
-*   Compilation of an external application or library, using an installed binary DPDK
-
-Building the Development Kit Binary
------------------------------------
-
-The following provides details on how to build the DPDK binary.
-
-Build Directory Concept
-~~~~~~~~~~~~~~~~~~~~~~~
-
-After installation, a build directory structure is created.
-Each build directory contains include files, libraries, and applications.
-
-A build directory is specific to a configuration that includes architecture + execution environment + toolchain.
-It is possible to have several build directories sharing the same sources with different configurations.
-
-For instance, to create a new build directory called my_sdk_build_dir using the default configuration template config/defconfig_x86_64-linux,
-we use:
-
-.. code-block:: console
-
-    cd ${RTE_SDK}
-    make config T=x86_64-native-linux-gcc O=my_sdk_build_dir
-
-This creates a new my_sdk_build_dir directory. After that, we can compile by doing:
-
-.. code-block:: console
-
-    cd my_sdk_build_dir
-    make
-
-which is equivalent to:
-
-.. code-block:: console
-
-    make O=my_sdk_build_dir
-
-Refer to
-:ref:`Development Kit Root Makefile Help <Development_Kit_Root_Makefile_Help>`
-for details about make commands that can be used from the root of DPDK.
-
-Building External Applications
-------------------------------
-
-Since DPDK is in essence a development kit, the first objective of end users will be to create an application using this SDK.
-To compile an application, the user must set the RTE_SDK and RTE_TARGET environment variables.
-
-.. code-block:: console
-
-    export RTE_SDK=/opt/DPDK
-    export RTE_TARGET=x86_64-native-linux-gcc
-    cd /path/to/my_app
-
-For a new application, the user must create their own Makefile that includes some .mk files, such as
-${RTE_SDK}/mk/rte.vars.mk, and ${RTE_SDK}/mk/ rte.app.mk.
-This is described in
-:ref:`Building Your Own Application <Building_Your_Own_Application>`.
-
-Depending on the chosen target (architecture, machine, executive environment, toolchain) defined in the Makefile or as an environment variable,
-the applications and libraries will compile using the appropriate .h files and will link with the appropriate .a files.
-These files are located in ${RTE_SDK}/arch-machine-execenv-toolchain, which is referenced internally by ${RTE_BIN_SDK}.
-
-To compile their application, the user just has to call make.
-The compilation result will be located in /path/to/my_app/build directory.
-
-Sample applications are provided in the examples directory.
-
-.. _Makefile_Description:
-
-Makefile Description
---------------------
-
-General Rules For DPDK Makefiles
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-In the DPDK, Makefiles always follow the same scheme:
-
-#. Include $(RTE_SDK)/mk/rte.vars.mk at the beginning.
-
-#. Define specific variables for RTE build system.
-
-#. Include a specific $(RTE_SDK)/mk/rte.XYZ.mk, where XYZ can be app, lib, extapp, extlib, obj, gnuconfigure,
-   and so on, depending on what kind of object you want to build.
-   :ref:`See Makefile Types <Makefile_Types>` below.
-
-#. Include user-defined rules and variables.
-
-   The following is a very simple example of an external application Makefile:
-
-   ..  code-block:: make
-
-        include $(RTE_SDK)/mk/rte.vars.mk
-
-        # binary name
-        APP = helloworld
-
-        # all source are stored in SRCS-y
-        SRCS-y := main.c
-
-        CFLAGS += -O3
-        CFLAGS += $(WERROR_FLAGS)
-
-        include $(RTE_SDK)/mk/rte.extapp.mk
-
-.. _Makefile_Types:
-
-Makefile Types
-~~~~~~~~~~~~~~
-
-Depending on the .mk file which is included at the end of the user Makefile, the Makefile will have a different role.
-Note that it is not possible to build a library and an application in the same Makefile.
-For that, the user must create two separate Makefiles, possibly in two different directories.
-
-In any case, the rte.vars.mk file must be included in the user Makefile as soon as possible.
-
-Application
-^^^^^^^^^^^
-
-These Makefiles generate a binary application.
-
-*   rte.app.mk: Application in the development kit framework
-
-*   rte.extapp.mk: External application
-
-*   rte.hostapp.mk: prerequisite tool to build dpdk
-
-Library
-^^^^^^^
-
-Generate a .a library.
-
-*   rte.lib.mk: Library in the development kit framework
-
-*   rte.extlib.mk: external library
-
-*   rte.hostlib.mk: host library in the development kit framework
-
-Install
-^^^^^^^
-
-*   rte.install.mk: Does not build anything, it is only used to create links or copy files to the installation directory.
-    This is useful for including files in the development kit framework.
-
-Kernel Module
-^^^^^^^^^^^^^
-
-*   rte.module.mk: Build a kernel module in the development kit framework.
-
-Objects
-^^^^^^^
-
-*   rte.obj.mk: Object aggregation (merge several .o in one) in the development kit framework.
-
-*   rte.extobj.mk: Object aggregation (merge several .o in one) outside the development kit framework.
-
-Misc
-^^^^
-
-*   rte.gnuconfigure.mk: Build an application that is configure-based.
-
-*   rte.subdir.mk: Build several directories in the development kit framework.
-
-.. _Internally_Generated_Build_Tools:
-
-Internally Generated Build Tools
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-``app/dpdk-pmdinfogen``
-
-
-``dpdk-pmdinfogen`` scans an object (.o) file for various well known symbol names.
-These well known symbol names are defined by various macros and used to export
-important information about hardware support and usage for pmd files.  For
-instance the macro:
-
-.. code-block:: c
-
-   RTE_PMD_REGISTER_PCI(name, drv)
-
-Creates the following symbol:
-
-.. code-block:: c
-
-   static char this_pmd_name0[] __attribute__((used)) = "<name>";
-
-
-Which ``dpdk-pmdinfogen`` scans for.  Using this information other relevant
-bits of data can be exported from the object file and used to produce a
-hardware support description, that ``dpdk-pmdinfogen`` then encodes into a
-JSON formatted string in the following format:
-
-.. code-block:: c
-
-   static char <name_pmd_string>="PMD_INFO_STRING=\"{'name' : '<name>', ...}\"";
-
-
-These strings can then be searched for by external tools to determine the
-hardware support of a given library or application.
-
-
-.. _Useful_Variables_Provided_by_the_Build_System:
-
-Useful Variables Provided by the Build System
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-*   RTE_SDK: The absolute path to the DPDK sources.
-    When compiling the development kit, this variable is automatically set by the framework.
-    It has to be defined by the user as an environment variable if compiling an external application.
-
-*   RTE_SRCDIR: The path to the root of the sources. When compiling the development kit, RTE_SRCDIR = RTE_SDK.
-    When compiling an external application, the variable points to the root of external application sources.
-
-*   RTE_OUTPUT: The path to which output files are written.
-    Typically, it is $(RTE_SRCDIR)/build, but it can be overridden by the O= option in the make command line.
-
-*   RTE_TARGET: A string identifying the target for which we are building.
-    The format is arch-machine-execenv-toolchain.
-    When compiling the SDK, the target is deduced by the build system from the configuration (.config).
-    When building an external application, it must be specified by the user in the Makefile or as an environment variable.
-
-*   RTE_SDK_BIN: References $(RTE_SDK)/$(RTE_TARGET).
-
-*   RTE_ARCH: Defines the architecture (i686, x86_64).
-    It is the same value as CONFIG_RTE_ARCH  but without the double-quotes around the string.
-
-*   RTE_MACHINE: Defines the machine.
-    It is the same value as CONFIG_RTE_MACHINE but without the double-quotes around the string.
-
-*   RTE_TOOLCHAIN: Defines the toolchain (gcc , icc).
-    It is the same value as CONFIG_RTE_TOOLCHAIN but without the double-quotes around the string.
-
-*   RTE_EXEC_ENV: Defines the executive environment (linux).
-    It is the same value as CONFIG_RTE_EXEC_ENV but without the double-quotes around the string.
-
-*   RTE_KERNELDIR: This variable contains the absolute path to the kernel sources that will be used to compile the kernel modules.
-    The kernel headers must be the same as the ones that will be used on the target machine (the machine that will run the application).
-    By default, the variable is set to /lib/modules/$(shell uname -r)/build,
-    which is correct when the target machine is also the build machine.
-
-*   RTE_DEVEL_BUILD: Stricter options (stop on warning). It defaults to y in a git tree.
-
-Variables that Can be Set/Overridden in a Makefile Only
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-*   VPATH: The path list that the build system will search for sources. By default, RTE_SRCDIR will be included in VPATH.
-
-*   CFLAGS: Flags to use for C compilation. The user should use +=  to append data in this variable.
-
-*   LDFLAGS: Flags to use for linking. The user should use +=  to append data in this variable.
-
-*   ASFLAGS: Flags to use for assembly. The user should use +=  to append data in this variable.
-
-*   CPPFLAGS: Flags to use to give flags to C preprocessor (only useful when assembling .S files).
-    The user should use += to append data in this variable.
-
-*   LDLIBS: In an application, the list of libraries to link with (for example, -L  /path/to/libfoo -lfoo ).
-    The user should use  +=  to append data in this variable.
-
-*   SRC-y: A list of source files (.c, .S, or .o  if the source is a binary) in case of application, library or object Makefiles.
-    The sources must be available from VPATH.
-
-*   INSTALL-y-$(INSTPATH): A list of files to be installed in  $(INSTPATH).
-    The files must be available from VPATH and will be copied in $(RTE_OUTPUT)/$(INSTPATH). Can be used in almost any RTE Makefile.
-
-*   SYMLINK-y-$(INSTPATH): A list of files to be installed in $(INSTPATH).
-    The files must be available from VPATH and will be linked (symbolically) in  $(RTE_OUTPUT)/$(INSTPATH).
-    This variable can be used in almost any DPDK Makefile.
-
-*   PREBUILD: A list of prerequisite actions to be taken before building. The user should use +=  to append data in this variable.
-
-*   POSTBUILD: A list of actions to be taken after the main build. The user should use += to append data in this variable.
-
-*   PREINSTALL: A list of prerequisite actions to be taken before installing. The user should use += to append data in this variable.
-
-*   POSTINSTALL: A list of actions to be taken after installing. The user should use += to append data in this variable.
-
-*   PRECLEAN: A list of prerequisite actions to be taken before cleaning. The user should use += to append data in this variable.
-
-*   POSTCLEAN: A list of actions to be taken after cleaning. The user should use += to append data in this variable.
-
-*   DEPDIRS-$(DIR): Only used in the development kit framework to specify if the build of the current directory depends on build of another one.
-    This is needed to support parallel builds correctly.
-
-Variables that can be Set/Overridden by the User on the Command Line Only
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Some variables can be used to configure the build system behavior. They are documented in
-:ref:`Development Kit Root Makefile Help <Development_Kit_Root_Makefile_Help>` and
-:ref:`External Application/Library Makefile Help <External_Application/Library_Makefile_Help>`
-
-    *   WERROR_CFLAGS: By default, this is set to a specific value that depends on the compiler.
-        Users are encouraged to use this variable as follows:
-
-            CFLAGS += $(WERROR_CFLAGS)
-
-This avoids the use of different cases depending on the compiler (icc or gcc).
-Also, this variable can be overridden from the command line, which allows bypassing of the flags for testing purposes.
-
-Variables that Can be Set/Overridden by the User in a Makefile or Command Line
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-*   CFLAGS_my_file.o: Specific flags to add for C compilation of my_file.c.
-
-*   LDFLAGS_my_app: Specific flags to add when linking my_app.
-
-*   EXTRA_CFLAGS: The content of this variable is appended after CFLAGS when compiling.
-
-*   EXTRA_LDFLAGS: The content of this variable is appended after LDFLAGS when linking.
-
-*   EXTRA_LDLIBS: The content of this variable is appended after LDLIBS when linking.
-
-*   EXTRA_ASFLAGS: The content of this variable is appended after ASFLAGS when assembling.
-
-*   EXTRA_CPPFLAGS: The content of this variable is appended after CPPFLAGS when using a C preprocessor on assembly files.
diff --git a/doc/guides/prog_guide/dev_kit_root_make_help.rst b/doc/guides/prog_guide/dev_kit_root_make_help.rst
deleted file mode 100644
index a30db7d5b4..0000000000
--- a/doc/guides/prog_guide/dev_kit_root_make_help.rst
+++ /dev/null
@@ -1,188 +0,0 @@
-..  SPDX-License-Identifier: BSD-3-Clause
-    Copyright(c) 2010-2014 Intel Corporation.
-
-.. _Development_Kit_Root_Makefile_Help:
-
-Development Kit Root Makefile Help
-==================================
-
-The DPDK provides a root level Makefile with targets for configuration, building, cleaning, testing, installation and others.
-These targets are explained in the following sections.
-
-Configuration Targets
----------------------
-
-The configuration target requires the name of the target, which is specified using T=mytarget and it is mandatory.
-The list of available targets are in $(RTE_SDK)/config (remove the defconfig _ prefix).
-
-Configuration targets also support the specification of the name of the output directory, using O=mybuilddir.
-This is an optional parameter, the default output directory is build.
-
-*   Config
-
-    This will create a build directory, and generates a configuration from a template.
-    A Makefile is also created in the new build directory.
-
-    Example:
-
-    .. code-block:: console
-
-        make config O=mybuild T=x86_64-native-linux-gcc
-
-Build Targets
--------------
-
-Build targets support the optional specification of the name of the output directory, using O=mybuilddir.
-The default output directory is build.
-
-*   all, build or just make
-
-    Build the DPDK in the output directory previously created by a make config.
-
-    Example:
-
-    .. code-block:: console
-
-        make O=mybuild
-
-*   clean
-
-    Clean all objects created using make build.
-
-    Example:
-
-    .. code-block:: console
-
-        make clean O=mybuild
-
-*   %_sub
-
-    Build a subdirectory only, without managing dependencies on other directories.
-
-    Example:
-
-    .. code-block:: console
-
-        make lib/librte_eal_sub O=mybuild
-
-*   %_clean
-
-    Clean a subdirectory only.
-
-    Example:
-
-    .. code-block:: console
-
-        make lib/librte_eal_clean O=mybuild
-
-Install Targets
----------------
-
-*   Install
-
-    The list of available targets are in $(RTE_SDK)/config (remove the defconfig\_ prefix).
-
-    The GNU standards variables may be used:
-    http://gnu.org/prep/standards/html_node/Directory-Variables.html and
-    http://gnu.org/prep/standards/html_node/DESTDIR.html
-
-    Example:
-
-    .. code-block:: console
-
-        make install DESTDIR=myinstall prefix=/usr
-
-Test Targets
-------------
-
-*   test
-
-    Launch automatic tests for a build directory specified using O=mybuilddir.
-    It is optional, the default output directory is build.
-
-    Example:
-
-    .. code-block:: console
-
-        make test O=mybuild
-
-Documentation Targets
----------------------
-
-*   doc
-
-    Generate the documentation (API and guides).
-
-*   doc-api-html
-
-    Generate the Doxygen API documentation in html.
-
-*   doc-guides-html
-
-    Generate the guides documentation in html.
-
-*   doc-guides-pdf
-
-    Generate the guides documentation in pdf.
-
-Misc Targets
-------------
-
-*   help
-
-    Show a quick help.
-
-Other Useful Command-line Variables
------------------------------------
-
-The following variables can be specified on the command line:
-
-*   V=
-
-    Enable verbose build (show full compilation command line, and some intermediate commands).
-
-*   D=
-
-    Enable dependency debugging. This provides some useful information about why a target is built or not.
-
-*   EXTRA_CFLAGS=, EXTRA_LDFLAGS=, EXTRA_LDLIBS=, EXTRA_ASFLAGS=, EXTRA_CPPFLAGS=
-
-    Append specific compilation, link or asm flags.
-
-*   CROSS=
-
-    Specify a cross toolchain header that will prefix all gcc/binutils applications. This only works when using gcc.
-
-Make in a Build Directory
--------------------------
-
-All targets described above are called from the SDK root $(RTE_SDK).
-It is possible to run the same Makefile targets inside the build directory.
-For instance, the following command:
-
-.. code-block:: console
-
-    cd $(RTE_SDK)
-    make config O=mybuild T=x86_64-native-linux-gcc
-    make O=mybuild
-
-is equivalent to:
-
-.. code-block:: console
-
-    cd $(RTE_SDK)
-    make config O=mybuild T=x86_64-native-linux-gcc
-    cd mybuild
-
-    # no need to specify O= now
-    make
-
-Compiling for Debug
--------------------
-
-To compile the DPDK and sample applications with debugging information included and the optimization level set to 0,
-the EXTRA_CFLAGS environment variable should be set before compiling as follows:
-
-.. code-block:: console
-
-    export EXTRA_CFLAGS='-O0 -g'
diff --git a/doc/guides/prog_guide/ext_app_lib_make_help.rst b/doc/guides/prog_guide/ext_app_lib_make_help.rst
deleted file mode 100644
index 4312778dc9..0000000000
--- a/doc/guides/prog_guide/ext_app_lib_make_help.rst
+++ /dev/null
@@ -1,98 +0,0 @@
-..  SPDX-License-Identifier: BSD-3-Clause
-    Copyright(c) 2010-2014 Intel Corporation.
-
-.. _External_Application/Library_Makefile_help:
-
-External Application/Library Makefile help
-==========================================
-
-External applications or libraries should include specific Makefiles from RTE_SDK, located in mk directory.
-These Makefiles are:
-
-*   ${RTE_SDK}/mk/rte.extapp.mk: Build an application
-
-*   ${RTE_SDK}/mk/rte.extlib.mk: Build a static library
-
-*   ${RTE_SDK}/mk/rte.extobj.mk: Build objects (.o)
-
-Prerequisites
--------------
-
-The following variables must be defined:
-
-*   ${RTE_SDK}: Points to the root directory of the DPDK.
-
-*   ${RTE_TARGET}: Reference the target to be used for compilation (for example, x86_64-native-linux-gcc).
-
-Build Targets
--------------
-
-Build targets support the specification of the name of the output directory, using O=mybuilddir.
-This is optional; the default output directory is build.
-
-*   all, "nothing" (meaning just make)
-
-    Build the application or the library in the specified output directory.
-
-    Example:
-
-    .. code-block:: console
-
-        make O=mybuild
-
-*   clean
-
-    Clean all objects created using make build.
-
-    Example:
-
-    .. code-block:: console
-
-        make clean O=mybuild
-
-Help Targets
-------------
-
-*   help
-
-    Show this help.
-
-Other Useful Command-line Variables
------------------------------------
-
-The following variables can be specified at the command line:
-
-*   S=
-
-    Specify the directory in which the sources are located. By default, it is the current directory.
-
-*   M=
-
-    Specify the Makefile to call once the output directory is created. By default, it uses $(S)/Makefile.
-
-*   V=
-
-    Enable verbose build (show full compilation command line and some intermediate commands).
-
-*   D=
-
-    Enable dependency debugging. This provides some useful information about why a target must be rebuilt or not.
-
-*   EXTRA_CFLAGS=, EXTRA_LDFLAGS=, EXTRA_ASFLAGS=, EXTRA_CPPFLAGS=
-
-    Append specific compilation, link or asm flags.
-
-*   CROSS=
-
-    Specify a cross-toolchain header that will prefix all gcc/binutils applications. This only works when using gcc.
-
-Make from Another Directory
----------------------------
-
-It is possible to run the Makefile from another directory, by specifying the output and the source dir. For example:
-
-.. code-block:: console
-
-    export RTE_SDK=/path/to/DPDK
-    export RTE_TARGET=x86_64-native-linux-icc
-    make -f /path/to/my_app/Makefile S=/path/to/my_app O=/path/to/build_dir
diff --git a/doc/guides/prog_guide/index.rst b/doc/guides/prog_guide/index.rst
index 0454768de3..45c7dec88d 100644
--- a/doc/guides/prog_guide/index.rst
+++ b/doc/guides/prog_guide/index.rst
@@ -62,12 +62,9 @@ Programmer's Guide
     ipsec_lib
     graph_lib
     source_org
-    dev_kit_build_system
-    dev_kit_root_make_help
     build-sdk-meson
     meson_ut
     build_app
-    ext_app_lib_make_help
     perf_opt_guidelines
     writing_efficient_code
     lto
diff --git a/doc/guides/prog_guide/intro.rst b/doc/guides/prog_guide/intro.rst
index 5b319d36d9..44877bd3e3 100644
--- a/doc/guides/prog_guide/intro.rst
+++ b/doc/guides/prog_guide/intro.rst
@@ -34,7 +34,7 @@ The following is a list of DPDK documents in the suggested reading order:
         specifically in a Linux* application (linux) environment
 
     *   The content of the DPDK, the build system
-        (including the commands that can be used in the root DPDK Makefile to build the development kit and an application)
+        (including the commands that can be used in the root DPDK to build the development kit and an application)
         and guidelines for porting an application
 
     *   Optimizations used in the software and those that should be considered for new development
diff --git a/doc/guides/prog_guide/overview.rst b/doc/guides/prog_guide/overview.rst
index 986c896908..537a568f1e 100644
--- a/doc/guides/prog_guide/overview.rst
+++ b/doc/guides/prog_guide/overview.rst
@@ -18,7 +18,7 @@ The framework creates a set of libraries for specific environments
 through the creation of an Environment Abstraction Layer (EAL),
 which may be specific to a mode of the Intel® architecture (32-bit or 64-bit),
 Linux* user space compilers or a specific platform.
-These environments are created through the use of make files and configuration files.
+These environments are created through the use of meson files and configuration files.
 Once the EAL library is created, the user may link with the library to create their own applications.
 Other libraries, outside of EAL, including the Hash,
 Longest Prefix Match (LPM) and rings libraries are also provided.
@@ -38,21 +38,13 @@ Development Environment
 -----------------------
 
 The DPDK project installation requires Linux and the associated toolchain,
-such as one or more compilers, assembler, make utility,
+such as one or more compilers, assembler, meson utility,
 editor and various libraries to create the DPDK components and libraries.
 
 Once these libraries are created for the specific environment and architecture,
 they may then be used to create the user's data plane application.
 
 When creating applications for the Linux user space, the glibc library is used.
-For DPDK applications, two environmental variables (RTE_SDK and RTE_TARGET)
-must be configured before compiling the applications.
-The following are examples of how the variables can be set:
-
-.. code-block:: console
-
-    export RTE_SDK=/home/user/DPDK
-    export RTE_TARGET=x86_64-native-linux-gcc
 
 See the *DPDK Getting Started Guide* for information on setting up the development environment.
 
diff --git a/doc/guides/prog_guide/source_org.rst b/doc/guides/prog_guide/source_org.rst
index 31c153a1b7..8d531bd9ef 100644
--- a/doc/guides/prog_guide/source_org.rst
+++ b/doc/guides/prog_guide/source_org.rst
@@ -8,29 +8,10 @@ Source Organization
 
 This section describes the organization of sources in the DPDK framework.
 
-Makefiles and Config
---------------------
-
-.. note::
-
-    In the following descriptions,
-    ``RTE_SDK`` is the environment variable that points to the base directory into which the tarball was extracted.
-    See
-    :ref:`Useful_Variables_Provided_by_the_Build_System`
-    for descriptions of other variables.
-
-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 DPDK libraries,
-including debug options.
-The user should look at the config file and become familiar with these options.
-The config file is also used to create a header file, which will be located in the new build directory.
-
 Libraries
 ---------
 
-Libraries are located in subdirectories of ``$(RTE_SDK)/lib``.
+Libraries are located in subdirectories of ``dpdk/lib``.
 By convention a library refers to any code that provides an API to an application.
 Typically, it generates an archive file (``.a``), but a kernel module would also go in the same directory.
 
@@ -55,7 +36,7 @@ Applications
 ------------
 
 Applications are source files that contain a ``main()`` function.
-They are located in the ``$(RTE_SDK)/app`` and ``$(RTE_SDK)/examples`` directories.
+They are located in the ``dpdk/app`` and ``dpdk/examples`` directories.
 
 The app directory contains sample applications that are used to test DPDK (such as autotests)
 or the Poll Mode Drivers (test-pmd).
diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 345c38d5b6..279eccb04a 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -11,13 +11,6 @@ here.
 Deprecation Notices
 -------------------
 
-* make: Support for building DPDK with "make" has been deprecated and
-  support will be removed in the 20.11 release. From 20.11 onwards, DPDK
-  should be built using meson and ninja. For basic instructions see the
-  `Quick-start Guide <https://core.dpdk.org/doc/quick-start/>`_ on the
-  website or the `Getting Started Guide
-  <https://doc.dpdk.org/guides/linux_gsg/build_dpdk.html>`_ document.
-
 * meson: The minimum supported version of meson for configuring and building
   DPDK will be increased to v0.47.1 (from 0.41) from DPDK 19.05 onwards. For
   those users with a version earlier than 0.47.1, an updated copy of meson
diff --git a/drivers/Makefile b/drivers/Makefile
deleted file mode 100644
index 7f06162dc4..0000000000
--- a/drivers/Makefile
+++ /dev/null
@@ -1,34 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2015 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-y += common
-DIRS-y += bus
-DEPDIRS-bus := common
-DIRS-y += mempool
-DEPDIRS-mempool := common bus
-ifeq ($(findstring y,$(CONFIG_RTE_LIBRTE_MLX5_PMD)$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD)),y)
-DIRS-y += common/mlx5
-DEPDIRS-common/mlx5 := bus
-endif
-DIRS-y += net
-DEPDIRS-net := common bus mempool common/mlx5
-DIRS-$(CONFIG_RTE_LIBRTE_BBDEV) += baseband
-DEPDIRS-baseband := common bus mempool
-DIRS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += crypto
-DEPDIRS-crypto := common bus mempool
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_QAT) += common/qat
-DEPDIRS-common/qat := bus mempool
-DIRS-$(CONFIG_RTE_LIBRTE_COMPRESSDEV) += compress
-DEPDIRS-compress := bus mempool
-DIRS-$(CONFIG_RTE_LIBRTE_REGEXDEV) += regex
-DEPDIRS-regex := common bus common/mlx5
-DIRS-$(CONFIG_RTE_LIBRTE_VHOST) += vdpa
-DEPDIRS-vdpa := common bus mempool common/mlx5
-DIRS-$(CONFIG_RTE_LIBRTE_EVENTDEV) += event
-DEPDIRS-event := common bus mempool net crypto
-DIRS-$(CONFIG_RTE_LIBRTE_RAWDEV) += raw
-DEPDIRS-raw := common bus mempool net event
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/drivers/baseband/Makefile b/drivers/baseband/Makefile
deleted file mode 100644
index dcc0969175..0000000000
--- a/drivers/baseband/Makefile
+++ /dev/null
@@ -1,18 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-core-libs := librte_eal librte_mbuf librte_mempool librte_ring
-core-libs += librte_bbdev librte_kvargs librte_cfgfile
-
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_NULL) += null
-DEPDIRS-null = $(core-libs)
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += turbo_sw
-DEPDIRS-turbo_sw = $(core-libs)
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_LTE_FEC) += fpga_lte_fec
-DEPDIRS-fpga_lte_fec = $(core-libs)
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_5GNR_FEC) += fpga_5gnr_fec
-DEPDIRS-fpga_5gnr_fec = $(core-libs)
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/drivers/baseband/fpga_5gnr_fec/Makefile b/drivers/baseband/fpga_5gnr_fec/Makefile
deleted file mode 100644
index 7b7017c6dc..0000000000
--- a/drivers/baseband/fpga_5gnr_fec/Makefile
+++ /dev/null
@@ -1,28 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_bbdev_fpga_5gnr_fec.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_bbdev
-LDLIBS += -lrte_pci -lrte_bus_pci
-
-# versioning export map
-EXPORT_MAP := rte_pmd_bbdev_fpga_5gnr_fec_version.map
-
-# library version
-LIBABIVER := 1
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_5GNR_FEC) += rte_fpga_5gnr_fec.c
-
-# export include files
-SYMLINK-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_5GNR_FEC)-include += rte_pmd_fpga_5gnr_fec.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/baseband/fpga_lte_fec/Makefile b/drivers/baseband/fpga_lte_fec/Makefile
deleted file mode 100644
index 30caafe3db..0000000000
--- a/drivers/baseband/fpga_lte_fec/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_bbdev_fpga_lte_fec.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_bbdev
-LDLIBS += -lrte_pci -lrte_bus_pci
-
-# versioning export map
-EXPORT_MAP := rte_pmd_bbdev_fpga_lte_fec_version.map
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_LTE_FEC) += fpga_lte_fec.c
-
-# export include files
-SYMLINK-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_LTE_FEC)-include += fpga_lte_fec.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/baseband/null/Makefile b/drivers/baseband/null/Makefile
deleted file mode 100644
index 0ee500166d..0000000000
--- a/drivers/baseband/null/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-# library name
-LIB = librte_pmd_bbdev_null.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring -lrte_kvargs
-LDLIBS += -lrte_bbdev
-LDLIBS += -lrte_bus_vdev
-
-# versioning export map
-EXPORT_MAP := rte_pmd_bbdev_null_version.map
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_NULL) += bbdev_null.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/baseband/turbo_sw/Makefile b/drivers/baseband/turbo_sw/Makefile
deleted file mode 100644
index c2a6fe0f81..0000000000
--- a/drivers/baseband/turbo_sw/Makefile
+++ /dev/null
@@ -1,52 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_bbdev_turbo_sw.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring -lrte_kvargs
-LDLIBS += -lrte_bbdev
-LDLIBS += -lrte_bus_vdev
-
-# versioning export map
-EXPORT_MAP := rte_pmd_bbdev_turbo_sw_version.map
-
-# external library dependencies if available
-ifeq ($(CONFIG_RTE_BBDEV_SDK_AVX2),y)
-ifeq ($(FLEXRAN_SDK),)
-$(error "Please define FLEXRAN_SDK environment variable")
-endif
-CFLAGS += -I$(FLEXRAN_SDK)/lib_common
-CFLAGS += -I$(FLEXRAN_SDK)/lib_turbo
-CFLAGS += -I$(FLEXRAN_SDK)/lib_crc
-CFLAGS += -I$(FLEXRAN_SDK)/lib_rate_matching
-LDLIBS += -L$(FLEXRAN_SDK)/lib_turbo -lturbo
-LDLIBS += -L$(FLEXRAN_SDK)/lib_crc -lcrc
-LDLIBS += -L$(FLEXRAN_SDK)/lib_rate_matching -lrate_matching
-LDLIBS += -L$(FLEXRAN_SDK)/lib_common -lcommon
-LDLIBS += -lstdc++ -lirc -limf -lipps -lsvml
-endif
-
-ifeq ($(CONFIG_RTE_BBDEV_SDK_AVX512),y)
-ifeq ($(CONFIG_RTE_BBDEV_SDK_AVX2),n)
-$(error "CONFIG_RTE_BBDEV_SDK_AVX512 requires CONFIG_RTE_BBDEV_SDK_AVX2 set")
-endif
-CFLAGS += -I$(FLEXRAN_SDK)/lib_ldpc_encoder_5gnr
-CFLAGS += -I$(FLEXRAN_SDK)/lib_ldpc_decoder_5gnr
-CFLAGS += -I$(FLEXRAN_SDK)/lib_LDPC_ratematch_5gnr
-CFLAGS += -I$(FLEXRAN_SDK)/lib_rate_dematching_5gnr
-LDLIBS += -L$(FLEXRAN_SDK)/lib_ldpc_encoder_5gnr -lldpc_encoder_5gnr
-LDLIBS += -L$(FLEXRAN_SDK)/lib_ldpc_decoder_5gnr -lldpc_decoder_5gnr
-LDLIBS += -L$(FLEXRAN_SDK)/lib_LDPC_ratematch_5gnr -lLDPC_ratematch_5gnr
-LDLIBS += -L$(FLEXRAN_SDK)/lib_rate_dematching_5gnr -lrate_dematching_5gnr
-endif
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += bbdev_turbo_software.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/bus/Makefile b/drivers/bus/Makefile
deleted file mode 100644
index cea3b55e60..0000000000
--- a/drivers/bus/Makefile
+++ /dev/null
@@ -1,15 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2016 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-$(CONFIG_RTE_LIBRTE_DPAA_BUS) += dpaa
-ifeq ($(CONFIG_RTE_EAL_VFIO),y)
-DIRS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += fslmc
-endif
-DIRS-$(CONFIG_RTE_LIBRTE_IFPGA_BUS) += ifpga
-DIRS-$(CONFIG_RTE_LIBRTE_PCI_BUS) += pci
-DIRS-$(CONFIG_RTE_LIBRTE_VDEV_BUS) += vdev
-DIRS-$(CONFIG_RTE_LIBRTE_VMBUS) += vmbus
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/drivers/bus/dpaa/Makefile b/drivers/bus/dpaa/Makefile
deleted file mode 100644
index ba40b21166..0000000000
--- a/drivers/bus/dpaa/Makefile
+++ /dev/null
@@ -1,48 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2016 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-RTE_BUS_DPAA=$(RTE_SDK)/drivers/bus/dpaa
-
-#
-# library name
-#
-LIB = librte_bus_dpaa.a
-
-CFLAGS := -I$(SRCDIR) $(CFLAGS)
-CFLAGS += -O3 $(WERROR_FLAGS)
-CFLAGS += -Wno-pointer-arith
-CFLAGS += -Wno-cast-qual
-CFLAGS += -I$(RTE_BUS_DPAA)/
-CFLAGS += -I$(RTE_BUS_DPAA)/include
-CFLAGS += -I$(RTE_BUS_DPAA)/base/qbman
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
-
-# versioning export map
-EXPORT_MAP := rte_bus_dpaa_version.map
-
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_DPAA_BUS) += \
-	dpaa_bus.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_DPAA_BUS) += \
-	base/fman/fman.c \
-	base/fman/fman_hw.c \
-	base/fman/netcfg_layer.c \
-	base/qbman/process.c \
-	base/qbman/bman.c \
-	base/qbman/bman_driver.c \
-	base/qbman/qman.c \
-	base/qbman/qman_driver.c \
-	base/qbman/dpaa_alloc.c \
-	base/qbman/dpaa_sys.c
-
-# Link Pthread
-LDLIBS += -lpthread
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev
-LDLIBS += -lrte_common_dpaax
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/bus/fslmc/Makefile b/drivers/bus/fslmc/Makefile
deleted file mode 100644
index b98d758ee0..0000000000
--- a/drivers/bus/fslmc/Makefile
+++ /dev/null
@@ -1,47 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2016 NXP
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_bus_fslmc.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/mc
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/qbman/include
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common
-LDLIBS += -lpthread
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev
-LDLIBS += -lrte_common_dpaax
-
-# versioning export map
-EXPORT_MAP := rte_bus_fslmc_version.map
-
-SRCS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += \
-        qbman/qbman_portal.c \
-        qbman/qbman_debug.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += \
-	mc/dpmng.c \
-	mc/dpbp.c \
-	mc/dpio.c \
-	mc/mc_sys.c \
-	mc/dpcon.c \
-	mc/dpci.c \
-	mc/dpdmai.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += portal/dpaa2_hw_dpio.c
-SRCS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += portal/dpaa2_hw_dpbp.c
-SRCS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += portal/dpaa2_hw_dpci.c
-SRCS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += fslmc_vfio.c
-SRCS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += fslmc_bus.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/bus/ifpga/Makefile b/drivers/bus/ifpga/Makefile
deleted file mode 100644
index 1df369103c..0000000000
--- a/drivers/bus/ifpga/Makefile
+++ /dev/null
@@ -1,28 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_bus_ifpga.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal
-LDLIBS += -lrte_rawdev
-LDLIBS += -lrte_kvargs
-
-# versioning export map
-EXPORT_MAP := rte_bus_ifpga_version.map
-
-SRCS-$(CONFIG_RTE_LIBRTE_IFPGA_BUS) += ifpga_bus.c
-SRCS-$(CONFIG_RTE_LIBRTE_IFPGA_BUS) += ifpga_common.c
-
-#
-# Export include files
-#
-SYMLINK-$(CONFIG_RTE_LIBRTE_IFPGA_BUS)-include += rte_bus_ifpga.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/bus/pci/Makefile b/drivers/bus/pci/Makefile
deleted file mode 100644
index f4102d0a7f..0000000000
--- a/drivers/bus/pci/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 6WIND S.A.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-LIB = librte_bus_pci.a
-EXPORT_MAP := rte_bus_pci_version.map
-
-CFLAGS := -I$(SRCDIR) $(CFLAGS)
-CFLAGS += -O3 $(WERROR_FLAGS)
-
-ifneq ($(CONFIG_RTE_EXEC_ENV_LINUX),)
-SYSTEM := linux
-endif
-ifneq ($(CONFIG_RTE_EXEC_ENV_FREEBSD),)
-SYSTEM := bsd
-endif
-
-CFLAGS += -I$(RTE_SDK)/drivers/bus/pci/$(SYSTEM)
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common
-
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_pci -lrte_kvargs
-
-include $(RTE_SDK)/drivers/bus/pci/$(SYSTEM)/Makefile
-SRCS-$(CONFIG_RTE_LIBRTE_PCI_BUS) := $(addprefix $(SYSTEM)/,$(SRCS))
-SRCS-$(CONFIG_RTE_LIBRTE_PCI_BUS) += pci_params.c
-SRCS-$(CONFIG_RTE_LIBRTE_PCI_BUS) += pci_common.c
-SRCS-$(CONFIG_RTE_LIBRTE_PCI_BUS) += pci_common_uio.c
-
-SYMLINK-$(CONFIG_RTE_LIBRTE_PCI_BUS)-include += rte_bus_pci.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/bus/pci/bsd/Makefile b/drivers/bus/pci/bsd/Makefile
deleted file mode 100644
index c1b54c05ef..0000000000
--- a/drivers/bus/pci/bsd/Makefile
+++ /dev/null
@@ -1,4 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 6WIND S.A.
-
-SRCS += pci.c
diff --git a/drivers/bus/pci/linux/Makefile b/drivers/bus/pci/linux/Makefile
deleted file mode 100644
index 90404468b0..0000000000
--- a/drivers/bus/pci/linux/Makefile
+++ /dev/null
@@ -1,6 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 6WIND S.A.
-
-SRCS += pci.c
-SRCS += pci_uio.c
-SRCS += pci_vfio.c
diff --git a/drivers/bus/vdev/Makefile b/drivers/bus/vdev/Makefile
deleted file mode 100644
index 01747f03a4..0000000000
--- a/drivers/bus/vdev/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_bus_vdev.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-# versioning export map
-EXPORT_MAP := rte_bus_vdev_version.map
-
-SRCS-y += vdev.c
-SRCS-y += vdev_params.c
-
-LDLIBS += -lrte_eal -lrte_kvargs
-
-#
-# Export include files
-#
-SYMLINK-y-include += rte_bus_vdev.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/bus/vmbus/Makefile b/drivers/bus/vmbus/Makefile
deleted file mode 100644
index 335df6a0ba..0000000000
--- a/drivers/bus/vmbus/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-LIB = librte_bus_vmbus.a
-EXPORT_MAP := rte_bus_vmbus_version.map
-
-CFLAGS += -I$(SRCDIR)
-CFLAGS += -O3 $(WERROR_FLAGS)
-
-ifneq ($(CONFIG_RTE_EXEC_ENV_LINUX),)
-SYSTEM := linux
-endif
-ifneq ($(CONFIG_RTE_EXEC_ENV_FREEBSD),)
-$(error "VMBUS not implemented for BSD yet")
-endif
-
-CFLAGS += -I$(RTE_SDK)/drivers/bus/vmbus/$(SYSTEM)
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common
-
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev
-
-include $(RTE_SDK)/drivers/bus/vmbus/$(SYSTEM)/Makefile
-SRCS-$(CONFIG_RTE_LIBRTE_VMBUS) := $(addprefix $(SYSTEM)/,$(SRCS))
-SRCS-$(CONFIG_RTE_LIBRTE_VMBUS) += vmbus_common.c
-SRCS-$(CONFIG_RTE_LIBRTE_VMBUS) += vmbus_channel.c vmbus_bufring.c
-SRCS-$(CONFIG_RTE_LIBRTE_VMBUS) += vmbus_common_uio.c
-
-SYMLINK-$(CONFIG_RTE_LIBRTE_VMBUS)-include += rte_bus_vmbus.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_VMBUS)-include += rte_vmbus_reg.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/bus/vmbus/linux/Makefile b/drivers/bus/vmbus/linux/Makefile
deleted file mode 100644
index ef0d30b2d3..0000000000
--- a/drivers/bus/vmbus/linux/Makefile
+++ /dev/null
@@ -1,3 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-
-SRCS += vmbus_bus.c vmbus_uio.c
diff --git a/drivers/common/Makefile b/drivers/common/Makefile
deleted file mode 100644
index cfb6b4dc88..0000000000
--- a/drivers/common/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Cavium, Inc
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-CPT-y := $(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_CRYPTO)
-CPT-y += $(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO)
-ifneq (,$(findstring y,$(CPT-y)))
-DIRS-y += cpt
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF)$(CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL),yy)
-DIRS-y += octeontx
-endif
-OCTEONTX2-y := $(CONFIG_RTE_LIBRTE_OCTEONTX2_MEMPOOL)
-OCTEONTX2-y += $(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO)
-ifeq ($(findstring y,$(OCTEONTX2-y)),y)
-DIRS-y += octeontx2
-endif
-
-MVEP-y := $(CONFIG_RTE_LIBRTE_MVPP2_PMD)
-MVEP-y += $(CONFIG_RTE_LIBRTE_MVNETA_PMD)
-MVEP-y += $(CONFIG_RTE_LIBRTE_PMD_MVSAM_CRYPTO)
-ifneq (,$(findstring y,$(MVEP-y)))
-DIRS-y += mvep
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_COMMON_DPAAX),y)
-DIRS-y += dpaax
-endif
-
-IAVF-y := $(CONFIG_RTE_LIBRTE_IAVF_PMD)
-IAVF-y += $(CONFIG_RTE_LIBRTE_ICE_PMD)
-ifneq (,$(findstring y,$(IAVF-y)))
-DIRS-y += iavf
-endif
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/drivers/common/cpt/Makefile b/drivers/common/cpt/Makefile
deleted file mode 100644
index cab9da73c8..0000000000
--- a/drivers/common/cpt/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Cavium, Inc
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_common_cpt.a
-
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/bus/pci
-EXPORT_MAP := rte_common_cpt_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-y += cpt_fpm_tables.c
-SRCS-y += cpt_pmd_ops_helper.c
-
-LDLIBS += -lrte_eal
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/common/dpaax/Makefile b/drivers/common/dpaax/Makefile
deleted file mode 100644
index 2f4b924fda..0000000000
--- a/drivers/common/dpaax/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2018 NXP
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_common_dpaax.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -Wno-pointer-arith
-CFLAGS += -Wno-cast-qual
-
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax/caamflib
-
-# versioning export map
-EXPORT_MAP := rte_common_dpaax_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-y += dpaax_iova_table.c dpaa_of.c caamflib.c
-
-LDLIBS += -lrte_eal
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/common/iavf/Makefile b/drivers/common/iavf/Makefile
deleted file mode 100644
index f06dafd408..0000000000
--- a/drivers/common/iavf/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_common_iavf.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -Wno-pointer-arith
-CFLAGS += -Wno-cast-qual
-
-EXPORT_MAP := rte_common_iavf_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-y += iavf_adminq.c
-SRCS-y += iavf_common.c
-SRCS-y += iavf_impl.c
-
-LDLIBS += -lrte_eal
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/common/mlx5/Makefile b/drivers/common/mlx5/Makefile
deleted file mode 100644
index 4edd541042..0000000000
--- a/drivers/common/mlx5/Makefile
+++ /dev/null
@@ -1,404 +0,0 @@
-#   SPDX-License-Identifier: BSD-3-Clause
-#   Copyright 2019 Mellanox Technologies, Ltd
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# Library name.
-LIB = librte_common_mlx5.a
-LIB_GLUE = $(LIB_GLUE_BASE).$(LIB_GLUE_VERSION)
-LIB_GLUE_BASE = librte_pmd_mlx5_glue.so
-LIB_GLUE_VERSION = 20.02.0
-
-# Sources.
-ifeq ($(findstring y,$(CONFIG_RTE_LIBRTE_MLX5_PMD)$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD)),y)
-ifneq ($(CONFIG_RTE_IBVERBS_LINK_DLOPEN),y)
-SRCS-y += linux/mlx5_glue.c
-endif
-SRCS-y += mlx5_devx_cmds.c
-SRCS-y += mlx5_common.c
-SRCS-y += linux/mlx5_common_os.c
-SRCS-y += linux/mlx5_nl.c
-SRCS-y += linux/mlx5_common_verbs.c
-SRCS-y += mlx5_common_mp.c
-SRCS-y += mlx5_common_mr.c
-SRCS-y += mlx5_malloc.c
-SRCS-y += mlx5_common_pci.c
-ifeq ($(CONFIG_RTE_IBVERBS_LINK_DLOPEN),y)
-INSTALL-y-lib += $(LIB_GLUE)
-endif
-endif
-
-# Basic CFLAGS.
-CFLAGS += -O3
-CFLAGS += -std=c11 -Wall -Wextra
-CFLAGS += -g
-CFLAGS += -I.
-CFLAGS += -I$(SRCDIR)
-CFLAGS += -I$(SRCDIR)/linux
-CFLAGS += -D_BSD_SOURCE
-CFLAGS += -D_DEFAULT_SOURCE
-CFLAGS += -D_XOPEN_SOURCE=600
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -Wno-strict-prototypes
-ifeq ($(CONFIG_RTE_IBVERBS_LINK_DLOPEN),y)
-CFLAGS += -DMLX5_GLUE='"$(LIB_GLUE)"'
-CFLAGS += -DMLX5_GLUE_VERSION='"$(LIB_GLUE_VERSION)"'
-CFLAGS_linux/mlx5_glue.o += -fPIC
-LDLIBS += -ldl
-else ifeq ($(CONFIG_RTE_IBVERBS_LINK_STATIC),y)
-LDLIBS += $(shell $(RTE_SDK)/buildtools/options-ibverbs-static.sh)
-else
-LDLIBS += -libverbs -lmlx5
-endif
-
-LDLIBS += -lrte_eal -lrte_pci -lrte_kvargs -lrte_net
-LDLIBS += -lrte_bus_pci
-
-# A few warnings cannot be avoided in external headers.
-CFLAGS += -Wno-error=cast-qual -UPEDANTIC
-
-EXPORT_MAP := rte_common_mlx5_version.map
-
-include $(RTE_SDK)/mk/rte.lib.mk
-
-# Generate and clean-up mlx5_autoconf.h.
-
-export CC CFLAGS CPPFLAGS EXTRA_CFLAGS EXTRA_CPPFLAGS
-export AUTO_CONFIG_CFLAGS = -Wno-error
-
-ifndef V
-AUTOCONF_OUTPUT := >/dev/null
-endif
-
-mlx5_autoconf.h.new: FORCE
-
-mlx5_autoconf.h.new: $(RTE_SDK)/buildtools/auto-config-h.sh
-	$Q $(RM) -f -- '$@'
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_RELAXED_ORDERING \
-		infiniband/verbs.h \
-		enum IBV_ACCESS_RELAXED_ORDERING \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_DEVICE_STRIDING_RQ_SUPPORT \
-		infiniband/mlx5dv.h \
-		enum MLX5DV_CQE_RES_FORMAT_CSUM_STRIDX \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_DEVICE_TUNNEL_SUPPORT \
-		infiniband/mlx5dv.h \
-		enum MLX5DV_CONTEXT_MASK_TUNNEL_OFFLOADS \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_DEVICE_MPLS_SUPPORT \
-		infiniband/verbs.h \
-		enum IBV_FLOW_SPEC_MPLS \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_WQ_FLAGS_PCI_WRITE_END_PADDING \
-		infiniband/verbs.h \
-		enum IBV_WQ_FLAGS_PCI_WRITE_END_PADDING \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_WQ_FLAG_RX_END_PADDING \
-		infiniband/verbs.h \
-		enum IBV_WQ_FLAG_RX_END_PADDING \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_MLX5_MOD_SWP \
-		infiniband/mlx5dv.h \
-		type 'struct mlx5dv_sw_parsing_caps' \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_MLX5_MOD_MPW \
-		infiniband/mlx5dv.h \
-		enum MLX5DV_CONTEXT_FLAGS_MPW_ALLOWED \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_MLX5_MOD_CQE_128B_COMP \
-		infiniband/mlx5dv.h \
-		enum MLX5DV_CONTEXT_FLAGS_CQE_128B_COMP \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_MLX5_MOD_CQE_128B_PAD \
-		infiniband/mlx5dv.h \
-		enum MLX5DV_CQ_INIT_ATTR_FLAGS_CQE_PAD \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_FLOW_DV_SUPPORT \
-		infiniband/mlx5dv.h \
-		func mlx5dv_create_flow_action_packet_reformat \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_MLX5DV_DR \
-		infiniband/mlx5dv.h \
-		enum MLX5DV_DR_DOMAIN_TYPE_NIC_RX \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_MLX5DV_DR_ESWITCH \
-		infiniband/mlx5dv.h \
-		enum MLX5DV_DR_DOMAIN_TYPE_FDB \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_MLX5DV_DR_VLAN \
-		infiniband/mlx5dv.h \
-		func mlx5dv_dr_action_create_push_vlan \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_MLX5DV_DR_DEVX_PORT \
-		infiniband/mlx5dv.h \
-		func mlx5dv_query_devx_port \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_DEVX_OBJ \
-		infiniband/mlx5dv.h \
-		func mlx5dv_devx_obj_create \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_FLOW_DEVX_COUNTERS \
-		infiniband/mlx5dv.h \
-		enum MLX5DV_FLOW_ACTION_COUNTERS_DEVX \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_MLX5_DR_CREATE_ACTION_DEFAULT_MISS \
-		infiniband/mlx5dv.h \
-		enum MLX5DV_FLOW_ACTION_DEFAULT_MISS \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_DEVX_ASYNC \
-		infiniband/mlx5dv.h \
-		func mlx5dv_devx_obj_query_async \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_DEVX_QP \
-		infiniband/mlx5dv.h \
-		func mlx5dv_devx_qp_query \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_MLX5DV_DEVX_UAR_OFFSET \
-		infiniband/mlx5dv.h \
-		field "struct mlx5dv_devx_uar.mmap_off" \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_MLX5DV_PP_ALLOC \
-		infiniband/mlx5dv.h \
-		func mlx5dv_pp_alloc \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_MLX5DV_DR_ACTION_DEST_DEVX_TIR \
-		infiniband/mlx5dv.h \
-		func mlx5dv_dr_action_create_dest_devx_tir \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_DEVX_EVENT \
-		infiniband/mlx5dv.h \
-		func mlx5dv_devx_get_event \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_MLX5_DR_CREATE_ACTION_FLOW_METER \
-		infiniband/mlx5dv.h \
-		func mlx5dv_dr_action_create_flow_meter \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_MLX5_DR_FLOW_DUMP \
-		infiniband/mlx5dv.h \
-		func mlx5dv_dump_dr_domain \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_MLX5DV_MMAP_GET_NC_PAGES_CMD \
-		infiniband/mlx5dv.h \
-		enum MLX5_MMAP_GET_NC_PAGES_CMD \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_VAR \
-		infiniband/mlx5dv.h \
-		func mlx5dv_alloc_var \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_MLX5DV_DR_MEM_RECLAIM \
-		infiniband/mlx5dv.h \
-		func mlx5dv_dr_domain_set_reclaim_device_memory \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_MLX5_OPCODE_ENHANCED_MPSW \
-		infiniband/mlx5dv.h \
-		enum MLX5_OPCODE_ENHANCED_MPSW \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_MLX5_OPCODE_SEND_EN \
-		infiniband/mlx5dv.h \
-		enum MLX5_OPCODE_SEND_EN \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_MLX5_OPCODE_WAIT \
-		infiniband/mlx5dv.h \
-		enum MLX5_OPCODE_WAIT \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_ETHTOOL_LINK_MODE_25G \
-		/usr/include/linux/ethtool.h \
-		enum ETHTOOL_LINK_MODE_25000baseCR_Full_BIT \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_ETHTOOL_LINK_MODE_50G \
-		/usr/include/linux/ethtool.h \
-		enum ETHTOOL_LINK_MODE_50000baseCR2_Full_BIT \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_ETHTOOL_LINK_MODE_100G \
-		/usr/include/linux/ethtool.h \
-		enum ETHTOOL_LINK_MODE_100000baseKR4_Full_BIT \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_DEVICE_COUNTERS_SET_V42 \
-		infiniband/verbs.h \
-		type 'struct ibv_counter_set_init_attr' \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_DEVICE_COUNTERS_SET_V45 \
-		infiniband/verbs.h \
-		type 'struct ibv_counters_init_attr' \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_RDMA_NL_NLDEV \
-		rdma/rdma_netlink.h \
-		enum RDMA_NL_NLDEV \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_RDMA_NLDEV_CMD_GET \
-		rdma/rdma_netlink.h \
-		enum RDMA_NLDEV_CMD_GET \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_RDMA_NLDEV_CMD_PORT_GET \
-		rdma/rdma_netlink.h \
-		enum RDMA_NLDEV_CMD_PORT_GET \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_RDMA_NLDEV_ATTR_DEV_INDEX \
-		rdma/rdma_netlink.h \
-		enum RDMA_NLDEV_ATTR_DEV_INDEX \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_RDMA_NLDEV_ATTR_DEV_NAME \
-		rdma/rdma_netlink.h \
-		enum RDMA_NLDEV_ATTR_DEV_NAME \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_RDMA_NLDEV_ATTR_PORT_INDEX \
-		rdma/rdma_netlink.h \
-		enum RDMA_NLDEV_ATTR_PORT_INDEX \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_RDMA_NLDEV_ATTR_NDEV_INDEX \
-		rdma/rdma_netlink.h \
-		enum RDMA_NLDEV_ATTR_NDEV_INDEX \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IFLA_NUM_VF \
-		linux/if_link.h \
-		enum IFLA_NUM_VF \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IFLA_EXT_MASK \
-		linux/if_link.h \
-		enum IFLA_EXT_MASK \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IFLA_PHYS_SWITCH_ID \
-		linux/if_link.h \
-		enum IFLA_PHYS_SWITCH_ID \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IFLA_PHYS_PORT_NAME \
-		linux/if_link.h \
-		enum IFLA_PHYS_PORT_NAME \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_DEVLINK \
-		linux/devlink.h \
-		define DEVLINK_GENL_NAME \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_SUPPORTED_40000baseKR4_Full \
-		/usr/include/linux/ethtool.h \
-		define SUPPORTED_40000baseKR4_Full \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_SUPPORTED_40000baseCR4_Full \
-		/usr/include/linux/ethtool.h \
-		define SUPPORTED_40000baseCR4_Full \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_SUPPORTED_40000baseSR4_Full \
-		/usr/include/linux/ethtool.h \
-		define SUPPORTED_40000baseSR4_Full \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_SUPPORTED_40000baseLR4_Full \
-		/usr/include/linux/ethtool.h \
-		define SUPPORTED_40000baseLR4_Full \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_SUPPORTED_56000baseKR4_Full \
-		/usr/include/linux/ethtool.h \
-		define SUPPORTED_56000baseKR4_Full \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_SUPPORTED_56000baseCR4_Full \
-		/usr/include/linux/ethtool.h \
-		define SUPPORTED_56000baseCR4_Full \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_SUPPORTED_56000baseSR4_Full \
-		/usr/include/linux/ethtool.h \
-		define SUPPORTED_56000baseSR4_Full \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_SUPPORTED_56000baseLR4_Full \
-		/usr/include/linux/ethtool.h \
-		define SUPPORTED_56000baseLR4_Full \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_STATIC_ASSERT \
-		/usr/include/assert.h \
-		define static_assert \
-		$(AUTOCONF_OUTPUT)
-
-# Create mlx5_autoconf.h or update it in case it differs from the new one.
-
-mlx5_autoconf.h: mlx5_autoconf.h.new
-	$Q [ -f '$@' ] && \
-		cmp '$<' '$@' $(AUTOCONF_OUTPUT) || \
-		mv '$<' '$@'
-
-ifeq ($(findstring y,$(CONFIG_RTE_LIBRTE_MLX5_PMD)$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD)),y)
-$(SRCS-y:.c=.o): mlx5_autoconf.h
-endif
-
-# Generate dependency plug-in for rdma-core when the PMD must not be linked
-# directly, so that applications do not inherit this dependency.
-
-ifeq ($(CONFIG_RTE_IBVERBS_LINK_DLOPEN),y)
-
-$(LIB): $(LIB_GLUE)
-
-ifeq ($(LINK_USING_CC),1)
-GLUE_LDFLAGS := $(call linkerprefix,$(LDFLAGS))
-else
-GLUE_LDFLAGS := $(LDFLAGS)
-endif
-$(LIB_GLUE): linux/mlx5_glue.o
-	$Q $(LD) $(GLUE_LDFLAGS) $(EXTRA_LDFLAGS) \
-		-Wl,-h,$(LIB_GLUE) \
-		-shared -o $@ $< -libverbs -lmlx5
-
-linux/mlx5_glue.o: mlx5_autoconf.h
-
-endif
-
-clean_mlx5: FORCE
-	$Q rm -f -- mlx5_autoconf.h mlx5_autoconf.h.new
-	$Q rm -f -- linux/mlx5_glue.o $(LIB_GLUE_BASE)*
-
-clean: clean_mlx5
diff --git a/drivers/common/mvep/Makefile b/drivers/common/mvep/Makefile
deleted file mode 100644
index f91d295e5c..0000000000
--- a/drivers/common/mvep/Makefile
+++ /dev/null
@@ -1,35 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Marvell International Ltd.
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-ifneq ($(MAKECMDGOALS),clean)
-ifneq ($(MAKECMDGOALS),config)
-ifeq ($(LIBMUSDK_PATH),)
-$(error "Please define LIBMUSDK_PATH environment variable")
-endif
-endif
-endif
-
-# library name
-LIB = librte_common_mvep.a
-
-# versioning export map
-EXPORT_MAP := rte_common_mvep_version.map
-
-# external library dependencies
-CFLAGS += -I$($RTE_SDK)/drivers/common/mvep
-CFLAGS += -I$(LIBMUSDK_PATH)/include
-CFLAGS += -DMVCONF_TYPES_PUBLIC
-CFLAGS += -DMVCONF_DMA_PHYS_ADDR_T_PUBLIC
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -O3
-LDLIBS += -L$(LIBMUSDK_PATH)/lib
-LDLIBS += -lmusdk
-LDLIBS += -lrte_eal -lrte_kvargs
-
-# library source files
-SRCS-y += mvep_common.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/common/octeontx/Makefile b/drivers/common/octeontx/Makefile
deleted file mode 100644
index 5e67df0583..0000000000
--- a/drivers/common/octeontx/Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Cavium, Inc
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_common_octeontx.a
-
-CFLAGS += $(WERROR_FLAGS)
-EXPORT_MAP := rte_common_octeontx_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-y += octeontx_mbox.c
-
-LDLIBS += -lrte_eal
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/common/octeontx2/Makefile b/drivers/common/octeontx2/Makefile
deleted file mode 100644
index 260da8dd3e..0000000000
--- a/drivers/common/octeontx2/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(C) 2019 Marvell International Ltd.
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_common_octeontx2.a
-
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx2
-CFLAGS += -I$(RTE_SDK)/drivers/mempool/octeontx2
-CFLAGS += -I$(RTE_SDK)/drivers/bus/pci
-
-ifneq ($(CONFIG_RTE_ARCH_64),y)
-CFLAGS += -Wno-int-to-pointer-cast
-CFLAGS += -Wno-pointer-to-int-cast
-ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS += -diag-disable 2259
-endif
-endif
-
-EXPORT_MAP := rte_common_octeontx2_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-y += otx2_dev.c
-SRCS-y += otx2_irq.c
-SRCS-y += otx2_mbox.c
-SRCS-y += otx2_common.c
-SRCS-y += otx2_sec_idev.c
-
-LDLIBS += -lrte_eal
-LDLIBS += -lrte_ethdev -lrte_kvargs
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/common/qat/Makefile b/drivers/common/qat/Makefile
deleted file mode 100644
index 85d4207099..0000000000
--- a/drivers/common/qat/Makefile
+++ /dev/null
@@ -1,74 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2015-2018 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# build directories
-QAT_CRYPTO_DIR := $(RTE_SDK)/drivers/crypto/qat
-QAT_COMPRESS_DIR := $(RTE_SDK)/drivers/compress/qat
-VPATH=$(QAT_CRYPTO_DIR):$(QAT_COMPRESS_DIR)
-
-# external library include paths
-CFLAGS += -I$(SRCDIR)/qat_adf
-CFLAGS += -I$(SRCDIR)
-CFLAGS += -I$(QAT_CRYPTO_DIR)
-CFLAGS += -I$(QAT_COMPRESS_DIR)
-
-
-ifeq ($(CONFIG_RTE_LIBRTE_COMPRESSDEV),y)
-	LDLIBS += -lrte_compressdev
-	SRCS-y += qat_comp.c
-	SRCS-y += qat_comp_pmd.c
-	build_qat = yes
-endif
-
-# library symmetric crypto source files
-ifeq ($(CONFIG_RTE_LIBRTE_CRYPTODEV),y)
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_QAT_ASYM),y)
-	LDLIBS += -lrte_cryptodev
-	LDLIBS += -lcrypto
-	CFLAGS += -DBUILD_QAT_ASYM
-	SRCS-y += qat_asym.c
-	SRCS-y += qat_asym_pmd.c
-	build_qat = yes
-endif
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_QAT_SYM),y)
-	LDLIBS += -lrte_cryptodev
-	LDLIBS += -lcrypto
-ifeq ($(CONFIG_RTE_LIBRTE_SECURITY),y)
-	LDLIBS += -lrte_net
-endif
-	CFLAGS += -DBUILD_QAT_SYM
-	SRCS-y += qat_sym.c
-	SRCS-y += qat_sym_session.c
-	SRCS-y += qat_sym_pmd.c
-	build_qat = yes
-endif
-endif
-
-ifdef build_qat
-
-	# library name
-	LIB = librte_pmd_qat.a
-
-	# build flags
-	CFLAGS += $(WERROR_FLAGS)
-	CFLAGS += -O3
-
-	# library common source files
-	SRCS-y += qat_device.c
-	SRCS-y += qat_common.c
-	SRCS-y += qat_logs.c
-	SRCS-y += qat_qp.c
-
-	LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool
-	LDLIBS += -lrte_pci -lrte_bus_pci
-
-	# export include files
-	SYMLINK-y-include +=
-
-	# versioning export map
-	EXPORT_MAP := ../../compress/qat/rte_pmd_qat_version.map
-endif
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/compress/Makefile b/drivers/compress/Makefile
deleted file mode 100644
index 286ea6ee84..0000000000
--- a/drivers/compress/Makefile
+++ /dev/null
@@ -1,10 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_ISAL) += isal
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_ZIPVF) += octeontx
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_ZLIB) += zlib
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/drivers/compress/isal/Makefile b/drivers/compress/isal/Makefile
deleted file mode 100644
index 1e225ab434..0000000000
--- a/drivers/compress/isal/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_isal_comp.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-# external library dependencies
-LDLIBS += -lisal
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_compressdev
-LDLIBS += -lrte_bus_vdev
-
-# versioning export map
-EXPORT_MAP := rte_pmd_isal_version.map
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_ISAL) += isal_compress_pmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_ISAL) += isal_compress_pmd_ops.c
-
-# export include files
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/compress/octeontx/Makefile b/drivers/compress/octeontx/Makefile
deleted file mode 100644
index 9ba1db791e..0000000000
--- a/drivers/compress/octeontx/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Cavium, Inc
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_octeontx_zip.a
-
-# build flags
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -O3
-CFLAGS += -I$(RTE_SDK)/drivers/compress/octeontx/include
-
-# external library include paths
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_compressdev
-LDLIBS += -lrte_pci -lrte_bus_pci
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_ZIPVF) += otx_zip_pmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_ZIPVF) += otx_zip.c
-
-# versioning export map
-EXPORT_MAP := rte_pmd_octeontx_compress_version.map
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/compress/zlib/Makefile b/drivers/compress/zlib/Makefile
deleted file mode 100644
index 9f695f7d9a..0000000000
--- a/drivers/compress/zlib/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Cavium Networks
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_zlib.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-# versioning export map
-EXPORT_MAP := rte_pmd_zlib_version.map
-
-# external library dependencies
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring -lz
-LDLIBS += -lrte_compressdev
-LDLIBS += -lrte_bus_vdev
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_ZLIB) += zlib_pmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_ZLIB) += zlib_pmd_ops.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/Makefile b/drivers/crypto/Makefile
deleted file mode 100644
index 47a2a9e794..0000000000
--- a/drivers/crypto/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_GCM) += aesni_gcm
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB) += aesni_mb
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO) += armv8
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_CCP) += ccp
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_CRYPTO) += octeontx
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO) += octeontx2
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_OPENSSL) += openssl
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += scheduler
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_SNOW3G) += snow3g
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_KASUMI) += kasumi
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_ZUC) += zuc
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_MVSAM_CRYPTO) += mvsam
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_NULL_CRYPTO) += null
-ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC) += dpaa2_sec
-endif # CONFIG_RTE_LIBRTE_FSLMC_BUS
-ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_SEC) += dpaa_sec
-endif # CONFIG_RTE_LIBRTE_PMD_DPAA_SEC
-ifeq ($(CONFIG_RTE_LIBRTE_SECURITY),y)
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_CAAM_JR) += caam_jr
-endif # CONFIG_RTE_LIBRTE_SECURITY
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_VIRTIO_CRYPTO) += virtio
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_NITROX) += nitrox
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/drivers/crypto/aesni_gcm/Makefile b/drivers/crypto/aesni_gcm/Makefile
deleted file mode 100644
index 01cb4fddfe..0000000000
--- a/drivers/crypto/aesni_gcm/Makefile
+++ /dev/null
@@ -1,43 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016-2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_aesni_gcm.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-# versioning export map
-EXPORT_MAP := rte_pmd_aesni_gcm_version.map
-
-# external library dependencies
-LDLIBS += -lIPSec_MB
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_cryptodev
-LDLIBS += -lrte_bus_vdev
-
-H := \#
-IMB_HDR = $(shell echo '$Hinclude <intel-ipsec-mb.h>' | \
-	$(CC) -E $(EXTRA_CFLAGS) - | grep 'intel-ipsec-mb.h' | \
-	head -n1 | cut -d'"' -f2)
-
-# Detect library version
-IMB_VERSION = $(shell grep -e "IMB_VERSION_STR" $(IMB_HDR) | cut -d'"' -f2)
-IMB_VERSION_NUM = $(shell grep -e "IMB_VERSION_NUM" $(IMB_HDR) | cut -d' ' -f3)
-
-ifeq ($(IMB_VERSION),)
-$(error "IPSec_MB version >= 0.52 is required")
-endif
-
-ifeq ($(shell expr $(IMB_VERSION_NUM) \< 0x3400), 1)
-$(error "IPSec_MB version >= 0.52 is required")
-endif
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_GCM) += aesni_gcm_pmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_GCM) += aesni_gcm_pmd_ops.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/aesni_mb/Makefile b/drivers/crypto/aesni_mb/Makefile
deleted file mode 100644
index f0dc82f395..0000000000
--- a/drivers/crypto/aesni_mb/Makefile
+++ /dev/null
@@ -1,42 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2015-2018 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_aesni_mb.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-# versioning export map
-EXPORT_MAP := rte_pmd_aesni_mb_version.map
-
-# external library dependencies
-LDLIBS += -lIPSec_MB
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_cryptodev
-LDLIBS += -lrte_bus_vdev
-
-H := \#
-IMB_HDR = $(shell echo '$Hinclude <intel-ipsec-mb.h>' | \
-	$(CC) -E $(EXTRA_CFLAGS) - | grep 'intel-ipsec-mb.h' | \
-	head -n1 | cut -d'"' -f2)
-
-# Detect library version
-IMB_VERSION = $(shell grep -e "IMB_VERSION_STR" $(IMB_HDR) | cut -d'"' -f2)
-IMB_VERSION_NUM = $(shell grep -e "IMB_VERSION_NUM" $(IMB_HDR) | cut -d' ' -f3)
-
-ifeq ($(IMB_VERSION),)
-$(error "IPSec_MB version >= 0.52 is required")
-endif
-
-ifeq ($(shell expr $(IMB_VERSION_NUM) \< 0x3400), 1)
-$(error "IPSec_MB version >= 0.52 is required")
-endif
-
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB) += rte_aesni_mb_pmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB) += rte_aesni_mb_pmd_ops.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/armv8/Makefile b/drivers/crypto/armv8/Makefile
deleted file mode 100644
index 0e3bc9fb70..0000000000
--- a/drivers/crypto/armv8/Makefile
+++ /dev/null
@@ -1,36 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Cavium, Inc
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-ifneq ($(MAKECMDGOALS),clean)
-ifneq ($(MAKECMDGOALS),config)
-ifeq ($(ARMV8_CRYPTO_LIB_PATH),)
-$(error "Please define ARMV8_CRYPTO_LIB_PATH environment variable")
-endif
-endif
-endif
-
-# library name
-LIB = librte_pmd_armv8.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-# versioning export map
-EXPORT_MAP := rte_pmd_armv8_version.map
-
-# external library dependencies
-CFLAGS += -I$(ARMV8_CRYPTO_LIB_PATH)
-LDLIBS += -L$(ARMV8_CRYPTO_LIB_PATH) -lAArch64crypto
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_cryptodev
-LDLIBS += -lrte_bus_vdev
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO) += rte_armv8_pmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO) += rte_armv8_pmd_ops.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/caam_jr/Makefile b/drivers/crypto/caam_jr/Makefile
deleted file mode 100644
index 89d3238172..0000000000
--- a/drivers/crypto/caam_jr/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2017 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_caam_jr.a
-
-# build flags
-CFLAGS += -D _GNU_SOURCE
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa/include
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax/caamflib/
-CFLAGS += -I$(RTE_SDK)/drivers/crypto/caam_jr
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
-
-# versioning export map
-EXPORT_MAP := rte_pmd_caam_jr_version.map
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CAAM_JR) += caam_jr.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CAAM_JR) += caam_jr_capabilities.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CAAM_JR) += caam_jr_hw.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CAAM_JR) += caam_jr_uio.c
-# library dependencies
-
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_cryptodev
-LDLIBS += -lrte_bus_dpaa
-LDLIBS += -lrte_bus_vdev
-LDLIBS += -lrte_common_dpaax
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/ccp/Makefile b/drivers/crypto/ccp/Makefile
deleted file mode 100644
index 3f5da2adf3..0000000000
--- a/drivers/crypto/ccp/Makefile
+++ /dev/null
@@ -1,32 +0,0 @@
-#   SPDX-License-Identifier: BSD-3-Clause
-#   Copyright(c) 2018 Advanced Micro Devices, Inc. All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_ccp.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += -I$(SRCDIR)
-CFLAGS += $(WERROR_FLAGS)
-
-# external library include paths
-LDLIBS += -lcrypto
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_cryptodev
-LDLIBS += -lrte_pci -lrte_bus_pci
-LDLIBS += -lrte_bus_vdev
-LDLIBS += -lrte_kvargs
-
-# versioning export map
-EXPORT_MAP := rte_pmd_ccp_version.map
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CCP) += rte_ccp_pmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CCP) += ccp_crypto.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CCP) += ccp_dev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CCP) += ccp_pci.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CCP) += ccp_pmd_ops.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/dpaa2_sec/Makefile b/drivers/crypto/dpaa2_sec/Makefile
deleted file mode 100644
index a0a2795575..0000000000
--- a/drivers/crypto/dpaa2_sec/Makefile
+++ /dev/null
@@ -1,45 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright (c) 2016 Freescale Semiconductor, Inc. All rights reserved.
-# Copyright 2016 NXP
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-#
-# library name
-#
-LIB = librte_pmd_dpaa2_sec.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
-ifeq ($(shell test $(GCC_VERSION) -gt 70 && echo 1), 1)
-CFLAGS += -Wno-implicit-fallthrough
-endif
-endif
-
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax/caamflib
-CFLAGS += -I$(RTE_SDK)/drivers/crypto/dpaa2_sec/
-CFLAGS += -I$(RTE_SDK)/drivers/crypto/dpaa2_sec/mc
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/qbman/include
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/mc
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/portal
-CFLAGS += -I$(RTE_SDK)/drivers/mempool/dpaa2/
-
-# versioning export map
-EXPORT_MAP := rte_pmd_dpaa2_sec_version.map
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC) += dpaa2_sec_dpseci.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC) += mc/dpseci.c
-
-LDLIBS += -lrte_bus_fslmc
-LDLIBS += -lrte_mempool_dpaa2
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_cryptodev
-LDLIBS += -lrte_common_dpaax
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/dpaa_sec/Makefile b/drivers/crypto/dpaa_sec/Makefile
deleted file mode 100644
index ea266962a3..0000000000
--- a/drivers/crypto/dpaa_sec/Makefile
+++ /dev/null
@@ -1,38 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright (c) 2016 Freescale Semiconductor, Inc. All rights reserved.
-# Copyright 2017 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_dpaa_sec.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa
-CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa/include
-CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa/base/qbman
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-CFLAGS += -I$(RTE_SDK)/drivers/crypto/dpaa_sec/
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax/caamflib/
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_cryptodev
-
-# versioning export map
-EXPORT_MAP := rte_pmd_dpaa_sec_version.map
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_SEC) += dpaa_sec.c
-
-# library dependencies
-
-LDLIBS += -lrte_bus_dpaa
-LDLIBS += -lrte_mempool_dpaa
-LDLIBS += -lrte_common_dpaax
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/kasumi/Makefile b/drivers/crypto/kasumi/Makefile
deleted file mode 100644
index a7d0d079d2..0000000000
--- a/drivers/crypto/kasumi/Makefile
+++ /dev/null
@@ -1,42 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_kasumi.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-# versioning export map
-EXPORT_MAP := rte_pmd_kasumi_version.map
-
-# external library dependencies
-LDLIBS += -lIPSec_MB
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_cryptodev
-LDLIBS += -lrte_bus_vdev
-
-H := \#
-IMB_HDR = $(shell echo '$Hinclude <intel-ipsec-mb.h>' | \
-	$(CC) -E $(EXTRA_CFLAGS) - | grep 'intel-ipsec-mb.h' | \
-	head -n1 | cut -d'"' -f2)
-
-# Detect library version
-IMB_VERSION = $(shell grep -e "IMB_VERSION_STR" $(IMB_HDR) | cut -d'"' -f2)
-IMB_VERSION_NUM = $(shell grep -e "IMB_VERSION_NUM" $(IMB_HDR) | cut -d' ' -f3)
-
-ifeq ($(IMB_VERSION),)
-$(error "IPSec_MB version >= 0.53 is required")
-endif
-
-ifeq ($(shell expr $(IMB_VERSION_NUM) \< 0x3400), 1)
-$(error "IPSec_MB version >= 0.53 is required")
-endif
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_KASUMI) += rte_kasumi_pmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_KASUMI) += rte_kasumi_pmd_ops.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/mvsam/Makefile b/drivers/crypto/mvsam/Makefile
deleted file mode 100644
index f0641ae7d9..0000000000
--- a/drivers/crypto/mvsam/Makefile
+++ /dev/null
@@ -1,40 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Marvell International Ltd.
-# Copyright(c) 2017 Semihalf.
-# All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-ifneq ($(MAKECMDGOALS),clean)
-ifneq ($(MAKECMDGOALS),config)
-ifeq ($(LIBMUSDK_PATH),)
-$(error "Please define LIBMUSDK_PATH environment variable")
-endif
-endif
-endif
-
-# library name
-LIB = librte_pmd_mvsam_crypto.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/common/mvep
-CFLAGS += -I$(LIBMUSDK_PATH)/include
-CFLAGS += -DMVCONF_TYPES_PUBLIC
-CFLAGS += -DMVCONF_DMA_PHYS_ADDR_T_PUBLIC
-
-# versioning export map
-EXPORT_MAP := rte_pmd_mvsam_version.map
-
-# external library dependencies
-LDLIBS += -L$(LIBMUSDK_PATH)/lib -lmusdk
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_kvargs
-LDLIBS += -lrte_cryptodev
-LDLIBS += -lrte_bus_vdev -lrte_common_mvep
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_MVSAM_CRYPTO) += rte_mrvl_pmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_MVSAM_CRYPTO) += rte_mrvl_pmd_ops.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/nitrox/Makefile b/drivers/crypto/nitrox/Makefile
deleted file mode 100644
index 535121196b..0000000000
--- a/drivers/crypto/nitrox/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(C) 2019 Marvell International Ltd.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_nitrox.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-# versioning export map
-EXPORT_MAP := rte_pmd_nitrox_version.map
-
-# external library dependencies
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool
-LDLIBS += -lrte_pci -lrte_bus_pci
-LDLIBS += -lrte_cryptodev
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_NITROX) += nitrox_device.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_NITROX) += nitrox_hal.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_NITROX) += nitrox_logs.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_NITROX) += nitrox_sym.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_NITROX) += nitrox_sym_capabilities.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_NITROX) += nitrox_sym_reqmgr.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_NITROX) += nitrox_qp.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/null/Makefile b/drivers/crypto/null/Makefile
deleted file mode 100644
index 4595055f01..0000000000
--- a/drivers/crypto/null/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-
-# library name
-LIB = librte_pmd_null_crypto.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_cryptodev
-LDLIBS += -lrte_bus_vdev
-
-# versioning export map
-EXPORT_MAP := rte_pmd_null_crypto_version.map
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_NULL_CRYPTO) += null_crypto_pmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_NULL_CRYPTO) += null_crypto_pmd_ops.c
-
-# export include files
-SYMLINK-y-include +=
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/octeontx/Makefile b/drivers/crypto/octeontx/Makefile
deleted file mode 100644
index 296755ee90..0000000000
--- a/drivers/crypto/octeontx/Makefile
+++ /dev/null
@@ -1,36 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Cavium, Inc
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_octeontx_crypto.a
-
-# build flags
-CFLAGS += $(WERROR_FLAGS)
-
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_cryptodev
-LDLIBS += -lrte_pci -lrte_bus_pci
-LDLIBS += -lrte_common_cpt
-
-VPATH += $(RTE_SDK)/drivers/crypto/octeontx
-
-CFLAGS += -O3
-CFLAGS += -I$(RTE_SDK)/drivers/common/cpt
-
-# PMD code
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_CRYPTO) += otx_cryptodev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_CRYPTO) += otx_cryptodev_capabilities.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_CRYPTO) += otx_cryptodev_hw_access.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_CRYPTO) += otx_cryptodev_mbox.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_CRYPTO) += otx_cryptodev_ops.c
-
-# export include files
-SYMLINK-y-include +=
-
-# versioning export map
-EXPORT_MAP := rte_pmd_octeontx_crypto_version.map
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/octeontx2/Makefile b/drivers/crypto/octeontx2/Makefile
deleted file mode 100644
index 14152c6117..0000000000
--- a/drivers/crypto/octeontx2/Makefile
+++ /dev/null
@@ -1,49 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright (C) 2019 Marvell International Ltd.
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_octeontx2_crypto.a
-
-# build flags
-CFLAGS += $(WERROR_FLAGS)
-
-LDLIBS += -lrte_eal -lrte_ethdev -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_cryptodev -lrte_security
-LDLIBS += -lrte_pci -lrte_bus_pci
-LDLIBS += -lrte_common_cpt -lrte_common_octeontx2
-
-VPATH += $(RTE_SDK)/drivers/crypto/octeontx2
-
-CFLAGS += -O3
-CFLAGS += -I$(RTE_SDK)/drivers/common/cpt
-CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx2
-CFLAGS += -I$(RTE_SDK)/drivers/crypto/octeontx2
-CFLAGS += -I$(RTE_SDK)/drivers/mempool/octeontx2
-CFLAGS += -I$(RTE_SDK)/drivers/net/octeontx2
-
-ifneq ($(CONFIG_RTE_ARCH_64),y)
-CFLAGS += -Wno-int-to-pointer-cast
-CFLAGS += -Wno-pointer-to-int-cast
-ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS += -diag-disable 2259
-endif
-endif
-
-# PMD code
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO) += otx2_cryptodev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO) += otx2_cryptodev_capabilities.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO) += otx2_cryptodev_hw_access.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO) += otx2_cryptodev_mbox.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO) += otx2_cryptodev_ops.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO) += otx2_cryptodev_sec.c
-
-# export include files
-SYMLINK-y-include +=
-
-# versioning export map
-EXPORT_MAP := rte_pmd_octeontx2_crypto_version.map
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/openssl/Makefile b/drivers/crypto/openssl/Makefile
deleted file mode 100644
index b85c816551..0000000000
--- a/drivers/crypto/openssl/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_openssl.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-# versioning export map
-EXPORT_MAP := rte_pmd_openssl_version.map
-
-# external library dependencies
-LDLIBS += -lcrypto
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_cryptodev
-LDLIBS += -lrte_bus_vdev
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OPENSSL) += rte_openssl_pmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OPENSSL) += rte_openssl_pmd_ops.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/scheduler/Makefile b/drivers/crypto/scheduler/Makefile
deleted file mode 100644
index 67aac024c4..0000000000
--- a/drivers/crypto/scheduler/Makefile
+++ /dev/null
@@ -1,34 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_crypto_scheduler.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_cryptodev -lrte_kvargs -lrte_reorder
-LDLIBS += -lrte_bus_vdev
-
-# versioning export map
-EXPORT_MAP := rte_pmd_crypto_scheduler_version.map
-
-#
-# Export include files
-#
-SYMLINK-y-include += rte_cryptodev_scheduler_operations.h
-SYMLINK-y-include += rte_cryptodev_scheduler.h
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += scheduler_pmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += scheduler_pmd_ops.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += rte_cryptodev_scheduler.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += scheduler_roundrobin.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += scheduler_pkt_size_distr.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += scheduler_failover.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += scheduler_multicore.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/snow3g/Makefile b/drivers/crypto/snow3g/Makefile
deleted file mode 100644
index 469aefaa56..0000000000
--- a/drivers/crypto/snow3g/Makefile
+++ /dev/null
@@ -1,43 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016-2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_snow3g.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-# versioning export map
-EXPORT_MAP := rte_pmd_snow3g_version.map
-
-# external library dependencies
-LDLIBS += -lIPSec_MB
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_cryptodev
-LDLIBS += -lrte_bus_vdev
-
-H := \#
-IMB_HDR = $(shell echo '$Hinclude <intel-ipsec-mb.h>' | \
-	$(CC) -E $(EXTRA_CFLAGS) - | grep 'intel-ipsec-mb.h' | \
-	head -n1 | cut -d'"' -f2)
-
-# Detect library version
-IMB_VERSION = $(shell grep -e "IMB_VERSION_STR" $(IMB_HDR) | cut -d'"' -f2)
-IMB_VERSION_NUM = $(shell grep -e "IMB_VERSION_NUM" $(IMB_HDR) | cut -d' ' -f3)
-
-ifeq ($(IMB_VERSION),)
-$(error "IPSec_MB version >= 0.53 is required")
-endif
-
-ifeq ($(shell expr $(IMB_VERSION_NUM) \< 0x3400), 1)
-$(error "IPSec_MB version >= 0.53 is required")
-endif
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SNOW3G) += rte_snow3g_pmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SNOW3G) += rte_snow3g_pmd_ops.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/virtio/Makefile b/drivers/crypto/virtio/Makefile
deleted file mode 100644
index 32e2e4d5e9..0000000000
--- a/drivers/crypto/virtio/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 HUAWEI TECHNOLOGIES CO., LTD.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_virtio_crypto.a
-
-#
-# include virtio_crypto.h
-#
-CFLAGS += -I$(RTE_SDK)/lib/librte_vhost
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-EXPORT_MAP := rte_pmd_virtio_crypto_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_VIRTIO_CRYPTO) += virtqueue.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_VIRTIO_CRYPTO) += virtio_pci.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_VIRTIO_CRYPTO) += virtio_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_VIRTIO_CRYPTO) += virtio_cryptodev.c
-
-# this lib depends upon:
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool
-LDLIBS += -lrte_cryptodev
-LDLIBS += -lrte_pci -lrte_bus_pci
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/zuc/Makefile b/drivers/crypto/zuc/Makefile
deleted file mode 100644
index 529b47f25e..0000000000
--- a/drivers/crypto/zuc/Makefile
+++ /dev/null
@@ -1,42 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016-2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_zuc.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-# versioning export map
-EXPORT_MAP := rte_pmd_zuc_version.map
-
-# external library dependencies
-LDLIBS += -lIPSec_MB
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_cryptodev
-LDLIBS += -lrte_bus_vdev
-
-H := \#
-IMB_HDR = $(shell echo '$Hinclude <intel-ipsec-mb.h>' | \
-	$(CC) -E $(EXTRA_CFLAGS) - | grep 'intel-ipsec-mb.h' | \
-	head -n1 | cut -d'"' -f2)
-
-# Detect library version
-IMB_VERSION = $(shell grep -e "IMB_VERSION_STR" $(IMB_HDR) | cut -d'"' -f2)
-IMB_VERSION_NUM = $(shell grep -e "IMB_VERSION_NUM" $(IMB_HDR) | cut -d' ' -f3)
-
-ifeq ($(IMB_VERSION),)
-$(error "IPSec_MB version >= 0.53 is required")
-endif
-
-ifeq ($(shell expr $(IMB_VERSION_NUM) \< 0x3400), 1)
-$(error "IPSec_MB version >= 0.53 is required")
-endif
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_ZUC) += rte_zuc_pmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_ZUC) += rte_zuc_pmd_ops.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/event/Makefile b/drivers/event/Makefile
deleted file mode 100644
index 86be41b9eb..0000000000
--- a/drivers/event/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016 Cavium, Inc
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_SKELETON_EVENTDEV) += skeleton
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_SW_EVENTDEV) += sw
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_DSW_EVENTDEV) += dsw
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += octeontx
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV) += octeontx2
-ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_EVENTDEV) += dpaa
-endif
-ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_EVENTDEV) += dpaa2
-endif
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV) += opdl
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/drivers/event/dpaa/Makefile b/drivers/event/dpaa/Makefile
deleted file mode 100644
index a39dc27c62..0000000000
--- a/drivers/event/dpaa/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-#   SPDX-License-Identifier:        BSD-3-Clause
-#   Copyright 2017 NXP
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-RTE_SDK_DPAA=$(RTE_SDK)/drivers/net/dpaa
-
-#
-# library name
-#
-LIB = librte_pmd_dpaa_event.a
-
-CFLAGS := -I$(SRCDIR) $(CFLAGS)
-CFLAGS += -O3 $(WERROR_FLAGS)
-CFLAGS += -Wno-pointer-arith
-CFLAGS += -I$(RTE_SDK_DPAA)/
-CFLAGS += -I$(RTE_SDK_DPAA)/include
-CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa
-CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa/include/
-CFLAGS += -I$(RTE_SDK)/drivers/mempool/dpaa
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
-
-LDLIBS += -lrte_pmd_dpaa_sec
-CFLAGS += -I$(RTE_SDK)/drivers/crypto/dpaa_sec
-
-EXPORT_MAP := rte_pmd_dpaa_event_version.map
-
-# Interfaces with DPDK
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_EVENTDEV) += dpaa_eventdev.c
-
-LDLIBS += -lrte_bus_dpaa
-LDLIBS += -lrte_mempool_dpaa
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_eventdev -lrte_pmd_dpaa -lrte_bus_vdev
-LDLIBS += -lrte_common_dpaax
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/event/dpaa2/Makefile b/drivers/event/dpaa2/Makefile
deleted file mode 100644
index 75cf197c5c..0000000000
--- a/drivers/event/dpaa2/Makefile
+++ /dev/null
@@ -1,41 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2017,2019 NXP
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_dpaa2_event.a
-
-CFLAGS += $(WERROR_FLAGS)
-
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/qbman/include
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/mc
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/portal
-CFLAGS += -I$(RTE_SDK)/drivers/mempool/dpaa2
-CFLAGS += -I$(RTE_SDK)/drivers/event/dpaa2
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-LDLIBS += -lrte_eal -lrte_eventdev
-LDLIBS += -lrte_common_dpaax
-LDLIBS += -lrte_bus_fslmc -lrte_mempool_dpaa2 -lrte_pmd_dpaa2
-LDLIBS += -lrte_bus_vdev -lrte_mempool -lrte_mbuf -lrte_ethdev
-CFLAGS += -I$(RTE_SDK)/drivers/net/dpaa2
-CFLAGS += -I$(RTE_SDK)/drivers/net/dpaa2/mc
-
-LDLIBS += -lrte_pmd_dpaa2_sec
-CFLAGS += -I$(RTE_SDK)/drivers/crypto/dpaa2_sec
-
-# versioning export map
-EXPORT_MAP := rte_pmd_dpaa2_event_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_EVENTDEV) += dpaa2_hw_dpcon.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_EVENTDEV) += dpaa2_eventdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_EVENTDEV) += dpaa2_eventdev_selftest.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/event/dsw/Makefile b/drivers/event/dsw/Makefile
deleted file mode 100644
index f6e7dda1fd..0000000000
--- a/drivers/event/dsw/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Ericsson AB
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-LIB = librte_pmd_dsw_event.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-ifneq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS += -Wno-format-nonliteral
-endif
-
-LDLIBS += -lrte_eal
-LDLIBS += -lrte_mbuf
-LDLIBS += -lrte_mempool
-LDLIBS += -lrte_ring
-LDLIBS += -lrte_eventdev
-LDLIBS += -lrte_bus_vdev
-
-EXPORT_MAP := rte_pmd_dsw_event_version.map
-
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_DSW_EVENTDEV) += \
-	dsw_evdev.c dsw_event.c dsw_xstats.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/event/octeontx/Makefile b/drivers/event/octeontx/Makefile
deleted file mode 100644
index c1233e098d..0000000000
--- a/drivers/event/octeontx/Makefile
+++ /dev/null
@@ -1,51 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Cavium, Inc
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_octeontx_ssovf.a
-
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx/
-CFLAGS += -I$(RTE_SDK)/drivers/mempool/octeontx/
-CFLAGS += -I$(RTE_SDK)/drivers/net/octeontx/
-
-LDLIBS += -lrte_eal -lrte_eventdev -lrte_common_octeontx -lrte_pmd_octeontx
-LDLIBS += -lrte_bus_pci -lrte_mempool -lrte_mbuf -lrte_kvargs
-LDLIBS += -lrte_bus_vdev -lrte_ethdev
-
-EXPORT_MAP := rte_pmd_octeontx_event_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += ssovf_worker.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += ssovf_evdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += ssovf_evdev_selftest.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += ssovf_probe.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += timvf_worker.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += timvf_evdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += timvf_probe.c
-
-ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
-CFLAGS_ssovf_worker.o += -fno-prefetch-loop-arrays
-CFLAGS_timvf_worker.o += -fno-prefetch-loop-arrays
-
-ifeq ($(shell test $(GCC_VERSION) -ge 46 && echo 1), 1)
-CFLAGS_ssovf_worker.o += -Ofast
-CFLAGS_timvf_worker.o += -Ofast
-else
-CFLAGS_ssovf_worker.o += -O3 -ffast-math
-CFLAGS_timvf_worker.o += -O3 -ffast-math
-endif
-
-else
-CFLAGS_ssovf_worker.o += -Ofast
-CFLAGS_timvf_worker.o += -Ofast
-endif
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/event/octeontx2/Makefile b/drivers/event/octeontx2/Makefile
deleted file mode 100644
index 9d67b00c69..0000000000
--- a/drivers/event/octeontx2/Makefile
+++ /dev/null
@@ -1,47 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(C) 2019 Marvell International Ltd.
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_octeontx2_event.a
-
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx2
-CFLAGS += -I$(RTE_SDK)/drivers/crypto/octeontx2
-CFLAGS += -I$(RTE_SDK)/drivers/mempool/octeontx2
-CFLAGS += -I$(RTE_SDK)/drivers/event/octeontx2
-CFLAGS += -I$(RTE_SDK)/drivers/net/octeontx2
-CFLAGS += -O3
-
-ifneq ($(CONFIG_RTE_ARCH_64),y)
-CFLAGS += -Wno-int-to-pointer-cast
-CFLAGS += -Wno-pointer-to-int-cast
-ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS += -diag-disable 2259
-endif
-endif
-
-EXPORT_MAP := rte_pmd_octeontx2_event_version.map
-
-#
-# all source are stored in SRCS-y
-#
-
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV) += otx2_worker_dual.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV) += otx2_worker.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV) += otx2_tim_worker.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV) += otx2_evdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV) += otx2_evdev_adptr.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV) += otx2_tim_evdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV) += otx2_evdev_selftest.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV) += otx2_evdev_irq.c
-
-LDLIBS += -lrte_eal -lrte_bus_pci -lrte_pci -lrte_kvargs
-LDLIBS += -lrte_mempool -lrte_eventdev -lrte_mbuf -lrte_ethdev
-LDLIBS += -lrte_common_octeontx2 -lrte_mempool_octeontx2
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/event/opdl/Makefile b/drivers/event/opdl/Makefile
deleted file mode 100644
index 71713b00ae..0000000000
--- a/drivers/event/opdl/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_opdl_event.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-LDLIBS += -lrte_eal -lrte_eventdev -lrte_kvargs
-LDLIBS += -lrte_bus_vdev -lrte_mbuf -lrte_mempool
-
-# versioning export map
-EXPORT_MAP := rte_pmd_opdl_event_version.map
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV) += opdl_ring.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV) += opdl_evdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV) += opdl_evdev_init.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV) += opdl_evdev_xstats.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV) += opdl_test.c
-
-# export include files
-SYMLINK-y-include +=
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/event/skeleton/Makefile b/drivers/event/skeleton/Makefile
deleted file mode 100644
index dc85ad3c4b..0000000000
--- a/drivers/event/skeleton/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016 Cavium, Inc
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_skeleton_event.a
-
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_eventdev
-LDLIBS += -lrte_pci -lrte_bus_pci
-LDLIBS += -lrte_bus_vdev
-
-EXPORT_MAP := rte_pmd_skeleton_event_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SKELETON_EVENTDEV) += skeleton_eventdev.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/event/sw/Makefile b/drivers/event/sw/Makefile
deleted file mode 100644
index 8ea5cceb8b..0000000000
--- a/drivers/event/sw/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016-2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_sw_event.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_eventdev -lrte_kvargs -lrte_ring
-LDLIBS += -lrte_mempool -lrte_mbuf
-LDLIBS += -lrte_bus_vdev
-
-# versioning export map
-EXPORT_MAP := rte_pmd_sw_event_version.map
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SW_EVENTDEV) += sw_evdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SW_EVENTDEV) += sw_evdev_worker.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SW_EVENTDEV) += sw_evdev_scheduler.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SW_EVENTDEV) += sw_evdev_xstats.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SW_EVENTDEV) += sw_evdev_selftest.c
-
-# export include files
-SYMLINK-y-include +=
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/mempool/Makefile b/drivers/mempool/Makefile
deleted file mode 100644
index 29ef73bf44..0000000000
--- a/drivers/mempool/Makefile
+++ /dev/null
@@ -1,18 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2017 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-$(CONFIG_RTE_DRIVER_MEMPOOL_BUCKET) += bucket
-ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
-DIRS-$(CONFIG_RTE_LIBRTE_DPAA_MEMPOOL) += dpaa
-endif
-ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
-DIRS-$(CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL) += dpaa2
-endif
-DIRS-$(CONFIG_RTE_DRIVER_MEMPOOL_RING) += ring
-DIRS-$(CONFIG_RTE_DRIVER_MEMPOOL_STACK) += stack
-DIRS-$(CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL) += octeontx
-DIRS-$(CONFIG_RTE_LIBRTE_OCTEONTX2_MEMPOOL) += octeontx2
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/drivers/mempool/bucket/Makefile b/drivers/mempool/bucket/Makefile
deleted file mode 100644
index c766c35b2c..0000000000
--- a/drivers/mempool/bucket/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-#
-# Copyright (c) 2017-2018 Solarflare Communications Inc.
-# All rights reserved.
-#
-# This software was jointly developed between OKTET Labs (under contract
-# for Solarflare) and Solarflare Communications, Inc.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_mempool_bucket.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-LDLIBS += -lrte_eal -lrte_mempool -lrte_ring
-
-EXPORT_MAP := rte_mempool_bucket_version.map
-
-SRCS-$(CONFIG_RTE_DRIVER_MEMPOOL_BUCKET) += rte_mempool_bucket.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/mempool/dpaa/Makefile b/drivers/mempool/dpaa/Makefile
deleted file mode 100644
index 144969c627..0000000000
--- a/drivers/mempool/dpaa/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2016 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_mempool_dpaa.a
-
-CFLAGS := -I$(SRCDIR) $(CFLAGS)
-CFLAGS += -O3 $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa
-CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa/include/
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-CFLAGS += -I$(RTE_SDK)/drivers/mempool/dpaa
-CFLAGS += -I$(RTE_SDK)/lib/librte_mempool
-
-# versioning export map
-EXPORT_MAP := rte_mempool_dpaa_version.map
-
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_DPAA_MEMPOOL) += dpaa_mempool.c
-
-LDLIBS += -lrte_bus_dpaa
-LDLIBS += -lrte_eal -lrte_mempool -lrte_ring
-LDLIBS += -lrte_common_dpaax
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/mempool/dpaa2/Makefile b/drivers/mempool/dpaa2/Makefile
deleted file mode 100644
index 04db6d27de..0000000000
--- a/drivers/mempool/dpaa2/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2016 NXP
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_mempool_dpaa2.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/qbman/include
-
-# versioning export map
-EXPORT_MAP := rte_mempool_dpaa2_version.map
-
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL) += dpaa2_hw_mempool.c
-
-LDLIBS += -lrte_bus_fslmc
-LDLIBS += -lrte_eal -lrte_mempool -lrte_ring
-LDLIBS += -lrte_common_dpaax
-
-SYMLINK-$(CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL)-include := rte_dpaa2_mempool.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/mempool/octeontx/Makefile b/drivers/mempool/octeontx/Makefile
deleted file mode 100644
index 9c840620d9..0000000000
--- a/drivers/mempool/octeontx/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Cavium, Inc
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_mempool_octeontx.a
-
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx/
-
-EXPORT_MAP := rte_mempool_octeontx_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL) += octeontx_fpavf.c
-SRCS-$(CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL) += rte_mempool_octeontx.c
-
-ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
-CFLAGS_rte_mempool_octeontx.o += -fno-prefetch-loop-arrays
-
-ifeq ($(shell test $(GCC_VERSION) -ge 46 && echo 1), 1)
-CFLAGS_rte_mempool_octeontx.o += -Ofast
-else
-CFLAGS_rte_mempool_octeontx.o += -O3 -ffast-math
-endif
-
-else
-CFLAGS_rte_mempool_octeontx.o += -Ofast
-endif
-
-LDLIBS += -lrte_eal -lrte_mempool -lrte_ring -lrte_mbuf
-LDLIBS += -lrte_bus_pci -lrte_common_octeontx
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/mempool/octeontx2/Makefile b/drivers/mempool/octeontx2/Makefile
deleted file mode 100644
index 3828219b11..0000000000
--- a/drivers/mempool/octeontx2/Makefile
+++ /dev/null
@@ -1,40 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(C) 2019 Marvell International Ltd.
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_mempool_octeontx2.a
-
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx2
-CFLAGS += -I$(RTE_SDK)/drivers/mempool/octeontx2
-CFLAGS += -I$(RTE_SDK)/drivers/bus/pci
-CFLAGS += -O3
-
-ifneq ($(CONFIG_RTE_ARCH_64),y)
-CFLAGS += -Wno-int-to-pointer-cast
-CFLAGS += -Wno-pointer-to-int-cast
-ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS += -diag-disable 2259
-endif
-endif
-
-EXPORT_MAP := rte_mempool_octeontx2_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_OCTEONTX2_MEMPOOL) += \
-	otx2_mempool_ops.c	\
-	otx2_mempool.c 		\
-	otx2_mempool_irq.c	\
-	otx2_mempool_debug.c
-
-LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf
-LDLIBS += -lrte_common_octeontx2 -lrte_kvargs -lrte_bus_pci
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/mempool/ring/Makefile b/drivers/mempool/ring/Makefile
deleted file mode 100644
index 8624502da9..0000000000
--- a/drivers/mempool/ring/Makefile
+++ /dev/null
@@ -1,19 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2017 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_mempool_ring.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mempool -lrte_ring
-
-EXPORT_MAP := rte_mempool_ring_version.map
-
-SRCS-$(CONFIG_RTE_DRIVER_MEMPOOL_RING) += rte_mempool_ring.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/mempool/stack/Makefile b/drivers/mempool/stack/Makefile
deleted file mode 100644
index ccfd970400..0000000000
--- a/drivers/mempool/stack/Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2017 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_mempool_stack.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-# Headers
-CFLAGS += -I$(RTE_SDK)/lib/librte_mempool
-LDLIBS += -lrte_eal -lrte_mempool -lrte_stack
-
-EXPORT_MAP := rte_mempool_stack_version.map
-
-SRCS-$(CONFIG_RTE_DRIVER_MEMPOOL_STACK) += rte_mempool_stack.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/Makefile b/drivers/net/Makefile
deleted file mode 100644
index 361974eacf..0000000000
--- a/drivers/net/Makefile
+++ /dev/null
@@ -1,84 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2015 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# set in mk/toolchain/xxx/rte.toolchain-compat.mk
-ifeq ($(CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD),d)
-        $(warning thunderx pmd is not supported by old compilers)
-endif
-
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_AF_PACKET) += af_packet
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_AF_XDP) += af_xdp
-DIRS-$(CONFIG_RTE_LIBRTE_ARK_PMD) += ark
-DIRS-$(CONFIG_RTE_LIBRTE_ATLANTIC_PMD) += atlantic
-DIRS-$(CONFIG_RTE_LIBRTE_AVP_PMD) += avp
-DIRS-$(CONFIG_RTE_LIBRTE_AXGBE_PMD) += axgbe
-DIRS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += bnx2x
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += bonding
-DIRS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += cxgbe
-ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
-DIRS-$(CONFIG_RTE_LIBRTE_DPAA_PMD) += dpaa
-endif
-ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
-DIRS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += dpaa2
-endif
-DIRS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000
-DIRS-$(CONFIG_RTE_LIBRTE_ENA_PMD) += ena
-DIRS-$(CONFIG_RTE_LIBRTE_ENETC_PMD) += enetc
-DIRS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += enic
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_FAILSAFE) += failsafe
-DIRS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += fm10k
-DIRS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic
-DIRS-$(CONFIG_RTE_LIBRTE_HNS3_PMD) += hns3
-DIRS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e
-DIRS-$(CONFIG_RTE_LIBRTE_IAVF_PMD) += iavf
-DIRS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice
-DIRS-$(CONFIG_RTE_LIBRTE_IGC_PMD) += igc
-DIRS-$(CONFIG_RTE_LIBRTE_IONIC_PMD) += ionic
-DIRS-$(CONFIG_RTE_LIBRTE_IPN3KE_PMD) += ipn3ke
-DIRS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe
-DIRS-$(CONFIG_RTE_LIBRTE_LIO_PMD) += liquidio
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_MEMIF) += memif
-DIRS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4
-DIRS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5
-DIRS-$(CONFIG_RTE_LIBRTE_MVNETA_PMD) += mvneta
-DIRS-$(CONFIG_RTE_LIBRTE_MVPP2_PMD) += mvpp2
-DIRS-$(CONFIG_RTE_LIBRTE_NETVSC_PMD) += netvsc
-DIRS-$(CONFIG_RTE_LIBRTE_NFB_PMD) += nfb
-DIRS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp
-DIRS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_NULL) += null
-DIRS-$(CONFIG_RTE_LIBRTE_OCTEONTX_PMD) += octeontx
-DIRS-$(CONFIG_RTE_LIBRTE_OCTEONTX2_PMD) += octeontx2
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_PCAP) += pcap
-DIRS-$(CONFIG_RTE_LIBRTE_PFE_PMD) += pfe
-DIRS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += qede
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_RING) += ring
-DIRS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_SZEDATA2) += szedata2
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_TAP) += tap
-DIRS-$(CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD) += thunderx
-DIRS-$(CONFIG_RTE_LIBRTE_VDEV_NETVSC_PMD) += vdev_netvsc
-DIRS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio
-DIRS-$(CONFIG_RTE_LIBRTE_VMXNET3_PMD) += vmxnet3
-
-ifeq ($(CONFIG_RTE_LIBRTE_KNI),y)
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_KNI) += kni
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_SCHED),y)
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += softnic
-endif # $(CONFIG_RTE_LIBRTE_SCHED)
-
-ifeq ($(CONFIG_RTE_LIBRTE_VHOST),y)
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_VHOST) += vhost
-endif # $(CONFIG_RTE_LIBRTE_VHOST)
-
-ifeq ($(CONFIG_RTE_LIBRTE_MVPP2_PMD),y)
-ifeq ($(CONFIG_RTE_LIBRTE_CFGFILE),n)
-$(error "RTE_LIBRTE_CFGFILE must be enabled in configuration!")
-endif
-endif
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/drivers/net/af_packet/Makefile b/drivers/net/af_packet/Makefile
deleted file mode 100644
index 91dbf0a692..0000000000
--- a/drivers/net/af_packet/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2014 John W. Linville <linville@redhat.com>
-# Copyright(c) 2010-2014 Intel Corporation.
-# Copyright(c) 2014 6WIND S.A.
-# All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_af_packet.a
-
-EXPORT_MAP := rte_pmd_af_packet_version.map
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_vdev
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_AF_PACKET) += rte_eth_af_packet.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/af_xdp/Makefile b/drivers/net/af_xdp/Makefile
deleted file mode 100644
index 55db6085ac..0000000000
--- a/drivers/net/af_xdp/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_af_xdp.a
-
-EXPORT_MAP := rte_pmd_af_xdp_version.map
-
-CFLAGS += -O3
-
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_vdev
-LDLIBS += $(shell command -v pkg-config > /dev/null 2>&1 && pkg-config --libs libbpf || echo "-lbpf")
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_AF_XDP) += rte_eth_af_xdp.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/ark/Makefile b/drivers/net/ark/Makefile
deleted file mode 100644
index c02080bdd0..0000000000
--- a/drivers/net/ark/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright (c) 2015-2018 Atomic Rules LLC
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_ark.a
-
-CFLAGS += -O3 -I./
-CFLAGS += $(WERROR_FLAGS) -Werror
-
-EXPORT_MAP := rte_pmd_ark_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_ARK_PMD) += ark_ddm.c
-SRCS-$(CONFIG_RTE_LIBRTE_ARK_PMD) += ark_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_ARK_PMD) += ark_ethdev_rx.c
-SRCS-$(CONFIG_RTE_LIBRTE_ARK_PMD) += ark_ethdev_tx.c
-SRCS-$(CONFIG_RTE_LIBRTE_ARK_PMD) += ark_mpu.c
-SRCS-$(CONFIG_RTE_LIBRTE_ARK_PMD) += ark_pktchkr.c
-SRCS-$(CONFIG_RTE_LIBRTE_ARK_PMD) += ark_pktdir.c
-SRCS-$(CONFIG_RTE_LIBRTE_ARK_PMD) += ark_pktgen.c
-SRCS-$(CONFIG_RTE_LIBRTE_ARK_PMD) += ark_rqp.c
-SRCS-$(CONFIG_RTE_LIBRTE_ARK_PMD) += ark_udm.c
-
-# this lib depends upon:
-LDLIBS += -lpthread
-ifdef CONFIG_RTE_EXEC_ENV_LINUX
-LDLIBS += -ldl
-endif
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/atlantic/Makefile b/drivers/net/atlantic/Makefile
deleted file mode 100644
index 0d0d0a502d..0000000000
--- a/drivers/net/atlantic/Makefile
+++ /dev/null
@@ -1,34 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Aquantia Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_atlantic.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-EXPORT_MAP := rte_pmd_atlantic_version.map
-
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net
-LDLIBS += -lrte_bus_pci
-
-VPATH += $(SRCDIR)/hw_atl
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_ATLANTIC_PMD) += atl_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_ATLANTIC_PMD) += atl_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_ATLANTIC_PMD) += atl_hw_regs.c
-SRCS-$(CONFIG_RTE_LIBRTE_ATLANTIC_PMD) += hw_atl_utils.c
-SRCS-$(CONFIG_RTE_LIBRTE_ATLANTIC_PMD) += hw_atl_llh.c
-SRCS-$(CONFIG_RTE_LIBRTE_ATLANTIC_PMD) += hw_atl_utils_fw2x.c
-SRCS-$(CONFIG_RTE_LIBRTE_ATLANTIC_PMD) += hw_atl_b0.c
-SRCS-$(CONFIG_RTE_LIBRTE_ATLANTIC_PMD) += rte_pmd_atlantic.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/avp/Makefile b/drivers/net/avp/Makefile
deleted file mode 100644
index 075247b13a..0000000000
--- a/drivers/net/avp/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2013-2017, Wind River Systems, Inc.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_avp.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-
-EXPORT_MAP := rte_pmd_avp_version.map
-
-# install public header files to enable compilation of the hypervisor level
-# dpdk application
-SYMLINK-$(CONFIG_RTE_LIBRTE_AVP_PMD)-include += rte_avp_common.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_AVP_PMD)-include += rte_avp_fifo.h
-
-#
-# all source files are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_AVP_PMD) += avp_ethdev.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/axgbe/Makefile b/drivers/net/axgbe/Makefile
deleted file mode 100644
index e421d0da11..0000000000
--- a/drivers/net/axgbe/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-#   SPDX-License-Identifier: BSD-3-Clause
-#   Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_axgbe.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-EXPORT_MAP := rte_pmd_axgbe_version.map
-
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool
-LDLIBS += -lrte_pci -lrte_bus_pci
-LDLIBS += -lrte_ethdev -lrte_net
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_AXGBE_PMD) += axgbe_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_AXGBE_PMD) += axgbe_dev.c
-SRCS-$(CONFIG_RTE_LIBRTE_AXGBE_PMD) += axgbe_mdio.c
-SRCS-$(CONFIG_RTE_LIBRTE_AXGBE_PMD) += axgbe_phy_impl.c
-SRCS-$(CONFIG_RTE_LIBRTE_AXGBE_PMD) += axgbe_i2c.c
-SRCS-$(CONFIG_RTE_LIBRTE_AXGBE_PMD) += axgbe_rxtx.c
-ifeq ($(CONFIG_RTE_ARCH_X86),y)
-SRCS-$(CONFIG_RTE_LIBRTE_AXGBE_PMD) += axgbe_rxtx_vec_sse.c
-endif
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/bnx2x/Makefile b/drivers/net/bnx2x/Makefile
deleted file mode 100644
index 451434cc18..0000000000
--- a/drivers/net/bnx2x/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright (c) 2014 - 2018 Cavium Inc.
-# All rights reserved.
-# www.cavium.com
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_bnx2x.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -DZLIB_CONST
-LDLIBS += -lz
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-
-EXPORT_MAP := rte_pmd_bnx2x_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += bnx2x.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += bnx2x_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += bnx2x_stats.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += bnx2x_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += ecore_sp.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += elink.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += bnx2x_vfpf.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/bnxt/Makefile b/drivers/net/bnxt/Makefile
deleted file mode 100644
index 0c5b74918d..0000000000
--- a/drivers/net/bnxt/Makefile
+++ /dev/null
@@ -1,63 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation.
-# Copyright(c) 2014 6WIND S.A.
-# Copyright(c) Broadcom Limited.
-# All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_bnxt.a
-
-EXPORT_MAP := rte_pmd_bnxt_version.map
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci -pthread
-
-EXPORT_MAP := rte_pmd_bnxt_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_cpr.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_filter.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_hwrm.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_ring.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_rxq.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_rxr.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_stats.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_txq.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_txr.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_vnic.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_irq.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_util.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_reps.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += rte_pmd_bnxt.c
-ifeq ($(CONFIG_RTE_ARCH_X86), y)
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_rxtx_vec_sse.c
-endif
-ifeq ($(CONFIG_RTE_ARCH_ARM64), y)
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_rxtx_vec_neon.c
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_BNXT_PMD), y)
-CFLAGS += -I$(SRCDIR) -I$(SRCDIR)/tf_ulp -I$(SRCDIR)/tf_core -I$(SRCDIR)/hcapi
-include $(SRCDIR)/tf_ulp/Makefile
-include $(SRCDIR)/tf_core/Makefile
-include $(SRCDIR)/hcapi/Makefile
-endif
-
-#
-# Export include files
-#
-SYMLINK-y-include +=
-SYMLINK-$(CONFIG_RTE_LIBRTE_BNXT_PMD)-include += rte_pmd_bnxt.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/bnxt/hcapi/Makefile b/drivers/net/bnxt/hcapi/Makefile
deleted file mode 100644
index a5bb398ad7..0000000000
--- a/drivers/net/bnxt/hcapi/Makefile
+++ /dev/null
@@ -1,5 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019-2020 Broadcom Limited.
-# All rights reserved.
-
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += hcapi/hcapi_cfa_p4.c
diff --git a/drivers/net/bnxt/tf_core/Makefile b/drivers/net/bnxt/tf_core/Makefile
deleted file mode 100644
index 84840366ab..0000000000
--- a/drivers/net/bnxt/tf_core/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation.
-# Copyright(c) 2014 6WIND S.A.
-# Copyright(c) Broadcom Limited.
-# All rights reserved.
-
-
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/bitalloc.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/rand.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/stack.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/ll.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_core.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_rm.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tfp.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_msg.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_tbl.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_em_common.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_em_internal.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_em_host.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_session.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_device.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_device_p4.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_identifier.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_shadow_tbl.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_shadow_tcam.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_tcam.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_util.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_if_tbl.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_global_cfg.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_shadow_identifier.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_hash.c
diff --git a/drivers/net/bnxt/tf_ulp/Makefile b/drivers/net/bnxt/tf_ulp/Makefile
deleted file mode 100644
index abb68150d1..0000000000
--- a/drivers/net/bnxt/tf_ulp/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation.
-# Copyright(c) 2014 6WIND S.A.
-# Copyright(c) Broadcom Limited.
-# All rights reserved.
-
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_ulp/ulp_template_db_tbl.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_ulp/ulp_template_db_class.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_ulp/ulp_template_db_act.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_ulp/ulp_rte_parser.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_ulp/bnxt_ulp_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_ulp/ulp_matcher.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_ulp/ulp_utils.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_ulp/ulp_mapper.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_ulp/bnxt_ulp.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_ulp/ulp_mark_mgr.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_ulp/ulp_flow_db.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_ulp/ulp_port_db.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_ulp/ulp_def_rules.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_ulp/ulp_fc_mgr.c
diff --git a/drivers/net/bonding/Makefile b/drivers/net/bonding/Makefile
deleted file mode 100644
index 728551a846..0000000000
--- a/drivers/net/bonding/Makefile
+++ /dev/null
@@ -1,36 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_bond.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_pci -lrte_bus_pci
-LDLIBS += -lrte_bus_vdev
-
-EXPORT_MAP := rte_pmd_bond_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += rte_eth_bond_api.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += rte_eth_bond_pmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += rte_eth_bond_args.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += rte_eth_bond_8023ad.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += rte_eth_bond_alb.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += rte_eth_bond_flow.c
-
-#
-# Export include files
-#
-SYMLINK-y-include += rte_eth_bond.h
-SYMLINK-y-include += rte_eth_bond_8023ad.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/cxgbe/Makefile b/drivers/net/cxgbe/Makefile
deleted file mode 100644
index 53b2bb56dc..0000000000
--- a/drivers/net/cxgbe/Makefile
+++ /dev/null
@@ -1,57 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2014-2018 Chelsio Communications.
-# All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_cxgbe.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-EXPORT_MAP := rte_pmd_cxgbe_version.map
-
-#
-# CFLAGS for gcc/clang
-#
-ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
-ifeq ($(shell test $(GCC_VERSION) -ge 44 && echo 1), 1)
-CFLAGS     += -Wno-deprecated
-endif
-endif
-
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-
-#
-# Add extra flags for base driver files (also known as shared code)
-# to disable warnings in them
-#
-BASE_DRIVER_OBJS=$(sort $(patsubst %.c,%.o,$(notdir $(wildcard $(SRCDIR)/base/*.c))))
-$(foreach obj, $(BASE_DRIVER_OBJS), $(eval CFLAGS_$(obj)+=$(CFLAGS_BASE_DRIVER)))
-
-VPATH += $(SRCDIR)/base
-
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += cxgbe_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += cxgbevf_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += cxgbe_main.c
-SRCS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += cxgbevf_main.c
-SRCS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += sge.c
-SRCS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += cxgbe_filter.c
-SRCS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += cxgbe_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += t4_hw.c
-SRCS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += clip_tbl.c
-SRCS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += mps_tcam.c
-SRCS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += l2t.c
-SRCS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += smt.c
-SRCS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += t4vf_hw.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/dpaa/Makefile b/drivers/net/dpaa/Makefile
deleted file mode 100644
index d7bbc0e158..0000000000
--- a/drivers/net/dpaa/Makefile
+++ /dev/null
@@ -1,41 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2017 NXP
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-RTE_SDK_DPAA=$(RTE_SDK)/drivers/net/dpaa
-
-#
-# library name
-#
-LIB = librte_pmd_dpaa.a
-
-CFLAGS := -I$(SRCDIR) $(CFLAGS)
-CFLAGS += -O3 $(WERROR_FLAGS)
-CFLAGS += -Wno-pointer-arith
-CFLAGS += -I$(RTE_SDK_DPAA)/
-CFLAGS += -I$(RTE_SDK_DPAA)/include
-CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa
-CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa/include/
-CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa/base/qbman
-CFLAGS += -I$(RTE_SDK)/drivers/mempool/dpaa
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-CFLAGS += -I$(RTE_SDK)/drivers/event/dpaa
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
-
-EXPORT_MAP := rte_pmd_dpaa_version.map
-
-# Interfaces with DPDK
-SRCS-$(CONFIG_RTE_LIBRTE_DPAA_PMD) += dpaa_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_DPAA_PMD) += dpaa_rxtx.c
-
-LDLIBS += -lrte_bus_dpaa
-LDLIBS += -lrte_mempool_dpaa
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_common_dpaax
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_DPAA_PMD)-include := rte_pmd_dpaa.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/dpaa2/Makefile b/drivers/net/dpaa2/Makefile
deleted file mode 100644
index 6f38c18b9b..0000000000
--- a/drivers/net/dpaa2/Makefile
+++ /dev/null
@@ -1,47 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright (c) 2016 Freescale Semiconductor, Inc. All rights reserved.
-# Copyright 2016-2019 NXP
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_dpaa2.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-CFLAGS += -I$(RTE_SDK)/drivers/net/dpaa2
-CFLAGS += -I$(RTE_SDK)/drivers/net/dpaa2/mc
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/qbman/include
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/mc
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/portal
-CFLAGS += -I$(RTE_SDK)/drivers/mempool/dpaa2
-
-# versioning export map
-EXPORT_MAP := rte_pmd_dpaa2_version.map
-
-SRCS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += base/dpaa2_hw_dpni.c
-SRCS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += dpaa2_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += dpaa2_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += dpaa2_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += dpaa2_mux.c
-SRCS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += dpaa2_sparser.c
-SRCS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += mc/dpni.c
-SRCS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += mc/dpkg.c
-SRCS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += mc/dpdmux.c
-SRCS-$(CONFIG_RTE_LIBRTE_IEEE1588)  += mc/dprtc.c
-SRCS-$(CONFIG_RTE_LIBRTE_IEEE1588)  += dpaa2_ptp.c
-
-LDLIBS += -lrte_bus_fslmc
-LDLIBS += -lrte_mempool_dpaa2
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_common_dpaax
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_DPAA2_PMD)-include := rte_pmd_dpaa2.h
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/e1000/Makefile b/drivers/net/e1000/Makefile
deleted file mode 100644
index f186f8d0e9..0000000000
--- a/drivers/net/e1000/Makefile
+++ /dev/null
@@ -1,79 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2015 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_e1000.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-
-EXPORT_MAP := rte_pmd_e1000_version.map
-
-ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-#
-# CFLAGS for icc
-#
-CFLAGS_BASE_DRIVER  = -diag-disable 177 -diag-disable 181
-CFLAGS_BASE_DRIVER += -diag-disable 869 -diag-disable 2259
-else
-#
-# CFLAGS for gcc/clang
-#
-CFLAGS_BASE_DRIVER = -Wno-uninitialized -Wno-unused-parameter
-CFLAGS_BASE_DRIVER += -Wno-unused-variable
-ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
-ifeq ($(shell test $(GCC_VERSION) -ge 60 && echo 1), 1)
-CFLAGS_BASE_DRIVER += -Wno-misleading-indentation
-ifeq ($(shell test $(GCC_VERSION) -ge 70 && echo 1), 1)
-CFLAGS_BASE_DRIVER += -Wno-implicit-fallthrough
-endif
-endif
-endif
-endif
-
-#
-# Add extra flags for base driver files (also known as shared code)
-# to disable warnings in them
-#
-BASE_DRIVER_OBJS=$(sort $(patsubst %.c,%.o,$(notdir $(wildcard $(SRCDIR)/base/*.c))))
-$(foreach obj, $(BASE_DRIVER_OBJS), $(eval CFLAGS_$(obj)+=$(CFLAGS_BASE_DRIVER)))
-
-VPATH += $(SRCDIR)/base
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_base.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_80003es2lan.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_82540.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_82541.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_82542.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_82543.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_82571.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_82575.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_i210.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_api.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_ich8lan.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_logs.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_mac.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_manage.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_mbx.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_nvm.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_osdep.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_phy.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_vf.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGB_PMD) += igb_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGB_PMD) += igb_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGB_PMD) += igb_pf.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGB_PMD) += igb_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_EM_PMD) += em_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_EM_PMD) += em_rxtx.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/ena/Makefile b/drivers/net/ena/Makefile
deleted file mode 100644
index 8ccff36db7..0000000000
--- a/drivers/net/ena/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright (c) 2015-2019 Amazon.com, Inc. or its affiliates.
-# All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_ena.a
-CFLAGS += $(WERROR_FLAGS) -O2
-INCLUDES :=-I$(SRCDIR) -I$(SRCDIR)/base/ena_defs -I$(SRCDIR)/base
-
-EXPORT_MAP := rte_pmd_ena_version.map
-
-VPATH += $(SRCDIR)/base
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_ENA_PMD) += ena_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_ENA_PMD) += ena_com.c
-SRCS-$(CONFIG_RTE_LIBRTE_ENA_PMD) += ena_eth_com.c
-
-CFLAGS += $(INCLUDES)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-LDLIBS += -lrte_timer
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/enetc/Makefile b/drivers/net/enetc/Makefile
deleted file mode 100644
index 7276026e37..0000000000
--- a/drivers/net/enetc/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2018 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_enetc.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-EXPORT_MAP := rte_pmd_enetc_version.map
-SRCS-$(CONFIG_RTE_LIBRTE_ENETC_PMD) += enetc_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_ENETC_PMD) += enetc_rxtx.c
-
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool
-LDLIBS += -lrte_ethdev -lrte_net
-LDLIBS += -lrte_bus_pci
-LDLIBS += -lrte_common_dpaax
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/enic/Makefile b/drivers/net/enic/Makefile
deleted file mode 100644
index d098a474a1..0000000000
--- a/drivers/net/enic/Makefile
+++ /dev/null
@@ -1,68 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2008-2017 Cisco Systems, Inc.  All rights reserved.
-# Copyright 2007 Nuova Systems, Inc.  All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_enic.a
-
-EXPORT_MAP := rte_pmd_enic_version.map
-
-CFLAGS += -I$(SRCDIR)/base/
-CFLAGS += -I$(SRCDIR)
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -Wno-strict-aliasing
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_hash
-LDLIBS += -lrte_bus_pci
-
-VPATH += $(SRCDIR)/src
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += enic_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += enic_main.c
-SRCS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += enic_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += enic_clsf.c
-SRCS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += enic_res.c
-SRCS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += enic_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += enic_fm_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += base/vnic_cq.c
-SRCS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += base/vnic_wq.c
-SRCS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += base/vnic_dev.c
-SRCS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += base/vnic_intr.c
-SRCS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += base/vnic_rq.c
-
-# The current implementation assumes 64-bit pointers
-CC_AVX2_SUPPORT=0
-ifeq ($(CONFIG_RTE_ARCH_X86_64),y)
-# Figure out if the compiler supports avx2. The extra check using
-# -march=core-avx2 is necessary to support users who build for the
-# 'default' machine (corei7 which has no avx2) and run the binary on
-# newer CPUs that have avx2.
-# This part is verbatim from i40e makefile.
-ifeq ($(findstring RTE_MACHINE_CPUFLAG_AVX2,$(CFLAGS)),RTE_MACHINE_CPUFLAG_AVX2)
-	CC_AVX2_SUPPORT=1
-else
-	CC_AVX2_SUPPORT=\
-	$(shell $(CC) -march=core-avx2 -dM -E - </dev/null 2>&1 | \
-	grep -q AVX2 && echo 1)
-	ifeq ($(CC_AVX2_SUPPORT), 1)
-		ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-			CFLAGS_enic_rxtx_vec_avx2.o += -march=core-avx2
-		else
-			CFLAGS_enic_rxtx_vec_avx2.o += -mavx2
-		endif
-	endif
-endif
-endif
-
-ifeq ($(CC_AVX2_SUPPORT), 1)
-	SRCS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += enic_rxtx_vec_avx2.c
-endif
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/failsafe/Makefile b/drivers/net/failsafe/Makefile
deleted file mode 100644
index 464fd0515d..0000000000
--- a/drivers/net/failsafe/Makefile
+++ /dev/null
@@ -1,43 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2017 6WIND S.A.
-# Copyright 2017 Mellanox Technologies, Ltd
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# Library name
-LIB = librte_pmd_failsafe.a
-
-EXPORT_MAP := rte_pmd_failsafe_version.map
-
-# Sources are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_FAILSAFE) += failsafe.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_FAILSAFE) += failsafe_args.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_FAILSAFE) += failsafe_eal.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_FAILSAFE) += failsafe_ops.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_FAILSAFE) += failsafe_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_FAILSAFE) += failsafe_ether.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_FAILSAFE) += failsafe_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_FAILSAFE) += failsafe_intr.c
-ifeq ($(CONFIG_RTE_EXEC_ENV_LINUX),y)
-CFLAGS += -DLINUX
-else
-CFLAGS += -DBSD
-endif
-
-# No exported include files
-
-# Basic CFLAGS:
-CFLAGS += -std=gnu99 -Wextra
-CFLAGS += -O3
-CFLAGS += -I.
-CFLAGS += -D_DEFAULT_SOURCE
-CFLAGS += -D_XOPEN_SOURCE=700
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -Wno-strict-prototypes
-CFLAGS += -pedantic
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_vdev
-LDLIBS += -lpthread
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/fm10k/Makefile b/drivers/net/fm10k/Makefile
deleted file mode 100644
index d486389928..0000000000
--- a/drivers/net/fm10k/Makefile
+++ /dev/null
@@ -1,77 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2013-2015 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_fm10k.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-EXPORT_MAP := rte_pmd_fm10k_version.map
-
-ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-#
-# CFLAGS for icc
-#
-CFLAGS_BASE_DRIVER  = -diag-disable 174 -diag-disable 593 -diag-disable 869
-CFLAGS_BASE_DRIVER += -diag-disable 981 -diag-disable 2259
-
-else ifeq ($(CONFIG_RTE_TOOLCHAIN_CLANG),y)
-
-#
-## CFLAGS for clang
-#
-CFLAGS_BASE_DRIVER = -Wno-unused-parameter -Wno-unused-value
-CFLAGS_BASE_DRIVER += -Wno-strict-aliasing -Wno-format-extra-args
-CFLAGS_BASE_DRIVER += -Wno-unused-variable
-
-else
-#
-# CFLAGS for gcc
-#
-CFLAGS_BASE_DRIVER = -Wno-unused-parameter -Wno-unused-value
-CFLAGS_BASE_DRIVER += -Wno-strict-aliasing -Wno-format-extra-args
-CFLAGS_BASE_DRIVER += -Wno-unused-variable
-
-ifeq ($(shell test $(GCC_VERSION) -ge 44 && echo 1), 1)
-CFLAGS     += -Wno-deprecated
-CFLAGS_BASE_DRIVER += -Wno-unused-but-set-variable
-ifeq ($(shell test $(GCC_VERSION) -ge 70 && echo 1), 1)
-CFLAGS_BASE_DRIVER += -Wno-implicit-fallthrough
-endif
-endif
-endif
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_hash
-LDLIBS += -lrte_bus_pci
-
-#
-# Add extra flags for base driver source files to disable warnings in them
-#
-BASE_DRIVER_OBJS=$(sort $(patsubst %.c,%.o,$(notdir $(wildcard $(SRCDIR)/base/*.c))))
-$(foreach obj, $(BASE_DRIVER_OBJS), $(eval CFLAGS_$(obj)+=$(CFLAGS_BASE_DRIVER)))
-
-VPATH += $(SRCDIR)/base
-
-#
-# all source are stored in SRCS-y
-# base driver is based on the package of cid-fm10k.2017.01.24.tar.gz
-#
-SRCS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += fm10k_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += fm10k_rxtx.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += fm10k_pf.c
-SRCS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += fm10k_tlv.c
-SRCS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += fm10k_common.c
-SRCS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += fm10k_mbx.c
-SRCS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += fm10k_vf.c
-SRCS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += fm10k_api.c
-ifeq ($(CONFIG_RTE_ARCH_X86), y)
-SRCS-$(CONFIG_RTE_LIBRTE_FM10K_INC_VECTOR) += fm10k_rxtx_vec.c
-endif
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/hinic/Makefile b/drivers/net/hinic/Makefile
deleted file mode 100644
index 87fd843e41..0000000000
--- a/drivers/net/hinic/Makefile
+++ /dev/null
@@ -1,67 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Huawei Technologies Co., Ltd
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_hinic.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-ifeq ($(CONFIG_RTE_ARCH_ARM64),y)
-CFLAGS += -D__ARM64_NEON__
-else ifeq ($(CONFIG_RTE_ARCH_X86_64),y)
-CFLAGS += -D__X86_64_SSE__
-endif
-
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_hash
-LDLIBS += -lrte_bus_pci
-LDLIBS += -lpthread
-
-EXPORT_MAP := rte_pmd_hinic_version.map
-
-#
-# CFLAGS for 32-bits platforms
-#
-ifneq ($(CONFIG_RTE_ARCH_64),y)
-ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-#
-# CFLAGS for icc
-#
-CFLAGS += -diag-disable 2259
-else
-#
-# CFLAGS for gcc
-#
-CFLAGS += -Wno-int-to-pointer-cast
-CFLAGS += -Wno-pointer-to-int-cast
-endif
-endif
-
-VPATH += $(SRCDIR)/base
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic_pmd_api_cmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic_pmd_cfg.c
-SRCS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic_pmd_cmdq.c
-SRCS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic_pmd_eqs.c
-SRCS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic_pmd_hwdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic_pmd_hwif.c
-SRCS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic_pmd_mgmt.c
-SRCS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic_pmd_niccfg.c
-SRCS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic_pmd_nicio.c
-SRCS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic_pmd_wq.c
-SRCS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic_pmd_mbox.c
-SRCS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic_pmd_flow.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic_pmd_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic_pmd_rx.c
-SRCS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic_pmd_tx.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/hns3/Makefile b/drivers/net/hns3/Makefile
deleted file mode 100644
index d7798a4706..0000000000
--- a/drivers/net/hns3/Makefile
+++ /dev/null
@@ -1,42 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018-2019 Hisilicon Limited.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_hns3.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-# Experimantal APIs:
-# - rte_mp_action_register
-# - rte_mp_action_unregister
-# - rte_mp_reply
-# - rte_mp_request_sync
-
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_hash
-LDLIBS += -lrte_bus_pci
-
-EXPORT_MAP := rte_pmd_hns3_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_HNS3_PMD) += hns3_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_HNS3_PMD) += hns3_ethdev_vf.c
-SRCS-$(CONFIG_RTE_LIBRTE_HNS3_PMD) += hns3_cmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_HNS3_PMD) += hns3_mbx.c
-SRCS-$(CONFIG_RTE_LIBRTE_HNS3_PMD) += hns3_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_HNS3_PMD) += hns3_rss.c
-SRCS-$(CONFIG_RTE_LIBRTE_HNS3_PMD) += hns3_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_HNS3_PMD) += hns3_fdir.c
-SRCS-$(CONFIG_RTE_LIBRTE_HNS3_PMD) += hns3_intr.c
-SRCS-$(CONFIG_RTE_LIBRTE_HNS3_PMD) += hns3_stats.c
-SRCS-$(CONFIG_RTE_LIBRTE_HNS3_PMD) += hns3_regs.c
-SRCS-$(CONFIG_RTE_LIBRTE_HNS3_PMD) += hns3_dcb.c
-SRCS-$(CONFIG_RTE_LIBRTE_HNS3_PMD) += hns3_mp.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/i40e/Makefile b/drivers/net/i40e/Makefile
deleted file mode 100644
index 43f10941b2..0000000000
--- a/drivers/net/i40e/Makefile
+++ /dev/null
@@ -1,112 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_i40e.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -DPF_DRIVER -DVF_DRIVER -DINTEGRATED_VF
-CFLAGS += -DX722_A0_SUPPORT
-
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_hash
-LDLIBS += -lrte_bus_pci
-
-EXPORT_MAP := rte_pmd_i40e_version.map
-
-#
-# Add extra flags for base driver files (also known as shared code)
-# to disable warnings
-#
-ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS_BASE_DRIVER = -diag-disable 593
-else ifeq ($(CONFIG_RTE_TOOLCHAIN_CLANG),y)
-CFLAGS_BASE_DRIVER += -Wno-sign-compare
-CFLAGS_BASE_DRIVER += -Wno-unused-value
-CFLAGS_BASE_DRIVER += -Wno-unused-parameter
-CFLAGS_BASE_DRIVER += -Wno-strict-aliasing
-CFLAGS_BASE_DRIVER += -Wno-format
-CFLAGS_BASE_DRIVER += -Wno-pointer-to-int-cast
-CFLAGS_BASE_DRIVER += -Wno-format-nonliteral
-CFLAGS_BASE_DRIVER += -Wno-unused-variable
-else
-CFLAGS_BASE_DRIVER  = -Wno-sign-compare
-CFLAGS_BASE_DRIVER += -Wno-unused-value
-CFLAGS_BASE_DRIVER += -Wno-unused-parameter
-CFLAGS_BASE_DRIVER += -Wno-strict-aliasing
-CFLAGS_BASE_DRIVER += -Wno-format
-CFLAGS_BASE_DRIVER += -Wno-pointer-to-int-cast
-CFLAGS_BASE_DRIVER += -Wno-format-nonliteral
-CFLAGS_BASE_DRIVER += -Wno-format-security
-CFLAGS_BASE_DRIVER += -Wno-unused-variable
-
-ifeq ($(shell test $(GCC_VERSION) -ge 44 && echo 1), 1)
-CFLAGS_BASE_DRIVER += -Wno-unused-but-set-variable
-endif
-
-CFLAGS_i40e_lan_hmc.o += -Wno-error
-endif
-OBJS_BASE_DRIVER=$(sort $(patsubst %.c,%.o,$(notdir $(wildcard $(SRCDIR)/base/*.c))))
-$(foreach obj, $(OBJS_BASE_DRIVER), $(eval CFLAGS_$(obj)+=$(CFLAGS_BASE_DRIVER)))
-
-VPATH += $(SRCDIR)/base
-
-#
-# all source are stored in SRCS-y
-# base driver is based on the package of dpdk-i40e.2016.04.18.12.tar.gz.
-#
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_adminq.c
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_common.c
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_diag.c
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_hmc.c
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_lan_hmc.c
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_nvm.c
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_dcb.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_rxtx.c
-ifneq ($(filter y,$(CONFIG_RTE_ARCH_ARM) $(CONFIG_RTE_ARCH_ARM64)),)
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_INC_VECTOR) += i40e_rxtx_vec_neon.c
-else ifeq ($(CONFIG_RTE_ARCH_PPC_64),y)
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_INC_VECTOR) += i40e_rxtx_vec_altivec.c
-else
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_INC_VECTOR) += i40e_rxtx_vec_sse.c
-endif
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_ethdev_vf.c
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_pf.c
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_fdir.c
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += rte_pmd_i40e.c
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_tm.c
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_vf_representor.c
-
-ifeq ($(CONFIG_RTE_LIBRTE_I40E_INC_VECTOR),y)
-ifeq ($(findstring RTE_MACHINE_CPUFLAG_AVX2,$(CFLAGS)),RTE_MACHINE_CPUFLAG_AVX2)
-	CC_AVX2_SUPPORT=1
-else
-	CC_AVX2_SUPPORT=\
-	$(shell $(CC) -march=core-avx2 -dM -E - </dev/null 2>&1 | \
-	grep -q AVX2 && echo 1)
-	ifeq ($(CC_AVX2_SUPPORT), 1)
-		ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-			CFLAGS_i40e_rxtx_vec_avx2.o += -march=core-avx2
-		else
-			CFLAGS_i40e_rxtx_vec_avx2.o += -mavx2
-		endif
-	endif
-endif
-endif
-
-ifeq ($(CC_AVX2_SUPPORT), 1)
-	SRCS-$(CONFIG_RTE_LIBRTE_I40E_INC_VECTOR) += i40e_rxtx_vec_avx2.c
-	CFLAGS_i40e_rxtx.o += -DCC_AVX2_SUPPORT
-endif
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_I40E_PMD)-include := rte_pmd_i40e.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/iavf/Makefile b/drivers/net/iavf/Makefile
deleted file mode 100644
index 792cbb7f79..0000000000
--- a/drivers/net/iavf/Makefile
+++ /dev/null
@@ -1,54 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_iavf.a
-
-CFLAGS += -I$(RTE_SDK)/drivers/common/iavf
-CFLAGS += -O3 $(WERROR_FLAGS) -Wno-strict-aliasing
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_hash
-LDLIBS += -lrte_bus_pci
-LDLIBS += -lrte_common_iavf
-
-EXPORT_MAP := rte_pmd_iavf_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_IAVF_PMD) += iavf_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_IAVF_PMD) += iavf_vchnl.c
-SRCS-$(CONFIG_RTE_LIBRTE_IAVF_PMD) += iavf_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_IAVF_PMD) += iavf_generic_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_IAVF_PMD) += iavf_fdir.c
-SRCS-$(CONFIG_RTE_LIBRTE_IAVF_PMD) += iavf_hash.c
-ifeq ($(CONFIG_RTE_ARCH_X86), y)
-SRCS-$(CONFIG_RTE_LIBRTE_IAVF_PMD) += iavf_rxtx_vec_sse.c
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_IAVF_PMD), y)
-	ifeq ($(findstring RTE_MACHINE_CPUFLAG_AVX2,$(CFLAGS)),RTE_MACHINE_CPUFLAG_AVX2)
-		CC_AVX2_SUPPORT=1
-	else
-		CC_AVX2_SUPPORT=\
-		$(shell $(CC) -march=core-avx2 -dM -E - </dev/null 2>&1 | \
-		grep -q AVX2 && echo 1)
-		ifeq ($(CC_AVX2_SUPPORT), 1)
-			ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-				CFLAGS_iavf_rxtx_vec_avx2.o += -march=core-avx2
-			else
-				CFLAGS_iavf_rxtx_vec_avx2.o += -mavx2
-			endif
-		endif
-	endif
-endif
-
-ifeq ($(CC_AVX2_SUPPORT), 1)
-	SRCS-$(CONFIG_RTE_LIBRTE_IAVF_PMD) += iavf_rxtx_vec_avx2.c
-endif
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/ice/Makefile b/drivers/net/ice/Makefile
deleted file mode 100644
index 34cd4024b3..0000000000
--- a/drivers/net/ice/Makefile
+++ /dev/null
@@ -1,96 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_ice.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/common/iavf
-
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_ethdev -lrte_kvargs
-LDLIBS += -lrte_bus_pci -lrte_mempool -lrte_hash
-LDLIBS += -lrte_net -lrte_common_iavf
-LDLIBS += -lpthread
-
-EXPORT_MAP := rte_pmd_ice_version.map
-
-#
-# Add extra flags for base driver files (also known as shared code)
-# to disable warnings
-#
-ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS_BASE_DRIVER +=
-else ifeq ($(CONFIG_RTE_TOOLCHAIN_CLANG),y)
-CFLAGS_BASE_DRIVER += -Wno-unused-parameter
-CFLAGS_BASE_DRIVER += -Wno-unused-variable
-else
-CFLAGS_BASE_DRIVER += -Wno-unused-parameter
-CFLAGS_BASE_DRIVER += -Wno-unused-variable
-
-ifeq ($(shell test $(GCC_VERSION) -ge 44 && echo 1), 1)
-CFLAGS_BASE_DRIVER += -Wno-unused-but-set-variable
-endif
-
-endif
-OBJS_BASE_DRIVER=$(patsubst %.c,%.o,$(notdir $(wildcard $(SRCDIR)/base/*.c)))
-$(foreach obj, $(OBJS_BASE_DRIVER), $(eval CFLAGS_$(obj)+=$(CFLAGS_BASE_DRIVER)))
-
-VPATH += $(SRCDIR)/base
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_controlq.c
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_common.c
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_sched.c
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_switch.c
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_nvm.c
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_flex_pipe.c
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_dcb.c
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_fdir.c
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_acl.c
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_acl_ctrl.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_rxtx.c
-ifeq ($(CONFIG_RTE_ARCH_X86), y)
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_rxtx_vec_sse.c
-endif
-
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_switch_filter.c
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_fdir_filter.c
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_hash.c
-ifeq ($(findstring RTE_MACHINE_CPUFLAG_AVX2,$(CFLAGS)),RTE_MACHINE_CPUFLAG_AVX2)
-	CC_AVX2_SUPPORT=1
-else
-	CC_AVX2_SUPPORT=\
-	$(shell $(CC) -march=core-avx2 -dM -E - </dev/null 2>&1 | \
-	grep -q AVX2 && echo 1)
-	ifeq ($(CC_AVX2_SUPPORT), 1)
-		ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-			CFLAGS_ice_rxtx_vec_avx2.o += -march=core-avx2
-		else
-			CFLAGS_ice_rxtx_vec_avx2.o += -mavx2
-		endif
-	endif
-endif
-
-ifeq ($(CC_AVX2_SUPPORT), 1)
-	SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_rxtx_vec_avx2.c
-endif
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_generic_flow.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_dcf.c
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_dcf_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_dcf_parent.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_ICE_PMD)-include := rte_pmd_ice.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/igc/Makefile b/drivers/net/igc/Makefile
deleted file mode 100644
index d6d7959d2d..0000000000
--- a/drivers/net/igc/Makefile
+++ /dev/null
@@ -1,40 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019-2020 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_igc.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal
-LDLIBS += -lrte_ethdev
-LDLIBS += -lrte_bus_pci
-LDLIBS += -lrte_mbuf
-LDLIBS += -lrte_mempool
-
-EXPORT_MAP := rte_pmd_igc_version.map
-
-VPATH += $(SRCDIR)/base
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_IGC_PMD) += igc_api.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGC_PMD) += igc_base.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGC_PMD) += igc_i225.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGC_PMD) += igc_mac.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGC_PMD) += igc_manage.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGC_PMD) += igc_nvm.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGC_PMD) += igc_osdep.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGC_PMD) += igc_phy.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGC_PMD) += igc_logs.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGC_PMD) += igc_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGC_PMD) += igc_txrx.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGC_PMD) += igc_filter.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGC_PMD) += igc_flow.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/ionic/Makefile b/drivers/net/ionic/Makefile
deleted file mode 100644
index 7442e2c5cb..0000000000
--- a/drivers/net/ionic/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-# SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0)
-# Copyright(c) 2018-2019 Pensando Systems, Inc. All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_ionic.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-EXPORT_MAP := rte_pmd_ionic_version.map
-
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net
-LDLIBS += -lrte_bus_pci
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_IONIC_PMD) += ionic_mac_api.c
-SRCS-$(CONFIG_RTE_LIBRTE_IONIC_PMD) += ionic_rx_filter.c
-SRCS-$(CONFIG_RTE_LIBRTE_IONIC_PMD) += ionic_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_IONIC_PMD) += ionic_dev.c
-SRCS-$(CONFIG_RTE_LIBRTE_IONIC_PMD) += ionic_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_IONIC_PMD) += ionic_lif.c
-SRCS-$(CONFIG_RTE_LIBRTE_IONIC_PMD) += ionic_main.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/ipn3ke/Makefile b/drivers/net/ipn3ke/Makefile
deleted file mode 100644
index 40696dbde8..0000000000
--- a/drivers/net/ipn3ke/Makefile
+++ /dev/null
@@ -1,38 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_ipn3ke.a
-
-#
-# Add the experimenatal APIs called from this PMD
-#  rte_eth_switch_domain_alloc()
-#  rte_eth_dev_create()
-#  rte_eth_dev_destroy()
-#  rte_eth_switch_domain_free()
-#
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/bus/ifpga
-CFLAGS += -I$(RTE_SDK)/drivers/raw/ifpga
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_ifpga
-LDLIBS += -lrte_bus_vdev
-LDLIBS += -lpthread
-
-EXPORT_MAP := rte_pmd_ipn3ke_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_IPN3KE_PMD) += ipn3ke_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_IPN3KE_PMD) += ipn3ke_representor.c
-SRCS-$(CONFIG_RTE_LIBRTE_IPN3KE_PMD) += ipn3ke_tm.c
-SRCS-$(CONFIG_RTE_LIBRTE_IPN3KE_PMD) += ipn3ke_flow.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/ixgbe/Makefile b/drivers/net/ixgbe/Makefile
deleted file mode 100644
index aebf3b286c..0000000000
--- a/drivers/net/ixgbe/Makefile
+++ /dev/null
@@ -1,110 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2016 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_ixgbe.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-EXPORT_MAP := rte_pmd_ixgbe_version.map
-
-ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-#
-# CFLAGS for icc
-#
-CFLAGS_BASE_DRIVER  = -diag-disable 174 -diag-disable 593 -diag-disable 869
-CFLAGS_BASE_DRIVER += -diag-disable 981 -diag-disable 2259
-
-CFLAGS_ixgbe_rxtx.o += -diag-disable 3656
-
-else ifeq ($(CONFIG_RTE_TOOLCHAIN_CLANG),y)
-#
-# CFLAGS for clang
-#
-CFLAGS_BASE_DRIVER = -Wno-unused-parameter -Wno-unused-value
-CFLAGS_BASE_DRIVER += -Wno-strict-aliasing -Wno-format-extra-args
-
-else
-#
-# CFLAGS for gcc
-#
-ifeq ($(shell test $(GCC_VERSION) -ge 44 && echo 1), 1)
-CFLAGS     += -Wno-deprecated
-CFLAGS_ixgbe_common.o += -Wno-unused-but-set-variable
-CFLAGS_ixgbe_x550.o += -Wno-unused-but-set-variable
-endif
-CFLAGS_BASE_DRIVER = -Wno-unused-parameter -Wno-unused-value
-CFLAGS_BASE_DRIVER += -Wno-strict-aliasing -Wno-format-extra-args
-
-ifeq ($(shell test $(GCC_VERSION) -ge 46 && echo 1), 1)
-CFLAGS_ixgbe_x550.o += -Wno-maybe-uninitialized
-endif
-
-ifeq ($(shell test $(GCC_VERSION) -ge 50 && echo 1), 1)
-CFLAGS_ixgbe_common.o += -Wno-logical-not-parentheses
-ifeq ($(shell test $(GCC_VERSION) -ge 70 && echo 1), 1)
-CFLAGS_BASE_DRIVER += -Wno-implicit-fallthrough
-endif
-endif
-
-endif
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_hash
-LDLIBS += -lrte_bus_pci
-LDLIBS += -lpthread
-
-#
-# Add extra flags for base driver files (also known as shared code)
-# to disable warnings in them
-#
-BASE_DRIVER_OBJS=$(sort $(patsubst %.c,%.o,$(notdir $(wildcard $(SRCDIR)/base/*.c))))
-$(foreach obj, $(BASE_DRIVER_OBJS), $(eval CFLAGS_$(obj)+=$(CFLAGS_BASE_DRIVER)))
-
-VPATH += $(SRCDIR)/base
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_common.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_82598.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_82599.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_x540.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_x550.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_phy.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_api.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_vf.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_hv_vf.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_dcb.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_dcb_82599.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_dcb_82598.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_mbx.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_fdir.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_pf.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_flow.c
-ifneq ($(filter y,$(CONFIG_RTE_ARCH_ARM) $(CONFIG_RTE_ARCH_ARM64)),)
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_rxtx_vec_neon.c
-else ifeq ($(CONFIG_RTE_ARCH_X86),y)
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_rxtx_vec_sse.c
-endif
-ifeq ($(CONFIG_RTE_LIBRTE_IXGBE_BYPASS),y)
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_bypass.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_82599_bypass.c
-endif
-ifeq ($(CONFIG_RTE_LIBRTE_SECURITY),y)
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_ipsec.c
-endif
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += rte_pmd_ixgbe.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_tm.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_vf_representor.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_IXGBE_PMD)-include := rte_pmd_ixgbe.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/kni/Makefile b/drivers/net/kni/Makefile
deleted file mode 100644
index 0694ffd021..0000000000
--- a/drivers/net/kni/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_kni.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lpthread
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_kni
-LDLIBS += -lrte_bus_vdev
-
-EXPORT_MAP := rte_pmd_kni_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_KNI) += rte_eth_kni.c
-
-#
-# Export include files
-#
-SYMLINK-y-include +=
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/liquidio/Makefile b/drivers/net/liquidio/Makefile
deleted file mode 100644
index d7fda7f527..0000000000
--- a/drivers/net/liquidio/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Cavium, Inc
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_lio.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)/base -I$(SRCDIR)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-
-EXPORT_MAP := rte_pmd_liquidio_version.map
-
-VPATH += $(RTE_SDK)/drivers/net/liquidio/base
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_LIO_PMD) += lio_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_LIO_PMD) += lio_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_LIO_PMD) += lio_23xx_vf.c
-SRCS-$(CONFIG_RTE_LIBRTE_LIO_PMD) += lio_mbox.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/memif/Makefile b/drivers/net/memif/Makefile
deleted file mode 100644
index 3bf4ddce4c..0000000000
--- a/drivers/net/memif/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2018-2019 Cisco Systems, Inc.  All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_memif.a
-
-EXPORT_MAP := rte_pmd_memif_version.map
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool
-LDLIBS += -lrte_ethdev -lrte_kvargs -lrte_net
-LDLIBS += -lrte_hash
-LDLIBS += -lrte_bus_vdev
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_MEMIF) += rte_eth_memif.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_MEMIF) += memif_socket.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/mlx4/Makefile b/drivers/net/mlx4/Makefile
deleted file mode 100644
index 02e9b2ec07..0000000000
--- a/drivers/net/mlx4/Makefile
+++ /dev/null
@@ -1,142 +0,0 @@
-#   SPDX-License-Identifier: BSD-3-Clause
-#   Copyright 2012 6WIND S.A.
-#   Copyright 2012 Mellanox Technologies, Ltd
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# Library name.
-LIB = librte_pmd_mlx4.a
-LIB_GLUE = $(LIB_GLUE_BASE).$(LIB_GLUE_VERSION)
-LIB_GLUE_BASE = librte_pmd_mlx4_glue.so
-LIB_GLUE_VERSION = 18.02.0
-
-# Sources.
-SRCS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4_flow.c
-ifneq ($(CONFIG_RTE_IBVERBS_LINK_DLOPEN),y)
-SRCS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4_glue.c
-endif
-SRCS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4_intr.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4_mp.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4_mr.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4_rxq.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4_txq.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4_utils.c
-
-ifeq ($(CONFIG_RTE_IBVERBS_LINK_DLOPEN),y)
-INSTALL-$(CONFIG_RTE_LIBRTE_MLX4_PMD)-lib += $(LIB_GLUE)
-endif
-
-# Basic CFLAGS.
-CFLAGS += -O3
-CFLAGS += -std=c11 -Wall -Wextra
-CFLAGS += -g
-CFLAGS += -I.
-CFLAGS += -D_BSD_SOURCE
-CFLAGS += -D_DEFAULT_SOURCE
-CFLAGS += -D_XOPEN_SOURCE=600
-CFLAGS += $(WERROR_FLAGS)
-ifeq ($(CONFIG_RTE_IBVERBS_LINK_DLOPEN),y)
-CFLAGS += -DMLX4_GLUE='"$(LIB_GLUE)"'
-CFLAGS += -DMLX4_GLUE_VERSION='"$(LIB_GLUE_VERSION)"'
-CFLAGS_mlx4_glue.o += -fPIC
-LDLIBS += -ldl
-else ifeq ($(CONFIG_RTE_IBVERBS_LINK_STATIC),y)
-LDLIBS += $(shell $(RTE_SDK)/buildtools/options-ibverbs-static.sh)
-else
-LDLIBS += -libverbs -lmlx4
-endif
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-
-# A few warnings cannot be avoided in external headers.
-CFLAGS += -Wno-error=cast-qual
-
-EXPORT_MAP := rte_pmd_mlx4_version.map
-# DEBUG which is usually provided on the command-line may enable
-# CONFIG_RTE_LIBRTE_MLX4_DEBUG.
-ifeq ($(DEBUG),1)
-CONFIG_RTE_LIBRTE_MLX4_DEBUG := y
-endif
-
-# User-defined CFLAGS.
-ifeq ($(CONFIG_RTE_LIBRTE_MLX4_DEBUG),y)
-CFLAGS += -pedantic
-ifneq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS += -DPEDANTIC
-endif
-AUTO_CONFIG_CFLAGS += -Wno-pedantic
-else
-CFLAGS += -UPEDANTIC
-endif
-
-include $(RTE_SDK)/mk/rte.lib.mk
-
-# Generate and clean-up mlx4_autoconf.h.
-
-export CC CFLAGS CPPFLAGS EXTRA_CFLAGS EXTRA_CPPFLAGS
-export AUTO_CONFIG_CFLAGS += -Wno-error
-
-ifndef V
-AUTOCONF_OUTPUT := >/dev/null
-endif
-
-mlx4_autoconf.h.new: FORCE
-
-mlx4_autoconf.h.new: $(RTE_SDK)/buildtools/auto-config-h.sh
-	$Q $(RM) -f -- '$@'
-	$Q : > '$@'
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_MLX4_BUF_ALLOCATORS \
-		infiniband/mlx4dv.h \
-		enum MLX4DV_SET_CTX_ATTR_BUF_ALLOCATORS \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_MLX4_UAR_MMAP_OFFSET \
-		infiniband/mlx4dv.h \
-		enum MLX4DV_QP_MASK_UAR_MMAP_OFFSET \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_MLX4_WQE_LSO_SEG \
-		infiniband/mlx4dv.h \
-		type 'struct mlx4_wqe_lso_seg' \
-		$(AUTOCONF_OUTPUT)
-
-# Create mlx4_autoconf.h or update it in case it differs from the new one.
-
-mlx4_autoconf.h: mlx4_autoconf.h.new
-	$Q [ -f '$@' ] && \
-		cmp '$<' '$@' $(AUTOCONF_OUTPUT) || \
-		mv '$<' '$@'
-
-$(SRCS-$(CONFIG_RTE_LIBRTE_MLX4_PMD):.c=.o): mlx4_autoconf.h
-
-# Generate dependency plug-in for rdma-core when the PMD must not be linked
-# directly, so that applications do not inherit this dependency.
-
-ifeq ($(CONFIG_RTE_IBVERBS_LINK_DLOPEN),y)
-
-$(LIB): $(LIB_GLUE)
-
-ifeq ($(LINK_USING_CC),1)
-GLUE_LDFLAGS := $(call linkerprefix,$(LDFLAGS))
-else
-GLUE_LDFLAGS := $(LDFLAGS)
-endif
-$(LIB_GLUE): mlx4_glue.o
-	$Q $(LD) $(GLUE_LDFLAGS) $(EXTRA_LDFLAGS) \
-		-Wl,-h,$(LIB_GLUE) \
-		-shared -o $@ $< -libverbs -lmlx4
-
-mlx4_glue.o: mlx4_autoconf.h
-
-endif
-
-clean_mlx4: FORCE
-	$Q rm -f -- mlx4_autoconf.h mlx4_autoconf.h.new
-	$Q rm -f -- mlx4_glue.o $(LIB_GLUE_BASE)*
-
-clean: clean_mlx4
diff --git a/drivers/net/mlx5/Makefile b/drivers/net/mlx5/Makefile
deleted file mode 100644
index 568c772415..0000000000
--- a/drivers/net/mlx5/Makefile
+++ /dev/null
@@ -1,82 +0,0 @@
-#   SPDX-License-Identifier: BSD-3-Clause
-#   Copyright 2015 6WIND S.A.
-#   Copyright 2015 Mellanox Technologies, Ltd
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# Library name.
-LIB = librte_pmd_mlx5.a
-
-# Sources.
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_rxq.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_txq.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_txpp.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_rxtx.c
-ifneq ($(filter y,$(CONFIG_RTE_ARCH_X86_64) \
-			$(CONFIG_RTE_ARCH_PPC_64) \
-		  $(CONFIG_RTE_ARCH_ARM64)),)
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_rxtx_vec.c
-endif
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_trigger.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_mac.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_rxmode.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_vlan.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_stats.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_rss.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_mr.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_flow_meter.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_flow_dv.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_flow_verbs.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_utils.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += linux/mlx5_socket.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += linux/mlx5_os.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += linux/mlx5_ethdev_os.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += linux/mlx5_verbs.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += linux/mlx5_mp_os.c
-
-# Basic CFLAGS.
-CFLAGS += -O3
-CFLAGS += -std=c11 -Wall -Wextra
-CFLAGS += -g
-CFLAGS += -I$(RTE_SDK)/drivers/common/mlx5
-CFLAGS += -I$(RTE_SDK)/drivers/common/mlx5/linux
-CFLAGS += -I$(RTE_SDK)/drivers/net/mlx5
-CFLAGS += -I$(RTE_SDK)/drivers/net/mlx5/linux
-CFLAGS += -I$(BUILDDIR)/drivers/common/mlx5
-CFLAGS += -D_BSD_SOURCE
-CFLAGS += -D_DEFAULT_SOURCE
-CFLAGS += -D_XOPEN_SOURCE=600
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -Wno-strict-prototypes
-LDLIBS += -lrte_common_mlx5
-LDLIBS += -lm
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-
-# A few warnings cannot be avoided in external headers.
-CFLAGS += -Wno-error=cast-qual
-
-EXPORT_MAP := rte_pmd_mlx5_version.map
-
-# DEBUG which is usually provided on the command-line may enable
-# CONFIG_RTE_LIBRTE_MLX5_DEBUG.
-ifeq ($(DEBUG),1)
-CONFIG_RTE_LIBRTE_MLX5_DEBUG := y
-endif
-
-# User-defined CFLAGS.
-ifeq ($(CONFIG_RTE_LIBRTE_MLX5_DEBUG),y)
-CFLAGS += -pedantic
-ifneq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS += -DPEDANTIC
-endif
-AUTO_CONFIG_CFLAGS += -Wno-pedantic
-else
-CFLAGS += -UPEDANTIC
-endif
-
-include $(RTE_SDK)/mk/rte.lib.mk
-
diff --git a/drivers/net/mvneta/Makefile b/drivers/net/mvneta/Makefile
deleted file mode 100644
index 41e50479ff..0000000000
--- a/drivers/net/mvneta/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Marvell International Ltd.
-# Copyright(c) 2018 Semihalf.
-# All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-ifneq ($(MAKECMDGOALS),clean)
-ifneq ($(MAKECMDGOALS),config)
-ifeq ($(LIBMUSDK_PATH),)
-$(error "Please define LIBMUSDK_PATH environment variable")
-endif
-endif
-endif
-
-# library name
-LIB = librte_pmd_mvneta.a
-
-# versioning export map
-EXPORT_MAP := rte_pmd_mvneta_version.map
-
-# external library dependencies
-CFLAGS += -I$(RTE_SDK)/drivers/common/mvep
-CFLAGS += -I$(LIBMUSDK_PATH)/include
-CFLAGS += -DMVCONF_TYPES_PUBLIC
-CFLAGS += -DMVCONF_DMA_PHYS_ADDR_T_PUBLIC
-CFLAGS += -DMVCONF_DMA_PHYS_ADDR_T_SIZE=64
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -O3
-LDLIBS += -L$(LIBMUSDK_PATH)/lib
-LDLIBS += -lmusdk
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_cfgfile
-LDLIBS += -lrte_bus_vdev -lrte_common_mvep
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_MVNETA_PMD) += mvneta_ethdev.c mvneta_rxtx.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/mvpp2/Makefile b/drivers/net/mvpp2/Makefile
deleted file mode 100644
index 8a3ec93a60..0000000000
--- a/drivers/net/mvpp2/Makefile
+++ /dev/null
@@ -1,42 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Marvell International Ltd.
-# Copyright(c) 2017 Semihalf.
-# All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-ifneq ($(MAKECMDGOALS),clean)
-ifneq ($(MAKECMDGOALS),config)
-ifeq ($(LIBMUSDK_PATH),)
-$(error "Please define LIBMUSDK_PATH environment variable")
-endif
-endif
-endif
-
-# library name
-LIB = librte_pmd_mvpp2.a
-
-# versioning export map
-EXPORT_MAP := rte_pmd_mvpp2_version.map
-
-# external library dependencies
-CFLAGS += -I$(RTE_SDK)/drivers/common/mvep
-CFLAGS += -I$(LIBMUSDK_PATH)/include
-CFLAGS += -DMVCONF_TYPES_PUBLIC
-CFLAGS += -DMVCONF_DMA_PHYS_ADDR_T_PUBLIC
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -O3
-LDLIBS += -L$(LIBMUSDK_PATH)/lib
-LDLIBS += -lmusdk
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_cfgfile
-LDLIBS += -lrte_bus_vdev -lrte_common_mvep
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_MVPP2_PMD) += mrvl_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_MVPP2_PMD) += mrvl_qos.c
-SRCS-$(CONFIG_RTE_LIBRTE_MVPP2_PMD) += mrvl_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_MVPP2_PMD) += mrvl_mtr.c
-SRCS-$(CONFIG_RTE_LIBRTE_MVPP2_PMD) += mrvl_tm.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/netvsc/Makefile b/drivers/net/netvsc/Makefile
deleted file mode 100644
index da8991584a..0000000000
--- a/drivers/net/netvsc/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-LIB = librte_pmd_netvsc.a
-
-CFLAGS += -O3 $(WERROR_FLAGS)
-
-EXPORT_MAP := rte_pmd_netvsc_version.map
-
-SRCS-$(CONFIG_RTE_LIBRTE_NETVSC_PMD) += hn_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_NETVSC_PMD) += hn_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_NETVSC_PMD) += hn_rndis.c
-SRCS-$(CONFIG_RTE_LIBRTE_NETVSC_PMD) += hn_nvs.c
-SRCS-$(CONFIG_RTE_LIBRTE_NETVSC_PMD) += hn_vf.c
-
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_vmbus
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/nfb/Makefile b/drivers/net/nfb/Makefile
deleted file mode 100644
index e92d29dcd3..0000000000
--- a/drivers/net/nfb/Makefile
+++ /dev/null
@@ -1,40 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019 Cesnet
-# Copyright(c) 2019 Netcope Technologies, a.s. <info@netcope.com>
-# All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_nfb.a
-
-INCLUDES :=-I$(SRCDIR)
-
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += $(shell command -v pkg-config > /dev/null 2>&1 && pkg-config --cflags netcope-common)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_kvargs
-LDLIBS += -lrte_ethdev -lrte_net
-LDLIBS += -lrte_bus_pci
-LDLIBS += $(shell command -v pkg-config > /dev/null 2>&1 && pkg-config --libs netcope-common)
-
-EXPORT_MAP := rte_pmd_nfb_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_NFB_PMD) += nfb_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_NFB_PMD) += nfb_rx.c
-SRCS-$(CONFIG_RTE_LIBRTE_NFB_PMD) += nfb_tx.c
-SRCS-$(CONFIG_RTE_LIBRTE_NFB_PMD) += nfb_stats.c
-SRCS-$(CONFIG_RTE_LIBRTE_NFB_PMD) += nfb_rxmode.c
-
-#
-# Export include files
-#
-SYMLINK-y-include +=
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/nfp/Makefile b/drivers/net/nfp/Makefile
deleted file mode 100644
index 289b3a60e3..0000000000
--- a/drivers/net/nfp/Makefile
+++ /dev/null
@@ -1,41 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_nfp.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-LDLIBS += -lm
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-
-EXPORT_MAP := rte_pmd_nfp_version.map
-
-VPATH += $(SRCDIR)/nfpcore
-
-SRCS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp_cppcore.c
-SRCS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp_cpp_pcie_ops.c
-SRCS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp_mutex.c
-SRCS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp_resource.c
-SRCS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp_crc.c
-SRCS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp_mip.c
-SRCS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp_nffw.c
-SRCS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp_hwinfo.c
-SRCS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp_rtsym.c
-SRCS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp_nsp.c
-SRCS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp_nsp_cmds.c
-SRCS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp_nsp_eth.c
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp_net.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/null/Makefile b/drivers/net/null/Makefile
deleted file mode 100644
index f51150c131..0000000000
--- a/drivers/net/null/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2015 IGEL Co.,Ltd.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_null.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_vdev
-
-EXPORT_MAP := rte_pmd_null_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_NULL) += rte_eth_null.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/octeontx/Makefile b/drivers/net/octeontx/Makefile
deleted file mode 100644
index c4db878009..0000000000
--- a/drivers/net/octeontx/Makefile
+++ /dev/null
@@ -1,53 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Cavium, Inc
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_octeontx.a
-
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx/
-CFLAGS += -I$(RTE_SDK)/drivers/mempool/octeontx/
-
-EXPORT_MAP := rte_pmd_octeontx_version.map
-
-OBJS_BASE_DRIVER=$(patsubst %.c,%.o,$(notdir $(wildcard $(SRCDIR)/base/*.c)))
-$(foreach obj, $(OBJS_BASE_DRIVER), $(eval CFLAGS_$(obj)+=$(CFLAGS_BASE_DRIVER)))
-
-VPATH += $(SRCDIR)/base
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_OCTEONTX_PMD) += octeontx_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_OCTEONTX_PMD) += octeontx_pkovf.c
-SRCS-$(CONFIG_RTE_LIBRTE_OCTEONTX_PMD) += octeontx_pkivf.c
-SRCS-$(CONFIG_RTE_LIBRTE_OCTEONTX_PMD) += octeontx_bgx.c
-SRCS-$(CONFIG_RTE_LIBRTE_OCTEONTX_PMD) += octeontx_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_OCTEONTX_PMD) += octeontx_ethdev_ops.c
-
-ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
-CFLAGS_octeontx_rxtx.o += -fno-prefetch-loop-arrays
-
-ifeq ($(shell test $(GCC_VERSION) -ge 46 && echo 1), 1)
-CFLAGS_octeontx_rxtx.o += -O3 -Ofast
-else
-CFLAGS_octeontx_rxtx.o += -O3 -ffast-math
-endif
-
-else
-CFLAGS_octeontx_rxtx.o += -O3 -Ofast
-endif
-
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_common_octeontx
-LDLIBS += -lrte_mempool_octeontx
-LDLIBS += -lrte_eventdev
-LDLIBS += -lrte_bus_pci
-LDLIBS += -lrte_bus_vdev
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/octeontx2/Makefile b/drivers/net/octeontx2/Makefile
deleted file mode 100644
index 0de43e36af..0000000000
--- a/drivers/net/octeontx2/Makefile
+++ /dev/null
@@ -1,63 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(C) 2019 Marvell International Ltd.
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_octeontx2.a
-
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/common/cpt
-CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx2
-CFLAGS += -I$(RTE_SDK)/drivers/crypto/octeontx2
-CFLAGS += -I$(RTE_SDK)/drivers/mempool/octeontx2
-CFLAGS += -I$(RTE_SDK)/drivers/net/octeontx2
-CFLAGS += -O3
-ifneq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS += -flax-vector-conversions
-endif
-
-ifneq ($(CONFIG_RTE_ARCH_64),y)
-CFLAGS += -Wno-int-to-pointer-cast
-CFLAGS += -Wno-pointer-to-int-cast
-ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS += -diag-disable 2259
-endif
-endif
-
-EXPORT_MAP := rte_pmd_octeontx2_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_OCTEONTX2_PMD) += \
-	otx2_rx.c 	\
-	otx2_tx.c 	\
-	otx2_tm.c	\
-	otx2_rss.c	\
-	otx2_mac.c	\
-	otx2_ptp.c	\
-	otx2_flow.c	\
-	otx2_link.c	\
-	otx2_vlan.c	\
-	otx2_stats.c	\
-	otx2_mcast.c	\
-	otx2_lookup.c	\
-	otx2_ethdev.c	\
-	otx2_flow_ctrl.c \
-	otx2_flow_parse.c \
-	otx2_flow_utils.c \
-	otx2_ethdev_irq.c \
-	otx2_ethdev_ops.c \
-	otx2_ethdev_sec.c \
-	otx2_ethdev_debug.c \
-	otx2_ethdev_devargs.c
-
-LDLIBS += -lrte_common_octeontx2 -lrte_mempool_octeontx2 -lrte_eal -lrte_net
-LDLIBS += -lrte_ethdev -lrte_bus_pci -lrte_kvargs -lrte_mbuf  -lrte_mempool -lm
-LDLIBS += -lrte_cryptodev -lrte_eventdev -lrte_security
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/pcap/Makefile b/drivers/net/pcap/Makefile
deleted file mode 100644
index f243d1a0fa..0000000000
--- a/drivers/net/pcap/Makefile
+++ /dev/null
@@ -1,32 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation.
-# Copyright(c) 2014 6WIND S.A.
-# All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_pcap.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lpcap
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_vdev
-
-EXPORT_MAP := rte_pmd_pcap_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_PCAP) += rte_eth_pcap.c
-
-#
-# Export include files
-#
-SYMLINK-y-include +=
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/pfe/Makefile b/drivers/net/pfe/Makefile
deleted file mode 100644
index 75d30b01aa..0000000000
--- a/drivers/net/pfe/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2018-2019 NXP
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_pfe.a
-
-CFLAGS += -O3 $(WERROR_FLAGS)
-CFLAGS += -Wno-pointer-arith
-CFLAGS += -I$(RTE_SDK)/drivers/net/pfe/base/
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-
-EXPORT_MAP := rte_pmd_pfe_version.map
-
-# Interfaces with DPDK
-SRCS-$(CONFIG_RTE_LIBRTE_PFE_PMD) += pfe_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PFE_PMD) += pfe_hal.c
-SRCS-$(CONFIG_RTE_LIBRTE_PFE_PMD) += pfe_hif_lib.c
-SRCS-$(CONFIG_RTE_LIBRTE_PFE_PMD) += pfe_hif.c
-
-LDLIBS += -lrte_bus_vdev
-LDLIBS += -lrte_bus_dpaa
-LDLIBS += -lrte_common_dpaax
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool
-LDLIBS += -lrte_ethdev -lrte_kvargs
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/qede/Makefile b/drivers/net/qede/Makefile
deleted file mode 100644
index 0e8a67b0da..0000000000
--- a/drivers/net/qede/Makefile
+++ /dev/null
@@ -1,109 +0,0 @@
-#    SPDX-License-Identifier: BSD-3-Clause
-#    Copyright (c) 2016 - 2018 Cavium Inc.
-#    All rights reserved.
-#    www.cavium.com
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_qede.a
-
-CFLAGS += -O3
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-
-EXPORT_MAP := rte_pmd_qede_version.map
-
-#
-# OS
-#
-OS_TYPE := $(shell uname -s)
-
-#
-# CFLAGS
-#
-CFLAGS_BASE_DRIVER = -Wno-unused-parameter
-CFLAGS_BASE_DRIVER += -Wno-sign-compare
-CFLAGS_BASE_DRIVER += -Wno-missing-prototypes
-CFLAGS_BASE_DRIVER += -Wno-cast-qual
-CFLAGS_BASE_DRIVER += -Wno-unused-function
-CFLAGS_BASE_DRIVER += -Wno-unused-variable
-CFLAGS_BASE_DRIVER += -Wno-strict-aliasing
-CFLAGS_BASE_DRIVER += -Wno-missing-prototypes
-
-ifneq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS_BASE_DRIVER += -Wno-unused-value
-ifeq ($(OS_TYPE),Linux)
-ifeq ($(shell clang -Wno-shift-negative-value -Werror -E - < /dev/null > /dev/null 2>&1; echo $$?),0)
-CFLAGS_BASE_DRIVER += -Wno-shift-negative-value
-endif
-endif
-endif
-
-ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
-ifeq ($(shell test $(GCC_VERSION) -ge 44 && echo 1), 1)
-CFLAGS_BASE_DRIVER += -Wno-unused-but-set-variable
-CFLAGS += -Wno-format-nonliteral
-endif
-CFLAGS_BASE_DRIVER += -Wno-missing-declarations
-ifeq ($(shell test $(GCC_VERSION) -ge 46 && echo 1), 1)
-CFLAGS_BASE_DRIVER += -Wno-maybe-uninitialized
-endif
-CFLAGS_BASE_DRIVER += -Wno-strict-prototypes
-ifeq ($(shell test $(GCC_VERSION) -ge 60 && echo 1), 1)
-CFLAGS_BASE_DRIVER += -Wno-shift-negative-value
-ifeq ($(shell test $(GCC_VERSION) -ge 70 && echo 1), 1)
-CFLAGS_BASE_DRIVER += -Wno-implicit-fallthrough
-endif
-endif
-else ifeq ($(CONFIG_RTE_TOOLCHAIN_CLANG),y)
-CFLAGS_BASE_DRIVER += -Wno-format-extra-args
-CFLAGS_BASE_DRIVER += -Wno-visibility
-CFLAGS_BASE_DRIVER += -Wno-empty-body
-CFLAGS_BASE_DRIVER += -Wno-invalid-source-encoding
-CFLAGS_BASE_DRIVER += -Wno-sometimes-uninitialized
-ifeq ($(shell clang -Wno-pointer-bool-conversion -Werror -E - < /dev/null > /dev/null 2>&1; echo $$?),0)
-CFLAGS_BASE_DRIVER += -Wno-pointer-bool-conversion
-endif
-else #ICC
-CFLAGS_qede_ethdev.o += -diag-disable 279 #279: controlling expression is constant
-endif
-
-#
-# Add extra flags for base ecore driver files
-# to disable warnings in them
-#
-#
-BASE_DRIVER_OBJS=$(sort $(patsubst %.c,%.o,$(notdir $(wildcard $(SRCDIR)/base/*.c))))
-$(foreach obj, $(BASE_DRIVER_OBJS), $(eval CFLAGS_$(obj)+=$(CFLAGS_BASE_DRIVER)))
-
-VPATH += $(SRCDIR)/base
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_dev.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_hw.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_cxt.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_l2.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_sp_commands.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_init_fw_funcs.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_spq.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_init_ops.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_mcp.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_int.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_dcbx.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += bcm_osal.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_sriov.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_vf.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += qede_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += qede_main.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += qede_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += qede_filter.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += qede_debug.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += qede_regs.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/ring/Makefile b/drivers/net/ring/Makefile
deleted file mode 100644
index d6a3dec350..0000000000
--- a/drivers/net/ring/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_ring.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_vdev
-
-EXPORT_MAP := rte_pmd_ring_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_RING) += rte_eth_ring.c
-
-#
-# Export include files
-#
-SYMLINK-y-include += rte_eth_ring.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/sfc/Makefile b/drivers/net/sfc/Makefile
deleted file mode 100644
index 20bf343814..0000000000
--- a/drivers/net/sfc/Makefile
+++ /dev/null
@@ -1,133 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-#
-# Copyright(c) 2019-2020 Xilinx, Inc.
-# Copyright(c) 2016-2019 Solarflare Communications Inc.
-#
-# This software was jointly developed between OKTET Labs (under contract
-# for Solarflare) and Solarflare Communications, Inc.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_sfc_efx.a
-
-CFLAGS += -I$(SRCDIR)/base/
-CFLAGS += -I$(SRCDIR)
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-# Strict-aliasing rules are violated by rte_eth_link to uint64_t casts
-CFLAGS += -Wno-strict-aliasing
-
-# Enable extra warnings
-CFLAGS += -Wextra
-
-# More warnings not enabled by above aggregators
-CFLAGS += -Wdisabled-optimization
-
-# Extra CFLAGS for base driver files
-CFLAGS_BASE_DRIVER += -Wno-sign-compare
-CFLAGS_BASE_DRIVER += -Wno-unused-parameter
-CFLAGS_BASE_DRIVER += -Wno-unused-variable
-
-# Compiler and version dependent flags
-ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
-CFLAGS += -Waggregate-return
-CFLAGS += -Wnested-externs
-CFLAGS_BASE_DRIVER += -Wno-empty-body
-CFLAGS_BASE_DRIVER += -Wno-unused-but-set-variable
-else ifeq ($(CONFIG_RTE_TOOLCHAIN_CLANG),y)
-CFLAGS += -Waggregate-return
-CFLAGS += -Wbad-function-cast
-CFLAGS_BASE_DRIVER += -Wno-empty-body
-else ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS_BASE_DRIVER += -Wno-unused-but-set-variable
-# Suppress ICC false positive warning on 'bulk' may be used before its
-# value is set
-CFLAGS_sfc_ef10_tx.o += -diag-disable 3656
-endif
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci -lrte_pci
-
-#
-# List of base driver object files for which
-# special CFLAGS above should be applied
-#
-BASE_DRIVER_OBJS=$(sort $(patsubst %.c,%.o,$(notdir $(wildcard $(SRCDIR)/base/*.c))))
-$(foreach obj, $(BASE_DRIVER_OBJS), \
-  $(eval CFLAGS_$(obj)+=$(CFLAGS_BASE_DRIVER)))
-
-EXPORT_MAP := rte_pmd_sfc_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_kvargs.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_mcdi.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_intr.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_ev.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_port.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_rx.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_tx.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_tso.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_filter.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_dp.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_ef10_rx.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_ef10_essb_rx.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_ef10_tx.c
-
-VPATH += $(SRCDIR)/base
-
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_bootcfg.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_crc32.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_ev.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_evb.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_filter.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_hash.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_intr.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_lic.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_mac.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_mcdi.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_mon.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_nic.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_nvram.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_phy.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_port.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_proxy.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_rx.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_sram.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_tunnel.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_tx.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_vpd.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += mcdi_mon.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += siena_mac.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += siena_mcdi.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += siena_nic.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += siena_nvram.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += siena_phy.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += siena_sram.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += siena_vpd.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += ef10_ev.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += ef10_evb.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += ef10_filter.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += ef10_intr.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += ef10_image.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += ef10_mac.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += ef10_mcdi.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += ef10_nic.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += ef10_nvram.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += ef10_phy.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += ef10_proxy.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += ef10_rx.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += ef10_tx.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += ef10_vpd.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += hunt_nic.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += medford_nic.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += medford2_nic.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/softnic/Makefile b/drivers/net/softnic/Makefile
deleted file mode 100644
index dabbe13a5f..0000000000
--- a/drivers/net/softnic/Makefile
+++ /dev/null
@@ -1,54 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_softnic.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_pipeline -lrte_port -lrte_table
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_sched
-LDLIBS += -lrte_cryptodev
-LDLIBS += -lrte_bus_vdev
-
-EXPORT_MAP := rte_pmd_softnic_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += rte_eth_softnic.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += rte_eth_softnic_mempool.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += rte_eth_softnic_swq.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += rte_eth_softnic_link.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += rte_eth_softnic_tm.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += rte_eth_softnic_tap.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += rte_eth_softnic_action.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += rte_eth_softnic_pipeline.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += rte_eth_softnic_thread.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += rte_eth_softnic_cli.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += rte_eth_softnic_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += rte_eth_softnic_meter.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += rte_eth_softnic_cryptodev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += parser.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += conn.c
-
-#
-# Export include files
-#
-SYMLINK-y-include += rte_eth_softnic.h
-
-ifneq ($(CONFIG_RTE_EXEC_ENV_LINUX),y)
-$(info Softnic PMD can only operate in a linux environment, \
-please change the definition of the RTE_TARGET environment variable)
-all:
-clean:
-else
-
-include $(RTE_SDK)/mk/rte.lib.mk
-
-endif
diff --git a/drivers/net/szedata2/Makefile b/drivers/net/szedata2/Makefile
deleted file mode 100644
index 675d0938a2..0000000000
--- a/drivers/net/szedata2/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2015 CESNET
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_szedata2.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lsze2
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-
-EXPORT_MAP := rte_pmd_szedata2_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SZEDATA2) += rte_eth_szedata2.c
-
-#
-# Export include files
-#
-SYMLINK-y-include +=
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/tap/Makefile b/drivers/net/tap/Makefile
deleted file mode 100644
index cbf87af401..0000000000
--- a/drivers/net/tap/Makefile
+++ /dev/null
@@ -1,97 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_tap.a
-
-EXPORT_MAP := rte_pmd_tap_version.map
-
-#
-# TAP_MAX_QUEUES must be a power of 2
-#
-ifeq ($(TAP_MAX_QUEUES),)
-	TAP_MAX_QUEUES = 16
-endif
-CFLAGS += -O3
-CFLAGS += -I$(SRCDIR)
-CFLAGS += -I.
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_hash
-LDLIBS += -lrte_bus_vdev -lrte_gso
-
-CFLAGS += -DTAP_MAX_QUEUES=$(TAP_MAX_QUEUES)
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_TAP) += rte_eth_tap.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_TAP) += tap_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_TAP) += tap_netlink.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_TAP) += tap_tcmsgs.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_TAP) += tap_bpf_api.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_TAP) += tap_intr.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
-
-# Generate and clean-up tap_autoconf.h.
-
-export CC CFLAGS CPPFLAGS EXTRA_CFLAGS EXTRA_CPPFLAGS
-export AUTO_CONFIG_CFLAGS = -Wno-error
-
-ifndef V
-AUTOCONF_OUTPUT := >/dev/null
-endif
-
-tap_autoconf.h.new: FORCE
-
-tap_autoconf.h.new: $(RTE_SDK)/buildtools/auto-config-h.sh
-	$Q $(RM) -f -- '$@'
-	$Q sh -- '$<' '$@' \
-		HAVE_TC_FLOWER \
-		linux/pkt_cls.h \
-		enum TCA_FLOWER_UNSPEC \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_TC_VLAN_ID \
-		linux/pkt_cls.h \
-		enum TCA_FLOWER_KEY_VLAN_PRIO \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_TC_BPF \
-		linux/pkt_cls.h \
-		enum TCA_BPF_UNSPEC \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_TC_BPF_FD \
-		linux/pkt_cls.h \
-		enum TCA_BPF_FD \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_TC_ACT_BPF \
-		linux/tc_act/tc_bpf.h \
-		enum TCA_ACT_BPF_UNSPEC \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_TC_ACT_BPF_FD \
-		linux/tc_act/tc_bpf.h \
-		enum TCA_ACT_BPF_FD \
-		$(AUTOCONF_OUTPUT)
-
-# Create tap_autoconf.h or update it in case it differs from the new one.
-
-tap_autoconf.h: tap_autoconf.h.new
-	$Q [ -f '$@' ] && \
-		cmp '$<' '$@' $(AUTOCONF_OUTPUT) || \
-		mv '$<' '$@'
-
-$(SRCS-$(CONFIG_RTE_LIBRTE_PMD_TAP):.c=.o): tap_autoconf.h
-
-clean_tap: FORCE
-	$Q rm -f -- tap_autoconf.h tap_autoconf.h.new
-
-clean: clean_tap
diff --git a/drivers/net/thunderx/Makefile b/drivers/net/thunderx/Makefile
deleted file mode 100644
index 149638a499..0000000000
--- a/drivers/net/thunderx/Makefile
+++ /dev/null
@@ -1,41 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016 Cavium, Inc
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_thunderx_nicvf.a
-
-CFLAGS += $(WERROR_FLAGS)
-
-LDLIBS += -lm
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-
-EXPORT_MAP := rte_pmd_thunderx_version.map
-
-OBJS_BASE_DRIVER=$(sort $(patsubst %.c,%.o,$(notdir $(wildcard $(SRCDIR)/base/*.c))))
-$(foreach obj, $(OBJS_BASE_DRIVER), $(eval CFLAGS_$(obj)+=$(CFLAGS_BASE_DRIVER)))
-
-VPATH += $(SRCDIR)/base
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD) += nicvf_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD) += nicvf_hw.c
-SRCS-$(CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD) += nicvf_mbox.c
-SRCS-$(CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD) += nicvf_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD) += nicvf_bsvf.c
-SRCS-$(CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD) += nicvf_svf.c
-
-ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
-CFLAGS_nicvf_rxtx.o += -fno-prefetch-loop-arrays
-endif
-CFLAGS_nicvf_rxtx.o += -Ofast
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/vdev_netvsc/Makefile b/drivers/net/vdev_netvsc/Makefile
deleted file mode 100644
index 01d26fb798..0000000000
--- a/drivers/net/vdev_netvsc/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2017 6WIND S.A.
-# Copyright 2017 Mellanox Technologies, Ltd
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# Properties of the generated library.
-LIB = librte_pmd_vdev_netvsc.a
-EXPORT_MAP := rte_pmd_vdev_netvsc_version.map
-
-# Additional compilation flags.
-CFLAGS += -O3
-CFLAGS += -g
-CFLAGS += -Wall -Wextra
-CFLAGS += -D_XOPEN_SOURCE=600
-CFLAGS += -D_BSD_SOURCE
-CFLAGS += -D_DEFAULT_SOURCE
-CFLAGS += $(WERROR_FLAGS)
-
-# Dependencies.
-LDLIBS += -lrte_bus_vdev
-LDLIBS += -lrte_eal
-LDLIBS += -lrte_ethdev
-LDLIBS += -lrte_kvargs
-LDLIBS += -lrte_net
-
-# Source files.
-SRCS-$(CONFIG_RTE_LIBRTE_VDEV_NETVSC_PMD) += vdev_netvsc.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/vhost/Makefile b/drivers/net/vhost/Makefile
deleted file mode 100644
index 0461e29f2c..0000000000
--- a/drivers/net/vhost/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2016 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_vhost.a
-
-LDLIBS += -lpthread
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_vhost
-LDLIBS += -lrte_bus_vdev
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-EXPORT_MAP := rte_pmd_vhost_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_VHOST) += rte_eth_vhost.c
-
-#
-# Export include files
-#
-SYMLINK-y-include += rte_eth_vhost.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/virtio/Makefile b/drivers/net/virtio/Makefile
deleted file mode 100644
index 102b1deab8..0000000000
--- a/drivers/net/virtio/Makefile
+++ /dev/null
@@ -1,82 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_virtio.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-ifeq ($(CONFIG_RTE_VIRTIO_USER),y)
-LDLIBS += -lrte_bus_vdev
-endif
-
-EXPORT_MAP := rte_pmd_virtio_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtqueue.c
-SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_pci.c
-SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_rxtx_simple.c
-
-ifeq ($(CONFIG_RTE_ARCH_X86),y)
-SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_rxtx_simple_sse.c
-else ifeq ($(CONFIG_RTE_ARCH_PPC_64),y)
-SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_rxtx_simple_altivec.c
-else ifneq ($(filter y,$(CONFIG_RTE_ARCH_ARM) $(CONFIG_RTE_ARCH_ARM64)),)
-SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_rxtx_simple_neon.c
-endif
-
-ifneq ($(FORCE_DISABLE_AVX512), y)
-	CC_AVX512_SUPPORT=\
-	$(shell $(CC) -march=native -dM -E - </dev/null 2>&1 | \
-	sed '/./{H;$$!d} ; x ; /AVX512F/!d; /AVX512BW/!d; /AVX512VL/!d' | \
-	grep -q AVX512 && echo 1)
-endif
-
-ifeq ($(CC_AVX512_SUPPORT), 1)
-CFLAGS += -DCC_AVX512_SUPPORT
-SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_rxtx_packed_avx.c
-
-ifeq ($(RTE_TOOLCHAIN), gcc)
-ifeq ($(shell test $(GCC_VERSION) -ge 83 && echo 1), 1)
-CFLAGS += -DVIRTIO_GCC_UNROLL_PRAGMA
-endif
-endif
-
-ifeq ($(RTE_TOOLCHAIN), clang)
-ifeq ($(shell test $(CLANG_MAJOR_VERSION)$(CLANG_MINOR_VERSION) -ge 37 && echo 1), 1)
-CFLAGS += -DVIRTIO_CLANG_UNROLL_PRAGMA
-endif
-endif
-
-ifeq ($(RTE_TOOLCHAIN), icc)
-ifeq ($(shell test $(ICC_MAJOR_VERSION) -ge 16 && echo 1), 1)
-CFLAGS += -DVIRTIO_ICC_UNROLL_PRAGMA
-endif
-endif
-
-CFLAGS_virtio_rxtx_packed_avx.o += -mavx512f -mavx512bw -mavx512vl
-ifeq ($(shell test $(GCC_VERSION) -ge 100 && echo 1), 1)
-CFLAGS_virtio_rxtx_packed_avx.o += -Wno-zero-length-bounds
-endif
-endif
-
-ifeq ($(CONFIG_RTE_VIRTIO_USER),y)
-SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_user/vhost_user.c
-SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_user/vhost_kernel.c
-SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_user/vhost_kernel_tap.c
-SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_user/virtio_user_dev.c
-SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_user_ethdev.c
-endif
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/vmxnet3/Makefile b/drivers/net/vmxnet3/Makefile
deleted file mode 100644
index 4390fedee0..0000000000
--- a/drivers/net/vmxnet3/Makefile
+++ /dev/null
@@ -1,53 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2015 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_vmxnet3_uio.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-#
-# CFLAGS for icc
-#
-CFLAGS_BASE_DRIVER  = -diag-disable 174 -diag-disable 593 -diag-disable 869
-CFLAGS_BASE_DRIVER += -diag-disable 981 -diag-disable 2259
-
-else ifeq ($(CONFIG_RTE_TOOLCHAIN_CLANG),y)
-#
-# CFLAGS for clang
-#
-CFLAGS_BASE_DRIVER = -Wno-unused-parameter -Wno-unused-value
-CFLAGS_BASE_DRIVER += -Wno-strict-aliasing -Wno-format-extra-args
-
-else
-#
-# CFLAGS for gcc
-#
-ifeq ($(shell test $(GCC_VERSION) -ge 44 && echo 1), 1)
-CFLAGS     += -Wno-deprecated
-endif
-CFLAGS_BASE_DRIVER = -Wno-unused-parameter -Wno-unused-value
-CFLAGS_BASE_DRIVER += -Wno-strict-aliasing -Wno-format-extra-args
-
-endif
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-
-VPATH += $(SRCDIR)/base
-
-EXPORT_MAP := rte_pmd_vmxnet3_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_VMXNET3_PMD) += vmxnet3_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_VMXNET3_PMD) += vmxnet3_ethdev.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/raw/Makefile b/drivers/raw/Makefile
deleted file mode 100644
index 80b043eb14..0000000000
--- a/drivers/raw/Makefile
+++ /dev/null
@@ -1,18 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2017 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# DIRS-$(<configuration>) += <directory>
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_SKELETON_RAWDEV) += skeleton
-ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_CMDIF_RAWDEV) += dpaa2_cmdif
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_QDMA_RAWDEV) += dpaa2_qdma
-endif
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_IFPGA_RAWDEV) += ifpga
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_IOAT_RAWDEV) += ioat
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_NTB_RAWDEV) += ntb
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_DMA_RAWDEV) += octeontx2_dma
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EP_RAWDEV) += octeontx2_ep
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/drivers/raw/dpaa2_cmdif/Makefile b/drivers/raw/dpaa2_cmdif/Makefile
deleted file mode 100644
index 227ec4896e..0000000000
--- a/drivers/raw/dpaa2_cmdif/Makefile
+++ /dev/null
@@ -1,35 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2018 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_rawdev_dpaa2_cmdif.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/qbman/include
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-
-LDLIBS += -lrte_bus_fslmc
-LDLIBS += -lrte_bus_vdev
-LDLIBS += -lrte_eal
-LDLIBS += -lrte_kvargs
-LDLIBS += -lrte_mempool_dpaa2
-LDLIBS += -lrte_rawdev
-LDLIBS += -lrte_common_dpaax
-
-EXPORT_MAP := rte_rawdev_dpaa2_cmdif_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_CMDIF_RAWDEV) += dpaa2_cmdif.c
-
-SYMLINK-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_CMDIF_RAWDEV)-include += rte_pmd_dpaa2_cmdif.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/raw/dpaa2_qdma/Makefile b/drivers/raw/dpaa2_qdma/Makefile
deleted file mode 100644
index 7b2abdddb4..0000000000
--- a/drivers/raw/dpaa2_qdma/Makefile
+++ /dev/null
@@ -1,36 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2018 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_rawdev_dpaa2_qdma.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/qbman/include
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-
-LDLIBS += -lrte_bus_fslmc
-LDLIBS += -lrte_eal
-LDLIBS += -lrte_mempool
-LDLIBS += -lrte_mempool_dpaa2
-LDLIBS += -lrte_rawdev
-LDLIBS += -lrte_kvargs
-LDLIBS += -lrte_ring
-LDLIBS += -lrte_common_dpaax
-
-EXPORT_MAP := rte_rawdev_dpaa2_qdma_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_QDMA_RAWDEV) += dpaa2_qdma.c
-
-SYMLINK-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_QDMA_RAWDEV)-include += rte_pmd_dpaa2_qdma.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/raw/ifpga/Makefile b/drivers/raw/ifpga/Makefile
deleted file mode 100644
index 371e127f19..0000000000
--- a/drivers/raw/ifpga/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_rawdev_ifpga.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/bus/ifpga
-CFLAGS += -I$(RTE_SDK)/drivers/raw/ifpga_rawdev
-CFLAGS += -I$(RTE_SDK)/drivers/net/i40e
-CFLAGS += -I$(RTE_SDK)/drivers/net/ipn3ke
-LDLIBS += -lrte_eal
-LDLIBS += -lrte_rawdev
-LDLIBS += -lrte_bus_vdev
-LDLIBS += -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-LDLIBS += -lrte_bus_ifpga
-LDLIBS += -lpthread
-LDLIBS += -lfdt
-LDLIBS += -lrte_pmd_i40e
-LDLIBS += -lrte_pmd_ipn3ke
-
-EXPORT_MAP := rte_rawdev_ifpga_version.map
-
-VPATH += $(SRCDIR)/base
-
-include $(RTE_SDK)/drivers/raw/ifpga/base/Makefile
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_IFPGA_RAWDEV) += ifpga_rawdev.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/raw/ifpga/base/Makefile b/drivers/raw/ifpga/base/Makefile
deleted file mode 100644
index c5bbcbd5f8..0000000000
--- a/drivers/raw/ifpga/base/Makefile
+++ /dev/null
@@ -1,32 +0,0 @@
-#SPDX-License-Identifier: BSD-3-Clause
-#Copyright(c) 2010-2018 Intel Corporation
-
-ifneq ($(CONFIG_RTE_LIBRTE_EAL),)
-OSDEP := osdep_rte
-else
-OSDEP := osdep_raw
-endif
-
-CFLAGS += -I$(RTE_SDK)/drivers/raw/ifpga_rawdev/base/$(OSDEP)
-
-SRCS-y += ifpga_api.c
-SRCS-y += ifpga_enumerate.c
-SRCS-y += ifpga_feature_dev.c
-SRCS-y += ifpga_fme.c
-SRCS-y += ifpga_fme_iperf.c
-SRCS-y += ifpga_fme_dperf.c
-SRCS-y += ifpga_fme_error.c
-SRCS-y += ifpga_port.c
-SRCS-y += ifpga_port_error.c
-SRCS-y += opae_hw_api.c
-SRCS-y += opae_ifpga_hw_api.c
-SRCS-y += opae_debug.c
-SRCS-y += ifpga_fme_pr.c
-SRCS-y += opae_spi.c
-SRCS-y += opae_spi_transaction.c
-SRCS-y += opae_intel_max10.c
-SRCS-y += opae_i2c.c
-SRCS-y += opae_at24_eeprom.c
-SRCS-y += opae_eth_group.c
-
-SRCS-y += $(wildcard $(SRCDIR)/base/$(OSDEP)/*.c)
diff --git a/drivers/raw/ioat/Makefile b/drivers/raw/ioat/Makefile
deleted file mode 100644
index 1609fe5e6c..0000000000
--- a/drivers/raw/ioat/Makefile
+++ /dev/null
@@ -1,28 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_rawdev_ioat.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-LDLIBS += -lrte_eal -lrte_rawdev
-LDLIBS += -lrte_pci -lrte_bus_pci
-LDLIBS += -lrte_mbuf -lrte_mempool
-
-# versioning export map
-EXPORT_MAP := rte_rawdev_ioat_version.map
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_IOAT_RAWDEV) += ioat_rawdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_IOAT_RAWDEV) += ioat_rawdev_test.c
-
-# export include files
-SYMLINK-y-include += rte_ioat_rawdev.h
-SYMLINK-y-include += rte_ioat_spec.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/raw/ntb/Makefile b/drivers/raw/ntb/Makefile
deleted file mode 100644
index 8f0bff9b02..0000000000
--- a/drivers/raw/ntb/Makefile
+++ /dev/null
@@ -1,28 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_rawdev_ntb.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool
-LDLIBS += -lrte_pci -lrte_bus_pci
-LDLIBS += -lrte_rawdev
-
-EXPORT_MAP := rte_rawdev_ntb_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_NTB_RAWDEV) += ntb.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_NTB_RAWDEV) += ntb_hw_intel.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_PMD_NTB_RAWDEV)-include := rte_pmd_ntb.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/raw/octeontx2_dma/Makefile b/drivers/raw/octeontx2_dma/Makefile
deleted file mode 100644
index c64ca3497a..0000000000
--- a/drivers/raw/octeontx2_dma/Makefile
+++ /dev/null
@@ -1,34 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(C) 2019 Marvell International Ltd.
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_rawdev_octeontx2_dma.a
-
-CFLAGS += -O3 $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx2/
-CFLAGS += -I$(RTE_SDK)/drivers/mempool/octeontx2/
-CFLAGS += -I$(RTE_SDK)/drivers/raw/octeontx2_dma/
-LDLIBS += -lrte_eal -lrte_rawdev -lrte_bus_pci -lrte_mbuf
-LDLIBS += -lrte_common_octeontx2 -lrte_mempool
-
-ifneq ($(CONFIG_RTE_ARCH_64),y)
-CFLAGS += -Wno-int-to-pointer-cast
-CFLAGS += -Wno-pointer-to-int-cast
-ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS += -diag-disable 2259
-endif
-endif
-
-EXPORT_MAP := rte_rawdev_octeontx2_dma_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_DMA_RAWDEV) += otx2_dpi_rawdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_DMA_RAWDEV) += otx2_dpi_msg.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_DMA_RAWDEV) += otx2_dpi_test.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/raw/octeontx2_ep/Makefile b/drivers/raw/octeontx2_ep/Makefile
deleted file mode 100644
index 1a54bf56f0..0000000000
--- a/drivers/raw/octeontx2_ep/Makefile
+++ /dev/null
@@ -1,42 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(C) 2019 Marvell International Ltd.
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# Library name
-LIB = librte_rawdev_octeontx2_ep.a
-
-# Build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx2/
-CFLAGS += -I$(RTE_SDK)/drivers/raw/octeontx2_ep/
-
-LDLIBS += -lrte_eal
-LDLIBS += -lrte_rawdev
-LDLIBS += -lrte_bus_pci
-LDLIBS += -lrte_mempool
-LDLIBS += -lrte_common_octeontx2
-
-ifneq ($(CONFIG_RTE_ARCH_64),y)
-CFLAGS += -Wno-int-to-pointer-cast
-CFLAGS += -Wno-pointer-to-int-cast
-ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS += -diag-disable 2259
-endif
-endif
-
-EXPORT_MAP := rte_rawdev_octeontx2_ep_version.map
-
-#
-# All source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EP_RAWDEV) += otx2_ep_rawdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EP_RAWDEV) += otx2_ep_enqdeq.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EP_RAWDEV) += otx2_ep_test.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EP_RAWDEV) += otx2_ep_vf.c
-
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/raw/skeleton/Makefile b/drivers/raw/skeleton/Makefile
deleted file mode 100644
index 2ac66fbd45..0000000000
--- a/drivers/raw/skeleton/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2017 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_rawdev_skeleton.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal
-LDLIBS += -lrte_rawdev
-LDLIBS += -lrte_bus_vdev
-LDLIBS += -lrte_kvargs
-
-EXPORT_MAP := rte_rawdev_skeleton_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SKELETON_RAWDEV) += skeleton_rawdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SKELETON_RAWDEV) += skeleton_rawdev_test.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/regex/Makefile b/drivers/regex/Makefile
deleted file mode 100644
index 906b20546f..0000000000
--- a/drivers/regex/Makefile
+++ /dev/null
@@ -1,8 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2020 Mellanox Technologies, Ltd
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD) += mlx5
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/drivers/regex/mlx5/Makefile b/drivers/regex/mlx5/Makefile
deleted file mode 100644
index 11e3325feb..0000000000
--- a/drivers/regex/mlx5/Makefile
+++ /dev/null
@@ -1,41 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2020 Mellanox Technologies, Ltd
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# Library name.
-LIB = librte_pmd_mlx5_regex.a
-
-# Sources.
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD) += mlx5_regex.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD) += mlx5_rxp.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD) += mlx5_regex_devx.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD) += mlx5_regex_control.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD) += mlx5_regex_fastpath.c
-
-# Basic CFLAGS.
-CFLAGS += -O3
-CFLAGS += -std=c11 -Wall -Wextra
-CFLAGS += -g
-CFLAGS += -I$(RTE_SDK)/drivers/common/mlx5
-CFLAGS += -I$(BUILDDIR)/drivers/common/mlx5
-CFLAGS += -I$(RTE_SDK)/drivers/common/mlx5/linux
-CFLAGS += -I$(BUILDDIR)/drivers/common/mlx5/linux
-CFLAGS += -D_BSD_SOURCE
-CFLAGS += -D_DEFAULT_SOURCE
-CFLAGS += -D_XOPEN_SOURCE=600
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -Wno-strict-prototypes
-LDLIBS += -lrte_common_mlx5
-LDLIBS += -lm
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_regexdev
-LDLIBS += -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-LDLIBS += -lrte_pci
-
-# A few warnings cannot be avoided in external headers.
-CFLAGS += -Wno-error=cast-qual
-
-EXPORT_MAP := rte_pmd_mlx5_regex_version.map
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/vdpa/Makefile b/drivers/vdpa/Makefile
deleted file mode 100644
index 6e8835948e..0000000000
--- a/drivers/vdpa/Makefile
+++ /dev/null
@@ -1,12 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2019 Mellanox Technologies, Ltd
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-ifeq ($(CONFIG_RTE_EAL_VFIO),y)
-DIRS-$(CONFIG_RTE_LIBRTE_IFC_PMD) += ifc
-endif
-
-DIRS-$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD) += mlx5
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/drivers/vdpa/ifc/Makefile b/drivers/vdpa/ifc/Makefile
deleted file mode 100644
index b468bfdbdd..0000000000
--- a/drivers/vdpa/ifc/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_ifc.a
-
-LDLIBS += -lpthread
-LDLIBS += -lrte_eal -lrte_pci -lrte_vhost -lrte_bus_pci
-LDLIBS += -lrte_kvargs
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-#
-# Add extra flags for base driver source files to disable warnings in them
-#
-BASE_DRIVER_OBJS=$(sort $(patsubst %.c,%.o,$(notdir $(wildcard $(SRCDIR)/base/*.c))))
-
-VPATH += $(SRCDIR)/base
-
-EXPORT_MAP := rte_pmd_ifc_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_IFC_PMD) += ifcvf_vdpa.c
-SRCS-$(CONFIG_RTE_LIBRTE_IFC_PMD) += ifcvf.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/vdpa/mlx5/Makefile b/drivers/vdpa/mlx5/Makefile
deleted file mode 100644
index d46699fbc9..0000000000
--- a/drivers/vdpa/mlx5/Makefile
+++ /dev/null
@@ -1,58 +0,0 @@
-#   SPDX-License-Identifier: BSD-3-Clause
-#   Copyright 2019 Mellanox Technologies, Ltd
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# Library name.
-LIB = librte_pmd_mlx5_vdpa.a
-
-# Sources.
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD) += mlx5_vdpa.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD) += mlx5_vdpa_mem.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD) += mlx5_vdpa_event.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD) += mlx5_vdpa_virtq.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD) += mlx5_vdpa_steer.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD) += mlx5_vdpa_lm.c
-
-
-# Basic CFLAGS.
-CFLAGS += -O3
-CFLAGS += -std=c11 -Wall -Wextra
-CFLAGS += -g
-CFLAGS += -I$(RTE_SDK)/drivers/common/mlx5
-CFLAGS += -I$(RTE_SDK)/drivers/common/mlx5/linux
-CFLAGS += -I$(RTE_SDK)/drivers/net/mlx5_vdpa
-CFLAGS += -I$(RTE_SDK)/lib/librte_sched
-CFLAGS += -I$(BUILDDIR)/drivers/common/mlx5
-CFLAGS += -D_BSD_SOURCE
-CFLAGS += -D_DEFAULT_SOURCE
-CFLAGS += -D_XOPEN_SOURCE=600
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -Wno-strict-prototypes
-LDLIBS += -lrte_common_mlx5
-LDLIBS += -lrte_eal -lrte_vhost -lrte_kvargs -lrte_pci -lrte_sched
-LDLIBS += -pthread
-
-# A few warnings cannot be avoided in external headers.
-CFLAGS += -Wno-error=cast-qual
-
-EXPORT_MAP := rte_pmd_mlx5_vdpa_version.map
-
-# DEBUG which is usually provided on the command-line may enable
-# CONFIG_RTE_LIBRTE_MLX5_DEBUG.
-ifeq ($(DEBUG),1)
-CONFIG_RTE_LIBRTE_MLX5_DEBUG := y
-endif
-
-# User-defined CFLAGS.
-ifeq ($(CONFIG_RTE_LIBRTE_MLX5_DEBUG),y)
-CFLAGS += -pedantic
-ifneq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS += -DPEDANTIC
-endif
-AUTO_CONFIG_CFLAGS += -Wno-pedantic
-else
-CFLAGS += -UPEDANTIC
-endif
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/examples/Makefile b/examples/Makefile
deleted file mode 100644
index b7e99a2f78..0000000000
--- a/examples/Makefile
+++ /dev/null
@@ -1,90 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016 6WIND S.A.
-
-ifeq ($(RTE_SDK),)
-$(error "Please define RTE_SDK environment variable")
-endif
-
-# Default target, detect a build directory, by looking for a path with a .config
-RTE_TARGET ?= $(notdir $(abspath $(dir $(firstword $(wildcard $(RTE_SDK)/*/.config)))))
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-$(CONFIG_RTE_LIBRTE_BBDEV) += bbdev_app
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += bond
-DIRS-y += cmdline
-ifeq ($(CONFIG_RTE_LIBRTE_POWER),y)
-DIRS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += distributor
-endif
-DIRS-y += ethtool
-DIRS-$(CONFIG_RTE_LIBRTE_EFD) += server_node_efd
-DIRS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += fips_validation
-DIRS-$(CONFIG_RTE_LIBRTE_FLOW_CLASSIFY) += flow_classify
-DIRS-y += flow_filtering
-DIRS-y += helloworld
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_IOAT_RAWDEV),y)
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_IOAT_RAWDEV) += ioat
-endif
-DIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) += ip_pipeline
-ifeq ($(CONFIG_RTE_LIBRTE_LPM),y)
-DIRS-$(CONFIG_RTE_IP_FRAG) += ip_reassembly
-DIRS-$(CONFIG_RTE_IP_FRAG) += ip_fragmentation
-endif
-ifeq ($(CONFIG_RTE_LIBRTE_ACL)$(CONFIG_RTE_LIBRTE_HASH)$(CONFIG_RTE_LIBRTE_LPM)$(CONFIG_RTE_LIBRTE_SECURITY),yyyy)
-DIRS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += ipsec-secgw
-endif
-DIRS-$(CONFIG_RTE_LIBRTE_HASH) += ipv4_multicast
-DIRS-$(CONFIG_RTE_LIBRTE_KNI) += kni
-DIRS-y += l2fwd
-DIRS-y += l2fwd-event
-ifneq ($(PQOS_INSTALL_PATH),)
-DIRS-y += l2fwd-cat
-endif
-DIRS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += l2fwd-crypto
-DIRS-$(CONFIG_RTE_LIBRTE_JOBSTATS) += l2fwd-jobstats
-DIRS-y += l2fwd-keepalive
-DIRS-y += l2fwd-keepalive/ka-agent
-ifeq ($(CONFIG_RTE_LIBRTE_HASH),y)
-DIRS-$(CONFIG_RTE_LIBRTE_LPM) += l3fwd
-endif
-DIRS-$(CONFIG_RTE_LIBRTE_ACL) += l3fwd-acl
-ifeq ($(CONFIG_RTE_LIBRTE_LPM)$(CONFIG_RTE_LIBRTE_HASH),yy)
-DIRS-$(CONFIG_RTE_LIBRTE_POWER) += l3fwd-power
-endif
-ifeq ($(CONFIG_RTE_LIBRTE_GRAPH),y)
-DIRS-y += l3fwd-graph
-endif
-DIRS-y += link_status_interrupt
-DIRS-y += multi_process
-DIRS-y += ntb
-DIRS-$(CONFIG_RTE_LIBRTE_REORDER) += packet_ordering
-ifeq ($(CONFIG_RTE_ARCH_X86_64),y)
-DIRS-y += performance-thread
-endif
-DIRS-$(CONFIG_RTE_LIBRTE_IEEE1588) += ptpclient
-DIRS-$(CONFIG_RTE_LIBRTE_METER) += qos_meter
-DIRS-$(CONFIG_RTE_LIBRTE_SCHED) += qos_sched
-DIRS-$(CONFIG_RTE_ETHDEV_RXTX_CALLBACKS) += rxtx_callbacks
-DIRS-y += service_cores
-DIRS-y += skeleton
-ifeq ($(CONFIG_RTE_LIBRTE_HASH),y)
-DIRS-$(CONFIG_RTE_LIBRTE_VHOST) += tep_termination
-endif
-DIRS-$(CONFIG_RTE_LIBRTE_TIMER) += timer
-DIRS-$(CONFIG_RTE_LIBRTE_VHOST) += vhost vdpa vhost_blk
-ifeq ($(CONFIG_RTE_LIBRTE_CRYPTODEV),y)
-DIRS-$(CONFIG_RTE_LIBRTE_VHOST) += vhost_crypto
-endif
-DIRS-y += vmdq
-DIRS-y += vmdq_dcb
-ifeq ($(CONFIG_RTE_LIBRTE_POWER), y)
-ifeq ($(shell pkg-config --atleast-version=0.9.3 libvirt; echo $$?), 0)
-DIRS-y += vm_power_manager
-else
-$(info vm_power_manager requires libvirt >= 0.9.3)
-endif
-endif
-
-DIRS-y += eventdev_pipeline
-
-include $(RTE_SDK)/mk/rte.extsubdir.mk
diff --git a/kernel/Makefile b/kernel/Makefile
deleted file mode 100644
index 5d51fd94bb..0000000000
--- a/kernel/Makefile
+++ /dev/null
@@ -1,9 +0,0 @@
-# SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0)
-# Copyright 2017 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-$(CONFIG_RTE_EXEC_ENV_LINUX) += linux
-DIRS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += freebsd
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/kernel/freebsd/Makefile b/kernel/freebsd/Makefile
deleted file mode 100644
index 522d3f68ff..0000000000
--- a/kernel/freebsd/Makefile
+++ /dev/null
@@ -1,9 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2017 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += contigmem
-DIRS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += nic_uio
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/kernel/freebsd/contigmem/Makefile b/kernel/freebsd/contigmem/Makefile
deleted file mode 100644
index 428a7edee5..0000000000
--- a/kernel/freebsd/contigmem/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# module name and path
-#
-MODULE = contigmem
-
-#
-# CFLAGS
-#
-MODULE_CFLAGS += -I$(SRCDIR)
-MODULE_CFLAGS += -I$(RTE_OUTPUT)/include
-MODULE_CFLAGS += -Winline -Wall -Werror
-MODULE_CFLAGS += -include $(RTE_OUTPUT)/include/rte_config.h
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-y := contigmem.c
-
-include $(RTE_SDK)/mk/rte.bsdmodule.mk
diff --git a/kernel/freebsd/nic_uio/Makefile b/kernel/freebsd/nic_uio/Makefile
deleted file mode 100644
index 376ef3a3ab..0000000000
--- a/kernel/freebsd/nic_uio/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# module name and path
-#
-MODULE = nic_uio
-
-#
-# CFLAGS
-#
-MODULE_CFLAGS += -I$(SRCDIR)
-MODULE_CFLAGS += -I$(RTE_OUTPUT)/include
-MODULE_CFLAGS += -Winline -Wall -Werror
-MODULE_CFLAGS += -include $(RTE_OUTPUT)/include/rte_config.h
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-y := nic_uio.c
-
-include $(RTE_SDK)/mk/rte.bsdmodule.mk
diff --git a/kernel/linux/Makefile b/kernel/linux/Makefile
deleted file mode 100644
index c2c45a3e67..0000000000
--- a/kernel/linux/Makefile
+++ /dev/null
@@ -1,9 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-# Copyright 2017 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-$(CONFIG_RTE_EAL_IGB_UIO) += igb_uio
-DIRS-$(CONFIG_RTE_KNI_KMOD) += kni
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/kernel/linux/igb_uio/Makefile b/kernel/linux/igb_uio/Makefile
deleted file mode 100644
index f83bcc7c69..0000000000
--- a/kernel/linux/igb_uio/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# module name and path
-#
-MODULE = igb_uio
-MODULE_PATH = drivers/net/igb_uio
-
-#
-# CFLAGS
-#
-MODULE_CFLAGS += -I$(SRCDIR) --param max-inline-insns-single=100
-MODULE_CFLAGS += -I$(RTE_OUTPUT)/include
-MODULE_CFLAGS += -Winline -Wall -Werror
-MODULE_CFLAGS += -include $(RTE_OUTPUT)/include/rte_config.h
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-y := igb_uio.c
-
-include $(RTE_SDK)/mk/rte.module.mk
diff --git a/kernel/linux/kni/Makefile b/kernel/linux/kni/Makefile
deleted file mode 100644
index 595bac2612..0000000000
--- a/kernel/linux/kni/Makefile
+++ /dev/null
@@ -1,34 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# module name and path
-#
-MODULE = rte_kni
-
-#
-# CFLAGS
-#
-MODULE_CFLAGS += -I$(SRCDIR) --param max-inline-insns-single=50
-MODULE_CFLAGS += -I$(RTE_OUTPUT)/include
-MODULE_CFLAGS += -include $(RTE_OUTPUT)/include/rte_config.h
-MODULE_CFLAGS += -Wall -Werror
-
--include /etc/lsb-release
-
-ifeq ($(DISTRIB_ID),Ubuntu)
-MODULE_CFLAGS += -DUBUNTU_RELEASE_CODE=$(subst .,,$(DISTRIB_RELEASE))
-UBUNTU_KERNEL_CODE := $(shell echo `grep UTS_RELEASE $(RTE_KERNELDIR)/include/generated/utsrelease.h \
-	 | cut -d '"' -f2 | cut -d- -f1,2 | tr .- ,`,1)
-MODULE_CFLAGS += -D"UBUNTU_KERNEL_CODE=UBUNTU_KERNEL_VERSION($(UBUNTU_KERNEL_CODE))"
-endif
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-y := kni_misc.c
-SRCS-y += kni_net.c
-
-include $(RTE_SDK)/mk/rte.module.mk
diff --git a/lib/Makefile b/lib/Makefile
deleted file mode 100644
index 8f5b68a2d4..0000000000
--- a/lib/Makefile
+++ /dev/null
@@ -1,138 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-$(CONFIG_RTE_LIBRTE_KVARGS) += librte_kvargs
-DIRS-y += librte_telemetry
-DIRS-$(CONFIG_RTE_LIBRTE_EAL) += librte_eal
-DEPDIRS-librte_eal := librte_kvargs librte_telemetry
-DIRS-$(CONFIG_RTE_LIBRTE_PCI) += librte_pci
-DEPDIRS-librte_pci := librte_eal
-DIRS-$(CONFIG_RTE_LIBRTE_RING) += librte_ring
-DEPDIRS-librte_ring := librte_eal
-DIRS-$(CONFIG_RTE_LIBRTE_STACK) += librte_stack
-DEPDIRS-librte_stack := librte_eal
-DIRS-$(CONFIG_RTE_LIBRTE_MEMPOOL) += librte_mempool
-DEPDIRS-librte_mempool := librte_eal librte_ring
-DIRS-$(CONFIG_RTE_LIBRTE_MBUF) += librte_mbuf
-DEPDIRS-librte_mbuf := librte_eal librte_mempool
-DIRS-$(CONFIG_RTE_LIBRTE_TIMER) += librte_timer
-DEPDIRS-librte_timer := librte_eal
-DIRS-$(CONFIG_RTE_LIBRTE_CFGFILE) += librte_cfgfile
-DEPDIRS-librte_cfgfile := librte_eal
-DIRS-$(CONFIG_RTE_LIBRTE_CMDLINE) += librte_cmdline
-DEPDIRS-librte_cmdline := librte_eal librte_net
-DIRS-$(CONFIG_RTE_LIBRTE_ETHER) += librte_ethdev
-DEPDIRS-librte_ethdev := librte_net librte_eal librte_mempool librte_ring
-DEPDIRS-librte_ethdev += librte_mbuf
-DEPDIRS-librte_ethdev += librte_kvargs
-DEPDIRS-librte_ethdev += librte_meter
-DIRS-$(CONFIG_RTE_LIBRTE_BBDEV) += librte_bbdev
-DEPDIRS-librte_bbdev := librte_eal librte_mempool librte_mbuf
-DIRS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += librte_cryptodev
-DEPDIRS-librte_cryptodev := librte_eal librte_mempool librte_ring librte_mbuf
-DEPDIRS-librte_cryptodev += librte_kvargs
-DIRS-$(CONFIG_RTE_LIBRTE_SECURITY) += librte_security
-DEPDIRS-librte_security := librte_eal librte_mempool librte_ring librte_mbuf
-DEPDIRS-librte_security += librte_ethdev
-DEPDIRS-librte_security += librte_cryptodev
-DIRS-$(CONFIG_RTE_LIBRTE_COMPRESSDEV) += librte_compressdev
-DEPDIRS-librte_compressdev := librte_eal librte_mempool librte_ring librte_mbuf
-DEPDIRS-librte_compressdev += librte_kvargs
-DIRS-$(CONFIG_RTE_LIBRTE_REGEXDEV) += librte_regexdev
-DEPDIRS-librte_regexdev := librte_eal librte_mbuf
-DIRS-$(CONFIG_RTE_LIBRTE_EVENTDEV) += librte_eventdev
-DEPDIRS-librte_eventdev := librte_eal librte_ring librte_ethdev librte_hash \
-                           librte_mempool librte_timer librte_cryptodev
-DIRS-$(CONFIG_RTE_LIBRTE_RAWDEV) += librte_rawdev
-DEPDIRS-librte_rawdev := librte_eal librte_ethdev
-DIRS-$(CONFIG_RTE_LIBRTE_VHOST) += librte_vhost
-DEPDIRS-librte_vhost := librte_eal librte_mempool librte_mbuf librte_ethdev \
-			librte_net librte_hash librte_cryptodev
-DIRS-$(CONFIG_RTE_LIBRTE_HASH) += librte_hash
-DEPDIRS-librte_hash := librte_eal librte_ring
-DIRS-$(CONFIG_RTE_LIBRTE_EFD) += librte_efd
-DEPDIRS-librte_efd := librte_eal librte_ring librte_hash
-DIRS-$(CONFIG_RTE_LIBRTE_RIB) += librte_rib
-DEPDIRS-librte_rib := librte_eal librte_mempool
-DIRS-$(CONFIG_RTE_LIBRTE_FIB) += librte_fib
-DEPDIRS-librte_fib := librte_eal librte_rib
-DIRS-$(CONFIG_RTE_LIBRTE_LPM) += librte_lpm
-DEPDIRS-librte_lpm := librte_eal librte_hash librte_rcu
-DIRS-$(CONFIG_RTE_LIBRTE_ACL) += librte_acl
-DEPDIRS-librte_acl := librte_eal
-DIRS-$(CONFIG_RTE_LIBRTE_MEMBER) += librte_member
-DEPDIRS-librte_member := librte_eal librte_hash
-DIRS-$(CONFIG_RTE_LIBRTE_NET) += librte_net
-DEPDIRS-librte_net := librte_mbuf librte_eal
-DIRS-$(CONFIG_RTE_LIBRTE_IP_FRAG) += librte_ip_frag
-DEPDIRS-librte_ip_frag := librte_eal librte_mempool librte_mbuf librte_ethdev
-DEPDIRS-librte_ip_frag += librte_hash
-DIRS-$(CONFIG_RTE_LIBRTE_GRO) += librte_gro
-DEPDIRS-librte_gro := librte_eal librte_mbuf librte_ethdev librte_net
-DIRS-$(CONFIG_RTE_LIBRTE_JOBSTATS) += librte_jobstats
-DEPDIRS-librte_jobstats := librte_eal
-DIRS-$(CONFIG_RTE_LIBRTE_METRICS) += librte_metrics
-DEPDIRS-librte_metrics := librte_eal librte_ethdev
-ifeq ($(CONFIG_RTE_LIBRTE_TELEMETRY),y)
-DEPDIRS-librte_metrics += librte_telemetry
-endif
-DIRS-$(CONFIG_RTE_LIBRTE_BITRATE) += librte_bitratestats
-DEPDIRS-librte_bitratestats := librte_eal librte_metrics librte_ethdev
-DIRS-$(CONFIG_RTE_LIBRTE_LATENCY_STATS) += librte_latencystats
-DEPDIRS-librte_latencystats := librte_eal librte_metrics librte_ethdev librte_mbuf
-DIRS-$(CONFIG_RTE_LIBRTE_POWER) += librte_power
-DEPDIRS-librte_power := librte_eal librte_timer
-DIRS-$(CONFIG_RTE_LIBRTE_METER) += librte_meter
-DEPDIRS-librte_meter := librte_eal
-DIRS-$(CONFIG_RTE_LIBRTE_FLOW_CLASSIFY) += librte_flow_classify
-DEPDIRS-librte_flow_classify :=  librte_net librte_table librte_acl
-DIRS-$(CONFIG_RTE_LIBRTE_SCHED) += librte_sched
-DEPDIRS-librte_sched := librte_eal librte_mempool librte_mbuf librte_net
-DEPDIRS-librte_sched += librte_timer
-DIRS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += librte_distributor
-DEPDIRS-librte_distributor := librte_eal librte_mbuf librte_ethdev
-DIRS-$(CONFIG_RTE_LIBRTE_PORT) += librte_port
-DEPDIRS-librte_port := librte_eal librte_mempool librte_mbuf librte_ethdev
-DEPDIRS-librte_port += librte_ip_frag librte_sched librte_eventdev
-ifeq ($(CONFIG_RTE_LIBRTE_KNI),y)
-DEPDIRS-librte_port += librte_kni
-endif
-DIRS-$(CONFIG_RTE_LIBRTE_TABLE) += librte_table
-DEPDIRS-librte_table := librte_eal librte_mempool librte_mbuf
-DEPDIRS-librte_table += librte_port librte_lpm librte_hash
-ifeq ($(CONFIG_RTE_LIBRTE_ACL),y)
-DEPDIRS-librte_table += librte_acl
-endif
-DIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) += librte_pipeline
-DEPDIRS-librte_pipeline := librte_eal librte_mempool librte_mbuf
-DEPDIRS-librte_pipeline += librte_table librte_port
-DIRS-$(CONFIG_RTE_LIBRTE_REORDER) += librte_reorder
-DEPDIRS-librte_reorder := librte_eal librte_mempool librte_mbuf
-DIRS-$(CONFIG_RTE_LIBRTE_PDUMP) += librte_pdump
-DEPDIRS-librte_pdump := librte_eal librte_mempool librte_mbuf librte_ethdev
-DIRS-$(CONFIG_RTE_LIBRTE_GSO) += librte_gso
-DEPDIRS-librte_gso := librte_eal librte_mbuf librte_ethdev librte_net
-DEPDIRS-librte_gso += librte_mempool
-DIRS-$(CONFIG_RTE_LIBRTE_BPF) += librte_bpf
-DEPDIRS-librte_bpf := librte_eal librte_mempool librte_mbuf librte_ethdev
-DIRS-$(CONFIG_RTE_LIBRTE_IPSEC) += librte_ipsec
-DEPDIRS-librte_ipsec := librte_eal librte_mbuf librte_cryptodev librte_security \
-			librte_net librte_hash
-DIRS-$(CONFIG_RTE_LIBRTE_RCU) += librte_rcu
-DEPDIRS-librte_rcu := librte_eal librte_ring
-
-DIRS-$(CONFIG_RTE_LIBRTE_GRAPH) += librte_graph
-DEPDIRS-librte_graph := librte_eal
-
-DIRS-$(CONFIG_RTE_LIBRTE_NODE) += librte_node
-DEPDIRS-librte_node := librte_graph librte_lpm librte_ethdev librte_mbuf
-
-ifeq ($(CONFIG_RTE_EXEC_ENV_LINUX),y)
-DIRS-$(CONFIG_RTE_LIBRTE_KNI) += librte_kni
-endif
-DEPDIRS-librte_kni := librte_eal librte_mempool librte_mbuf librte_ethdev
-DEPDIRS-librte_kni += librte_pci
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/lib/librte_acl/Makefile b/lib/librte_acl/Makefile
deleted file mode 100644
index f4332b0448..0000000000
--- a/lib/librte_acl/Makefile
+++ /dev/null
@@ -1,65 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_acl.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-LDLIBS += -lrte_eal
-
-EXPORT_MAP := rte_acl_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_ACL) += tb_mem.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_ACL) += rte_acl.c
-SRCS-$(CONFIG_RTE_LIBRTE_ACL) += acl_bld.c
-SRCS-$(CONFIG_RTE_LIBRTE_ACL) += acl_gen.c
-SRCS-$(CONFIG_RTE_LIBRTE_ACL) += acl_run_scalar.c
-
-ifneq ($(filter y,$(CONFIG_RTE_ARCH_ARM) $(CONFIG_RTE_ARCH_ARM64)),)
-SRCS-$(CONFIG_RTE_LIBRTE_ACL) += acl_run_neon.c
-CFLAGS_acl_run_neon.o += -flax-vector-conversions
-ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
-CFLAGS_acl_run_neon.o += -Wno-maybe-uninitialized
-endif
-else ifeq ($(CONFIG_RTE_ARCH_PPC_64),y)
-SRCS-$(CONFIG_RTE_LIBRTE_ACL) += acl_run_altivec.c
-else
-SRCS-$(CONFIG_RTE_LIBRTE_ACL) += acl_run_sse.c
-endif
-
-#
-# If the compiler supports AVX2 instructions,
-# then add support for AVX2 classify method.
-#
-
-#check if flag for AVX2 is already on, if not set it up manually
-ifeq ($(findstring RTE_MACHINE_CPUFLAG_AVX2,$(CFLAGS)),RTE_MACHINE_CPUFLAG_AVX2)
-	CC_AVX2_SUPPORT=1
-else
-	CC_AVX2_SUPPORT=\
-	$(shell $(CC) -march=core-avx2 -dM -E - </dev/null 2>&1 | \
-	grep -q AVX2 && echo 1)
-	ifeq ($(CC_AVX2_SUPPORT), 1)
-		ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-		CFLAGS_acl_run_avx2.o += -march=core-avx2
-		else
-		CFLAGS_acl_run_avx2.o += -mavx2
-		endif
-	endif
-endif
-
-ifeq ($(CC_AVX2_SUPPORT), 1)
-	SRCS-$(CONFIG_RTE_LIBRTE_ACL) += acl_run_avx2.c
-	CFLAGS_rte_acl.o += -DCC_AVX2_SUPPORT
-endif
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_ACL)-include := rte_acl_osdep.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_ACL)-include += rte_acl.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_bbdev/Makefile b/lib/librte_bbdev/Makefile
deleted file mode 100644
index 9d7576b358..0000000000
--- a/lib/librte_bbdev/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_bbdev.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf
-
-# library source files
-SRCS-y += rte_bbdev.c
-
-# export include files
-SYMLINK-y-include += rte_bbdev_op.h
-SYMLINK-y-include += rte_bbdev.h
-SYMLINK-y-include += rte_bbdev_pmd.h
-
-# versioning export map
-EXPORT_MAP := rte_bbdev_version.map
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_bitratestats/Makefile b/lib/librte_bitratestats/Makefile
deleted file mode 100644
index 4862c44b83..0000000000
--- a/lib/librte_bitratestats/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_bitratestats.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-LDLIBS += -lrte_eal -lrte_metrics -lrte_ethdev
-
-EXPORT_MAP := rte_bitratestats_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_BITRATE) := rte_bitrate.c
-
-# Install header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_BITRATE)-include += rte_bitrate.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_bpf/Makefile b/lib/librte_bpf/Makefile
deleted file mode 100644
index 3be6750432..0000000000
--- a/lib/librte_bpf/Makefile
+++ /dev/null
@@ -1,40 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_bpf.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-LDLIBS += -lrte_net -lrte_eal
-LDLIBS += -lrte_mempool -lrte_ring
-LDLIBS += -lrte_mbuf -lrte_ethdev
-ifeq ($(CONFIG_RTE_LIBRTE_BPF_ELF),y)
-LDLIBS += -lelf
-endif
-
-EXPORT_MAP := rte_bpf_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_BPF) += bpf.c
-SRCS-$(CONFIG_RTE_LIBRTE_BPF) += bpf_exec.c
-SRCS-$(CONFIG_RTE_LIBRTE_BPF) += bpf_load.c
-SRCS-$(CONFIG_RTE_LIBRTE_BPF) += bpf_pkt.c
-SRCS-$(CONFIG_RTE_LIBRTE_BPF) += bpf_validate.c
-ifeq ($(CONFIG_RTE_LIBRTE_BPF_ELF),y)
-SRCS-$(CONFIG_RTE_LIBRTE_BPF) += bpf_load_elf.c
-endif
-ifeq ($(CONFIG_RTE_ARCH_X86_64),y)
-SRCS-$(CONFIG_RTE_LIBRTE_BPF) += bpf_jit_x86.c
-else ifeq ($(CONFIG_RTE_ARCH_ARM64),y)
-SRCS-$(CONFIG_RTE_LIBRTE_BPF) += bpf_jit_arm64.c
-endif
-
-# install header files
-SYMLINK-$(CONFIG_RTE_LIBRTE_BPF)-include += bpf_def.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_BPF)-include += rte_bpf.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_BPF)-include += rte_bpf_ethdev.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_cfgfile/Makefile b/lib/librte_cfgfile/Makefile
deleted file mode 100644
index 7c10a4e56c..0000000000
--- a/lib/librte_cfgfile/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_cfgfile.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(SRCDIR)/../librte_eal/include
-LDLIBS += -lrte_eal
-
-EXPORT_MAP := rte_cfgfile_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_CFGFILE) += rte_cfgfile.c
-
-# install includes
-SYMLINK-$(CONFIG_RTE_LIBRTE_CFGFILE)-include += rte_cfgfile.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_cmdline/Makefile b/lib/librte_cmdline/Makefile
deleted file mode 100644
index 619d9a2426..0000000000
--- a/lib/librte_cmdline/Makefile
+++ /dev/null
@@ -1,34 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_cmdline.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-
-EXPORT_MAP := rte_cmdline_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) := cmdline.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_cirbuf.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_parse.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_parse_etheraddr.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_parse_ipaddr.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_parse_num.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_parse_string.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_rdline.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_vt100.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_socket.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_parse_portlist.c
-
-LDLIBS += -lrte_net -lrte_eal
-
-# install includes
-INCS := cmdline.h cmdline_parse.h cmdline_parse_num.h cmdline_parse_ipaddr.h
-INCS += cmdline_parse_etheraddr.h cmdline_parse_string.h cmdline_rdline.h
-INCS += cmdline_vt100.h cmdline_socket.h cmdline_cirbuf.h cmdline_parse_portlist.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_CMDLINE)-include := $(INCS)
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_compressdev/Makefile b/lib/librte_compressdev/Makefile
deleted file mode 100644
index 53679d69b8..0000000000
--- a/lib/librte_compressdev/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017-2018 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_compressdev.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mempool -lrte_kvargs
-
-# library source files
-SRCS-y += rte_compressdev.c rte_compressdev_pmd.c rte_comp.c
-
-# export include files
-SYMLINK-y-include += rte_comp.h
-SYMLINK-y-include += rte_compressdev.h
-# export include files (for PMDs)
-SYMLINK-y-include += rte_compressdev_pmd.h
-SYMLINK-y-include += rte_compressdev_internal.h
-
-# versioning export map
-EXPORT_MAP := rte_compressdev_version.map
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_cryptodev/Makefile b/lib/librte_cryptodev/Makefile
deleted file mode 100644
index 73e77a27c6..0000000000
--- a/lib/librte_cryptodev/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2015-2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_cryptodev.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mempool -lrte_ring -lrte_mbuf
-LDLIBS += -lrte_kvargs
-
-# library source files
-SRCS-y += rte_cryptodev.c rte_cryptodev_pmd.c cryptodev_trace_points.c
-
-# export include files
-SYMLINK-y-include += rte_crypto.h
-SYMLINK-y-include += rte_crypto_asym.h
-SYMLINK-y-include += rte_crypto_sym.h
-SYMLINK-y-include += rte_cryptodev.h
-SYMLINK-y-include += rte_cryptodev_pmd.h
-SYMLINK-y-include += rte_cryptodev_trace.h
-SYMLINK-y-include += rte_cryptodev_trace_fp.h
-
-# versioning export map
-EXPORT_MAP := rte_cryptodev_version.map
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_distributor/Makefile b/lib/librte_distributor/Makefile
deleted file mode 100644
index fc32fb3a8f..0000000000
--- a/lib/librte_distributor/Makefile
+++ /dev/null
@@ -1,28 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_distributor.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_ethdev
-
-EXPORT_MAP := rte_distributor_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) := rte_distributor_single.c
-SRCS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += rte_distributor.c
-ifeq ($(CONFIG_RTE_ARCH_X86),y)
-SRCS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += rte_distributor_match_sse.c
-else
-SRCS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += rte_distributor_match_generic.c
-endif
-
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR)-include := rte_distributor.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_eal/Makefile b/lib/librte_eal/Makefile
deleted file mode 100644
index 2fda40d230..0000000000
--- a/lib/librte_eal/Makefile
+++ /dev/null
@@ -1,12 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-y += include
-DIRS-$(CONFIG_RTE_EXEC_ENV_LINUX) += linux
-DEPDIRS-linux := include
-DIRS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += freebsd
-DEPDIRS-freebsd := include
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/lib/librte_eal/freebsd/Makefile b/lib/librte_eal/freebsd/Makefile
deleted file mode 100644
index 9a89556742..0000000000
--- a/lib/librte_eal/freebsd/Makefile
+++ /dev/null
@@ -1,104 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-LIB = librte_eal.a
-
-ARCH_DIR ?= $(RTE_ARCH)
-VPATH += $(RTE_SDK)/lib/librte_eal/$(ARCH_DIR)
-VPATH += $(RTE_SDK)/lib/librte_eal/unix
-VPATH += $(RTE_SDK)/lib/librte_eal/common
-
-CFLAGS += -I$(SRCDIR)/include
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
-CFLAGS += $(WERROR_FLAGS) -O3
-
-LDLIBS += -lexecinfo
-LDLIBS += -lpthread
-LDLIBS += -lgcc_s
-LDLIBS += -lrte_kvargs
-LDLIBS += -lrte_telemetry
-
-EXPORT_MAP := ../rte_eal_version.map
-
-# specific to freebsd exec-env
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) := eal.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_cpuflags.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_memory.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_hugepage_info.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_thread.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_debug.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_memalloc.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_lcore.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_timer.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_interrupts.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_alarm.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_dev.c
-
-# from common dir
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_config.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_lcore.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_timer.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_memzone.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_log.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_launch.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_mcfg.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_memalloc.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_memory.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_tailqs.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_errno.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_cpuflags.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_hypervisor.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_string_fns.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_hexdump.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_debug.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_devargs.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_class.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_bus.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_dev.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_options.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_thread.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_proc.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_fbarray.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_uuid.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_trace.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_trace_ctf.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_trace_points.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_trace_utils.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += rte_malloc.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += hotplug_mp.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += malloc_elem.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += malloc_heap.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += malloc_mp.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += rte_keepalive.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += rte_service.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += rte_random.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += rte_reciprocal.c
-
-# from unix dir
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_file.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_unix_memory.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_unix_timer.c
-
-# from arch dir
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += rte_cpuflags.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += rte_hypervisor.c
-SRCS-$(CONFIG_RTE_ARCH_X86) += rte_spinlock.c
-SRCS-y += rte_cycles.c
-
-CFLAGS_eal_common_cpuflags.o := $(CPUFLAGS_LIST)
-
-# workaround for a gcc bug with noreturn attribute
-# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12603
-ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
-CFLAGS_eal_thread.o += -Wno-return-type
-CFLAGS_eal_hpet.o += -Wno-return-type
-endif
-
-INC := rte_os.h
-
-SYMLINK-$(CONFIG_RTE_EXEC_ENV_FREEBSD)-include := $(addprefix include/,$(INC))
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_eal/include/Makefile b/lib/librte_eal/include/Makefile
deleted file mode 100644
index eb99190d10..0000000000
--- a/lib/librte_eal/include/Makefile
+++ /dev/null
@@ -1,19 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-SYMLINK-$(CONFIG_RTE_LIBRTE_EAL)-include := \
-	$(sort $(notdir \
-	$(wildcard $(RTE_SDK)/lib/librte_eal/include/*.h)))
-
-SYMLINK-$(CONFIG_RTE_LIBRTE_EAL)-include/generic := \
-	$(sort $(addprefix generic/, $(notdir \
-	$(wildcard $(RTE_SDK)/lib/librte_eal/include/generic/*.h))))
-
-ARCH_DIR ?= $(RTE_ARCH)
-SYMLINK-$(CONFIG_RTE_LIBRTE_EAL)-include += \
-	$(sort $(addprefix ../$(ARCH_DIR)/include/, $(notdir \
-	$(wildcard $(RTE_SDK)/lib/librte_eal/$(ARCH_DIR)/include/*.h))))
-
-include $(RTE_SDK)/mk/rte.install.mk
diff --git a/lib/librte_eal/linux/Makefile b/lib/librte_eal/linux/Makefile
deleted file mode 100644
index 9939b3d147..0000000000
--- a/lib/librte_eal/linux/Makefile
+++ /dev/null
@@ -1,112 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-LIB = librte_eal.a
-
-ARCH_DIR ?= $(RTE_ARCH)
-VPATH += $(RTE_SDK)/lib/librte_eal/$(ARCH_DIR)
-VPATH += $(RTE_SDK)/lib/librte_eal/unix
-VPATH += $(RTE_SDK)/lib/librte_eal/common
-
-CFLAGS += -I$(SRCDIR)/include
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
-CFLAGS += $(WERROR_FLAGS) -O3
-
-LDLIBS += -ldl
-LDLIBS += -lpthread
-LDLIBS += -lgcc_s
-LDLIBS += -lrt
-LDLIBS += -lrte_kvargs
-LDLIBS += -lrte_telemetry
-ifeq ($(CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES),y)
-LDLIBS += -lnuma
-endif
-
-EXPORT_MAP := ../rte_eal_version.map
-
-# specific to linux exec-env
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) := eal.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_cpuflags.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_hugepage_info.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_memory.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_thread.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_log.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_vfio.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_vfio_mp_sync.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_memalloc.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_debug.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_lcore.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_timer.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_interrupts.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_alarm.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_dev.c
-
-# from common dir
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_config.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_lcore.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_timer.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_memzone.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_log.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_launch.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_dynmem.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_mcfg.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_memalloc.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_memory.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_tailqs.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_errno.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_cpuflags.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_hypervisor.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_string_fns.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_hexdump.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_debug.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_devargs.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_class.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_bus.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_dev.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_options.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_thread.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_proc.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_fbarray.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_uuid.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_trace.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_trace_ctf.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_trace_points.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_trace_utils.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += rte_malloc.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += hotplug_mp.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += malloc_elem.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += malloc_heap.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += malloc_mp.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += rte_keepalive.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += rte_service.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += rte_random.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += rte_reciprocal.c
-
-# from unix dir
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_file.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_unix_memory.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_unix_timer.c
-
-# from arch dir
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += rte_cpuflags.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += rte_hypervisor.c
-SRCS-$(CONFIG_RTE_ARCH_X86) += rte_spinlock.c
-SRCS-y += rte_cycles.c
-
-CFLAGS_eal_common_cpuflags.o := $(CPUFLAGS_LIST)
-
-# workaround for a gcc bug with noreturn attribute
-# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12603
-ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
-CFLAGS_eal_thread.o += -Wno-return-type
-endif
-
-INC := rte_kni_common.h
-INC += rte_os.h
-
-SYMLINK-$(CONFIG_RTE_EXEC_ENV_LINUX)-include := $(addprefix include/,$(INC))
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_efd/Makefile b/lib/librte_efd/Makefile
deleted file mode 100644
index 2dc97132e0..0000000000
--- a/lib/librte_efd/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016-2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_efd.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-LDLIBS += -lrte_eal -lrte_ring -lrte_hash
-
-EXPORT_MAP := rte_efd_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_EFD) := rte_efd.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_EFD)-include := rte_efd.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_ethdev/Makefile b/lib/librte_ethdev/Makefile
deleted file mode 100644
index 47747150b2..0000000000
--- a/lib/librte_ethdev/Makefile
+++ /dev/null
@@ -1,46 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_ethdev.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_net -lrte_eal -lrte_mempool -lrte_ring
-LDLIBS += -lrte_mbuf -lrte_kvargs -lrte_meter -lrte_telemetry
-
-EXPORT_MAP := rte_ethdev_version.map
-
-SRCS-y += ethdev_private.c
-SRCS-y += rte_ethdev.c
-SRCS-y += rte_class_eth.c
-SRCS-y += rte_flow.c
-SRCS-y += rte_tm.c
-SRCS-y += rte_mtr.c
-SRCS-y += ethdev_profile.c
-SRCS-y += ethdev_trace_points.c
-
-#
-# Export include files
-#
-SYMLINK-y-include += rte_ethdev.h
-SYMLINK-y-include += rte_ethdev_driver.h
-SYMLINK-y-include += rte_ethdev_core.h
-SYMLINK-y-include += rte_ethdev_pci.h
-SYMLINK-y-include += rte_ethdev_trace.h
-SYMLINK-y-include += rte_ethdev_trace_fp.h
-SYMLINK-y-include += rte_ethdev_vdev.h
-SYMLINK-y-include += rte_eth_ctrl.h
-SYMLINK-y-include += rte_dev_info.h
-SYMLINK-y-include += rte_flow.h
-SYMLINK-y-include += rte_flow_driver.h
-SYMLINK-y-include += rte_tm.h
-SYMLINK-y-include += rte_tm_driver.h
-SYMLINK-y-include += rte_mtr.h
-SYMLINK-y-include += rte_mtr_driver.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_eventdev/Makefile b/lib/librte_eventdev/Makefile
deleted file mode 100644
index 0715256bb4..0000000000
--- a/lib/librte_eventdev/Makefile
+++ /dev/null
@@ -1,47 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016 Cavium, Inc
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_eventdev.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-ifeq ($(CONFIG_RTE_EXEC_ENV_LINUX),y)
-CFLAGS += -DLINUX
-else
-CFLAGS += -DBSD
-endif
-LDLIBS += -lrte_eal -lrte_ring -lrte_ethdev -lrte_hash -lrte_mempool -lrte_timer
-LDLIBS += -lrte_mbuf -lrte_cryptodev -lpthread
-
-# library source files
-SRCS-y += rte_eventdev.c
-SRCS-y += rte_event_ring.c
-SRCS-y += eventdev_trace_points.c
-SRCS-y += rte_event_eth_rx_adapter.c
-SRCS-y += rte_event_timer_adapter.c
-SRCS-y += rte_event_crypto_adapter.c
-SRCS-y += rte_event_eth_tx_adapter.c
-
-# export include files
-SYMLINK-y-include += rte_eventdev.h
-SYMLINK-y-include += rte_eventdev_pmd.h
-SYMLINK-y-include += rte_eventdev_pmd_pci.h
-SYMLINK-y-include += rte_eventdev_pmd_vdev.h
-SYMLINK-y-include += rte_eventdev_trace.h
-SYMLINK-y-include += rte_eventdev_trace_fp.h
-SYMLINK-y-include += rte_event_ring.h
-SYMLINK-y-include += rte_event_eth_rx_adapter.h
-SYMLINK-y-include += rte_event_timer_adapter.h
-SYMLINK-y-include += rte_event_timer_adapter_pmd.h
-SYMLINK-y-include += rte_event_crypto_adapter.h
-SYMLINK-y-include += rte_event_eth_tx_adapter.h
-
-# versioning export map
-EXPORT_MAP := rte_eventdev_version.map
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_fib/Makefile b/lib/librte_fib/Makefile
deleted file mode 100644
index 1dd2a495b1..0000000000
--- a/lib/librte_fib/Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Vladimir Medvedkin <medvedkinv@gmail.com>
-# Copyright(c) 2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_fib.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-LDLIBS += -lrte_eal -lrte_rib
-
-EXPORT_MAP := rte_fib_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_FIB) := rte_fib.c rte_fib6.c dir24_8.c trie.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_FIB)-include := rte_fib.h rte_fib6.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_flow_classify/Makefile b/lib/librte_flow_classify/Makefile
deleted file mode 100644
index ca3cae82dd..0000000000
--- a/lib/librte_flow_classify/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_flow_classify.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-
-EXPORT_MAP := rte_flow_classify_version.map
-
-LDLIBS += -lrte_eal -lrte_ethdev -lrte_net -lrte_table -lrte_acl
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_FLOW_CLASSIFY) += rte_flow_classify.c
-SRCS-$(CONFIG_RTE_LIBRTE_FLOW_CLASSIFY) += rte_flow_classify_parse.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_FLOW_CLASSIFY)-include := rte_flow_classify.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_graph/Makefile b/lib/librte_graph/Makefile
deleted file mode 100644
index b66279c675..0000000000
--- a/lib/librte_graph/Makefile
+++ /dev/null
@@ -1,28 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(C) 2020 Marvell International Ltd.
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_graph.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal
-
-EXPORT_MAP := rte_graph_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_GRAPH) += node.c
-SRCS-$(CONFIG_RTE_LIBRTE_GRAPH) += graph.c
-SRCS-$(CONFIG_RTE_LIBRTE_GRAPH) += graph_ops.c
-SRCS-$(CONFIG_RTE_LIBRTE_GRAPH) += graph_debug.c
-SRCS-$(CONFIG_RTE_LIBRTE_GRAPH) += graph_stats.c
-SRCS-$(CONFIG_RTE_LIBRTE_GRAPH) += graph_populate.c
-
-# install header files
-SYMLINK-$(CONFIG_RTE_LIBRTE_GRAPH)-include += rte_graph.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_GRAPH)-include += rte_graph_worker.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_gro/Makefile b/lib/librte_gro/Makefile
deleted file mode 100644
index e848687acd..0000000000
--- a/lib/librte_gro/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_gro.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_ethdev -lrte_net
-
-EXPORT_MAP := rte_gro_version.map
-
-# source files
-SRCS-$(CONFIG_RTE_LIBRTE_GRO) += rte_gro.c
-SRCS-$(CONFIG_RTE_LIBRTE_GRO) += gro_tcp4.c
-SRCS-$(CONFIG_RTE_LIBRTE_GRO) += gro_vxlan_tcp4.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_GRO)-include += rte_gro.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_gso/Makefile b/lib/librte_gso/Makefile
deleted file mode 100644
index a34846e920..0000000000
--- a/lib/librte_gso/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_gso.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_ethdev -lrte_net
-LDLIBS += -lrte_mempool
-
-EXPORT_MAP := rte_gso_version.map
-
-#source files
-SRCS-$(CONFIG_RTE_LIBRTE_GSO) += rte_gso.c
-SRCS-$(CONFIG_RTE_LIBRTE_GSO) += gso_common.c
-SRCS-$(CONFIG_RTE_LIBRTE_GSO) += gso_tcp4.c
-SRCS-$(CONFIG_RTE_LIBRTE_GSO) += gso_tunnel_tcp4.c
-SRCS-$(CONFIG_RTE_LIBRTE_GSO) += gso_udp4.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_GSO)-include += rte_gso.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_hash/Makefile b/lib/librte_hash/Makefile
deleted file mode 100644
index ec9f864992..0000000000
--- a/lib/librte_hash/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2015 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_hash.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-LDLIBS += -lrte_eal -lrte_ring
-
-EXPORT_MAP := rte_hash_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_HASH) := rte_cuckoo_hash.c
-SRCS-$(CONFIG_RTE_LIBRTE_HASH) += rte_fbk_hash.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_HASH)-include := rte_hash.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_HASH)-include += rte_hash_crc.h
-ifeq ($(CONFIG_RTE_ARCH_ARM64),y)
-ifneq ($(findstring RTE_MACHINE_CPUFLAG_CRC32,$(CFLAGS)),)
-SYMLINK-$(CONFIG_RTE_LIBRTE_HASH)-include += rte_crc_arm64.h
-endif
-endif
-SYMLINK-$(CONFIG_RTE_LIBRTE_HASH)-include += rte_jhash.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_HASH)-include += rte_thash.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_HASH)-include += rte_fbk_hash.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_ip_frag/Makefile b/lib/librte_ip_frag/Makefile
deleted file mode 100644
index 6b80d9f1f2..0000000000
--- a/lib/librte_ip_frag/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_ip_frag.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf -lrte_ethdev
-LDLIBS += -lrte_hash
-
-EXPORT_MAP := rte_ip_frag_version.map
-
-#source files
-SRCS-$(CONFIG_RTE_LIBRTE_IP_FRAG) += rte_ipv4_fragmentation.c
-SRCS-$(CONFIG_RTE_LIBRTE_IP_FRAG) += rte_ipv6_fragmentation.c
-SRCS-$(CONFIG_RTE_LIBRTE_IP_FRAG) += rte_ipv4_reassembly.c
-SRCS-$(CONFIG_RTE_LIBRTE_IP_FRAG) += rte_ipv6_reassembly.c
-SRCS-$(CONFIG_RTE_LIBRTE_IP_FRAG) += rte_ip_frag_common.c
-SRCS-$(CONFIG_RTE_LIBRTE_IP_FRAG) += ip_frag_internal.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_IP_FRAG)-include += rte_ip_frag.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_ipsec/Makefile b/lib/librte_ipsec/Makefile
deleted file mode 100644
index e4c69646b0..0000000000
--- a/lib/librte_ipsec/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_ipsec.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf -lrte_net
-LDLIBS += -lrte_cryptodev -lrte_security -lrte_hash
-
-EXPORT_MAP := rte_ipsec_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_IPSEC) += esp_inb.c
-SRCS-$(CONFIG_RTE_LIBRTE_IPSEC) += esp_outb.c
-SRCS-$(CONFIG_RTE_LIBRTE_IPSEC) += sa.c
-SRCS-$(CONFIG_RTE_LIBRTE_IPSEC) += ses.c
-SRCS-$(CONFIG_RTE_LIBRTE_IPSEC) += ipsec_sad.c
-
-# install header files
-SYMLINK-$(CONFIG_RTE_LIBRTE_IPSEC)-include += rte_ipsec.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_IPSEC)-include += rte_ipsec_group.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_IPSEC)-include += rte_ipsec_sa.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_IPSEC)-include += rte_ipsec_sad.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_jobstats/Makefile b/lib/librte_jobstats/Makefile
deleted file mode 100644
index b30d046829..0000000000
--- a/lib/librte_jobstats/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2015 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_jobstats.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-LDLIBS += -lrte_eal
-
-EXPORT_MAP := rte_jobstats_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_JOBSTATS) := rte_jobstats.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_JOBSTATS)-include := rte_jobstats.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_kni/Makefile b/lib/librte_kni/Makefile
deleted file mode 100644
index 9d440aa135..0000000000
--- a/lib/librte_kni/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_kni.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3 -fno-strict-aliasing
-LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf -lrte_ethdev
-
-EXPORT_MAP := rte_kni_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_KNI) := rte_kni.c
-
-# install includes
-SYMLINK-$(CONFIG_RTE_LIBRTE_KNI)-include := rte_kni.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_kvargs/Makefile b/lib/librte_kvargs/Makefile
deleted file mode 100644
index 24b1c3c5b9..0000000000
--- a/lib/librte_kvargs/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2014 6WIND S.A.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_kvargs.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
-
-EXPORT_MAP := rte_kvargs_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_KVARGS) := rte_kvargs.c
-
-# install includes
-INCS := rte_kvargs.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_KVARGS)-include := $(INCS)
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_latencystats/Makefile b/lib/librte_latencystats/Makefile
deleted file mode 100644
index b19e0b1788..0000000000
--- a/lib/librte_latencystats/Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_latencystats.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-LDLIBS += -lm
-LDLIBS += -lpthread
-LDLIBS += -lrte_eal -lrte_metrics -lrte_ethdev -lrte_mbuf
-
-EXPORT_MAP := rte_latencystats_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_LATENCY_STATS) := rte_latencystats.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_LATENCY_STATS)-include := rte_latencystats.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_lpm/Makefile b/lib/librte_lpm/Makefile
deleted file mode 100644
index 6f06c5c034..0000000000
--- a/lib/librte_lpm/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_lpm.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-LDLIBS += -lrte_eal -lrte_hash -lrte_rcu
-
-EXPORT_MAP := rte_lpm_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_LPM) := rte_lpm.c rte_lpm6.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_LPM)-include := rte_lpm.h rte_lpm6.h
-
-ifneq ($(filter y,$(CONFIG_RTE_ARCH_ARM) $(CONFIG_RTE_ARCH_ARM64)),)
-SYMLINK-$(CONFIG_RTE_LIBRTE_LPM)-include += rte_lpm_neon.h
-else ifeq ($(CONFIG_RTE_ARCH_X86),y)
-SYMLINK-$(CONFIG_RTE_LIBRTE_LPM)-include += rte_lpm_sse.h
-else ifeq ($(CONFIG_RTE_ARCH_PPC_64),y)
-SYMLINK-$(CONFIG_RTE_LIBRTE_LPM)-include += rte_lpm_altivec.h
-endif
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_mbuf/Makefile b/lib/librte_mbuf/Makefile
deleted file mode 100644
index 41ea5496e3..0000000000
--- a/lib/librte_mbuf/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_mbuf.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-
-LDLIBS += -lrte_eal -lrte_mempool
-
-EXPORT_MAP := rte_mbuf_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_MBUF) := rte_mbuf.c rte_mbuf_ptype.c rte_mbuf_pool_ops.c
-SRCS-$(CONFIG_RTE_LIBRTE_MBUF) += rte_mbuf_dyn.c
-
-# install includes
-SYMLINK-$(CONFIG_RTE_LIBRTE_MBUF)-include := rte_mbuf.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_MBUF)-include += rte_mbuf_core.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_MBUF)-include += rte_mbuf_ptype.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_MBUF)-include += rte_mbuf_pool_ops.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_MBUF)-include += rte_mbuf_dyn.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_member/Makefile b/lib/librte_member/Makefile
deleted file mode 100644
index ef9e2faeaf..0000000000
--- a/lib/librte_member/Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_member.a
-
-CFLAGS := -I$(SRCDIR) $(CFLAGS)
-CFLAGS += $(WERROR_FLAGS) -O3
-
-LDLIBS += -lm
-LDLIBS += -lrte_eal -lrte_hash
-
-EXPORT_MAP := rte_member_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_MEMBER) +=  rte_member.c rte_member_ht.c rte_member_vbf.c
-# install includes
-SYMLINK-$(CONFIG_RTE_LIBRTE_MEMBER)-include := rte_member.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_mempool/Makefile b/lib/librte_mempool/Makefile
deleted file mode 100644
index 432d6217ec..0000000000
--- a/lib/librte_mempool/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_mempool.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-LDLIBS += -lrte_eal -lrte_ring
-
-EXPORT_MAP := rte_mempool_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_MEMPOOL) +=  rte_mempool.c
-SRCS-$(CONFIG_RTE_LIBRTE_MEMPOOL) +=  rte_mempool_ops.c
-SRCS-$(CONFIG_RTE_LIBRTE_MEMPOOL) +=  rte_mempool_ops_default.c
-SRCS-$(CONFIG_RTE_LIBRTE_MEMPOOL) +=  mempool_trace_points.c
-# install includes
-SYMLINK-$(CONFIG_RTE_LIBRTE_MEMPOOL)-include := rte_mempool.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_MEMPOOL)-include += rte_mempool_trace.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_MEMPOOL)-include += rte_mempool_trace_fp.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_meter/Makefile b/lib/librte_meter/Makefile
deleted file mode 100644
index 48366e82b0..0000000000
--- a/lib/librte_meter/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_meter.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-LDLIBS += -lm
-LDLIBS += -lrte_eal
-
-EXPORT_MAP := rte_meter_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_METER) := rte_meter.c
-
-# install includes
-SYMLINK-$(CONFIG_RTE_LIBRTE_METER)-include := rte_meter.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_metrics/Makefile b/lib/librte_metrics/Makefile
deleted file mode 100644
index 1264d3bbb0..0000000000
--- a/lib/librte_metrics/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_metrics.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-LDLIBS += -lrte_eal
-
-EXPORT_MAP := rte_metrics_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_METRICS) := rte_metrics.c
-
-ifeq ($(CONFIG_RTE_LIBRTE_TELEMETRY),y)
-SRCS-y += rte_metrics_telemetry.c
-SYMLINK-$(CONFIG_RTE_LIBRTE_METRICS)-include += rte_metrics_telemetry.h
-
-LDLIBS += -lrte_ethdev -lrte_telemetry
-LDLIBS += -ljansson
-
-CFLAGS += -I$(RTE_SDK)/lib/librte_telemetry/
-endif
-
-# Install header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_METRICS)-include += rte_metrics.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_net/Makefile b/lib/librte_net/Makefile
deleted file mode 100644
index 9830e771b3..0000000000
--- a/lib/librte_net/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-LIB = librte_net.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-LDLIBS += -lrte_mbuf -lrte_eal -lrte_mempool
-
-EXPORT_MAP := rte_net_version.map
-SRCS-$(CONFIG_RTE_LIBRTE_NET) := rte_net.c
-SRCS-$(CONFIG_RTE_LIBRTE_NET) += rte_net_crc.c
-SRCS-$(CONFIG_RTE_LIBRTE_NET) += rte_ether.c
-SRCS-$(CONFIG_RTE_LIBRTE_NET) += rte_arp.c
-
-# install includes
-SYMLINK-$(CONFIG_RTE_LIBRTE_NET)-include := rte_ip.h rte_tcp.h rte_udp.h rte_esp.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_NET)-include += rte_sctp.h rte_icmp.h rte_arp.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_NET)-include += rte_ether.h rte_gre.h rte_net.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_NET)-include += rte_net_crc.h rte_mpls.h rte_higig.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_NET)-include += rte_gtp.h rte_vxlan.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_NET)-include += rte_ecpri.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_node/Makefile b/lib/librte_node/Makefile
deleted file mode 100644
index 3ec02104d3..0000000000
--- a/lib/librte_node/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(C) 2020 Marvell International Ltd.
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_node.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-# Strict-aliasing rules are violated by uint8_t[] to context size casts.
-CFLAGS += -fno-strict-aliasing
-LDLIBS += -lrte_eal -lrte_graph -lrte_mbuf -lrte_lpm -lrte_ethdev -lrte_mempool
-
-EXPORT_MAP := rte_node_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_NODE) += null.c
-SRCS-$(CONFIG_RTE_LIBRTE_NODE) += log.c
-SRCS-$(CONFIG_RTE_LIBRTE_NODE) += ethdev_rx.c
-SRCS-$(CONFIG_RTE_LIBRTE_NODE) += ethdev_tx.c
-SRCS-$(CONFIG_RTE_LIBRTE_NODE) += ethdev_ctrl.c
-SRCS-$(CONFIG_RTE_LIBRTE_NODE) += ip4_lookup.c
-SRCS-$(CONFIG_RTE_LIBRTE_NODE) += ip4_rewrite.c
-SRCS-$(CONFIG_RTE_LIBRTE_NODE) += pkt_cls.c
-SRCS-$(CONFIG_RTE_LIBRTE_NODE) += pkt_drop.c
-
-# install header files
-SYMLINK-$(CONFIG_RTE_LIBRTE_NODE)-include += rte_node_ip4_api.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_NODE)-include += rte_node_eth_api.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_pci/Makefile b/lib/librte_pci/Makefile
deleted file mode 100644
index 7943f30cab..0000000000
--- a/lib/librte_pci/Makefile
+++ /dev/null
@@ -1,19 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 6WIND S.A.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pci.a
-
-CFLAGS := -I$(SRCDIR) $(CFLAGS)
-CFLAGS += $(WERROR_FLAGS) -O3
-LDLIBS += -lrte_eal
-
-EXPORT_MAP := rte_pci_version.map
-
-SRCS-$(CONFIG_RTE_LIBRTE_PCI) += rte_pci.c
-
-SYMLINK-$(CONFIG_RTE_LIBRTE_PCI)-include += rte_pci.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_pdump/Makefile b/lib/librte_pdump/Makefile
deleted file mode 100644
index ece8aaacc1..0000000000
--- a/lib/librte_pdump/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016-2018 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pdump.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf -lrte_ethdev
-
-EXPORT_MAP := rte_pdump_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_PDUMP) := rte_pdump.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_PDUMP)-include := rte_pdump.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_pipeline/Makefile b/lib/librte_pipeline/Makefile
deleted file mode 100644
index cfbbd18282..0000000000
--- a/lib/librte_pipeline/Makefile
+++ /dev/null
@@ -1,28 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2016 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pipeline.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf -lrte_table
-LDLIBS += -lrte_port -lrte_meter -lrte_sched -lrte_cryptodev
-
-EXPORT_MAP := rte_pipeline_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PIPELINE) := rte_pipeline.c
-SRCS-$(CONFIG_RTE_LIBRTE_PIPELINE) += rte_port_in_action.c
-SRCS-$(CONFIG_RTE_LIBRTE_PIPELINE) += rte_table_action.c
-
-# install includes
-SYMLINK-$(CONFIG_RTE_LIBRTE_PIPELINE)-include += rte_pipeline.h rte_port_in_action.h rte_table_action.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_port/Makefile b/lib/librte_port/Makefile
deleted file mode 100644
index 57d2aedbc5..0000000000
--- a/lib/librte_port/Makefile
+++ /dev/null
@@ -1,59 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2016 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_port.a
-ifeq ($(CONFIG_RTE_PORT_PCAP),y)
-LDLIBS += -lpcap
-endif
-LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf -lrte_ethdev
-LDLIBS += -lrte_ip_frag -lrte_sched -lrte_cryptodev -lrte_eventdev
-ifeq ($(CONFIG_RTE_LIBRTE_KNI),y)
-LDLIBS += -lrte_kni
-endif
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-EXPORT_MAP := rte_port_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PORT) += rte_port_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PORT) += rte_port_ring.c
-ifeq ($(CONFIG_RTE_LIBRTE_IP_FRAG),y)
-SRCS-$(CONFIG_RTE_LIBRTE_PORT) += rte_port_frag.c
-SRCS-$(CONFIG_RTE_LIBRTE_PORT) += rte_port_ras.c
-endif
-SRCS-$(CONFIG_RTE_LIBRTE_PORT) += rte_port_sched.c
-SRCS-$(CONFIG_RTE_LIBRTE_PORT) += rte_port_fd.c
-ifeq ($(CONFIG_RTE_LIBRTE_KNI),y)
-SRCS-$(CONFIG_RTE_LIBRTE_PORT) += rte_port_kni.c
-endif
-SRCS-$(CONFIG_RTE_LIBRTE_PORT) += rte_port_source_sink.c
-SRCS-$(CONFIG_RTE_LIBRTE_PORT) += rte_port_sym_crypto.c
-SRCS-$(CONFIG_RTE_LIBRTE_PORT) += rte_port_eventdev.c
-
-# install includes
-SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port_ethdev.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port_ring.h
-ifeq ($(CONFIG_RTE_LIBRTE_IP_FRAG),y)
-SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port_frag.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port_ras.h
-endif
-SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port_sched.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port_fd.h
-ifeq ($(CONFIG_RTE_LIBRTE_KNI),y)
-SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port_kni.h
-endif
-SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port_source_sink.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port_sym_crypto.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port_eventdev.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_power/Makefile b/lib/librte_power/Makefile
deleted file mode 100644
index 3b067b615f..0000000000
--- a/lib/librte_power/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_power.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3 -fno-strict-aliasing
-LDLIBS += -lrte_eal -lrte_timer
-
-EXPORT_MAP := rte_power_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_POWER) := rte_power.c power_acpi_cpufreq.c
-SRCS-$(CONFIG_RTE_LIBRTE_POWER) += power_kvm_vm.c guest_channel.c
-SRCS-$(CONFIG_RTE_LIBRTE_POWER) += rte_power_empty_poll.c
-SRCS-$(CONFIG_RTE_LIBRTE_POWER) += power_pstate_cpufreq.c
-SRCS-$(CONFIG_RTE_LIBRTE_POWER) += power_common.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_POWER)-include := rte_power.h  rte_power_empty_poll.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_rawdev/Makefile b/lib/librte_rawdev/Makefile
deleted file mode 100644
index 99f5d2a471..0000000000
--- a/lib/librte_rawdev/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2017 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_rawdev.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_telemetry
-
-# library source files
-SRCS-y += rte_rawdev.c
-
-# export include files
-SYMLINK-y-include += rte_rawdev.h
-SYMLINK-y-include += rte_rawdev_pmd.h
-
-# versioning export map
-EXPORT_MAP := rte_rawdev_version.map
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_rcu/Makefile b/lib/librte_rcu/Makefile
deleted file mode 100644
index 553bca2ef4..0000000000
--- a/lib/librte_rcu/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Arm Limited
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_rcu.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-LDLIBS += -lrte_eal -lrte_ring
-
-EXPORT_MAP := rte_rcu_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_RCU) := rte_rcu_qsbr.c
-
-# install includes
-SYMLINK-$(CONFIG_RTE_LIBRTE_RCU)-include := rte_rcu_qsbr.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_regexdev/Makefile b/lib/librte_regexdev/Makefile
deleted file mode 100644
index c123fcaf5c..0000000000
--- a/lib/librte_regexdev/Makefile
+++ /dev/null
@@ -1,32 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(C) 2019 Marvell International Ltd.
-# Copyright 2020 Mellanox Technologies, Ltd
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_regexdev.a
-
-EXPORT_MAP := rte_regex_version.map
-
-# library version
-LIBABIVER := 1
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf
-
-# library source files
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_REGEXDEV) := rte_regexdev.c
-
-# export include files
-SYMLINK-$(CONFIG_RTE_LIBRTE_REGEXDEV)-include += rte_regexdev.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_REGEXDEV)-include += rte_regexdev_core.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_REGEXDEV)-include += rte_regexdev_driver.h
-
-# versioning export map
-EXPORT_MAP := rte_regexdev_version.map
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_reorder/Makefile b/lib/librte_reorder/Makefile
deleted file mode 100644
index 1914411d52..0000000000
--- a/lib/librte_reorder/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_reorder.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf
-
-EXPORT_MAP := rte_reorder_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_REORDER) := rte_reorder.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_REORDER)-include := rte_reorder.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_rib/Makefile b/lib/librte_rib/Makefile
deleted file mode 100644
index be80ce5d3f..0000000000
--- a/lib/librte_rib/Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Vladimir Medvedkin <medvedkinv@gmail.com>
-# Copyright(c) 2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_rib.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-LDLIBS += -lrte_eal -lrte_mempool
-
-EXPORT_MAP := rte_rib_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_RIB) := rte_rib.c rte_rib6.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_RIB)-include := rte_rib.h rte_rib6.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_ring/Makefile b/lib/librte_ring/Makefile
deleted file mode 100644
index 83a9d0840e..0000000000
--- a/lib/librte_ring/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_ring.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-LDLIBS += -lrte_eal
-
-EXPORT_MAP := rte_ring_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_RING) := rte_ring.c
-
-# install includes
-SYMLINK-$(CONFIG_RTE_LIBRTE_RING)-include := rte_ring.h \
-					rte_ring_core.h \
-					rte_ring_elem.h \
-					rte_ring_generic.h \
-					rte_ring_c11_mem.h \
-					rte_ring_hts.h \
-					rte_ring_hts_c11_mem.h \
-					rte_ring_peek.h \
-					rte_ring_peek_c11_mem.h \
-					rte_ring_rts.h \
-					rte_ring_rts_c11_mem.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_sched/Makefile b/lib/librte_sched/Makefile
deleted file mode 100644
index aee93a1205..0000000000
--- a/lib/librte_sched/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_sched.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-LDLIBS += -lm
-LDLIBS += -lrt
-LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf -lrte_net
-LDLIBS += -lrte_timer
-
-EXPORT_MAP := rte_sched_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_SCHED) += rte_sched.c rte_red.c rte_approx.c
-
-# install includes
-SYMLINK-$(CONFIG_RTE_LIBRTE_SCHED)-include := rte_sched.h rte_sched_common.h rte_red.h rte_approx.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_security/Makefile b/lib/librte_security/Makefile
deleted file mode 100644
index 825eaeff8e..0000000000
--- a/lib/librte_security/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017-2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_security.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mempool
-
-# library source files
-SRCS-y += rte_security.c
-
-# export include files
-SYMLINK-y-include += rte_security.h
-SYMLINK-y-include += rte_security_driver.h
-
-# versioning export map
-EXPORT_MAP := rte_security_version.map
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_stack/Makefile b/lib/librte_stack/Makefile
deleted file mode 100644
index 020ef102b5..0000000000
--- a/lib/librte_stack/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_stack.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-LDLIBS += -lrte_eal
-
-EXPORT_MAP := rte_stack_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_STACK) := rte_stack.c \
-				   rte_stack_std.c \
-				   rte_stack_lf.c
-
-# install includes
-SYMLINK-$(CONFIG_RTE_LIBRTE_STACK)-include := rte_stack.h \
-					      rte_stack_std.h \
-					      rte_stack_lf.h \
-					      rte_stack_lf_generic.h \
-					      rte_stack_lf_c11.h \
-					      rte_stack_lf_stubs.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_table/Makefile b/lib/librte_table/Makefile
deleted file mode 100644
index 6ad8a6b17d..0000000000
--- a/lib/librte_table/Makefile
+++ /dev/null
@@ -1,59 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2016 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_table.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf -lrte_port
-LDLIBS += -lrte_lpm -lrte_hash
-ifeq ($(CONFIG_RTE_LIBRTE_ACL),y)
-LDLIBS += -lrte_acl
-endif
-
-EXPORT_MAP := rte_table_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_TABLE) += rte_table_lpm.c
-SRCS-$(CONFIG_RTE_LIBRTE_TABLE) += rte_table_lpm_ipv6.c
-ifeq ($(CONFIG_RTE_LIBRTE_ACL),y)
-SRCS-$(CONFIG_RTE_LIBRTE_TABLE) += rte_table_acl.c
-endif
-SRCS-$(CONFIG_RTE_LIBRTE_TABLE) += rte_table_hash_cuckoo.c
-SRCS-$(CONFIG_RTE_LIBRTE_TABLE) += rte_table_hash_key8.c
-SRCS-$(CONFIG_RTE_LIBRTE_TABLE) += rte_table_hash_key16.c
-SRCS-$(CONFIG_RTE_LIBRTE_TABLE) += rte_table_hash_key32.c
-SRCS-$(CONFIG_RTE_LIBRTE_TABLE) += rte_table_hash_ext.c
-SRCS-$(CONFIG_RTE_LIBRTE_TABLE) += rte_table_hash_lru.c
-SRCS-$(CONFIG_RTE_LIBRTE_TABLE) += rte_table_array.c
-SRCS-$(CONFIG_RTE_LIBRTE_TABLE) += rte_table_stub.c
-
-# install includes
-SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_table.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_table_lpm.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_table_lpm_ipv6.h
-ifeq ($(CONFIG_RTE_LIBRTE_ACL),y)
-SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_table_acl.h
-endif
-SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_table_hash.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_table_hash_cuckoo.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_table_hash_func.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_table_hash_func_arm64.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_lru.h
-ifeq ($(CONFIG_RTE_ARCH_X86),y)
-SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_lru_x86.h
-endif
-ifeq ($(CONFIG_RTE_ARCH_ARM64),y)
-SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_lru_arm64.h
-endif
-SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_table_array.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_table_stub.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_telemetry/Makefile b/lib/librte_telemetry/Makefile
deleted file mode 100644
index c62cbd86dc..0000000000
--- a/lib/librte_telemetry/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_telemetry.a
-
-ARCH_DIR ?= $(RTE_ARCH)
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-CFLAGS += -I$(RTE_SDK)/lib/librte_metrics/
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/$(ARCH_DIR)/include
-CFLAGS += -pthread
-
-LDLIBS += -lpthread
-
-EXPORT_MAP := rte_telemetry_version.map
-
-# library source files
-SRCS-y += telemetry.c
-SRCS-y += telemetry_data.c
-SRCS-y += telemetry_legacy.c
-
-# export include files
-SYMLINK-y-include := rte_telemetry.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_timer/Makefile b/lib/librte_timer/Makefile
deleted file mode 100644
index 7e95d120c0..0000000000
--- a/lib/librte_timer/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_timer.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-LDLIBS += -lrte_eal
-
-EXPORT_MAP := rte_timer_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_TIMER) := rte_timer.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_TIMER)-include := rte_timer.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_vhost/Makefile b/lib/librte_vhost/Makefile
deleted file mode 100644
index 4f2f3e47da..0000000000
--- a/lib/librte_vhost/Makefile
+++ /dev/null
@@ -1,54 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_vhost.a
-
-EXPORT_MAP := rte_vhost_version.map
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-CFLAGS += -I vhost_user
-CFLAGS += -fno-strict-aliasing
-LDLIBS += -lpthread
-
-ifeq ($(RTE_TOOLCHAIN), gcc)
-ifeq ($(shell test $(GCC_VERSION) -ge 83 && echo 1), 1)
-CFLAGS += -DVHOST_GCC_UNROLL_PRAGMA
-endif
-endif
-
-ifeq ($(RTE_TOOLCHAIN), clang)
-ifeq ($(shell test $(CLANG_MAJOR_VERSION)$(CLANG_MINOR_VERSION) -ge 37 && echo 1), 1)
-CFLAGS += -DVHOST_CLANG_UNROLL_PRAGMA
-endif
-endif
-
-ifeq ($(RTE_TOOLCHAIN), icc)
-ifeq ($(shell test $(ICC_MAJOR_VERSION) -ge 16 && echo 1), 1)
-CFLAGS += -DVHOST_ICC_UNROLL_PRAGMA
-endif
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_VHOST_NUMA),y)
-LDLIBS += -lnuma
-endif
-LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf -lrte_ethdev -lrte_net
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_VHOST) := fd_man.c iotlb.c socket.c vhost.c \
-					vhost_user.c virtio_net.c vdpa.c
-
-# install includes
-SYMLINK-$(CONFIG_RTE_LIBRTE_VHOST)-include += rte_vhost.h rte_vdpa.h \
-						rte_vdpa_dev.h rte_vhost_async.h
-
-# only compile vhost crypto when cryptodev is enabled
-ifeq ($(CONFIG_RTE_LIBRTE_CRYPTODEV),y)
-LDLIBS += -lrte_cryptodev -lrte_hash
-SRCS-$(CONFIG_RTE_LIBRTE_VHOST) += vhost_crypto.c
-SYMLINK-$(CONFIG_RTE_LIBRTE_VHOST)-include += rte_vhost_crypto.h
-endif
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/mk/arch/arm/rte.vars.mk b/mk/arch/arm/rte.vars.mk
deleted file mode 100644
index dc8c10a24c..0000000000
--- a/mk/arch/arm/rte.vars.mk
+++ /dev/null
@@ -1,16 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright (C) 2015 RehiveTech. All rights reserved.
-
-ARCH  ?= arm
-CROSS ?=
-
-CPU_CFLAGS  ?= -marm -munaligned-access -D_FILE_OFFSET_BITS=64
-CPU_LDFLAGS ?=
-CPU_ASFLAGS ?= -felf
-
-export ARCH CROSS CPU_CFLAGS CPU_LDFLAGS CPU_ASFLAGS
-
-RTE_OBJCOPY_TARGET = elf32-littlearm
-RTE_OBJCOPY_ARCH = arm
-
-export RTE_OBJCOPY_TARGET RTE_OBJCOPY_ARCH
diff --git a/mk/arch/arm64/rte.vars.mk b/mk/arch/arm64/rte.vars.mk
deleted file mode 100644
index a75b80c222..0000000000
--- a/mk/arch/arm64/rte.vars.mk
+++ /dev/null
@@ -1,37 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2015 Cavium, Inc
-#
-
-#
-# arch:
-#
-#   - define ARCH variable (overridden by cmdline or by previous
-#     optional define in machine .mk)
-#   - define CROSS variable (overridden by cmdline or previous define
-#     in machine .mk)
-#   - define CPU_CFLAGS variable (overridden by cmdline or previous
-#     define in machine .mk)
-#   - define CPU_LDFLAGS variable (overridden by cmdline or previous
-#     define in machine .mk)
-#   - define CPU_ASFLAGS variable (overridden by cmdline or previous
-#     define in machine .mk)
-#   - may override any previously defined variable
-#
-# examples for CONFIG_RTE_ARCH: i686, x86_64, x86_64_32
-#
-
-ARCH  ?= arm64
-# common arch dir in eal headers
-ARCH_DIR := arm
-CROSS ?=
-
-CPU_CFLAGS  ?=
-CPU_LDFLAGS ?=
-CPU_ASFLAGS ?= -felf
-
-export ARCH CROSS CPU_CFLAGS CPU_LDFLAGS CPU_ASFLAGS
-
-RTE_OBJCOPY_TARGET = elf64-littleaarch64
-RTE_OBJCOPY_ARCH = aarch64
-
-export RTE_OBJCOPY_TARGET RTE_OBJCOPY_ARCH
diff --git a/mk/arch/i686/rte.vars.mk b/mk/arch/i686/rte.vars.mk
deleted file mode 100644
index c867883f15..0000000000
--- a/mk/arch/i686/rte.vars.mk
+++ /dev/null
@@ -1,36 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# arch:
-#
-#   - define ARCH variable (overridden by cmdline or by previous
-#     optional define in machine .mk)
-#   - define CROSS variable (overridden by cmdline or previous define
-#     in machine .mk)
-#   - define CPU_CFLAGS variable (overridden by cmdline or previous
-#     define in machine .mk)
-#   - define CPU_LDFLAGS variable (overridden by cmdline or previous
-#     define in machine .mk)
-#   - define CPU_ASFLAGS variable (overridden by cmdline or previous
-#     define in machine .mk)
-#   - may override any previously defined variable
-#
-# examples for CONFIG_RTE_ARCH: i686, x86_64, x86_64_32
-#
-
-ARCH  ?= i386
-# common arch dir in eal headers
-ARCH_DIR := x86
-CROSS ?=
-
-CPU_CFLAGS  ?= -m32 -D_FILE_OFFSET_BITS=64
-CPU_LDFLAGS ?= -melf_i386
-CPU_ASFLAGS ?= -felf
-
-export ARCH CROSS CPU_CFLAGS CPU_LDFLAGS CPU_ASFLAGS
-
-RTE_OBJCOPY_TARGET = elf32-i386
-RTE_OBJCOPY_ARCH = i386
-
-export RTE_OBJCOPY_TARGET RTE_OBJCOPY_ARCH
diff --git a/mk/arch/ppc_64/rte.vars.mk b/mk/arch/ppc_64/rte.vars.mk
deleted file mode 100644
index 9f7ab22f42..0000000000
--- a/mk/arch/ppc_64/rte.vars.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright (C) IBM Corporation 2014.
-
-ARCH  ?= powerpc
-ARCH_DIR := ppc
-CROSS ?=
-
-CPU_CFLAGS  ?= -m64
-CPU_LDFLAGS ?=
-CPU_ASFLAGS ?= -felf64
-
-export ARCH CROSS CPU_CFLAGS CPU_LDFLAGS CPU_ASFLAGS
-
-RTE_OBJCOPY_TARGET = elf64-powerpcle
-RTE_OBJCOPY_ARCH = powerpc:common64
-
-export RTE_OBJCOPY_TARGET RTE_OBJCOPY_ARCH
diff --git a/mk/arch/x86_64/rte.vars.mk b/mk/arch/x86_64/rte.vars.mk
deleted file mode 100644
index e1689be9b4..0000000000
--- a/mk/arch/x86_64/rte.vars.mk
+++ /dev/null
@@ -1,36 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# arch:
-#
-#   - define ARCH variable (overridden by cmdline or by previous
-#     optional define in machine .mk)
-#   - define CROSS variable (overridden by cmdline or previous define
-#     in machine .mk)
-#   - define CPU_CFLAGS variable (overridden by cmdline or previous
-#     define in machine .mk)
-#   - define CPU_LDFLAGS variable (overridden by cmdline or previous
-#     define in machine .mk)
-#   - define CPU_ASFLAGS variable (overridden by cmdline or previous
-#     define in machine .mk)
-#   - may override any previously defined variable
-#
-# examples for CONFIG_RTE_ARCH: i686, x86_64, x86_64_32
-#
-
-ARCH  ?= x86_64
-# common arch dir in eal headers
-ARCH_DIR := x86
-CROSS ?=
-
-CPU_CFLAGS  ?= -m64
-CPU_LDFLAGS ?=
-CPU_ASFLAGS ?= -felf64
-
-export ARCH CROSS CPU_CFLAGS CPU_LDFLAGS CPU_ASFLAGS
-
-RTE_OBJCOPY_TARGET = elf64-x86-64
-RTE_OBJCOPY_ARCH = i386:x86-64
-
-export RTE_OBJCOPY_TARGET RTE_OBJCOPY_ARCH
diff --git a/mk/arch/x86_x32/rte.vars.mk b/mk/arch/x86_x32/rte.vars.mk
deleted file mode 100644
index c59b37a2c8..0000000000
--- a/mk/arch/x86_x32/rte.vars.mk
+++ /dev/null
@@ -1,40 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# arch:
-#
-#   - define ARCH variable (overridden by cmdline or by previous
-#     optional define in machine .mk)
-#   - define CROSS variable (overridden by cmdline or previous define
-#     in machine .mk)
-#   - define CPU_CFLAGS variable (overridden by cmdline or previous
-#     define in machine .mk)
-#   - define CPU_LDFLAGS variable (overridden by cmdline or previous
-#     define in machine .mk)
-#   - define CPU_ASFLAGS variable (overridden by cmdline or previous
-#     define in machine .mk)
-#   - may override any previously defined variable
-#
-# examples for CONFIG_RTE_ARCH: i686, x86_64, x86_64_32
-#
-
-ARCH  ?= x86_64
-ARCH_DIR := x86
-CROSS ?=
-
-CPU_CFLAGS  ?= -mx32
-CPU_LDFLAGS ?= -melf32_x86_64
-#CPU_ASFLAGS ?= -felf64
-# x32 is supported by Linux distribution with gcc4.8 and newer in some
-# cases there is backported support in gcc4.6
-ifneq ($(shell echo | $(CC) $(CPU_CFLAGS) -E - 2>/dev/null 1>/dev/null && echo 0), 0)
-	$(error This version of GCC does not support x32 ABI)
-endif
-
-export ARCH CROSS CPU_CFLAGS CPU_LDFLAGS CPU_ASFLAGS
-
-RTE_OBJCOPY_TARGET = elf32-x86-64
-RTE_OBJCOPY_ARCH = i386:x86-64
-
-export RTE_OBJCOPY_TARGET RTE_OBJCOPY_ARCH
diff --git a/mk/exec-env/bsdapp b/mk/exec-env/bsdapp
deleted file mode 120000
index 69f5cba2c2..0000000000
--- a/mk/exec-env/bsdapp
+++ /dev/null
@@ -1 +0,0 @@
-freebsd/
\ No newline at end of file
diff --git a/mk/exec-env/freebsd/rte.app.mk b/mk/exec-env/freebsd/rte.app.mk
deleted file mode 100644
index a2af7266a6..0000000000
--- a/mk/exec-env/freebsd/rte.app.mk
+++ /dev/null
@@ -1,8 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-exec-env-appinstall:
-	@true
-
-exec-env-appclean:
-	@true
diff --git a/mk/exec-env/freebsd/rte.vars.mk b/mk/exec-env/freebsd/rte.vars.mk
deleted file mode 100644
index 630eb55f73..0000000000
--- a/mk/exec-env/freebsd/rte.vars.mk
+++ /dev/null
@@ -1,36 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2019 Intel Corporation
-
-#
-# exec-env:
-#
-#   - define EXECENV_CFLAGS variable (overridden by cmdline)
-#   - define EXECENV_LDFLAGS variable (overridden by cmdline)
-#   - define EXECENV_ASFLAGS variable (overridden by cmdline)
-#   - may override any previously defined variable
-#
-# examples for RTE_EXEC_ENV: linux, freebsd
-#
-ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
-EXECENV_CFLAGS  = -pthread -fPIC
-else
-EXECENV_CFLAGS  = -pthread
-endif
-
-# include in every library to build
-EXECENV_CFLAGS += -I$(RTE_SDK)/lib/librte_eal/freebsd/include
-
-EXECENV_LDFLAGS =
-EXECENV_LDLIBS  = -lexecinfo
-EXECENV_ASFLAGS =
-
-ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
-EXECENV_LDLIBS += -lgcc_s
-endif
-
-# force applications to link with gcc/icc instead of using ld
-LINK_USING_CC := 1
-
-BSDMAKE=/usr/bin/make
-
-export EXECENV_CFLAGS EXECENV_LDFLAGS EXECENV_ASFLAGS
diff --git a/mk/exec-env/linux/rte.app.mk b/mk/exec-env/linux/rte.app.mk
deleted file mode 100644
index a2af7266a6..0000000000
--- a/mk/exec-env/linux/rte.app.mk
+++ /dev/null
@@ -1,8 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-exec-env-appinstall:
-	@true
-
-exec-env-appclean:
-	@true
diff --git a/mk/exec-env/linux/rte.vars.mk b/mk/exec-env/linux/rte.vars.mk
deleted file mode 100644
index 41ef4195b0..0000000000
--- a/mk/exec-env/linux/rte.vars.mk
+++ /dev/null
@@ -1,44 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2019 Intel Corporation
-
-#
-# exec-env:
-#
-#   - define EXECENV_CFLAGS variable (overridden by cmdline)
-#   - define EXECENV_LDFLAGS variable (overridden by cmdline)
-#   - define EXECENV_ASFLAGS variable (overridden by cmdline)
-#   - may override any previously defined variable
-#
-# examples for RTE_EXEC_ENV: linux, freebsd
-#
-ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
-EXECENV_CFLAGS  = -pthread -fPIC
-else
-EXECENV_CFLAGS  = -pthread
-endif
-
-# include in every library to build
-EXECENV_CFLAGS += -I$(RTE_SDK)/lib/librte_eal/linux/include
-
-EXECENV_LDLIBS  =
-EXECENV_ASFLAGS =
-
-ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
-EXECENV_LDLIBS += -lgcc_s
-endif
-
-EXECENV_LDLIBS-$(CONFIG_RTE_USE_LIBBSD) += -lbsd
-
-# force applications to link with gcc/icc instead of using ld
-LINK_USING_CC := 1
-
-# For shared libraries
-EXECENV_LDFLAGS += -export-dynamic
-# Add library to the group to resolve symbols
-EXECENV_LDLIBS  += -ldl
-
-# EXECENV_LDLIBS-y applies to lib.so and app linking
-# while EXECENV_LDLIBS applies only to app linking.
-EXECENV_LDLIBS += $(EXECENV_LDLIBS-y)
-
-export EXECENV_CFLAGS EXECENV_LDFLAGS EXECENV_ASFLAGS EXECENV_LDLIBS
diff --git a/mk/exec-env/linuxapp b/mk/exec-env/linuxapp
deleted file mode 120000
index ce5e2c77b2..0000000000
--- a/mk/exec-env/linuxapp
+++ /dev/null
@@ -1 +0,0 @@
-linux/
\ No newline at end of file
diff --git a/mk/internal/rte.build-post.mk b/mk/internal/rte.build-post.mk
deleted file mode 100644
index a6b6a9a46a..0000000000
--- a/mk/internal/rte.build-post.mk
+++ /dev/null
@@ -1,34 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-# build helper .mk
-
-# fast way, no need to do prebuild and postbuild
-ifeq ($(PREBUILD)$(POSTBUILD),)
-
-_postbuild: $(_BUILD)
-	@touch _postbuild
-
-else # slower way
-
-_prebuild: $(PREBUILD)
-	@touch _prebuild
-
-ifneq ($(_BUILD),)
-$(_BUILD): _prebuild
-else
-_BUILD = _prebuild
-endif
-
-_build: $(_BUILD)
-	@touch _build
-
-ifneq ($(POSTBUILD),)
-$(POSTBUILD): _build
-else
-POSTBUILD = _build
-endif
-
-_postbuild: $(POSTBUILD)
-	@touch _postbuild
-endif
\ No newline at end of file
diff --git a/mk/internal/rte.build-pre.mk b/mk/internal/rte.build-pre.mk
deleted file mode 100644
index 137612f19b..0000000000
--- a/mk/internal/rte.build-pre.mk
+++ /dev/null
@@ -1,7 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-_BUILD_TARGETS := _prebuild _build _postbuild
-
-comma := ,
-linkerprefix = $(subst -Wl$(comma)-L,-L,$(addprefix -Wl$(comma),$1))
diff --git a/mk/internal/rte.clean-post.mk b/mk/internal/rte.clean-post.mk
deleted file mode 100644
index 77685edd99..0000000000
--- a/mk/internal/rte.clean-post.mk
+++ /dev/null
@@ -1,34 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-# clean helper .mk
-
-# fast way, no need to do preclean and postclean
-ifeq ($(PRECLEAN)$(POSTCLEAN),)
-
-_postclean: $(_CLEAN)
-	@touch _postclean
-
-else # slower way
-
-_preclean: $(PRECLEAN)
-	@touch _preclean
-
-ifneq ($(_CLEAN),)
-$(_CLEAN): _preclean
-else
-_CLEAN = _preclean
-endif
-
-_clean: $(_CLEAN)
-	@touch _clean
-
-ifneq ($(POSTCLEAN),)
-$(POSTCLEAN): _clean
-else
-POSTCLEAN = _clean
-endif
-
-_postclean: $(POSTCLEAN)
-	@touch _postclean
-endif
diff --git a/mk/internal/rte.clean-pre.mk b/mk/internal/rte.clean-pre.mk
deleted file mode 100644
index e21607bff9..0000000000
--- a/mk/internal/rte.clean-pre.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-_CLEAN_TARGETS := _preclean _clean _postclean
diff --git a/mk/internal/rte.compile-post.mk b/mk/internal/rte.compile-post.mk
deleted file mode 100644
index 01525bee1b..0000000000
--- a/mk/internal/rte.compile-post.mk
+++ /dev/null
@@ -1,5 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-# no rule no build these files
-$(DEPS-y) $(CMDS-y):
diff --git a/mk/internal/rte.compile-pre.mk b/mk/internal/rte.compile-pre.mk
deleted file mode 100644
index df05b55769..0000000000
--- a/mk/internal/rte.compile-pre.mk
+++ /dev/null
@@ -1,164 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# Common to rte.lib.mk, rte.app.mk, rte.obj.mk
-#
-
-SRCS-all := $(SRCS-y) $(SRCS-n) $(SRCS-)
-
-# convert source to obj file
-src2obj = $(strip $(patsubst %.c,%.o,\
-	$(patsubst %.S,%_s.o,$(1))))
-
-# add a dot in front of the file name
-dotfile = $(strip $(foreach f,$(1),\
-	$(join $(dir $f),.$(notdir $f))))
-
-# convert source/obj files into dot-dep filename (does not
-# include .S files)
-src2dep = $(strip $(call dotfile,$(patsubst %.c,%.o.d, \
-		$(patsubst %.S,,$(1)))))
-obj2dep = $(strip $(call dotfile,$(patsubst %.o,%.o.d,$(1))))
-
-# convert source/obj files into dot-cmd filename
-src2cmd = $(strip $(call dotfile,$(patsubst %.c,%.o.cmd, \
-		$(patsubst %.S,%_s.o.cmd,$(1)))))
-obj2cmd = $(strip $(call dotfile,$(patsubst %.o,%.o.cmd,$(1))))
-
-OBJS-y := $(call src2obj,$(SRCS-y))
-OBJS-n := $(call src2obj,$(SRCS-n))
-OBJS-  := $(call src2obj,$(SRCS-))
-OBJS-all := $(filter-out $(SRCS-all),$(OBJS-y) $(OBJS-n) $(OBJS-))
-
-DEPS-y := $(call src2dep,$(SRCS-y))
-DEPS-n := $(call src2dep,$(SRCS-n))
-DEPS-  := $(call src2dep,$(SRCS-))
-DEPS-all := $(DEPS-y) $(DEPS-n) $(DEPS-)
-DEPSTMP-all := $(DEPS-all:%.d=%.d.tmp)
-
-CMDS-y := $(call src2cmd,$(SRCS-y))
-CMDS-n := $(call src2cmd,$(SRCS-n))
-CMDS-  := $(call src2cmd,$(SRCS-))
-CMDS-all := $(CMDS-y) $(CMDS-n) $(CMDS-)
-
--include $(DEPS-y) $(CMDS-y)
-
-# command to compile a .c file to generate an object
-ifeq ($(USE_HOST),1)
-C_TO_O = $(HOSTCC) -Wp,-MD,$(call obj2dep,$(@)).tmp $(HOST_CPPFLAGS) $(HOST_CFLAGS) \
-	$(CFLAGS_$(@)) $(HOST_EXTRA_CPPFLAGS) $(HOST_EXTRA_CFLAGS) -o $@ -c $<
-C_TO_O_STR = $(subst ','\'',$(C_TO_O)) #'# fix syntax highlight
-C_TO_O_DISP = $(if $(V),"$(C_TO_O_STR)","  HOSTCC $(@)")
-else
-C_TO_O = $(CC) -Wp,-MD,$(call obj2dep,$(@)).tmp $(CPPFLAGS) $(CFLAGS) \
-	$(CFLAGS_$(@)) $(EXTRA_CPPFLAGS) $(EXTRA_CFLAGS) -o $@ -c $<
-C_TO_O_STR = $(subst ','\'',$(C_TO_O)) #'# fix syntax highlight
-C_TO_O_DISP = $(if $(V),"$(C_TO_O_STR)","  CC $(@)")
-endif
-CHECK_SYMBOLS_SCRIPT = $(RTE_SDK)/buildtools/check-symbols.sh
-CHECK_SYMBOLS = $(CHECK_SYMBOLS_SCRIPT) $(SRCDIR)/$(EXPORT_MAP) $@
-
-PMDINFO_GEN = $(RTE_SDK_BIN)/app/dpdk-pmdinfogen $@ $@.pmd.c
-PMDINFO_CC = $(CC) $(CPPFLAGS) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@.pmd.o $@.pmd.c
-PMDINFO_LD = $(CROSS)ld -r $(filter-out -export-dynamic,$(LDFLAGS)) -o $@.o $@.pmd.o $@
-PMDINFO_TO_O = if grep -q 'RTE_PMD_REGISTER_.*(.*)' $<; then \
-	echo "$(if $V,$(PMDINFO_GEN),  PMDINFO $@.pmd.c)" && \
-	$(PMDINFO_GEN) && \
-	echo "$(if $V,$(PMDINFO_CC),  CC $@.pmd.o)" && \
-	$(PMDINFO_CC) && \
-	echo "$(if $V,$(PMDINFO_LD),  LD $@)" && \
-	$(PMDINFO_LD) && \
-	mv -f $@.o $@; fi
-C_TO_O_CMD = 'cmd_$@ = $(C_TO_O_STR)'
-C_TO_O_DO = @set -e; \
-	echo $(C_TO_O_DISP); \
-	$(C_TO_O) && \
-	$(PMDINFO_TO_O) && \
-	$(CHECK_SYMBOLS) && \
-	echo $(C_TO_O_CMD) > $(call obj2cmd,$(@)) && \
-	sed 's,'$@':,dep_'$@' =,' $(call obj2dep,$(@)).tmp > $(call obj2dep,$(@)) && \
-	rm -f $(call obj2dep,$(@)).tmp
-
-# return an empty string if string are equal
-compare = $(strip $(subst $(1),,$(2)) $(subst $(2),,$(1)))
-
-# return a non-empty string if the dst file does not exist
-file_missing = $(call compare,$(wildcard $@),$@)
-
-# return a non-empty string if cmdline changed
-cmdline_changed = $(call compare,$(strip $(cmd_$@)),$(strip $(1)))
-
-# return a non-empty string if a dependency file does not exist
-depfile_missing = $(call compare,$(wildcard $(dep_$@)),$(dep_$@))
-
-# return an empty string if no prereq is newer than target
-#     - $^ -> names of all the prerequisites
-#     - $(wildcard $^) -> every existing prereq
-#     - $(filter-out $(wildcard $^),$^) -> every prereq that don't
-#       exist (filter-out removes existing ones from the list)
-#     - $? -> names of all the prerequisites newer than target
-depfile_newer = $(strip $(filter-out FORCE,$? \
-	$(filter-out $(wildcard $^),$^)))
-
-# return 1 if parameter is a non-empty string, else 0
-boolean = $(if $1,1,0)
-
-#
-# Compile .c file if needed
-# Note: dep_$$@ is from the .d file and DEP_$$@ can be specified by
-# user (by default it is empty)
-#
-.SECONDEXPANSION:
-%.o: %.c $$(wildcard $$(dep_$$@)) $$(DEP_$$(@)) FORCE
-	@[ -d $(dir $@) ] || mkdir -p $(dir $@)
-	$(if $(D),\
-		@echo -n "$< -> $@ " ; \
-		echo -n "file_missing=$(call boolean,$(file_missing)) " ; \
-		echo -n "cmdline_changed=$(call boolean,$(call cmdline_changed,$(C_TO_O))) " ; \
-		echo -n "depfile_missing=$(call boolean,$(depfile_missing)) " ; \
-		echo "depfile_newer=$(call boolean,$(depfile_newer))")
-	$(if $(or \
-		$(file_missing),\
-		$(call cmdline_changed,$(C_TO_O)),\
-		$(depfile_missing),\
-		$(depfile_newer)),\
-		$(C_TO_O_DO))
-
-# command to assemble a .S file to generate an object
-ifeq ($(USE_HOST),1)
-S_TO_O = $(CPP) $(HOST_CPPFLAGS) $($(@)_CPPFLAGS) $(HOST_EXTRA_CPPFLAGS) $< $(@).tmp && \
-	$(HOSTAS) $(HOST_ASFLAGS) $($(@)_ASFLAGS) $(HOST_EXTRA_ASFLAGS) -o $@ $(@).tmp
-S_TO_O_STR = $(subst ','\'',$(S_TO_O)) #'# fix syntax highlight
-S_TO_O_DISP =  $(if $(V),"$(S_TO_O_STR)","  HOSTAS $(@)")
-else
-S_TO_O = $(CPP) $(CPPFLAGS) $($(@)_CPPFLAGS) $(EXTRA_CPPFLAGS) $< -o $(@).tmp && \
-	$(AS) $(ASFLAGS) $($(@)_ASFLAGS) $(EXTRA_ASFLAGS) -o $@ $(@).tmp
-S_TO_O_STR = $(subst ','\'',$(S_TO_O)) #'# fix syntax highlight
-S_TO_O_DISP =  $(if $(V),"$(S_TO_O_STR)","  AS $(@)")
-endif
-
-S_TO_O_CMD = "cmd_$@ = $(S_TO_O_STR)"
-S_TO_O_DO = @set -e; \
-	echo $(S_TO_O_DISP); \
-	$(S_TO_O) && \
-	echo $(S_TO_O_CMD) > $(call obj2cmd,$(@))
-
-#
-# Compile .S file if needed
-# Note: DEP_$$@ can be specified by user (by default it is empty)
-#
-%_s.o: %.S $$(DEP_$$@) FORCE
-	@[ ! -d $(dir $@) ] || mkdir -p $(dir $@)
-	$(if $(D),\
-		@echo -n "$< -> $@ " ; \
-		echo -n "file_missing=$(call boolean,$(file_missing)) " ; \
-		echo -n "cmdline_changed=$(call boolean,$(call cmdline_changed,$(S_TO_O_STR))) " ; \
-		echo -n "depfile_missing=$(call boolean,$(depfile_missing)) " ; \
-		echo "depfile_newer=$(call boolean,$(depfile_newer)) ")
-	$(if $(or \
-		$(file_missing),\
-		$(call cmdline_changed,$(S_TO_O_STR)),\
-		$(depfile_missing),\
-		$(depfile_newer)),\
-		$(S_TO_O_DO))
diff --git a/mk/internal/rte.extvars.mk b/mk/internal/rte.extvars.mk
deleted file mode 100644
index 98c860628a..0000000000
--- a/mk/internal/rte.extvars.mk
+++ /dev/null
@@ -1,55 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# directory where sources are located
-#
-ifdef S
-ifeq ("$(origin S)", "command line")
-RTE_SRCDIR := $(abspath $(S))
-endif
-endif
-RTE_SRCDIR  ?= $(CURDIR)
-export RTE_SRCDIR
-
-#
-# Makefile to call once $(RTE_OUTPUT) is created
-#
-ifdef M
-ifeq ("$(origin M)", "command line")
-RTE_EXTMK := $(abspath $(M))
-endif
-endif
-RTE_EXTMK ?= $(RTE_SRCDIR)/$(notdir $(firstword $(MAKEFILE_LIST)))
-export RTE_EXTMK
-
-# RTE_SDK_BIN must point to .config, include/ and lib/.
-RTE_SDK_BIN := $(RTE_SDK)/$(RTE_TARGET)
-ifeq ($(wildcard $(RTE_SDK_BIN)/.config),)
-$(error Cannot find .config in $(RTE_SDK_BIN))
-endif
-
-#
-# Output files wil go in a separate directory: default output is
-# $(RTE_SRCDIR)/build
-# Output dir can be given as command line using "O="
-#
-ifdef O
-ifeq ("$(origin O)", "command line")
-RTE_OUTPUT := $(abspath $(O))
-endif
-endif
-RTE_OUTPUT ?= $(RTE_SRCDIR)/build
-export RTE_OUTPUT
-
-# if we are building an external application, include SDK
-# configuration and include project configuration if any
-include $(RTE_SDK_BIN)/.config
-ifneq ($(wildcard $(RTE_OUTPUT)/.config),)
-  include $(RTE_OUTPUT)/.config
-endif
-# remove double-quotes from config names
-RTE_ARCH := $(CONFIG_RTE_ARCH:"%"=%)
-RTE_MACHINE := $(CONFIG_RTE_MACHINE:"%"=%)
-RTE_EXEC_ENV := $(CONFIG_RTE_EXEC_ENV:"%"=%)
-RTE_TOOLCHAIN := $(CONFIG_RTE_TOOLCHAIN:"%"=%)
diff --git a/mk/internal/rte.install-post.mk b/mk/internal/rte.install-post.mk
deleted file mode 100644
index a1aa0ca4ff..0000000000
--- a/mk/internal/rte.install-post.mk
+++ /dev/null
@@ -1,71 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-# install helper .mk
-
-#
-# generate rules to install files in RTE_OUTPUT.
-#
-# arg1: relative install dir in RTE_OUTPUT
-# arg2: relative file name in a source dir (VPATH)
-#
-define install_rule
-$(addprefix $(RTE_OUTPUT)/$(1)/,$(notdir $(2))): $(2)
-	@echo "  INSTALL-FILE $(addprefix $(1)/,$(notdir $(2)))"
-	@[ -d $(RTE_OUTPUT)/$(1) ] || mkdir -p $(RTE_OUTPUT)/$(1)
-	$(Q)cp -rf $$(<) $(RTE_OUTPUT)/$(1)
-endef
-
-$(foreach dir,$(INSTALL-DIRS-y),\
-	$(foreach file,$(INSTALL-y-$(dir)),\
-		$(eval $(call install_rule,$(dir),$(file)))))
-
-
-#
-# generate rules to install symbolic links of files in RTE_OUTPUT.
-#
-# arg1: relative install dir in RTE_OUTPUT
-# arg2: relative file name in a source dir (VPATH)
-#
-define symlink_rule
-$(addprefix $(RTE_OUTPUT)/$(1)/,$(notdir $(2))): $(2)
-	@echo "  SYMLINK-FILE $(addprefix $(1)/,$(notdir $(2)))"
-	@[ -d $(RTE_OUTPUT)/$(1) ] || mkdir -p $(RTE_OUTPUT)/$(1)
-	$(Q)ln -nsf `$(RTE_SDK)/buildtools/relpath.sh $$(<) $(RTE_OUTPUT)/$(1)` \
-		$(RTE_OUTPUT)/$(1)
-endef
-
-$(foreach dir,$(SYMLINK-DIRS-y),\
-	$(foreach file,$(SYMLINK-y-$(dir)),\
-		$(eval $(call symlink_rule,$(dir),$(file)))))
-
-
-# fast way, no need to do preinstall and postinstall
-ifeq ($(PREINSTALL)$(POSTINSTALL),)
-
-_postinstall: $(_INSTALL)
-	@touch _postinstall
-
-else # slower way
-
-_preinstall: $(PREINSTALL)
-	@touch _preinstall
-
-ifneq ($(_INSTALL),)
-$(_INSTALL): _preinstall
-else
-_INSTALL = _preinstall
-endif
-
-_install: $(_INSTALL)
-	@touch _install
-
-ifneq ($(POSTINSTALL),)
-$(POSTINSTALL): _install
-else
-POSTINSTALL = _install
-endif
-
-_postinstall: $(POSTINSTALL)
-	@touch _postinstall
-endif
diff --git a/mk/internal/rte.install-pre.mk b/mk/internal/rte.install-pre.mk
deleted file mode 100644
index 4786d3b28b..0000000000
--- a/mk/internal/rte.install-pre.mk
+++ /dev/null
@@ -1,32 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# get all variables starting with "INSTALL-y-", and extract the
-# installation dir and path
-#
-INSTALL-y := $(filter INSTALL-y-%,$(.VARIABLES))
-INSTALL-n := $(filter INSTALL-n-%,$(.VARIABLES))
-INSTALL- := $(filter INSTALL--%,$(.VARIABLES))
-INSTALL-DIRS-y := $(patsubst INSTALL-y-%,%,$(INSTALL-y))
-INSTALL-FILES-y := $(foreach i,$(INSTALL-DIRS-y),\
-	$(addprefix $(RTE_OUTPUT)/$(i)/,$(notdir $(INSTALL-y-$(i)))))
-INSTALL-FILES-all := $(foreach i,$(INSTALL-DIRS-y) $(INSTALL-DIRS-n) $(INSTALL-DIRS-),\
-	$(addprefix $(RTE_OUTPUT)/$(i)/,$(notdir $(INSTALL-y-$(i)))))
-
-_INSTALL_TARGETS := _preinstall _install _postinstall
-
-#
-# get all variables starting with "SYMLINK-y-", and extract the
-# installation dir and path
-#
-SYMLINK-y := $(filter SYMLINK-y-%,$(.VARIABLES))
-SYMLINK-n := $(filter SYMLINK-n-%,$(.VARIABLES))
-SYMLINK- := $(filter SYMLINK--%,$(.VARIABLES))
-SYMLINK-DIRS-y := $(patsubst SYMLINK-y-%,%,$(SYMLINK-y))
-SYMLINK-FILES-y := $(foreach i,$(SYMLINK-DIRS-y),\
-	$(addprefix $(RTE_OUTPUT)/$(i)/,$(notdir $(SYMLINK-y-$(i)))))
-SYMLINK-FILES-all := $(foreach i,$(SYMLINK-DIRS-y) $(SYMLINK-DIRS-n) $(SYMLINK-DIRS-),\
-	$(addprefix $(RTE_OUTPUT)/$(i)/,$(notdir $(SYMLINK-y-$(i)))))
-
-_SYMLINK_TARGETS := _presymlink _symlink _postsymlink
diff --git a/mk/machine/armv7a/rte.vars.mk b/mk/machine/armv7a/rte.vars.mk
deleted file mode 100644
index 44ebd68dae..0000000000
--- a/mk/machine/armv7a/rte.vars.mk
+++ /dev/null
@@ -1,36 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright (C) 2015 RehiveTech. All rights reserved.
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-MACHINE_CFLAGS += -march=armv7-a
-
-ifdef CONFIG_RTE_ARCH_ARM_TUNE
-MACHINE_CFLAGS += -mtune=$(CONFIG_RTE_ARCH_ARM_TUNE:"%"=%)
-endif
-
-MACHINE_CFLAGS += -mfpu=neon
diff --git a/mk/machine/armv8a/rte.vars.mk b/mk/machine/armv8a/rte.vars.mk
deleted file mode 100644
index 5e3ffc3adf..0000000000
--- a/mk/machine/armv8a/rte.vars.mk
+++ /dev/null
@@ -1,31 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2015 Cavium, Inc
-#
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-MACHINE_CFLAGS += -march=armv8-a+crc
diff --git a/mk/machine/default/rte.vars.mk b/mk/machine/default/rte.vars.mk
deleted file mode 100644
index df08d3b038..0000000000
--- a/mk/machine/default/rte.vars.mk
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-MACHINE_CFLAGS += -march=corei7
diff --git a/mk/machine/dpaa/rte.vars.mk b/mk/machine/dpaa/rte.vars.mk
deleted file mode 100644
index 75df626ff2..0000000000
--- a/mk/machine/dpaa/rte.vars.mk
+++ /dev/null
@@ -1,37 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright (c) 2016 Freescale Semiconductor, Inc. All rights reserved.
-# Copyright 2017 NXP
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-MACHINE_CFLAGS += -march=armv8-a+crc
-
-ifdef CONFIG_RTE_ARCH_ARM_TUNE
-MACHINE_CFLAGS += -mtune=$(CONFIG_RTE_ARCH_ARM_TUNE:"%"=%)
-endif
-
-# To avoid TLS corruption issue.
-MACHINE_CFLAGS += -mtls-dialect=trad
diff --git a/mk/machine/emag/rte.vars.mk b/mk/machine/emag/rte.vars.mk
deleted file mode 100644
index 50342dfa27..0000000000
--- a/mk/machine/emag/rte.vars.mk
+++ /dev/null
@@ -1,32 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019 Ampere Computing
-#
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-MACHINE_CFLAGS += -march=armv8-a+crc+crypto
-MACHINE_CFLAGS += $(call rte_cc_has_argument, -mtune=emag)
diff --git a/mk/machine/hsw/rte.vars.mk b/mk/machine/hsw/rte.vars.mk
deleted file mode 100644
index 39099e760e..0000000000
--- a/mk/machine/hsw/rte.vars.mk
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-MACHINE_CFLAGS = -march=core-avx2
diff --git a/mk/machine/ivb/rte.vars.mk b/mk/machine/ivb/rte.vars.mk
deleted file mode 100644
index 5b6563742a..0000000000
--- a/mk/machine/ivb/rte.vars.mk
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-MACHINE_CFLAGS = -march=core-avx-i
diff --git a/mk/machine/n1sdp/rte.vars.mk b/mk/machine/n1sdp/rte.vars.mk
deleted file mode 100644
index 6d69de03c9..0000000000
--- a/mk/machine/n1sdp/rte.vars.mk
+++ /dev/null
@@ -1,34 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019 Arm Ltd
-#
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-include $(RTE_SDK)/mk/rte.helper.mk
-
-MACHINE_CFLAGS += $(call rte_cc_has_argument, -march=armv8.2-a+crc+crypto)
-MACHINE_CFLAGS += $(call rte_cc_has_argument, -mcpu=neoverse-n1)
diff --git a/mk/machine/native/rte.vars.mk b/mk/machine/native/rte.vars.mk
deleted file mode 100644
index 8c96e3fa04..0000000000
--- a/mk/machine/native/rte.vars.mk
+++ /dev/null
@@ -1,39 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-MACHINE_CFLAGS = -march=native
-
-# On FreeBSD systems, sometimes the correct CPU type is not picked up.
-# To get everything to compile, we need SSE4.2 support, so check if that is
-# reported by compiler. If not, check if the CPU actually supports it, and if
-# so, set the compilation target to be a corei7, minimum target with SSE4.2.
-SSE42_SUPPORT=$(shell $(CC) -march=native -dM -E - </dev/null | grep SSE4_2)
-ifeq ($(SSE42_SUPPORT),)
-    MACHINE_CFLAGS = -march=corei7
-endif
diff --git a/mk/machine/nhm/rte.vars.mk b/mk/machine/nhm/rte.vars.mk
deleted file mode 100644
index 91de5d9bed..0000000000
--- a/mk/machine/nhm/rte.vars.mk
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-MACHINE_CFLAGS = -march=corei7
diff --git a/mk/machine/octeontx2/rte.vars.mk b/mk/machine/octeontx2/rte.vars.mk
deleted file mode 100644
index e209cf4920..0000000000
--- a/mk/machine/octeontx2/rte.vars.mk
+++ /dev/null
@@ -1,34 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Marvell International Ltd
-#
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-include $(RTE_SDK)/mk/rte.helper.mk
-
-MACHINE_CFLAGS += $(call rte_cc_has_argument, -march=armv8.2-a+crc+crypto+lse)
-MACHINE_CFLAGS += $(call rte_cc_has_argument, -mcpu=octeontx2)
diff --git a/mk/machine/power8/rte.vars.mk b/mk/machine/power8/rte.vars.mk
deleted file mode 100644
index 00e0834b8a..0000000000
--- a/mk/machine/power8/rte.vars.mk
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright (C) IBM Corporation 2014.
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-MACHINE_CFLAGS =
diff --git a/mk/machine/silvermont/rte.vars.mk b/mk/machine/silvermont/rte.vars.mk
deleted file mode 100644
index e4f3fe42bd..0000000000
--- a/mk/machine/silvermont/rte.vars.mk
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-MACHINE_CFLAGS = -march=silvermont
diff --git a/mk/machine/snb/rte.vars.mk b/mk/machine/snb/rte.vars.mk
deleted file mode 100644
index efe2f32d70..0000000000
--- a/mk/machine/snb/rte.vars.mk
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-MACHINE_CFLAGS = -march=corei7-avx
diff --git a/mk/machine/thunderx/rte.vars.mk b/mk/machine/thunderx/rte.vars.mk
deleted file mode 100644
index 047741668c..0000000000
--- a/mk/machine/thunderx/rte.vars.mk
+++ /dev/null
@@ -1,31 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2015 Cavium, Inc
-#
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-MACHINE_CFLAGS += -march=armv8-a+crc+crypto -mcpu=thunderx
diff --git a/mk/machine/thunderx2/rte.vars.mk b/mk/machine/thunderx2/rte.vars.mk
deleted file mode 100644
index b80dc8680c..0000000000
--- a/mk/machine/thunderx2/rte.vars.mk
+++ /dev/null
@@ -1,34 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Marvell International Ltd
-#
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-include $(RTE_SDK)/mk/rte.helper.mk
-
-MACHINE_CFLAGS += $(call rte_cc_has_argument, -march=armv8.1-a+crc+crypto)
-MACHINE_CFLAGS += $(call rte_cc_has_argument, -mcpu=thunderx2t99)
diff --git a/mk/machine/wsm/rte.vars.mk b/mk/machine/wsm/rte.vars.mk
deleted file mode 100644
index e9bc3f9848..0000000000
--- a/mk/machine/wsm/rte.vars.mk
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-MACHINE_CFLAGS = -march=corei7 -maes -mpclmul
diff --git a/mk/machine/xgene1/rte.vars.mk b/mk/machine/xgene1/rte.vars.mk
deleted file mode 100644
index e632f3139b..0000000000
--- a/mk/machine/xgene1/rte.vars.mk
+++ /dev/null
@@ -1,31 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2015 Cavium, Inc
-#
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-MACHINE_CFLAGS += -march=armv8-a
diff --git a/mk/rte.app.mk b/mk/rte.app.mk
deleted file mode 100644
index a544259970..0000000000
--- a/mk/rte.app.mk
+++ /dev/null
@@ -1,509 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2017 Intel Corporation.
-# Copyright(c) 2014-2015 6WIND S.A.
-
-include $(RTE_SDK)/mk/internal/rte.compile-pre.mk
-include $(RTE_SDK)/mk/internal/rte.install-pre.mk
-include $(RTE_SDK)/mk/internal/rte.clean-pre.mk
-include $(RTE_SDK)/mk/internal/rte.build-pre.mk
-
-# VPATH contains at least SRCDIR
-VPATH += $(SRCDIR)
-
-_BUILD = $(APP)
-_INSTALL = $(INSTALL-FILES-y) $(SYMLINK-FILES-y)
-_INSTALL += $(RTE_OUTPUT)/app/$(APP) $(RTE_OUTPUT)/app/$(APP).map
-POSTINSTALL += target-appinstall
-_CLEAN = doclean
-POSTCLEAN += target-appclean
-
-ifeq ($(NO_LDSCRIPT),)
-LDSCRIPT = $(RTE_LDSCRIPT)
-endif
-
-# Link only the libraries used in the application
-LDFLAGS += --as-needed
-
-# default path for libs
-_LDLIBS-y += -L$(RTE_SDK_BIN)/lib
-
-#
-# Order is important: from higher level to lower level
-#
-_LDLIBS-$(CONFIG_RTE_LIBRTE_FLOW_CLASSIFY)  += -lrte_flow_classify
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PIPELINE)       += --whole-archive
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PIPELINE)       += -lrte_pipeline
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PIPELINE)       += --no-whole-archive
-_LDLIBS-$(CONFIG_RTE_LIBRTE_TABLE)          += --whole-archive
-_LDLIBS-$(CONFIG_RTE_LIBRTE_TABLE)          += -lrte_table
-_LDLIBS-$(CONFIG_RTE_LIBRTE_TABLE)          += --no-whole-archive
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PORT)           += --whole-archive
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PORT)           += -lrte_port
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PORT)           += --no-whole-archive
-
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PDUMP)          += -lrte_pdump
-_LDLIBS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR)    += -lrte_distributor
-_LDLIBS-$(CONFIG_RTE_LIBRTE_IP_FRAG)        += -lrte_ip_frag
-_LDLIBS-$(CONFIG_RTE_LIBRTE_METER)          += -lrte_meter
-_LDLIBS-$(CONFIG_RTE_LIBRTE_FIB)            += -lrte_fib
-_LDLIBS-$(CONFIG_RTE_LIBRTE_RIB)            += -lrte_rib
-_LDLIBS-$(CONFIG_RTE_LIBRTE_LPM)            += -lrte_lpm
-_LDLIBS-$(CONFIG_RTE_LIBRTE_ACL)            += -lrte_acl
-_LDLIBS-$(CONFIG_RTE_LIBRTE_JOBSTATS)       += -lrte_jobstats
-_LDLIBS-$(CONFIG_RTE_LIBRTE_METRICS)        += --whole-archive
-_LDLIBS-$(CONFIG_RTE_LIBRTE_METRICS)        += -lrte_metrics
-ifeq ($(CONFIG_RTE_LIBRTE_TELEMETRY),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_METRICS)        += -ljansson
-endif
-_LDLIBS-$(CONFIG_RTE_LIBRTE_METRICS)        += --no-whole-archive
-_LDLIBS-$(CONFIG_RTE_LIBRTE_BITRATE)        += -lrte_bitratestats
-_LDLIBS-$(CONFIG_RTE_LIBRTE_LATENCY_STATS)  += -lrte_latencystats
-_LDLIBS-$(CONFIG_RTE_LIBRTE_POWER)          += -lrte_power
-
-_LDLIBS-$(CONFIG_RTE_LIBRTE_EFD)            += -lrte_efd
-_LDLIBS-$(CONFIG_RTE_LIBRTE_BPF)            += -lrte_bpf
-ifeq ($(CONFIG_RTE_LIBRTE_BPF_ELF),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_BPF)            += -lelf
-endif
-
-_LDLIBS-$(CONFIG_RTE_LIBRTE_IPSEC)            += -lrte_ipsec
-
-_LDLIBS-y += --whole-archive
-
-_LDLIBS-$(CONFIG_RTE_LIBRTE_CFGFILE)        += -lrte_cfgfile
-_LDLIBS-$(CONFIG_RTE_LIBRTE_GRO)            += -lrte_gro
-_LDLIBS-$(CONFIG_RTE_LIBRTE_GSO)            += -lrte_gso
-_LDLIBS-$(CONFIG_RTE_LIBRTE_HASH)           += -lrte_hash
-_LDLIBS-$(CONFIG_RTE_LIBRTE_MEMBER)         += -lrte_member
-_LDLIBS-$(CONFIG_RTE_LIBRTE_VHOST)          += -lrte_vhost
-_LDLIBS-$(CONFIG_RTE_LIBRTE_KVARGS)         += -lrte_kvargs
-_LDLIBS-y                                   += -lrte_telemetry
-_LDLIBS-$(CONFIG_RTE_LIBRTE_MBUF)           += -lrte_mbuf
-_LDLIBS-$(CONFIG_RTE_LIBRTE_NET)            += -lrte_net
-_LDLIBS-$(CONFIG_RTE_LIBRTE_ETHER)          += -lrte_ethdev
-_LDLIBS-$(CONFIG_RTE_LIBRTE_BBDEV)          += -lrte_bbdev
-_LDLIBS-$(CONFIG_RTE_LIBRTE_CRYPTODEV)      += -lrte_cryptodev
-_LDLIBS-$(CONFIG_RTE_LIBRTE_SECURITY)       += -lrte_security
-_LDLIBS-$(CONFIG_RTE_LIBRTE_COMPRESSDEV)    += -lrte_compressdev
-_LDLIBS-$(CONFIG_RTE_LIBRTE_REGEXDEV)       += -lrte_regexdev
-_LDLIBS-$(CONFIG_RTE_LIBRTE_EVENTDEV)       += -lrte_eventdev
-_LDLIBS-$(CONFIG_RTE_LIBRTE_RAWDEV)         += -lrte_rawdev
-_LDLIBS-$(CONFIG_RTE_LIBRTE_TIMER)          += -lrte_timer
-_LDLIBS-$(CONFIG_RTE_LIBRTE_MEMPOOL)        += -lrte_mempool
-_LDLIBS-$(CONFIG_RTE_LIBRTE_STACK)          += -lrte_stack
-_LDLIBS-$(CONFIG_RTE_DRIVER_MEMPOOL_RING)   += -lrte_mempool_ring
-_LDLIBS-$(CONFIG_RTE_LIBRTE_OCTEONTX2_MEMPOOL) += -lrte_mempool_octeontx2
-_LDLIBS-$(CONFIG_RTE_LIBRTE_RING)           += -lrte_ring
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PCI)            += -lrte_pci
-_LDLIBS-$(CONFIG_RTE_LIBRTE_EAL)            += -lrte_eal
-_LDLIBS-$(CONFIG_RTE_LIBRTE_CMDLINE)        += -lrte_cmdline
-_LDLIBS-$(CONFIG_RTE_LIBRTE_REORDER)        += -lrte_reorder
-_LDLIBS-$(CONFIG_RTE_LIBRTE_SCHED)          += -lrte_sched
-_LDLIBS-$(CONFIG_RTE_LIBRTE_RCU)            += -lrte_rcu
-_LDLIBS-$(CONFIG_RTE_LIBRTE_GRAPH)          += -lrte_graph
-_LDLIBS-$(CONFIG_RTE_LIBRTE_NODE)           += -lrte_node
-
-ifeq ($(CONFIG_RTE_EXEC_ENV_LINUX),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_KNI)            += -lrte_kni
-endif
-
-OTX-CPT-y := $(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_CRYPTO)
-OTX-CPT-y += $(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO)
-ifeq ($(findstring y,$(OTX-CPT-y)),y)
-_LDLIBS-y += -lrte_common_cpt
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF)$(CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL),yy)
-_LDLIBS-y += -lrte_common_octeontx
-endif
-OCTEONTX2-y := $(CONFIG_RTE_LIBRTE_OCTEONTX2_MEMPOOL)
-OCTEONTX2-y += $(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO)
-OCTEONTX2-y += $(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV)
-OCTEONTX2-y += $(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_DMA_RAWDEV)
-OCTEONTX2-y += $(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EP_RAWDEV)
-OCTEONTX2-y += $(CONFIG_RTE_LIBRTE_OCTEONTX2_PMD)
-ifeq ($(findstring y,$(OCTEONTX2-y)),y)
-_LDLIBS-y += -lrte_common_octeontx2
-endif
-
-MVEP-y := $(CONFIG_RTE_LIBRTE_MVPP2_PMD)
-MVEP-y += $(CONFIG_RTE_LIBRTE_MVNETA_PMD)
-MVEP-y += $(CONFIG_RTE_LIBRTE_PMD_MVSAM_CRYPTO)
-ifneq (,$(findstring y,$(MVEP-y)))
-_LDLIBS-y += -lrte_common_mvep -L$(LIBMUSDK_PATH)/lib -lmusdk
-endif
-
-DPAAX-y := $(CONFIG_RTE_LIBRTE_DPAA_BUS)
-DPAAX-y += $(CONFIG_RTE_LIBRTE_FSLMC_BUS)
-DPAAX-y += $(CONFIG_RTE_LIBRTE_ENETC_PMD)
-DPAAX-y += $(CONFIG_RTE_LIBRTE_PMD_CAAM_JR)
-DPAAX-y += $(CONFIG_RTE_LIBRTE_PFE_PMD)
-ifeq ($(findstring y,$(DPAAX-y)),y)
- _LDLIBS-y += -lrte_common_dpaax
-endif
-
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PCI_BUS)        += -lrte_bus_pci
-_LDLIBS-$(CONFIG_RTE_LIBRTE_VDEV_BUS)       += -lrte_bus_vdev
-_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA_BUS)       += -lrte_bus_dpaa
-ifeq ($(CONFIG_RTE_EAL_VFIO),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS)      += -lrte_bus_fslmc
-endif
-
-ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),n)
-# plugins (link only if static libraries)
-
-_LDLIBS-$(CONFIG_RTE_DRIVER_MEMPOOL_BUCKET) += -lrte_mempool_bucket
-_LDLIBS-$(CONFIG_RTE_DRIVER_MEMPOOL_STACK)  += -lrte_mempool_stack
-ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA_MEMPOOL)   += -lrte_mempool_dpaa
-endif
-ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL)  += -lrte_mempool_dpaa2
-endif
-
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AF_PACKET)  += -lrte_pmd_af_packet
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AF_XDP)     += -lrte_pmd_af_xdp -lbpf
-_LDLIBS-$(CONFIG_RTE_LIBRTE_ARK_PMD)        += -lrte_pmd_ark
-_LDLIBS-$(CONFIG_RTE_LIBRTE_ATLANTIC_PMD)   += -lrte_pmd_atlantic
-_LDLIBS-$(CONFIG_RTE_LIBRTE_AVP_PMD)        += -lrte_pmd_avp
-_LDLIBS-$(CONFIG_RTE_LIBRTE_AXGBE_PMD)      += -lrte_pmd_axgbe
-_LDLIBS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD)      += -lrte_pmd_bnx2x -lz
-_LDLIBS-$(CONFIG_RTE_LIBRTE_BNXT_PMD)       += -lrte_pmd_bnxt
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BOND)       += -lrte_pmd_bond
-_LDLIBS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD)      += -lrte_pmd_cxgbe
-ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA_PMD)       += -lrte_pmd_dpaa
-endif
-ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD)      += -lrte_pmd_dpaa2
-endif
-_LDLIBS-$(CONFIG_RTE_LIBRTE_E1000_PMD)      += -lrte_pmd_e1000
-_LDLIBS-$(CONFIG_RTE_LIBRTE_ENA_PMD)        += -lrte_pmd_ena
-_LDLIBS-$(CONFIG_RTE_LIBRTE_ENETC_PMD)      += -lrte_pmd_enetc
-_LDLIBS-$(CONFIG_RTE_LIBRTE_ENIC_PMD)       += -lrte_pmd_enic
-_LDLIBS-$(CONFIG_RTE_LIBRTE_FM10K_PMD)      += -lrte_pmd_fm10k
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_FAILSAFE)   += -lrte_pmd_failsafe
-_LDLIBS-$(CONFIG_RTE_LIBRTE_HINIC_PMD)      += -lrte_pmd_hinic
-_LDLIBS-$(CONFIG_RTE_LIBRTE_HNS3_PMD)       += -lrte_pmd_hns3
-_LDLIBS-$(CONFIG_RTE_LIBRTE_I40E_PMD)       += -lrte_pmd_i40e
-_LDLIBS-$(CONFIG_RTE_LIBRTE_IAVF_PMD)       += -lrte_pmd_iavf
-_LDLIBS-$(CONFIG_RTE_LIBRTE_ICE_PMD)        += -lrte_pmd_ice
-IAVF-y := $(CONFIG_RTE_LIBRTE_IAVF_PMD)
-IAVF-y += $(CONFIG_RTE_LIBRTE_ICE_PMD)
-ifeq ($(findstring y,$(IAVF-y)),y)
-_LDLIBS-y += -lrte_common_iavf
-endif
-_LDLIBS-$(CONFIG_RTE_LIBRTE_IGC_PMD)        += -lrte_pmd_igc
-_LDLIBS-$(CONFIG_RTE_LIBRTE_IONIC_PMD)      += -lrte_pmd_ionic
-_LDLIBS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD)      += -lrte_pmd_ixgbe
-ifeq ($(CONFIG_RTE_LIBRTE_KNI),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_KNI)        += -lrte_pmd_kni
-endif
-_LDLIBS-$(CONFIG_RTE_LIBRTE_LIO_PMD)        += -lrte_pmd_lio
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_MEMIF)      += -lrte_pmd_memif
-_LDLIBS-$(CONFIG_RTE_LIBRTE_MLX4_PMD)       += -lrte_pmd_mlx4
-ifeq ($(findstring y,$(CONFIG_RTE_LIBRTE_MLX5_PMD)$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD)),y)
-_LDLIBS-y                                   += -lrte_common_mlx5
-endif
-_LDLIBS-$(CONFIG_RTE_LIBRTE_MLX5_PMD)       += -lrte_pmd_mlx5
-_LDLIBS-$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)  += -lrte_pmd_mlx5_vdpa
-_LDLIBS-$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD)  += -lrte_pmd_mlx5_regex
-ifeq ($(CONFIG_RTE_IBVERBS_LINK_DLOPEN),y)
-_LDLIBS-y                                   += -ldl
-else ifeq ($(CONFIG_RTE_IBVERBS_LINK_STATIC),y)
-LIBS_IBVERBS_STATIC = $(shell $(RTE_SDK)/buildtools/options-ibverbs-static.sh)
-_LDLIBS-y                                   += --no-whole-archive
-_LDLIBS-y                                   += $(LIBS_IBVERBS_STATIC)
-_LDLIBS-y                                   += --whole-archive
-else
-ifeq ($(findstring y,$(CONFIG_RTE_LIBRTE_MLX5_PMD)$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD)),y)
-_LDLIBS-y                                   += -libverbs -lmlx5
-endif
-_LDLIBS-$(CONFIG_RTE_LIBRTE_MLX4_PMD)       += -libverbs -lmlx4
-endif
-_LDLIBS-$(CONFIG_RTE_LIBRTE_MVPP2_PMD)      += -lrte_pmd_mvpp2
-_LDLIBS-$(CONFIG_RTE_LIBRTE_MVNETA_PMD)     += -lrte_pmd_mvneta
-_LDLIBS-$(CONFIG_RTE_LIBRTE_NFP_PMD)        += -lrte_pmd_nfp
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_NULL)       += -lrte_pmd_null
-_LDLIBS-$(CONFIG_RTE_LIBRTE_OCTEONTX2_PMD)  += -lrte_pmd_octeontx2 -lm
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_PCAP)       += -lrte_pmd_pcap -lpcap
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PFE_PMD)        += -lrte_pmd_pfe
-_LDLIBS-$(CONFIG_RTE_LIBRTE_QEDE_PMD)       += -lrte_pmd_qede
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_RING)       += -lrte_pmd_ring
-ifeq ($(CONFIG_RTE_LIBRTE_SCHED),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC)      += -lrte_pmd_softnic
-endif
-_LDLIBS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD)    += -lrte_pmd_sfc_efx
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_SZEDATA2)   += -lrte_pmd_szedata2 -lsze2
-_LDLIBS-$(CONFIG_RTE_LIBRTE_NFB_PMD)        += -lrte_pmd_nfb
-_LDLIBS-$(CONFIG_RTE_LIBRTE_NFB_PMD)        +=  $(shell command -v pkg-config > /dev/null 2>&1 && pkg-config --libs netcope-common)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_TAP)        += -lrte_pmd_tap
-_LDLIBS-$(CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD) += -lrte_pmd_thunderx_nicvf
-_LDLIBS-$(CONFIG_RTE_LIBRTE_VDEV_NETVSC_PMD) += -lrte_pmd_vdev_netvsc
-_LDLIBS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD)     += -lrte_pmd_virtio
-ifeq ($(CONFIG_RTE_LIBRTE_VHOST),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_VHOST)      += -lrte_pmd_vhost
-ifeq ($(CONFIG_RTE_EAL_VFIO),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_IFC_PMD) += -lrte_pmd_ifc
-endif # $(CONFIG_RTE_EAL_VFIO)
-endif # $(CONFIG_RTE_LIBRTE_VHOST)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_VMXNET3_PMD)    += -lrte_pmd_vmxnet3_uio
-
-_LDLIBS-$(CONFIG_RTE_LIBRTE_VMBUS)          += -lrte_bus_vmbus
-_LDLIBS-$(CONFIG_RTE_LIBRTE_NETVSC_PMD)     += -lrte_pmd_netvsc
-
-ifeq ($(CONFIG_RTE_LIBRTE_BBDEV),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_NULL)     += -lrte_pmd_bbdev_null
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_LTE_FEC) += -lrte_pmd_bbdev_fpga_lte_fec
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_5GNR_FEC) += -lrte_pmd_bbdev_fpga_5gnr_fec
-
-# TURBO SOFTWARE PMD is dependent on the FLEXRAN library
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += -lrte_pmd_bbdev_turbo_sw
-ifeq ($(CONFIG_RTE_BBDEV_SDK_AVX2),y)
-# Dependency on the FLEXRAN SDK library if available
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += -L$(FLEXRAN_SDK)/lib_crc -lcrc
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += -L$(FLEXRAN_SDK)/lib_turbo -lturbo
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += -L$(FLEXRAN_SDK)/lib_rate_matching -lrate_matching
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += -L$(FLEXRAN_SDK)/lib_common -lcommon
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += -lirc -limf -lstdc++ -lipps -lsvml
-ifeq ($(CONFIG_RTE_BBDEV_SDK_AVX512),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += -L$(FLEXRAN_SDK)/lib_LDPC_ratematch_5gnr -lLDPC_ratematch_5gnr
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += -L$(FLEXRAN_SDK)/lib_ldpc_encoder_5gnr -lldpc_encoder_5gnr
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += -L$(FLEXRAN_SDK)/lib_ldpc_decoder_5gnr -lldpc_decoder_5gnr
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += -L$(FLEXRAN_SDK)/lib_rate_dematching_5gnr -lrate_dematching_5gnr
-endif # CONFIG_RTE_BBDEV_SDK_AVX512
-endif # CONFIG_RTE_BBDEV_SDK_AVX2
-endif # CONFIG_RTE_LIBRTE_BBDEV
-
-ifeq ($(CONFIG_RTE_LIBRTE_CRYPTODEV),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB)    += -lrte_pmd_aesni_mb
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB)    += -lIPSec_MB
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_GCM)   += -lrte_pmd_aesni_gcm
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_GCM)   += -lIPSec_MB
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_CCP)         += -lrte_pmd_ccp -lcrypto
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_OPENSSL)     += -lrte_pmd_openssl -lcrypto
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_NULL_CRYPTO) += -lrte_pmd_null_crypto
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_QAT),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_QAT_SYM)     += -lrte_pmd_qat -lcrypto
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_QAT_ASYM)    += -lrte_pmd_qat -lcrypto
-endif # CONFIG_RTE_LIBRTE_PMD_QAT
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_SNOW3G)      += -lrte_pmd_snow3g
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_SNOW3G)      += -lIPSec_MB
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_KASUMI)      += -lrte_pmd_kasumi
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_KASUMI)      += -lIPSec_MB
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ZUC)         += -lrte_pmd_zuc
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ZUC)         += -lIPSec_MB
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO)    += -lrte_pmd_armv8
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO)    += -L$(ARMV8_CRYPTO_LIB_PATH) -lAArch64crypto
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_MVSAM_CRYPTO) += -L$(LIBMUSDK_PATH)/lib -lrte_pmd_mvsam_crypto -lmusdk
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_NITROX)      += -lrte_pmd_nitrox
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_CRYPTO) += -lrte_pmd_octeontx_crypto
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO) += -lrte_pmd_octeontx2_crypto
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += -lrte_pmd_crypto_scheduler
-ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC)   += -lrte_pmd_dpaa2_sec
-endif # CONFIG_RTE_LIBRTE_FSLMC_BUS
-ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_SEC)   += -lrte_pmd_dpaa_sec
-endif # CONFIG_RTE_LIBRTE_DPAA_BUS
-ifeq ($(CONFIG_RTE_LIBRTE_SECURITY),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_CAAM_JR)   += -lrte_pmd_caam_jr
-endif # CONFIG_RTE_LIBRTE_SECURITY
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_VIRTIO_CRYPTO) += -lrte_pmd_virtio_crypto
-endif # CONFIG_RTE_LIBRTE_CRYPTODEV
-
-ifeq ($(CONFIG_RTE_LIBRTE_COMPRESSDEV),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ISAL) += -lrte_pmd_isal_comp
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ISAL) += -lisal
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_ZIPVF) += -lrte_pmd_octeontx_zip
-# Link QAT driver if it has not been linked yet
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_QAT_SYM),n)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_QAT)  += -lrte_pmd_qat
-endif # CONFIG_RTE_LIBRTE_PMD_QAT_SYM
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ZLIB) += -lrte_pmd_zlib
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ZLIB) += -lz
-endif # CONFIG_RTE_LIBRTE_COMPRESSDEV
-
-ifeq ($(CONFIG_RTE_LIBRTE_EVENTDEV),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_SKELETON_EVENTDEV) += -lrte_pmd_skeleton_event
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_SW_EVENTDEV) += -lrte_pmd_sw_event
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DSW_EVENTDEV) += -lrte_pmd_dsw_event
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += -lrte_pmd_octeontx_ssovf
-ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_EVENTDEV) += -lrte_pmd_dpaa_event
-endif # CONFIG_RTE_LIBRTE_DPAA_BUS
-ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_EVENTDEV) += -lrte_pmd_dpaa2_event
-endif # CONFIG_RTE_LIBRTE_FSLMC_BUS
-
-_LDLIBS-$(CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL) += -lrte_mempool_octeontx
-_LDLIBS-$(CONFIG_RTE_LIBRTE_OCTEONTX_PMD) += -lrte_pmd_octeontx
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV) += -lrte_pmd_octeontx2_event
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV) += -lrte_pmd_opdl_event
-endif # CONFIG_RTE_LIBRTE_EVENTDEV
-
-ifeq ($(CONFIG_RTE_LIBRTE_RAWDEV),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_SKELETON_RAWDEV) += -lrte_rawdev_skeleton
-ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_CMDIF_RAWDEV) += -lrte_rawdev_dpaa2_cmdif
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_QDMA_RAWDEV) += -lrte_rawdev_dpaa2_qdma
-endif # CONFIG_RTE_LIBRTE_FSLMC_BUS
-_LDLIBS-$(CONFIG_RTE_LIBRTE_IFPGA_BUS)      += -lrte_bus_ifpga
-ifeq ($(CONFIG_RTE_LIBRTE_IFPGA_BUS),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_IFPGA_RAWDEV)   += -lrte_rawdev_ifpga -lfdt
-_LDLIBS-$(CONFIG_RTE_LIBRTE_IPN3KE_PMD)       += -lrte_pmd_ipn3ke
-endif # CONFIG_RTE_LIBRTE_IFPGA_BUS
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_IOAT_RAWDEV)   += -lrte_rawdev_ioat
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_NTB_RAWDEV) += -lrte_rawdev_ntb
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_DMA_RAWDEV) += -lrte_rawdev_octeontx2_dma
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EP_RAWDEV) += -lrte_rawdev_octeontx2_ep
-endif # CONFIG_RTE_LIBRTE_RAWDEV
-
-endif # !CONFIG_RTE_BUILD_SHARED_LIBS
-
-_LDLIBS-y += --no-whole-archive
-
-ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),n)
-# The static libraries do not know their dependencies.
-# So linking with static library requires explicit dependencies.
-_LDLIBS-$(CONFIG_RTE_LIBRTE_EAL)            += -lrt
-ifeq ($(CONFIG_RTE_EXEC_ENV_LINUX)$(CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES),yy)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_EAL)            += -lnuma
-endif
-_LDLIBS-$(CONFIG_RTE_LIBRTE_SCHED)          += -lm
-_LDLIBS-$(CONFIG_RTE_LIBRTE_SCHED)          += -lrt
-_LDLIBS-$(CONFIG_RTE_LIBRTE_MEMBER)         += -lm
-_LDLIBS-$(CONFIG_RTE_LIBRTE_METER)          += -lm
-ifeq ($(CONFIG_RTE_LIBRTE_VHOST_NUMA),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_VHOST)          += -lnuma
-endif
-_LDLIBS-$(CONFIG_RTE_PORT_PCAP)             += -lpcap
-endif # !CONFIG_RTE_BUILD_SHARED_LIBS
-
-_LDLIBS-y += $(EXECENV_LDLIBS)
-
-LDLIBS += $(_LDLIBS-y) $(CPU_LDLIBS) $(EXTRA_LDLIBS)
-
-# all the words except the first one
-allbutfirst = $(wordlist 2,$(words $(1)),$(1))
-
-# Eliminate duplicates without sorting, only keep the last occurrence
-filter-libs = \
-	$(if $(1),$(strip\
-		$(if \
-			$(and \
-				$(filter $(firstword $(1)),$(call allbutfirst,$(1))),\
-				$(filter -l%,$(firstword $(1)))),\
-			,\
-			$(firstword $(1))) \
-		$(call filter-libs,$(call allbutfirst,$(1)))))
-
-LDLIBS := $(call filter-libs,$(LDLIBS))
-
-MAPFLAGS = -Map=$@.map --cref
-
-.PHONY: all
-all: install
-
-.PHONY: install
-install: build _postinstall
-
-_postinstall: build
-
-.PHONY: build
-build: _postbuild
-
-exe2cmd = $(strip $(call dotfile,$(patsubst %,%.cmd,$(1))))
-
-ifeq ($(LINK_USING_CC),1)
-O_TO_EXE = $(CC) -o $@ $(CFLAGS) $(EXTRA_CFLAGS) $(OBJS-y) $(call linkerprefix, \
-	$(LDLIBS) $(LDFLAGS) $(LDFLAGS_$(@)) $(EXTRA_LDFLAGS) \
-	$(MAPFLAGS))
-else
-O_TO_EXE = $(LD) -o $@ $(OBJS-y) \
-	$(LDLIBS) $(LDFLAGS) $(LDFLAGS_$(@)) $(EXTRA_LDFLAGS) \
-	$(MAPFLAGS)
-endif
-O_TO_EXE_STR = $(subst ','\'',$(O_TO_EXE)) #'# fix syntax highlight
-O_TO_EXE_DISP = $(if $(V),"$(O_TO_EXE_STR)","  LD $(@)")
-O_TO_EXE_CMD = "cmd_$@ = $(O_TO_EXE_STR)"
-O_TO_EXE_DO = @set -e; \
-	echo $(O_TO_EXE_DISP); \
-	$(O_TO_EXE) && \
-	echo $(O_TO_EXE_CMD) > $(call exe2cmd,$(@))
-
--include .$(APP).cmd
-
-# path where libraries are retrieved
-LDLIBS_PATH := $(subst -Wl$(comma)-L,,$(filter -Wl$(comma)-L%,$(LDLIBS)))
-LDLIBS_PATH += $(subst -L,,$(filter -L%,$(LDLIBS)))
-
-# list of .a files that are linked to this application
-LDLIBS_NAMES := $(patsubst -l%,lib%.a,$(filter -l%,$(LDLIBS)))
-LDLIBS_NAMES += $(patsubst -Wl$(comma)-l%,lib%.a,$(filter -Wl$(comma)-l%,$(LDLIBS)))
-
-# list of found libraries files (useful for deps). If not found, the
-# library is silently ignored and dep won't be checked
-LDLIBS_FILES := $(sort $(wildcard $(foreach dir,$(LDLIBS_PATH),\
-	$(addprefix $(dir)/,$(LDLIBS_NAMES)))))
-
-#
-# Compile executable file if needed
-#
-$(APP): $(OBJS-y) $(LDLIBS_FILES) $(DEP_$(APP)) $(LDSCRIPT) FORCE
-	@[ -d $(dir $@) ] || mkdir -p $(dir $@)
-	$(if $(D),\
-		@echo -n "$< -> $@ " ; \
-		echo -n "file_missing=$(call boolean,$(file_missing)) " ; \
-		echo -n "cmdline_changed=$(call boolean,$(call cmdline_changed,$(O_TO_EXE_STR))) " ; \
-		echo -n "depfile_missing=$(call boolean,$(depfile_missing)) " ; \
-		echo "depfile_newer=$(call boolean,$(depfile_newer)) ")
-	$(if $(or \
-		$(file_missing),\
-		$(call cmdline_changed,$(O_TO_EXE_STR)),\
-		$(depfile_missing),\
-		$(depfile_newer)),\
-		$(O_TO_EXE_DO))
-
-#
-# install app in $(RTE_OUTPUT)/app
-#
-$(RTE_OUTPUT)/app/$(APP): $(APP)
-	@echo "  INSTALL-APP $(APP)"
-	@[ -d $(RTE_OUTPUT)/app ] || mkdir -p $(RTE_OUTPUT)/app
-	$(Q)cp -f $(APP) $(RTE_OUTPUT)/app
-
-#
-# install app map file in $(RTE_OUTPUT)/app
-#
-$(RTE_OUTPUT)/app/$(APP).map: $(APP)
-	@echo "  INSTALL-MAP $(APP).map"
-	@[ -d $(RTE_OUTPUT)/app ] || mkdir -p $(RTE_OUTPUT)/app
-	$(Q)cp -f $(APP).map $(RTE_OUTPUT)/app
-
-#
-# Clean all generated files
-#
-.PHONY: clean
-clean: _postclean
-	$(Q)rm -f $(_BUILD_TARGETS) $(_INSTALL_TARGETS) $(_CLEAN_TARGETS)
-
-.PHONY: doclean
-doclean:
-	$(Q)rm -rf $(APP) $(OBJS-all) $(DEPS-all) $(DEPSTMP-all) \
-	  $(CMDS-all) $(INSTALL-FILES-all) .$(APP).cmd $(APP).map
-
-
-include $(RTE_SDK)/mk/internal/rte.compile-post.mk
-include $(RTE_SDK)/mk/internal/rte.install-post.mk
-include $(RTE_SDK)/mk/internal/rte.clean-post.mk
-include $(RTE_SDK)/mk/internal/rte.build-post.mk
-
-ifneq ($(wildcard $(RTE_SDK)/mk/target/$(RTE_TARGET)/rte.app.mk),)
-include $(RTE_SDK)/mk/target/$(RTE_TARGET)/rte.app.mk
-else
-include $(RTE_SDK)/mk/target/generic/rte.app.mk
-endif
-
-.PHONY: FORCE
-FORCE:
diff --git a/mk/rte.bsdmodule.mk b/mk/rte.bsdmodule.mk
deleted file mode 100644
index df8bf9ef35..0000000000
--- a/mk/rte.bsdmodule.mk
+++ /dev/null
@@ -1,89 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-##### if sourced from kernel Kbuild system
-ifneq ($(KERNELRELEASE),)
-override EXTRA_CFLAGS = $(MODULE_CFLAGS) $(EXTRA_KERNEL_CFLAGS)
-obj-m          += $(MODULE).o
-ifneq ($(MODULE),$(notdir $(SRCS-y:%.c=%)))
-$(MODULE)-objs += $(notdir $(SRCS-y:%.c=%.o))
-endif
-
-##### if launched from rte build system
-else
-
-include $(RTE_SDK)/mk/internal/rte.install-pre.mk
-include $(RTE_SDK)/mk/internal/rte.clean-pre.mk
-include $(RTE_SDK)/mk/internal/rte.build-pre.mk
-
-# DPDK uses a more up-to-date gcc, so clear the override here.
-unexport CC
-override CFLAGS = $(MODULE_CFLAGS)
-
-# VPATH contains at least SRCDIR
-VPATH += $(SRCDIR)
-
-_BUILD = $(MODULE).ko
-_INSTALL = $(INSTALL-FILES-y) $(SYMLINK-FILES-y) \
-	$(RTE_OUTPUT)/kmod/$(MODULE).ko
-_CLEAN = doclean
-
-SRCS_LINKS = $(addsuffix _link,$(SRCS-y))
-
-compare = $(strip $(subst $(1),,$(2)) $(subst $(2),,$(1)))
-
-.PHONY: all
-all: install
-
-.PHONY: install
-install: build _postinstall
-
-_postinstall: build
-
-.PHONY: build
-build: _postbuild
-
-# Link all sources in build directory
-%_link: FORCE
-	$(if $(call compare,$(notdir $*),$*),\
-	$(Q)if [ ! -f $(notdir $(*)) ]; then ln -nfs $(SRCDIR)/$(*) . ; fi,\
-	$(Q)if [ ! -f $(notdir $(*)) ]; then ln -nfs $(SRCDIR)/$(*) . ; fi)
-
-# build module
-$(MODULE).ko: $(SRCS_LINKS)
-	$(Q)if [ ! -f $(notdir Makefile) ]; then ln -nfs $(SRCDIR)/Makefile . ; fi
-	$(Q)if [ ! -f $(notdir BSDmakefile) ]; then ln -nfs $(SRCDIR)/BSDmakefile . ; fi
-	$(Q)MAKEFLAGS= $(BSDMAKE)
-
-# install module in $(RTE_OUTPUT)/kmod
-$(RTE_OUTPUT)/kmod/$(MODULE).ko: $(MODULE).ko
-	$(Q)echo INSTALL-MODULE $(MODULE).ko
-	$(Q)[ -d $(RTE_OUTPUT)/kmod ] || mkdir -p $(RTE_OUTPUT)/kmod
-	$(Q)cp -f $(MODULE).ko $(RTE_OUTPUT)/kmod
-
-# install module
-modules_install:
-	$(Q)MAKEFLAGS= $(BSDMAKE) install
-
-.PHONY: clean
-clean: _postclean
-
-# do a make clean and remove links
-.PHONY: doclean
-doclean:
-	$(Q)if [ ! -f $(notdir Makefile) ]; then ln -nfs $(SRCDIR)/Makefile . ; fi
-	$(Q)$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR) clean
-	$(Q)$(foreach FILE,$(SRCS-y) $(SRCS-n) $(SRCS-),\
-		if [ -h $(notdir $(FILE)) ]; then rm -f $(notdir $(FILE)) ; fi ;)
-	$(Q)if [ -h $(notdir Makefile) ]; then rm -f $(notdir Makefile) ; fi
-	$(Q)rm -f $(_BUILD_TARGETS) $(_INSTALL_TARGETS) $(_CLEAN_TARGETS) \
-		$(INSTALL-FILES-all)
-
-include $(RTE_SDK)/mk/internal/rte.install-post.mk
-include $(RTE_SDK)/mk/internal/rte.clean-post.mk
-include $(RTE_SDK)/mk/internal/rte.build-post.mk
-
-.PHONY: FORCE
-FORCE:
-
-endif
diff --git a/mk/rte.combinedlib.mk b/mk/rte.combinedlib.mk
deleted file mode 100644
index 9d0f935358..0000000000
--- a/mk/rte.combinedlib.mk
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2015 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-default: all
-
-ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
-EXT:=.so
-else
-EXT:=.a
-endif
-
-RTE_LIBNAME := dpdk
-COMBINEDLIB := lib$(RTE_LIBNAME)$(EXT)
-
-LIBS := $(filter-out $(COMBINEDLIB), $(sort $(notdir $(wildcard $(RTE_OUTPUT)/lib/*$(EXT)))))
-
-all: FORCE
-	$(Q)echo "GROUP ( $(LIBS) )" > $(RTE_OUTPUT)/lib/$(COMBINEDLIB)
-
-#
-# Clean all generated files
-#
-.PHONY: clean
-clean:
-	$(Q)rm -f $(RTE_OUTPUT)/lib/$(COMBINEDLIB)
-
-.PHONY: FORCE
-FORCE:
diff --git a/mk/rte.cpuflags.mk b/mk/rte.cpuflags.mk
deleted file mode 100644
index fa87535312..0000000000
--- a/mk/rte.cpuflags.mk
+++ /dev/null
@@ -1,124 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-# this makefile is called from the generic rte.vars.mk and is
-# used to set the RTE_CPUFLAG_* environment variables giving details
-# of what instruction sets the target cpu supports.
-
-AUTO_CPUFLAGS := $(shell $(CC) $(MACHINE_CFLAGS) $(WERROR_FLAGS) $(EXTRA_CFLAGS) -dM -E - < /dev/null)
-
-# adding flags to CPUFLAGS
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__SSE__),)
-CPUFLAGS += SSE
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__SSE2__),)
-CPUFLAGS += SSE2
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__SSE3__),)
-CPUFLAGS += SSE3
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__SSSE3__),)
-CPUFLAGS += SSSE3
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__SSE4_1__),)
-CPUFLAGS += SSE4_1
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__SSE4_2__),)
-CPUFLAGS += SSE4_2
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__AES__),)
-CPUFLAGS += AES
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__PCLMUL__),)
-CPUFLAGS += PCLMULQDQ
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__AVX__),)
-ifeq ($(CONFIG_RTE_ENABLE_AVX),y)
-CPUFLAGS += AVX
-endif
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__RDRND__),)
-CPUFLAGS += RDRAND
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__RDSEED__),)
-CPUFLAGS += RDSEED
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__FSGSBASE__),)
-CPUFLAGS += FSGSBASE
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__F16C__),)
-CPUFLAGS += F16C
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__AVX2__),)
-ifeq ($(CONFIG_RTE_ENABLE_AVX),y)
-CPUFLAGS += AVX2
-endif
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__AVX512F__),)
-ifeq ($(CONFIG_RTE_ENABLE_AVX512),y)
-CPUFLAGS += AVX512F
-else
-# disable AVX512F support for GCC & binutils 2.30 as a workaround for Bug 97
-ifeq ($(FORCE_DISABLE_AVX512),y)
-MACHINE_CFLAGS += -mno-avx512f
-endif
-endif
-endif
-
-# IBM Power CPU flags
-ifneq ($(filter $(AUTO_CPUFLAGS),__PPC64__),)
-CPUFLAGS += PPC64
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__PPC32__),)
-CPUFLAGS += PPC32
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__vector),)
-CPUFLAGS += ALTIVEC
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__builtin_vsx_xvnmaddadp),)
-CPUFLAGS += VSX
-endif
-
-# ARM flags
-ifneq ($(filter __ARM_NEON __aarch64__,$(AUTO_CPUFLAGS)),)
-CPUFLAGS += NEON
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__ARM_FEATURE_CRC32),)
-CPUFLAGS += CRC32
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__ARM_FEATURE_CRYPTO),)
-CPUFLAGS += AES
-CPUFLAGS += PMULL
-CPUFLAGS += SHA1
-CPUFLAGS += SHA2
-endif
-
-MACHINE_CFLAGS += $(addprefix -DRTE_MACHINE_CPUFLAG_,$(CPUFLAGS))
-
-# To strip whitespace
-comma:= ,
-empty:=
-space:= $(empty) $(empty)
-CPUFLAGSTMP1 := $(addprefix RTE_CPUFLAG_,$(CPUFLAGS))
-CPUFLAGSTMP2 := $(subst $(space),$(comma),$(CPUFLAGSTMP1))
-CPUFLAGS_LIST := -DRTE_COMPILE_TIME_CPUFLAGS=$(CPUFLAGSTMP2)
diff --git a/mk/rte.extapp.mk b/mk/rte.extapp.mk
deleted file mode 100644
index 427bb52306..0000000000
--- a/mk/rte.extapp.mk
+++ /dev/null
@@ -1,24 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-MAKEFLAGS += --no-print-directory
-
-# we must create the output dir first and recall the same Makefile
-# from this directory
-ifeq ($(NOT_FIRST_CALL),)
-
-NOT_FIRST_CALL = 1
-export NOT_FIRST_CALL
-
-all:
-	$(Q)mkdir -p $(RTE_OUTPUT)
-	$(Q)$(MAKE) -C $(RTE_OUTPUT) -f $(RTE_EXTMK) \
-		S=$(RTE_SRCDIR) O=$(RTE_OUTPUT) SRCDIR=$(RTE_SRCDIR)
-
-%::
-	$(Q)mkdir -p $(RTE_OUTPUT)
-	$(Q)$(MAKE) -C $(RTE_OUTPUT) -f $(RTE_EXTMK) $@ \
-		S=$(RTE_SRCDIR) O=$(RTE_OUTPUT) SRCDIR=$(RTE_SRCDIR)
-else
-include $(RTE_SDK)/mk/rte.app.mk
-endif
diff --git a/mk/rte.extlib.mk b/mk/rte.extlib.mk
deleted file mode 100644
index 977873325d..0000000000
--- a/mk/rte.extlib.mk
+++ /dev/null
@@ -1,26 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-MAKEFLAGS += --no-print-directory
-
-EXTLIB_BUILD := y
-
-# we must create the output dir first and recall the same Makefile
-# from this directory
-ifeq ($(NOT_FIRST_CALL),)
-
-NOT_FIRST_CALL = 1
-export NOT_FIRST_CALL
-
-all:
-	$(Q)mkdir -p $(RTE_OUTPUT)
-	$(Q)$(MAKE) -C $(RTE_OUTPUT) -f $(RTE_EXTMK) \
-		S=$(RTE_SRCDIR) O=$(RTE_OUTPUT) SRCDIR=$(RTE_SRCDIR)
-
-%::
-	$(Q)mkdir -p $(RTE_OUTPUT)
-	$(Q)$(MAKE) -C $(RTE_OUTPUT) -f $(RTE_EXTMK) $@ \
-		S=$(RTE_SRCDIR) O=$(RTE_OUTPUT) SRCDIR=$(RTE_SRCDIR)
-else
-include $(RTE_SDK)/mk/rte.lib.mk
-endif
diff --git a/mk/rte.extobj.mk b/mk/rte.extobj.mk
deleted file mode 100644
index c761a5de1e..0000000000
--- a/mk/rte.extobj.mk
+++ /dev/null
@@ -1,24 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-MAKEFLAGS += --no-print-directory
-
-# we must create the output dir first and recall the same Makefile
-# from this directory
-ifeq ($(NOT_FIRST_CALL),)
-
-NOT_FIRST_CALL = 1
-export NOT_FIRST_CALL
-
-all:
-	$(Q)mkdir -p $(RTE_OUTPUT)
-	$(Q)$(MAKE) -C $(RTE_OUTPUT) -f $(RTE_EXTMK) \
-		S=$(RTE_SRCDIR) O=$(RTE_OUTPUT) SRCDIR=$(RTE_SRCDIR)
-
-%::
-	$(Q)mkdir -p $(RTE_OUTPUT)
-	$(Q)$(MAKE) -C $(RTE_OUTPUT) -f $(RTE_EXTMK) $@ \
-		S=$(RTE_SRCDIR) O=$(RTE_OUTPUT) SRCDIR=$(RTE_SRCDIR)
-else
-include $(RTE_SDK)/mk/rte.obj.mk
-endif
diff --git a/mk/rte.extshared.mk b/mk/rte.extshared.mk
deleted file mode 100644
index 64269e1a85..0000000000
--- a/mk/rte.extshared.mk
+++ /dev/null
@@ -1,26 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2012-2013 6WIND S.A.
-
-MAKEFLAGS += --no-print-directory
-
-# we must create the output dir first and recall the same Makefile
-# from this directory
-ifeq ($(NOT_FIRST_CALL),)
-
-NOT_FIRST_CALL = 1
-export NOT_FIRST_CALL
-
-all:
-	$(Q)mkdir -p $(RTE_OUTPUT)
-	$(Q)$(MAKE) -C $(RTE_OUTPUT) -f $(RTE_EXTMK) \
-		S=$(RTE_SRCDIR) O=$(RTE_OUTPUT) SRCDIR=$(RTE_SRCDIR)
-	@echo $(RTE_OUTPUT)/lib must be added to /etc/ld.so.conf or \
-		LD_LIBRARY_PATH variable to allow binary to link with dynamic library
-
-%::
-	$(Q)mkdir -p $(RTE_OUTPUT)
-	$(Q)$(MAKE) -C $(RTE_OUTPUT) -f $(RTE_EXTMK) $@ \
-		S=$(RTE_SRCDIR) O=$(RTE_OUTPUT) SRCDIR=$(RTE_SRCDIR)
-else
-include $(RTE_SDK)/mk/rte.shared.mk
-endif
diff --git a/mk/rte.extsubdir.mk b/mk/rte.extsubdir.mk
deleted file mode 100644
index 0f8ef94c50..0000000000
--- a/mk/rte.extsubdir.mk
+++ /dev/null
@@ -1,39 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2014 6WIND S.A.
-
-MAKEFLAGS += --no-print-directory
-
-ALL_DEPDIRS := $(patsubst DEPDIRS-%,%,$(filter DEPDIRS-%,$(.VARIABLES)))
-
-# output directory
-O ?= $(CURDIR)
-BASE_OUTPUT ?= $(abspath $(O))
-CUR_SUBDIR ?= .
-
-.PHONY: all
-all: $(DIRS-y)
-
-.PHONY: clean
-clean: $(DIRS-y)
-
-.PHONY: $(DIRS-y)
-$(DIRS-y):
-	@echo "== $@"
-	$(Q)$(MAKE) -C $(@) \
-		M=$(CURDIR)/$(@)/Makefile \
-		O=$(BASE_OUTPUT)/$(CUR_SUBDIR)/$(@)/$(RTE_TARGET) \
-		BASE_OUTPUT=$(BASE_OUTPUT) \
-		CUR_SUBDIR=$(CUR_SUBDIR)/$(@) \
-		S=$(CURDIR)/$(@) \
-		$(filter-out $(DIRS-y),$(MAKECMDGOALS))
-
-define depdirs_rule
-$(DEPDIRS-$(1)):
-
-$(1): | $(DEPDIRS-$(1))
-
-$(if $(D),$(info $(1) depends on $(DEPDIRS-$(1))))
-endef
-
-$(foreach dir,$(ALL_DEPDIRS),\
-	$(eval $(call depdirs_rule,$(dir))))
diff --git a/mk/rte.gnuconfigure.mk b/mk/rte.gnuconfigure.mk
deleted file mode 100644
index 72e99aafc3..0000000000
--- a/mk/rte.gnuconfigure.mk
+++ /dev/null
@@ -1,44 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/internal/rte.build-pre.mk
-include $(RTE_SDK)/mk/internal/rte.install-pre.mk
-include $(RTE_SDK)/mk/internal/rte.clean-pre.mk
-
-# VPATH contains at least SRCDIR
-VPATH += $(SRCDIR)
-_BUILD = configure
-_INSTALL = $(INSTALL-FILES-y) $(SYMLINK-FILES-y)
-_CLEAN = doclean
-
-.PHONY: all
-all: install
-
-.PHONY: install
-install: build _postinstall
-
-_postinstall: build
-
-.PHONY: build
-build: _postbuild
-
-configure:
-	$(Q)cd $(CONFIGURE_PATH) ; \
-	./configure --prefix $(CONFIGURE_PREFIX) $(CONFIGURE_ARGS) ; \
-	make ; \
-	make install
-
-.PHONY: clean
-clean: _postclean
-
-.PHONY: doclean
-doclean:
-	$(Q)cd $(CONFIGURE_PATH) ; make clean
-	$(Q)rm -f $(_INSTALL_TARGETS) $(_CLEAN_TARGETS)
-
-include $(RTE_SDK)/mk/internal/rte.build-post.mk
-include $(RTE_SDK)/mk/internal/rte.install-post.mk
-include $(RTE_SDK)/mk/internal/rte.clean-post.mk
-
-.PHONY: FORCE
-FORCE:
diff --git a/mk/rte.helper.mk b/mk/rte.helper.mk
deleted file mode 100644
index 6e7fd03d7f..0000000000
--- a/mk/rte.helper.mk
+++ /dev/null
@@ -1,10 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Marvell International Ltd
-
-# rte_cc_has_argument
-# Usage: MACHINE_CFLAGS += $(call rte_cc_has_argument, -mno-avx512f)
-# Return the argument if the argument is supported by the compiler.
-#
-define rte_cc_has_argument
-	$(shell $(CC) -E $(1) -xc /dev/null 1>/dev/null 2>/dev/null && echo $(1))
-endef
diff --git a/mk/rte.hostapp.mk b/mk/rte.hostapp.mk
deleted file mode 100644
index 68e32b5780..0000000000
--- a/mk/rte.hostapp.mk
+++ /dev/null
@@ -1,93 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-# tell rte.compile-pre.mk to use HOSTCC instead of CC
-USE_HOST := 1
-include $(RTE_SDK)/mk/internal/rte.compile-pre.mk
-include $(RTE_SDK)/mk/internal/rte.install-pre.mk
-include $(RTE_SDK)/mk/internal/rte.clean-pre.mk
-include $(RTE_SDK)/mk/internal/rte.build-pre.mk
-
-# VPATH contains at least SRCDIR
-VPATH += $(SRCDIR)
-
-_BUILD = $(HOSTAPP)
-_INSTALL = $(INSTALL-FILES-y) $(SYMLINK-FILES-y) $(RTE_OUTPUT)/app/$(HOSTAPP)
-_CLEAN = doclean
-
-.PHONY: all
-all: install
-
-.PHONY: install
-install: build _postinstall
-
-_postinstall: build
-
-.PHONY: build
-build: _postbuild
-
-exe2cmd = $(strip $(call dotfile,$(patsubst %,%.cmd,$(1))))
-
-O_TO_EXE = $(HOSTCC) $(HOST_LDFLAGS) $(LDFLAGS_$(@)) \
-	$(EXTRA_HOST_LDFLAGS) -o $@ $(OBJS-y) $(LDLIBS)
-O_TO_EXE_STR = $(subst ','\'',$(O_TO_EXE)) #'# fix syntax highlight
-O_TO_EXE_DISP = $(if $(V),"$(O_TO_EXE_STR)","  HOSTLD $(@)")
-O_TO_EXE_CMD = "cmd_$@ = $(O_TO_EXE_STR)"
-O_TO_EXE_DO = @set -e; \
-	echo $(O_TO_EXE_DISP); \
-	$(O_TO_EXE) && \
-	echo $(O_TO_EXE_CMD) > $(call exe2cmd,$(@))
-
--include .$(HOSTAPP).cmd
-
-# list of .a files that are linked to this application
-LDLIBS_FILES := $(sort $(wildcard \
-	$(addprefix $(RTE_OUTPUT)/lib/, \
-	$(patsubst -l%,lib%.a,$(filter -l%,$(LDLIBS))))))
-
-#
-# Compile executable file if needed
-#
-$(HOSTAPP): $(OBJS-y) $(LDLIBS_FILES) FORCE
-	@[ -d $(dir $@) ] || mkdir -p $(dir $@)
-	$(if $(D),\
-		@echo -n "$@ -> $< " ; \
-		echo -n "file_missing=$(call boolean,$(file_missing)) " ; \
-		echo -n "cmdline_changed=$(call boolean,$(call cmdline_changed,$(O_TO_EXE_STR))) " ; \
-		echo -n "depfile_missing=$(call boolean,$(depfile_missing)) " ; \
-		echo "depfile_newer=$(call boolean,$(depfile_newer)) ")
-	$(if $(or \
-		$(file_missing),\
-		$(call cmdline_changed,$(O_TO_EXE_STR)),\
-		$(depfile_missing),\
-		$(depfile_newer)),\
-		$(O_TO_EXE_DO))
-
-#
-# install app in $(RTE_OUTPUT)/hostapp
-#
-$(RTE_OUTPUT)/app/$(HOSTAPP): $(HOSTAPP)
-	@echo "  INSTALL-HOSTAPP $(HOSTAPP)"
-	@[ -d $(RTE_OUTPUT)/app ] || mkdir -p $(RTE_OUTPUT)/app
-	$(Q)cp -f $(HOSTAPP) $(RTE_OUTPUT)/app
-
-#
-# Clean all generated files
-#
-.PHONY: clean
-clean: _postclean
-	$(Q)rm -f $(_BUILD_TARGETS) $(_INSTALL_TARGETS) $(_CLEAN_TARGETS)
-
-.PHONY: doclean
-doclean:
-	$(Q)rm -rf $(HOSTAPP) $(OBJS-all) $(DEPS-all) $(DEPSTMP-all) \
-	  $(CMDS-all) $(INSTALL-FILES-all) .$(HOSTAPP).cmd
-
-
-include $(RTE_SDK)/mk/internal/rte.compile-post.mk
-include $(RTE_SDK)/mk/internal/rte.install-post.mk
-include $(RTE_SDK)/mk/internal/rte.clean-post.mk
-include $(RTE_SDK)/mk/internal/rte.build-post.mk
-
-.PHONY: FORCE
-FORCE:
diff --git a/mk/rte.hostlib.mk b/mk/rte.hostlib.mk
deleted file mode 100644
index 0ccaa55f09..0000000000
--- a/mk/rte.hostlib.mk
+++ /dev/null
@@ -1,86 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-# tell rte.compile-pre.mk to use HOSTCC instead of CC
-USE_HOST := 1
-include $(RTE_SDK)/mk/internal/rte.compile-pre.mk
-include $(RTE_SDK)/mk/internal/rte.install-pre.mk
-include $(RTE_SDK)/mk/internal/rte.clean-pre.mk
-include $(RTE_SDK)/mk/internal/rte.build-pre.mk
-
-# VPATH contains at least SRCDIR
-VPATH += $(SRCDIR)
-
-_BUILD = $(HOSTLIB)
-_INSTALL = $(INSTALL-FILES-y) $(SYMLINK-FILES-y) $(RTE_OUTPUT)/hostlib/$(HOSTLIB)
-_CLEAN = doclean
-
-.PHONY: all
-all: install
-
-.PHONY: install
-install: build _postinstall
-
-_postinstall: build
-
-.PHONY: build
-build: _postbuild
-
-exe2cmd = $(strip $(call dotfile,$(patsubst %,%.cmd,$(1))))
-
-O_TO_A = $(AR) crus $(HOSTLIB) $(OBJS-y)
-O_TO_A_STR = $(subst ','\'',$(O_TO_A)) #'# fix syntax highlight
-O_TO_A_DISP = $(if $(V),"$(O_TO_A_STR)","  HOSTAR $(@)")
-O_TO_A_CMD = "cmd_$@ = $(O_TO_A_STR)"
-O_TO_A_DO = @set -e; \
-	echo $(O_TO_A_DISP); \
-	$(O_TO_A) && \
-	echo $(O_TO_A_CMD) > $(call exe2cmd,$(@))
-
--include .$(HOSTLIB).cmd
-
-#
-# Archive objects in .a file if needed
-#
-$(HOSTLIB): $(OBJS-y) FORCE
-	@[ -d $(dir $@) ] || mkdir -p $(dir $@)
-	$(if $(D),\
-		@echo -n "$@ -> $< " ; \
-		echo -n "file_missing=$(call boolean,$(file_missing)) " ; \
-		echo -n "cmdline_changed=$(call boolean,$(call cmdline_changed,$(O_TO_A_STR))) " ; \
-		echo -n "depfile_missing=$(call boolean,$(depfile_missing)) " ; \
-		echo "depfile_newer=$(call boolean,$(depfile_newer)) ")
-	$(if $(or \
-		$(file_missing),\
-		$(call cmdline_changed,$(O_TO_A_STR)),\
-		$(depfile_missing),\
-		$(depfile_newer)),\
-		$(O_TO_A_DO))
-
-#
-# install lib in $(RTE_OUTPUT)/hostlib
-#
-$(RTE_OUTPUT)/hostlib/$(HOSTLIB): $(HOSTLIB)
-	@echo "  INSTALL-HOSTLIB $(HOSTLIB)"
-	@[ -d $(RTE_OUTPUT)/hostlib ] || mkdir -p $(RTE_OUTPUT)/hostlib
-	$(Q)cp -f $(HOSTLIB) $(RTE_OUTPUT)/hostlib
-
-#
-# Clean all generated files
-#
-.PHONY: clean
-clean: _postclean
-
-.PHONY: doclean
-doclean:
-	$(Q)rm -rf $(HOSTLIB) $(OBJS-all) $(DEPS-all) $(DEPSTMP-all) \
-	  $(CMDS-all) $(INSTALL-FILES-all)
-	$(Q)rm -f $(_BUILD_TARGETS) $(_INSTALL_TARGETS) $(_CLEAN_TARGETS)
-
-include $(RTE_SDK)/mk/internal/rte.compile-post.mk
-include $(RTE_SDK)/mk/internal/rte.install-post.mk
-include $(RTE_SDK)/mk/internal/rte.clean-post.mk
-include $(RTE_SDK)/mk/internal/rte.build-post.mk
-
-.PHONY: FORCE
-FORCE:
diff --git a/mk/rte.install.mk b/mk/rte.install.mk
deleted file mode 100644
index e56daf457c..0000000000
--- a/mk/rte.install.mk
+++ /dev/null
@@ -1,28 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-# install-only makefile (no build target)
-
-include $(RTE_SDK)/mk/internal/rte.install-pre.mk
-include $(RTE_SDK)/mk/internal/rte.clean-pre.mk
-
-# VPATH contains at least SRCDIR
-VPATH += $(SRCDIR)
-
-_INSTALL = $(INSTALL-FILES-y) $(SYMLINK-FILES-y)
-_CLEAN = doclean
-
-.PHONY: all
-all: _postinstall
-	@true
-
-.PHONY: clean
-clean: _postclean
-
-.PHONY: doclean
-doclean:
-	@rm -rf $(INSTALL-FILES-all)
-	@rm -f $(_INSTALL_TARGETS) $(_CLEAN_TARGETS)
-
-include $(RTE_SDK)/mk/internal/rte.install-post.mk
-include $(RTE_SDK)/mk/internal/rte.clean-post.mk
diff --git a/mk/rte.lib.mk b/mk/rte.lib.mk
deleted file mode 100644
index 229ae16814..0000000000
--- a/mk/rte.lib.mk
+++ /dev/null
@@ -1,156 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/internal/rte.compile-pre.mk
-include $(RTE_SDK)/mk/internal/rte.install-pre.mk
-include $(RTE_SDK)/mk/internal/rte.clean-pre.mk
-include $(RTE_SDK)/mk/internal/rte.build-pre.mk
-
-EXTLIB_BUILD ?= n
-
-# VPATH contains at least SRCDIR
-VPATH += $(SRCDIR)
-
-LIBABIVER ?= $(shell cat $(RTE_SRCDIR)/ABI_VERSION)
-SOVER := $(basename $(LIBABIVER))
-
-ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
-SONAME := $(patsubst %.a,%.so.$(SOVER),$(LIB))
-LIB := $(patsubst %.a,%.so.$(LIBABIVER),$(LIB))
-ifeq ($(EXTLIB_BUILD),n)
-CPU_LDFLAGS += --version-script=$(SRCDIR)/$(EXPORT_MAP)
-endif
-endif
-
-
-_BUILD = $(LIB)
-PREINSTALL = $(SYMLINK-FILES-y)
-_INSTALL = $(INSTALL-FILES-y) $(RTE_OUTPUT)/lib/$(LIB)
-_CLEAN = doclean
-
-LDLIBS += $(EXECENV_LDLIBS-y)
-
-.PHONY: all
-all: install
-
-.PHONY: install
-ifeq ($(SYMLINK-FILES-y),)
-install: build _postinstall
-else
-install: _preinstall build _postinstall
-build: _preinstall
-endif
-
-_postinstall: build
-
-.PHONY: build
-build: _postbuild
-
-exe2cmd = $(strip $(call dotfile,$(patsubst %,%.cmd,$(1))))
-
-ifeq ($(LINK_USING_CC),1)
-# Override the definition of LD here, since we're linking with CC
-LD := $(CC) $(CPU_CFLAGS) $(EXTRA_CFLAGS)
-_CPU_LDFLAGS := $(call linkerprefix,$(CPU_LDFLAGS))
-override EXTRA_LDFLAGS := $(call linkerprefix,$(EXTRA_LDFLAGS))
-else
-_CPU_LDFLAGS := $(CPU_LDFLAGS)
-endif
-
-O_TO_A = $(AR) crDs $(LIB) $(OBJS-y)
-O_TO_A_STR = $(subst ','\'',$(O_TO_A)) #'# fix syntax highlight
-O_TO_A_DISP = $(if $(V),"$(O_TO_A_STR)","  AR $(@)")
-O_TO_A_CMD = "cmd_$@ = $(O_TO_A_STR)"
-O_TO_A_DO = @set -e; \
-	echo $(O_TO_A_DISP); \
-	$(O_TO_A) && \
-	echo $(O_TO_A_CMD) > $(call exe2cmd,$(@))
-
-ifneq ($(CC_SUPPORTS_Z),false)
-NO_UNDEFINED := -z defs
-endif
-
-O_TO_S = $(LD) -L$(RTE_SDK_BIN)/lib $(_CPU_LDFLAGS) $(EXTRA_LDFLAGS) \
-	  -shared $(OBJS-y) $(NO_UNDEFINED) $(LDLIBS) -Wl,-soname,$(SONAME) -o $(LIB)
-O_TO_S_STR = $(subst ','\'',$(O_TO_S)) #'# fix syntax highlight
-O_TO_S_DISP = $(if $(V),"$(O_TO_S_STR)","  LD $(@)")
-O_TO_S_DO = @set -e; \
-	echo $(O_TO_S_DISP); \
-	$(O_TO_S) && \
-	echo $(O_TO_S_CMD) > $(call exe2cmd,$(@))
-
--include .$(LIB).cmd
-
-#
-# Archive objects in .a file if needed
-#
-ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
-$(LIB): $(OBJS-y) $(DEP_$(LIB)) FORCE
-ifeq ($(LIBABIVER),)
-	@echo "Must Specify a $(LIB) ABI version"
-	@false
-endif
-	@[ -d $(dir $@) ] || mkdir -p $(dir $@)
-	$(if $(D),\
-		@echo -n "$< -> $@ " ; \
-		echo -n "file_missing=$(call boolean,$(file_missing)) " ; \
-		echo -n "cmdline_changed=$(call boolean,$(call cmdline_changed,$(O_TO_S_STR))) " ; \
-		echo -n "depfile_missing=$(call boolean,$(depfile_missing)) " ; \
-		echo "depfile_newer=$(call boolean,$(depfile_newer)) ")
-	$(if $(or \
-		$(file_missing),\
-		$(call cmdline_changed,$(O_TO_S_STR)),\
-		$(depfile_missing),\
-		$(depfile_newer)),\
-		$(O_TO_S_DO))
-
-else
-$(LIB): $(OBJS-y) $(DEP_$(LIB)) FORCE
-	@[ -d $(dir $@) ] || mkdir -p $(dir $@)
-	$(if $(D),\
-	    @echo -n "$< -> $@ " ; \
-	    echo -n "file_missing=$(call boolean,$(file_missing)) " ; \
-	    echo -n "cmdline_changed=$(call boolean,$(call cmdline_changed,$(O_TO_A_STR))) " ; \
-	    echo -n "depfile_missing=$(call boolean,$(depfile_missing)) " ; \
-	    echo "depfile_newer=$(call boolean,$(depfile_newer)) ")
-	$(if $(or \
-	    $(file_missing),\
-	    $(call cmdline_changed,$(O_TO_A_STR)),\
-	    $(depfile_missing),\
-	    $(depfile_newer)),\
-	    $(O_TO_A_DO))
-endif
-
-#
-# install lib in $(RTE_OUTPUT)/lib
-#
-$(RTE_OUTPUT)/lib/$(LIB): $(LIB)
-	@echo "  INSTALL-LIB $(LIB)"
-	@[ -d $(RTE_OUTPUT)/lib ] || mkdir -p $(RTE_OUTPUT)/lib
-	$(Q)cp -f $(LIB) $(RTE_OUTPUT)/lib
-ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
-	$(Q)ln -s -f $< $(shell echo $@ | sed 's/\.so.*/.so/')
-	$(Q)if [ $(SOVER) != $(LIBABIVER) ]; then \
-		ln -s -f $< $(shell echo $@ | sed 's/\.so.*/.so.$(SOVER)/') ; \
-	fi
-endif
-
-#
-# Clean all generated files
-#
-.PHONY: clean
-clean: _postclean
-
-.PHONY: doclean
-doclean:
-	$(Q)rm -rf $(LIB) $(OBJS-all) $(DEPS-all) $(DEPSTMP-all) \
-	  $(CMDS-all) .$(LIB).cmd $(INSTALL-FILES-all) *.pmd.c *.pmd.o
-	$(Q)rm -f $(_BUILD_TARGETS) $(_INSTALL_TARGETS) $(_CLEAN_TARGETS)
-
-include $(RTE_SDK)/mk/internal/rte.compile-post.mk
-include $(RTE_SDK)/mk/internal/rte.install-post.mk
-include $(RTE_SDK)/mk/internal/rte.clean-post.mk
-include $(RTE_SDK)/mk/internal/rte.build-post.mk
-
-.PHONY: FORCE
-FORCE:
diff --git a/mk/rte.module.mk b/mk/rte.module.mk
deleted file mode 100644
index 1ada528a00..0000000000
--- a/mk/rte.module.mk
+++ /dev/null
@@ -1,86 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-##### if sourced from kernel Kbuild system
-ifneq ($(KERNELRELEASE),)
-override EXTRA_CFLAGS = $(MODULE_CFLAGS) $(EXTRA_KERNEL_CFLAGS)
-obj-m          += $(MODULE).o
-ifneq ($(MODULE),$(notdir $(SRCS-y:%.c=%)))
-$(MODULE)-objs += $(notdir $(SRCS-y:%.c=%.o))
-endif
-
-##### if launched from rte build system
-else
-
-include $(RTE_SDK)/mk/internal/rte.install-pre.mk
-include $(RTE_SDK)/mk/internal/rte.clean-pre.mk
-include $(RTE_SDK)/mk/internal/rte.build-pre.mk
-
-# VPATH contains at least SRCDIR
-VPATH += $(SRCDIR)
-
-_BUILD = $(MODULE).ko
-_INSTALL = $(INSTALL-FILES-y) $(SYMLINK-FILES-y) \
-	$(RTE_OUTPUT)/kmod/$(MODULE).ko
-_CLEAN = doclean
-
-SRCS_LINKS = $(addsuffix _link,$(SRCS-y))
-
-compare = $(strip $(subst $(1),,$(2)) $(subst $(2),,$(1)))
-
-.PHONY: all
-all: install
-
-.PHONY: install
-install: build _postinstall
-
-_postinstall: build
-
-.PHONY: build
-build: _postbuild
-
-# Link all sources in build directory
-%_link: FORCE
-	$(if $(call compare,$(notdir $*),$*),\
-	@if [ ! -f $(notdir $(*)) ]; then ln -nfs $(SRCDIR)/$(*) . ; fi,\
-	@if [ ! -f $(notdir $(*)) ]; then ln -nfs $(SRCDIR)/$(*) . ; fi)
-
-# build module
-$(MODULE).ko: $(SRCS_LINKS)
-	@if [ ! -f $(notdir Makefile) ]; then ln -nfs $(SRCDIR)/Makefile . ; fi
-	@$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR) \
-		CC="$(KERNELCC)" CROSS_COMPILE=$(CROSS) V=$(if $V,1,0)
-
-# install module in $(RTE_OUTPUT)/kmod
-$(RTE_OUTPUT)/kmod/$(MODULE).ko: $(MODULE).ko
-	@echo INSTALL-MODULE $(MODULE).ko
-	@[ -d $(RTE_OUTPUT)/kmod ] || mkdir -p $(RTE_OUTPUT)/kmod
-	@cp -f $(MODULE).ko $(RTE_OUTPUT)/kmod
-
-# install module
-modules_install:
-	@$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR) \
-		modules_install
-
-.PHONY: clean
-clean: _postclean
-
-# do a make clean and remove links
-.PHONY: doclean
-doclean:
-	@if [ ! -f $(notdir Makefile) ]; then ln -nfs $(SRCDIR)/Makefile . ; fi
-	$(Q)$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR) clean
-	@$(foreach FILE,$(SRCS-y) $(SRCS-n) $(SRCS-),\
-		if [ -h $(notdir $(FILE)) ]; then rm -f $(notdir $(FILE)) ; fi ;)
-	@if [ -h $(notdir Makefile) ]; then rm -f $(notdir Makefile) ; fi
-	@rm -f $(_BUILD_TARGETS) $(_INSTALL_TARGETS) $(_CLEAN_TARGETS) \
-		$(INSTALL-FILES-all)
-
-include $(RTE_SDK)/mk/internal/rte.install-post.mk
-include $(RTE_SDK)/mk/internal/rte.clean-post.mk
-include $(RTE_SDK)/mk/internal/rte.build-post.mk
-
-.PHONY: FORCE
-FORCE:
-
-endif
diff --git a/mk/rte.obj.mk b/mk/rte.obj.mk
deleted file mode 100644
index 1641a52e75..0000000000
--- a/mk/rte.obj.mk
+++ /dev/null
@@ -1,82 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/internal/rte.compile-pre.mk
-include $(RTE_SDK)/mk/internal/rte.install-pre.mk
-include $(RTE_SDK)/mk/internal/rte.clean-pre.mk
-include $(RTE_SDK)/mk/internal/rte.build-pre.mk
-
-# VPATH contains at least SRCDIR
-VPATH += $(SRCDIR)
-
-ifneq ($(OBJ),)
-_BUILD = $(OBJ)
-else
-_BUILD = $(OBJS-y)
-endif
-_INSTALL = $(INSTALL-FILES-y) $(SYMLINK-FILES-y)
-_CLEAN = doclean
-
-.PHONY: all
-all: install
-
-.PHONY: install
-install: build _postinstall
-
-_postinstall: build
-
-.PHONY: build
-build: _postbuild
-
-ifneq ($(OBJ),)
-exe2cmd = $(strip $(call dotfile,$(patsubst %,%.cmd,$(1))))
-
-O_TO_O = $(LD) -r -o $(OBJ) $(OBJS-y)
-O_TO_O_STR = $(subst ','\'',$(O_TO_O)) #'# fix syntax highlight
-O_TO_O_DISP =  $(if $(V),"$(O_TO_O_STR)","  LD $(@)")
-O_TO_O_CMD = "cmd_$@ = $(O_TO_O_STR)"
-O_TO_O_DO = @set -e; \
-	echo $(O_TO_O_DISP); \
-	$(O_TO_O) && \
-	echo $(O_TO_O_CMD) > $(call exe2cmd,$(@))
-
--include .$(OBJ).cmd
-
-#
-# Archive objects in .a file if needed
-#
-$(OBJ): $(OBJS-y) FORCE
-	@[ -d $(dir $@) ] || mkdir -p $(dir $@)
-	$(if $(D),\
-		@echo -n "$< -> $@ " ; \
-		echo -n "file_missing=$(call boolean,$(file_missing)) " ; \
-		echo -n "cmdline_changed=$(call boolean,$(call cmdline_changed,$(O_TO_O_STR))) " ; \
-		echo -n "depfile_missing=$(call boolean,$(depfile_missing)) " ; \
-		echo "depfile_newer=$(call boolean,$(depfile_newer)) ")
-	$(if $(or \
-		$(file_missing),\
-		$(call cmdline_changed,$(O_TO_O_STR)),\
-		$(depfile_missing),\
-		$(depfile_newer)),\
-		$(O_TO_O_DO))
-endif
-
-#
-# Clean all generated files
-#
-.PHONY: clean
-clean: _postclean
-
-.PHONY: doclean
-doclean:
-	@rm -rf $(OBJ) $(OBJS-all) $(DEPS-all) $(DEPSTMP-all) \
-	  $(CMDS-all) $(INSTALL-FILES-all)
-	@rm -f $(_BUILD_TARGETS) $(_INSTALL_TARGETS) $(_CLEAN_TARGETS)
-
-include $(RTE_SDK)/mk/internal/rte.compile-post.mk
-include $(RTE_SDK)/mk/internal/rte.install-post.mk
-include $(RTE_SDK)/mk/internal/rte.clean-post.mk
-include $(RTE_SDK)/mk/internal/rte.build-post.mk
-
-.PHONY: FORCE
-FORCE:
diff --git a/mk/rte.sdkbuild.mk b/mk/rte.sdkbuild.mk
deleted file mode 100644
index d1d57b6695..0000000000
--- a/mk/rte.sdkbuild.mk
+++ /dev/null
@@ -1,77 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2015 Intel Corporation
-
-#
-# include rte.vars.mk if config file exists
-#
-ifeq (,$(wildcard $(RTE_OUTPUT)/.config))
-  $(error "need a make config first")
-else
-  include $(RTE_SDK)/mk/rte.vars.mk
-endif
-
-# allow exec-env specific targets
--include $(RTE_SDK)/mk/exec-env/$(RTE_EXEC_ENV)/rte.custom.mk
-
-buildtools: | lib
-kernel: | lib
-drivers: | lib buildtools
-app: | lib buildtools drivers
-test: | lib buildtools drivers
-
-#
-# build and clean targets
-#
-
-CLEANDIRS = $(addsuffix _clean,$(ROOTDIRS-y) $(ROOTDIRS-n) $(ROOTDIRS-))
-
-.PHONY: build
-build: $(ROOTDIRS-y)
-	@echo "Build complete [$(RTE_TARGET)]"
-	@echo "==== NOTE ===="
-	@echo "It is recommended to build DPDK using 'meson' and 'ninja'"
-	@echo "See https://doc.dpdk.org/guides/linux_gsg/build_dpdk.html for instructions"
-	@echo "Building DPDK with 'make' will be deprecated in a future release"
-	@echo "=============="
-
-.PHONY: clean
-clean: $(CLEANDIRS)
-	@rm -rf $(RTE_OUTPUT)/include $(RTE_OUTPUT)/app \
-		$(RTE_OUTPUT)/lib \
-		$(RTE_OUTPUT)/hostlib $(RTE_OUTPUT)/kmod
-	@[ -d $(RTE_OUTPUT)/include ] || mkdir -p $(RTE_OUTPUT)/include
-	@$(RTE_SDK)/buildtools/gen-config-h.sh $(RTE_OUTPUT)/.config \
-		> $(RTE_OUTPUT)/include/rte_config.h
-	$(Q)$(MAKE) -f $(RTE_SDK)/GNUmakefile gcovclean
-	@echo Clean complete
-
-.SECONDEXPANSION:
-.PHONY: $(ROOTDIRS-y) $(ROOTDIRS-)
-$(ROOTDIRS-y) $(ROOTDIRS-):
-	@[ -d $(BUILDDIR)/$@ ] || mkdir -p $(BUILDDIR)/$@
-	@echo "== Build $@"
-	$(Q)$(MAKE) S=$@ -f $(RTE_SRCDIR)/$@/Makefile -C $(BUILDDIR)/$@ all
-	@if [ $@ = drivers ]; then \
-		$(MAKE) -f $(RTE_SDK)/mk/rte.combinedlib.mk; \
-	fi
-
-%_clean:
-	@echo "== Clean $*"
-	$(Q)if [ -f $(RTE_SRCDIR)/$*/Makefile -a -d $(BUILDDIR)/$* ]; then \
-		$(MAKE) S=$* -f $(RTE_SRCDIR)/$*/Makefile -C $(BUILDDIR)/$* clean ; \
-	fi
-
-RTE_MAKE_SUBTARGET ?= all
-
-%_sub: $(addsuffix _sub,$(*))
-	@echo $(addsuffix _sub,$(*))
-	@[ -d $(BUILDDIR)/$* ] || mkdir -p $(BUILDDIR)/$*
-	@echo "== Build $*"
-	$(Q)$(MAKE) S=$* -f $(RTE_SRCDIR)/$*/Makefile -C $(BUILDDIR)/$* \
-		$(RTE_MAKE_SUBTARGET)
-
-.PHONY: all
-all: build
-
-.PHONY: FORCE
-FORCE:
diff --git a/mk/rte.sdkconfig.mk b/mk/rte.sdkconfig.mk
deleted file mode 100644
index f538649f22..0000000000
--- a/mk/rte.sdkconfig.mk
+++ /dev/null
@@ -1,142 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-.PHONY: showversion
-showversion:
-	@cat $(RTE_SRCDIR)/VERSION
-
-.PHONY: showversionum
-showversionum:
-	@cat $(RTE_SRCDIR)/VERSION | awk -F '.' '{print $$1$$2}'
-
-INSTALL_CONFIGS := $(sort $(filter-out %app-icc,$(filter-out %app-clang,\
-	$(filter-out %app-gcc,$(filter-out %~,\
-	$(patsubst $(RTE_SRCDIR)/config/defconfig_%,%,\
-	$(wildcard $(RTE_SRCDIR)/config/defconfig_*)))))))
-INSTALL_TARGETS := $(addsuffix _install,$(INSTALL_CONFIGS))
-
-.PHONY: showconfigs
-showconfigs:
-	@$(foreach CONFIG, $(INSTALL_CONFIGS), echo $(CONFIG);)
-
-.PHONY: notemplate
-notemplate:
-	@printf "No template specified. Use 'make defconfig' or "
-	@echo "use T=template from the following list:"
-	@$(MAKE) -rR showconfigs | sed 's,^,  ,'
-
-.PHONY: defconfig
-defconfig:
-	@$(MAKE) config T=$(shell \
-                uname -m | awk '{ \
-                if ($$0 == "aarch64") { \
-                        print "arm64-armv8a"} \
-                else if ($$0 == "armv7l") { \
-                        print "arm-armv7a"} \
-                else if ($$0 == "ppc64") { \
-                        print "ppc_64-power8"} \
-                else if ($$0 == "amd64") { \
-                        print "x86_64-native"} \
-                else { \
-                        printf "%s-native", $$0} }' \
-		)-$(shell \
-                uname | awk '{ \
-                if ($$0 == "Linux") { \
-                        print "linux"} \
-                else { \
-                        print "freebsd"} }' \
-		)-$(shell \
-		${CC} --version | grep -o 'cc\|gcc\|icc\|clang' | awk \
-		'{ \
-		if ($$1 == "cc") { \
-			print "gcc" } \
-		else { \
-			print $$1 } \
-		}' \
-		)
-
-.PHONY: config
-ifeq ($(RTE_CONFIG_TEMPLATE),)
-config: notemplate
-else
-config: $(RTE_OUTPUT)/include/rte_config.h $(RTE_OUTPUT)/Makefile
-	@echo "Configuration done using" \
-		$(patsubst defconfig_%,%,$(notdir $(RTE_CONFIG_TEMPLATE)))
-endif
-
-$(RTE_OUTPUT):
-	$(Q)mkdir -p $@
-
-ifdef NODOTCONF
-$(RTE_OUTPUT)/.config: ;
-else
-# Generate config from template, if there are duplicates keep only the last.
-# To do so the temp config is checked for duplicate keys with cut/sort/uniq
-# Then for each of those identified duplicates as long as there are more than
-# just one left the last match is removed.
-# Part of the config includes the version information taken from "VERSION"
-# in the repo. This needs to be split into the various parts using sed and awk.
-# To ensure correct version comparison, we append ".99" to the version number
-# so that the version of a release is higher than that of its rc's.
-$(RTE_OUTPUT)/.config: $(RTE_CONFIG_TEMPLATE) FORCE | $(RTE_OUTPUT)
-	$(Q)if [ "$(RTE_CONFIG_TEMPLATE)" != "" -a -f "$(RTE_CONFIG_TEMPLATE)" ]; then \
-		$(CPP) -undef -P -x assembler-with-cpp \
-		`cat $(RTE_SRCDIR)/VERSION | \
-		sed -e 's/-rc/.-rc./' -e 's/$$/..99/' | \
-		awk -F '.' '{print "-D__YEAR="int($$1), "-D__MONTH="int($$2), "-D__MINOR="int($$3), "-D__SUFFIX=\""$$4"\"", "-D__RELEASE="int($$5)}'` \
-		-ffreestanding \
-		-o $(RTE_OUTPUT)/.config_tmp $(RTE_CONFIG_TEMPLATE) ; \
-		config=$$(cat $(RTE_OUTPUT)/.config_tmp) ; \
-		echo "$$config" | awk -F '=' 'BEGIN {i=1} \
-			/^#/ {pos[i++]=$$0} \
-			!/^#/ {if (!s[$$1]) {pos[i]=$$0; s[$$1]=i++} \
-				else {pos[s[$$1]]=$$0}} END \
-			{for (j=1; j<i; j++) print pos[j]}' \
-			> $(RTE_OUTPUT)/.config_tmp ; \
-		if ! cmp -s $(RTE_OUTPUT)/.config_tmp $(RTE_OUTPUT)/.config; then \
-			cp $(RTE_OUTPUT)/.config_tmp $(RTE_OUTPUT)/.config ; \
-			cp $(RTE_OUTPUT)/.config_tmp $(RTE_OUTPUT)/.config.orig ; \
-		fi ; \
-		rm -f $(RTE_OUTPUT)/.config_tmp ; \
-	else \
-		$(MAKE) -rRf $(RTE_SDK)/mk/rte.sdkconfig.mk notemplate; \
-	fi
-endif
-
-# generate a Makefile for this build directory
-# use a relative path so it will continue to work even if we move the directory
-SDK_RELPATH=$(shell $(RTE_SDK)/buildtools/relpath.sh $(abspath $(RTE_SRCDIR)) \
-				$(abspath $(RTE_OUTPUT)))
-OUTPUT_RELPATH=$(shell $(RTE_SDK)/buildtools/relpath.sh $(abspath $(RTE_OUTPUT)) \
-				$(abspath $(RTE_SRCDIR)))
-$(RTE_OUTPUT)/Makefile: | $(RTE_OUTPUT)
-	$(Q)$(RTE_SDK)/buildtools/gen-build-mk.sh $(SDK_RELPATH) > $@
-
-# clean installed files, and generate a new config header file
-# if NODOTCONF variable is defined, don't try to rebuild .config
-$(RTE_OUTPUT)/include/rte_config.h: $(RTE_OUTPUT)/.config
-	$(Q)rm -rf $(RTE_OUTPUT)/include $(RTE_OUTPUT)/app \
-		$(RTE_OUTPUT)/lib \
-		$(RTE_OUTPUT)/hostlib $(RTE_OUTPUT)/kmod $(RTE_OUTPUT)/build
-	$(Q)mkdir -p $(RTE_OUTPUT)/include
-	$(Q)$(RTE_SDK)/buildtools/gen-config-h.sh $(RTE_OUTPUT)/.config \
-		> $(RTE_OUTPUT)/include/rte_config.h
-
-# generate the rte_config.h
-.PHONY: headerconfig
-headerconfig: $(RTE_OUTPUT)/include/rte_config.h
-	@true
-
-# check that .config is present, and if yes, check that rte_config.h
-# is up to date
-.PHONY: checkconfig
-checkconfig:
-	@if [ ! -f $(RTE_OUTPUT)/.config ]; then \
-		echo "No .config in build directory"; \
-		exit 1; \
-	fi
-	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkconfig.mk \
-		headerconfig NODOTCONF=1
-
-.PHONY: FORCE
-FORCE:
diff --git a/mk/rte.sdkdepdirs.mk b/mk/rte.sdkdepdirs.mk
deleted file mode 100644
index 7adeb0e11b..0000000000
--- a/mk/rte.sdkdepdirs.mk
+++ /dev/null
@@ -1,9 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-ifeq (,$(wildcard $(RTE_OUTPUT)/.config))
-  $(error "need a make config first")
-endif
-ifeq (,$(wildcard $(RTE_OUTPUT)/Makefile))
-  $(error "need a make config first")
-endif
diff --git a/mk/rte.sdkdoc.mk b/mk/rte.sdkdoc.mk
deleted file mode 100644
index fd77e41867..0000000000
--- a/mk/rte.sdkdoc.mk
+++ /dev/null
@@ -1,104 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2015 Intel Corporation.
-# Copyright(c) 2013-2015 6WIND S.A.
-
-ifdef T
-ifeq ("$(origin T)", "command line")
-$(error "Cannot use T= with doc target")
-endif
-endif
-
-RTE_SPHINX_BUILD = sphinx-build
-RTE_PDFLATEX_VERBOSE := --interaction=nonstopmode
-
-ifndef V
-RTE_SPHINX_VERBOSE := -q
-RTE_PDFLATEX_VERBOSE := --interaction=batchmode
-RTE_INKSCAPE_VERBOSE := >/dev/null 2>&1
-endif
-ifeq '$V' '0'
-RTE_SPHINX_VERBOSE := -q
-RTE_PDFLATEX_VERBOSE := --interaction=batchmode
-RTE_INKSCAPE_VERBOSE := >/dev/null 2>&1
-endif
-
-RTE_PDF_DPI ?= 300
-
-RTE_GUIDES := $(filter %/, $(wildcard $(RTE_SDK)/doc/guides/*/))
-
-API_EXAMPLES := $(RTE_OUTPUT)/doc/html/examples.dox
-
-.PHONY: help
-help:
-	@cat $(RTE_SDK)/doc/build-sdk-quick.txt
-	@$(MAKE) -rR showconfigs | sed 's,^,\t\t\t\t,'
-
-.PHONY: all
-all: api-html guides-html guides-pdf
-
-.PHONY: clean
-clean: api-html-clean guides-html-clean guides-pdf-clean guides-man-clean
-
-.PHONY: api-html
-api-html: $(API_EXAMPLES)
-	@echo 'doxygen for API...'
-	$(Q)mkdir -p $(RTE_OUTPUT)/doc/html
-	$(Q)(sed -e "s|@VERSION@|`$(MAKE) -rRs showversion`|" \
-	         -e "s|@API_EXAMPLES@|$(API_EXAMPLES)|"       \
-	         -e "s|@OUTPUT@|$(RTE_OUTPUT)/doc|"           \
-	         -e "s|@HTML_OUTPUT@|html/api|"               \
-	         -e "s|@TOPDIR@|./|g"                         \
-	         -e "s|@STRIP_FROM_PATH@|./|g"                \
-	         $(RTE_SDK)/doc/api/doxy-api.conf.in)|        \
-	    doxygen -
-	$(Q)$(RTE_SDK)/doc/api/doxy-html-custom.sh $(RTE_OUTPUT)/doc/html/api/doxygen.css
-
-.PHONY: api-html-clean
-api-html-clean:
-	$(Q)rm -f $(API_EXAMPLES)
-	$(Q)rm -rf $(RTE_OUTPUT)/doc/html/api/search
-	$(Q)rm -f $(RTE_OUTPUT)/doc/html/api/*
-	$(Q)rmdir -p --ignore-fail-on-non-empty $(RTE_OUTPUT)/doc/html/api 2>&- || true
-
-$(API_EXAMPLES): api-html-clean
-	$(Q)mkdir -p $(@D)
-	$(Q)doc/api/generate_examples.sh examples $(API_EXAMPLES)
-
-guides-pdf-clean: guides-pdf-img-clean
-guides-pdf-img-clean:
-	$(Q)rm -f $(RTE_SDK)/doc/guides/*/img/*.pdf
-
-guides-%-clean:
-	$(Q)rm -rf $(RTE_OUTPUT)/doc/$*/guides
-	$(Q)rmdir -p --ignore-fail-on-non-empty $(RTE_OUTPUT)/doc/$* 2>&- || true
-
-guides-pdf: $(addprefix guides-pdf-, $(notdir $(RTE_GUIDES:/=))) ;
-guides-pdf-%:
-	@echo 'sphinx processing $@...'
-	$(Q)$(RTE_SPHINX_BUILD) -b latex $(RTE_SPHINX_VERBOSE) \
-		-c $(RTE_SDK)/doc/guides $(RTE_SDK)/doc/guides/$* \
-		$(RTE_OUTPUT)/doc/pdf/guides/$*
-	$(if $^,$(Q)rm -f $^)
-	@echo 'pdflatex processing $@...'
-	$(Q)$(MAKE) all-pdf -sC $(RTE_OUTPUT)/doc/pdf/guides/$* \
-		LATEXOPTS=$(RTE_PDFLATEX_VERBOSE)
-	$(Q)mv $(RTE_OUTPUT)/doc/pdf/guides/$*/doc.pdf \
-		$(RTE_OUTPUT)/doc/pdf/guides/$*.pdf
-
-guides-html-prepare:
-	$(Q)install -D -m0644 $(RTE_SDK)/doc/guides/custom.css \
-		$(RTE_OUTPUT)/doc/html/guides/_static/css/custom.css
-
-guides-%-prepare: ;
-
-guides-%: guides-%-prepare
-	@echo 'sphinx processing $@...'
-	$(Q)$(RTE_SPHINX_BUILD) -b $* $(RTE_SPHINX_VERBOSE) \
-		-c $(RTE_SDK)/doc/guides $(RTE_SDK)/doc/guides \
-		$(RTE_OUTPUT)/doc/$*/guides
-
-# Each PDF depends on generated images *.pdf from *.svg
-$(foreach guide, $(RTE_GUIDES), $(foreach img, $(wildcard $(guide)img/*.svg), \
-	$(eval guides-pdf-$(notdir $(guide:/=)): $(img:svg=pdf))))
-%.pdf: %.svg
-	$(Q)inkscape -d $(RTE_PDF_DPI) -D -f $< -A $@ $(RTE_INKSCAPE_VERBOSE)
diff --git a/mk/rte.sdkexamples.mk b/mk/rte.sdkexamples.mk
deleted file mode 100644
index 5eeec36494..0000000000
--- a/mk/rte.sdkexamples.mk
+++ /dev/null
@@ -1,50 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2014 6WIND S.A.
-
-# examples application are seen as external applications which are
-# not part of SDK.
-BUILDING_RTE_SDK :=
-export BUILDING_RTE_SDK
-
-# Build directory is given with O=
-O ?= $(RTE_SDK)/examples
-
-# Target for which examples should be built.
-T ?= *
-
-# list all available configurations
-EXAMPLES_CONFIGS := $(patsubst $(RTE_SRCDIR)/config/defconfig_%,%,\
-	$(wildcard $(RTE_SRCDIR)/config/defconfig_$(T)))
-EXAMPLES_TARGETS := $(addsuffix _examples,\
-	$(filter-out %~,$(EXAMPLES_CONFIGS)))
-
-.PHONY: examples
-examples: $(EXAMPLES_TARGETS)
-
-%_examples:
-	@echo ================== Build examples for $*
-	$(Q)if [ ! -d "${RTE_SDK}/${*}" ]; then \
-		echo "Target ${*} does not exist in ${RTE_SDK}/${*}." ; \
-		echo -n "Please install DPDK first (make install) or use another " ; \
-		echo "target argument (T=target)." ; \
-		false ; \
-	else \
-		$(MAKE) -C examples O=$(abspath $(O)) RTE_TARGET=$(*); \
-	fi
-
-EXAMPLES_CLEAN_TARGETS := $(addsuffix _examples_clean,\
-	$(filter-out %~,$(EXAMPLES_CONFIGS)))
-
-.PHONY: examples_clean
-examples_clean: $(EXAMPLES_CLEAN_TARGETS)
-
-%_examples_clean:
-	@echo ================== Clean examples for $*
-	$(Q)if [ ! -d "${RTE_SDK}/${*}" ]; then \
-		echo "Target ${*} does not exist in ${RTE_SDK}/${*}." ; \
-		echo -n "Please install DPDK first (make install) or use another " ; \
-		echo "target argument (T=target)." ; \
-		false ; \
-	else \
-		$(MAKE) -C examples O=$(abspath $(O)) RTE_TARGET=$(*) clean; \
-	fi
diff --git a/mk/rte.sdkgcov.mk b/mk/rte.sdkgcov.mk
deleted file mode 100644
index ab528b18b8..0000000000
--- a/mk/rte.sdkgcov.mk
+++ /dev/null
@@ -1,39 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-ifdef T
-ifeq ("$(origin T)", "command line")
-$(error "Cannot use T= with gcov target")
-endif
-endif
-
-ifeq (,$(wildcard $(RTE_OUTPUT)/.config))
-  $(error "need a make config first")
-else
-  include $(RTE_SDK)/mk/rte.vars.mk
-endif
-ifeq (,$(wildcard $(RTE_OUTPUT)/Makefile))
-  $(error "need a make config first")
-endif
-
-INPUTDIR  = $(RTE_OUTPUT)
-OUTPUTDIR =  $(RTE_OUTPUT)/gcov
-
-.PHONY: gcovclean
-gcovclean:
-	$(Q)find $(INPUTDIR)/build -name "*.gcno" -o -name "*.gcda" -exec rm {} \;
-	$(Q)rm -rf $(OUTPUTDIR)
-
-.PHONY: gcov
-gcov:
-	$(Q)for APP in test ; do \
-		mkdir -p $(OUTPUTDIR)/$$APP ; cd $(OUTPUTDIR)/$$APP ; \
-		for FIC in `strings $(RTE_OUTPUT)/app/$$APP | grep gcda | sed s,gcda,o,` ; do \
-			SUBDIR=`basename $$FIC`;\
-			mkdir $$SUBDIR ;\
-			cd $$SUBDIR ;\
-			$(GCOV) $(RTE_OUTPUT)/app/$$APP -o $$FIC > gcov.log; \
-			cd - >/dev/null;\
-		done ; \
-		cd - >/dev/null; \
-	done
diff --git a/mk/rte.sdkinstall.mk b/mk/rte.sdkinstall.mk
deleted file mode 100644
index 32bed5d951..0000000000
--- a/mk/rte.sdkinstall.mk
+++ /dev/null
@@ -1,152 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation.
-# Copyright 2015 6WIND S.A.
-
-# Configuration, compilation and installation can be done at once
-# with make install T=<config>
-
-ifdef T # config, build and install combined
-# The build directory is T and may be prepended with O
-O ?= .
-RTE_OUTPUT := $O/$T
-else # standard install
-# Build directory is given with O=
-O ?= build
-RTE_OUTPUT := $O
-endif
-
-ifneq ($(MAKECMDGOALS),pre_install)
-include $(RTE_SDK)/mk/rte.vars.mk
-endif
-
-ifdef T # defaults with T= will install an almost flat staging tree
-export prefix ?=
-kerneldir   ?= $(prefix)/kmod
-else
-ifeq ($(RTE_EXEC_ENV),linuxapp)
-RTE_EXEC_ENV=linux
-endif
-ifeq ($(RTE_EXEC_ENV),linux)
-kerneldir   ?= $(RTE_KERNELDIR:/build=/extra/dpdk)
-else
-kerneldir   ?= /boot/modules
-endif
-prefix      ?=     /usr/local
-endif
-exec_prefix ?=      $(prefix)
-bindir      ?= $(exec_prefix)/bin
-sbindir     ?= $(exec_prefix)/sbin
-libdir      ?= $(exec_prefix)/lib
-includedir  ?=      $(prefix)/include/dpdk
-datarootdir ?=      $(prefix)/share
-docdir      ?=       $(datarootdir)/doc/dpdk
-datadir     ?=       $(datarootdir)/dpdk
-mandir      ?=       $(datarootdir)/man
-sdkdir      ?=                $(datadir)
-targetdir   ?=                $(datadir)/$(RTE_TARGET)
-
-# The install directories may be staged in DESTDIR
-
-# Create the directory $1 if not exists
-rte_mkdir = test -d $1 || mkdir -p $1
-
-# Create the relative symbolic link $2 -> $1
-# May be replaced with --relative option of ln from coreutils-8.16
-rte_symlink = ln -snf $$($(RTE_SDK)/buildtools/relpath.sh $1 $(dir $2)) $2
-
-.PHONY: pre_install
-pre_install:
-ifdef T
-	$(Q)if [ ! -f $(RTE_OUTPUT)/.config ]; then \
-		$(MAKE) config O=$(RTE_OUTPUT); \
-	elif cmp -s $(RTE_OUTPUT)/.config.orig $(RTE_OUTPUT)/.config; then \
-		$(MAKE) config O=$(RTE_OUTPUT); \
-	else \
-		if [ -f $(RTE_OUTPUT)/.config.orig ] ; then \
-			tmp_build=$(RTE_OUTPUT)/.config.tmp; \
-			$(MAKE) config O=$$tmp_build; \
-			if ! cmp -s $(RTE_OUTPUT)/.config.orig $$tmp_build/.config ; then \
-				echo "Conflict: local config and template config have both changed"; \
-				exit 1; \
-			fi; \
-		fi; \
-		echo "Using local configuration"; \
-	fi
-	$(Q)$(MAKE) all O=$(RTE_OUTPUT)
-endif
-
-.PHONY: install
-install:
-ifeq ($(DESTDIR)$(if $T,,+),)
-	@echo Installation cannot run with T defined and DESTDIR undefined
-else
-	@echo ================== Installing $(DESTDIR)$(prefix)/
-	$(Q)$(MAKE) O=$(RTE_OUTPUT) T= install-runtime
-	$(Q)$(MAKE) O=$(RTE_OUTPUT) T= install-kmod
-	$(Q)$(MAKE) O=$(RTE_OUTPUT) T= install-sdk
-	$(Q)$(MAKE) O=$(RTE_OUTPUT) T= install-doc
-	@echo Installation in $(DESTDIR)$(prefix)/ complete
-endif
-
-# when installing we want recursive copies preserving timestamps only, no
-# preservation of user/group ids or permissions
-CP_FLAGS=-dR --preserve=timestamps
-TAR_X_FLAGS=--strip-components=1 --keep-newer-files --no-same-owner --no-same-permissions
-
-install-runtime:
-	$(Q)$(call rte_mkdir, $(DESTDIR)$(libdir))
-	$(Q)cp $(CP_FLAGS)    $O/lib/* $(DESTDIR)$(libdir)
-	$(Q)$(call rte_mkdir, $(DESTDIR)$(bindir))
-	$(Q)tar -cf -      -C $O --exclude 'app/*.map' \
-		--exclude app/dpdk-pmdinfogen \
-		--exclude 'app/cmdline*' --exclude app/test \
-		--exclude app/testacl --exclude app/testpipeline app | \
-	    tar -xf -      -C $(DESTDIR)$(bindir) $(TAR_X_FLAGS)
-	$(Q)$(call rte_mkdir,      $(DESTDIR)$(datadir)/usertools)
-	$(Q)tar -cf -      -C $(RTE_SDK) --exclude meson.build usertools | \
-	    tar -xf -      -C $(DESTDIR)$(datadir)/usertools $(TAR_X_FLAGS)
-	$(Q)$(call rte_mkdir,      $(DESTDIR)$(sbindir))
-	$(Q)$(call rte_symlink,    $(DESTDIR)$(datadir)/usertools/dpdk-devbind.py, \
-	                           $(DESTDIR)$(sbindir)/dpdk-devbind)
-	$(Q)$(call rte_symlink,    $(DESTDIR)$(datadir)/usertools/dpdk-pmdinfo.py, \
-	                           $(DESTDIR)$(bindir)/dpdk-pmdinfo)
-ifneq ($(wildcard $O/doc/man/*/*.1),)
-	$(Q)$(call rte_mkdir,      $(DESTDIR)$(mandir)/man1)
-	$(Q)cp $(CP_FLAGS) $O/doc/man/*/*.1 $(DESTDIR)$(mandir)/man1
-endif
-ifneq ($(wildcard $O/doc/man/*/*.8),)
-	$(Q)$(call rte_mkdir,      $(DESTDIR)$(mandir)/man8)
-	$(Q)cp $(CP_FLAGS) $O/doc/man/*/*.8 $(DESTDIR)$(mandir)/man8
-endif
-
-install-kmod:
-ifneq ($(wildcard $O/kmod/*),)
-	$(Q)$(call rte_mkdir, $(DESTDIR)$(kerneldir))
-	$(Q)cp $(CP_FLAGS)   $O/kmod/* $(DESTDIR)$(kerneldir)
-endif
-
-install-sdk:
-	$(Q)$(call rte_mkdir, $(DESTDIR)$(includedir))
-	$(Q)tar -chf -     -C $O include | \
-	    tar -xf -      -C $(DESTDIR)$(includedir) $(TAR_X_FLAGS)
-	$(Q)$(call rte_mkdir,                            $(DESTDIR)$(sdkdir))
-	$(Q)cp $(CP_FLAGS)      $(RTE_SDK)/mk            $(DESTDIR)$(sdkdir)
-	$(Q)cp $(CP_FLAGS)      $(RTE_SDK)/buildtools    $(DESTDIR)$(sdkdir)
-	$(Q)$(call rte_mkdir,                            $(DESTDIR)$(targetdir)/app)
-	$(Q)cp $(CP_FLAGS)      $O/.config               $(DESTDIR)$(targetdir)
-	$(Q)cp $(CP_FLAGS)      $O/app/dpdk-pmdinfogen   $(DESTDIR)$(targetdir)/app
-	$(Q)$(call rte_symlink, $(DESTDIR)$(includedir), $(DESTDIR)$(targetdir)/include)
-	$(Q)$(call rte_symlink, $(DESTDIR)$(libdir),     $(DESTDIR)$(targetdir)/lib)
-
-install-doc:
-ifneq ($(wildcard $O/doc/html),)
-	$(Q)$(call rte_mkdir, $(DESTDIR)$(docdir))
-	$(Q)tar -cf -      -C $O/doc --exclude 'html/guides/.*' html | \
-	    tar -xf -      -C $(DESTDIR)$(docdir) $(TAR_X_FLAGS)
-endif
-ifneq ($(wildcard $O/doc/*/*/*pdf),)
-	$(Q)$(call rte_mkdir,     $(DESTDIR)$(docdir)/guides)
-	$(Q)cp $(CP_FLAGS) $O/doc/*/*/*pdf $(DESTDIR)$(docdir)/guides
-endif
-	$(Q)$(call rte_mkdir,         $(DESTDIR)$(datadir))
-	$(Q)cp $(CP_FLAGS) $(RTE_SDK)/examples $(DESTDIR)$(datadir)
diff --git a/mk/rte.sdkroot.mk b/mk/rte.sdkroot.mk
deleted file mode 100644
index fbee6e96d9..0000000000
--- a/mk/rte.sdkroot.mk
+++ /dev/null
@@ -1,115 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-MAKEFLAGS += --no-print-directory
-
-# define Q to '@' or not. $(Q) is used to prefix all shell commands to
-# be executed silently.
-Q=@
-ifeq '$V' '0'
-override V=
-endif
-ifdef V
-ifeq ("$(origin V)", "command line")
-Q=
-endif
-endif
-export Q
-
-ifeq ($(RTE_SDK),)
-$(error RTE_SDK is not defined)
-endif
-
-RTE_SRCDIR = $(CURDIR)
-export RTE_SRCDIR
-
-BUILDING_RTE_SDK := 1
-export BUILDING_RTE_SDK
-
-#
-# We can specify the configuration template when doing the "make
-# config". For instance: make config T=x86_64-native-linux-gcc
-#
-RTE_CONFIG_TEMPLATE :=
-ifdef T
-ifeq ("$(origin T)", "command line")
-RTE_CONFIG_TEMPLATE := $(RTE_SRCDIR)/config/defconfig_$(T)
-endif
-endif
-export RTE_CONFIG_TEMPLATE
-
-#
-# Default output is $(RTE_SRCDIR)/build
-# output files wil go in a separate directory
-#
-ifdef O
-ifeq ("$(origin O)", "command line")
-RTE_OUTPUT := $(abspath $(O))
-endif
-endif
-RTE_OUTPUT ?= $(RTE_SRCDIR)/build
-export RTE_OUTPUT
-
-# the directory where intermediate build files are stored, like *.o,
-# *.d, *.cmd, ...
-BUILDDIR = $(RTE_OUTPUT)/build
-export BUILDDIR
-
-export ROOTDIRS-y ROOTDIRS- ROOTDIRS-n
-
-.PHONY: default test-build
-default test-build: all
-
-.PHONY: warning
-warning:
-	@echo
-	@echo "=========================== WARNING ============================"
-	@echo "It is recommended to build DPDK using 'meson' and 'ninja'"
-	@echo "See https://doc.dpdk.org/guides/linux_gsg/build_dpdk.html"
-	@echo "Building DPDK with 'make' will be deprecated in a future release"
-	@echo "================================================================"
-	@echo
-	@test "$(MAKE_PAUSE)" = n || ( \
-	echo "This deprecation warning can be passed by adding MAKE_PAUSE=n"; \
-	echo "to 'make' command line or as an exported environment variable."; \
-	echo "Press enter to continue..."; read junk)
-
-.PHONY: config defconfig showconfigs showversion showversionum
-config: warning
-config defconfig showconfigs showversion showversionum:
-	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkconfig.mk $@
-
-.PHONY: cscope gtags tags etags
-cscope gtags tags etags:
-	$(Q)$(RTE_SDK)/devtools/build-tags.sh $@ $T
-
-.PHONY: test test-fast test-perf coverage test-drivers test-dump
-test test-fast test-perf coverage test-drivers test-dump:
-	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdktest.mk $@
-
-.PHONY: install
-install:
-	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkinstall.mk pre_install
-	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkinstall.mk $@
-install-%:
-	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkinstall.mk $@
-
-.PHONY: doc help
-doc: doc-all
-help: doc-help
-doc-%:
-	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkdoc.mk $*
-
-.PHONY: gcov gcovclean
-gcov gcovclean:
-	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkgcov.mk $@
-
-.PHONY: examples examples_clean
-examples examples_clean:
-	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkexamples.mk $@
-
-# all other build targets
-%:
-	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkconfig.mk checkconfig
-	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkroot.mk warning
-	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkbuild.mk $@
diff --git a/mk/rte.sdktest.mk b/mk/rte.sdktest.mk
deleted file mode 100644
index 803018ba3a..0000000000
--- a/mk/rte.sdktest.mk
+++ /dev/null
@@ -1,76 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-ifeq (,$(wildcard $(RTE_OUTPUT)/.config))
-  $(error "need a make config first")
-else
-  include $(RTE_SDK)/mk/rte.vars.mk
-endif
-ifeq (,$(wildcard $(RTE_OUTPUT)/Makefile))
-  $(error "need a make config first")
-endif
-
-DATE := $(shell date '+%Y%m%d-%H%M')
-AUTOTEST_DIR := $(RTE_OUTPUT)/autotest-$(DATE)
-
-DIR := $(shell basename $(RTE_OUTPUT))
-
-#
-# test: launch auto-tests, very simple for now.
-#
-.PHONY: test test-fast test-perf test-drivers test-dump coverage
-
-PERFLIST=ring_perf,mempool_perf,memcpy_perf,hash_perf,timer_perf,\
-         reciprocal_division,reciprocal_division_perf,lpm_perf,red_all,\
-         barrier,hash_multiwriter,timer_racecond,efd,hash_functions,\
-         eventdev_selftest_sw,member_perf,efd_perf,lpm6_perf,red_perf,\
-         distributor_perf,ring_pmd_perf,pmd_perf,ring_perf
-DRIVERSLIST=link_bonding,link_bonding_mode4,link_bonding_rssconf,\
-            cryptodev_sw_mrvl,cryptodev_dpaa2_sec,cryptodev_dpaa_sec,\
-            cryptodev_qat,cryptodev_aesni_mb,cryptodev_openssl,\
-            cryptodev_scheduler,cryptodev_aesni_gcm,cryptodev_null,\
-            cryptodev_sw_snow3g,cryptodev_sw_kasumi,cryptodev_sw_zuc
-DUMPLIST=dump_struct_sizes,dump_mempool,dump_malloc_stats,dump_devargs,\
-         dump_log_types,dump_ring,dump_physmem,dump_memzone
-
-SPACESTR:=
-SPACESTR+=
-STRIPPED_PERFLIST=$(subst $(SPACESTR),,$(PERFLIST))
-STRIPPED_DRIVERSLIST=$(subst $(SPACESTR),,$(DRIVERSLIST))
-STRIPPED_DUMPLIST=$(subst $(SPACESTR),,$(DUMPLIST))
-
-coverage: BLACKLIST=-$(STRIPPED_PERFLIST)
-test-fast: BLACKLIST=-$(STRIPPED_PERFLIST),$(STRIPPED_DRIVERSLIST),$(STRIPPED_DUMPLIST)
-test-perf: WHITELIST=$(STRIPPED_PERFLIST)
-test-drivers: WHITELIST=$(STRIPPED_DRIVERSLIST)
-test-dump: WHITELIST=$(STRIPPED_DUMPLIST)
-
-test test-fast test-perf test-drivers test-dump:
-	@mkdir -p $(AUTOTEST_DIR) ; \
-	cd $(AUTOTEST_DIR) ; \
-	if [ -f $(RTE_OUTPUT)/app/test ]; then \
-		python $(RTE_SDK)/app/test/autotest.py \
-			$(RTE_OUTPUT)/app/test \
-			$(RTE_TARGET) \
-			$(BLACKLIST) $(WHITELIST); \
-	else \
-		echo "No test found, please do a 'make' first, or specify O=" ; \
-	fi
-
-# this is a special target to ease the pain of running coverage tests
-# this runs all the autotests, cmdline_test script and dpdk-procinfo
-coverage:
-	@mkdir -p $(AUTOTEST_DIR) ; \
-	cd $(AUTOTEST_DIR) ; \
-	if [ -f $(RTE_OUTPUT)/app/test ]; then \
-		python $(RTE_SDK)/test/cmdline_test/cmdline_test.py \
-			$(RTE_OUTPUT)/app/cmdline_test; \
-		ulimit -S -n 100 ; \
-		python $(RTE_SDK)/app/test/autotest.py \
-			$(RTE_OUTPUT)/app/test \
-			$(RTE_TARGET) \
-			$(BLACKLIST) $(WHITELIST) ; \
-		$(RTE_OUTPUT)/app/dpdk-procinfo --file-prefix=ring_perf -- -m; \
-	else \
-		echo "No test found, please do a 'make' first, or specify O=" ;\
-	fi
diff --git a/mk/rte.shared.mk b/mk/rte.shared.mk
deleted file mode 100644
index 2b501ddb84..0000000000
--- a/mk/rte.shared.mk
+++ /dev/null
@@ -1,108 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2012-2013 6WIND S.A.
-
-include $(RTE_SDK)/mk/internal/rte.compile-pre.mk
-include $(RTE_SDK)/mk/internal/rte.install-pre.mk
-include $(RTE_SDK)/mk/internal/rte.clean-pre.mk
-include $(RTE_SDK)/mk/internal/rte.build-pre.mk
-
-# VPATH contains at least SRCDIR
-VPATH += $(SRCDIR)
-
-_BUILD = $(SHARED)
-_INSTALL = $(INSTALL-FILES-y) $(SYMLINK-FILES-y) $(RTE_OUTPUT)/lib/$(SHARED)
-_CLEAN = doclean
-
-# Set fPIC in CFLAGS for .so generation
-CFLAGS += -fPIC
-
-.PHONY: all
-all: install
-
-.PHONY: install
-install: build _postinstall
-
-_postinstall: build
-
-.PHONY: build
-build: _postbuild
-
-exe2cmd = $(strip $(call dotfile,$(patsubst %,%.cmd,$(1))))
-
-ifeq ($(LINK_USING_CC),1)
-override EXTRA_LDFLAGS := $(call linkerprefix,$(EXTRA_LDFLAGS))
-O_TO_SO = $(CC) $(call linkerprefix,$(LDFLAGS)) $(LDFLAGS_$(@)) $(EXTRA_LDFLAGS) \
-	-shared -o $@ $(OBJS-y) $(call linkerprefix,$(LDLIBS))
-else
-O_TO_SO = $(LD) $(LDFLAGS) $(LDFLAGS_$(@)) $(EXTRA_LDFLAGS) \
-	-shared -o $@ $(OBJS-y) $(LDLIBS)
-endif
-
-O_TO_SO_STR = $(subst ','\'',$(O_TO_SO)) #'# fix syntax highlight
-O_TO_SO_DISP = $(if $(V),"$(O_TO_SO_STR)","  LD $(@)")
-O_TO_SO_CMD = "cmd_$@ = $(O_TO_SO_STR)"
-O_TO_SO_DO = @set -e; \
-	echo $(O_TO_SO_DISP); \
-	$(O_TO_SO) && \
-	echo $(O_TO_SO_CMD) > $(call exe2cmd,$(@))
-
--include .$(SHARED).cmd
-
-# path where libraries are retrieved
-LDLIBS_PATH := $(subst -Wl$(comma)-L,,$(filter -Wl$(comma)-L%,$(LDLIBS)))
-LDLIBS_PATH += $(subst -L,,$(filter -L%,$(LDLIBS)))
-
-# list of .a files that are linked to this application
-LDLIBS_NAMES := $(patsubst -l%,lib%.a,$(filter -l%,$(LDLIBS)))
-LDLIBS_NAMES += $(patsubst -Wl$(comma)-l%,lib%.a,$(filter -Wl$(comma)-l%,$(LDLIBS)))
-
-# list of found libraries files (useful for deps). If not found, the
-# library is silently ignored and dep won't be checked
-LDLIBS_FILES := $(sort $(wildcard $(foreach dir,$(LDLIBS_PATH),\
-	$(addprefix $(dir)/,$(LDLIBS_NAMES)))))
-
-#
-# Archive objects in .so file if needed
-#
-$(SHARED): $(OBJS-y) $(LDLIBS_FILES) $(DEP_$(SHARED)) FORCE
-	@[ -d $(dir $@) ] || mkdir -p $(dir $@)
-	$(if $(D),\
-		@echo -n "$< -> $@ " ; \
-		echo -n "file_missing=$(call boolean,$(file_missing)) " ; \
-		echo -n "cmdline_changed=$(call boolean,$(call cmdline_changed,$(O_TO_SO_STR))) " ; \
-		echo -n "depfile_missing=$(call boolean,$(depfile_missing)) " ; \
-		echo "depfile_newer=$(call boolean,$(depfile_newer)) ")
-	$(if $(or \
-		$(file_missing),\
-		$(call cmdline_changed,$(O_TO_SO_STR)),\
-		$(depfile_missing),\
-		$(depfile_newer)),\
-		$(O_TO_SO_DO))
-
-#
-# install lib in $(RTE_OUTPUT)/lib
-#
-$(RTE_OUTPUT)/lib/$(SHARED): $(SHARED)
-	@echo "  INSTALL-SHARED $(SHARED)"
-	@[ -d $(RTE_OUTPUT)/lib ] || mkdir -p $(RTE_OUTPUT)/lib
-	$(Q)cp -f $(SHARED) $(RTE_OUTPUT)/lib
-
-#
-# Clean all generated files
-#
-.PHONY: clean
-clean: _postclean
-
-.PHONY: doclean
-doclean:
-	$(Q)rm -rf $(SHARED) $(OBJS-all) $(DEPS-all) $(DEPSTMP-all) \
-	  $(CMDS-all) $(INSTALL-FILES-all)
-	$(Q)rm -f $(_BUILD_TARGETS) $(_INSTALL_TARGETS) $(_CLEAN_TARGETS)
-
-include $(RTE_SDK)/mk/internal/rte.compile-post.mk
-include $(RTE_SDK)/mk/internal/rte.install-post.mk
-include $(RTE_SDK)/mk/internal/rte.clean-post.mk
-include $(RTE_SDK)/mk/internal/rte.build-post.mk
-
-.PHONY: FORCE
-FORCE:
diff --git a/mk/rte.subdir.mk b/mk/rte.subdir.mk
deleted file mode 100644
index d6e64a2460..0000000000
--- a/mk/rte.subdir.mk
+++ /dev/null
@@ -1,65 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# .mk to build subdirectories
-#
-
-include $(RTE_SDK)/mk/internal/rte.install-pre.mk
-include $(RTE_SDK)/mk/internal/rte.clean-pre.mk
-include $(RTE_SDK)/mk/internal/rte.build-pre.mk
-
-ALL_DEPDIRS := $(patsubst DEPDIRS-%,%,$(filter DEPDIRS-%,$(.VARIABLES)))
-
-CLEANDIRS = $(addsuffix _clean,$(DIRS-y) $(DIRS-n) $(DIRS-))
-
-VPATH += $(SRCDIR)
-_BUILD = $(DIRS-y)
-_INSTALL = $(INSTALL-FILES-y) $(SYMLINK-FILES-y)
-_CLEAN = $(CLEANDIRS)
-
-.PHONY: all
-all: install
-
-.PHONY: install
-install: build _postinstall
-
-_postinstall: build
-
-.PHONY: build
-build: _postbuild
-
-.SECONDEXPANSION:
-.PHONY: $(DIRS-y)
-$(DIRS-y):
-	@[ -d $(CURDIR)/$@ ] || mkdir -p $(CURDIR)/$@
-	@echo "== Build $S/$@"
-	@$(MAKE) S=$S/$@ -f $(SRCDIR)/$@/Makefile -C $(CURDIR)/$@ all
-
-.PHONY: clean
-clean: _postclean
-
-%_clean:
-	@echo "== Clean $S/$*"
-	@if [ -f $(SRCDIR)/$*/Makefile -a -d $(CURDIR)/$* ]; then \
-		$(MAKE) S=$S/$* -f $(SRCDIR)/$*/Makefile -C $(CURDIR)/$* clean ; \
-	fi
-	@rm -f $(_BUILD_TARGETS) $(_INSTALL_TARGETS) $(_CLEAN_TARGETS)
-
-define depdirs_rule
-$(DEPDIRS-$(1)):
-
-$(1): | $(DEPDIRS-$(1))
-
-$(if $(D),$(info $(1) depends on $(DEPDIRS-$(1))))
-endef
-
-$(foreach dir,$(ALL_DEPDIRS),\
-	$(eval $(call depdirs_rule,$(dir))))
-
-include $(RTE_SDK)/mk/internal/rte.install-post.mk
-include $(RTE_SDK)/mk/internal/rte.clean-post.mk
-include $(RTE_SDK)/mk/internal/rte.build-post.mk
-
-.PHONY: FORCE
-FORCE:
diff --git a/mk/rte.vars.mk b/mk/rte.vars.mk
deleted file mode 100644
index 07b0db127f..0000000000
--- a/mk/rte.vars.mk
+++ /dev/null
@@ -1,102 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# To be included at the beginning of all RTE user Makefiles. This
-# .mk will define the RTE environment variables by including the
-# config file of SDK. It also includes the config file from external
-# application if any.
-#
-
-ifeq ($(RTE_SDK),)
-$(error RTE_SDK is not defined)
-endif
-ifeq ($(wildcard $(RTE_SDK)),)
-$(error RTE_SDK variable points to an invalid location)
-endif
-
-# define Q to '@' or not. $(Q) is used to prefix all shell commands to
-# be executed silently.
-Q=@
-ifeq '$V' '0'
-override V=
-endif
-ifdef V
-ifeq ("$(origin V)", "command line")
-Q=
-endif
-endif
-export Q
-
-# if we are building SDK, only includes SDK configuration
-ifneq ($(BUILDING_RTE_SDK),)
-  include $(RTE_OUTPUT)/.config
-  # remove double-quotes from config names
-  RTE_ARCH := $(CONFIG_RTE_ARCH:"%"=%)
-  RTE_MACHINE := $(CONFIG_RTE_MACHINE:"%"=%)
-  RTE_EXEC_ENV := $(CONFIG_RTE_EXEC_ENV:"%"=%)
-  RTE_TOOLCHAIN := $(CONFIG_RTE_TOOLCHAIN:"%"=%)
-  RTE_SDK_BIN := $(RTE_OUTPUT)
-endif
-
-RTE_TARGET ?= $(RTE_ARCH)-$(RTE_MACHINE)-$(RTE_EXEC_ENV)-$(RTE_TOOLCHAIN)
-
-ifeq ($(BUILDING_RTE_SDK),)
-# if we are building an external app/lib, include internal/rte.extvars.mk that will
-# define RTE_OUTPUT, RTE_SRCDIR, RTE_EXTMK, RTE_SDK_BIN, (etc ...)
-include $(RTE_SDK)/mk/internal/rte.extvars.mk
-endif
-
-CONFIG_RTE_LIBRTE_E1000_PMD = $(CONFIG_RTE_LIBRTE_IGB_PMD)
-ifneq ($(CONFIG_RTE_LIBRTE_E1000_PMD),y)
-  CONFIG_RTE_LIBRTE_E1000_PMD = $(CONFIG_RTE_LIBRTE_EM_PMD)
-endif
-
-ifeq ($(RTE_ARCH),)
-$(error RTE_ARCH is not defined)
-endif
-
-ifeq ($(RTE_MACHINE),)
-$(error RTE_MACHINE is not defined)
-endif
-
-ifeq ($(RTE_EXEC_ENV),)
-$(error RTE_EXEC_ENV is not defined)
-endif
-
-ifeq ($(RTE_TOOLCHAIN),)
-$(error RTE_TOOLCHAIN is not defined)
-endif
-
-# can be overridden by make command line or exported environment variable
-RTE_KERNELDIR ?= /lib/modules/$(shell uname -r)/build
-
-export RTE_TARGET
-export RTE_ARCH
-export RTE_MACHINE
-export RTE_EXEC_ENV
-export RTE_TOOLCHAIN
-
-# developer build automatically enabled in a git tree
-ifneq ($(wildcard $(RTE_SDK)/.git),)
-RTE_DEVEL_BUILD ?= y
-endif
-
-# SRCDIR is the current source directory
-ifdef S
-SRCDIR := $(abspath $(RTE_SRCDIR)/$(S))
-else
-SRCDIR := $(RTE_SRCDIR)
-endif
-
-# helper: return y if option is set to y, else return an empty string
-testopt = $(if $(strip $(subst y,,$(1)) $(subst $(1),,y)),,y)
-
-# helper: return an empty string if option is set, else return y
-not = $(if $(strip $(subst y,,$(1)) $(subst $(1),,y)),,y)
-
-ifneq ($(wildcard $(RTE_SDK)/mk/target/$(RTE_TARGET)/rte.vars.mk),)
-include $(RTE_SDK)/mk/target/$(RTE_TARGET)/rte.vars.mk
-else
-include $(RTE_SDK)/mk/target/generic/rte.vars.mk
-endif
diff --git a/mk/target/generic/rte.app.mk b/mk/target/generic/rte.app.mk
deleted file mode 100644
index ed82656f18..0000000000
--- a/mk/target/generic/rte.app.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# define Makefile targets that are specific to an environment.
-#
-include $(RTE_SDK)/mk/exec-env/$(RTE_EXEC_ENV)/rte.app.mk
-
-.PHONY: exec-env-appinstall
-target-appinstall: exec-env-appinstall
-
-.PHONY: exec-env-appclean
-target-appclean: exec-env-appclean
diff --git a/mk/target/generic/rte.vars.mk b/mk/target/generic/rte.vars.mk
deleted file mode 100644
index 11b0418e55..0000000000
--- a/mk/target/generic/rte.vars.mk
+++ /dev/null
@@ -1,132 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# This .mk is the generic target rte.var.mk ; it includes .mk for
-# the specified machine, architecture, toolchain (compiler) and
-# executive environment.
-#
-
-#
-# toolchain:
-#
-#   - define CC, LD, AR, AS, ...
-#   - define TOOLCHAIN_CFLAGS variable (overridden by cmdline value)
-#   - define TOOLCHAIN_LDFLAGS variable (overridden by cmdline value)
-#   - define TOOLCHAIN_ASFLAGS variable (overridden by cmdline value)
-#   - may override any previously defined variable
-#
-include $(RTE_SDK)/mk/toolchain/$(RTE_TOOLCHAIN)/rte.vars.mk
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#
-ifneq ($(wildcard $(RTE_SDK)/mk/machine/$(RTE_MACHINE)/rte.vars.mk),)
-include $(RTE_SDK)/mk/machine/$(RTE_MACHINE)/rte.vars.mk
-else
-MACHINE_CFLAGS := -march=$(RTE_MACHINE)
-endif
-
-#
-# arch:
-#
-#   - define ARCH variable (overridden by cmdline or by previous
-#     optional define in machine .mk)
-#   - define CROSS variable (overridden by cmdline or previous define
-#     in machine .mk)
-#   - define CPU_CFLAGS variable (overridden by cmdline or previous
-#     define in machine .mk)
-#   - define CPU_LDFLAGS variable (overridden by cmdline or previous
-#     define in machine .mk)
-#   - define CPU_ASFLAGS variable (overridden by cmdline or previous
-#     define in machine .mk)
-#   - may override any previously defined variable
-#
-include $(RTE_SDK)/mk/arch/$(RTE_ARCH)/rte.vars.mk
-
-#
-# exec-env:
-#
-#   - define EXECENV_CFLAGS variable (overridden by cmdline)
-#   - define EXECENV_LDFLAGS variable (overridden by cmdline)
-#   - define EXECENV_ASFLAGS variable (overridden by cmdline)
-#   - may override any previously defined variable
-#
-include $(RTE_SDK)/mk/exec-env/$(RTE_EXEC_ENV)/rte.vars.mk
-
-# Don't set CFLAGS/LDFLAGS flags for kernel module, all flags are
-# provided by Kbuild framework.
-ifeq ($(KERNELRELEASE),)
-
-# now that the environment is mostly set up, including the machine type we will
-# be passing to the compiler, set up the specific CPU flags based on that info.
-include $(RTE_SDK)/mk/rte.cpuflags.mk
-
-# merge all CFLAGS
-CFLAGS := $(CPU_CFLAGS) $(EXECENV_CFLAGS) $(TOOLCHAIN_CFLAGS) $(MACHINE_CFLAGS)
-CFLAGS += $(TARGET_CFLAGS)
-
-# merge all LDFLAGS
-LDFLAGS := $(CPU_LDFLAGS) $(EXECENV_LDFLAGS) $(TOOLCHAIN_LDFLAGS) $(MACHINE_LDFLAGS)
-LDFLAGS += $(TARGET_LDFLAGS)
-
-# merge all ASFLAGS
-ASFLAGS := $(CPU_ASFLAGS) $(EXECENV_ASFLAGS) $(TOOLCHAIN_ASFLAGS) $(MACHINE_ASFLAGS)
-ASFLAGS += $(TARGET_ASFLAGS)
-
-# add default include and lib paths
-CFLAGS += -I$(RTE_OUTPUT)/include
-LDFLAGS += -L$(RTE_OUTPUT)/lib
-
-# add in flag for supporting function versioning. The define is used in meson
-# builds to ensure that the user has properly flagged the unit in question as
-# using function versioning so it can be built twice - once for static lib and
-# then a second time for the shared lib. Since make only builds one library
-# type at a time, such precautions aren't necessary, so we can globally define
-# the flag
-CFLAGS += -DRTE_USE_FUNCTION_VERSIONING
-
-# always include rte_config.h: the one in $(RTE_OUTPUT)/include is
-# the configuration of SDK when $(BUILDING_RTE_SDK) is true, or the
-# configuration of the application if $(BUILDING_RTE_SDK) is not
-# defined.
-ifeq ($(BUILDING_RTE_SDK),1)
-# building sdk
-CFLAGS += -include $(RTE_OUTPUT)/include/rte_config.h
-CFLAGS += -DALLOW_EXPERIMENTAL_API
-CFLAGS += -DALLOW_INTERNAL_API
-else
-# if we are building an external application, include SDK's lib and
-# includes too
-CFLAGS += -I$(RTE_SDK_BIN)/include
-ifneq ($(wildcard $(RTE_OUTPUT)/include/rte_config.h),)
-CFLAGS += -include $(RTE_OUTPUT)/include/rte_config.h
-endif
-CFLAGS += -include $(RTE_SDK_BIN)/include/rte_config.h
-LDFLAGS += -L$(RTE_SDK_BIN)/lib
-endif
-
-# always define _GNU_SOURCE
-CFLAGS += -D_GNU_SOURCE
-
-# define __BSD_VISIBLE when building for FreeBSD
-ifeq ($(CONFIG_RTE_EXEC_ENV_FREEBSD),y)
-CFLAGS += -D__BSD_VISIBLE
-endif
-
-export CFLAGS
-export LDFLAGS
-
-endif
diff --git a/mk/toolchain/clang/rte.toolchain-compat.mk b/mk/toolchain/clang/rte.toolchain-compat.mk
deleted file mode 100644
index e6189b498d..0000000000
--- a/mk/toolchain/clang/rte.toolchain-compat.mk
+++ /dev/null
@@ -1,22 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# CPUID-related options
-#
-# This was added to support compiler versions which might not support all the
-# flags we need
-#
-
-# find out CLANG version
-
-CLANG_VERSION := $(shell $(CC) -v 2>&1 | \
-	sed -n "s/.*version \([0-9]*\.[0-9]*\).*/\1/p")
-
-CLANG_MAJOR_VERSION := $(shell echo $(CLANG_VERSION) | cut -f1 -d.)
-
-CLANG_MINOR_VERSION := $(shell echo $(CLANG_VERSION) | cut -f2 -d.)
-
-ifeq ($(shell test $(CLANG_MAJOR_VERSION)$(CLANG_MINOR_VERSION) -lt 35 && echo 1), 1)
-	CC_SUPPORTS_Z := false
-endif
diff --git a/mk/toolchain/clang/rte.vars.mk b/mk/toolchain/clang/rte.vars.mk
deleted file mode 100644
index d441f6d8f3..0000000000
--- a/mk/toolchain/clang/rte.vars.mk
+++ /dev/null
@@ -1,60 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# toolchain:
-#
-#   - define CC, LD, AR, AS, ... (overridden by cmdline value)
-#   - define TOOLCHAIN_CFLAGS variable (overridden by cmdline value)
-#   - define TOOLCHAIN_LDFLAGS variable (overridden by cmdline value)
-#   - define TOOLCHAIN_ASFLAGS variable (overridden by cmdline value)
-#
-
-CC        = $(CROSS)clang
-KERNELCC  = $(CROSS)gcc
-CPP       = $(CROSS)cpp
-# for now, we don't use as but nasm.
-# AS      = $(CROSS)as
-AS        = nasm
-AR        = $(CROSS)ar
-LD        = $(CROSS)ld
-OBJCOPY   = $(CROSS)objcopy
-OBJDUMP   = $(CROSS)objdump
-STRIP     = $(CROSS)strip
-READELF   = $(CROSS)readelf
-GCOV      = $(CROSS)gcov
-
-ifeq ("$(origin CC)", "command line")
-HOSTCC    = $(CC)
-else
-HOSTCC    = clang
-endif
-HOSTAS    = as
-
-TOOLCHAIN_ASFLAGS =
-TOOLCHAIN_CFLAGS =
-TOOLCHAIN_LDFLAGS =
-
-WERROR_FLAGS := -W -Wall -Wstrict-prototypes -Wmissing-prototypes
-WERROR_FLAGS += -Wmissing-declarations -Wold-style-definition -Wpointer-arith
-WERROR_FLAGS += -Wnested-externs -Wcast-qual
-WERROR_FLAGS += -Wformat-nonliteral -Wformat-security
-WERROR_FLAGS += -Wundef -Wwrite-strings -Wdeprecated
-
-ifeq ($(RTE_DEVEL_BUILD),y)
-WERROR_FLAGS += -Werror
-endif
-
-# process cpu flags
-include $(RTE_SDK)/mk/toolchain/$(RTE_TOOLCHAIN)/rte.toolchain-compat.mk
-
-# disable warning for non-initialised fields
-WERROR_FLAGS += -Wno-missing-field-initializers
-
-# disable packed member unalign warnings
-ifeq ($(shell test $(CLANG_MAJOR_VERSION) -ge 4 && echo 1), 1)
-WERROR_FLAGS += -Wno-address-of-packed-member
-endif
-
-export CC AS AR LD OBJCOPY OBJDUMP STRIP READELF
-export TOOLCHAIN_CFLAGS TOOLCHAIN_LDFLAGS TOOLCHAIN_ASFLAGS
diff --git a/mk/toolchain/gcc/rte.toolchain-compat.mk b/mk/toolchain/gcc/rte.toolchain-compat.mk
deleted file mode 100644
index 98dca3e786..0000000000
--- a/mk/toolchain/gcc/rte.toolchain-compat.mk
+++ /dev/null
@@ -1,120 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# CPUID-related options
-#
-# This was added to support compiler versions which might not support all the
-# flags we need
-#
-
-#find out GCC version
-
-GCC_MAJOR = $(shell echo __GNUC__ | $(CC) -E -x c - | tail -n 1)
-GCC_MINOR = $(shell echo __GNUC_MINOR__ | $(CC) -E -x c - | tail -n 1)
-GCC_PATCHLEVEL = $(shell echo __GNUC_PATCHLEVEL__ | $(CC) -E -x c - | tail -n 1)
-GCC_VERSION = $(GCC_MAJOR)$(GCC_MINOR)
-
-HOST_GCC_MAJOR = $(shell echo __GNUC__ | $(HOSTCC) -E -x c - | tail -n 1)
-HOST_GCC_MINOR = $(shell echo __GNUC_MINOR__ | $(HOSTCC) -E -x c - | tail -n 1)
-HOST_GCC_PATCHLEVEL = $(shell echo __GNUC_PATCHLEVEL__ | $(HOSTCC) -E -x c - | tail -n 1)
-HOST_GCC_VERSION = $(HOST_GCC_MAJOR)$(HOST_GCC_MINOR)
-
-LD_VERSION = $(shell $(LD) -v)
-# disable AVX512F support for GCC & binutils 2.30 as a workaround for Bug 97
-ifeq ($(CONFIG_RTE_ARCH_X86), y)
-ifneq ($(filter 2.30%,$(LD_VERSION)),)
-FORCE_DISABLE_AVX512 := y
-# print warning only once for librte_eal
-ifneq ($(filter %librte_eal,$(CURDIR)),)
-$(warning AVX512 support disabled because of binutils 2.30. See Bug 97)
-endif
-endif
-ifneq ($(filter 2.31%,$(LD_VERSION)),)
-FORCE_DISABLE_AVX512 := y
-# print warning only once for librte_eal
-ifneq ($(filter %librte_eal,$(CURDIR)),)
-$(warning AVX512 support disabled because of binutils 2.31. See Bug 249)
-endif
-endif
-endif
-
-# if GCC is older than 4.x
-ifeq ($(shell test $(GCC_VERSION) -lt 40 && echo 1), 1)
-	MACHINE_CFLAGS =
-$(warning You are using GCC < 4.x. This is neither supported, nor tested.)
-
-
-else
-# GCC graceful degradation
-# GCC 4.2.x - added support for generic target
-# GCC 4.3.x - added support for core2, ssse3, sse4.1, sse4.2
-# GCC 4.4.x - added support for avx, aes, pclmul
-# GCC 4.5.x - added support for atom
-# GCC 4.6.x - added support for corei7, corei7-avx
-# GCC 4.7.x - added support for fsgsbase, rdrnd, f16c, core-avx-i, core-avx2
-# GCC 4.9.x - added support for armv8-a+crc
-#
-	ifeq ($(shell test $(GCC_VERSION) -le 49 && echo 1), 1)
-		MACHINE_CFLAGS := $(patsubst -march=armv8-a+crc,-march=armv8-a+crc -D__ARM_FEATURE_CRC32=1,$(MACHINE_CFLAGS))
-		MACHINE_CFLAGS := $(patsubst -march=armv8-a+crc+crypto,-march=armv8-a+crc+crypto -D__ARM_FEATURE_CRC32=1,$(MACHINE_CFLAGS))
-	endif
-	ifeq ($(shell test $(GCC_VERSION) -le 47 && echo 1), 1)
-		MACHINE_CFLAGS := $(patsubst -march=core-avx-i,-march=corei7-avx,$(MACHINE_CFLAGS))
-		MACHINE_CFLAGS := $(patsubst -march=core-avx2,-march=core-avx2,$(MACHINE_CFLAGS))
-	endif
-	ifeq ($(shell test $(GCC_VERSION) -lt 46 && echo 1), 1)
-		MACHINE_CFLAGS := $(patsubst -march=corei7-avx,-march=core2 -maes -mpclmul -mavx,$(MACHINE_CFLAGS))
-		MACHINE_CFLAGS := $(patsubst -march=corei7,-march=core2 -maes -mpclmul,$(MACHINE_CFLAGS))
-	endif
-	ifeq ($(shell test $(GCC_VERSION) -lt 45 && echo 1), 1)
-		MACHINE_CFLAGS := $(patsubst -march=atom,-march=core2 -mssse3,$(MACHINE_CFLAGS))
-	endif
-	ifeq ($(shell test $(GCC_VERSION) -lt 44 && echo 1), 1)
-		MACHINE_CFLAGS := $(filter-out -mavx -mpclmul -maes,$(MACHINE_CFLAGS))
-		ifneq ($(findstring SSE4_2, $(CPUFLAGS)),)
-			MACHINE_CFLAGS += -msse4.2
-		endif
-		ifneq ($(findstring SSE4_1, $(CPUFLAGS)),)
-			MACHINE_CFLAGS += -msse4.1
-		endif
-	endif
-	ifeq ($(shell test $(GCC_VERSION) -lt 43 && echo 1), 1)
-		MACHINE_CFLAGS := $(filter-out -msse% -mssse%,$(MACHINE_CFLAGS))
-		MACHINE_CFLAGS := $(patsubst -march=core2,-march=generic,$(MACHINE_CFLAGS))
-		MACHINE_CFLAGS += -msse3
-	endif
-	ifeq ($(shell test $(GCC_VERSION) -lt 42 && echo 1), 1)
-		MACHINE_CFLAGS := $(filter-out -march% -mtune% -msse%,$(MACHINE_CFLAGS))
-	endif
-
-	ifeq ($(shell test $(GCC_VERSION) -lt 74 && echo 1), 1)
-		CONFIG_RTE_ENABLE_LTO=n
-	endif
-
-	# Disable thunderx PMD for gcc < 4.7
-	ifeq ($(shell test $(GCC_VERSION) -lt 47 && echo 1), 1)
-		CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD=d
-	endif
-
-	# Disable OPDL PMD for gcc < 4.7
-	ifeq ($(shell test $(GCC_VERSION) -lt 47 && echo 1), 1)
-		CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV=d
-	endif
-
-	# Disable OCTEON drivers and libs for arm64 gcc < 4.8.6
-	ifeq ($(RTE_ARCH), arm64)
-	ifeq ($(shell test $(GCC_VERSION)$(GCC_PATCHLEVEL) -lt 486 && echo 1), 1)
-		CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF=d
-		CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL=d
-		CONFIG_RTE_LIBRTE_OCTEONTX_PMD=d
-		CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_DMA_RAWDEV=d
-		CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EP_RAWDEV=d
-		CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV=d
-		CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO=d
-		CONFIG_RTE_LIBRTE_OCTEONTX2_MEMPOOL=d
-		CONFIG_RTE_LIBRTE_OCTEONTX2_PMD=d
-	endif
-	endif
-
-endif
diff --git a/mk/toolchain/gcc/rte.vars.mk b/mk/toolchain/gcc/rte.vars.mk
deleted file mode 100644
index 928f0e0830..0000000000
--- a/mk/toolchain/gcc/rte.vars.mk
+++ /dev/null
@@ -1,109 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# toolchain:
-#
-#   - define CC, LD, AR, AS, ... (overridden by cmdline value)
-#   - define TOOLCHAIN_CFLAGS variable (overridden by cmdline value)
-#   - define TOOLCHAIN_LDFLAGS variable (overridden by cmdline value)
-#   - define TOOLCHAIN_ASFLAGS variable (overridden by cmdline value)
-#
-
-CC        = $(CROSS)gcc
-KERNELCC  = $(CROSS)gcc
-CPP       = $(CROSS)cpp
-# for now, we don't use as but nasm.
-# AS      = $(CROSS)as
-AS        = nasm
-AR        = $(CROSS)ar
-LD        = $(CROSS)ld
-OBJCOPY   = $(CROSS)objcopy
-OBJDUMP   = $(CROSS)objdump
-STRIP     = $(CROSS)strip
-READELF   = $(CROSS)readelf
-GCOV      = $(CROSS)gcov
-
-ifeq ("$(origin CC)", "command line")
-HOSTCC    = $(CC)
-else
-HOSTCC    = gcc
-endif
-HOSTAS    = as
-
-TOOLCHAIN_ASFLAGS =
-TOOLCHAIN_CFLAGS =
-TOOLCHAIN_LDFLAGS =
-
-ifeq ($(CONFIG_RTE_LIBRTE_GCOV),y)
-TOOLCHAIN_CFLAGS += --coverage
-TOOLCHAIN_LDFLAGS += --coverage
-ifeq (,$(findstring -O0,$(EXTRA_CFLAGS)))
-  $(warning "EXTRA_CFLAGS doesn't contains -O0, coverage will be inaccurate with optimizations enabled")
-endif
-endif
-
-WERROR_FLAGS := -W -Wall -Wstrict-prototypes -Wmissing-prototypes
-WERROR_FLAGS += -Wmissing-declarations -Wold-style-definition -Wpointer-arith
-WERROR_FLAGS += -Wcast-align -Wnested-externs -Wcast-qual
-WERROR_FLAGS += -Wformat-nonliteral -Wformat-security
-WERROR_FLAGS += -Wundef -Wwrite-strings -Wdeprecated
-
-ifeq ($(RTE_DEVEL_BUILD),y)
-WERROR_FLAGS += -Werror
-endif
-
-# There are many issues reported for strict alignment architectures
-# which are not necessarily fatal. Report as warnings.
-ifeq ($(CONFIG_RTE_ARCH_STRICT_ALIGN),y)
-WERROR_FLAGS += -Wno-error=cast-align
-endif
-
-# process cpu flags
-include $(RTE_SDK)/mk/toolchain/$(RTE_TOOLCHAIN)/rte.toolchain-compat.mk
-
-ifeq ($(CONFIG_RTE_ENABLE_LTO),y)
-# 'fat-lto' is used since pmdinfogen needs to have 'this_pmd_nameX'
-# exported in symbol table and without this option only internal
-# representation is present.
-TOOLCHAIN_CFLAGS += -flto -ffat-lto-objects
-TOOLCHAIN_LDFLAGS += -flto
-# workaround for GCC bug 81440
-ifeq ($(shell test $(GCC_VERSION) -lt 80 && echo 1), 1)
-WERROR_FLAGS += -Wno-lto-type-mismatch
-endif
-endif
-
-# disable warning for non-initialised fields
-WERROR_FLAGS += -Wno-missing-field-initializers
-# workaround GCC bug with warning "may be used uninitialized"
-ifeq ($(shell test $(GCC_VERSION) -lt 47 && echo 1), 1)
-WERROR_FLAGS += -Wno-uninitialized
-endif
-
-ifeq ($(shell test $(GCC_VERSION) -ge 100 && echo 1), 1)
-# FIXME: Bugzilla 396
-WERROR_FLAGS += -Wno-zero-length-bounds
-endif
-
-HOST_WERROR_FLAGS := $(WERROR_FLAGS)
-
-ifeq ($(shell test $(HOST_GCC_VERSION) -gt 70 && echo 1), 1)
-# Tell GCC only to error for switch fallthroughs without a suitable comment
-HOST_WERROR_FLAGS += -Wimplicit-fallthrough=2
-# Ignore errors for snprintf truncation
-HOST_WERROR_FLAGS += -Wno-format-truncation
-endif
-
-ifeq ($(shell test $(GCC_VERSION) -gt 70 && echo 1), 1)
-# Tell GCC only to error for switch fallthroughs without a suitable comment
-WERROR_FLAGS += -Wimplicit-fallthrough=2
-# Ignore errors for snprintf truncation
-WERROR_FLAGS += -Wno-format-truncation
-endif
-
-# disable packed member unalign warnings
-WERROR_FLAGS += -Wno-address-of-packed-member
-
-export CC AS AR LD OBJCOPY OBJDUMP STRIP READELF
-export TOOLCHAIN_CFLAGS TOOLCHAIN_LDFLAGS TOOLCHAIN_ASFLAGS
diff --git a/mk/toolchain/icc/rte.toolchain-compat.mk b/mk/toolchain/icc/rte.toolchain-compat.mk
deleted file mode 100644
index 2d663b34ad..0000000000
--- a/mk/toolchain/icc/rte.toolchain-compat.mk
+++ /dev/null
@@ -1,58 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# CPUID-related options
-#
-# This was added to support compiler versions which might not support all the
-# flags we need
-#
-
-# find out ICC version
-
-ICC_MAJOR_VERSION = $(shell icc -dumpversion | cut -f1 -d.)
-
-ifeq ($(shell test $(ICC_MAJOR_VERSION) -lt 12 && echo 1), 1)
-	MACHINE_CFLAGS = -xSSE4.2
-$(warning You are not using ICC 12.x or higher. This is neither supported, nor tested.)
-
-else
-# proceed to adjust compiler flags
-
-	ICC_MINOR_VERSION = $(shell icc -dumpversion | cut -f2 -d.)
-
-# replace GCC flags with ICC flags
-	# if icc version >= 12
-	ifeq ($(shell test $(ICC_MAJOR_VERSION) -ge 12 && echo 1), 1)
-		# Atom
-		MACHINE_CFLAGS := $(patsubst -march=atom,-xSSSE3_ATOM -march=atom,$(MACHINE_CFLAGS))
-		# nehalem/westmere
-		MACHINE_CFLAGS := $(patsubst -march=corei7,-xSSE4.2 -march=corei7,$(MACHINE_CFLAGS))
-		# sandy bridge
-		MACHINE_CFLAGS := $(patsubst -march=corei7-avx,-xAVX,$(MACHINE_CFLAGS))
-		# ivy bridge
-		MACHINE_CFLAGS := $(patsubst -march=core-avx-i,-xCORE-AVX-I,$(MACHINE_CFLAGS))
-		# hsw
-		MACHINE_CFLAGS := $(patsubst -march=core-avx2,-xCORE-AVX2,$(MACHINE_CFLAGS))
-		# remove westmere flags
-		MACHINE_CFLAGS := $(filter-out -mpclmul -maes,$(MACHINE_CFLAGS))
-	endif
-	# if icc version == 12.0
-	ifeq ($(shell test $(ICC_MAJOR_VERSION) -eq 12 && test $(ICC_MINOR_VERSION) -eq 0 && echo 1), 1)
-		# Atom
-		MACHINE_CFLAGS := $(patsubst -xSSSE3_ATOM,-xSSE3_ATOM,$(MACHINE_CFLAGS))
-		# remove march options
-		MACHINE_CFLAGS := $(patsubst -march=%,-xSSE3,$(MACHINE_CFLAGS))
-	endif
-
-	# Disable thunderx PMD for icc <= 16.0
-	ifeq ($(shell test $(ICC_MAJOR_VERSION) -le 16 && echo 1), 1)
-		CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD=d
-	endif
-
-        # Disable event/opdl  PMD for icc <= 16.0
-	ifeq ($(shell test $(ICC_MAJOR_VERSION) -le 16 && echo 1), 1)
-		CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV=d
-	endif
-
-endif
diff --git a/mk/toolchain/icc/rte.vars.mk b/mk/toolchain/icc/rte.vars.mk
deleted file mode 100644
index 1729f3d849..0000000000
--- a/mk/toolchain/icc/rte.vars.mk
+++ /dev/null
@@ -1,62 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# toolchain:
-#
-#   - define CC, LD, AR, AS, ... (overridden by cmdline value)
-#   - define TOOLCHAIN_CFLAGS variable (overridden by cmdline value)
-#   - define TOOLCHAIN_LDFLAGS variable (overridden by cmdline value)
-#   - define TOOLCHAIN_ASFLAGS variable (overridden by cmdline value)
-#
-
-# Warning: we do not use CROSS environment variable as icc is mainly a
-# x86->x86 compiler
-
-CC        = icc
-KERNELCC  = gcc
-CPP       = cpp
-AS        = nasm
-AR        = ar
-LD        = ld
-OBJCOPY   = objcopy
-OBJDUMP   = objdump
-STRIP     = strip
-READELF   = readelf
-
-ifeq ($(KERNELRELEASE),)
-HOSTCC    = icc
-else
-HOSTCC    = gcc
-endif
-HOSTAS    = as
-
-TOOLCHAIN_CFLAGS =
-TOOLCHAIN_LDFLAGS =
-TOOLCHAIN_ASFLAGS =
-
-# Turn off some ICC warnings -
-#   Remark #271   : trailing comma is nonstandard
-#   Warning #1478 : function "<func_name>" (declared at line N of "<filename>")
-#   error #13368: loop was not vectorized with "vector always assert"
-#   error #15527: loop was not vectorized: function call to fprintf cannot be vectorize
-#                   was declared "deprecated"
-#   Warning #11074, 11076: to prevent "inline-max-size" warnings.
-WERROR_FLAGS := -Wall -w2 -diag-disable 271 -diag-warning 1478
-WERROR_FLAGS += -diag-disable 13368 -diag-disable 15527
-WERROR_FLAGS += -diag-disable 188
-WERROR_FLAGS += -diag-disable 11074 -diag-disable 11076 -Wdeprecated
-
-# process cpu flags
-include $(RTE_SDK)/mk/toolchain/$(RTE_TOOLCHAIN)/rte.toolchain-compat.mk
-
-ifeq ($(CONFIG_RTE_ENABLE_LTO),y)
-# 'fat-lto' is used since pmdinfogen needs to have 'this_pmd_nameX'
-# exported in symbol table and without this option only internal
-# representation is present.
-TOOLCHAIN_CFLAGS += -flto -ffat-lto-objects
-TOOLCHAIN_LDFLAGS += -flto
-endif
-
-export CC AS AR LD OBJCOPY OBJDUMP STRIP READELF
-export TOOLCHAIN_CFLAGS TOOLCHAIN_LDFLAGS TOOLCHAIN_ASFLAGS
-- 
2.28.0


^ permalink raw reply	[relevance 1%]

* [dpdk-dev] [PATCH v4 13/31] config: remove default configs used with make
    2020-09-07 22:06  1%     ` [dpdk-dev] [PATCH v4 11/31] build: remove makefiles Thomas Monjalon
@ 2020-09-07 22:06  1%     ` Thomas Monjalon
  2020-09-07 22:07  5%     ` [dpdk-dev] [PATCH v4 31/31] doc: remove references to make from contributing guide Thomas Monjalon
  2 siblings, 0 replies; 200+ results
From: Thomas Monjalon @ 2020-09-07 22:06 UTC (permalink / raw)
  To: dev; +Cc: david.marchand, bruce.richardson, ciara.power

From: Ciara Power <ciara.power@intel.com>

Make is not supported for compiling DPDK, the config files are no
longer needed.

Signed-off-by: Ciara Power <ciara.power@intel.com>
---
 MAINTAINERS                                   |   10 +-
 config/common_armv8a_linux                    |   43 -
 config/common_base                            | 1154 -----------------
 config/common_freebsd                         |   15 -
 config/common_linux                           |   68 -
 config/defconfig_arm-armv7a-linux-gcc         |    1 -
 config/defconfig_arm-armv7a-linuxapp-gcc      |   49 -
 config/defconfig_arm64-armada-linux-gcc       |    1 -
 config/defconfig_arm64-armada-linuxapp-gcc    |   41 -
 config/defconfig_arm64-armv8a-linux-clang     |    1 -
 config/defconfig_arm64-armv8a-linux-gcc       |    1 -
 config/defconfig_arm64-armv8a-linuxapp-clang  |    8 -
 config/defconfig_arm64-armv8a-linuxapp-gcc    |    9 -
 config/defconfig_arm64-bluefield-linux-gcc    |    1 -
 config/defconfig_arm64-bluefield-linuxapp-gcc |   18 -
 config/defconfig_arm64-dpaa-linux-gcc         |    1 -
 config/defconfig_arm64-dpaa-linuxapp-gcc      |   31 -
 config/defconfig_arm64-emag-linux-gcc         |    1 -
 config/defconfig_arm64-emag-linuxapp-gcc      |   11 -
 config/defconfig_arm64-n1sdp-linux-gcc        |    1 -
 config/defconfig_arm64-n1sdp-linuxapp-gcc     |   14 -
 config/defconfig_arm64-octeontx2-linux-gcc    |    1 -
 config/defconfig_arm64-octeontx2-linuxapp-gcc |   18 -
 config/defconfig_arm64-stingray-linux-gcc     |    1 -
 config/defconfig_arm64-stingray-linuxapp-gcc  |   14 -
 config/defconfig_arm64-thunderx-linux-gcc     |    1 -
 config/defconfig_arm64-thunderx-linuxapp-gcc  |   17 -
 config/defconfig_arm64-thunderx2-linux-gcc    |    1 -
 config/defconfig_arm64-thunderx2-linuxapp-gcc |   12 -
 config/defconfig_arm64-xgene1-linux-gcc       |    1 -
 config/defconfig_arm64-xgene1-linuxapp-gcc    |    8 -
 config/defconfig_i686-native-linux-gcc        |    1 -
 config/defconfig_i686-native-linux-icc        |    1 -
 config/defconfig_i686-native-linuxapp-gcc     |   66 -
 config/defconfig_i686-native-linuxapp-icc     |   66 -
 config/defconfig_ppc_64-power8-linux-gcc      |    1 -
 config/defconfig_ppc_64-power8-linuxapp-gcc   |   35 -
 config/defconfig_x86_64-native-bsdapp-clang   |   14 -
 config/defconfig_x86_64-native-bsdapp-gcc     |   14 -
 config/defconfig_x86_64-native-freebsd-clang  |    1 -
 config/defconfig_x86_64-native-freebsd-gcc    |    1 -
 config/defconfig_x86_64-native-linux-clang    |    1 -
 config/defconfig_x86_64-native-linux-gcc      |    1 -
 config/defconfig_x86_64-native-linux-icc      |    1 -
 config/defconfig_x86_64-native-linuxapp-clang |   14 -
 config/defconfig_x86_64-native-linuxapp-gcc   |   14 -
 config/defconfig_x86_64-native-linuxapp-icc   |   29 -
 config/defconfig_x86_x32-native-linux-gcc     |    1 -
 config/defconfig_x86_x32-native-linuxapp-gcc  |   46 -
 config/rte_config.h                           |    4 -
 devtools/build-tags.sh                        |   15 +-
 drivers/bus/pci/linux/pci_vfio.c              |    1 -
 drivers/net/i40e/i40e_rxtx.c                  |    1 -
 lib/librte_mempool/rte_mempool.h              |    2 +-
 lib/librte_ring/rte_ring_elem.h               |    3 +-
 55 files changed, 6 insertions(+), 1880 deletions(-)
 delete mode 100644 config/common_armv8a_linux
 delete mode 100644 config/common_base
 delete mode 100644 config/common_freebsd
 delete mode 100644 config/common_linux
 delete mode 120000 config/defconfig_arm-armv7a-linux-gcc
 delete mode 100644 config/defconfig_arm-armv7a-linuxapp-gcc
 delete mode 120000 config/defconfig_arm64-armada-linux-gcc
 delete mode 100644 config/defconfig_arm64-armada-linuxapp-gcc
 delete mode 120000 config/defconfig_arm64-armv8a-linux-clang
 delete mode 120000 config/defconfig_arm64-armv8a-linux-gcc
 delete mode 100644 config/defconfig_arm64-armv8a-linuxapp-clang
 delete mode 100644 config/defconfig_arm64-armv8a-linuxapp-gcc
 delete mode 120000 config/defconfig_arm64-bluefield-linux-gcc
 delete mode 100644 config/defconfig_arm64-bluefield-linuxapp-gcc
 delete mode 120000 config/defconfig_arm64-dpaa-linux-gcc
 delete mode 100644 config/defconfig_arm64-dpaa-linuxapp-gcc
 delete mode 120000 config/defconfig_arm64-emag-linux-gcc
 delete mode 100644 config/defconfig_arm64-emag-linuxapp-gcc
 delete mode 120000 config/defconfig_arm64-n1sdp-linux-gcc
 delete mode 100644 config/defconfig_arm64-n1sdp-linuxapp-gcc
 delete mode 120000 config/defconfig_arm64-octeontx2-linux-gcc
 delete mode 100644 config/defconfig_arm64-octeontx2-linuxapp-gcc
 delete mode 120000 config/defconfig_arm64-stingray-linux-gcc
 delete mode 100644 config/defconfig_arm64-stingray-linuxapp-gcc
 delete mode 120000 config/defconfig_arm64-thunderx-linux-gcc
 delete mode 100644 config/defconfig_arm64-thunderx-linuxapp-gcc
 delete mode 120000 config/defconfig_arm64-thunderx2-linux-gcc
 delete mode 100644 config/defconfig_arm64-thunderx2-linuxapp-gcc
 delete mode 120000 config/defconfig_arm64-xgene1-linux-gcc
 delete mode 100644 config/defconfig_arm64-xgene1-linuxapp-gcc
 delete mode 120000 config/defconfig_i686-native-linux-gcc
 delete mode 120000 config/defconfig_i686-native-linux-icc
 delete mode 100644 config/defconfig_i686-native-linuxapp-gcc
 delete mode 100644 config/defconfig_i686-native-linuxapp-icc
 delete mode 120000 config/defconfig_ppc_64-power8-linux-gcc
 delete mode 100644 config/defconfig_ppc_64-power8-linuxapp-gcc
 delete mode 100644 config/defconfig_x86_64-native-bsdapp-clang
 delete mode 100644 config/defconfig_x86_64-native-bsdapp-gcc
 delete mode 120000 config/defconfig_x86_64-native-freebsd-clang
 delete mode 120000 config/defconfig_x86_64-native-freebsd-gcc
 delete mode 120000 config/defconfig_x86_64-native-linux-clang
 delete mode 120000 config/defconfig_x86_64-native-linux-gcc
 delete mode 120000 config/defconfig_x86_64-native-linux-icc
 delete mode 100644 config/defconfig_x86_64-native-linuxapp-clang
 delete mode 100644 config/defconfig_x86_64-native-linuxapp-gcc
 delete mode 100644 config/defconfig_x86_64-native-linuxapp-icc
 delete mode 120000 config/defconfig_x86_x32-native-linux-gcc
 delete mode 100644 config/defconfig_x86_x32-native-linuxapp-gcc

diff --git a/MAINTAINERS b/MAINTAINERS
index 37f1f1fc56..3b16d7a4b8 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -94,18 +94,12 @@ F: devtools/words-case.txt
 F: license/
 F: .editorconfig
 
-
 Build System
-------------
-M: Thomas Monjalon <thomas@monjalon.net>
+M: Bruce Richardson <bruce.richardson@intel.com>
 F: Makefile
-F: config/
-
-Meson build
-M: Bruce Richardson <bruce.richardson@intel.com>
 F: meson.build
 F: meson_options.txt
-F: config/rte_config.h
+F: config/
 F: buildtools/binutils-avx512-check.sh
 F: buildtools/call-sphinx-build.py
 F: buildtools/gen-pmdinfo-cfile.sh
diff --git a/config/common_armv8a_linux b/config/common_armv8a_linux
deleted file mode 100644
index e942657a0f..0000000000
--- a/config/common_armv8a_linux
+++ /dev/null
@@ -1,43 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Cavium, Inc
-#
-
-#include "common_linux"
-
-CONFIG_RTE_MACHINE="armv8a"
-
-CONFIG_RTE_ARCH="arm64"
-CONFIG_RTE_ARCH_ARM64=y
-CONFIG_RTE_ARCH_64=y
-
-CONFIG_RTE_FORCE_INTRINSICS=y
-
-# Maximum available cache line size in arm64 implementations.
-# Setting to maximum available cache line size in generic config
-# to address minimum DMA alignment across all arm64 implementations.
-CONFIG_RTE_CACHE_LINE_SIZE=128
-
-CONFIG_RTE_USE_C11_MEM_MODEL=y
-
-# Accelarate rte_memcpy. Be sure to run unit test (memcpy_perf_autotest)
-# to determine the best threshold in code. Refer to notes in source file
-# (lib/librte_eal/arm/include/rte_memcpy_64.h) for more info.
-CONFIG_RTE_ARCH_ARM64_MEMCPY=n
-#CONFIG_RTE_ARM64_MEMCPY_ALIGNED_THRESHOLD=2048
-#CONFIG_RTE_ARM64_MEMCPY_UNALIGNED_THRESHOLD=512
-# Leave below RTE_ARM64_MEMCPY_xxx options commented out, unless there're
-# strong reasons.
-#CONFIG_RTE_ARM64_MEMCPY_SKIP_GCC_VER_CHECK=n
-#CONFIG_RTE_ARM64_MEMCPY_ALIGN_MASK=0xF
-#CONFIG_RTE_ARM64_MEMCPY_STRICT_ALIGN=n
-
-CONFIG_RTE_LIBRTE_IONIC_PMD=n
-CONFIG_RTE_LIBRTE_FM10K_PMD=n
-CONFIG_RTE_LIBRTE_SFC_EFX_PMD=n
-CONFIG_RTE_LIBRTE_AVP_PMD=n
-CONFIG_RTE_LIBRTE_PMD_IOAT_RAWDEV=n
-
-#
-# NXP PFE PMD Driver
-#
-CONFIG_RTE_LIBRTE_PFE_PMD=y
diff --git a/config/common_base b/config/common_base
deleted file mode 100644
index fbf0ee70c8..0000000000
--- a/config/common_base
+++ /dev/null
@@ -1,1154 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2017 Intel Corporation
-
-#
-# String that appears before the version number
-#
-CONFIG_RTE_VER_PREFIX="DPDK"
-
-#
-# Version information completed when this file is processed for a build
-#
-CONFIG_RTE_VER_YEAR=__YEAR
-CONFIG_RTE_VER_MONTH=__MONTH
-CONFIG_RTE_VER_MINOR=__MINOR
-CONFIG_RTE_VER_SUFFIX=__SUFFIX
-CONFIG_RTE_VER_RELEASE=__RELEASE
-
-#
-# define executive environment
-# RTE_EXEC_ENV values are the directories in mk/exec-env/
-#
-CONFIG_RTE_EXEC_ENV=
-
-#
-# define the architecture we compile for.
-# RTE_ARCH values are the directories in mk/arch/
-#
-CONFIG_RTE_ARCH=
-
-#
-# machine can define specific variables or action for a specific board
-# RTE_MACHINE values are the directories in mk/machine/
-#
-CONFIG_RTE_MACHINE=
-
-#
-# The compiler we use.
-# RTE_TOOLCHAIN values are the directories in mk/toolchain/
-#
-CONFIG_RTE_TOOLCHAIN=
-
-#
-# Use intrinsics or assembly code for key routines
-#
-CONFIG_RTE_FORCE_INTRINSICS=n
-
-#
-# Machine forces strict alignment constraints.
-#
-CONFIG_RTE_ARCH_STRICT_ALIGN=n
-
-#
-# Enable link time optimization
-#
-CONFIG_RTE_ENABLE_LTO=n
-
-#
-# Compile to share library
-#
-CONFIG_RTE_BUILD_SHARED_LIB=n
-
-#
-# Use newest code breaking previous ABI
-#
-CONFIG_RTE_NEXT_ABI=y
-
-#
-# Machine's cache line size
-#
-CONFIG_RTE_CACHE_LINE_SIZE=64
-
-#
-# Memory model
-#
-CONFIG_RTE_USE_C11_MEM_MODEL=n
-
-#
-# Compile Environment Abstraction Layer
-#
-CONFIG_RTE_LIBRTE_EAL=y
-CONFIG_RTE_MAX_LCORE=128
-CONFIG_RTE_MAX_NUMA_NODES=8
-CONFIG_RTE_MAX_HEAPS=32
-CONFIG_RTE_MAX_MEMSEG_LISTS=64
-# each memseg list will be limited to either RTE_MAX_MEMSEG_PER_LIST pages
-# or RTE_MAX_MEM_MB_PER_LIST megabytes worth of memory, whichever is smaller
-CONFIG_RTE_MAX_MEMSEG_PER_LIST=8192
-CONFIG_RTE_MAX_MEM_MB_PER_LIST=32768
-# a "type" is a combination of page size and NUMA node. total number of memseg
-# lists per type will be limited to either RTE_MAX_MEMSEG_PER_TYPE pages (split
-# over multiple lists of RTE_MAX_MEMSEG_PER_LIST pages), or
-# RTE_MAX_MEM_MB_PER_TYPE megabytes of memory (split over multiple lists of
-# RTE_MAX_MEM_MB_PER_LIST), whichever is smaller
-CONFIG_RTE_MAX_MEMSEG_PER_TYPE=32768
-CONFIG_RTE_MAX_MEM_MB_PER_TYPE=131072
-# global maximum usable amount of VA, in megabytes
-CONFIG_RTE_MAX_MEM_MB=524288
-CONFIG_RTE_MAX_MEMZONE=2560
-CONFIG_RTE_MAX_TAILQ=32
-CONFIG_RTE_ENABLE_ASSERT=n
-CONFIG_RTE_LOG_DP_LEVEL=RTE_LOG_INFO
-CONFIG_RTE_ENABLE_TRACE_FP=n
-CONFIG_RTE_LOG_HISTORY=256
-CONFIG_RTE_BACKTRACE=y
-CONFIG_RTE_LIBEAL_USE_HPET=n
-CONFIG_RTE_EAL_ALWAYS_PANIC_ON_ERROR=n
-CONFIG_RTE_EAL_IGB_UIO=n
-CONFIG_RTE_EAL_VFIO=n
-CONFIG_RTE_MAX_VFIO_GROUPS=64
-CONFIG_RTE_MAX_VFIO_CONTAINERS=64
-CONFIG_RTE_MALLOC_DEBUG=n
-CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=n
-CONFIG_RTE_USE_LIBBSD=n
-# Use WFE instructions to implement the rte_wait_for_equal_xxx APIs,
-# calling these APIs put the cores in low power state while waiting
-# for the memory address to become equal to the expected value.
-# This is supported only by aarch64.
-CONFIG_RTE_ARM_USE_WFE=n
-
-#
-# Recognize/ignore the AVX/AVX512 CPU flags for performance/power testing.
-# AVX512 is marked as experimental for now, will enable it after enough
-# field test and possible optimization.
-#
-CONFIG_RTE_ENABLE_AVX=y
-CONFIG_RTE_ENABLE_AVX512=n
-
-# Use ARM LSE ATOMIC instructions
-CONFIG_RTE_ARM_FEATURE_ATOMICS=n
-
-# Default driver path (or "" to disable)
-CONFIG_RTE_EAL_PMD_PATH=""
-
-#
-# Compile Environment Abstraction Layer to support Vmware TSC map
-#
-CONFIG_RTE_LIBRTE_EAL_VMWARE_TSC_MAP_SUPPORT=y
-
-#
-# Compile the PCI library
-#
-CONFIG_RTE_LIBRTE_PCI=y
-
-#
-# Compile the argument parser library
-#
-CONFIG_RTE_LIBRTE_KVARGS=y
-
-#
-# Compile generic ethernet library
-#
-CONFIG_RTE_LIBRTE_ETHER=y
-CONFIG_RTE_LIBRTE_ETHDEV_DEBUG=n
-CONFIG_RTE_MAX_ETHPORTS=32
-CONFIG_RTE_MAX_QUEUES_PER_PORT=1024
-CONFIG_RTE_LIBRTE_IEEE1588=n
-CONFIG_RTE_ETHDEV_QUEUE_STAT_CNTRS=16
-CONFIG_RTE_ETHDEV_RXTX_CALLBACKS=y
-CONFIG_RTE_ETHDEV_PROFILE_WITH_VTUNE=n
-
-#
-# Turn off Tx preparation stage
-#
-# Warning: rte_eth_tx_prepare() can be safely disabled only if using a
-# driver which do not implement any Tx preparation.
-#
-CONFIG_RTE_ETHDEV_TX_PREPARE_NOOP=n
-
-#
-# Common libraries, before Bus/PMDs
-#
-CONFIG_RTE_LIBRTE_COMMON_DPAAX=n
-
-#
-# Compile the Intel FPGA bus
-#
-CONFIG_RTE_LIBRTE_IFPGA_BUS=y
-
-#
-# Compile PCI bus driver
-#
-CONFIG_RTE_LIBRTE_PCI_BUS=y
-
-#
-# Compile the vdev bus
-#
-CONFIG_RTE_LIBRTE_VDEV_BUS=y
-
-#
-# Compile ARK PMD
-#
-CONFIG_RTE_LIBRTE_ARK_PMD=y
-CONFIG_RTE_LIBRTE_ARK_PAD_TX=y
-CONFIG_RTE_LIBRTE_ARK_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_ARK_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_ARK_DEBUG_STATS=n
-CONFIG_RTE_LIBRTE_ARK_DEBUG_TRACE=n
-
-#
-# Compile Aquantia Atlantic PMD driver
-#
-CONFIG_RTE_LIBRTE_ATLANTIC_PMD=y
-
-#
-# Compile AMD PMD
-#
-CONFIG_RTE_LIBRTE_AXGBE_PMD=y
-CONFIG_RTE_LIBRTE_AXGBE_PMD_DEBUG=n
-
-#
-# Compile burst-oriented Broadcom PMD driver
-#
-CONFIG_RTE_LIBRTE_BNX2X_PMD=n
-CONFIG_RTE_LIBRTE_BNX2X_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_BNX2X_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_BNX2X_MF_SUPPORT=n
-CONFIG_RTE_LIBRTE_BNX2X_DEBUG_PERIODIC=n
-
-#
-# Compile burst-oriented Broadcom BNXT PMD driver
-#
-CONFIG_RTE_LIBRTE_BNXT_PMD=y
-
-#
-# Compile burst-oriented Chelsio Terminator (CXGBE) PMD
-#
-CONFIG_RTE_LIBRTE_CXGBE_PMD=y
-
-#
-# Compile burst-oriented NXP PFE PMD driver
-#
-CONFIG_RTE_LIBRTE_PFE_PMD=n
-
-# NXP DPAA Bus
-CONFIG_RTE_LIBRTE_DPAA_BUS=n
-CONFIG_RTE_LIBRTE_DPAA_MEMPOOL=n
-CONFIG_RTE_LIBRTE_DPAA_PMD=n
-CONFIG_RTE_LIBRTE_DPAA_HWDEBUG=n
-
-#
-# Compile NXP DPAA2 FSL-MC Bus
-#
-CONFIG_RTE_LIBRTE_FSLMC_BUS=n
-
-#
-# Compile Support Libraries for NXP DPAA2
-#
-CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL=n
-CONFIG_RTE_LIBRTE_DPAA2_USE_PHYS_IOVA=y
-
-#
-# Compile burst-oriented NXP DPAA2 PMD driver
-#
-CONFIG_RTE_LIBRTE_DPAA2_PMD=n
-CONFIG_RTE_LIBRTE_DPAA2_DEBUG_DRIVER=n
-
-#
-# Compile NXP ENETC PMD Driver
-#
-CONFIG_RTE_LIBRTE_ENETC_PMD=n
-
-#
-# Compile burst-oriented Amazon ENA PMD driver
-#
-CONFIG_RTE_LIBRTE_ENA_PMD=y
-CONFIG_RTE_LIBRTE_ENA_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_ENA_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_ENA_DEBUG_TX_FREE=n
-CONFIG_RTE_LIBRTE_ENA_COM_DEBUG=n
-
-#
-# Compile burst-oriented Cisco ENIC PMD driver
-#
-CONFIG_RTE_LIBRTE_ENIC_PMD=y
-
-#
-# Compile burst-oriented IGB & EM PMD drivers
-#
-CONFIG_RTE_LIBRTE_EM_PMD=y
-CONFIG_RTE_LIBRTE_IGB_PMD=y
-CONFIG_RTE_LIBRTE_E1000_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_E1000_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_E1000_DEBUG_TX_FREE=n
-CONFIG_RTE_LIBRTE_E1000_PF_DISABLE_STRIP_CRC=n
-
-#
-# Compile burst-oriented HINIC PMD driver
-#
-CONFIG_RTE_LIBRTE_HINIC_PMD=n
-
-#
-# Compile burst-oriented HNS3 PMD driver
-#
-CONFIG_RTE_LIBRTE_HNS3_PMD=n
-
-#
-# Compile Pensando IONIC PMD driver
-#
-CONFIG_RTE_LIBRTE_IONIC_PMD=y
-
-#
-# Compile burst-oriented IXGBE PMD driver
-#
-CONFIG_RTE_LIBRTE_IXGBE_PMD=y
-CONFIG_RTE_LIBRTE_IXGBE_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_IXGBE_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_IXGBE_DEBUG_TX_FREE=n
-CONFIG_RTE_LIBRTE_IXGBE_PF_DISABLE_STRIP_CRC=n
-CONFIG_RTE_LIBRTE_IXGBE_BYPASS=n
-
-#
-# Compile burst-oriented I40E PMD driver
-#
-CONFIG_RTE_LIBRTE_I40E_PMD=y
-CONFIG_RTE_LIBRTE_I40E_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_I40E_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_I40E_DEBUG_TX_FREE=n
-CONFIG_RTE_LIBRTE_I40E_RX_ALLOW_BULK_ALLOC=y
-CONFIG_RTE_LIBRTE_I40E_INC_VECTOR=y
-CONFIG_RTE_LIBRTE_I40E_16BYTE_RX_DESC=n
-CONFIG_RTE_LIBRTE_I40E_QUEUE_NUM_PER_PF=64
-CONFIG_RTE_LIBRTE_I40E_QUEUE_NUM_PER_VM=4
-
-#
-# Compile burst-oriented FM10K PMD
-#
-CONFIG_RTE_LIBRTE_FM10K_PMD=y
-CONFIG_RTE_LIBRTE_FM10K_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_FM10K_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_FM10K_DEBUG_TX_FREE=n
-CONFIG_RTE_LIBRTE_FM10K_RX_OLFLAGS_ENABLE=y
-CONFIG_RTE_LIBRTE_FM10K_INC_VECTOR=y
-
-#
-# Compile burst-oriented ICE PMD driver
-#
-CONFIG_RTE_LIBRTE_ICE_PMD=y
-CONFIG_RTE_LIBRTE_ICE_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_ICE_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_ICE_DEBUG_TX_FREE=n
-CONFIG_RTE_LIBRTE_ICE_16BYTE_RX_DESC=n
-
-# Compile burst-oriented IAVF PMD driver
-#
-CONFIG_RTE_LIBRTE_IAVF_PMD=y
-CONFIG_RTE_LIBRTE_IAVF_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_IAVF_DEBUG_TX_FREE=n
-CONFIG_RTE_LIBRTE_IAVF_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_IAVF_DEBUG_DUMP_DESC=n
-CONFIG_RTE_LIBRTE_IAVF_16BYTE_RX_DESC=n
-#
-# Compile burst-oriented IPN3KE PMD driver
-#
-CONFIG_RTE_LIBRTE_IPN3KE_PMD=n
-
-#
-# Compile burst-oriented IGC PMD drivers
-#
-CONFIG_RTE_LIBRTE_IGC_PMD=y
-CONFIG_RTE_LIBRTE_IGC_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_IGC_DEBUG_TX=n
-
-#
-# Compile burst-oriented Mellanox ConnectX-3 (MLX4) PMD
-#
-CONFIG_RTE_LIBRTE_MLX4_PMD=n
-CONFIG_RTE_LIBRTE_MLX4_DEBUG=n
-
-#
-# Compile burst-oriented Mellanox ConnectX-4, ConnectX-5,
-# ConnectX-6 & BlueField (MLX5) PMD
-#
-CONFIG_RTE_LIBRTE_MLX5_PMD=n
-CONFIG_RTE_LIBRTE_MLX5_DEBUG=n
-
-#
-# Compile regex-oriented Mellanox PMD
-#
-CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD=n
-
-#
-# Compile vdpa-oriented Mellanox ConnectX-6 & BlueField (MLX5) PMD
-#
-CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD=n
-
-# Linking method for mlx4/5 dependency on ibverbs and related libraries
-# Default linking is dynamic by linker.
-# Other options are: dynamic by dlopen at run-time, or statically embedded.
-CONFIG_RTE_IBVERBS_LINK_DLOPEN=n
-CONFIG_RTE_IBVERBS_LINK_STATIC=n
-
-#
-# Compile burst-oriented Netronome NFP PMD driver
-#
-CONFIG_RTE_LIBRTE_NFP_PMD=n
-CONFIG_RTE_LIBRTE_NFP_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_NFP_DEBUG_RX=n
-
-# QLogic 10G/25G/40G/50G/100G PMD
-#
-CONFIG_RTE_LIBRTE_QEDE_PMD=y
-CONFIG_RTE_LIBRTE_QEDE_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_QEDE_DEBUG_RX=n
-#Provides abs path/name of the firmware file.
-#Empty string denotes driver will use default firmware
-CONFIG_RTE_LIBRTE_QEDE_FW=""
-
-#
-# Compile burst-oriented Solarflare libefx-based PMD
-#
-CONFIG_RTE_LIBRTE_SFC_EFX_PMD=y
-CONFIG_RTE_LIBRTE_SFC_EFX_DEBUG=n
-
-#
-# Compile software PMD backed by SZEDATA2 device
-#
-CONFIG_RTE_LIBRTE_PMD_SZEDATA2=n
-
-#
-# Compile software PMD backed by NFB device
-#
-CONFIG_RTE_LIBRTE_NFB_PMD=n
-
-#
-# Compile burst-oriented Cavium Thunderx NICVF PMD driver
-#
-CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD=y
-CONFIG_RTE_LIBRTE_THUNDERX_NICVF_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_THUNDERX_NICVF_DEBUG_TX=n
-
-#
-# Compile burst-oriented Cavium LiquidIO PMD driver
-#
-CONFIG_RTE_LIBRTE_LIO_PMD=y
-CONFIG_RTE_LIBRTE_LIO_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_LIO_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_LIO_DEBUG_MBOX=n
-CONFIG_RTE_LIBRTE_LIO_DEBUG_REGS=n
-
-#
-# Compile burst-oriented Cavium OCTEONTX network PMD driver
-#
-CONFIG_RTE_LIBRTE_OCTEONTX_PMD=y
-
-#
-# Compile burst-oriented Marvell OCTEON TX2 network PMD driver
-#
-CONFIG_RTE_LIBRTE_OCTEONTX2_PMD=y
-
-#
-# Compile WRS accelerated virtual port (AVP) guest PMD driver
-#
-CONFIG_RTE_LIBRTE_AVP_PMD=n
-CONFIG_RTE_LIBRTE_AVP_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_AVP_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_AVP_DEBUG_BUFFERS=n
-
-#
-# Compile burst-oriented VIRTIO PMD driver
-#
-CONFIG_RTE_LIBRTE_VIRTIO_PMD=y
-CONFIG_RTE_LIBRTE_VIRTIO_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_VIRTIO_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_VIRTIO_DEBUG_DUMP=n
-
-#
-# Compile virtio device emulation inside virtio PMD driver
-#
-CONFIG_RTE_VIRTIO_USER=n
-
-#
-# Compile burst-oriented VMXNET3 PMD driver
-#
-CONFIG_RTE_LIBRTE_VMXNET3_PMD=y
-CONFIG_RTE_LIBRTE_VMXNET3_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_VMXNET3_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_VMXNET3_DEBUG_TX_FREE=n
-
-#
-# Compile software PMD backed by AF_PACKET sockets (Linux only)
-#
-CONFIG_RTE_LIBRTE_PMD_AF_PACKET=n
-
-#
-# Compile software PMD backed by AF_XDP sockets (Linux only)
-#
-CONFIG_RTE_LIBRTE_PMD_AF_XDP=n
-
-#
-# Compile Memory Interface PMD driver (Linux only)
-#
-CONFIG_RTE_LIBRTE_PMD_MEMIF=n
-
-#
-# Compile link bonding PMD library
-#
-CONFIG_RTE_LIBRTE_PMD_BOND=y
-CONFIG_RTE_LIBRTE_BOND_DEBUG_ALB=n
-CONFIG_RTE_LIBRTE_BOND_DEBUG_ALB_L1=n
-
-#
-# Compile fail-safe PMD
-#
-CONFIG_RTE_LIBRTE_PMD_FAILSAFE=y
-
-#
-# Compile Marvell PMD driver
-#
-CONFIG_RTE_LIBRTE_MVPP2_PMD=n
-
-#
-# Compile Marvell MVNETA PMD driver
-#
-CONFIG_RTE_LIBRTE_MVNETA_PMD=n
-
-#
-# Compile support for VMBus library
-#
-CONFIG_RTE_LIBRTE_VMBUS=n
-
-#
-# Compile native PMD for Hyper-V/Azure
-#
-CONFIG_RTE_LIBRTE_NETVSC_PMD=n
-CONFIG_RTE_LIBRTE_NETVSC_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_NETVSC_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_NETVSC_DEBUG_DUMP=n
-
-#
-# Compile virtual device driver for NetVSC on Hyper-V/Azure
-#
-CONFIG_RTE_LIBRTE_VDEV_NETVSC_PMD=n
-
-#
-# Compile null PMD
-#
-CONFIG_RTE_LIBRTE_PMD_NULL=y
-
-#
-# Compile software PMD backed by PCAP files
-#
-CONFIG_RTE_LIBRTE_PMD_PCAP=n
-
-#
-# Compile example software rings based PMD
-#
-CONFIG_RTE_LIBRTE_PMD_RING=y
-CONFIG_RTE_PMD_RING_MAX_RX_RINGS=16
-CONFIG_RTE_PMD_RING_MAX_TX_RINGS=16
-
-#
-# Compile SOFTNIC PMD
-#
-CONFIG_RTE_LIBRTE_PMD_SOFTNIC=n
-
-#
-# Compile the TAP PMD
-# It is enabled by default for Linux only.
-#
-CONFIG_RTE_LIBRTE_PMD_TAP=n
-
-#
-# Do prefetch of packet data within PMD driver receive function
-#
-CONFIG_RTE_PMD_PACKET_PREFETCH=y
-
-# Compile generic wireless base band device library
-# EXPERIMENTAL: API may change without prior notice
-#
-CONFIG_RTE_LIBRTE_BBDEV=y
-CONFIG_RTE_LIBRTE_BBDEV_DEBUG=n
-CONFIG_RTE_BBDEV_MAX_DEVS=128
-CONFIG_RTE_BBDEV_OFFLOAD_COST=y
-CONFIG_RTE_BBDEV_SDK_AVX2=n
-CONFIG_RTE_BBDEV_SDK_AVX512=n
-
-#
-# Compile PMD for NULL bbdev device
-#
-CONFIG_RTE_LIBRTE_PMD_BBDEV_NULL=y
-
-#
-# Compile PMD for turbo software bbdev device
-#
-CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW=y
-
-#
-# Compile PMD for Intel FPGA LTE FEC bbdev device
-#
-CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_LTE_FEC=y
-
-#
-# Compile PMD for Intel FPGA 5GNR FEC bbdev device
-#
-CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_5GNR_FEC=y
-
-#
-# Compile generic crypto device library
-#
-CONFIG_RTE_LIBRTE_CRYPTODEV=y
-CONFIG_RTE_CRYPTO_MAX_DEVS=64
-
-#
-# Compile PMD for ARMv8 Crypto device
-#
-CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO=n
-
-#
-# Compile NXP CAAM JR crypto Driver
-#
-CONFIG_RTE_LIBRTE_PMD_CAAM_JR=n
-CONFIG_RTE_LIBRTE_PMD_CAAM_JR_BE=n
-
-#
-# Compile NXP DPAA2 crypto sec driver for CAAM HW
-#
-CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC=n
-
-#
-# NXP DPAA caam - crypto driver
-#
-CONFIG_RTE_LIBRTE_PMD_DPAA_SEC=n
-CONFIG_RTE_LIBRTE_DPAA_MAX_CRYPTODEV=4
-
-#
-# Compile PMD for Cavium OCTEON TX crypto device
-#
-CONFIG_RTE_LIBRTE_PMD_OCTEONTX_CRYPTO=y
-
-#
-# Compile PMD for Marvell OCTEON TX2 crypto device
-#
-CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO=y
-
-#
-# Compile PMD for QuickAssist based devices - see docs for details
-#
-CONFIG_RTE_LIBRTE_PMD_QAT=y
-CONFIG_RTE_LIBRTE_PMD_QAT_SYM=n
-CONFIG_RTE_LIBRTE_PMD_QAT_ASYM=n
-#
-# Max. number of QuickAssist devices, which can be detected and attached
-#
-CONFIG_RTE_PMD_QAT_MAX_PCI_DEVICES=48
-CONFIG_RTE_PMD_QAT_COMP_IM_BUFFER_SIZE=65536
-
-#
-# Compile PMD for virtio crypto devices
-#
-CONFIG_RTE_LIBRTE_PMD_VIRTIO_CRYPTO=y
-#
-# Number of maximum virtio crypto devices
-#
-CONFIG_RTE_MAX_VIRTIO_CRYPTO=32
-
-#
-# Compile PMD for AESNI backed device
-#
-CONFIG_RTE_LIBRTE_PMD_AESNI_MB=n
-
-#
-# Compile PMD for Software backed device
-#
-CONFIG_RTE_LIBRTE_PMD_OPENSSL=n
-
-#
-# Compile PMD for AESNI GCM device
-#
-CONFIG_RTE_LIBRTE_PMD_AESNI_GCM=n
-
-#
-# Compile PMD for SNOW 3G device
-#
-CONFIG_RTE_LIBRTE_PMD_SNOW3G=n
-CONFIG_RTE_LIBRTE_PMD_SNOW3G_DEBUG=n
-
-#
-# Compile PMD for KASUMI device
-#
-CONFIG_RTE_LIBRTE_PMD_KASUMI=n
-
-#
-# Compile PMD for ZUC device
-#
-CONFIG_RTE_LIBRTE_PMD_ZUC=n
-
-# Compile PMD for Crypto Scheduler device
-#
-CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER=y
-
-#
-# Compile PMD for NULL Crypto device
-#
-CONFIG_RTE_LIBRTE_PMD_NULL_CRYPTO=y
-
-#
-# Compile PMD for AMD CCP crypto device
-#
-CONFIG_RTE_LIBRTE_PMD_CCP=n
-
-#
-# Compile PMD for Marvell Crypto device
-#
-CONFIG_RTE_LIBRTE_PMD_MVSAM_CRYPTO=n
-
-#
-# Compile PMD for NITROX crypto device
-#
-CONFIG_RTE_LIBRTE_PMD_NITROX=y
-
-#
-# Compile generic security library
-#
-CONFIG_RTE_LIBRTE_SECURITY=y
-
-#
-# Compile generic compression device library
-#
-CONFIG_RTE_LIBRTE_COMPRESSDEV=y
-CONFIG_RTE_COMPRESS_MAX_DEVS=64
-
-#
-# Compile compressdev unit test
-#
-CONFIG_RTE_COMPRESSDEV_TEST=n
-
-#
-# Compile PMD for Octeontx ZIPVF compression device
-#
-CONFIG_RTE_LIBRTE_PMD_OCTEONTX_ZIPVF=y
-
-#
-# Compile PMD for ISA-L compression device
-#
-CONFIG_RTE_LIBRTE_PMD_ISAL=n
-
-#
-# Compile PMD for ZLIB compression device
-#
-CONFIG_RTE_LIBRTE_PMD_ZLIB=n
-
-#
-# Compile RegEx device support
-#
-CONFIG_RTE_LIBRTE_REGEXDEV=y
-CONFIG_RTE_LIBRTE_REGEXDEV_DEBUG=n
-CONFIG_RTE_MAX_REGEXDEV_DEVS=32
-
-#
-# Compile generic event device library
-#
-CONFIG_RTE_LIBRTE_EVENTDEV=y
-CONFIG_RTE_LIBRTE_EVENTDEV_DEBUG=n
-CONFIG_RTE_EVENT_MAX_DEVS=16
-CONFIG_RTE_EVENT_MAX_QUEUES_PER_DEV=64
-CONFIG_RTE_EVENT_TIMER_ADAPTER_NUM_MAX=32
-CONFIG_RTE_EVENT_ETH_INTR_RING_SIZE=1024
-CONFIG_RTE_EVENT_CRYPTO_ADAPTER_MAX_INSTANCE=32
-CONFIG_RTE_EVENT_ETH_TX_ADAPTER_MAX_INSTANCE=32
-
-#
-# Compile PMD for skeleton event device
-#
-CONFIG_RTE_LIBRTE_PMD_SKELETON_EVENTDEV=y
-CONFIG_RTE_LIBRTE_PMD_SKELETON_EVENTDEV_DEBUG=n
-
-#
-# Compile PMD for software event device
-#
-CONFIG_RTE_LIBRTE_PMD_SW_EVENTDEV=y
-
-#
-# Compile PMD for distributed software event device
-#
-CONFIG_RTE_LIBRTE_PMD_DSW_EVENTDEV=y
-
-#
-# Compile PMD for octeontx sso event device
-#
-CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF=y
-
-#
-# Compile PMD for octeontx2 sso event device
-#
-CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV=y
-
-#
-# Compile PMD for OPDL event device
-#
-CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV=y
-
-#
-# Compile PMD for NXP DPAA event device
-#
-CONFIG_RTE_LIBRTE_PMD_DPAA_EVENTDEV=n
-
-#
-# Compile PMD for NXP DPAA2 event device
-#
-CONFIG_RTE_LIBRTE_PMD_DPAA2_EVENTDEV=n
-
-#
-# Compile raw device support
-# EXPERIMENTAL: API may change without prior notice
-#
-CONFIG_RTE_LIBRTE_RAWDEV=y
-CONFIG_RTE_RAWDEV_MAX_DEVS=64
-CONFIG_RTE_LIBRTE_PMD_SKELETON_RAWDEV=y
-
-#
-# Compile PMD for NXP DPAA2 CMDIF raw device
-#
-CONFIG_RTE_LIBRTE_PMD_DPAA2_CMDIF_RAWDEV=n
-
-#
-# Compile PMD for NXP DPAA2 QDMA raw device
-#
-CONFIG_RTE_LIBRTE_PMD_DPAA2_QDMA_RAWDEV=n
-
-#
-# Compile PMD for Intel FPGA raw device
-#
-CONFIG_RTE_LIBRTE_PMD_IFPGA_RAWDEV=n
-
-#
-# Compile PMD for Intel IOAT raw device
-#
-CONFIG_RTE_LIBRTE_PMD_IOAT_RAWDEV=y
-
-#
-# Compile PMD for octeontx2 DMA raw device
-#
-CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_DMA_RAWDEV=y
-
-#
-# Compile PMD for octeontx2 EP raw device
-#
-CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EP_RAWDEV=y
-
-#
-# Compile PMD for NTB raw device
-#
-CONFIG_RTE_LIBRTE_PMD_NTB_RAWDEV=y
-
-#
-# Compile librte_ring
-#
-CONFIG_RTE_LIBRTE_RING=y
-
-#
-# Compile librte_stack
-#
-CONFIG_RTE_LIBRTE_STACK=y
-
-#
-# Compile librte_mempool
-#
-CONFIG_RTE_LIBRTE_MEMPOOL=y
-CONFIG_RTE_MEMPOOL_CACHE_MAX_SIZE=512
-CONFIG_RTE_LIBRTE_MEMPOOL_DEBUG=n
-
-#
-# Compile Mempool drivers
-#
-CONFIG_RTE_DRIVER_MEMPOOL_BUCKET=y
-CONFIG_RTE_DRIVER_MEMPOOL_BUCKET_SIZE_KB=64
-CONFIG_RTE_DRIVER_MEMPOOL_RING=y
-CONFIG_RTE_DRIVER_MEMPOOL_STACK=y
-
-#
-# Compile PMD for octeontx fpa mempool device
-#
-CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL=y
-
-#
-# Compile PMD for octeontx2 npa mempool device
-#
-CONFIG_RTE_LIBRTE_OCTEONTX2_MEMPOOL=y
-
-#
-# Compile librte_mbuf
-#
-CONFIG_RTE_LIBRTE_MBUF=y
-CONFIG_RTE_LIBRTE_MBUF_DEBUG=n
-CONFIG_RTE_MBUF_DEFAULT_MEMPOOL_OPS="ring_mp_mc"
-CONFIG_RTE_MBUF_REFCNT_ATOMIC=y
-CONFIG_RTE_PKTMBUF_HEADROOM=128
-
-#
-# Compile librte_timer
-#
-CONFIG_RTE_LIBRTE_TIMER=y
-CONFIG_RTE_LIBRTE_TIMER_DEBUG=n
-
-#
-# Compile librte_cfgfile
-#
-CONFIG_RTE_LIBRTE_CFGFILE=y
-
-#
-# Compile librte_cmdline
-#
-CONFIG_RTE_LIBRTE_CMDLINE=y
-CONFIG_RTE_LIBRTE_CMDLINE_DEBUG=n
-
-#
-# Compile librte_hash
-#
-CONFIG_RTE_LIBRTE_HASH=y
-CONFIG_RTE_LIBRTE_HASH_DEBUG=n
-
-#
-# Compile librte_efd
-#
-CONFIG_RTE_LIBRTE_EFD=y
-
-#
-# Compile librte_member
-#
-CONFIG_RTE_LIBRTE_MEMBER=y
-
-#
-# Compile librte_jobstats
-#
-CONFIG_RTE_LIBRTE_JOBSTATS=y
-
-#
-# Compile the device metrics library
-#
-CONFIG_RTE_LIBRTE_METRICS=y
-
-#
-# Compile the bitrate statistics library
-#
-CONFIG_RTE_LIBRTE_BITRATE=y
-
-#
-# Compile the latency statistics library
-#
-CONFIG_RTE_LIBRTE_LATENCY_STATS=y
-
-#
-# Compile librte_telemetry legacy support
-#
-CONFIG_RTE_LIBRTE_TELEMETRY=n
-
-#
-# Compile librte_rcu
-#
-CONFIG_RTE_LIBRTE_RCU=y
-CONFIG_RTE_LIBRTE_RCU_DEBUG=n
-
-#
-# Compile librte_rib
-#
-CONFIG_RTE_LIBRTE_RIB=y
-
-#
-# Compile librte_fib
-#
-CONFIG_RTE_LIBRTE_FIB=y
-CONFIG_RTE_LIBRTE_FIB_DEBUG=n
-
-#
-# Compile librte_lpm
-#
-CONFIG_RTE_LIBRTE_LPM=y
-CONFIG_RTE_LIBRTE_LPM_DEBUG=n
-
-#
-# Compile librte_acl
-#
-CONFIG_RTE_LIBRTE_ACL=y
-CONFIG_RTE_LIBRTE_ACL_DEBUG=n
-
-#
-# Compile librte_power
-#
-CONFIG_RTE_LIBRTE_POWER=n
-CONFIG_RTE_LIBRTE_POWER_DEBUG=n
-CONFIG_RTE_MAX_LCORE_FREQS=64
-
-#
-# Compile librte_net
-#
-CONFIG_RTE_LIBRTE_NET=y
-
-#
-# Compile librte_ip_frag
-#
-CONFIG_RTE_LIBRTE_IP_FRAG=y
-CONFIG_RTE_LIBRTE_IP_FRAG_DEBUG=n
-CONFIG_RTE_LIBRTE_IP_FRAG_MAX_FRAG=4
-CONFIG_RTE_LIBRTE_IP_FRAG_TBL_STAT=n
-
-#
-# Compile GRO library
-#
-CONFIG_RTE_LIBRTE_GRO=y
-
-#
-# Compile GSO library
-#
-CONFIG_RTE_LIBRTE_GSO=y
-
-#
-# Compile librte_meter
-#
-CONFIG_RTE_LIBRTE_METER=y
-
-#
-# Compile librte_classify
-#
-CONFIG_RTE_LIBRTE_FLOW_CLASSIFY=y
-
-#
-# Compile librte_sched
-#
-CONFIG_RTE_LIBRTE_SCHED=y
-CONFIG_RTE_SCHED_DEBUG=n
-CONFIG_RTE_SCHED_RED=n
-CONFIG_RTE_SCHED_COLLECT_STATS=n
-CONFIG_RTE_SCHED_SUBPORT_TC_OV=n
-CONFIG_RTE_SCHED_PORT_N_GRINDERS=8
-CONFIG_RTE_SCHED_VECTOR=n
-
-#
-# Compile the distributor library
-#
-CONFIG_RTE_LIBRTE_DISTRIBUTOR=y
-
-#
-# Compile the reorder library
-#
-CONFIG_RTE_LIBRTE_REORDER=y
-
-#
-# Compile librte_port
-#
-CONFIG_RTE_LIBRTE_PORT=y
-CONFIG_RTE_PORT_STATS_COLLECT=n
-CONFIG_RTE_PORT_PCAP=n
-
-#
-# Compile librte_table
-#
-CONFIG_RTE_LIBRTE_TABLE=y
-CONFIG_RTE_TABLE_STATS_COLLECT=n
-
-#
-# Compile librte_pipeline
-#
-CONFIG_RTE_LIBRTE_PIPELINE=y
-CONFIG_RTE_PIPELINE_STATS_COLLECT=n
-
-#
-# Compile librte_kni
-#
-CONFIG_RTE_LIBRTE_KNI=n
-CONFIG_RTE_LIBRTE_PMD_KNI=n
-CONFIG_RTE_KNI_KMOD=n
-CONFIG_RTE_KNI_PREEMPT_DEFAULT=y
-
-#
-# Compile the pdump library
-#
-CONFIG_RTE_LIBRTE_PDUMP=y
-
-#
-# Compile vhost user library
-#
-CONFIG_RTE_LIBRTE_VHOST=n
-CONFIG_RTE_LIBRTE_VHOST_NUMA=n
-CONFIG_RTE_LIBRTE_VHOST_DEBUG=n
-
-#
-# Compile vhost PMD
-# To compile, CONFIG_RTE_LIBRTE_VHOST should be enabled.
-#
-CONFIG_RTE_LIBRTE_PMD_VHOST=n
-
-#
-# Compile IFC driver
-# To compile, CONFIG_RTE_LIBRTE_VHOST and CONFIG_RTE_EAL_VFIO
-# should be enabled.
-#
-CONFIG_RTE_LIBRTE_IFC_PMD=n
-
-#
-# Compile librte_bpf
-#
-CONFIG_RTE_LIBRTE_BPF=y
-# allow load BPF from ELF files (requires libelf)
-CONFIG_RTE_LIBRTE_BPF_ELF=n
-
-#
-# Compile librte_ipsec
-#
-CONFIG_RTE_LIBRTE_IPSEC=y
-
-#
-# Compile librte_graph
-#
-CONFIG_RTE_LIBRTE_GRAPH=y
-CONFIG_RTE_GRAPH_BURST_SIZE=256
-CONFIG_RTE_LIBRTE_GRAPH_STATS=y
-
-#
-# Compile librte_node
-#
-CONFIG_RTE_LIBRTE_NODE=y
-
-#
-# Compile the test application
-#
-CONFIG_RTE_APP_TEST=y
-CONFIG_RTE_APP_TEST_RESOURCE_TAR=n
-
-#
-# Compile the procinfo application
-#
-CONFIG_RTE_PROC_INFO=n
-
-#
-# Compile the PMD test application
-#
-CONFIG_RTE_TEST_PMD=y
-CONFIG_RTE_TEST_PMD_RECORD_CORE_CYCLES=n
-CONFIG_RTE_TEST_PMD_RECORD_BURST_STATS=n
-
-#
-# Compile the rte flow perf application
-#
-CONFIG_RTE_TEST_FLOW_PERF=y
-
-#
-# Compile the bbdev test application
-#
-CONFIG_RTE_TEST_BBDEV=y
-
-#
-# Compile the compression performance application
-#
-CONFIG_RTE_APP_COMPRESS_PERF=y
-
-#
-# Compile the crypto performance application
-#
-CONFIG_RTE_APP_CRYPTO_PERF=y
-
-#
-# Compile the eventdev application
-#
-CONFIG_RTE_APP_EVENTDEV=y
diff --git a/config/common_freebsd b/config/common_freebsd
deleted file mode 100644
index 456b394c4d..0000000000
--- a/config/common_freebsd
+++ /dev/null
@@ -1,15 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2016 Intel Corporation
-
-#include "common_base"
-
-CONFIG_RTE_EXEC_ENV="bsdapp"
-CONFIG_RTE_EXEC_ENV_BSDAPP=y
-CONFIG_RTE_EXEC_ENV_FREEBSD=y
-
-#
-# FreeBSD contiguous memory driver settings
-#
-CONFIG_RTE_CONTIGMEM_MAX_NUM_BUFS=64
-CONFIG_RTE_CONTIGMEM_DEFAULT_NUM_BUFS=2
-CONFIG_RTE_CONTIGMEM_DEFAULT_BUF_SIZE=1024*1024*1024
diff --git a/config/common_linux b/config/common_linux
deleted file mode 100644
index 816810671a..0000000000
--- a/config/common_linux
+++ /dev/null
@@ -1,68 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2016 Intel Corporation
-
-#include "common_base"
-
-CONFIG_RTE_EXEC_ENV="linuxapp"
-CONFIG_RTE_EXEC_ENV_LINUX=y
-CONFIG_RTE_EXEC_ENV_LINUXAPP=y
-
-CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=y
-CONFIG_RTE_EAL_VFIO=y
-CONFIG_RTE_LIBRTE_KNI=y
-CONFIG_RTE_LIBRTE_PMD_KNI=y
-CONFIG_RTE_LIBRTE_VHOST=y
-CONFIG_RTE_LIBRTE_VHOST_NUMA=y
-CONFIG_RTE_LIBRTE_VHOST_POSTCOPY=n
-CONFIG_RTE_LIBRTE_PMD_VHOST=y
-CONFIG_RTE_LIBRTE_IFC_PMD=y
-CONFIG_RTE_LIBRTE_PMD_AF_PACKET=y
-CONFIG_RTE_LIBRTE_PMD_MEMIF=y
-CONFIG_RTE_LIBRTE_PMD_SOFTNIC=y
-CONFIG_RTE_LIBRTE_PMD_TAP=y
-CONFIG_RTE_LIBRTE_AVP_PMD=y
-CONFIG_RTE_LIBRTE_VDEV_NETVSC_PMD=y
-CONFIG_RTE_LIBRTE_NFP_PMD=y
-CONFIG_RTE_LIBRTE_POWER=y
-CONFIG_RTE_VIRTIO_USER=y
-CONFIG_RTE_PROC_INFO=y
-
-CONFIG_RTE_LIBRTE_VMBUS=y
-CONFIG_RTE_LIBRTE_NETVSC_PMD=y
-
-#
-# Common libraries, before Bus/PMDs
-#
-CONFIG_RTE_LIBRTE_COMMON_DPAAX=y
-
-# NXP DPAA BUS and drivers
-CONFIG_RTE_LIBRTE_DPAA_BUS=y
-CONFIG_RTE_LIBRTE_DPAA_MEMPOOL=y
-CONFIG_RTE_LIBRTE_DPAA_PMD=y
-CONFIG_RTE_LIBRTE_PMD_DPAA_EVENTDEV=y
-CONFIG_RTE_LIBRTE_PMD_DPAA_SEC=y
-CONFIG_RTE_LIBRTE_PMD_CAAM_JR=y
-
-# NXP FSLMC BUS and DPAA2 drivers
-CONFIG_RTE_LIBRTE_FSLMC_BUS=y
-CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL=y
-CONFIG_RTE_LIBRTE_DPAA2_PMD=y
-CONFIG_RTE_LIBRTE_PMD_DPAA2_EVENTDEV=y
-CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC=y
-CONFIG_RTE_LIBRTE_PMD_DPAA2_CMDIF_RAWDEV=y
-CONFIG_RTE_LIBRTE_PMD_DPAA2_QDMA_RAWDEV=y
-
-#
-# NXP ENETC PMD Driver
-#
-CONFIG_RTE_LIBRTE_ENETC_PMD=y
-
-#
-# HINIC PMD driver
-#
-CONFIG_RTE_LIBRTE_HINIC_PMD=y
-
-#
-# Hisilicon HNS3 PMD driver
-#
-CONFIG_RTE_LIBRTE_HNS3_PMD=y
diff --git a/config/defconfig_arm-armv7a-linux-gcc b/config/defconfig_arm-armv7a-linux-gcc
deleted file mode 120000
index 84619de43a..0000000000
--- a/config/defconfig_arm-armv7a-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_arm-armv7a-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm-armv7a-linuxapp-gcc b/config/defconfig_arm-armv7a-linuxapp-gcc
deleted file mode 100644
index ac91120868..0000000000
--- a/config/defconfig_arm-armv7a-linuxapp-gcc
+++ /dev/null
@@ -1,49 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright (C) 2015 RehiveTech. All right reserved.
-
-#include "common_linux"
-
-CONFIG_RTE_MACHINE="armv7a"
-
-CONFIG_RTE_ARCH="arm"
-CONFIG_RTE_ARCH_ARM=y
-CONFIG_RTE_ARCH_ARMv7=y
-CONFIG_RTE_ARCH_ARM_TUNE="cortex-a9"
-
-# Accelerate memcpy operations. Consider enabling for Cortex-A15.
-# For Cortex-A7 and Cortex-A9, It might accelerate short data copies (< 64 B).
-CONFIG_RTE_ARCH_ARM_NEON_MEMCPY=n
-
-CONFIG_RTE_FORCE_INTRINSICS=y
-CONFIG_RTE_ARCH_STRICT_ALIGN=y
-
-CONFIG_RTE_TOOLCHAIN="gcc"
-CONFIG_RTE_TOOLCHAIN_GCC=y
-
-# NUMA is not supported on ARM
-CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=n
-CONFIG_RTE_LIBRTE_VHOST_NUMA=n
-
-# ARM doesn't have support for vmware TSC map
-CONFIG_RTE_LIBRTE_EAL_VMWARE_TSC_MAP_SUPPORT=n
-
-# KNI is not supported on 32-bit
-CONFIG_RTE_LIBRTE_KNI=n
-
-# cannot use those on ARM
-CONFIG_RTE_LIBRTE_ARK_PMD=n
-CONFIG_RTE_LIBRTE_EM_PMD=n
-CONFIG_RTE_LIBRTE_IGB_PMD=n
-CONFIG_RTE_LIBRTE_CXGBE_PMD=n
-CONFIG_RTE_LIBRTE_E1000_PMD=n
-CONFIG_RTE_LIBRTE_ENIC_PMD=n
-CONFIG_RTE_LIBRTE_FM10K_PMD=n
-CONFIG_RTE_LIBRTE_VMXNET3_PMD=n
-CONFIG_RTE_LIBRTE_QEDE_PMD=n
-CONFIG_RTE_LIBRTE_SFC_EFX_PMD=n
-CONFIG_RTE_LIBRTE_AVP_PMD=n
-CONFIG_RTE_LIBRTE_NFP_PMD=n
-CONFIG_RTE_LIBRTE_HINIC_PMD=n
-CONFIG_RTE_LIBRTE_HNS3_PMD=n
-CONFIG_RTE_LIBRTE_PMD_IOAT_RAWDEV=n
-CONFIG_RTE_LIBRTE_IONIC_PMD=n
diff --git a/config/defconfig_arm64-armada-linux-gcc b/config/defconfig_arm64-armada-linux-gcc
deleted file mode 120000
index 64ce2a5687..0000000000
--- a/config/defconfig_arm64-armada-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_arm64-armada-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm64-armada-linuxapp-gcc b/config/defconfig_arm64-armada-linuxapp-gcc
deleted file mode 100644
index a49bebe374..0000000000
--- a/config/defconfig_arm64-armada-linuxapp-gcc
+++ /dev/null
@@ -1,41 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Marvell International Ltd
-#
-
-#include "defconfig_arm64-armv8a-linux-gcc"
-
-#
-# Compile Environment Abstraction Layer
-#
-CONFIG_RTE_MAX_LCORE=16
-CONFIG_RTE_MAX_NUMA_NODES=1
-CONFIG_RTE_CACHE_LINE_SIZE=64
-
-# Enable PMDs
-CONFIG_RTE_LIBRTE_MVEP_COMMON=y
-CONFIG_RTE_LIBRTE_MVPP2_PMD=y
-CONFIG_RTE_LIBRTE_MVNETA_PMD=y
-CONFIG_RTE_LIBRTE_PMD_MVSAM_CRYPTO=y
-
-# Disable NXP as it is conflict with MUSDK
-CONFIG_RTE_LIBRTE_DPAA_BUS=n
-CONFIG_RTE_LIBRTE_COMMON_DPAAX=n
-CONFIG_RTE_LIBRTE_FSLMC_BUS=n
-CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL=n
-CONFIG_RTE_LIBRTE_DPAA2_PMD=n
-CONFIG_RTE_LIBRTE_DPAA_BUS=n
-CONFIG_RTE_LIBRTE_DPAA_MEMPOOL=n
-CONFIG_RTE_LIBRTE_DPAA_PMD=n
-CONFIG_RTE_LIBRTE_PMD_DPAA_EVENTDEV=n
-CONFIG_RTE_LIBRTE_PMD_DPAA_SEC=n
-CONFIG_RTE_LIBRTE_PMD_CAAM_JR=n
-CONFIG_RTE_LIBRTE_PMD_DPAA2_EVENTDEV=n
-CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC=n
-CONFIG_RTE_LIBRTE_PMD_DPAA2_CMDIF_RAWDEV=n
-CONFIG_RTE_LIBRTE_PMD_DPAA2_QDMA_RAWDEV=n
-CONFIG_RTE_LIBRTE_PFE_PMD=n
-CONFIG_RTE_LIBRTE_ENETC_PMD=n
-
-# Doesn't support NUMA
-CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=n
-CONFIG_RTE_LIBRTE_VHOST_NUMA=n
diff --git a/config/defconfig_arm64-armv8a-linux-clang b/config/defconfig_arm64-armv8a-linux-clang
deleted file mode 120000
index 196808b982..0000000000
--- a/config/defconfig_arm64-armv8a-linux-clang
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_arm64-armv8a-linuxapp-clang
\ No newline at end of file
diff --git a/config/defconfig_arm64-armv8a-linux-gcc b/config/defconfig_arm64-armv8a-linux-gcc
deleted file mode 120000
index 0949519562..0000000000
--- a/config/defconfig_arm64-armv8a-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_arm64-armv8a-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm64-armv8a-linuxapp-clang b/config/defconfig_arm64-armv8a-linuxapp-clang
deleted file mode 100644
index d3b4dad532..0000000000
--- a/config/defconfig_arm64-armv8a-linuxapp-clang
+++ /dev/null
@@ -1,8 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Cavium, Inc
-#
-
-#include "common_armv8a_linux"
-
-CONFIG_RTE_TOOLCHAIN="clang"
-CONFIG_RTE_TOOLCHAIN_CLANG=y
diff --git a/config/defconfig_arm64-armv8a-linuxapp-gcc b/config/defconfig_arm64-armv8a-linuxapp-gcc
deleted file mode 100644
index 58c4a4029a..0000000000
--- a/config/defconfig_arm64-armv8a-linuxapp-gcc
+++ /dev/null
@@ -1,9 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2015 Cavium, Inc
-#
-
-#include "common_armv8a_linux"
-
-CONFIG_RTE_TOOLCHAIN="gcc"
-CONFIG_RTE_TOOLCHAIN_GCC=y
-CONFIG_RTE_MAX_LCORE=256
diff --git a/config/defconfig_arm64-bluefield-linux-gcc b/config/defconfig_arm64-bluefield-linux-gcc
deleted file mode 120000
index dad37d5e79..0000000000
--- a/config/defconfig_arm64-bluefield-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_arm64-bluefield-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm64-bluefield-linuxapp-gcc b/config/defconfig_arm64-bluefield-linuxapp-gcc
deleted file mode 100644
index b496538819..0000000000
--- a/config/defconfig_arm64-bluefield-linuxapp-gcc
+++ /dev/null
@@ -1,18 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2019 Mellanox Technologies, Ltd
-#
-
-#include "defconfig_arm64-armv8a-linux-gcc"
-
-# Mellanox BlueField
-CONFIG_RTE_ARCH_ARM_TUNE="cortex-a72"
-
-CONFIG_RTE_MAX_NUMA_NODES=1
-CONFIG_RTE_CACHE_LINE_SIZE=64
-
-# UMA architecture
-CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=n
-CONFIG_RTE_LIBRTE_VHOST_NUMA=n
-
-# PMD for ConnectX-5
-CONFIG_RTE_LIBRTE_MLX5_PMD=y
diff --git a/config/defconfig_arm64-dpaa-linux-gcc b/config/defconfig_arm64-dpaa-linux-gcc
deleted file mode 120000
index dc05caacf3..0000000000
--- a/config/defconfig_arm64-dpaa-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_arm64-dpaa-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm64-dpaa-linuxapp-gcc b/config/defconfig_arm64-dpaa-linuxapp-gcc
deleted file mode 100644
index 4ae4cd8502..0000000000
--- a/config/defconfig_arm64-dpaa-linuxapp-gcc
+++ /dev/null
@@ -1,31 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2016 Freescale Semiconductor, Inc.
-# Copyright 2017-2019 NXP
-
-#include "defconfig_arm64-armv8a-linux-gcc"
-
-# NXP (Freescale) - Soc Architecture for DPAA or DPAA2 support
-# DPAA - FMAN, QMAN & BMAN support (e.g. LS1043, LS1046)
-# DPAA2 - WRIOP and QBMAN (e.g. LS1088, LS2088, LX2160 etc)
-#
-CONFIG_RTE_MACHINE="dpaa"
-CONFIG_RTE_ARCH_ARM_TUNE="cortex-a72"
-
-#
-# Compile Environment Abstraction Layer
-#
-CONFIG_RTE_MAX_LCORE=16
-CONFIG_RTE_MAX_NUMA_NODES=1
-CONFIG_RTE_CACHE_LINE_SIZE=64
-CONFIG_RTE_PKTMBUF_HEADROOM=128
-
-# Doesn't support NUMA
-CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=n
-CONFIG_RTE_LIBRTE_VHOST_NUMA=n
-
-# Enable PHY mode when using VM-VFIO target
-CONFIG_RTE_LIBRTE_DPAA2_USE_PHYS_IOVA=n
-
-# NXP DPAA Bus
-CONFIG_RTE_LIBRTE_DPAA_DEBUG_DRIVER=n
-CONFIG_RTE_LIBRTE_DPAA_HWDEBUG=n
diff --git a/config/defconfig_arm64-emag-linux-gcc b/config/defconfig_arm64-emag-linux-gcc
deleted file mode 120000
index 21894a31a8..0000000000
--- a/config/defconfig_arm64-emag-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_arm64-emag-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm64-emag-linuxapp-gcc b/config/defconfig_arm64-emag-linuxapp-gcc
deleted file mode 100644
index 1db654c899..0000000000
--- a/config/defconfig_arm64-emag-linuxapp-gcc
+++ /dev/null
@@ -1,11 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019 Ampere Computing
-#
-
-#include "defconfig_arm64-armv8a-linux-gcc"
-
-CONFIG_RTE_MACHINE="emag"
-
-CONFIG_RTE_CACHE_LINE_SIZE=64
-CONFIG_RTE_MAX_NUMA_NODES=1
-CONFIG_RTE_MAX_LCORE=32
diff --git a/config/defconfig_arm64-n1sdp-linux-gcc b/config/defconfig_arm64-n1sdp-linux-gcc
deleted file mode 120000
index 103bbea90f..0000000000
--- a/config/defconfig_arm64-n1sdp-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_arm64-n1sdp-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm64-n1sdp-linuxapp-gcc b/config/defconfig_arm64-n1sdp-linuxapp-gcc
deleted file mode 100644
index f9138093b5..0000000000
--- a/config/defconfig_arm64-n1sdp-linuxapp-gcc
+++ /dev/null
@@ -1,14 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019 Arm Ltd.
-#
-
-#include "defconfig_arm64-armv8a-linux-gcc"
-
-CONFIG_RTE_MACHINE="n1sdp"
-CONFIG_RTE_MAX_LCORE=4
-CONFIG_RTE_MAX_NUMA_NODES=1
-CONFIG_RTE_CACHE_LINE_SIZE=64
-
-# Doesn't support NUMA
-CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=n
-CONFIG_RTE_LIBRTE_VHOST_NUMA=n
diff --git a/config/defconfig_arm64-octeontx2-linux-gcc b/config/defconfig_arm64-octeontx2-linux-gcc
deleted file mode 120000
index e251505311..0000000000
--- a/config/defconfig_arm64-octeontx2-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_arm64-octeontx2-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm64-octeontx2-linuxapp-gcc b/config/defconfig_arm64-octeontx2-linuxapp-gcc
deleted file mode 100644
index 0d83becf54..0000000000
--- a/config/defconfig_arm64-octeontx2-linuxapp-gcc
+++ /dev/null
@@ -1,18 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Marvell International Ltd
-#
-
-#include "defconfig_arm64-armv8a-linux-gcc"
-
-CONFIG_RTE_MACHINE="octeontx2"
-
-CONFIG_RTE_MAX_NUMA_NODES=1
-CONFIG_RTE_MAX_LCORE=36
-CONFIG_RTE_ARM_FEATURE_ATOMICS=y
-
-# Doesn't support NUMA
-CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=n
-CONFIG_RTE_LIBRTE_VHOST_NUMA=n
-
-# Max supported NIX LFs
-CONFIG_RTE_MAX_VFIO_GROUPS=128
diff --git a/config/defconfig_arm64-stingray-linux-gcc b/config/defconfig_arm64-stingray-linux-gcc
deleted file mode 120000
index 829dd65f05..0000000000
--- a/config/defconfig_arm64-stingray-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_arm64-stingray-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm64-stingray-linuxapp-gcc b/config/defconfig_arm64-stingray-linuxapp-gcc
deleted file mode 100644
index 2a6f6cee28..0000000000
--- a/config/defconfig_arm64-stingray-linuxapp-gcc
+++ /dev/null
@@ -1,14 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright (C) Broadcom 2017-2018. All rights reserved.
-#
-
-#include "defconfig_arm64-armv8a-linux-gcc"
-
-# Broadcom - Stingray
-CONFIG_RTE_ARCH_ARM_TUNE="cortex-a72"
-
-# Doesn't support NUMA
-CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=n
-CONFIG_RTE_LIBRTE_VHOST_NUMA=n
-
-CONFIG_RTE_EAL_IGB_UIO=y
diff --git a/config/defconfig_arm64-thunderx-linux-gcc b/config/defconfig_arm64-thunderx-linux-gcc
deleted file mode 120000
index 1b9c4ad211..0000000000
--- a/config/defconfig_arm64-thunderx-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_arm64-thunderx-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm64-thunderx-linuxapp-gcc b/config/defconfig_arm64-thunderx-linuxapp-gcc
deleted file mode 100644
index 946906b67a..0000000000
--- a/config/defconfig_arm64-thunderx-linuxapp-gcc
+++ /dev/null
@@ -1,17 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2015 Cavium, Inc
-#
-
-#include "defconfig_arm64-armv8a-linux-gcc"
-
-CONFIG_RTE_MACHINE="thunderx"
-
-CONFIG_RTE_USE_C11_MEM_MODEL=n
-CONFIG_RTE_MAX_NUMA_NODES=2
-CONFIG_RTE_MAX_LCORE=96
-CONFIG_RTE_MAX_VFIO_GROUPS=128
-
-#
-# Compile PMD for octeontx sso event device
-#
-CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF=y
diff --git a/config/defconfig_arm64-thunderx2-linux-gcc b/config/defconfig_arm64-thunderx2-linux-gcc
deleted file mode 120000
index b40a760b1d..0000000000
--- a/config/defconfig_arm64-thunderx2-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_arm64-thunderx2-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm64-thunderx2-linuxapp-gcc b/config/defconfig_arm64-thunderx2-linuxapp-gcc
deleted file mode 100644
index af4a89c480..0000000000
--- a/config/defconfig_arm64-thunderx2-linuxapp-gcc
+++ /dev/null
@@ -1,12 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Marvell International Ltd
-#
-
-#include "defconfig_arm64-armv8a-linux-gcc"
-
-CONFIG_RTE_MACHINE="thunderx2"
-
-CONFIG_RTE_CACHE_LINE_SIZE=64
-CONFIG_RTE_MAX_NUMA_NODES=2
-CONFIG_RTE_MAX_LCORE=256
-CONFIG_RTE_ARM_FEATURE_ATOMICS=y
diff --git a/config/defconfig_arm64-xgene1-linux-gcc b/config/defconfig_arm64-xgene1-linux-gcc
deleted file mode 120000
index d5e8b5e550..0000000000
--- a/config/defconfig_arm64-xgene1-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_arm64-xgene1-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm64-xgene1-linuxapp-gcc b/config/defconfig_arm64-xgene1-linuxapp-gcc
deleted file mode 100644
index fbf576c4aa..0000000000
--- a/config/defconfig_arm64-xgene1-linuxapp-gcc
+++ /dev/null
@@ -1,8 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2015 Cavium, Inc
-#
-
-#include "defconfig_arm64-armv8a-linux-gcc"
-
-CONFIG_RTE_MACHINE="xgene1"
-CONFIG_RTE_CACHE_LINE_SIZE=64
diff --git a/config/defconfig_i686-native-linux-gcc b/config/defconfig_i686-native-linux-gcc
deleted file mode 120000
index 927141d5dd..0000000000
--- a/config/defconfig_i686-native-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_i686-native-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_i686-native-linux-icc b/config/defconfig_i686-native-linux-icc
deleted file mode 120000
index e6a466b3e3..0000000000
--- a/config/defconfig_i686-native-linux-icc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_i686-native-linuxapp-icc
\ No newline at end of file
diff --git a/config/defconfig_i686-native-linuxapp-gcc b/config/defconfig_i686-native-linuxapp-gcc
deleted file mode 100644
index 61ea1606f4..0000000000
--- a/config/defconfig_i686-native-linuxapp-gcc
+++ /dev/null
@@ -1,66 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#include "common_linux"
-
-CONFIG_RTE_MACHINE="native"
-
-CONFIG_RTE_ARCH="i686"
-CONFIG_RTE_ARCH_I686=y
-CONFIG_RTE_ARCH_X86=y
-
-CONFIG_RTE_TOOLCHAIN="gcc"
-CONFIG_RTE_TOOLCHAIN_GCC=y
-
-#
-# KNI is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_KNI=n
-
-#
-# Solarflare PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_SFC_EFX_PMD=n
-
-#
-# AES-NI multi-buffer PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_PMD_AESNI_MB=n
-
-#
-# AES-NI GCM PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_PMD_AESNI_GCM=n
-
-#
-# KASUMI PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_PMD_KASUMI=n
-
-#
-# ZUC PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_PMD_ZUC=n
-
-#
-# AVP PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_AVP_PMD=n
-
-#
-# NFP PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_NFP_PMD=n
-
-# 32-bit doesn't break up memory in lists, but does have VA allocation limit
-CONFIG_RTE_MAX_MEM_MB=2048
-
-#
-# HINIC PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_HINIC_PMD=n
-
-#
-# HNS3 PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_HNS3_PMD=n
diff --git a/config/defconfig_i686-native-linuxapp-icc b/config/defconfig_i686-native-linuxapp-icc
deleted file mode 100644
index 7f614d3467..0000000000
--- a/config/defconfig_i686-native-linuxapp-icc
+++ /dev/null
@@ -1,66 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#include "common_linux"
-
-CONFIG_RTE_MACHINE="native"
-
-CONFIG_RTE_ARCH="i686"
-CONFIG_RTE_ARCH_I686=y
-CONFIG_RTE_ARCH_X86=y
-
-CONFIG_RTE_TOOLCHAIN="icc"
-CONFIG_RTE_TOOLCHAIN_ICC=y
-
-#
-# KNI is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_KNI=n
-
-#
-# Solarflare PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_SFC_EFX_PMD=n
-
-#
-# AES-NI multi-buffer PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_PMD_AESNI_MB=n
-
-#
-# AES-NI GCM PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_PMD_AESNI_GCM=n
-
-#
-# KASUMI PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_PMD_KASUMI=n
-
-#
-# ZUC PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_PMD_ZUC=n
-
-#
-# AVP PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_AVP_PMD=n
-
-#
-# NFP PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_NFP_PMD=n
-
-# 32-bit doesn't break up memory in lists, but does have VA allocation limit
-CONFIG_RTE_MAX_MEM_MB=2048
-
-#
-# HINIC PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_HINIC_PMD=n
-
-#
-# HNS3 PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_HNS3_PMD=n
diff --git a/config/defconfig_ppc_64-power8-linux-gcc b/config/defconfig_ppc_64-power8-linux-gcc
deleted file mode 120000
index 580c92e12e..0000000000
--- a/config/defconfig_ppc_64-power8-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_ppc_64-power8-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_ppc_64-power8-linuxapp-gcc b/config/defconfig_ppc_64-power8-linuxapp-gcc
deleted file mode 100644
index c917c47746..0000000000
--- a/config/defconfig_ppc_64-power8-linuxapp-gcc
+++ /dev/null
@@ -1,35 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright (C) IBM Corporation 2014.
-
-#include "common_linux"
-
-CONFIG_RTE_MACHINE="power8"
-
-CONFIG_RTE_ARCH="ppc_64"
-CONFIG_RTE_ARCH_PPC_64=y
-CONFIG_RTE_ARCH_64=y
-
-CONFIG_RTE_MAX_LCORE=1536
-CONFIG_RTE_MAX_NUMA_NODES=32
-CONFIG_RTE_CACHE_LINE_SIZE=128
-
-CONFIG_RTE_TOOLCHAIN="gcc"
-CONFIG_RTE_TOOLCHAIN_GCC=y
-
-# Note: Power doesn't have this support
-CONFIG_RTE_LIBRTE_EAL_VMWARE_TSC_MAP_SUPPORT=n
-
-# Note: Initially, all of the PMD drivers compilation are turned off on Power
-# Will turn on them only after the successful testing on Power
-CONFIG_RTE_LIBRTE_ATLANTIC_PMD=n
-CONFIG_RTE_LIBRTE_IXGBE_PMD=n
-CONFIG_RTE_LIBRTE_VIRTIO_PMD=y
-CONFIG_RTE_LIBRTE_VMXNET3_PMD=n
-CONFIG_RTE_LIBRTE_ENIC_PMD=n
-CONFIG_RTE_LIBRTE_FM10K_PMD=n
-CONFIG_RTE_LIBRTE_SFC_EFX_PMD=n
-CONFIG_RTE_LIBRTE_AVP_PMD=n
-CONFIG_RTE_LIBRTE_HINIC_PMD=n
-CONFIG_RTE_LIBRTE_HNS3_PMD=n
-CONFIG_RTE_LIBRTE_PMD_IOAT_RAWDEV=n
-CONFIG_RTE_LIBRTE_IONIC_PMD=n
diff --git a/config/defconfig_x86_64-native-bsdapp-clang b/config/defconfig_x86_64-native-bsdapp-clang
deleted file mode 100644
index 7204738e14..0000000000
--- a/config/defconfig_x86_64-native-bsdapp-clang
+++ /dev/null
@@ -1,14 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#include "common_freebsd"
-
-CONFIG_RTE_MACHINE="native"
-
-CONFIG_RTE_ARCH="x86_64"
-CONFIG_RTE_ARCH_X86_64=y
-CONFIG_RTE_ARCH_X86=y
-CONFIG_RTE_ARCH_64=y
-
-CONFIG_RTE_TOOLCHAIN="clang"
-CONFIG_RTE_TOOLCHAIN_CLANG=y
diff --git a/config/defconfig_x86_64-native-bsdapp-gcc b/config/defconfig_x86_64-native-bsdapp-gcc
deleted file mode 100644
index b24e2e6d5a..0000000000
--- a/config/defconfig_x86_64-native-bsdapp-gcc
+++ /dev/null
@@ -1,14 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#include "common_freebsd"
-
-CONFIG_RTE_MACHINE="native"
-
-CONFIG_RTE_ARCH="x86_64"
-CONFIG_RTE_ARCH_X86_64=y
-CONFIG_RTE_ARCH_X86=y
-CONFIG_RTE_ARCH_64=y
-
-CONFIG_RTE_TOOLCHAIN="gcc"
-CONFIG_RTE_TOOLCHAIN_GCC=y
diff --git a/config/defconfig_x86_64-native-freebsd-clang b/config/defconfig_x86_64-native-freebsd-clang
deleted file mode 120000
index 76115fd5a6..0000000000
--- a/config/defconfig_x86_64-native-freebsd-clang
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_x86_64-native-bsdapp-clang
\ No newline at end of file
diff --git a/config/defconfig_x86_64-native-freebsd-gcc b/config/defconfig_x86_64-native-freebsd-gcc
deleted file mode 120000
index 72dd4b44be..0000000000
--- a/config/defconfig_x86_64-native-freebsd-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_x86_64-native-bsdapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_x86_64-native-linux-clang b/config/defconfig_x86_64-native-linux-clang
deleted file mode 120000
index 3bcf89d6a4..0000000000
--- a/config/defconfig_x86_64-native-linux-clang
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_x86_64-native-linuxapp-clang
\ No newline at end of file
diff --git a/config/defconfig_x86_64-native-linux-gcc b/config/defconfig_x86_64-native-linux-gcc
deleted file mode 120000
index d707965941..0000000000
--- a/config/defconfig_x86_64-native-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_x86_64-native-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_x86_64-native-linux-icc b/config/defconfig_x86_64-native-linux-icc
deleted file mode 120000
index a36b47131a..0000000000
--- a/config/defconfig_x86_64-native-linux-icc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_x86_64-native-linuxapp-icc
\ No newline at end of file
diff --git a/config/defconfig_x86_64-native-linuxapp-clang b/config/defconfig_x86_64-native-linuxapp-clang
deleted file mode 100644
index 7508c0f2da..0000000000
--- a/config/defconfig_x86_64-native-linuxapp-clang
+++ /dev/null
@@ -1,14 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#include "common_linux"
-
-CONFIG_RTE_MACHINE="native"
-
-CONFIG_RTE_ARCH="x86_64"
-CONFIG_RTE_ARCH_X86_64=y
-CONFIG_RTE_ARCH_X86=y
-CONFIG_RTE_ARCH_64=y
-
-CONFIG_RTE_TOOLCHAIN="clang"
-CONFIG_RTE_TOOLCHAIN_CLANG=y
diff --git a/config/defconfig_x86_64-native-linuxapp-gcc b/config/defconfig_x86_64-native-linuxapp-gcc
deleted file mode 100644
index db67066a57..0000000000
--- a/config/defconfig_x86_64-native-linuxapp-gcc
+++ /dev/null
@@ -1,14 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#include "common_linux"
-
-CONFIG_RTE_MACHINE="native"
-
-CONFIG_RTE_ARCH="x86_64"
-CONFIG_RTE_ARCH_X86_64=y
-CONFIG_RTE_ARCH_X86=y
-CONFIG_RTE_ARCH_64=y
-
-CONFIG_RTE_TOOLCHAIN="gcc"
-CONFIG_RTE_TOOLCHAIN_GCC=y
diff --git a/config/defconfig_x86_64-native-linuxapp-icc b/config/defconfig_x86_64-native-linuxapp-icc
deleted file mode 100644
index 8aa7af7e20..0000000000
--- a/config/defconfig_x86_64-native-linuxapp-icc
+++ /dev/null
@@ -1,29 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#include "common_linux"
-
-CONFIG_RTE_MACHINE="native"
-
-CONFIG_RTE_ARCH="x86_64"
-CONFIG_RTE_ARCH_X86_64=y
-CONFIG_RTE_ARCH_X86=y
-CONFIG_RTE_ARCH_64=y
-
-CONFIG_RTE_TOOLCHAIN="icc"
-CONFIG_RTE_TOOLCHAIN_ICC=y
-
-#
-# Solarflare PMD build is not supported using icc toolchain
-#
-CONFIG_RTE_LIBRTE_SFC_EFX_PMD=n
-
-#
-# HINIC PMD build is not supported using icc toolchain
-#
-CONFIG_RTE_LIBRTE_HINIC_PMD=n
-
-#
-# HNS3 PMD build is not supported using icc toolchain
-#
-CONFIG_RTE_LIBRTE_HNS3_PMD=n
diff --git a/config/defconfig_x86_x32-native-linux-gcc b/config/defconfig_x86_x32-native-linux-gcc
deleted file mode 120000
index 7ea00cecb3..0000000000
--- a/config/defconfig_x86_x32-native-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_x86_x32-native-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_x86_x32-native-linuxapp-gcc b/config/defconfig_x86_x32-native-linuxapp-gcc
deleted file mode 100644
index c188f4331c..0000000000
--- a/config/defconfig_x86_x32-native-linuxapp-gcc
+++ /dev/null
@@ -1,46 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#include "common_linux"
-
-CONFIG_RTE_MACHINE="native"
-
-CONFIG_RTE_ARCH="x86_x32"
-CONFIG_RTE_ARCH_X86_X32=y
-CONFIG_RTE_ARCH_X86=y
-
-CONFIG_RTE_TOOLCHAIN="gcc"
-CONFIG_RTE_TOOLCHAIN_GCC=y
-
-#
-# KNI is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_KNI=n
-
-#
-# Solarflare PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_SFC_EFX_PMD=n
-
-#
-# AVP PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_AVP_PMD=n
-
-#
-# NFP PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_NFP_PMD=n
-
-# 32-bit doesn't break up memory in lists, but does have VA allocation limit
-CONFIG_RTE_MAX_MEM_MB=2048
-
-#
-# HINIC PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_HINIC_PMD=n
-
-#
-# HNS3 PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_HNS3_PMD=n
diff --git a/config/rte_config.h b/config/rte_config.h
index 9bb915347c..0bae630fd9 100644
--- a/config/rte_config.h
+++ b/config/rte_config.h
@@ -8,10 +8,6 @@
  * Header file containing DPDK compilation parameters. Also include the
  * meson-generated header file containing the detected parameters that
  * are variable across builds or build environments.
- *
- * NOTE: This file is only used for meson+ninja builds. For builds done
- * using make/gmake, the rte_config.h file is autogenerated from the
- * defconfig_* files in the config directory.
  */
 #ifndef _RTE_CONFIG_H_
 #define _RTE_CONFIG_H_
diff --git a/devtools/build-tags.sh b/devtools/build-tags.sh
index 276fff647b..8fa01ad177 100755
--- a/devtools/build-tags.sh
+++ b/devtools/build-tags.sh
@@ -19,8 +19,8 @@ arm_64=true
 print_usage()
 {
 	echo "Usage: $(basename $0) [-h] [-v] tags|cscope|gtags|etags [config]"
-	echo "Valid configs are:"
-	make showconfigs | sed 's,^,\t,'
+	echo "Examples of valid configs are: "
+	echo "x86_64-bsd, arm64-linux, ppc_64-linux"
 }
 
 # Move to the root of the git tree
@@ -125,18 +125,7 @@ ppc_64_sources()
 	find_sources "$source_dirs" '*altivec*.[chS]'
 }
 
-check_valid_target()
-{
-	if [ ! -f "config/defconfig_$1" ] ; then
-		echo "Invalid config: $1"
-		print_usage
-		exit 0
-	fi
-}
-
 if [ -n "$2" ]; then
-	check_valid_target $2
-
 	echo $2 | grep -q "linux" || linux=false
 	echo $2 | grep -q "bsd" || bsd=false
 	echo $2 | grep -q "x86_64-" || x86_64=false
diff --git a/drivers/bus/pci/linux/pci_vfio.c b/drivers/bus/pci/linux/pci_vfio.c
index 07e072e13f..c15ed3bade 100644
--- a/drivers/bus/pci/linux/pci_vfio.c
+++ b/drivers/bus/pci/linux/pci_vfio.c
@@ -34,7 +34,6 @@
  * This code tries to determine if the PCI device is bound to VFIO driver,
  * and initialize it (map BARs, set up interrupts) if that's the case.
  *
- * This file is only compiled if CONFIG_RTE_EAL_VFIO is set to "y".
  */
 
 #ifdef VFIO_PRESENT
diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c
index fe7f9200c1..60b33d20a1 100644
--- a/drivers/net/i40e/i40e_rxtx.c
+++ b/drivers/net/i40e/i40e_rxtx.c
@@ -3438,7 +3438,6 @@ i40e_set_default_pctype_table(struct rte_eth_dev *dev)
 }
 
 #ifndef RTE_LIBRTE_I40E_INC_VECTOR
-/* Stubs needed for linkage when CONFIG_RTE_LIBRTE_I40E_INC_VECTOR is set to 'n' */
 int
 i40e_rx_vec_dev_conf_condition_check(struct rte_eth_dev __rte_unused *dev)
 {
diff --git a/lib/librte_mempool/rte_mempool.h b/lib/librte_mempool/rte_mempool.h
index 9e0ee052b3..6ad7e31170 100644
--- a/lib/librte_mempool/rte_mempool.h
+++ b/lib/librte_mempool/rte_mempool.h
@@ -970,7 +970,7 @@ typedef void (rte_mempool_ctor_t)(struct rte_mempool *, void *);
  *   If cache_size is non-zero, the rte_mempool library will try to
  *   limit the accesses to the common lockless pool, by maintaining a
  *   per-lcore object cache. This argument must be lower or equal to
- *   CONFIG_RTE_MEMPOOL_CACHE_MAX_SIZE and n / 1.5. It is advised to choose
+ *   RTE_MEMPOOL_CACHE_MAX_SIZE and n / 1.5. It is advised to choose
  *   cache_size to have "n modulo cache_size == 0": if this is
  *   not the case, some elements will always stay in the pool and will
  *   never be used. The access to the per-lcore table is of course
diff --git a/lib/librte_ring/rte_ring_elem.h b/lib/librte_ring/rte_ring_elem.h
index 69dc51746c..938b398fc0 100644
--- a/lib/librte_ring/rte_ring_elem.h
+++ b/lib/librte_ring/rte_ring_elem.h
@@ -373,8 +373,7 @@ __rte_ring_dequeue_elems(struct rte_ring *r, uint32_t cons_head,
  * (powerpc/arm).
  * There are 2 choices for the users
  * 1.use rmb() memory barrier
- * 2.use one-direction load_acquire/store_release barrier,defined by
- * CONFIG_RTE_USE_C11_MEM_MODEL=y
+ * 2.use one-direction load_acquire/store_release barrier
  * It depends on performance test results.
  * By default, move common functions to rte_ring_generic.h
  */
-- 
2.28.0


^ permalink raw reply	[relevance 1%]

* Re: [dpdk-dev] [EXT] Re: [PATCH v4 1/4] ethdev: add tm support for shaper config in pkt mode
  2020-08-25 16:59  0%               ` Ferruh Yigit
@ 2020-09-07 11:12  0%                 ` Nithin Dabilpuram
  2020-09-14 13:01  0%                   ` Ferruh Yigit
  0 siblings, 1 reply; 200+ results
From: Nithin Dabilpuram @ 2020-09-07 11:12 UTC (permalink / raw)
  To: Ferruh Yigit
  Cc: Dumitrescu, Cristian, jerinj, Bruce Richardson, Thomas Monjalon,
	Jerin Jacob, Luca Boccassi, Nithin Dabilpuram, Singh, Jasvinder,
	Andrew Rybchenko, dev, kkanas, Kinsella, Ray, Neil Horman,
	Kevin Traynor, David Marchand

On Tue, Aug 25, 2020 at 05:59:10PM +0100, Ferruh Yigit wrote:
> On 5/1/2020 2:16 PM, Nithin Dabilpuram wrote:
> > On Fri, May 01, 2020 at 11:27:02AM +0100, Ferruh Yigit wrote:
> >> External Email
> >>
> >> ----------------------------------------------------------------------
> >> On 4/29/2020 10:03 AM, Bruce Richardson wrote:
> >>> On Wed, Apr 29, 2020 at 09:45:44AM +0100, Dumitrescu, Cristian wrote:
> >>>>
> >>>>
> >>>>> -----Original Message-----
> >>>>> From: Thomas Monjalon <thomas@monjalon.net>
> >>>>> Sent: Tuesday, April 28, 2020 4:54 PM
> >>>>> To: Jerin Jacob <jerinjacobk@gmail.com>; Dumitrescu, Cristian
> >>>>> <cristian.dumitrescu@intel.com>
> >>>>> Cc: Richardson, Bruce <bruce.richardson@intel.com>; Yigit, Ferruh
> >>>>> <ferruh.yigit@intel.com>; Luca Boccassi <bluca@debian.org>; Nithin
> >>>>> Dabilpuram <nithind1988@gmail.com>; Singh, Jasvinder
> >>>>> <jasvinder.singh@intel.com>; Andrew Rybchenko
> >>>>> <arybchenko@solarflare.com>; dev@dpdk.org; jerinj@marvell.com;
> >>>>> kkanas@marvell.com; Nithin Dabilpuram <ndabilpuram@marvell.com>;
> >>>>> Kinsella, Ray <ray.kinsella@intel.com>; Neil Horman
> >>>>> <nhorman@tuxdriver.com>; Kevin Traynor <ktraynor@redhat.com>; David
> >>>>> Marchand <david.marchand@redhat.com>
> >>>>> Subject: Re: [dpdk-dev] [PATCH v4 1/4] ethdev: add tm support for shaper
> >>>>> config in pkt mode
> >>>>>
> >>>>> 28/04/2020 17:04, Luca Boccassi:
> >>>>>> On Tue, 2020-04-28 at 15:45 +0100, Bruce Richardson wrote:
> >>>>>>> On Tue, Apr 28, 2020 at 03:06:20PM +0100, Ferruh Yigit wrote:
> >>>>>>>> On 4/27/2020 5:59 PM, Jerin Jacob wrote:
> >>>>>>>>> On Mon, Apr 27, 2020 at 10:19 PM Ferruh Yigit
> >>>>> <ferruh.yigit@intel.com> wrote:
> >>>>>>>>>> On 4/27/2020 5:29 PM, Jerin Jacob wrote:
> >>>>>>>>>>> On Mon, Apr 27, 2020 at 9:42 PM Ferruh Yigit
> >>>>> <ferruh.yigit@intel.com> wrote:
> >>>>>>>>>>>> On 4/27/2020 10:19 AM, Dumitrescu, Cristian wrote:
> >>>>>>>>>>>>> From: Yigit, Ferruh <ferruh.yigit@intel.com>
> >>>>>>>>>>>>>> On 4/24/2020 11:28 AM, Dumitrescu, Cristian wrote:
> >>>>>>>>>>>>>>> From: Nithin Dabilpuram <nithind1988@gmail.com>
> >>>>>>>>>>>>>>>> This patch also updates tm port/level/node capability
> >>>>> structures with
> >>>>>>>>>>>>>>>> exiting features of scheduler wfq packet mode,
> >>>>> scheduler wfq byte mode
> >>>>>>>>>>>>>>>> and private/shared shaper byte mode.
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> SoftNIC PMD is also updated with new capabilities.
> >>>>> [...]
> >>>>>>>>>>>>>> Hi Nithin,
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> It looks like patch is causing ABI break, I am getting following
> >>>>> warning [1],
> >>>>>>>>>>>>>> can you please check?
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> [1]
> >>>>>>>>>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__pastebin.com_XYNFg14u&d=DwIDaQ&c=nKjWec2b6R0mOyPaz7xtfQ&r=FZ_tPCbgFOh18zwRPO9H0yDx8VW38vuapifdDfc8SFQ&m=ej5sP3-cEhEoCTZOia-QivXqgljtzBcMLtZGs-5c-Uc&s=B8z_5mQ2xO3C1izjmRe2zBApMrCUcW6KcAN-adglhJQ&e= 
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Hi Ferruh,
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> The RTE_TM API is marked as experimental,
> >>>>>>>>>>>>> but it looks that this was not correctly marked
> >>>>>>>>>>>>> when __rte_experimental ABI checker was introduced.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> It is marked as experimental at the top of the rte_tm.h,
> >>>>>>>>>>>>> similarly to other APIs introduced around same time,
> >>>>>>>>>>>>> but it was not correctly picked up by the ABI check procedure
> >>>>>>>>>>>>> when later introduced, so __rte_experimental was not added
> >>>>> to every function.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>> :(
> >>>>>>>>>>>>
> >>>>>>>>>>>> Is it time to mature them?
> >>>>>>>>>>>>
> >>>>>>>>>>>> As you said they are not marked as experimental both in header
> >>>>> file (function
> >>>>>>>>>>>> declarations) and .map file.
> >>>>>>>>>>>>
> >>>>>>>>>>>> The problem is, they are not marked as experimental in
> >>>>> DPDK_20.0 ABI (v19.11),
> >>>>>>>>>>>> so marking them as experimental now will break the ABI. Not
> >>>>> sure what to do,
> >>>>>>>>>>>> cc'ed a few ABI related names for comment.
> >>>>>>>>>>>>
> >>>>>>>>>>>> For me, we need to proceed as the experimental tag removed
> >>>>> and APIs become
> >>>>>>>>>>>> mature starting from v19.11, since this is what happened in
> >>>>> practice, and remove
> >>>>>>>>>>>> a few existing being experimental references in the doxygen
> >>>>> comments.
> >>>>>>>>>>>
> >>>>>>>>>>> I think, accidentally we can not make a library as NON-
> >>>>> experimental.
> >>>>>>>>>>> TM never went through experimental to mature transition(see git
> >>>>> log
> >>>>>>>>>>> lib/librte_ethdev/rte_tm.h)
> >>>>>>>>>>> It was a bug to not mark as experimental in each function in the
> >>>>> ABI process.
> >>>>>>>>>>> Some of the features like packet marking are not even
> >>>>> implemented by any HW.
> >>>>>>>>>>> I think, we can make API stable only all the features are
> >>>>> implemented
> >>>>>>>>>>> by one or two HW.
> >>>>>
> >>>>> Yes this is what was decided one or two years ago I think.
> >>>>> But rte_tm API was introduced 3 years ago and is implemented by 6 PMDs.
> >>>>>
> >>>>>
> >>>>>
> >>>>>>>>>> Fair enough, specially if the API is not ready yet.
> >>>>>>>>>>
> >>>>>>>>>> But they were part of stable ABI, and marking them as experimental
> >>>>> now will
> >>>>>>>>>> break the old applications using these APIs.
> >>>>>>>>>
> >>>>>>>>> it is still marked as EXPERIMENTAL everywhere and API is not ready
> >>>>> yet.
> >>>>>
> >>>>> rte_tm is implemented in 6 PMDs.
> >>>>>
> >>>>>
> >>>>>>>> Existing experimental marks are text only for human parsing.
> >>>>>>>>
> >>>>>>>> The compiler attribute and build time checks are missing, and the
> >>>>> symbol in the
> >>>>>>>> binary doesn't have experimental tag. Our scripts and automated
> >>>>> checks won't
> >>>>>>>> detect it as experimental.
> >>>>>>>>
> >>>>>>>> My point is just having experimental comment in header file is not
> >>>>> enough to
> >>>>>>>> qualify the APIs as experimental.
> >>>>>>>>
> >>>>>>>>> Anyway, we need to break the ABI to make it work on various HW.
> >>>>>
> >>>>> Yes this is why I was asking in 19.11 to check our API,
> >>>>> in order to avoid such situation.
> >>>>>
> >>>>>
> >>>>>>>>> I am not sure what to do?
> >>>>>
> >>>>> Either manage ABI versioning, or wait 20.11.
> >>>>>
> >>>>>
> >>>>>>>>> IMO, We need to send a patch as Fixes: for the bug of not adding
> >>>>>>>>> __rte_experimental in each function.
> >>>>>
> >>>>> No, this is wrong.
> >>>>>
> >>>>
> >>>> Why exactly is this wrong? This is the gap that caused the current discussion, right?
> >>>>
> >>> It's wrong for this release, since we can't change things from stable back
> >>> to experimental. Any such patch will have to wait for 20.11, as agreed in
> >>> the discussion.
> >>>
> >>
> >> Deferring the patchet for this release.
> >>
> >> Reminder that if the option "to mark rte_tm_* as experimental in v20.11"
> >> selected, requires deprecation notice before v20.11.
> > 
> > Thanks Ferruh for reminder. I'll send a deprecation notice patch for the same.
> > 
> 
> Hi Nithin Kumar, Cristian, Jerin,
> 
> Who is working on updating APIs as experimental? We need that patch to proceed
> with this one.

Hi Ferruh,

I'll send out a patch marking all TM API's experimental.

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH v3 22/37] doc: remove references to make in contributing guides
  2020-09-03 15:27  5%   ` [dpdk-dev] [PATCH v3 22/37] doc: remove references to make in contributing guides Ciara Power
@ 2020-09-07 10:20  3%     ` Thomas Monjalon
  2020-09-17 13:44  3%       ` Power, Ciara
  0 siblings, 1 reply; 200+ results
From: Thomas Monjalon @ 2020-09-07 10:20 UTC (permalink / raw)
  To: Ciara Power, dev; +Cc: Louise Kilheeney, John McNamara, Marko Kovacevic

On Thu Sep 3, 2020 at 6:27 PM CEST, Ciara Power wrote:
> --- a/doc/guides/contributing/coding_style.rst
> +++ b/doc/guides/contributing/coding_style.rst
> -DPDK supports being built in two different ways:
> -
> -* using ``make`` - or more specifically "GNU make", i.e. ``gmake`` on
> FreeBSD
> -* using the tools ``meson`` and ``ninja``
> +DPDK supports being built by using the tools ``meson`` and ``ninja``

We can simply say "DPDK *is* built".
I will add a final dot at the end of the sentence.

> Any new library or driver to be integrated into DPDK should support
> being
> -built with both systems. While building using ``make`` is a legacy
> approach, and
> -most build-system enhancements are being done using ``meson`` and
> ``ninja``
> -there are no plans at this time to deprecate the legacy ``make`` build
> system.
> +built with this system.

I think this paragraph does not make sense anymore.

> -Therefore all new component additions should include both a
> ``Makefile`` and a
> -``meson.build`` file, and should be added to the component lists in
> both the
> -``Makefile`` and ``meson.build`` files in the relevant top-level
> directory:
> +Therefore all new component additions should include a ``meson.build``
> file,
> +and should be added to the component lists in the ``meson.build`` files
> in the
> +relevant top-level directory:
> either ``lib`` directory or a ``driver`` subdirectory.
[...]
> --- a/doc/guides/contributing/design.rst
> +++ b/doc/guides/contributing/design.rst
> When absolutely necessary, there are several ways to handle specific
> code:
>  
> -* Use a ``#ifdef`` with the CONFIG option in the C code.
> +* Use a ``#ifdef`` with a build definition macro in the C code.
> This can be done when the differences are small and they can be embedded
> in the same C file:
>  
> .. code-block:: c
> @@ -32,30 +32,22 @@ When absolutely necessary, there are several ways to
> handle specific code:
> titi();
> #endif
>  
> -* Use the CONFIG option in the Makefile. This is done when the
> differences are more significant.
> - In this case, the code is split into two separate files that are
> architecture or environment specific.
> - This should only apply inside the EAL library.

If removing this last item, there are no "several ways" anymore.
I think we should keep it (reworded) because we still have
files compiled depending on the target architecture.

[...]
> -Library Statistics
> -------------------
> -
> -Description
> -~~~~~~~~~~~
> -
> -This document describes the guidelines for DPDK library-level
> statistics counter
> -support. This includes guidelines for turning library statistics on and
> off and
> -requirements for preventing ABI changes when implementing statistics.

I think the ABI part is still relevant.

[...]
> -Prevention of ABI changes due to library statistics support
> -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> -
> -The layout of data structures and prototype of functions that are part
> of the
> -library API should not be affected by whether the collection of
> statistics
> -counters is turned on or off for the current library. In practical
> terms, this
> -means that space should always be allocated in the API data structures
> for
> -statistics counters and the statistics related API functions are always
> built
> -into the code, regardless of whether the statistics counter collection
> is turned
> -on or off for the current library.
> -
> -When the collection of statistics counters for the current library is
> turned
> -off, the counters retrieved through the statistics related API
> functions should
> -have a default value of zero.

^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] [PATCH v2] sched: fix port time rounding error
  2020-08-21 15:28  3%     ` Kinsella, Ray
@ 2020-09-07 10:09  0%       ` Kevin Traynor
  0 siblings, 0 replies; 200+ results
From: Kevin Traynor @ 2020-09-07 10:09 UTC (permalink / raw)
  To: Kinsella, Ray, alangordondewar, cristian.dumitrescu
  Cc: dev, Alan Dewar, David Marchand, Luca Boccassi, Jasvinder Singh

On 21/08/2020 16:28, Kinsella, Ray wrote:
> 
> 
> On 20/08/2020 15:32, Kevin Traynor wrote:
>> Hi,
>>
>> On 25/06/2020 10:59, alangordondewar@gmail.com wrote:
>>> From: Alan Dewar <alan.dewar@att.com>
>>>
>>> The QoS scheduler works off port time that is computed from the number
>>> of CPU cycles that have elapsed since the last time the port was
>>> polled.   It divides the number of elapsed cycles to calculate how
>>> many bytes can be sent, however this division can generate rounding
>>> errors, where some fraction of a byte sent may be lost.
>>>
>>> Lose enough of these fractional bytes and the QoS scheduler
>>> underperforms.  The problem is worse with low bandwidths.
>>>
>>> To compensate for this rounding error this fix doesn't advance the
>>> port's time_cpu_cycles by the number of cycles that have elapsed,
>>> but by multiplying the computed number of bytes that can be sent
>>> (which has been rounded down) by number of cycles per byte.
>>> This will mean that port's time_cpu_cycles will lag behind the CPU
>>> cycles momentarily.  At the next poll, the lag will be taken into
>>> account.
>>>
>>> v2:
>>> If the cycles value wraps (100 year+) reset the port's cpu cycle back
>>> to zero.
>>>
>>> Fixes: de3cfa2c98 ("sched: initial import")
>>>
>>> Signed-off-by: Alan Dewar <alan.dewar@att.com>
>>> ---
>>>  lib/librte_sched/rte_sched.c | 11 +++++++++--
>>>  1 file changed, 9 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/lib/librte_sched/rte_sched.c b/lib/librte_sched/rte_sched.c
>>> index c0983ddda..7c022cd61 100644
>>> --- a/lib/librte_sched/rte_sched.c
>>> +++ b/lib/librte_sched/rte_sched.c
>>> @@ -222,6 +222,7 @@ struct rte_sched_port {
>>>  	uint64_t time_cpu_bytes;      /* Current CPU time measured in bytes */
>>>  	uint64_t time;                /* Current NIC TX time measured in bytes */
>>>  	struct rte_reciprocal inv_cycles_per_byte; /* CPU cycles per byte */
>>> +	uint64_t cycles_per_byte;
>>>  
>>
>> I was backporting this patch to 18.11. The older ABI checker complains
>> about this structure change.
>>
>> "cycles_per_byte has been added at the middle position of this
>> structural type."
>>
>> Isn't this an ABI break? Dropping from 18.11 for time being.
> 
> So it looks like rte_sched_port * is an opaque pointers as it's contents are only
> known to rte_sched.c and not outside. To everyone else it is an opaque data structure, 
> so structural changes to it would not be an ABI breakage.
> 

Thanks Ray, makes sense. I've included the fix in 18.11.10-rc1.

Kevin.

>>
>>>  	/* Grinders */
>>>  	struct rte_mbuf **pkts_out;
>>> @@ -852,6 +853,7 @@ rte_sched_port_config(struct rte_sched_port_params *params)
>>>  	cycles_per_byte = (rte_get_tsc_hz() << RTE_SCHED_TIME_SHIFT)
>>>  		/ params->rate;
>>>  	port->inv_cycles_per_byte = rte_reciprocal_value(cycles_per_byte);
>>> +	port->cycles_per_byte = cycles_per_byte;
>>>  
>>>  	/* Grinders */
>>>  	port->pkts_out = NULL;
>>> @@ -2673,16 +2675,21 @@ static inline void
>>>  rte_sched_port_time_resync(struct rte_sched_port *port)
>>>  {
>>>  	uint64_t cycles = rte_get_tsc_cycles();
>>> -	uint64_t cycles_diff = cycles - port->time_cpu_cycles;
>>> +	uint64_t cycles_diff;
>>>  	uint64_t bytes_diff;
>>>  	uint32_t i;
>>>  
>>> +	if (cycles < port->time_cpu_cycles)
>>> +		port->time_cpu_cycles = 0;
>>> +
>>> +	cycles_diff = cycles - port->time_cpu_cycles;
>>>  	/* Compute elapsed time in bytes */
>>>  	bytes_diff = rte_reciprocal_divide(cycles_diff << RTE_SCHED_TIME_SHIFT,
>>>  					   port->inv_cycles_per_byte);
>>>  
>>>  	/* Advance port time */
>>> -	port->time_cpu_cycles = cycles;
>>> +	port->time_cpu_cycles +=
>>> +		(bytes_diff * port->cycles_per_byte) >> RTE_SCHED_TIME_SHIFT;
>>>  	port->time_cpu_bytes += bytes_diff;
>>>  	if (port->time < port->time_cpu_bytes)
>>>  		port->time = port->time_cpu_bytes;
>>>
>>
> 


^ permalink raw reply	[relevance 0%]

* [dpdk-dev] [PATCH 2/2] lpm: hide internal data
  @ 2020-09-07  8:15  2% ` Ruifeng Wang
  2020-09-15 16:02  3%   ` Bruce Richardson
  0 siblings, 1 reply; 200+ results
From: Ruifeng Wang @ 2020-09-07  8:15 UTC (permalink / raw)
  To: Bruce Richardson, Vladimir Medvedkin
  Cc: dev, honnappa.nagarahalli, nd, Ruifeng Wang

Fields except tbl24 and tbl8 in rte_lpm structure have no
need to be exposed to the user.
Hide the unneeded exposure of structure fields for better
ABI maintainability.

Suggested-by: David Marchand <david.marchand@redhat.com>
Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com>
Reviewed-by: Phil Yang <phil.yang@arm.com>
---
 lib/librte_lpm/rte_lpm.c | 152 +++++++++++++++++++++++----------------
 lib/librte_lpm/rte_lpm.h |   7 --
 2 files changed, 91 insertions(+), 68 deletions(-)

diff --git a/lib/librte_lpm/rte_lpm.c b/lib/librte_lpm/rte_lpm.c
index 51a0ae578..88d31df6d 100644
--- a/lib/librte_lpm/rte_lpm.c
+++ b/lib/librte_lpm/rte_lpm.c
@@ -42,9 +42,17 @@ enum valid_flag {
 
 /** @internal LPM structure. */
 struct __rte_lpm {
-	/* LPM metadata. */
+	/* Exposed LPM data. */
 	struct rte_lpm lpm;
 
+	/* LPM metadata. */
+	char name[RTE_LPM_NAMESIZE];        /**< Name of the lpm. */
+	uint32_t max_rules; /**< Max. balanced rules per lpm. */
+	uint32_t number_tbl8s; /**< Number of tbl8s. */
+	/**< Rule info table. */
+	struct rte_lpm_rule_info rule_info[RTE_LPM_MAX_DEPTH];
+	struct rte_lpm_rule *rules_tbl; /**< LPM rules. */
+
 	/* RCU config. */
 	struct rte_rcu_qsbr *v;		/* RCU QSBR variable. */
 	enum rte_lpm_qsbr_mode rcu_mode;/* Blocking, defer queue. */
@@ -104,7 +112,7 @@ depth_to_range(uint8_t depth)
 struct rte_lpm *
 rte_lpm_find_existing(const char *name)
 {
-	struct rte_lpm *l = NULL;
+	struct __rte_lpm *l = NULL;
 	struct rte_tailq_entry *te;
 	struct rte_lpm_list *lpm_list;
 
@@ -123,7 +131,7 @@ rte_lpm_find_existing(const char *name)
 		return NULL;
 	}
 
-	return l;
+	return &l->lpm;
 }
 
 /*
@@ -157,8 +165,8 @@ rte_lpm_create(const char *name, int socket_id,
 
 	/* guarantee there's no existing */
 	TAILQ_FOREACH(te, lpm_list, next) {
-		lpm = te->data;
-		if (strncmp(name, lpm->name, RTE_LPM_NAMESIZE) == 0)
+		internal_lpm = te->data;
+		if (strncmp(name, internal_lpm->name, RTE_LPM_NAMESIZE) == 0)
 			break;
 	}
 
@@ -193,10 +201,10 @@ rte_lpm_create(const char *name, int socket_id,
 	}
 
 	lpm = &internal_lpm->lpm;
-	lpm->rules_tbl = rte_zmalloc_socket(NULL,
+	internal_lpm->rules_tbl = rte_zmalloc_socket(NULL,
 			(size_t)rules_size, RTE_CACHE_LINE_SIZE, socket_id);
 
-	if (lpm->rules_tbl == NULL) {
+	if (internal_lpm->rules_tbl == NULL) {
 		RTE_LOG(ERR, LPM, "LPM rules_tbl memory allocation failed\n");
 		rte_free(internal_lpm);
 		internal_lpm = NULL;
@@ -211,7 +219,7 @@ rte_lpm_create(const char *name, int socket_id,
 
 	if (lpm->tbl8 == NULL) {
 		RTE_LOG(ERR, LPM, "LPM tbl8 memory allocation failed\n");
-		rte_free(lpm->rules_tbl);
+		rte_free(internal_lpm->rules_tbl);
 		rte_free(internal_lpm);
 		internal_lpm = NULL;
 		lpm = NULL;
@@ -221,11 +229,11 @@ rte_lpm_create(const char *name, int socket_id,
 	}
 
 	/* Save user arguments. */
-	lpm->max_rules = config->max_rules;
-	lpm->number_tbl8s = config->number_tbl8s;
-	strlcpy(lpm->name, name, sizeof(lpm->name));
+	internal_lpm->max_rules = config->max_rules;
+	internal_lpm->number_tbl8s = config->number_tbl8s;
+	strlcpy(internal_lpm->name, name, sizeof(internal_lpm->name));
 
-	te->data = lpm;
+	te->data = internal_lpm;
 
 	TAILQ_INSERT_TAIL(lpm_list, te, next);
 
@@ -241,7 +249,7 @@ rte_lpm_create(const char *name, int socket_id,
 void
 rte_lpm_free(struct rte_lpm *lpm)
 {
-	struct __rte_lpm *internal_lpm;
+	struct __rte_lpm *internal_lpm = NULL;
 	struct rte_lpm_list *lpm_list;
 	struct rte_tailq_entry *te;
 
@@ -255,7 +263,8 @@ rte_lpm_free(struct rte_lpm *lpm)
 
 	/* find our tailq entry */
 	TAILQ_FOREACH(te, lpm_list, next) {
-		if (te->data == (void *) lpm)
+		internal_lpm = te->data;
+		if (&internal_lpm->lpm == lpm)
 			break;
 	}
 	if (te != NULL)
@@ -263,11 +272,10 @@ rte_lpm_free(struct rte_lpm *lpm)
 
 	rte_mcfg_tailq_write_unlock();
 
-	internal_lpm = container_of(lpm, struct __rte_lpm, lpm);
 	if (internal_lpm->dq != NULL)
 		rte_rcu_qsbr_dq_delete(internal_lpm->dq);
 	rte_free(lpm->tbl8);
-	rte_free(lpm->rules_tbl);
+	rte_free(internal_lpm->rules_tbl);
 	rte_free(internal_lpm);
 	rte_free(te);
 }
@@ -310,11 +318,11 @@ rte_lpm_rcu_qsbr_add(struct rte_lpm *lpm, struct rte_lpm_rcu_config *cfg)
 	} else if (cfg->mode == RTE_LPM_QSBR_MODE_DQ) {
 		/* Init QSBR defer queue. */
 		snprintf(rcu_dq_name, sizeof(rcu_dq_name),
-				"LPM_RCU_%s", lpm->name);
+				"LPM_RCU_%s", internal_lpm->name);
 		params.name = rcu_dq_name;
 		params.size = cfg->dq_size;
 		if (params.size == 0)
-			params.size = lpm->number_tbl8s;
+			params.size = internal_lpm->number_tbl8s;
 		params.trigger_reclaim_limit = cfg->reclaim_thd;
 		params.max_reclaim_size = cfg->reclaim_max;
 		if (params.max_reclaim_size == 0)
@@ -352,74 +360,79 @@ static int32_t
 rule_add(struct rte_lpm *lpm, uint32_t ip_masked, uint8_t depth,
 	uint32_t next_hop)
 {
-	uint32_t rule_gindex, rule_index, last_rule;
+	uint32_t rule_gindex, rule_index, last_rule, first_index;
+	struct __rte_lpm *i_lpm;
 	int i;
 
 	VERIFY_DEPTH(depth);
 
+	i_lpm = container_of(lpm, struct __rte_lpm, lpm);
 	/* Scan through rule group to see if rule already exists. */
-	if (lpm->rule_info[depth - 1].used_rules > 0) {
+	if (i_lpm->rule_info[depth - 1].used_rules > 0) {
 
 		/* rule_gindex stands for rule group index. */
-		rule_gindex = lpm->rule_info[depth - 1].first_rule;
+		rule_gindex = i_lpm->rule_info[depth - 1].first_rule;
 		/* Initialise rule_index to point to start of rule group. */
 		rule_index = rule_gindex;
 		/* Last rule = Last used rule in this rule group. */
-		last_rule = rule_gindex + lpm->rule_info[depth - 1].used_rules;
+		last_rule = rule_gindex
+				+ i_lpm->rule_info[depth - 1].used_rules;
 
 		for (; rule_index < last_rule; rule_index++) {
 
 			/* If rule already exists update next hop and return. */
-			if (lpm->rules_tbl[rule_index].ip == ip_masked) {
+			if (i_lpm->rules_tbl[rule_index].ip == ip_masked) {
 
-				if (lpm->rules_tbl[rule_index].next_hop
+				if (i_lpm->rules_tbl[rule_index].next_hop
 						== next_hop)
 					return -EEXIST;
-				lpm->rules_tbl[rule_index].next_hop = next_hop;
+				i_lpm->rules_tbl[rule_index].next_hop
+					= next_hop;
 
 				return rule_index;
 			}
 		}
 
-		if (rule_index == lpm->max_rules)
+		if (rule_index == i_lpm->max_rules)
 			return -ENOSPC;
 	} else {
 		/* Calculate the position in which the rule will be stored. */
 		rule_index = 0;
 
 		for (i = depth - 1; i > 0; i--) {
-			if (lpm->rule_info[i - 1].used_rules > 0) {
-				rule_index = lpm->rule_info[i - 1].first_rule
-						+ lpm->rule_info[i - 1].used_rules;
+			if (i_lpm->rule_info[i - 1].used_rules > 0) {
+				rule_index = i_lpm->rule_info[i - 1].first_rule
+					+ i_lpm->rule_info[i - 1].used_rules;
 				break;
 			}
 		}
-		if (rule_index == lpm->max_rules)
+		if (rule_index == i_lpm->max_rules)
 			return -ENOSPC;
 
-		lpm->rule_info[depth - 1].first_rule = rule_index;
+		i_lpm->rule_info[depth - 1].first_rule = rule_index;
 	}
 
 	/* Make room for the new rule in the array. */
 	for (i = RTE_LPM_MAX_DEPTH; i > depth; i--) {
-		if (lpm->rule_info[i - 1].first_rule
-				+ lpm->rule_info[i - 1].used_rules == lpm->max_rules)
+		first_index = i_lpm->rule_info[i - 1].first_rule;
+		if (first_index + i_lpm->rule_info[i - 1].used_rules
+				== i_lpm->max_rules)
 			return -ENOSPC;
 
-		if (lpm->rule_info[i - 1].used_rules > 0) {
-			lpm->rules_tbl[lpm->rule_info[i - 1].first_rule
-				+ lpm->rule_info[i - 1].used_rules]
-					= lpm->rules_tbl[lpm->rule_info[i - 1].first_rule];
-			lpm->rule_info[i - 1].first_rule++;
+		if (i_lpm->rule_info[i - 1].used_rules > 0) {
+			i_lpm->rules_tbl[first_index
+				+ i_lpm->rule_info[i - 1].used_rules]
+					= i_lpm->rules_tbl[first_index];
+			i_lpm->rule_info[i - 1].first_rule++;
 		}
 	}
 
 	/* Add the new rule. */
-	lpm->rules_tbl[rule_index].ip = ip_masked;
-	lpm->rules_tbl[rule_index].next_hop = next_hop;
+	i_lpm->rules_tbl[rule_index].ip = ip_masked;
+	i_lpm->rules_tbl[rule_index].next_hop = next_hop;
 
 	/* Increment the used rules counter for this rule group. */
-	lpm->rule_info[depth - 1].used_rules++;
+	i_lpm->rule_info[depth - 1].used_rules++;
 
 	return rule_index;
 }
@@ -432,23 +445,25 @@ static void
 rule_delete(struct rte_lpm *lpm, int32_t rule_index, uint8_t depth)
 {
 	int i;
+	struct __rte_lpm *i_lpm;
 
 	VERIFY_DEPTH(depth);
 
-	lpm->rules_tbl[rule_index] =
-			lpm->rules_tbl[lpm->rule_info[depth - 1].first_rule
-			+ lpm->rule_info[depth - 1].used_rules - 1];
+	i_lpm = container_of(lpm, struct __rte_lpm, lpm);
+	i_lpm->rules_tbl[rule_index] =
+			i_lpm->rules_tbl[i_lpm->rule_info[depth - 1].first_rule
+			+ i_lpm->rule_info[depth - 1].used_rules - 1];
 
 	for (i = depth; i < RTE_LPM_MAX_DEPTH; i++) {
-		if (lpm->rule_info[i].used_rules > 0) {
-			lpm->rules_tbl[lpm->rule_info[i].first_rule - 1] =
-					lpm->rules_tbl[lpm->rule_info[i].first_rule
-						+ lpm->rule_info[i].used_rules - 1];
-			lpm->rule_info[i].first_rule--;
+		if (i_lpm->rule_info[i].used_rules > 0) {
+			i_lpm->rules_tbl[i_lpm->rule_info[i].first_rule - 1] =
+				i_lpm->rules_tbl[i_lpm->rule_info[i].first_rule
+					+ i_lpm->rule_info[i].used_rules - 1];
+			i_lpm->rule_info[i].first_rule--;
 		}
 	}
 
-	lpm->rule_info[depth - 1].used_rules--;
+	i_lpm->rule_info[depth - 1].used_rules--;
 }
 
 /*
@@ -459,16 +474,18 @@ static int32_t
 rule_find(struct rte_lpm *lpm, uint32_t ip_masked, uint8_t depth)
 {
 	uint32_t rule_gindex, last_rule, rule_index;
+	struct __rte_lpm *internal_lpm;
 
 	VERIFY_DEPTH(depth);
 
-	rule_gindex = lpm->rule_info[depth - 1].first_rule;
-	last_rule = rule_gindex + lpm->rule_info[depth - 1].used_rules;
+	internal_lpm = container_of(lpm, struct __rte_lpm, lpm);
+	rule_gindex = internal_lpm->rule_info[depth - 1].first_rule;
+	last_rule = rule_gindex + internal_lpm->rule_info[depth - 1].used_rules;
 
 	/* Scan used rules at given depth to find rule. */
 	for (rule_index = rule_gindex; rule_index < last_rule; rule_index++) {
 		/* If rule is found return the rule index. */
-		if (lpm->rules_tbl[rule_index].ip == ip_masked)
+		if (internal_lpm->rules_tbl[rule_index].ip == ip_masked)
 			return rule_index;
 	}
 
@@ -484,9 +501,11 @@ _tbl8_alloc(struct rte_lpm *lpm)
 {
 	uint32_t group_idx; /* tbl8 group index. */
 	struct rte_lpm_tbl_entry *tbl8_entry;
+	struct __rte_lpm *i_lpm;
 
+	i_lpm = container_of(lpm, struct __rte_lpm, lpm);
 	/* Scan through tbl8 to find a free (i.e. INVALID) tbl8 group. */
-	for (group_idx = 0; group_idx < lpm->number_tbl8s; group_idx++) {
+	for (group_idx = 0; group_idx < i_lpm->number_tbl8s; group_idx++) {
 		tbl8_entry = &lpm->tbl8[group_idx *
 					RTE_LPM_TBL8_GROUP_NUM_ENTRIES];
 		/* If a free tbl8 group is found clean it and set as VALID. */
@@ -844,6 +863,7 @@ uint32_t *next_hop)
 {
 	uint32_t ip_masked;
 	int32_t rule_index;
+	struct __rte_lpm *internal_lpm;
 
 	/* Check user arguments. */
 	if ((lpm == NULL) ||
@@ -855,8 +875,9 @@ uint32_t *next_hop)
 	ip_masked = ip & depth_to_mask(depth);
 	rule_index = rule_find(lpm, ip_masked, depth);
 
+	internal_lpm = container_of(lpm, struct __rte_lpm, lpm);
 	if (rule_index >= 0) {
-		*next_hop = lpm->rules_tbl[rule_index].next_hop;
+		*next_hop = internal_lpm->rules_tbl[rule_index].next_hop;
 		return 1;
 	}
 
@@ -897,7 +918,9 @@ delete_depth_small(struct rte_lpm *lpm, uint32_t ip_masked,
 	tbl24_range = depth_to_range(depth);
 	tbl24_index = (ip_masked >> 8);
 	struct rte_lpm_tbl_entry zero_tbl24_entry = {0};
+	struct __rte_lpm *i_lpm;
 
+	i_lpm = container_of(lpm, struct __rte_lpm, lpm);
 	/*
 	 * Firstly check the sub_rule_index. A -1 indicates no replacement rule
 	 * and a positive number indicates a sub_rule_index.
@@ -939,7 +962,7 @@ delete_depth_small(struct rte_lpm *lpm, uint32_t ip_masked,
 		 */
 
 		struct rte_lpm_tbl_entry new_tbl24_entry = {
-			.next_hop = lpm->rules_tbl[sub_rule_index].next_hop,
+			.next_hop = i_lpm->rules_tbl[sub_rule_index].next_hop,
 			.valid = VALID,
 			.valid_group = 0,
 			.depth = sub_rule_depth,
@@ -949,7 +972,7 @@ delete_depth_small(struct rte_lpm *lpm, uint32_t ip_masked,
 			.valid = VALID,
 			.valid_group = VALID,
 			.depth = sub_rule_depth,
-			.next_hop = lpm->rules_tbl
+			.next_hop = i_lpm->rules_tbl
 			[sub_rule_index].next_hop,
 		};
 
@@ -1048,6 +1071,7 @@ delete_depth_big(struct rte_lpm *lpm, uint32_t ip_masked,
 	uint32_t tbl24_index, tbl8_group_index, tbl8_group_start, tbl8_index,
 			tbl8_range, i;
 	int32_t tbl8_recycle_index, status = 0;
+	struct __rte_lpm *i_lpm;
 
 	/*
 	 * Calculate the index into tbl24 and range. Note: All depths larger
@@ -1061,6 +1085,7 @@ delete_depth_big(struct rte_lpm *lpm, uint32_t ip_masked,
 	tbl8_index = tbl8_group_start + (ip_masked & 0xFF);
 	tbl8_range = depth_to_range(depth);
 
+	i_lpm = container_of(lpm, struct __rte_lpm, lpm);
 	if (sub_rule_index < 0) {
 		/*
 		 * Loop through the range of entries on tbl8 for which the
@@ -1076,7 +1101,7 @@ delete_depth_big(struct rte_lpm *lpm, uint32_t ip_masked,
 			.valid = VALID,
 			.depth = sub_rule_depth,
 			.valid_group = lpm->tbl8[tbl8_group_start].valid_group,
-			.next_hop = lpm->rules_tbl[sub_rule_index].next_hop,
+			.next_hop = i_lpm->rules_tbl[sub_rule_index].next_hop,
 		};
 
 		/*
@@ -1188,16 +1213,21 @@ rte_lpm_delete(struct rte_lpm *lpm, uint32_t ip, uint8_t depth)
 void
 rte_lpm_delete_all(struct rte_lpm *lpm)
 {
+	struct __rte_lpm *internal_lpm;
+
+	internal_lpm = container_of(lpm, struct __rte_lpm, lpm);
 	/* Zero rule information. */
-	memset(lpm->rule_info, 0, sizeof(lpm->rule_info));
+	memset(internal_lpm->rule_info, 0, sizeof(internal_lpm->rule_info));
 
 	/* Zero tbl24. */
 	memset(lpm->tbl24, 0, sizeof(lpm->tbl24));
 
 	/* Zero tbl8. */
 	memset(lpm->tbl8, 0, sizeof(lpm->tbl8[0])
-			* RTE_LPM_TBL8_GROUP_NUM_ENTRIES * lpm->number_tbl8s);
+			* RTE_LPM_TBL8_GROUP_NUM_ENTRIES
+			* internal_lpm->number_tbl8s);
 
 	/* Delete all rules form the rules table. */
-	memset(lpm->rules_tbl, 0, sizeof(lpm->rules_tbl[0]) * lpm->max_rules);
+	memset(internal_lpm->rules_tbl, 0,
+		sizeof(internal_lpm->rules_tbl[0]) * internal_lpm->max_rules);
 }
diff --git a/lib/librte_lpm/rte_lpm.h b/lib/librte_lpm/rte_lpm.h
index 03da2d37e..112d96f37 100644
--- a/lib/librte_lpm/rte_lpm.h
+++ b/lib/librte_lpm/rte_lpm.h
@@ -132,17 +132,10 @@ struct rte_lpm_rule_info {
 
 /** @internal LPM structure. */
 struct rte_lpm {
-	/* LPM metadata. */
-	char name[RTE_LPM_NAMESIZE];        /**< Name of the lpm. */
-	uint32_t max_rules; /**< Max. balanced rules per lpm. */
-	uint32_t number_tbl8s; /**< Number of tbl8s. */
-	struct rte_lpm_rule_info rule_info[RTE_LPM_MAX_DEPTH]; /**< Rule info table. */
-
 	/* LPM Tables. */
 	struct rte_lpm_tbl_entry tbl24[RTE_LPM_TBL24_NUM_ENTRIES]
 			__rte_cache_aligned; /**< LPM tbl24 table. */
 	struct rte_lpm_tbl_entry *tbl8; /**< LPM tbl8 table. */
-	struct rte_lpm_rule *rules_tbl; /**< LPM rules. */
 };
 
 /** LPM RCU QSBR configuration structure. */
-- 
2.17.1


^ permalink raw reply	[relevance 2%]

* Re: [dpdk-dev] [EXT] Re: [PATCH v7 1/3] ethdev: add level support for RSS offload types
  2020-09-03 13:14  0%           ` Ferruh Yigit
@ 2020-09-07  8:12  0%             ` Andrew Rybchenko
  2020-09-08 19:40  0%               ` Ajit Khaparde
  0 siblings, 1 reply; 200+ results
From: Andrew Rybchenko @ 2020-09-07  8:12 UTC (permalink / raw)
  To: Ferruh Yigit, Kiran Kumar Kokkilagadda, Ajit Khaparde
  Cc: Thomas Monjalon, Andrew Rybchenko, dev,
	Jerin Jacob Kollanukkaran, orika, xuanziyang2, cloud.wangxiaoyun,
	zhouguoyang, rosen.xu, beilei.xing, jia.guo, Rasesh Mody,
	Shahed Shaikh, Nithin Kumar Dabilpuram, qiming.yang, qi.z.zhang,
	keith.wiles, hemant.agrawal, sachin.saxena, wei.zhao1, johndale,
	hyonkim, chas3, matan, shahafs, viacheslavo, rahul.lakkireddy,
	grive, Liron Himi, jingjing.wu, xavier.huwei, humin29,
	yisen.zhuang, somnath.kotur, jasvinder.singh,
	cristian.dumitrescu

On 9/3/20 4:14 PM, Ferruh Yigit wrote:
> On 9/3/2020 11:11 AM, Kiran Kumar Kokkilagadda wrote:
>> *From:* Ajit Khaparde <ajit.khaparde@broadcom.com>
>> *Sent:* Tuesday, September 1, 2020 10:42 PM
>> *To:* Kiran Kumar Kokkilagadda <kirankumark@marvell.com>
>> *Cc:* Ferruh Yigit <ferruh.yigit@intel.com>; Thomas Monjalon
>> <thomas@monjalon.net>; Andrew Rybchenko <arybchenko@solarflare.com>;
>> dev@dpdk.org; Jerin Jacob Kollanukkaran <jerinj@marvell.com>;
>> orika@mellanox.com; xuanziyang2@huawei.com;
>> cloud.wangxiaoyun@huawei.com; zhouguoyang@huawei.com;
>> rosen.xu@intel.com; beilei.xing@intel.com; jia.guo@intel.com; Rasesh
>> Mody <rmody@marvell.com>; Shahed Shaikh <shshaikh@marvell.com>; Nithin
>> Kumar Dabilpuram <ndabilpuram@marvell.com>; qiming.yang@intel.com;
>> qi.z.zhang@intel.com; keith.wiles@intel.com; hemant.agrawal@nxp.com;
>> sachin.saxena@nxp.com; wei.zhao1@intel.com; johndale@cisco.com;
>> hyonkim@cisco.com; chas3@att.com; matan@mellanox.com;
>> shahafs@mellanox.com; viacheslavo@mellanox.com;
>> rahul.lakkireddy@chelsio.com; grive@u256.net; Liron Himi
>> <lironh@marvell.com>; jingjing.wu@intel.com; xavier.huwei@huawei.com;
>> humin29@huawei.com; yisen.zhuang@huawei.com;
>> somnath.kotur@broadcom.com; jasvinder.singh@intel.com;
>> cristian.dumitrescu@intel.com
>> *Subject:* Re: [EXT] Re: [dpdk-dev][PATCH v7 1/3] ethdev: add level
>> support for RSS offload types
>>
>> On Tue, Sep 1, 2020 at 7:27 AM Kiran Kumar Kokkilagadda
>> <kirankumark@marvell.com <mailto:kirankumark@marvell.com>> wrote:
>>
>>
>>
>>      > -----Original Message-----
>>      > From: Ferruh Yigit <ferruh.yigit@intel.com
>> <mailto:ferruh.yigit@intel.com>>
>>      > Sent: Tuesday, September 1, 2020 7:08 PM
>>      > To: Kiran Kumar Kokkilagadda <kirankumark@marvell.com
>>     <mailto:kirankumark@marvell.com>>; Thomas Monjalon
>>      > <thomas@monjalon.net <mailto:thomas@monjalon.net>>; Andrew
>> Rybchenko
>>     <arybchenko@solarflare.com <mailto:arybchenko@solarflare.com>>
>>      > Cc: dev@dpdk.org <mailto:dev@dpdk.org>; Jerin Jacob Kollanukkaran
>>     <jerinj@marvell.com <mailto:jerinj@marvell.com>>;
>>      > orika@mellanox.com <mailto:orika@mellanox.com>;
>> xuanziyang2@huawei.com
>>     <mailto:xuanziyang2@huawei.com>;
>>      > cloud.wangxiaoyun@huawei.com
>> <mailto:cloud.wangxiaoyun@huawei.com>;
>>     zhouguoyang@huawei.com <mailto:zhouguoyang@huawei.com>;
>>      > rosen.xu@intel.com <mailto:rosen.xu@intel.com>;
>> beilei.xing@intel.com
>>     <mailto:beilei.xing@intel.com>; jia.guo@intel.com
>>     <mailto:jia.guo@intel.com>; Rasesh Mody
>>      > <rmody@marvell.com <mailto:rmody@marvell.com>>; Shahed Shaikh
>>     <shshaikh@marvell.com <mailto:shshaikh@marvell.com>>; Nithin Kumar
>>      > Dabilpuram <ndabilpuram@marvell.com
>> <mailto:ndabilpuram@marvell.com>>;
>>     qiming.yang@intel.com <mailto:qiming.yang@intel.com>;
>>      > qi.z.zhang@intel.com <mailto:qi.z.zhang@intel.com>;
>> keith.wiles@intel.com
>>     <mailto:keith.wiles@intel.com>; hemant.agrawal@nxp.com
>>     <mailto:hemant.agrawal@nxp.com>;
>>      > sachin.saxena@nxp.com <mailto:sachin.saxena@nxp.com>;
>> wei.zhao1@intel.com
>>     <mailto:wei.zhao1@intel.com>; johndale@cisco.com
>> <mailto:johndale@cisco.com>;
>>      > hyonkim@cisco.com <mailto:hyonkim@cisco.com>; chas3@att.com
>>     <mailto:chas3@att.com>; matan@mellanox.com
>> <mailto:matan@mellanox.com>;
>>      > shahafs@mellanox.com <mailto:shahafs@mellanox.com>;
>>     viacheslavo@mellanox.com <mailto:viacheslavo@mellanox.com>;
>>      > rahul.lakkireddy@chelsio.com
>> <mailto:rahul.lakkireddy@chelsio.com>;
>>     grive@u256.net <mailto:grive@u256.net>; Liron Himi
>>      > <lironh@marvell.com <mailto:lironh@marvell.com>>;
>> jingjing.wu@intel.com
>>     <mailto:jingjing.wu@intel.com>; xavier.huwei@huawei.com
>>     <mailto:xavier.huwei@huawei.com>;
>>      > humin29@huawei.com <mailto:humin29@huawei.com>;
>> yisen.zhuang@huawei.com
>>     <mailto:yisen.zhuang@huawei.com>;
>>      > ajit.khaparde@broadcom.com <mailto:ajit.khaparde@broadcom.com>;
>>     somnath.kotur@broadcom.com <mailto:somnath.kotur@broadcom.com>;
>>      > jasvinder.singh@intel.com <mailto:jasvinder.singh@intel.com>;
>>     cristian.dumitrescu@intel.com <mailto:cristian.dumitrescu@intel.com>
>>      > Subject: [EXT] Re: [dpdk-dev][PATCH v7 1/3] ethdev: add level
>> support for RSS
>>      > offload types
>>      >
>>      > External Email
>>      >
>>      >
>> ----------------------------------------------------------------------
>>      > On 9/1/2020 4:27 AM, kirankumark@marvell.com
>>     <mailto:kirankumark@marvell.com> wrote:
>>      > > From: Kiran Kumar K <kirankumark@marvell.com
>>     <mailto:kirankumark@marvell.com>>
>>      > >
>>      > > This patch reserves 2 bits as input selection to select Inner
>> and
>>      > > outer encapsulation level for RSS computation. It is combined
>> with
>>      > > existing
>>      > > ETH_RSS_* to choose Inner or outer layers.
>>      > > This functionality already exists in rte_flow through level
>> parameter
>>      > > in RSS action configuration rte_flow_action_rss.
>>      > >
>>      > > Signed-off-by: Kiran Kumar K <kirankumark@marvell.com
>>     <mailto:kirankumark@marvell.com>>
>>      > > ---
>>      > > V7 Changes:
>>      > > * Re-worked to keep it in sync with rte_flow_action_rss and
>> support
>>      > > upto
>>      > > 3 levels.
>>      > > * Addressed testpmd review comments.
>>      > >
>>      > >   lib/librte_ethdev/rte_ethdev.h | 27
>> +++++++++++++++++++++++++++
>>      > >   1 file changed, 27 insertions(+)
>>      > >
>>      > > diff --git a/lib/librte_ethdev/rte_ethdev.h
>>      > > b/lib/librte_ethdev/rte_ethdev.h index 70295d7ab..13e49bbd7
>> 100644
>>      > > --- a/lib/librte_ethdev/rte_ethdev.h
>>      > > +++ b/lib/librte_ethdev/rte_ethdev.h
>>      > > @@ -552,6 +552,33 @@ struct rte_eth_rss_conf {
>>      > >   #define RTE_ETH_RSS_L3_PRE64         (1ULL << 53)
>>      > >   #define RTE_ETH_RSS_L3_PRE96         (1ULL << 52)
>>      > >
>>      > > +/*
>>      > > + * We use the following macros to combine with the above
>> layers to
>>      > > +choose
>>      > > + * inner and outer layers or both for RSS computation.
>>      > > + * bit 50 and 51 are reserved for this.
>>      > > + */
>>      > > +
>>      > > +/** level 0, requests the default behavior. Depending on the
>> packet
>>      > > + * type, it can mean outermost, innermost, anything in
>> between or even no
>>      > RSS.
>>      > > + * It basically stands for the innermost encapsulation level
>> RSS
>>      > > + * can be performed on according to PMD and device
>> capabilities.
>>      > > + */
>>      > > +#define ETH_RSS_LEVEL_0         (0ULL << 50)
>>      >
>>      > I can see from history how this is involved, but the
>> 'ETH_RSS_LEVEL_0'
>>     naming is
>>      > not really clear what it is, the naming in v6 is more clear.
>>      >
>>      > What about following one:
>>      > 0 -> LEVEL_PMD_DEFAULT
>>      > 1 -> LEVEL_OUTER
>>      > 2 -> LEVEL_INNER
>>      > 3 -> LEVEL_INNER_OUTER
>>      >
>>      > This doesn't exactly match to rte_flow one, but closer than v6
>> one. This ends
>>      > with max level 2. And defines a way to say both inner and outer.
>>
>>     This one looks good to me. If everyone is ok with the proposed
>> changes, I
>>     will send V8.
>>
>> How about following one:
>> 0 -> LEVEL_PMD_DEFAULT
>> 1 -> LEVEL_OUTERMOST
>> 2 -> LEVEL_INNERMOST
>>
>> This way we can avoid any ambiguity especially if stacked tunnel
>> headersbecome real.
>>
>>
>> 3 -> LEVEL_INNER_OUTER
>>
>> But I am not sure if INNER_OUTER has a use case.
>>
>> Alternatively,
>>
>> why not just add uint32_t level;
>>
>> just like in case of rte_flow_action_rss?
>>
>> It will break ABI but its 20.11.
>>
>> Thanks
>>
>> -Ajit
>>
>> Can I send V8 with this proposal?
>>
>> 0 -> LEVEL_PMD_DEFAULT
>> 1 -> LEVEL_OUTERMOST
>> 2 -> LEVEL_INNERMOST
>>
>> If anyone want INNER_OUTER, they can specify LEVEL_OUTERMOST|
>> LEVEL_INNERMOST
> 
> +1 to INNERMOST & OUTERMOST, and use "LEVEL_OUTERMOST| LEVEL_INNERMOST"
> for INNER_OUTER.

Frankly speaking I'd drop OUTERMOST | INNERMOST for now in requested RSS
hash config and defined OUTERMOST | INNERMOST in
capabilities as possibility to hash by either INNERMOST or
OUTERMOST headers correspondingly.

> 
> But the capability reporting is still problematic.
> If @Andrew has no objection, I think it is ok to have a v8 and we can
> continue discussion on it.

See above. Number of recognized tunnel levels could be reported
in dev_info, but looks insufficient, since it is interesting
which tunnels are supported (may be even on which level).

>>
>>
>>      >
>>      > > +
>>      > > +/** level 1,  requests RSS to be performed on the outermost
>> packet
>>      > > + * encapsulation level.
>>      > > + */
>>      > > +#define ETH_RSS_LEVEL_1         (1ULL << 50)
>>      > > +
>>      > > +/** level 2,  requests RSS to be performed on the
>>      > > + * specified inner packet encapsulation level, from
>> outermost to
>>      > > + * innermost (lower to higher values).
>>      > > + */
>>      > > +#define ETH_RSS_LEVEL_2            (2ULL << 50)
>>      >
>>      > I can see you are trying to copy rte_flow usage, but this
>> doesn't really
>>     makes
>>      > sense here. Where the value of the level is defined in this
>> case? If not
>>     defined
>>      > how the PMD knows which level to use?
>>      >
>>      > > +#define ETH_RSS_LEVEL_MASK (3ULL << 50)
>>      > > +
>>      > > +#define ETH_RSS_LEVEL(rss_hf) ((rss_hf & ETH_RSS_LEVEL_MASK)
>> >> 50)
>>      > > +
>>      > >   /**
>>      > >    * For input set change of hash filter, if SRC_ONLY and
>> DST_ONLY of
>>      > >    * the same level are used simultaneously, it is the same
>> case as
>>      > > --
>>      > > 2.25.1
>>      > >
>>


^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH] security: update session create API
  2020-09-03 20:09  3% ` [dpdk-dev] [PATCH] security: update session create API akhil.goyal
@ 2020-09-04 16:04  0%   ` Lukasz Wojciechowski
  0 siblings, 0 replies; 200+ results
From: Lukasz Wojciechowski @ 2020-09-04 16:04 UTC (permalink / raw)
  To: akhil.goyal, dev, thomas, mdr, anoobj
  Cc: hemant.agrawal, konstantin.ananyev, declan.doherty, david.coyle,
	radu.nicolau


W dniu 03.09.2020 o 22:09, akhil.goyal@nxp.com pisze:
> From: Akhil Goyal <akhil.goyal@nxp.com>
>
> The API ``rte_security_session_create`` takes only single
> mempool for session and session private data. So the
> application need to create mempool for twice the number of
> sessions needed and will also lead to wastage of memory as
> session private data need more memory compared to session.
> Hence the API is modified to take two mempool pointers
> - one for session and one for private data.
> This is very similar to crypto based session create APIs.
>
> Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com>
> ---
>   app/test-crypto-perf/cperf_ops.c       |  4 +--
>   app/test/test_cryptodev.c              |  8 +++--
>   app/test/test_ipsec.c                  |  3 +-
>   app/test/test_security.c               | 42 ++++++++++++++++++++------
>   doc/guides/prog_guide/rte_security.rst |  6 ++--
>   doc/guides/rel_notes/deprecation.rst   |  7 -----
>   doc/guides/rel_notes/release_20_11.rst |  6 ++++
>   examples/ipsec-secgw/ipsec-secgw.c     | 12 ++------
>   examples/ipsec-secgw/ipsec.c           |  9 ++++--
>   lib/librte_security/rte_security.c     |  6 ++--
>   lib/librte_security/rte_security.h     |  4 ++-
>   11 files changed, 68 insertions(+), 39 deletions(-)
>
> diff --git a/app/test-crypto-perf/cperf_ops.c b/app/test-crypto-perf/cperf_ops.c
> index 3da835a9c..3a64a2c34 100644
> --- a/app/test-crypto-perf/cperf_ops.c
> +++ b/app/test-crypto-perf/cperf_ops.c
> @@ -621,7 +621,7 @@ cperf_create_session(struct rte_mempool *sess_mp,
>   
>   		/* Create security session */
>   		return (void *)rte_security_session_create(ctx,
> -					&sess_conf, sess_mp);
> +					&sess_conf, sess_mp, priv_mp);
>   	}
>   	if (options->op_type == CPERF_DOCSIS) {
>   		enum rte_security_docsis_direction direction;
> @@ -664,7 +664,7 @@ cperf_create_session(struct rte_mempool *sess_mp,
>   
>   		/* Create security session */
>   		return (void *)rte_security_session_create(ctx,
> -					&sess_conf, priv_mp);
> +					&sess_conf, sess_mp, priv_mp);
>   	}
>   #endif
>   	sess = rte_cryptodev_sym_session_create(sess_mp);
> diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c
> index 70bf6fe2c..6d7da1408 100644
> --- a/app/test/test_cryptodev.c
> +++ b/app/test/test_cryptodev.c
> @@ -7219,7 +7219,8 @@ test_pdcp_proto(int i, int oop,
>   
>   	/* Create security session */
>   	ut_params->sec_session = rte_security_session_create(ctx,
> -				&sess_conf, ts_params->session_priv_mpool);
> +				&sess_conf, ts_params->session_mpool,
> +				ts_params->session_priv_mpool);
>   
>   	if (!ut_params->sec_session) {
>   		printf("TestCase %s()-%d line %d failed %s: ",
> @@ -7479,7 +7480,8 @@ test_pdcp_proto_SGL(int i, int oop,
>   
>   	/* Create security session */
>   	ut_params->sec_session = rte_security_session_create(ctx,
> -				&sess_conf, ts_params->session_priv_mpool);
> +				&sess_conf, ts_params->session_mpool,
> +				ts_params->session_priv_mpool);
>   
>   	if (!ut_params->sec_session) {
>   		printf("TestCase %s()-%d line %d failed %s: ",
> @@ -7836,6 +7838,7 @@ test_docsis_proto_uplink(int i, struct docsis_test_data *d_td)
>   
>   	/* Create security session */
>   	ut_params->sec_session = rte_security_session_create(ctx, &sess_conf,
> +					ts_params->session_mpool,
>   					ts_params->session_priv_mpool);
>   
>   	if (!ut_params->sec_session) {
> @@ -8011,6 +8014,7 @@ test_docsis_proto_downlink(int i, struct docsis_test_data *d_td)
>   
>   	/* Create security session */
>   	ut_params->sec_session = rte_security_session_create(ctx, &sess_conf,
> +					ts_params->session_mpool,
>   					ts_params->session_priv_mpool);
>   
>   	if (!ut_params->sec_session) {
> diff --git a/app/test/test_ipsec.c b/app/test/test_ipsec.c
> index 79d00d7e0..9ad07a179 100644
> --- a/app/test/test_ipsec.c
> +++ b/app/test/test_ipsec.c
> @@ -632,7 +632,8 @@ create_dummy_sec_session(struct ipsec_unitest_params *ut,
>   	static struct rte_security_session_conf conf;
>   
>   	ut->ss[j].security.ses = rte_security_session_create(&dummy_sec_ctx,
> -					&conf, qp->mp_session_private);
> +					&conf, qp->mp_session,
> +					qp->mp_session_private);
>   
>   	if (ut->ss[j].security.ses == NULL)
>   		return -ENOMEM;
> diff --git a/app/test/test_security.c b/app/test/test_security.c
> index 77fd5adc6..ed7de348f 100644
> --- a/app/test/test_security.c
> +++ b/app/test/test_security.c
> @@ -237,6 +237,7 @@ static struct mock_session_create_data {
>   	struct rte_security_session_conf *conf;
>   	struct rte_security_session *sess;
>   	struct rte_mempool *mp;
> +	struct rte_mempool *priv_mp;
>   
>   	int ret;
>   
session_create op is now called with private mbuf, so you need also to 
update assert in mock session_create:

@@ -248,13 +249,13 @@ static int
  mock_session_create(void *device,
                 struct rte_security_session_conf *conf,
                 struct rte_security_session *sess,
-               struct rte_mempool *mp)
+               struct rte_mempool *priv_mp)
  {
         mock_session_create_exp.called++;

         MOCK_TEST_ASSERT_POINTER_PARAMETER(mock_session_create_exp, 
device);
         MOCK_TEST_ASSERT_POINTER_PARAMETER(mock_session_create_exp, conf);
-       MOCK_TEST_ASSERT_POINTER_PARAMETER(mock_session_create_exp, mp);
+       MOCK_TEST_ASSERT_POINTER_PARAMETER(mock_session_create_exp, 
priv_mp);

         mock_session_create_exp.sess = sess;



> @@ -502,6 +503,7 @@ struct rte_security_ops mock_ops = {
>    */
>   static struct security_testsuite_params {
>   	struct rte_mempool *session_mpool;
> +	struct rte_mempool *session_priv_mpool;
>   } testsuite_params = { NULL };
>   
>   /**
> @@ -525,6 +527,7 @@ static struct security_unittest_params {
>   };
>   
>   #define SECURITY_TEST_MEMPOOL_NAME "SecurityTestsMempoolName"
> +#define SECURITY_TEST_PRIV_MEMPOOL_NAME "SecurityTestsPrivMempoolName"
Please make the mempool name shorter, otherwise it causes tests to fail:

EAL: Test assert testsuite_setup line 558 failed: Cannot create priv 
mempool File name too long

>   #define SECURITY_TEST_MEMPOOL_SIZE 15
>   #define SECURITY_TEST_SESSION_OBJECT_SIZE sizeof(struct rte_security_session)
>   
> @@ -545,6 +548,17 @@ testsuite_setup(void)
>   			SOCKET_ID_ANY, 0);
>   	TEST_ASSERT_NOT_NULL(ts_params->session_mpool,
>   			"Cannot create mempool %s\n", rte_strerror(rte_errno));
> +
> +	ts_params->session_priv_mpool = rte_mempool_create(
> +			SECURITY_TEST_PRIV_MEMPOOL_NAME,
> +			SECURITY_TEST_MEMPOOL_SIZE,
> +			rte_security_session_get_size(&unittest_params.ctx),
> +			0, 0, NULL, NULL, NULL, NULL,
> +			SOCKET_ID_ANY, 0);
> +	TEST_ASSERT_NOT_NULL(ts_params->session_priv_mpool,
> +			"Cannot create priv mempool %s\n",
> +			rte_strerror(rte_errno));
> +
If creation of private data mpool fails, primary mempool need to be 
freed before function returns failure code.
>   	return TEST_SUCCESS;
>   }
>   
> @@ -659,7 +673,8 @@ ut_setup_with_session(void)
>   	mock_session_create_exp.ret = 0;
>   
>   	sess = rte_security_session_create(&ut_params->ctx, &ut_params->conf,
> -			ts_params->session_mpool);
> +			ts_params->session_mpool,
> +			ts_params->session_priv_mpool);
>   	TEST_ASSERT_MOCK_FUNCTION_CALL_NOT_NULL(rte_security_session_create,
>   			sess);
>   	TEST_ASSERT_EQUAL(sess, mock_session_create_exp.sess,
> @@ -701,7 +716,8 @@ test_session_create_inv_context(void)
>   	struct rte_security_session *sess;
>   
>   	sess = rte_security_session_create(NULL, &ut_params->conf,
> -			ts_params->session_mpool);
> +			ts_params->session_mpool,
> +			ts_params->session_priv_mpool);
>   	TEST_ASSERT_MOCK_FUNCTION_CALL_RET(rte_security_session_create,
>   			sess, NULL, "%p");
>   	TEST_ASSERT_MOCK_CALLS(mock_session_create_exp, 0);
> @@ -725,7 +741,8 @@ test_session_create_inv_context_ops(void)
>   	ut_params->ctx.ops = NULL;
>   
>   	sess = rte_security_session_create(&ut_params->ctx, &ut_params->conf,
> -			ts_params->session_mpool);
> +			ts_params->session_mpool,
> +			ts_params->session_priv_mpool);
>   	TEST_ASSERT_MOCK_FUNCTION_CALL_RET(rte_security_session_create,
>   			sess, NULL, "%p");
>   	TEST_ASSERT_MOCK_CALLS(mock_session_create_exp, 0);
> @@ -749,7 +766,8 @@ test_session_create_inv_context_ops_fun(void)
>   	ut_params->ctx.ops = &empty_ops;
>   
>   	sess = rte_security_session_create(&ut_params->ctx, &ut_params->conf,
> -			ts_params->session_mpool);
> +			ts_params->session_mpool,
> +			ts_params->session_priv_mpool);
>   	TEST_ASSERT_MOCK_FUNCTION_CALL_RET(rte_security_session_create,
>   			sess, NULL, "%p");
>   	TEST_ASSERT_MOCK_CALLS(mock_session_create_exp, 0);
> @@ -770,7 +788,8 @@ test_session_create_inv_configuration(void)
>   	struct rte_security_session *sess;
>   
>   	sess = rte_security_session_create(&ut_params->ctx, NULL,
> -			ts_params->session_mpool);
> +			ts_params->session_mpool,
> +			ts_params->session_priv_mpool);
>   	TEST_ASSERT_MOCK_FUNCTION_CALL_RET(rte_security_session_create,
>   			sess, NULL, "%p");
>   	TEST_ASSERT_MOCK_CALLS(mock_session_create_exp, 0);
> @@ -790,7 +809,7 @@ test_session_create_inv_mempool(void)
>   	struct rte_security_session *sess;
>   
>   	sess = rte_security_session_create(&ut_params->ctx, &ut_params->conf,
> -			NULL);
> +			NULL, NULL);
>   	TEST_ASSERT_MOCK_FUNCTION_CALL_RET(rte_security_session_create,
>   			sess, NULL, "%p");
>   	TEST_ASSERT_MOCK_CALLS(mock_session_create_exp, 0);
> @@ -824,7 +843,8 @@ test_session_create_mempool_empty(void)
>   	TEST_ASSERT_MEMPOOL_USAGE(SECURITY_TEST_MEMPOOL_SIZE);
>   
>   	sess = rte_security_session_create(&ut_params->ctx, &ut_params->conf,
> -			ts_params->session_mpool);
> +			ts_params->session_mpool,
> +			ts_params->session_priv_mpool);
>   	TEST_ASSERT_MOCK_FUNCTION_CALL_RET(rte_security_session_create,
>   			sess, NULL, "%p");
>   	TEST_ASSERT_MOCK_CALLS(mock_session_create_exp, 0);
> @@ -853,10 +873,12 @@ test_session_create_ops_failure(void)
>   	mock_session_create_exp.device = NULL;
>   	mock_session_create_exp.conf = &ut_params->conf;
>   	mock_session_create_exp.mp = ts_params->session_mpool;
> +	mock_session_create_exp.priv_mp = ts_params->session_priv_mpool;
>   	mock_session_create_exp.ret = -1;	/* Return failure status. */
>   
>   	sess = rte_security_session_create(&ut_params->ctx, &ut_params->conf,
> -			ts_params->session_mpool);
> +			ts_params->session_mpool,
> +			ts_params->session_priv_mpool);
>   	TEST_ASSERT_MOCK_FUNCTION_CALL_RET(rte_security_session_create,
>   			sess, NULL, "%p");
>   	TEST_ASSERT_MOCK_CALLS(mock_session_create_exp, 1);
> @@ -879,10 +901,12 @@ test_session_create_success(void)
>   	mock_session_create_exp.device = NULL;
>   	mock_session_create_exp.conf = &ut_params->conf;
>   	mock_session_create_exp.mp = ts_params->session_mpool;
> +	mock_session_create_exp.priv_mp = ts_params->session_priv_mpool;
>   	mock_session_create_exp.ret = 0;	/* Return success status. */
>   
>   	sess = rte_security_session_create(&ut_params->ctx, &ut_params->conf,
> -			ts_params->session_mpool);
> +			ts_params->session_mpool,
> +			ts_params->session_priv_mpool);
>   	TEST_ASSERT_MOCK_FUNCTION_CALL_NOT_NULL(rte_security_session_create,
>   			sess);
>   	TEST_ASSERT_EQUAL(sess, mock_session_create_exp.sess,
> diff --git a/doc/guides/prog_guide/rte_security.rst b/doc/guides/prog_guide/rte_security.rst
> index 127da2e4f..cff0653f5 100644
> --- a/doc/guides/prog_guide/rte_security.rst
> +++ b/doc/guides/prog_guide/rte_security.rst
> @@ -533,8 +533,10 @@ and this allows further acceleration of the offload of Crypto workloads.
>   
>   The Security framework provides APIs to create and free sessions for crypto/ethernet
>   devices, where sessions are mempool objects. It is the application's responsibility
> -to create and manage the session mempools. The mempool object size should be able to
> -accommodate the driver's private data of security session.
> +to create and manage two session mempools - one for session and other for session
> +private data. The mempool object size should be able to accommodate the driver's
> +private data of security session. The application can get the size of session private
> +data using API ``rte_security_session_get_size``.
>   
>   Once the session mempools have been created, ``rte_security_session_create()``
>   is used to allocate and initialize a session for the required crypto/ethernet device.
> diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
> index 345c38d5b..84be88a13 100644
> --- a/doc/guides/rel_notes/deprecation.rst
> +++ b/doc/guides/rel_notes/deprecation.rst
> @@ -263,13 +263,6 @@ Deprecation Notices
>     This feature faces reliability issues and is often conflicting with
>     new features being implemented.
>   
> -* security: The API ``rte_security_session_create`` takes only single mempool
> -  for session and session private data. So the application need to create
> -  mempool for twice the number of sessions needed and will also lead to
> -  wastage of memory as session private data need more memory compared to session.
> -  Hence the API will be modified to take two mempool pointers - one for session
> -  and one for private data.
> -
>   * cryptodev: ``RTE_CRYPTO_AEAD_LIST_END`` from ``enum rte_crypto_aead_algorithm``,
>     ``RTE_CRYPTO_CIPHER_LIST_END`` from ``enum rte_crypto_cipher_algorithm`` and
>     ``RTE_CRYPTO_AUTH_LIST_END`` from ``enum rte_crypto_auth_algorithm``
> diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
> index df227a177..04c1a1b81 100644
> --- a/doc/guides/rel_notes/release_20_11.rst
> +++ b/doc/guides/rel_notes/release_20_11.rst
> @@ -84,6 +84,12 @@ API Changes
>      Also, make sure to start the actual text at the margin.
>      =======================================================
>   
> +* security: The API ``rte_security_session_create`` is updated to take two
> +  mempool objects one for session and other for session private data.
> +  So the application need to create two mempools and get the size of session
> +  private data using API ``rte_security_session_get_size`` for private session
> +  mempool.
> +
>   
>   ABI Changes
>   -----------
> diff --git a/examples/ipsec-secgw/ipsec-secgw.c b/examples/ipsec-secgw/ipsec-secgw.c
> index 8ba15d23c..55a5ea9f4 100644
> --- a/examples/ipsec-secgw/ipsec-secgw.c
> +++ b/examples/ipsec-secgw/ipsec-secgw.c
> @@ -2351,12 +2351,8 @@ session_pool_init(struct socket_ctx *ctx, int32_t socket_id, size_t sess_sz)
>   
>   	snprintf(mp_name, RTE_MEMPOOL_NAMESIZE,
>   			"sess_mp_%u", socket_id);
> -	/*
> -	 * Doubled due to rte_security_session_create() uses one mempool for
> -	 * session and for session private data.
> -	 */
>   	nb_sess = (get_nb_crypto_sessions() + CDEV_MP_CACHE_SZ *
> -		rte_lcore_count()) * 2;
> +		rte_lcore_count());
>   	sess_mp = rte_cryptodev_sym_session_pool_create(
>   			mp_name, nb_sess, sess_sz, CDEV_MP_CACHE_SZ, 0,
>   			socket_id);
> @@ -2379,12 +2375,8 @@ session_priv_pool_init(struct socket_ctx *ctx, int32_t socket_id,
>   
>   	snprintf(mp_name, RTE_MEMPOOL_NAMESIZE,
>   			"sess_mp_priv_%u", socket_id);
> -	/*
> -	 * Doubled due to rte_security_session_create() uses one mempool for
> -	 * session and for session private data.
> -	 */
>   	nb_sess = (get_nb_crypto_sessions() + CDEV_MP_CACHE_SZ *
> -		rte_lcore_count()) * 2;
> +		rte_lcore_count());
>   	sess_mp = rte_mempool_create(mp_name,
>   			nb_sess,
>   			sess_sz,
> diff --git a/examples/ipsec-secgw/ipsec.c b/examples/ipsec-secgw/ipsec.c
> index 01faa7ac7..6baeeb342 100644
> --- a/examples/ipsec-secgw/ipsec.c
> +++ b/examples/ipsec-secgw/ipsec.c
> @@ -117,7 +117,8 @@ create_lookaside_session(struct ipsec_ctx *ipsec_ctx, struct ipsec_sa *sa,
>   			set_ipsec_conf(sa, &(sess_conf.ipsec));
>   
>   			ips->security.ses = rte_security_session_create(ctx,
> -					&sess_conf, ipsec_ctx->session_priv_pool);
> +					&sess_conf, ipsec_ctx->session_pool,
> +					ipsec_ctx->session_priv_pool);
>   			if (ips->security.ses == NULL) {
>   				RTE_LOG(ERR, IPSEC,
>   				"SEC Session init failed: err: %d\n", ret);
> @@ -198,7 +199,8 @@ create_inline_session(struct socket_ctx *skt_ctx, struct ipsec_sa *sa,
>   		}
>   
>   		ips->security.ses = rte_security_session_create(sec_ctx,
> -				&sess_conf, skt_ctx->session_pool);
> +				&sess_conf, skt_ctx->session_pool,
> +				skt_ctx->session_priv_pool);
>   		if (ips->security.ses == NULL) {
>   			RTE_LOG(ERR, IPSEC,
>   				"SEC Session init failed: err: %d\n", ret);
> @@ -378,7 +380,8 @@ create_inline_session(struct socket_ctx *skt_ctx, struct ipsec_sa *sa,
>   		sess_conf.userdata = (void *) sa;
>   
>   		ips->security.ses = rte_security_session_create(sec_ctx,
> -					&sess_conf, skt_ctx->session_pool);
> +					&sess_conf, skt_ctx->session_pool,
> +					skt_ctx->session_priv_pool);
>   		if (ips->security.ses == NULL) {
>   			RTE_LOG(ERR, IPSEC,
>   				"SEC Session init failed: err: %d\n", ret);
> diff --git a/lib/librte_security/rte_security.c b/lib/librte_security/rte_security.c
> index 515c29e04..293ca747d 100644
> --- a/lib/librte_security/rte_security.c
> +++ b/lib/librte_security/rte_security.c
> @@ -26,7 +26,8 @@
>   struct rte_security_session *
>   rte_security_session_create(struct rte_security_ctx *instance,
>   			    struct rte_security_session_conf *conf,
> -			    struct rte_mempool *mp)
> +			    struct rte_mempool *mp,
> +			    struct rte_mempool *priv_mp)
>   {
>   	struct rte_security_session *sess = NULL;
>   
> @@ -37,7 +38,8 @@ rte_security_session_create(struct rte_security_ctx *instance,
>   	if (rte_mempool_get(mp, (void **)&sess))
>   		return NULL;
>   
> -	if (instance->ops->session_create(instance->device, conf, sess, mp)) {
> +	if (instance->ops->session_create(instance->device, conf,
> +				sess, priv_mp)) {
>   		rte_mempool_put(mp, (void *)sess);
>   		return NULL;
>   	}
> diff --git a/lib/librte_security/rte_security.h b/lib/librte_security/rte_security.h
> index 16839e539..1710cdd6a 100644
> --- a/lib/librte_security/rte_security.h
> +++ b/lib/librte_security/rte_security.h
> @@ -386,6 +386,7 @@ struct rte_security_session {
>    * @param   instance	security instance
>    * @param   conf	session configuration parameters
>    * @param   mp		mempool to allocate session objects from
> + * @param   priv_mp	mempool to allocate session private data objects from
>    * @return
>    *  - On success, pointer to session
>    *  - On failure, NULL
> @@ -393,7 +394,8 @@ struct rte_security_session {
>   struct rte_security_session *
>   rte_security_session_create(struct rte_security_ctx *instance,
>   			    struct rte_security_session_conf *conf,
> -			    struct rte_mempool *mp);
> +			    struct rte_mempool *mp,
> +			    struct rte_mempool *priv_mp);
>   
>   /**
>    * Update security session as specified by the session configuration

-- 
Lukasz Wojciechowski
Principal Software Engineer

Samsung R&D Institute Poland
Samsung Electronics
Office +48 22 377 88 25
l.wojciechow@partner.samsung.com


^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH v3 1/4] ethdev: add a field for rxq info structure
  2020-09-04 14:25  4%       ` Ferruh Yigit
  2020-09-04 15:14  3%         ` Bruce Richardson
@ 2020-09-04 15:30  0%         ` Bruce Richardson
  1 sibling, 0 replies; 200+ results
From: Bruce Richardson @ 2020-09-04 15:30 UTC (permalink / raw)
  To: Ferruh Yigit
  Cc: Chengchang Tang, dev, linuxarm, thomas, arybchenko, wenzhuo.lu,
	maryam.tahhan

On Fri, Sep 04, 2020 at 03:25:26PM +0100, Ferruh Yigit wrote:
> On 9/3/2020 4:35 PM, Bruce Richardson wrote:
> > On Sat, Aug 29, 2020 at 03:13:16PM +0800, Chengchang Tang wrote:
> >> Add a field named rx_buf_size in rte_eth_rxq_info to indicate the buffer
> >> size used in receiving packets for HW.
> >>
> >> In this way, upper-layer users can get this information by calling
> >> rte_eth_rx_queue_info_get.
> >>
> >> Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
> >> Reviewed-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
> >> Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
> >> ---
> >>  lib/librte_ethdev/rte_ethdev.h | 2 ++
> >>  1 file changed, 2 insertions(+)
> >>
> >> diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
> >> index 70295d7..9fed5cb 100644
> >> --- a/lib/librte_ethdev/rte_ethdev.h
> >> +++ b/lib/librte_ethdev/rte_ethdev.h
> >> @@ -1420,6 +1420,8 @@ struct rte_eth_rxq_info {
> >>  	struct rte_eth_rxconf conf; /**< queue config parameters. */
> >>  	uint8_t scattered_rx;       /**< scattered packets RX supported. */
> >>  	uint16_t nb_desc;           /**< configured number of RXDs. */
> >> +	/**< buffer size used for hardware when receive packets. */
> >> +	uint16_t rx_buf_size;
> >>  } __rte_cache_min_aligned;
> >>
> > Since this is breaking the ABI, this looks like the perfect opportunity to
> > add in a qinfo_size parameter to rte_eth_rx_queue_info_get() call which
> > allows ABI sanity-checking. Also, if passed through to the individual
> > drivers, allows them to make ABI determinations since driver functions
> > cannot be versioned, i.e. the driver info function cannot know whether it
> > has been called by queue_info_v21 or queue_info_v22.
> > 
> 
> Current approach we have is to detect the ABI breakage before release and either
> block it or use ABI versioning.
> What you suggest to add runtime checks assumes application can call old and new
> APIs, which is not our case and not sure what this runtime check adds.
> 
> The option to use runtime check between library and driver can be needed if
> library and driver from different DPDK versions can be used together, I think
> enabling this can bring more complexity and better to use all components of a
> DPDK release together.

Allow me to explain a bit further. For example, we add a new field to the
end of the configuration struct or the info struct, which changes the size
of the structure. We use function versioning to allow old and new ethdev
config APIs. The new API function just works passing the structure through
to the driver API. However, the old API implementation has a problem,
because it has just been passed a structure that is too small for use by
the driver functions, so it can't just pass it along. Therefore, the code
has two choices (that I am aware of):

1. allocate a new structure of the correct size, and call the driver API
with that. Once it returns, copy the fields over to the old structure to
return to the user.
2. create a new function pointer in the ops array for legacy compatibility
and have each driver implement a function to work with the old structure.

The alternative scheme is just to pass around the structure size. The
configure ethdev API takes the pointer and size, and does not need changing
if it does not use any new fields, just passes them through to the driver
configure API. Similarly there, any drivers that don't access the new
fields don't need changing, while those that do access them just need to
check the struct size before doing so to see what version of the structure
has been received.

> 
> And I think this kind of runtime checks should be discussed for all or none
> APIs, instead of having them only for some APIs.

Yes, I agree with that.
Incidentally, this same idea was covered in the context of system calls at
the linux plumbers conf:
https://linuxplumbersconf.org/event/7/contributions/657/attachments/639/1159/extensible_syscalls.pdf

Regards,
/Bruce

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH v3 1/4] ethdev: add a field for rxq info structure
  2020-09-04 14:25  4%       ` Ferruh Yigit
@ 2020-09-04 15:14  3%         ` Bruce Richardson
  2020-09-04 15:30  0%         ` Bruce Richardson
  1 sibling, 0 replies; 200+ results
From: Bruce Richardson @ 2020-09-04 15:14 UTC (permalink / raw)
  To: Ferruh Yigit
  Cc: Chengchang Tang, dev, linuxarm, thomas, arybchenko, wenzhuo.lu,
	maryam.tahhan

On Fri, Sep 04, 2020 at 03:25:26PM +0100, Ferruh Yigit wrote:
> On 9/3/2020 4:35 PM, Bruce Richardson wrote:
> > On Sat, Aug 29, 2020 at 03:13:16PM +0800, Chengchang Tang wrote:
> >> Add a field named rx_buf_size in rte_eth_rxq_info to indicate the buffer
> >> size used in receiving packets for HW.
> >>
> >> In this way, upper-layer users can get this information by calling
> >> rte_eth_rx_queue_info_get.
> >>
> >> Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
> >> Reviewed-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
> >> Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
> >> ---
> >>  lib/librte_ethdev/rte_ethdev.h | 2 ++
> >>  1 file changed, 2 insertions(+)
> >>
> >> diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
> >> index 70295d7..9fed5cb 100644
> >> --- a/lib/librte_ethdev/rte_ethdev.h
> >> +++ b/lib/librte_ethdev/rte_ethdev.h
> >> @@ -1420,6 +1420,8 @@ struct rte_eth_rxq_info {
> >>  	struct rte_eth_rxconf conf; /**< queue config parameters. */
> >>  	uint8_t scattered_rx;       /**< scattered packets RX supported. */
> >>  	uint16_t nb_desc;           /**< configured number of RXDs. */
> >> +	/**< buffer size used for hardware when receive packets. */
> >> +	uint16_t rx_buf_size;
> >>  } __rte_cache_min_aligned;
> >>
> > Since this is breaking the ABI, this looks like the perfect opportunity to
> > add in a qinfo_size parameter to rte_eth_rx_queue_info_get() call which
> > allows ABI sanity-checking. Also, if passed through to the individual
> > drivers, allows them to make ABI determinations since driver functions
> > cannot be versioned, i.e. the driver info function cannot know whether it
> > has been called by queue_info_v21 or queue_info_v22.
> > 
> 
> Current approach we have is to detect the ABI breakage before release and either
> block it or use ABI versioning.
> What you suggest to add runtime checks assumes application can call old and new
> APIs, which is not our case and not sure what this runtime check adds.
> 
> The option to use runtime check between library and driver can be needed if
> library and driver from different DPDK versions can be used together, I think
> enabling this can bring more complexity and better to use all components of a
> DPDK release together.
> 
> And I think this kind of runtime checks should be discussed for all or none
> APIs, instead of having them only for some APIs.

No the main concern here is to avoid the kind of ABI issues that hit the
crypto tree in a recent release. Passing the length of the array around
would actually make the regular versioning simpler (as I think we wouldn't
need to use the fancy linker versioning), but the main benefit is if that
info can be passed through to the driver layer, since driver functions
called via ethdev cannot be versioned.

/Bruce

^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] [PATCH v3 1/4] ethdev: add a field for rxq info structure
  2020-09-03 15:35  4%     ` Bruce Richardson
@ 2020-09-04 14:25  4%       ` Ferruh Yigit
  2020-09-04 15:14  3%         ` Bruce Richardson
  2020-09-04 15:30  0%         ` Bruce Richardson
  0 siblings, 2 replies; 200+ results
From: Ferruh Yigit @ 2020-09-04 14:25 UTC (permalink / raw)
  To: Bruce Richardson, Chengchang Tang
  Cc: dev, linuxarm, thomas, arybchenko, wenzhuo.lu, maryam.tahhan

On 9/3/2020 4:35 PM, Bruce Richardson wrote:
> On Sat, Aug 29, 2020 at 03:13:16PM +0800, Chengchang Tang wrote:
>> Add a field named rx_buf_size in rte_eth_rxq_info to indicate the buffer
>> size used in receiving packets for HW.
>>
>> In this way, upper-layer users can get this information by calling
>> rte_eth_rx_queue_info_get.
>>
>> Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
>> Reviewed-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
>> Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
>> ---
>>  lib/librte_ethdev/rte_ethdev.h | 2 ++
>>  1 file changed, 2 insertions(+)
>>
>> diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
>> index 70295d7..9fed5cb 100644
>> --- a/lib/librte_ethdev/rte_ethdev.h
>> +++ b/lib/librte_ethdev/rte_ethdev.h
>> @@ -1420,6 +1420,8 @@ struct rte_eth_rxq_info {
>>  	struct rte_eth_rxconf conf; /**< queue config parameters. */
>>  	uint8_t scattered_rx;       /**< scattered packets RX supported. */
>>  	uint16_t nb_desc;           /**< configured number of RXDs. */
>> +	/**< buffer size used for hardware when receive packets. */
>> +	uint16_t rx_buf_size;
>>  } __rte_cache_min_aligned;
>>
> Since this is breaking the ABI, this looks like the perfect opportunity to
> add in a qinfo_size parameter to rte_eth_rx_queue_info_get() call which
> allows ABI sanity-checking. Also, if passed through to the individual
> drivers, allows them to make ABI determinations since driver functions
> cannot be versioned, i.e. the driver info function cannot know whether it
> has been called by queue_info_v21 or queue_info_v22.
> 

Current approach we have is to detect the ABI breakage before release and either
block it or use ABI versioning.
What you suggest to add runtime checks assumes application can call old and new
APIs, which is not our case and not sure what this runtime check adds.

The option to use runtime check between library and driver can be needed if
library and driver from different DPDK versions can be used together, I think
enabling this can bring more complexity and better to use all components of a
DPDK release together.

And I think this kind of runtime checks should be discussed for all or none
APIs, instead of having them only for some APIs.

^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] [PATCH v2 3/7] rawdev: add private data length parameter to config fn
  @ 2020-09-04 14:16  0%     ` Bruce Richardson
  0 siblings, 0 replies; 200+ results
From: Bruce Richardson @ 2020-09-04 14:16 UTC (permalink / raw)
  To: Nipun Gupta, Hemant Agrawal
  Cc: dev, Rosen Xu, John McNamara, Marko Kovacevic, Satha Rao,
	Mahipal Challa, Tianfei zhang, Xiaoyun Li, Jingjing Wu

On Thu, Aug 13, 2020 at 12:28:01PM +0100, Bruce Richardson wrote:
> Currently with the rawdev API there is no way to check that the structure
> passed in via the dev_private pointer in the structure passed to configure
> API is of the correct type - it's just checked that it is non-NULL. Adding
> in the length of the expected structure provides a measure of typechecking,
> and can also be used for ABI compatibility in future, since ABI changes
> involving structs almost always involve a change in size.
> 
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> Reviewed-by: Rosen Xu <rosen.xu@intel.com>
> ---
>  doc/guides/rawdevs/ioat.rst                 | 2 +-
>  doc/guides/rawdevs/octeontx2_dma.rst        | 2 +-
>  doc/guides/rawdevs/octeontx2_ep.rst         | 3 ++-
>  doc/guides/sample_app_ug/ioat.rst           | 2 +-
>  drivers/raw/ifpga/ifpga_rawdev.c            | 3 ++-
>  drivers/raw/ioat/ioat_rawdev.c              | 5 +++--
>  drivers/raw/ioat/ioat_rawdev_test.c         | 2 +-
>  drivers/raw/ntb/ntb.c                       | 6 +++++-
>  drivers/raw/octeontx2_dma/otx2_dpi_rawdev.c | 7 ++++---
>  drivers/raw/octeontx2_dma/otx2_dpi_test.c   | 3 ++-
>  drivers/raw/octeontx2_ep/otx2_ep_rawdev.c   | 7 ++++---
>  drivers/raw/octeontx2_ep/otx2_ep_test.c     | 2 +-
>  drivers/raw/skeleton/skeleton_rawdev.c      | 5 +++--
>  drivers/raw/skeleton/skeleton_rawdev_test.c | 5 +++--
>  examples/ioat/ioatfwd.c                     | 2 +-
>  examples/ntb/ntb_fwd.c                      | 2 +-
>  lib/librte_rawdev/rte_rawdev.c              | 6 ++++--
>  lib/librte_rawdev/rte_rawdev.h              | 8 +++++++-
>  lib/librte_rawdev/rte_rawdev_pmd.h          | 3 ++-
>  19 files changed, 48 insertions(+), 27 deletions(-)
> 
<snip>
> diff --git a/lib/librte_rawdev/rte_rawdev.h b/lib/librte_rawdev/rte_rawdev.h
> index cf6acfd261..73e3bd5aea 100644
> --- a/lib/librte_rawdev/rte_rawdev.h
> +++ b/lib/librte_rawdev/rte_rawdev.h
> @@ -116,13 +116,19 @@ rte_rawdev_info_get(uint16_t dev_id, struct rte_rawdev_info *dev_info,
>   *   driver/implementation can use to configure the device. It is also assumed
>   *   that once the configuration is done, a `queue_id` type field can be used
>   *   to refer to some arbitrary internal representation of a queue.
> + * @dev_private_size

Small mistake here I just spotted. This should be "@param dev_private_size",
otherwise we get doc build warnings. Will fix in V3 if one is needed,
otherwise I'd ask that this just be fixed on apply.

Thanks,
/Bruce

^ permalink raw reply	[relevance 0%]

* [dpdk-dev] [PATCH V2 4/4] doc: announce modified field in ethdev API
    2020-09-04 11:32  5%   ` [dpdk-dev] [PATCH V2 3/4] doc: announce modified field in DCB TC queue mapping Min Hu (Connor)
@ 2020-09-04 11:32  4%   ` Min Hu (Connor)
  1 sibling, 0 replies; 200+ results
From: Min Hu (Connor) @ 2020-09-04 11:32 UTC (permalink / raw)
  To: dev; +Cc: ferruh.yigit, stephen, bruce.richardson, jerin.jacob

Field type of stat_idx will be modified, from uint8_t to uint16_t in
"set_queue_stats_mapping", "rte_eth_dev_set_tx_queue_stats_mapping",
"rte_eth_dev_set_rx_queue_stats_mapping" for meeting the needs use 256
or more than 256 queues and display all statistics of rx/tx queue.

Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
Reviewed-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
---
 doc/guides/rel_notes/release_20_11.rst | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index e9c87c3..8e24d46 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -84,6 +84,10 @@ API Changes
    Also, make sure to start the actual text at the margin.
    =======================================================
 
+* ethdev: Modified field type of stat_idx, from uint8_t to uint16_t  in
+  ``set_queue_stats_mapping``, ``rte_eth_dev_set_tx_queue_stats_mapping``,
+  ``rte_eth_dev_set_rx_queue_stats_mapping`` for meeting the needs use 256
+  or more than 256 queues and display all statistics of rx/tx queue.
 
 ABI Changes
 -----------
-- 
2.7.4


^ permalink raw reply	[relevance 4%]

* [dpdk-dev] [PATCH V2 3/4] doc: announce modified field in DCB TC queue mapping
  @ 2020-09-04 11:32  5%   ` Min Hu (Connor)
  2020-09-04 11:32  4%   ` [dpdk-dev] [PATCH V2 4/4] doc: announce modified field in ethdev API Min Hu (Connor)
  1 sibling, 0 replies; 200+ results
From: Min Hu (Connor) @ 2020-09-04 11:32 UTC (permalink / raw)
  To: dev; +Cc: ferruh.yigit, stephen, bruce.richardson, jerin.jacob

Field type of base and nb_queue will be modified, from uint8_t
to uint16_t  in struct ``rte_eth_dcb_tc_queue_mapping``.As the
data of uint8_t will be truncated when queue number under a TC
is greater than 256.

Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
Reviewed-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
---
 doc/guides/rel_notes/release_20_11.rst | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index df227a1..e9c87c3 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -100,6 +100,9 @@ ABI Changes
    Also, make sure to start the actual text at the margin.
    =======================================================
 
+* ethdev: Modified field type of base and nb_queue, from uint8_t to uint16_t  in
+  struct ``rte_eth_dcb_tc_queue_mapping``.As the data of uint8_t will be truncated when
+  queue number under a TC is greater than 256.
 
 Known Issues
 ------------
-- 
2.7.4


^ permalink raw reply	[relevance 5%]

* Re: [dpdk-dev] DPDK Experimental Functions
  2020-09-04  4:48  0% ` Honnappa Nagarahalli
@ 2020-09-04  5:58  0%   ` Hemant Agrawal
  0 siblings, 0 replies; 200+ results
From: Hemant Agrawal @ 2020-09-04  5:58 UTC (permalink / raw)
  To: Honnappa Nagarahalli, Kinsella, Ray, dpdk-dev, Walsh, Conor,
	Richardson, Bruce
  Cc: David Marchand, thomas, Andrew Rybchenko, Yigit, Ferruh,
	Maxime Coquelin, Zhihong Wang, Chenbo Xia, jerinj, Kiran Kumar K,
	Fiona Trahe, Ashish Gupta, Vladimir Medvedkin,
	Cristian Dumitrescu, Ori Kam, Declan Doherty, Vladimir Medvedkin,
	Konstantin Ananyev, Iremonger, Bernard, Kevin Laatz,
	Olivier Matz, jerinj, Ruifeng Wang, nd, nd


 
> <snip>
> 
> >
> > Hi All,
> >
> > During recent work on the DPDK ABI, where we are looking to develop a
> > nightly ABI regression test.
> >
> > We found a large number of experimental functions currently in DPDK API.
> > Currently, there are 537 experimental APIs out of a total of roughly
> > ~1800 API, 30%-ish.
> >
> > While there is no correct number, as a percentage of the total, this
> > appears to be very high.
> > I would question if all these API are really "new" and warrant the status?
> >
> > There are currently 38 libraries and drivers with experimental functions.
> > And to be fair there are number of recently added libraries in list,
> > shown below.
> > However there are also a number of libraries that have been around a
> > very long time.
> >
> > The following libraries and drivers have 10 or more experimental functions:
> >
> > 1.	rte_eal: 119
> We are ready to remove the tag for ticket lock and MCS lock APIs.
> 
> > 2.	rte_ethdev: 43
> > 3.	rte_vhost: 42
> > 4.	rte_graph: 35 (EXPERIMENTAL)
> > 5.	rte_compressdev: 34
> > 6.	rte_rib: 28 (EXPERIMENTAL)
> > 7.	rte_pipeline: 24
> > 8.	rte_regexdev: 22 (EXPERIMENTAL)
> > 9.	rte_cryptodev: 18
> > 10.	rte_fib: 16 (EXPERIMENTAL)
> > 11.	rte_ipsec: 15 (EXPERIMENTAL)
> > 12.	rte_telemetry: 12 (EXPERIMENTAL)
> > 13.	rte_mbuf: 11
> > 14.	rte_rcu: 11 (EXPERIMENTAL)
> I am ready to remove experimental status for the base RCU APIs. I would
> wait for defer queue APIs for another release as I am expecting integration
> into few more libraries. That would leave 4 APIs experimental still.
> 
> > 15.	rte_bus_fslmc: 11

[Hemant] Yes, we will submit patch to remove experimental form the fslmc bus

> > 16.	rte_bpf: 10 (EXPERIMENTAL)
> >
> > Do the maintainers of these libraries and drivers, A. Feel that
> > experimental status continues to be warranted against these API?
> > B. Have plans in place to move all/some of these functions to stable
> > in the
> > 20.11 timeframe?
> >
> > Kudos to Conor Walsh for pulling this data together.
> >
> > Thanks,
> >
> > Ray K

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] DPDK Experimental Functions
  2020-08-27 13:00  4% [dpdk-dev] DPDK Experimental Functions Kinsella, Ray
  2020-09-01 13:39  0% ` Thomas Monjalon
@ 2020-09-04  4:48  0% ` Honnappa Nagarahalli
  2020-09-04  5:58  0%   ` Hemant Agrawal
  1 sibling, 1 reply; 200+ results
From: Honnappa Nagarahalli @ 2020-09-04  4:48 UTC (permalink / raw)
  To: Kinsella, Ray, dpdk-dev, Walsh, Conor, Richardson, Bruce
  Cc: David Marchand, thomas, Andrew Rybchenko, Yigit, Ferruh,
	Maxime Coquelin, Zhihong Wang, Chenbo Xia, jerinj, Kiran Kumar K,
	Fiona Trahe, Ashish Gupta, Vladimir Medvedkin,
	Cristian Dumitrescu, Ori Kam, Declan Doherty, Vladimir Medvedkin,
	Konstantin Ananyev, Iremonger, Bernard, Kevin Laatz,
	Olivier Matz, jerinj, Ruifeng Wang, nd, nd

<snip>

> 
> Hi All,
> 
> During recent work on the DPDK ABI, where we are looking to develop a
> nightly ABI regression test.
> 
> We found a large number of experimental functions currently in DPDK API.
> Currently, there are 537 experimental APIs out of a total of roughly ~1800
> API, 30%-ish.
> 
> While there is no correct number, as a percentage of the total, this appears
> to be very high.
> I would question if all these API are really "new" and warrant the status?
> 
> There are currently 38 libraries and drivers with experimental functions.
> And to be fair there are number of recently added libraries in list, shown
> below.
> However there are also a number of libraries that have been around a very
> long time.
> 
> The following libraries and drivers have 10 or more experimental functions:
> 
> 1.	rte_eal: 119
We are ready to remove the tag for ticket lock and MCS lock APIs.

> 2.	rte_ethdev: 43
> 3.	rte_vhost: 42
> 4.	rte_graph: 35 (EXPERIMENTAL)
> 5.	rte_compressdev: 34
> 6.	rte_rib: 28 (EXPERIMENTAL)
> 7.	rte_pipeline: 24
> 8.	rte_regexdev: 22 (EXPERIMENTAL)
> 9.	rte_cryptodev: 18
> 10.	rte_fib: 16 (EXPERIMENTAL)
> 11.	rte_ipsec: 15 (EXPERIMENTAL)
> 12.	rte_telemetry: 12 (EXPERIMENTAL)
> 13.	rte_mbuf: 11
> 14.	rte_rcu: 11 (EXPERIMENTAL)
I am ready to remove experimental status for the base RCU APIs. I would wait for defer queue APIs for another release as I am expecting integration into few more libraries. That would leave 4 APIs experimental still.

> 15.	rte_bus_fslmc: 11
> 16.	rte_bpf: 10 (EXPERIMENTAL)
> 
> Do the maintainers of these libraries and drivers, A. Feel that experimental
> status continues to be warranted against these API?
> B. Have plans in place to move all/some of these functions to stable in the
> 20.11 timeframe?
> 
> Kudos to Conor Walsh for pulling this data together.
> 
> Thanks,
> 
> Ray K

^ permalink raw reply	[relevance 0%]

* [dpdk-dev] [PATCH v2 2/2] rte_log: make rte_logs private
  @ 2020-09-03 23:04  9%   ` Stephen Hemminger
  0 siblings, 0 replies; 200+ results
From: Stephen Hemminger @ 2020-09-03 23:04 UTC (permalink / raw)
  To: dev; +Cc: Stephen Hemminger, Andrew Rybchenko

As announced in earlier releases, rte_logs can now be made
internal to eal_common_log.

Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 doc/guides/rel_notes/deprecation.rst   |  4 ----
 doc/guides/rel_notes/release_20_11.rst |  2 ++
 lib/librte_eal/common/eal_common_log.c | 11 ++++++++---
 lib/librte_eal/include/rte_log.h       | 16 ++--------------
 lib/librte_eal/rte_eal_version.map     |  1 -
 5 files changed, 12 insertions(+), 22 deletions(-)

diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 345c38d5b630..5445a4f0a061 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -77,10 +77,6 @@ Deprecation Notices
 * eal: The function ``rte_eal_remote_launch`` will return new error codes
   after read or write error on the pipe, instead of calling ``rte_panic``.
 
-* eal: The ``rte_logs`` struct and global symbol will be made private to
-  remove it from the externally visible ABI and allow it to be updated in the
-  future.
-
 * eal: The ``rte_dev_event`` structure will be made private to the EAL as no
   public API makes use of it.
 
diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index df227a1773b8..e422ac790912 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -84,6 +84,8 @@ API Changes
    Also, make sure to start the actual text at the margin.
    =======================================================
 
+* eal: The ``rte_logs`` struct and global symbol was made private
+  and is no longer part of the API.
 
 ABI Changes
 -----------
diff --git a/lib/librte_eal/common/eal_common_log.c b/lib/librte_eal/common/eal_common_log.c
index 8835c8fff897..a25766de181a 100644
--- a/lib/librte_eal/common/eal_common_log.c
+++ b/lib/librte_eal/common/eal_common_log.c
@@ -17,11 +17,16 @@
 
 #include "eal_private.h"
 
-/* global log structure */
-struct rte_logs rte_logs = {
+/** The rte_log structure. */
+static struct rte_logs {
+	uint32_t type;  /**< Bitfield with enabled logs. */
+	uint32_t level; /**< Log level. */
+	FILE *file;     /**< Output file set by rte_openlog_stream, or NULL. */
+	size_t dynamic_types_len;
+	struct rte_log_dynamic_type *dynamic_types;
+} rte_logs = {
 	.type = ~0,
 	.level = RTE_LOG_DEBUG,
-	.file = NULL,
 };
 
 struct rte_eal_opt_loglevel {
diff --git a/lib/librte_eal/include/rte_log.h b/lib/librte_eal/include/rte_log.h
index 7fe0968383db..adc5c83d4250 100644
--- a/lib/librte_eal/include/rte_log.h
+++ b/lib/librte_eal/include/rte_log.h
@@ -29,18 +29,6 @@ extern "C" {
 
 struct rte_log_dynamic_type;
 
-/** The rte_log structure. */
-struct rte_logs {
-	uint32_t type;  /**< Bitfield with enabled logs. */
-	uint32_t level; /**< Log level. */
-	FILE *file;     /**< Output file set by rte_openlog_stream, or NULL. */
-	size_t dynamic_types_len;
-	struct rte_log_dynamic_type *dynamic_types;
-};
-
-/** Global log information */
-extern struct rte_logs rte_logs;
-
 /* SDK log type */
 #define RTE_LOGTYPE_EAL        0 /**< Log related to eal. */
 #define RTE_LOGTYPE_MALLOC     1 /**< Log related to malloc. */
@@ -273,7 +261,7 @@ void rte_log_dump(FILE *f);
  * to rte_openlog_stream().
  *
  * The level argument determines if the log should be displayed or
- * not, depending on the global rte_logs variable.
+ * not, depending on the loglevel settings.
  *
  * The preferred alternative is the RTE_LOG() because it adds the
  * level and type in the logged string.
@@ -304,7 +292,7 @@ int rte_log(uint32_t level, uint32_t logtype, const char *format, ...)
  * to rte_openlog_stream().
  *
  * The level argument determines if the log should be displayed or
- * not, depending on the global rte_logs variable. A trailing
+ * not, depending on the loglevel settings. A trailing
  * newline may be added if needed.
  *
  * The preferred alternative is the RTE_LOG() because it adds the
diff --git a/lib/librte_eal/rte_eal_version.map b/lib/librte_eal/rte_eal_version.map
index 0564f2fdc7aa..eba868ee0f38 100644
--- a/lib/librte_eal/rte_eal_version.map
+++ b/lib/librte_eal/rte_eal_version.map
@@ -115,7 +115,6 @@ DPDK_21 {
 	rte_log_set_level;
 	rte_log_set_level_pattern;
 	rte_log_set_level_regexp;
-	rte_logs;
 	rte_malloc;
 	rte_malloc_dump_stats;
 	rte_malloc_get_socket_stats;
-- 
2.27.0


^ permalink raw reply	[relevance 9%]

* [dpdk-dev] [PATCH v2 4/7] ethdev: mark internal functions
  2020-09-03 21:09  1% ` [dpdk-dev] [PATCH v2 " Ferruh Yigit
  2020-09-03 21:09  4%   ` [dpdk-dev] [PATCH v2 2/7] ethdev: move inline device operations Ferruh Yigit
  2020-09-03 21:09  1%   ` [dpdk-dev] [PATCH v2 3/7] ethdev: make device operations struct private Ferruh Yigit
@ 2020-09-03 21:09  8%   ` Ferruh Yigit
  2 siblings, 0 replies; 200+ results
From: Ferruh Yigit @ 2020-09-03 21:09 UTC (permalink / raw)
  To: dev, Ray Kinsella, Neil Horman, John McNamara, Marko Kovacevic,
	Thomas Monjalon, Andrew Rybchenko, Ori Kam
  Cc: Ferruh Yigit

Some ethdev functions are for drivers only, not for applications.

Since we have '__rte_internal' tag available now, marking internal
functions with it and moving functions to INTERNAL section in linker
script.
This is also good for documenting the internal functions.

Some internal APIs seems marked as experimental, but it doesn't make
sense to have internals APIs as experimental, updating their tag and
doxygen comments.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
---
 doc/guides/rel_notes/deprecation.rst     |  6 -----
 lib/librte_ethdev/rte_ethdev.h           |  3 +--
 lib/librte_ethdev/rte_ethdev_driver.h    | 33 ++++++++++--------------
 lib/librte_ethdev/rte_ethdev_version.map | 30 ++++++++++-----------
 lib/librte_ethdev/rte_flow_driver.h      |  4 +--
 5 files changed, 29 insertions(+), 47 deletions(-)

diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index d40b95bfa9..35c06d30ef 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -227,12 +227,6 @@ Deprecation Notices
   following the IPv6 header, as proposed in RFC
   https://mails.dpdk.org/archives/dev/2020-August/177257.html.
 
-* ethdev: Some internal APIs for driver usage are exported in the .map file.
-  Now DPDK has ``__rte_internal`` marker so we can mark internal APIs and move
-  them to the INTERNAL block in .map. Although these APIs are internal it will
-  break the ABI checks, that is why change is planned for 20.11.
-  The list of internal APIs are mainly ones listed in ``rte_ethdev_driver.h``.
-
 * traffic manager: All traffic manager API's in ``rte_tm.h`` were mistakenly made
   ABI stable in the v19.11 release. The TM maintainer and other contributors have
   agreed to keep the TM APIs as experimental in expectation of additional spec
diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
index 2ce186610b..ce2e0ec0e4 100644
--- a/lib/librte_ethdev/rte_ethdev.h
+++ b/lib/librte_ethdev/rte_ethdev.h
@@ -1723,8 +1723,7 @@ rte_eth_find_next_of(uint16_t port_id_start,
  */
 __rte_experimental
 uint16_t
-rte_eth_find_next_sibling(uint16_t port_id_start,
-		uint16_t ref_port_id);
+rte_eth_find_next_sibling(uint16_t port_id_start, uint16_t ref_port_id);
 
 /**
  * Macro to iterate over all ethdev ports sharing the same rte_device
diff --git a/lib/librte_ethdev/rte_ethdev_driver.h b/lib/librte_ethdev/rte_ethdev_driver.h
index b006cbbe92..3d1bc33272 100644
--- a/lib/librte_ethdev/rte_ethdev_driver.h
+++ b/lib/librte_ethdev/rte_ethdev_driver.h
@@ -759,6 +759,7 @@ int rte_eth_dev_is_tx_hairpin_queue(struct rte_eth_dev *dev, uint16_t queue_id);
  * @return
  *   - The pointer to the ethdev slot, on success. NULL on error
  */
+__rte_internal
 struct rte_eth_dev *rte_eth_dev_allocated(const char *name);
 
 /**
@@ -770,6 +771,7 @@ struct rte_eth_dev *rte_eth_dev_allocated(const char *name);
  * @return
  *   - Slot in the rte_dev_devices array for a new device;
  */
+__rte_internal
 struct rte_eth_dev *rte_eth_dev_allocate(const char *name);
 
 /**
@@ -783,6 +785,7 @@ struct rte_eth_dev *rte_eth_dev_allocate(const char *name);
  *        device.
  *   - Error: Null pointer.
  */
+__rte_internal
 struct rte_eth_dev *rte_eth_dev_attach_secondary(const char *name);
 
 /**
@@ -801,6 +804,7 @@ struct rte_eth_dev *rte_eth_dev_attach_secondary(const char *name);
  * @return
  *   - 0 on success, negative on error
  */
+__rte_internal
 int rte_eth_dev_release_port(struct rte_eth_dev *eth_dev);
 
 /**
@@ -814,6 +818,7 @@ int rte_eth_dev_release_port(struct rte_eth_dev *eth_dev);
  * @return
  *  void
  */
+__rte_internal
 void _rte_eth_dev_reset(struct rte_eth_dev *dev);
 
 /**
@@ -833,6 +838,7 @@ void _rte_eth_dev_reset(struct rte_eth_dev *dev);
  * @return
  *  int
  */
+__rte_internal
 int _rte_eth_dev_callback_process(struct rte_eth_dev *dev,
 		enum rte_eth_event_type event, void *ret_param);
 
@@ -848,6 +854,7 @@ int _rte_eth_dev_callback_process(struct rte_eth_dev *dev,
  * @param dev
  *  New ethdev port.
  */
+__rte_internal
 void rte_eth_dev_probing_finish(struct rte_eth_dev *dev);
 
 /**
@@ -869,6 +876,7 @@ void rte_eth_dev_probing_finish(struct rte_eth_dev *dev);
  * @param socket_id
  *   The *socket_id* argument is the socket identifier in case of NUMA.
  */
+__rte_internal
 const struct rte_memzone *
 rte_eth_dma_zone_reserve(const struct rte_eth_dev *eth_dev, const char *name,
 			 uint16_t queue_id, size_t size,
@@ -955,9 +963,6 @@ rte_eth_linkstatus_get(const struct rte_eth_dev *dev,
 }
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
  * Allocate an unique switch domain identifier.
  *
  * A pool of switch domain identifiers which can be allocated on request. This
@@ -971,14 +976,11 @@ rte_eth_linkstatus_get(const struct rte_eth_dev *dev,
  * @return
  *   Negative errno value on error, 0 on success.
  */
-__rte_experimental
+__rte_internal
 int
 rte_eth_switch_domain_alloc(uint16_t *domain_id);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
  * Free switch domain.
  *
  * Return a switch domain identifier to the pool of free identifiers after it is
@@ -990,7 +992,7 @@ rte_eth_switch_domain_alloc(uint16_t *domain_id);
  * @return
  *   Negative errno value on error, 0 on success.
  */
-__rte_experimental
+__rte_internal
 int
 rte_eth_switch_domain_free(uint16_t domain_id);
 
@@ -1007,9 +1009,6 @@ struct rte_eth_devargs {
 };
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
  * PMD helper function to parse ethdev arguments
  *
  * @param devargs
@@ -1020,7 +1019,7 @@ struct rte_eth_devargs {
  * @return
  *   Negative errno value on error, 0 on success.
  */
-__rte_experimental
+__rte_internal
 int
 rte_eth_devargs_parse(const char *devargs, struct rte_eth_devargs *eth_devargs);
 
@@ -1030,9 +1029,6 @@ typedef int (*ethdev_bus_specific_init)(struct rte_eth_dev *ethdev,
 	void *bus_specific_init_params);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
  * PMD helper function for the creation of a new ethdev ports.
  *
  * @param device
@@ -1053,7 +1049,7 @@ typedef int (*ethdev_bus_specific_init)(struct rte_eth_dev *ethdev,
  * @return
  *   Negative errno value on error, 0 on success.
  */
-__rte_experimental
+__rte_internal
 int
 rte_eth_dev_create(struct rte_device *device, const char *name,
 	size_t priv_data_size,
@@ -1064,9 +1060,6 @@ rte_eth_dev_create(struct rte_device *device, const char *name,
 typedef int (*ethdev_uninit_t)(struct rte_eth_dev *ethdev);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
  * PMD helper function for cleaning up the resources of a ethdev port on it's
  * destruction.
  *
@@ -1078,7 +1071,7 @@ typedef int (*ethdev_uninit_t)(struct rte_eth_dev *ethdev);
  * @return
  *   Negative errno value on error, 0 on success.
  */
-__rte_experimental
+__rte_internal
 int
 rte_eth_dev_destroy(struct rte_eth_dev *ethdev, ethdev_uninit_t ethdev_uninit);
 
diff --git a/lib/librte_ethdev/rte_ethdev_version.map b/lib/librte_ethdev/rte_ethdev_version.map
index 8d9d6b1c67..6a84f3d76d 100644
--- a/lib/librte_ethdev/rte_ethdev_version.map
+++ b/lib/librte_ethdev/rte_ethdev_version.map
@@ -1,8 +1,6 @@
 DPDK_21 {
 	global:
 
-	_rte_eth_dev_callback_process;
-	_rte_eth_dev_reset;
 	rte_eth_add_first_rx_callback;
 	rte_eth_add_rx_callback;
 	rte_eth_add_tx_callback;
@@ -10,9 +8,6 @@ DPDK_21 {
 	rte_eth_allmulticast_enable;
 	rte_eth_allmulticast_get;
 	rte_eth_dev_adjust_nb_rx_tx_desc;
-	rte_eth_dev_allocate;
-	rte_eth_dev_allocated;
-	rte_eth_dev_attach_secondary;
 	rte_eth_dev_callback_register;
 	rte_eth_dev_callback_unregister;
 	rte_eth_dev_close;
@@ -44,8 +39,6 @@ DPDK_21 {
 	rte_eth_dev_mac_addr_remove;
 	rte_eth_dev_pool_ops_supported;
 	rte_eth_dev_priority_flow_ctrl_set;
-	rte_eth_dev_probing_finish;
-	rte_eth_dev_release_port;
 	rte_eth_dev_reset;
 	rte_eth_dev_rss_hash_conf_get;
 	rte_eth_dev_rss_hash_update;
@@ -81,7 +74,6 @@ DPDK_21 {
 	rte_eth_dev_udp_tunnel_port_delete;
 	rte_eth_dev_vlan_filter;
 	rte_eth_devices;
-	rte_eth_dma_zone_reserve;
 	rte_eth_find_next;
 	rte_eth_find_next_owned_by;
 	rte_eth_iterator_cleanup;
@@ -195,16 +187,8 @@ EXPERIMENTAL {
 	rte_eth_dev_owner_unset;
 
 	# added in 18.05
-	rte_eth_dev_create;
-	rte_eth_dev_destroy;
 	rte_eth_dev_get_module_eeprom;
 	rte_eth_dev_get_module_info;
-	rte_eth_devargs_parse;
-	rte_eth_switch_domain_alloc;
-	rte_eth_switch_domain_free;
-
-	# added in 18.08
-	rte_flow_expand_rss;
 
 	# added in 18.11
 	rte_eth_dev_rx_intr_ctl_q_get_fd;
@@ -246,5 +230,19 @@ EXPERIMENTAL {
 INTERNAL {
 	global:
 
+	_rte_eth_dev_callback_process;
+	_rte_eth_dev_reset;
+	rte_eth_dev_allocate;
+	rte_eth_dev_allocated;
+	rte_eth_dev_attach_secondary;
+	rte_eth_dev_create;
+	rte_eth_dev_destroy;
+	rte_eth_dev_probing_finish;
+	rte_eth_dev_release_port;
+	rte_eth_devargs_parse;
 	rte_eth_dma_zone_free;
+	rte_eth_dma_zone_reserve;
+	rte_eth_switch_domain_alloc;
+	rte_eth_switch_domain_free;
+	rte_flow_expand_rss;
 };
diff --git a/lib/librte_ethdev/rte_flow_driver.h b/lib/librte_ethdev/rte_flow_driver.h
index 997598db11..3ee871d3eb 100644
--- a/lib/librte_ethdev/rte_flow_driver.h
+++ b/lib/librte_ethdev/rte_flow_driver.h
@@ -161,8 +161,6 @@ struct rte_flow_expand_rss {
  * Expand RSS flows into several possible flows according to the RSS hash
  * fields requested and the driver capabilities.
  *
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * @param[out] buf
  *   Buffer to store the result expansion.
  * @param[in] size
@@ -183,7 +181,7 @@ struct rte_flow_expand_rss {
  *
  *   -E2BIG: graph-depth @p graph is too deep.
  */
-__rte_experimental
+__rte_internal
 int
 rte_flow_expand_rss(struct rte_flow_expand_rss *buf, size_t size,
 		    const struct rte_flow_item *pattern, uint64_t types,
-- 
2.25.4


^ permalink raw reply	[relevance 8%]

* [dpdk-dev] [PATCH v2 3/7] ethdev: make device operations struct private
  2020-09-03 21:09  1% ` [dpdk-dev] [PATCH v2 " Ferruh Yigit
  2020-09-03 21:09  4%   ` [dpdk-dev] [PATCH v2 2/7] ethdev: move inline device operations Ferruh Yigit
@ 2020-09-03 21:09  1%   ` Ferruh Yigit
  2020-09-03 21:09  8%   ` [dpdk-dev] [PATCH v2 4/7] ethdev: mark internal functions Ferruh Yigit
  2 siblings, 0 replies; 200+ results
From: Ferruh Yigit @ 2020-09-03 21:09 UTC (permalink / raw)
  To: dev, Ray Kinsella, Neil Horman, John McNamara, Marko Kovacevic,
	Beilei Xing, Jeff Guo, Wei Zhao, Thomas Monjalon,
	Andrew Rybchenko, Ori Kam, Cristian Dumitrescu
  Cc: Ferruh Yigit

Hiding the 'struct eth_dev_ops' from applications.

Removing relevant deprecation notice.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
---
 doc/guides/rel_notes/deprecation.rst     |   9 -
 drivers/net/i40e/i40e_vf_representor.c   |   1 +
 drivers/net/ixgbe/ixgbe_vf_representor.c |   1 +
 lib/librte_ethdev/rte_ethdev_core.h      | 708 +----------------------
 lib/librte_ethdev/rte_ethdev_driver.h    | 694 ++++++++++++++++++++++
 lib/librte_ethdev/rte_flow_driver.h      |   1 +
 lib/librte_ethdev/rte_mtr_driver.h       |   1 +
 lib/librte_ethdev/rte_tm_driver.h        |   1 +
 8 files changed, 706 insertions(+), 710 deletions(-)

diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 811eaad6ce..d40b95bfa9 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -163,15 +163,6 @@ Deprecation Notices
   Due to adoption of C11 atomic builtins, the field ``refcnt_atomic``
   will be replaced with ``refcnt`` of type ``uint16_t`` in DPDK 20.11.
 
-* ethdev: Split the ``struct eth_dev_ops`` struct to hide it as much as possible
-  will be done in 20.11.
-  Currently the ``struct eth_dev_ops`` struct is accessible by the application
-  because some inline functions, like ``rte_eth_tx_descriptor_status()``,
-  access the struct directly.
-  The struct will be separate in two, the ops used by inline functions will be
-  moved next to Rx/Tx burst functions, rest of the ``struct eth_dev_ops`` struct
-  will be moved to header file for drivers to hide it from applications.
-
 * ethdev: the legacy filter API, including
   ``rte_eth_dev_filter_supported()``, ``rte_eth_dev_filter_ctrl()`` as well
   as filter types MACVLAN, ETHERTYPE, FLEXIBLE, SYN, NTUPLE, TUNNEL, FDIR,
diff --git a/drivers/net/i40e/i40e_vf_representor.c b/drivers/net/i40e/i40e_vf_representor.c
index 083bc1a5f3..f09d4d8798 100644
--- a/drivers/net/i40e/i40e_vf_representor.c
+++ b/drivers/net/i40e/i40e_vf_representor.c
@@ -7,6 +7,7 @@
 #include <rte_pci.h>
 #include <rte_malloc.h>
 
+#include "rte_ethdev_driver.h"
 #include "base/i40e_type.h"
 #include "base/virtchnl.h"
 #include "i40e_ethdev.h"
diff --git a/drivers/net/ixgbe/ixgbe_vf_representor.c b/drivers/net/ixgbe/ixgbe_vf_representor.c
index dbbef294ae..edb5d43846 100644
--- a/drivers/net/ixgbe/ixgbe_vf_representor.c
+++ b/drivers/net/ixgbe/ixgbe_vf_representor.c
@@ -6,6 +6,7 @@
 #include <rte_pci.h>
 #include <rte_malloc.h>
 
+#include "rte_ethdev_driver.h"
 #include "base/ixgbe_type.h"
 #include "base/ixgbe_vf.h"
 #include "ixgbe_ethdev.h"
diff --git a/lib/librte_ethdev/rte_ethdev_core.h b/lib/librte_ethdev/rte_ethdev_core.h
index 275d51006b..0a2a43803f 100644
--- a/lib/librte_ethdev/rte_ethdev_core.h
+++ b/lib/librte_ethdev/rte_ethdev_core.h
@@ -21,319 +21,8 @@ struct rte_eth_dev_callback;
 /** @internal Structure to keep track of registered callbacks */
 TAILQ_HEAD(rte_eth_dev_cb_list, rte_eth_dev_callback);
 
-/*
- * Definitions of all functions exported by an Ethernet driver through the
- * the generic structure of type *eth_dev_ops* supplied in the *rte_eth_dev*
- * structure associated with an Ethernet device.
- */
 struct rte_eth_dev;
 
-typedef int  (*eth_dev_configure_t)(struct rte_eth_dev *dev);
-/**< @internal Ethernet device configuration. */
-
-typedef int  (*eth_dev_start_t)(struct rte_eth_dev *dev);
-/**< @internal Function used to start a configured Ethernet device. */
-
-typedef void (*eth_dev_stop_t)(struct rte_eth_dev *dev);
-/**< @internal Function used to stop a configured Ethernet device. */
-
-typedef int  (*eth_dev_set_link_up_t)(struct rte_eth_dev *dev);
-/**< @internal Function used to link up a configured Ethernet device. */
-
-typedef int  (*eth_dev_set_link_down_t)(struct rte_eth_dev *dev);
-/**< @internal Function used to link down a configured Ethernet device. */
-
-typedef void (*eth_dev_close_t)(struct rte_eth_dev *dev);
-/**< @internal Function used to close a configured Ethernet device. */
-
-typedef int (*eth_dev_reset_t)(struct rte_eth_dev *dev);
-/** <@internal Function used to reset a configured Ethernet device. */
-
-typedef int (*eth_is_removed_t)(struct rte_eth_dev *dev);
-/**< @internal Function used to detect an Ethernet device removal. */
-
-/**
- * @internal
- * Function used to enable the Rx promiscuous mode of an Ethernet device.
- *
- * @param dev
- *   ethdev handle of port.
- *
- * @return
- *   Negative errno value on error, 0 on success.
- *
- * @retval 0
- *   Success, promiscuous mode is enabled.
- * @retval -ENOTSUP
- *   Promiscuous mode is not supported.
- * @retval -ENODEV
- *   Device is gone.
- * @retval -E_RTE_SECONDARY
- *   Function was called from a secondary process instance and not supported.
- * @retval -ETIMEDOUT
- *   Attempt to enable promiscuos mode failed because of timeout.
- * @retval -EAGAIN
- *   Failed to enable promiscuous mode.
- */
-typedef int (*eth_promiscuous_enable_t)(struct rte_eth_dev *dev);
-
-/**
- * @internal
- * Function used to disable the Rx promiscuous mode of an Ethernet device.
- *
- * @param dev
- *   ethdev handle of port.
- *
- * @return
- *   Negative errno value on error, 0 on success.
- *
- * @retval 0
- *   Success, promiscuous mode is disabled.
- * @retval -ENOTSUP
- *   Promiscuous mode disabling is not supported.
- * @retval -ENODEV
- *   Device is gone.
- * @retval -E_RTE_SECONDARY
- *   Function was called from a secondary process instance and not supported.
- * @retval -ETIMEDOUT
- *   Attempt to disable promiscuos mode failed because of timeout.
- * @retval -EAGAIN
- *   Failed to disable promiscuous mode.
- */
-typedef int (*eth_promiscuous_disable_t)(struct rte_eth_dev *dev);
-
-/**
- * @internal
- * Enable the receipt of all multicast packets by an Ethernet device.
- *
- * @param dev
- *   ethdev handle of port.
- *
- * @return
- *   Negative errno value on error, 0 on success.
- *
- * @retval 0
- *   Success, all-multicast mode is enabled.
- * @retval -ENOTSUP
- *   All-multicast mode is not supported.
- * @retval -ENODEV
- *   Device is gone.
- * @retval -E_RTE_SECONDARY
- *   Function was called from a secondary process instance and not supported.
- * @retval -ETIMEDOUT
- *   Attempt to enable all-multicast mode failed because of timeout.
- * @retval -EAGAIN
- *   Failed to enable all-multicast mode.
- */
-typedef int (*eth_allmulticast_enable_t)(struct rte_eth_dev *dev);
-
-/**
- * @internal
- * Disable the receipt of all multicast packets by an Ethernet device.
- *
- * @param dev
- *   ethdev handle of port.
- *
- * @return
- *   Negative errno value on error, 0 on success.
- *
- * @retval 0
- *   Success, all-multicast mode is disabled.
- * @retval -ENOTSUP
- *   All-multicast mode disabling is not supported.
- * @retval -ENODEV
- *   Device is gone.
- * @retval -E_RTE_SECONDARY
- *   Function was called from a secondary process instance and not supported.
- * @retval -ETIMEDOUT
- *   Attempt to disable all-multicast mode failed because of timeout.
- * @retval -EAGAIN
- *   Failed to disable all-multicast mode.
- */
-typedef int (*eth_allmulticast_disable_t)(struct rte_eth_dev *dev);
-
-typedef int (*eth_link_update_t)(struct rte_eth_dev *dev,
-				int wait_to_complete);
-/**< @internal Get link speed, duplex mode and state (up/down) of an Ethernet device. */
-
-typedef int (*eth_stats_get_t)(struct rte_eth_dev *dev,
-				struct rte_eth_stats *igb_stats);
-/**< @internal Get global I/O statistics of an Ethernet device. */
-
-/**
- * @internal
- * Reset global I/O statistics of an Ethernet device to 0.
- *
- * @param dev
- *   ethdev handle of port.
- *
- * @return
- *   Negative errno value on error, 0 on success.
- *
- * @retval 0
- *   Success, statistics has been reset.
- * @retval -ENOTSUP
- *   Resetting statistics is not supported.
- * @retval -EINVAL
- *   Resetting statistics is not valid.
- * @retval -ENOMEM
- *   Not enough memory to get the stats.
- */
-typedef int (*eth_stats_reset_t)(struct rte_eth_dev *dev);
-
-typedef int (*eth_xstats_get_t)(struct rte_eth_dev *dev,
-	struct rte_eth_xstat *stats, unsigned n);
-/**< @internal Get extended stats of an Ethernet device. */
-
-typedef int (*eth_xstats_get_by_id_t)(struct rte_eth_dev *dev,
-				      const uint64_t *ids,
-				      uint64_t *values,
-				      unsigned int n);
-/**< @internal Get extended stats of an Ethernet device. */
-
-/**
- * @internal
- * Reset extended stats of an Ethernet device.
- *
- * @param dev
- *   ethdev handle of port.
- *
- * @return
- *   Negative errno value on error, 0 on success.
- *
- * @retval 0
- *   Success, statistics has been reset.
- * @retval -ENOTSUP
- *   Resetting statistics is not supported.
- * @retval -EINVAL
- *   Resetting statistics is not valid.
- * @retval -ENOMEM
- *   Not enough memory to get the stats.
- */
-typedef int (*eth_xstats_reset_t)(struct rte_eth_dev *dev);
-
-typedef int (*eth_xstats_get_names_t)(struct rte_eth_dev *dev,
-	struct rte_eth_xstat_name *xstats_names, unsigned size);
-/**< @internal Get names of extended stats of an Ethernet device. */
-
-typedef int (*eth_xstats_get_names_by_id_t)(struct rte_eth_dev *dev,
-	struct rte_eth_xstat_name *xstats_names, const uint64_t *ids,
-	unsigned int size);
-/**< @internal Get names of extended stats of an Ethernet device. */
-
-typedef int (*eth_queue_stats_mapping_set_t)(struct rte_eth_dev *dev,
-					     uint16_t queue_id,
-					     uint8_t stat_idx,
-					     uint8_t is_rx);
-/**< @internal Set a queue statistics mapping for a tx/rx queue of an Ethernet device. */
-
-typedef int (*eth_dev_infos_get_t)(struct rte_eth_dev *dev,
-				   struct rte_eth_dev_info *dev_info);
-/**< @internal Get specific information of an Ethernet device. */
-
-typedef const uint32_t *(*eth_dev_supported_ptypes_get_t)(struct rte_eth_dev *dev);
-/**< @internal Get supported ptypes of an Ethernet device. */
-
-/**
- * @internal
- * Inform Ethernet device about reduced range of packet types to handle.
- *
- * @param dev
- *   The Ethernet device identifier.
- * @param ptype_mask
- *   The ptype family that application is interested in should be bitwise OR of
- *   RTE_PTYPE_*_MASK or 0.
- * @return
- *   - (0) if Success.
- */
-typedef int (*eth_dev_ptypes_set_t)(struct rte_eth_dev *dev,
-				     uint32_t ptype_mask);
-
-typedef int (*eth_queue_start_t)(struct rte_eth_dev *dev,
-				    uint16_t queue_id);
-/**< @internal Start rx and tx of a queue of an Ethernet device. */
-
-typedef int (*eth_queue_stop_t)(struct rte_eth_dev *dev,
-				    uint16_t queue_id);
-/**< @internal Stop rx and tx of a queue of an Ethernet device. */
-
-typedef int (*eth_rx_queue_setup_t)(struct rte_eth_dev *dev,
-				    uint16_t rx_queue_id,
-				    uint16_t nb_rx_desc,
-				    unsigned int socket_id,
-				    const struct rte_eth_rxconf *rx_conf,
-				    struct rte_mempool *mb_pool);
-/**< @internal Set up a receive queue of an Ethernet device. */
-
-typedef int (*eth_tx_queue_setup_t)(struct rte_eth_dev *dev,
-				    uint16_t tx_queue_id,
-				    uint16_t nb_tx_desc,
-				    unsigned int socket_id,
-				    const struct rte_eth_txconf *tx_conf);
-/**< @internal Setup a transmit queue of an Ethernet device. */
-
-typedef int (*eth_rx_enable_intr_t)(struct rte_eth_dev *dev,
-				    uint16_t rx_queue_id);
-/**< @internal Enable interrupt of a receive queue of an Ethernet device. */
-
-typedef int (*eth_rx_disable_intr_t)(struct rte_eth_dev *dev,
-				    uint16_t rx_queue_id);
-/**< @internal Disable interrupt of a receive queue of an Ethernet device. */
-
-typedef void (*eth_queue_release_t)(void *queue);
-/**< @internal Release memory resources allocated by given RX/TX queue. */
-
-typedef uint32_t (*eth_rx_queue_count_t)(struct rte_eth_dev *dev,
-					 uint16_t rx_queue_id);
-/**< @internal Get number of used descriptors on a receive queue. */
-
-typedef int (*eth_rx_descriptor_status_t)(void *rxq, uint16_t offset);
-/**< @internal Check the status of a Rx descriptor */
-
-typedef int (*eth_tx_descriptor_status_t)(void *txq, uint16_t offset);
-/**< @internal Check the status of a Tx descriptor */
-
-typedef int (*eth_fw_version_get_t)(struct rte_eth_dev *dev,
-				     char *fw_version, size_t fw_size);
-/**< @internal Get firmware information of an Ethernet device. */
-
-typedef int (*eth_tx_done_cleanup_t)(void *txq, uint32_t free_cnt);
-/**< @internal Force mbufs to be from TX ring. */
-
-typedef void (*eth_rxq_info_get_t)(struct rte_eth_dev *dev,
-	uint16_t rx_queue_id, struct rte_eth_rxq_info *qinfo);
-
-typedef void (*eth_txq_info_get_t)(struct rte_eth_dev *dev,
-	uint16_t tx_queue_id, struct rte_eth_txq_info *qinfo);
-
-typedef int (*eth_burst_mode_get_t)(struct rte_eth_dev *dev,
-	uint16_t queue_id, struct rte_eth_burst_mode *mode);
-
-typedef int (*mtu_set_t)(struct rte_eth_dev *dev, uint16_t mtu);
-/**< @internal Set MTU. */
-
-typedef int (*vlan_filter_set_t)(struct rte_eth_dev *dev,
-				  uint16_t vlan_id,
-				  int on);
-/**< @internal filtering of a VLAN Tag Identifier by an Ethernet device. */
-
-typedef int (*vlan_tpid_set_t)(struct rte_eth_dev *dev,
-			       enum rte_vlan_type type, uint16_t tpid);
-/**< @internal set the outer/inner VLAN-TPID by an Ethernet device. */
-
-typedef int (*vlan_offload_set_t)(struct rte_eth_dev *dev, int mask);
-/**< @internal set VLAN offload function by an Ethernet device. */
-
-typedef int (*vlan_pvid_set_t)(struct rte_eth_dev *dev,
-			       uint16_t vlan_id,
-			       int on);
-/**< @internal set port based TX VLAN insertion by an Ethernet device. */
-
-typedef void (*vlan_strip_queue_set_t)(struct rte_eth_dev *dev,
-				  uint16_t rx_queue_id,
-				  int on);
-/**< @internal VLAN stripping enable/disable by an queue of Ethernet device. */
-
 typedef uint16_t (*eth_rx_burst_t)(void *rxq,
 				   struct rte_mbuf **rx_pkts,
 				   uint16_t nb_pkts);
@@ -349,400 +38,17 @@ typedef uint16_t (*eth_tx_prep_t)(void *txq,
 				   uint16_t nb_pkts);
 /**< @internal Prepare output packets on a transmit queue of an Ethernet device. */
 
-typedef int (*flow_ctrl_get_t)(struct rte_eth_dev *dev,
-			       struct rte_eth_fc_conf *fc_conf);
-/**< @internal Get current flow control parameter on an Ethernet device */
 
-typedef int (*flow_ctrl_set_t)(struct rte_eth_dev *dev,
-			       struct rte_eth_fc_conf *fc_conf);
-/**< @internal Setup flow control parameter on an Ethernet device */
-
-typedef int (*priority_flow_ctrl_set_t)(struct rte_eth_dev *dev,
-				struct rte_eth_pfc_conf *pfc_conf);
-/**< @internal Setup priority flow control parameter on an Ethernet device */
-
-typedef int (*reta_update_t)(struct rte_eth_dev *dev,
-			     struct rte_eth_rss_reta_entry64 *reta_conf,
-			     uint16_t reta_size);
-/**< @internal Update RSS redirection table on an Ethernet device */
-
-typedef int (*reta_query_t)(struct rte_eth_dev *dev,
-			    struct rte_eth_rss_reta_entry64 *reta_conf,
-			    uint16_t reta_size);
-/**< @internal Query RSS redirection table on an Ethernet device */
-
-typedef int (*rss_hash_update_t)(struct rte_eth_dev *dev,
-				 struct rte_eth_rss_conf *rss_conf);
-/**< @internal Update RSS hash configuration of an Ethernet device */
-
-typedef int (*rss_hash_conf_get_t)(struct rte_eth_dev *dev,
-				   struct rte_eth_rss_conf *rss_conf);
-/**< @internal Get current RSS hash configuration of an Ethernet device */
-
-typedef int (*eth_dev_led_on_t)(struct rte_eth_dev *dev);
-/**< @internal Turn on SW controllable LED on an Ethernet device */
-
-typedef int (*eth_dev_led_off_t)(struct rte_eth_dev *dev);
-/**< @internal Turn off SW controllable LED on an Ethernet device */
-
-typedef void (*eth_mac_addr_remove_t)(struct rte_eth_dev *dev, uint32_t index);
-/**< @internal Remove MAC address from receive address register */
-
-typedef int (*eth_mac_addr_add_t)(struct rte_eth_dev *dev,
-				  struct rte_ether_addr *mac_addr,
-				  uint32_t index,
-				  uint32_t vmdq);
-/**< @internal Set a MAC address into Receive Address Address Register */
-
-typedef int (*eth_mac_addr_set_t)(struct rte_eth_dev *dev,
-				  struct rte_ether_addr *mac_addr);
-/**< @internal Set a MAC address into Receive Address Address Register */
-
-typedef int (*eth_uc_hash_table_set_t)(struct rte_eth_dev *dev,
-				  struct rte_ether_addr *mac_addr,
-				  uint8_t on);
-/**< @internal Set a Unicast Hash bitmap */
-
-typedef int (*eth_uc_all_hash_table_set_t)(struct rte_eth_dev *dev,
-				  uint8_t on);
-/**< @internal Set all Unicast Hash bitmap */
-
-typedef int (*eth_set_queue_rate_limit_t)(struct rte_eth_dev *dev,
-				uint16_t queue_idx,
-				uint16_t tx_rate);
-/**< @internal Set queue TX rate */
-
-typedef int (*eth_mirror_rule_set_t)(struct rte_eth_dev *dev,
-				  struct rte_eth_mirror_conf *mirror_conf,
-				  uint8_t rule_id,
-				  uint8_t on);
-/**< @internal Add a traffic mirroring rule on an Ethernet device */
-
-typedef int (*eth_mirror_rule_reset_t)(struct rte_eth_dev *dev,
-				  uint8_t rule_id);
-/**< @internal Remove a traffic mirroring rule on an Ethernet device */
-
-typedef int (*eth_udp_tunnel_port_add_t)(struct rte_eth_dev *dev,
-					 struct rte_eth_udp_tunnel *tunnel_udp);
-/**< @internal Add tunneling UDP port */
-
-typedef int (*eth_udp_tunnel_port_del_t)(struct rte_eth_dev *dev,
-					 struct rte_eth_udp_tunnel *tunnel_udp);
-/**< @internal Delete tunneling UDP port */
-
-typedef int (*eth_set_mc_addr_list_t)(struct rte_eth_dev *dev,
-				      struct rte_ether_addr *mc_addr_set,
-				      uint32_t nb_mc_addr);
-/**< @internal set the list of multicast addresses on an Ethernet device */
-
-typedef int (*eth_timesync_enable_t)(struct rte_eth_dev *dev);
-/**< @internal Function used to enable IEEE1588/802.1AS timestamping. */
-
-typedef int (*eth_timesync_disable_t)(struct rte_eth_dev *dev);
-/**< @internal Function used to disable IEEE1588/802.1AS timestamping. */
-
-typedef int (*eth_timesync_read_rx_timestamp_t)(struct rte_eth_dev *dev,
-						struct timespec *timestamp,
-						uint32_t flags);
-/**< @internal Function used to read an RX IEEE1588/802.1AS timestamp. */
-
-typedef int (*eth_timesync_read_tx_timestamp_t)(struct rte_eth_dev *dev,
-						struct timespec *timestamp);
-/**< @internal Function used to read a TX IEEE1588/802.1AS timestamp. */
-
-typedef int (*eth_timesync_adjust_time)(struct rte_eth_dev *dev, int64_t);
-/**< @internal Function used to adjust the device clock */
-
-typedef int (*eth_timesync_read_time)(struct rte_eth_dev *dev,
-				      struct timespec *timestamp);
-/**< @internal Function used to get time from the device clock. */
-
-typedef int (*eth_timesync_write_time)(struct rte_eth_dev *dev,
-				       const struct timespec *timestamp);
-/**< @internal Function used to get time from the device clock */
-
-typedef int (*eth_read_clock)(struct rte_eth_dev *dev,
-				      uint64_t *timestamp);
-/**< @internal Function used to get the current value of the device clock. */
-
-typedef int (*eth_get_reg_t)(struct rte_eth_dev *dev,
-				struct rte_dev_reg_info *info);
-/**< @internal Retrieve registers  */
-
-typedef int (*eth_get_eeprom_length_t)(struct rte_eth_dev *dev);
-/**< @internal Retrieve eeprom size  */
-
-typedef int (*eth_get_eeprom_t)(struct rte_eth_dev *dev,
-				struct rte_dev_eeprom_info *info);
-/**< @internal Retrieve eeprom data  */
-
-typedef int (*eth_set_eeprom_t)(struct rte_eth_dev *dev,
-				struct rte_dev_eeprom_info *info);
-/**< @internal Program eeprom data  */
-
-typedef int (*eth_get_module_info_t)(struct rte_eth_dev *dev,
-				     struct rte_eth_dev_module_info *modinfo);
-/**< @internal Retrieve type and size of plugin module eeprom */
-
-typedef int (*eth_get_module_eeprom_t)(struct rte_eth_dev *dev,
-				       struct rte_dev_eeprom_info *info);
-/**< @internal Retrieve plugin module eeprom data */
-
-typedef int (*eth_l2_tunnel_eth_type_conf_t)
-	(struct rte_eth_dev *dev, struct rte_eth_l2_tunnel_conf *l2_tunnel);
-/**< @internal config l2 tunnel ether type */
-
-typedef int (*eth_l2_tunnel_offload_set_t)
-	(struct rte_eth_dev *dev,
-	 struct rte_eth_l2_tunnel_conf *l2_tunnel,
-	 uint32_t mask,
-	 uint8_t en);
-/**< @internal enable/disable the l2 tunnel offload functions */
-
-
-typedef int (*eth_filter_ctrl_t)(struct rte_eth_dev *dev,
-				 enum rte_filter_type filter_type,
-				 enum rte_filter_op filter_op,
-				 void *arg);
-/**< @internal Take operations to assigned filter type on an Ethernet device */
-
-typedef int (*eth_tm_ops_get_t)(struct rte_eth_dev *dev, void *ops);
-/**< @internal Get Traffic Management (TM) operations on an Ethernet device */
-
-typedef int (*eth_mtr_ops_get_t)(struct rte_eth_dev *dev, void *ops);
-/**< @internal Get Traffic Metering and Policing (MTR) operations */
-
-typedef int (*eth_get_dcb_info)(struct rte_eth_dev *dev,
-				 struct rte_eth_dcb_info *dcb_info);
-/**< @internal Get dcb information on an Ethernet device */
-
-typedef int (*eth_pool_ops_supported_t)(struct rte_eth_dev *dev,
-						const char *pool);
-/**< @internal Test if a port supports specific mempool ops */
-
-/**
- * @internal
- * Get the hairpin capabilities.
- *
- * @param dev
- *   ethdev handle of port.
- * @param cap
- *   returns the hairpin capabilities from the device.
- *
- * @return
- *   Negative errno value on error, 0 on success.
- *
- * @retval 0
- *   Success, hairpin is supported.
- * @retval -ENOTSUP
- *   Hairpin is not supported.
- */
-typedef int (*eth_hairpin_cap_get_t)(struct rte_eth_dev *dev,
-				     struct rte_eth_hairpin_cap *cap);
-
-/**
- * @internal
- * Setup RX hairpin queue.
- *
- * @param dev
- *   ethdev handle of port.
- * @param rx_queue_id
- *   the selected RX queue index.
- * @param nb_rx_desc
- *   the requested number of descriptors for this queue. 0 - use PMD default.
- * @param conf
- *   the RX hairpin configuration structure.
- *
- * @return
- *   Negative errno value on error, 0 on success.
- *
- * @retval 0
- *   Success, hairpin is supported.
- * @retval -ENOTSUP
- *   Hairpin is not supported.
- * @retval -EINVAL
- *   One of the parameters is invalid.
- * @retval -ENOMEM
- *   Unable to allocate resources.
- */
-typedef int (*eth_rx_hairpin_queue_setup_t)
-	(struct rte_eth_dev *dev, uint16_t rx_queue_id,
-	 uint16_t nb_rx_desc,
-	 const struct rte_eth_hairpin_conf *conf);
-
-/**
- * @internal
- * Setup TX hairpin queue.
- *
- * @param dev
- *   ethdev handle of port.
- * @param tx_queue_id
- *   the selected TX queue index.
- * @param nb_tx_desc
- *   the requested number of descriptors for this queue. 0 - use PMD default.
- * @param conf
- *   the TX hairpin configuration structure.
- *
- * @return
- *   Negative errno value on error, 0 on success.
- *
- * @retval 0
- *   Success, hairpin is supported.
- * @retval -ENOTSUP
- *   Hairpin is not supported.
- * @retval -EINVAL
- *   One of the parameters is invalid.
- * @retval -ENOMEM
- *   Unable to allocate resources.
- */
-typedef int (*eth_tx_hairpin_queue_setup_t)
-	(struct rte_eth_dev *dev, uint16_t tx_queue_id,
-	 uint16_t nb_tx_desc,
-	 const struct rte_eth_hairpin_conf *hairpin_conf);
-
-/**
- * @internal A structure containing the functions exported by an Ethernet driver.
- */
-struct eth_dev_ops {
-	eth_dev_configure_t        dev_configure; /**< Configure device. */
-	eth_dev_start_t            dev_start;     /**< Start device. */
-	eth_dev_stop_t             dev_stop;      /**< Stop device. */
-	eth_dev_set_link_up_t      dev_set_link_up;   /**< Device link up. */
-	eth_dev_set_link_down_t    dev_set_link_down; /**< Device link down. */
-	eth_dev_close_t            dev_close;     /**< Close device. */
-	eth_dev_reset_t		   dev_reset;	  /**< Reset device. */
-	eth_link_update_t          link_update;   /**< Get device link state. */
-	eth_is_removed_t           is_removed;
-	/**< Check if the device was physically removed. */
-
-	eth_promiscuous_enable_t   promiscuous_enable; /**< Promiscuous ON. */
-	eth_promiscuous_disable_t  promiscuous_disable;/**< Promiscuous OFF. */
-	eth_allmulticast_enable_t  allmulticast_enable;/**< RX multicast ON. */
-	eth_allmulticast_disable_t allmulticast_disable;/**< RX multicast OFF. */
-	eth_mac_addr_remove_t      mac_addr_remove; /**< Remove MAC address. */
-	eth_mac_addr_add_t         mac_addr_add;  /**< Add a MAC address. */
-	eth_mac_addr_set_t         mac_addr_set;  /**< Set a MAC address. */
-	eth_set_mc_addr_list_t     set_mc_addr_list; /**< set list of mcast addrs. */
-	mtu_set_t                  mtu_set;       /**< Set MTU. */
-
-	eth_stats_get_t            stats_get;     /**< Get generic device statistics. */
-	eth_stats_reset_t          stats_reset;   /**< Reset generic device statistics. */
-	eth_xstats_get_t           xstats_get;    /**< Get extended device statistics. */
-	eth_xstats_reset_t         xstats_reset;  /**< Reset extended device statistics. */
-	eth_xstats_get_names_t     xstats_get_names;
-	/**< Get names of extended statistics. */
-	eth_queue_stats_mapping_set_t queue_stats_mapping_set;
-	/**< Configure per queue stat counter mapping. */
-
-	eth_dev_infos_get_t        dev_infos_get; /**< Get device info. */
-	eth_rxq_info_get_t         rxq_info_get; /**< retrieve RX queue information. */
-	eth_txq_info_get_t         txq_info_get; /**< retrieve TX queue information. */
-	eth_burst_mode_get_t       rx_burst_mode_get; /**< Get RX burst mode */
-	eth_burst_mode_get_t       tx_burst_mode_get; /**< Get TX burst mode */
-	eth_fw_version_get_t       fw_version_get; /**< Get firmware version. */
-	eth_dev_supported_ptypes_get_t dev_supported_ptypes_get;
-	/**< Get packet types supported and identified by device. */
-	eth_dev_ptypes_set_t dev_ptypes_set;
-	/**< Inform Ethernet device about reduced range of packet types to handle. */
-
-	vlan_filter_set_t          vlan_filter_set; /**< Filter VLAN Setup. */
-	vlan_tpid_set_t            vlan_tpid_set; /**< Outer/Inner VLAN TPID Setup. */
-	vlan_strip_queue_set_t     vlan_strip_queue_set; /**< VLAN Stripping on queue. */
-	vlan_offload_set_t         vlan_offload_set; /**< Set VLAN Offload. */
-	vlan_pvid_set_t            vlan_pvid_set; /**< Set port based TX VLAN insertion. */
-
-	eth_queue_start_t          rx_queue_start;/**< Start RX for a queue. */
-	eth_queue_stop_t           rx_queue_stop; /**< Stop RX for a queue. */
-	eth_queue_start_t          tx_queue_start;/**< Start TX for a queue. */
-	eth_queue_stop_t           tx_queue_stop; /**< Stop TX for a queue. */
-	eth_rx_queue_setup_t       rx_queue_setup;/**< Set up device RX queue. */
-	eth_queue_release_t        rx_queue_release; /**< Release RX queue. */
-	/*
-	 * Static inline functions use functions ABOVE this comment.
-	 * New dev_ops functions should be added BELOW to avoid breaking ABI.
-	 */
-	eth_rx_enable_intr_t       rx_queue_intr_enable;  /**< Enable Rx queue interrupt. */
-	eth_rx_disable_intr_t      rx_queue_intr_disable; /**< Disable Rx queue interrupt. */
-	eth_tx_queue_setup_t       tx_queue_setup;/**< Set up device TX queue. */
-	eth_queue_release_t        tx_queue_release; /**< Release TX queue. */
-	eth_tx_done_cleanup_t      tx_done_cleanup;/**< Free tx ring mbufs */
-
-	eth_dev_led_on_t           dev_led_on;    /**< Turn on LED. */
-	eth_dev_led_off_t          dev_led_off;   /**< Turn off LED. */
-
-	flow_ctrl_get_t            flow_ctrl_get; /**< Get flow control. */
-	flow_ctrl_set_t            flow_ctrl_set; /**< Setup flow control. */
-	priority_flow_ctrl_set_t   priority_flow_ctrl_set; /**< Setup priority flow control. */
-
-	eth_uc_hash_table_set_t    uc_hash_table_set; /**< Set Unicast Table Array. */
-	eth_uc_all_hash_table_set_t uc_all_hash_table_set; /**< Set Unicast hash bitmap. */
-
-	eth_mirror_rule_set_t	   mirror_rule_set; /**< Add a traffic mirror rule. */
-	eth_mirror_rule_reset_t	   mirror_rule_reset; /**< reset a traffic mirror rule. */
-
-	eth_udp_tunnel_port_add_t  udp_tunnel_port_add; /** Add UDP tunnel port. */
-	eth_udp_tunnel_port_del_t  udp_tunnel_port_del; /** Del UDP tunnel port. */
-	eth_l2_tunnel_eth_type_conf_t l2_tunnel_eth_type_conf;
-	/** Config ether type of l2 tunnel. */
-	eth_l2_tunnel_offload_set_t   l2_tunnel_offload_set;
-	/** Enable/disable l2 tunnel offload functions. */
-
-	eth_set_queue_rate_limit_t set_queue_rate_limit; /**< Set queue rate limit. */
-
-	rss_hash_update_t          rss_hash_update; /** Configure RSS hash protocols. */
-	rss_hash_conf_get_t        rss_hash_conf_get; /** Get current RSS hash configuration. */
-	reta_update_t              reta_update;   /** Update redirection table. */
-	reta_query_t               reta_query;    /** Query redirection table. */
-
-	eth_get_reg_t              get_reg;           /**< Get registers. */
-	eth_get_eeprom_length_t    get_eeprom_length; /**< Get eeprom length. */
-	eth_get_eeprom_t           get_eeprom;        /**< Get eeprom data. */
-	eth_set_eeprom_t           set_eeprom;        /**< Set eeprom. */
-
-	eth_get_module_info_t      get_module_info;
-	/** Get plugin module eeprom attribute. */
-	eth_get_module_eeprom_t    get_module_eeprom;
-	/** Get plugin module eeprom data. */
-
-	eth_filter_ctrl_t          filter_ctrl; /**< common filter control. */
-
-	eth_get_dcb_info           get_dcb_info; /** Get DCB information. */
-
-	eth_timesync_enable_t      timesync_enable;
-	/** Turn IEEE1588/802.1AS timestamping on. */
-	eth_timesync_disable_t     timesync_disable;
-	/** Turn IEEE1588/802.1AS timestamping off. */
-	eth_timesync_read_rx_timestamp_t timesync_read_rx_timestamp;
-	/** Read the IEEE1588/802.1AS RX timestamp. */
-	eth_timesync_read_tx_timestamp_t timesync_read_tx_timestamp;
-	/** Read the IEEE1588/802.1AS TX timestamp. */
-	eth_timesync_adjust_time   timesync_adjust_time; /** Adjust the device clock. */
-	eth_timesync_read_time     timesync_read_time; /** Get the device clock time. */
-	eth_timesync_write_time    timesync_write_time; /** Set the device clock time. */
-
-	eth_read_clock             read_clock;
-
-	eth_xstats_get_by_id_t     xstats_get_by_id;
-	/**< Get extended device statistic values by ID. */
-	eth_xstats_get_names_by_id_t xstats_get_names_by_id;
-	/**< Get name of extended device statistics by ID. */
-
-	eth_tm_ops_get_t tm_ops_get;
-	/**< Get Traffic Management (TM) operations. */
+typedef uint32_t (*eth_rx_queue_count_t)(struct rte_eth_dev *dev,
+					 uint16_t rx_queue_id);
+/**< @internal Get number of used descriptors on a receive queue. */
 
-	eth_mtr_ops_get_t mtr_ops_get;
-	/**< Get Traffic Metering and Policing (MTR) operations. */
+typedef int (*eth_rx_descriptor_status_t)(void *rxq, uint16_t offset);
+/**< @internal Check the status of a Rx descriptor */
 
-	eth_pool_ops_supported_t pool_ops_supported;
-	/**< Test if a port supports specific mempool ops */
+typedef int (*eth_tx_descriptor_status_t)(void *txq, uint16_t offset);
+/**< @internal Check the status of a Tx descriptor */
 
-	eth_hairpin_cap_get_t hairpin_cap_get;
-	/**< Returns the hairpin capabilities. */
-	eth_rx_hairpin_queue_setup_t rx_hairpin_queue_setup;
-	/**< Set up device RX hairpin queue. */
-	eth_tx_hairpin_queue_setup_t tx_hairpin_queue_setup;
-	/**< Set up device TX hairpin queue. */
-};
 
 /**
  * @internal
diff --git a/lib/librte_ethdev/rte_ethdev_driver.h b/lib/librte_ethdev/rte_ethdev_driver.h
index 13fd049c0d..b006cbbe92 100644
--- a/lib/librte_ethdev/rte_ethdev_driver.h
+++ b/lib/librte_ethdev/rte_ethdev_driver.h
@@ -21,6 +21,700 @@
 extern "C" {
 #endif
 
+/*
+ * Definitions of all functions exported by an Ethernet driver through the
+ * generic structure of type *eth_dev_ops* supplied in the *rte_eth_dev*
+ * structure associated with an Ethernet device.
+ */
+
+typedef int  (*eth_dev_configure_t)(struct rte_eth_dev *dev);
+/**< @internal Ethernet device configuration. */
+
+typedef int  (*eth_dev_start_t)(struct rte_eth_dev *dev);
+/**< @internal Function used to start a configured Ethernet device. */
+
+typedef void (*eth_dev_stop_t)(struct rte_eth_dev *dev);
+/**< @internal Function used to stop a configured Ethernet device. */
+
+typedef int  (*eth_dev_set_link_up_t)(struct rte_eth_dev *dev);
+/**< @internal Function used to link up a configured Ethernet device. */
+
+typedef int  (*eth_dev_set_link_down_t)(struct rte_eth_dev *dev);
+/**< @internal Function used to link down a configured Ethernet device. */
+
+typedef void (*eth_dev_close_t)(struct rte_eth_dev *dev);
+/**< @internal Function used to close a configured Ethernet device. */
+
+typedef int (*eth_dev_reset_t)(struct rte_eth_dev *dev);
+/** <@internal Function used to reset a configured Ethernet device. */
+
+typedef int (*eth_is_removed_t)(struct rte_eth_dev *dev);
+/**< @internal Function used to detect an Ethernet device removal. */
+
+/**
+ * @internal
+ * Function used to enable the Rx promiscuous mode of an Ethernet device.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, promiscuous mode is enabled.
+ * @retval -ENOTSUP
+ *   Promiscuous mode is not supported.
+ * @retval -ENODEV
+ *   Device is gone.
+ * @retval -E_RTE_SECONDARY
+ *   Function was called from a secondary process instance and not supported.
+ * @retval -ETIMEDOUT
+ *   Attempt to enable promiscuos mode failed because of timeout.
+ * @retval -EAGAIN
+ *   Failed to enable promiscuous mode.
+ */
+typedef int (*eth_promiscuous_enable_t)(struct rte_eth_dev *dev);
+
+/**
+ * @internal
+ * Function used to disable the Rx promiscuous mode of an Ethernet device.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, promiscuous mode is disabled.
+ * @retval -ENOTSUP
+ *   Promiscuous mode disabling is not supported.
+ * @retval -ENODEV
+ *   Device is gone.
+ * @retval -E_RTE_SECONDARY
+ *   Function was called from a secondary process instance and not supported.
+ * @retval -ETIMEDOUT
+ *   Attempt to disable promiscuos mode failed because of timeout.
+ * @retval -EAGAIN
+ *   Failed to disable promiscuous mode.
+ */
+typedef int (*eth_promiscuous_disable_t)(struct rte_eth_dev *dev);
+
+/**
+ * @internal
+ * Enable the receipt of all multicast packets by an Ethernet device.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, all-multicast mode is enabled.
+ * @retval -ENOTSUP
+ *   All-multicast mode is not supported.
+ * @retval -ENODEV
+ *   Device is gone.
+ * @retval -E_RTE_SECONDARY
+ *   Function was called from a secondary process instance and not supported.
+ * @retval -ETIMEDOUT
+ *   Attempt to enable all-multicast mode failed because of timeout.
+ * @retval -EAGAIN
+ *   Failed to enable all-multicast mode.
+ */
+typedef int (*eth_allmulticast_enable_t)(struct rte_eth_dev *dev);
+
+/**
+ * @internal
+ * Disable the receipt of all multicast packets by an Ethernet device.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, all-multicast mode is disabled.
+ * @retval -ENOTSUP
+ *   All-multicast mode disabling is not supported.
+ * @retval -ENODEV
+ *   Device is gone.
+ * @retval -E_RTE_SECONDARY
+ *   Function was called from a secondary process instance and not supported.
+ * @retval -ETIMEDOUT
+ *   Attempt to disable all-multicast mode failed because of timeout.
+ * @retval -EAGAIN
+ *   Failed to disable all-multicast mode.
+ */
+typedef int (*eth_allmulticast_disable_t)(struct rte_eth_dev *dev);
+
+typedef int (*eth_link_update_t)(struct rte_eth_dev *dev,
+				int wait_to_complete);
+/**< @internal Get link speed, duplex mode and state (up/down) of an Ethernet device. */
+
+typedef int (*eth_stats_get_t)(struct rte_eth_dev *dev,
+				struct rte_eth_stats *igb_stats);
+/**< @internal Get global I/O statistics of an Ethernet device. */
+
+/**
+ * @internal
+ * Reset global I/O statistics of an Ethernet device to 0.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, statistics has been reset.
+ * @retval -ENOTSUP
+ *   Resetting statistics is not supported.
+ * @retval -EINVAL
+ *   Resetting statistics is not valid.
+ * @retval -ENOMEM
+ *   Not enough memory to get the stats.
+ */
+typedef int (*eth_stats_reset_t)(struct rte_eth_dev *dev);
+
+typedef int (*eth_xstats_get_t)(struct rte_eth_dev *dev,
+	struct rte_eth_xstat *stats, unsigned int n);
+/**< @internal Get extended stats of an Ethernet device. */
+
+typedef int (*eth_xstats_get_by_id_t)(struct rte_eth_dev *dev,
+				      const uint64_t *ids,
+				      uint64_t *values,
+				      unsigned int n);
+/**< @internal Get extended stats of an Ethernet device. */
+
+/**
+ * @internal
+ * Reset extended stats of an Ethernet device.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, statistics has been reset.
+ * @retval -ENOTSUP
+ *   Resetting statistics is not supported.
+ * @retval -EINVAL
+ *   Resetting statistics is not valid.
+ * @retval -ENOMEM
+ *   Not enough memory to get the stats.
+ */
+typedef int (*eth_xstats_reset_t)(struct rte_eth_dev *dev);
+
+typedef int (*eth_xstats_get_names_t)(struct rte_eth_dev *dev,
+	struct rte_eth_xstat_name *xstats_names, unsigned int size);
+/**< @internal Get names of extended stats of an Ethernet device. */
+
+typedef int (*eth_xstats_get_names_by_id_t)(struct rte_eth_dev *dev,
+	struct rte_eth_xstat_name *xstats_names, const uint64_t *ids,
+	unsigned int size);
+/**< @internal Get names of extended stats of an Ethernet device. */
+
+typedef int (*eth_queue_stats_mapping_set_t)(struct rte_eth_dev *dev,
+					     uint16_t queue_id,
+					     uint8_t stat_idx,
+					     uint8_t is_rx);
+/**< @internal Set a queue statistics mapping for a tx/rx queue of an Ethernet device. */
+
+typedef int (*eth_dev_infos_get_t)(struct rte_eth_dev *dev,
+				   struct rte_eth_dev_info *dev_info);
+/**< @internal Get specific information of an Ethernet device. */
+
+typedef const uint32_t *(*eth_dev_supported_ptypes_get_t)(struct rte_eth_dev *dev);
+/**< @internal Get supported ptypes of an Ethernet device. */
+
+/**
+ * @internal
+ * Inform Ethernet device about reduced range of packet types to handle.
+ *
+ * @param dev
+ *   The Ethernet device identifier.
+ * @param ptype_mask
+ *   The ptype family that application is interested in should be bitwise OR of
+ *   RTE_PTYPE_*_MASK or 0.
+ * @return
+ *   - (0) if Success.
+ */
+typedef int (*eth_dev_ptypes_set_t)(struct rte_eth_dev *dev,
+				     uint32_t ptype_mask);
+
+typedef int (*eth_queue_start_t)(struct rte_eth_dev *dev,
+				    uint16_t queue_id);
+/**< @internal Start rx and tx of a queue of an Ethernet device. */
+
+typedef int (*eth_queue_stop_t)(struct rte_eth_dev *dev,
+				    uint16_t queue_id);
+/**< @internal Stop rx and tx of a queue of an Ethernet device. */
+
+typedef int (*eth_rx_queue_setup_t)(struct rte_eth_dev *dev,
+				    uint16_t rx_queue_id,
+				    uint16_t nb_rx_desc,
+				    unsigned int socket_id,
+				    const struct rte_eth_rxconf *rx_conf,
+				    struct rte_mempool *mb_pool);
+/**< @internal Set up a receive queue of an Ethernet device. */
+
+typedef int (*eth_tx_queue_setup_t)(struct rte_eth_dev *dev,
+				    uint16_t tx_queue_id,
+				    uint16_t nb_tx_desc,
+				    unsigned int socket_id,
+				    const struct rte_eth_txconf *tx_conf);
+/**< @internal Setup a transmit queue of an Ethernet device. */
+
+typedef int (*eth_rx_enable_intr_t)(struct rte_eth_dev *dev,
+				    uint16_t rx_queue_id);
+/**< @internal Enable interrupt of a receive queue of an Ethernet device. */
+
+typedef int (*eth_rx_disable_intr_t)(struct rte_eth_dev *dev,
+				    uint16_t rx_queue_id);
+/**< @internal Disable interrupt of a receive queue of an Ethernet device. */
+
+typedef void (*eth_queue_release_t)(void *queue);
+/**< @internal Release memory resources allocated by given RX/TX queue. */
+
+typedef int (*eth_fw_version_get_t)(struct rte_eth_dev *dev,
+				     char *fw_version, size_t fw_size);
+/**< @internal Get firmware information of an Ethernet device. */
+
+typedef int (*eth_tx_done_cleanup_t)(void *txq, uint32_t free_cnt);
+/**< @internal Force mbufs to be from TX ring. */
+
+typedef void (*eth_rxq_info_get_t)(struct rte_eth_dev *dev,
+	uint16_t rx_queue_id, struct rte_eth_rxq_info *qinfo);
+
+typedef void (*eth_txq_info_get_t)(struct rte_eth_dev *dev,
+	uint16_t tx_queue_id, struct rte_eth_txq_info *qinfo);
+
+typedef int (*eth_burst_mode_get_t)(struct rte_eth_dev *dev,
+	uint16_t queue_id, struct rte_eth_burst_mode *mode);
+
+typedef int (*mtu_set_t)(struct rte_eth_dev *dev, uint16_t mtu);
+/**< @internal Set MTU. */
+
+typedef int (*vlan_filter_set_t)(struct rte_eth_dev *dev,
+				  uint16_t vlan_id,
+				  int on);
+/**< @internal filtering of a VLAN Tag Identifier by an Ethernet device. */
+
+typedef int (*vlan_tpid_set_t)(struct rte_eth_dev *dev,
+			       enum rte_vlan_type type, uint16_t tpid);
+/**< @internal set the outer/inner VLAN-TPID by an Ethernet device. */
+
+typedef int (*vlan_offload_set_t)(struct rte_eth_dev *dev, int mask);
+/**< @internal set VLAN offload function by an Ethernet device. */
+
+typedef int (*vlan_pvid_set_t)(struct rte_eth_dev *dev,
+			       uint16_t vlan_id,
+			       int on);
+/**< @internal set port based TX VLAN insertion by an Ethernet device. */
+
+typedef void (*vlan_strip_queue_set_t)(struct rte_eth_dev *dev,
+				  uint16_t rx_queue_id,
+				  int on);
+/**< @internal VLAN stripping enable/disable by an queue of Ethernet device. */
+
+typedef int (*flow_ctrl_get_t)(struct rte_eth_dev *dev,
+			       struct rte_eth_fc_conf *fc_conf);
+/**< @internal Get current flow control parameter on an Ethernet device */
+
+typedef int (*flow_ctrl_set_t)(struct rte_eth_dev *dev,
+			       struct rte_eth_fc_conf *fc_conf);
+/**< @internal Setup flow control parameter on an Ethernet device */
+
+typedef int (*priority_flow_ctrl_set_t)(struct rte_eth_dev *dev,
+				struct rte_eth_pfc_conf *pfc_conf);
+/**< @internal Setup priority flow control parameter on an Ethernet device */
+
+typedef int (*reta_update_t)(struct rte_eth_dev *dev,
+			     struct rte_eth_rss_reta_entry64 *reta_conf,
+			     uint16_t reta_size);
+/**< @internal Update RSS redirection table on an Ethernet device */
+
+typedef int (*reta_query_t)(struct rte_eth_dev *dev,
+			    struct rte_eth_rss_reta_entry64 *reta_conf,
+			    uint16_t reta_size);
+/**< @internal Query RSS redirection table on an Ethernet device */
+
+typedef int (*rss_hash_update_t)(struct rte_eth_dev *dev,
+				 struct rte_eth_rss_conf *rss_conf);
+/**< @internal Update RSS hash configuration of an Ethernet device */
+
+typedef int (*rss_hash_conf_get_t)(struct rte_eth_dev *dev,
+				   struct rte_eth_rss_conf *rss_conf);
+/**< @internal Get current RSS hash configuration of an Ethernet device */
+
+typedef int (*eth_dev_led_on_t)(struct rte_eth_dev *dev);
+/**< @internal Turn on SW controllable LED on an Ethernet device */
+
+typedef int (*eth_dev_led_off_t)(struct rte_eth_dev *dev);
+/**< @internal Turn off SW controllable LED on an Ethernet device */
+
+typedef void (*eth_mac_addr_remove_t)(struct rte_eth_dev *dev, uint32_t index);
+/**< @internal Remove MAC address from receive address register */
+
+typedef int (*eth_mac_addr_add_t)(struct rte_eth_dev *dev,
+				  struct rte_ether_addr *mac_addr,
+				  uint32_t index,
+				  uint32_t vmdq);
+/**< @internal Set a MAC address into Receive Address Register */
+
+typedef int (*eth_mac_addr_set_t)(struct rte_eth_dev *dev,
+				  struct rte_ether_addr *mac_addr);
+/**< @internal Set a MAC address into Receive Address Register */
+
+typedef int (*eth_uc_hash_table_set_t)(struct rte_eth_dev *dev,
+				  struct rte_ether_addr *mac_addr,
+				  uint8_t on);
+/**< @internal Set a Unicast Hash bitmap */
+
+typedef int (*eth_uc_all_hash_table_set_t)(struct rte_eth_dev *dev,
+				  uint8_t on);
+/**< @internal Set all Unicast Hash bitmap */
+
+typedef int (*eth_set_queue_rate_limit_t)(struct rte_eth_dev *dev,
+				uint16_t queue_idx,
+				uint16_t tx_rate);
+/**< @internal Set queue TX rate */
+
+typedef int (*eth_mirror_rule_set_t)(struct rte_eth_dev *dev,
+				  struct rte_eth_mirror_conf *mirror_conf,
+				  uint8_t rule_id,
+				  uint8_t on);
+/**< @internal Add a traffic mirroring rule on an Ethernet device */
+
+typedef int (*eth_mirror_rule_reset_t)(struct rte_eth_dev *dev,
+				  uint8_t rule_id);
+/**< @internal Remove a traffic mirroring rule on an Ethernet device */
+
+typedef int (*eth_udp_tunnel_port_add_t)(struct rte_eth_dev *dev,
+					 struct rte_eth_udp_tunnel *tunnel_udp);
+/**< @internal Add tunneling UDP port */
+
+typedef int (*eth_udp_tunnel_port_del_t)(struct rte_eth_dev *dev,
+					 struct rte_eth_udp_tunnel *tunnel_udp);
+/**< @internal Delete tunneling UDP port */
+
+typedef int (*eth_set_mc_addr_list_t)(struct rte_eth_dev *dev,
+				      struct rte_ether_addr *mc_addr_set,
+				      uint32_t nb_mc_addr);
+/**< @internal set the list of multicast addresses on an Ethernet device */
+
+typedef int (*eth_timesync_enable_t)(struct rte_eth_dev *dev);
+/**< @internal Function used to enable IEEE1588/802.1AS timestamping. */
+
+typedef int (*eth_timesync_disable_t)(struct rte_eth_dev *dev);
+/**< @internal Function used to disable IEEE1588/802.1AS timestamping. */
+
+typedef int (*eth_timesync_read_rx_timestamp_t)(struct rte_eth_dev *dev,
+						struct timespec *timestamp,
+						uint32_t flags);
+/**< @internal Function used to read an RX IEEE1588/802.1AS timestamp. */
+
+typedef int (*eth_timesync_read_tx_timestamp_t)(struct rte_eth_dev *dev,
+						struct timespec *timestamp);
+/**< @internal Function used to read a TX IEEE1588/802.1AS timestamp. */
+
+typedef int (*eth_timesync_adjust_time)(struct rte_eth_dev *dev, int64_t);
+/**< @internal Function used to adjust the device clock */
+
+typedef int (*eth_timesync_read_time)(struct rte_eth_dev *dev,
+				      struct timespec *timestamp);
+/**< @internal Function used to get time from the device clock. */
+
+typedef int (*eth_timesync_write_time)(struct rte_eth_dev *dev,
+				       const struct timespec *timestamp);
+/**< @internal Function used to get time from the device clock */
+
+typedef int (*eth_read_clock)(struct rte_eth_dev *dev,
+				      uint64_t *timestamp);
+/**< @internal Function used to get the current value of the device clock. */
+
+typedef int (*eth_get_reg_t)(struct rte_eth_dev *dev,
+				struct rte_dev_reg_info *info);
+/**< @internal Retrieve registers  */
+
+typedef int (*eth_get_eeprom_length_t)(struct rte_eth_dev *dev);
+/**< @internal Retrieve eeprom size  */
+
+typedef int (*eth_get_eeprom_t)(struct rte_eth_dev *dev,
+				struct rte_dev_eeprom_info *info);
+/**< @internal Retrieve eeprom data  */
+
+typedef int (*eth_set_eeprom_t)(struct rte_eth_dev *dev,
+				struct rte_dev_eeprom_info *info);
+/**< @internal Program eeprom data  */
+
+typedef int (*eth_get_module_info_t)(struct rte_eth_dev *dev,
+				     struct rte_eth_dev_module_info *modinfo);
+/**< @internal Retrieve type and size of plugin module eeprom */
+
+typedef int (*eth_get_module_eeprom_t)(struct rte_eth_dev *dev,
+				       struct rte_dev_eeprom_info *info);
+/**< @internal Retrieve plugin module eeprom data */
+
+typedef int (*eth_l2_tunnel_eth_type_conf_t)
+	(struct rte_eth_dev *dev, struct rte_eth_l2_tunnel_conf *l2_tunnel);
+/**< @internal config l2 tunnel ether type */
+
+typedef int (*eth_l2_tunnel_offload_set_t)
+	(struct rte_eth_dev *dev,
+	 struct rte_eth_l2_tunnel_conf *l2_tunnel,
+	 uint32_t mask,
+	 uint8_t en);
+/**< @internal enable/disable the l2 tunnel offload functions */
+
+
+typedef int (*eth_filter_ctrl_t)(struct rte_eth_dev *dev,
+				 enum rte_filter_type filter_type,
+				 enum rte_filter_op filter_op,
+				 void *arg);
+/**< @internal Take operations to assigned filter type on an Ethernet device */
+
+typedef int (*eth_tm_ops_get_t)(struct rte_eth_dev *dev, void *ops);
+/**< @internal Get Traffic Management (TM) operations on an Ethernet device */
+
+typedef int (*eth_mtr_ops_get_t)(struct rte_eth_dev *dev, void *ops);
+/**< @internal Get Traffic Metering and Policing (MTR) operations */
+
+typedef int (*eth_get_dcb_info)(struct rte_eth_dev *dev,
+				 struct rte_eth_dcb_info *dcb_info);
+/**< @internal Get dcb information on an Ethernet device */
+
+typedef int (*eth_pool_ops_supported_t)(struct rte_eth_dev *dev,
+						const char *pool);
+/**< @internal Test if a port supports specific mempool ops */
+
+/**
+ * @internal
+ * Get the hairpin capabilities.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ * @param cap
+ *   returns the hairpin capabilities from the device.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, hairpin is supported.
+ * @retval -ENOTSUP
+ *   Hairpin is not supported.
+ */
+typedef int (*eth_hairpin_cap_get_t)(struct rte_eth_dev *dev,
+				     struct rte_eth_hairpin_cap *cap);
+
+/**
+ * @internal
+ * Setup RX hairpin queue.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ * @param rx_queue_id
+ *   the selected RX queue index.
+ * @param nb_rx_desc
+ *   the requested number of descriptors for this queue. 0 - use PMD default.
+ * @param conf
+ *   the RX hairpin configuration structure.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, hairpin is supported.
+ * @retval -ENOTSUP
+ *   Hairpin is not supported.
+ * @retval -EINVAL
+ *   One of the parameters is invalid.
+ * @retval -ENOMEM
+ *   Unable to allocate resources.
+ */
+typedef int (*eth_rx_hairpin_queue_setup_t)
+	(struct rte_eth_dev *dev, uint16_t rx_queue_id,
+	 uint16_t nb_rx_desc,
+	 const struct rte_eth_hairpin_conf *conf);
+
+/**
+ * @internal
+ * Setup TX hairpin queue.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ * @param tx_queue_id
+ *   the selected TX queue index.
+ * @param nb_tx_desc
+ *   the requested number of descriptors for this queue. 0 - use PMD default.
+ * @param conf
+ *   the TX hairpin configuration structure.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, hairpin is supported.
+ * @retval -ENOTSUP
+ *   Hairpin is not supported.
+ * @retval -EINVAL
+ *   One of the parameters is invalid.
+ * @retval -ENOMEM
+ *   Unable to allocate resources.
+ */
+typedef int (*eth_tx_hairpin_queue_setup_t)
+	(struct rte_eth_dev *dev, uint16_t tx_queue_id,
+	 uint16_t nb_tx_desc,
+	 const struct rte_eth_hairpin_conf *hairpin_conf);
+
+/**
+ * @internal A structure containing the functions exported by an Ethernet driver.
+ */
+struct eth_dev_ops {
+	eth_dev_configure_t        dev_configure; /**< Configure device. */
+	eth_dev_start_t            dev_start;     /**< Start device. */
+	eth_dev_stop_t             dev_stop;      /**< Stop device. */
+	eth_dev_set_link_up_t      dev_set_link_up;   /**< Device link up. */
+	eth_dev_set_link_down_t    dev_set_link_down; /**< Device link down. */
+	eth_dev_close_t            dev_close;     /**< Close device. */
+	eth_dev_reset_t		   dev_reset;	  /**< Reset device. */
+	eth_link_update_t          link_update;   /**< Get device link state. */
+	eth_is_removed_t           is_removed;
+	/**< Check if the device was physically removed. */
+
+	eth_promiscuous_enable_t   promiscuous_enable; /**< Promiscuous ON. */
+	eth_promiscuous_disable_t  promiscuous_disable;/**< Promiscuous OFF. */
+	eth_allmulticast_enable_t  allmulticast_enable;/**< RX multicast ON. */
+	eth_allmulticast_disable_t allmulticast_disable;/**< RX multicast OFF. */
+	eth_mac_addr_remove_t      mac_addr_remove; /**< Remove MAC address. */
+	eth_mac_addr_add_t         mac_addr_add;  /**< Add a MAC address. */
+	eth_mac_addr_set_t         mac_addr_set;  /**< Set a MAC address. */
+	eth_set_mc_addr_list_t     set_mc_addr_list; /**< set list of mcast addrs. */
+	mtu_set_t                  mtu_set;       /**< Set MTU. */
+
+	eth_stats_get_t            stats_get;     /**< Get generic device statistics. */
+	eth_stats_reset_t          stats_reset;   /**< Reset generic device statistics. */
+	eth_xstats_get_t           xstats_get;    /**< Get extended device statistics. */
+	eth_xstats_reset_t         xstats_reset;  /**< Reset extended device statistics. */
+	eth_xstats_get_names_t     xstats_get_names;
+	/**< Get names of extended statistics. */
+	eth_queue_stats_mapping_set_t queue_stats_mapping_set;
+	/**< Configure per queue stat counter mapping. */
+
+	eth_dev_infos_get_t        dev_infos_get; /**< Get device info. */
+	eth_rxq_info_get_t         rxq_info_get; /**< retrieve RX queue information. */
+	eth_txq_info_get_t         txq_info_get; /**< retrieve TX queue information. */
+	eth_burst_mode_get_t       rx_burst_mode_get; /**< Get RX burst mode */
+	eth_burst_mode_get_t       tx_burst_mode_get; /**< Get TX burst mode */
+	eth_fw_version_get_t       fw_version_get; /**< Get firmware version. */
+	eth_dev_supported_ptypes_get_t dev_supported_ptypes_get;
+	/**< Get packet types supported and identified by device. */
+	eth_dev_ptypes_set_t dev_ptypes_set;
+	/**< Inform Ethernet device about reduced range of packet types to handle. */
+
+	vlan_filter_set_t          vlan_filter_set; /**< Filter VLAN Setup. */
+	vlan_tpid_set_t            vlan_tpid_set; /**< Outer/Inner VLAN TPID Setup. */
+	vlan_strip_queue_set_t     vlan_strip_queue_set; /**< VLAN Stripping on queue. */
+	vlan_offload_set_t         vlan_offload_set; /**< Set VLAN Offload. */
+	vlan_pvid_set_t            vlan_pvid_set; /**< Set port based TX VLAN insertion. */
+
+	eth_queue_start_t          rx_queue_start;/**< Start RX for a queue. */
+	eth_queue_stop_t           rx_queue_stop; /**< Stop RX for a queue. */
+	eth_queue_start_t          tx_queue_start;/**< Start TX for a queue. */
+	eth_queue_stop_t           tx_queue_stop; /**< Stop TX for a queue. */
+	eth_rx_queue_setup_t       rx_queue_setup;/**< Set up device RX queue. */
+	eth_queue_release_t        rx_queue_release; /**< Release RX queue. */
+
+	eth_rx_enable_intr_t       rx_queue_intr_enable;  /**< Enable Rx queue interrupt. */
+	eth_rx_disable_intr_t      rx_queue_intr_disable; /**< Disable Rx queue interrupt. */
+	eth_tx_queue_setup_t       tx_queue_setup;/**< Set up device TX queue. */
+	eth_queue_release_t        tx_queue_release; /**< Release TX queue. */
+	eth_tx_done_cleanup_t      tx_done_cleanup;/**< Free tx ring mbufs */
+
+	eth_dev_led_on_t           dev_led_on;    /**< Turn on LED. */
+	eth_dev_led_off_t          dev_led_off;   /**< Turn off LED. */
+
+	flow_ctrl_get_t            flow_ctrl_get; /**< Get flow control. */
+	flow_ctrl_set_t            flow_ctrl_set; /**< Setup flow control. */
+	priority_flow_ctrl_set_t   priority_flow_ctrl_set; /**< Setup priority flow control. */
+
+	eth_uc_hash_table_set_t    uc_hash_table_set; /**< Set Unicast Table Array. */
+	eth_uc_all_hash_table_set_t uc_all_hash_table_set; /**< Set Unicast hash bitmap. */
+
+	eth_mirror_rule_set_t	   mirror_rule_set; /**< Add a traffic mirror rule. */
+	eth_mirror_rule_reset_t	   mirror_rule_reset; /**< reset a traffic mirror rule. */
+
+	eth_udp_tunnel_port_add_t  udp_tunnel_port_add; /** Add UDP tunnel port. */
+	eth_udp_tunnel_port_del_t  udp_tunnel_port_del; /** Del UDP tunnel port. */
+	eth_l2_tunnel_eth_type_conf_t l2_tunnel_eth_type_conf;
+	/** Config ether type of l2 tunnel. */
+	eth_l2_tunnel_offload_set_t   l2_tunnel_offload_set;
+	/** Enable/disable l2 tunnel offload functions. */
+
+	eth_set_queue_rate_limit_t set_queue_rate_limit; /**< Set queue rate limit. */
+
+	rss_hash_update_t          rss_hash_update; /** Configure RSS hash protocols. */
+	rss_hash_conf_get_t        rss_hash_conf_get; /** Get current RSS hash configuration. */
+	reta_update_t              reta_update;   /** Update redirection table. */
+	reta_query_t               reta_query;    /** Query redirection table. */
+
+	eth_get_reg_t              get_reg;           /**< Get registers. */
+	eth_get_eeprom_length_t    get_eeprom_length; /**< Get eeprom length. */
+	eth_get_eeprom_t           get_eeprom;        /**< Get eeprom data. */
+	eth_set_eeprom_t           set_eeprom;        /**< Set eeprom. */
+
+	eth_get_module_info_t      get_module_info;
+	/** Get plugin module eeprom attribute. */
+	eth_get_module_eeprom_t    get_module_eeprom;
+	/** Get plugin module eeprom data. */
+
+	eth_filter_ctrl_t          filter_ctrl; /**< common filter control. */
+
+	eth_get_dcb_info           get_dcb_info; /** Get DCB information. */
+
+	eth_timesync_enable_t      timesync_enable;
+	/** Turn IEEE1588/802.1AS timestamping on. */
+	eth_timesync_disable_t     timesync_disable;
+	/** Turn IEEE1588/802.1AS timestamping off. */
+	eth_timesync_read_rx_timestamp_t timesync_read_rx_timestamp;
+	/** Read the IEEE1588/802.1AS RX timestamp. */
+	eth_timesync_read_tx_timestamp_t timesync_read_tx_timestamp;
+	/** Read the IEEE1588/802.1AS TX timestamp. */
+	eth_timesync_adjust_time   timesync_adjust_time; /** Adjust the device clock. */
+	eth_timesync_read_time     timesync_read_time; /** Get the device clock time. */
+	eth_timesync_write_time    timesync_write_time; /** Set the device clock time. */
+
+	eth_read_clock             read_clock;
+
+	eth_xstats_get_by_id_t     xstats_get_by_id;
+	/**< Get extended device statistic values by ID. */
+	eth_xstats_get_names_by_id_t xstats_get_names_by_id;
+	/**< Get name of extended device statistics by ID. */
+
+	eth_tm_ops_get_t tm_ops_get;
+	/**< Get Traffic Management (TM) operations. */
+
+	eth_mtr_ops_get_t mtr_ops_get;
+	/**< Get Traffic Metering and Policing (MTR) operations. */
+
+	eth_pool_ops_supported_t pool_ops_supported;
+	/**< Test if a port supports specific mempool ops */
+
+	eth_hairpin_cap_get_t hairpin_cap_get;
+	/**< Returns the hairpin capabilities. */
+	eth_rx_hairpin_queue_setup_t rx_hairpin_queue_setup;
+	/**< Set up device RX hairpin queue. */
+	eth_tx_hairpin_queue_setup_t tx_hairpin_queue_setup;
+	/**< Set up device TX hairpin queue. */
+};
+
 /**
  * RX/TX queue states
  */
diff --git a/lib/librte_ethdev/rte_flow_driver.h b/lib/librte_ethdev/rte_flow_driver.h
index 881cc469b7..997598db11 100644
--- a/lib/librte_ethdev/rte_flow_driver.h
+++ b/lib/librte_ethdev/rte_flow_driver.h
@@ -18,6 +18,7 @@
 #include <stdint.h>
 
 #include "rte_ethdev.h"
+#include "rte_ethdev_driver.h"
 #include "rte_flow.h"
 
 #ifdef __cplusplus
diff --git a/lib/librte_ethdev/rte_mtr_driver.h b/lib/librte_ethdev/rte_mtr_driver.h
index 3ec7ffa2a5..3b39532935 100644
--- a/lib/librte_ethdev/rte_mtr_driver.h
+++ b/lib/librte_ethdev/rte_mtr_driver.h
@@ -18,6 +18,7 @@
 
 #include <rte_errno.h>
 #include "rte_ethdev.h"
+#include "rte_ethdev_driver.h"
 #include "rte_mtr.h"
 
 #ifdef __cplusplus
diff --git a/lib/librte_ethdev/rte_tm_driver.h b/lib/librte_ethdev/rte_tm_driver.h
index 90114ff53e..b86ed89c00 100644
--- a/lib/librte_ethdev/rte_tm_driver.h
+++ b/lib/librte_ethdev/rte_tm_driver.h
@@ -18,6 +18,7 @@
 
 #include <rte_errno.h>
 #include "rte_ethdev.h"
+#include "rte_ethdev_driver.h"
 #include "rte_tm.h"
 
 #ifdef __cplusplus
-- 
2.25.4


^ permalink raw reply	[relevance 1%]

* [dpdk-dev] [PATCH v2 2/7] ethdev: move inline device operations
  2020-09-03 21:09  1% ` [dpdk-dev] [PATCH v2 " Ferruh Yigit
@ 2020-09-03 21:09  4%   ` Ferruh Yigit
  2020-09-03 21:09  1%   ` [dpdk-dev] [PATCH v2 3/7] ethdev: make device operations struct private Ferruh Yigit
  2020-09-03 21:09  8%   ` [dpdk-dev] [PATCH v2 4/7] ethdev: mark internal functions Ferruh Yigit
  2 siblings, 0 replies; 200+ results
From: Ferruh Yigit @ 2020-09-03 21:09 UTC (permalink / raw)
  To: dev, John McNamara, Marko Kovacevic, Shepard Siegel, Ed Czeck,
	John Miller, Igor Russkikh, Pavel Belous, Somalapuram Amaranath,
	Ajit Khaparde, Somnath Kotur, Hemant Agrawal, Sachin Saxena,
	Wei Zhao, Jeff Guo, John Daley, Hyong Youb Kim, Qi Zhang,
	Xiao Wang, Beilei Xing, Jingjing Wu, Qiming Yang, Matan Azrad,
	Shahaf Shuler, Viacheslav Ovsiienko, Stephen Hemminger,
	K. Y. Srinivasan, Haiyang Zhang, Long Li, Heinrich Kuhn,
	Jerin Jacob, Nithin Dabilpuram, Kiran Kumar K, Rasesh Mody,
	Shahed Shaikh, Andrew Rybchenko, Maciej Czekaj, Maxime Coquelin,
	Chenbo Xia, Zhihong Wang, Thomas Monjalon
  Cc: Ferruh Yigit

This patch is a preparation to hide the 'struct eth_dev_ops' from
applications by moving some device operations from 'struct eth_dev_ops'
to 'struct rte_eth_dev'.

Mentioned ethdev APIs are in the data path and implemented as inline
because of performance reasons.

Exposing 'struct eth_dev_ops' to applications is bad because it is a
contract between ethdev and PMDs, not really needs to be known by
applications, also changes in the struct causing ABI breakages which
shouldn't.

To be able to both keep APIs inline and hide the 'struct eth_dev_ops',
moving device operations used in ethdev inline APIs to 'struct
rte_eth_dev' to the same level with Rx/Tx burst functions.

The list of dev_ops moved:
eth_rx_queue_count_t       rx_queue_count;
eth_rx_descriptor_status_t rx_descriptor_status;
eth_tx_descriptor_status_t tx_descriptor_status;

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com>
---
v2:
* Updated features.rst
* Tweak assignment order in sfc
---
 doc/guides/nics/features.rst        |  4 ++--
 drivers/net/ark/ark_ethdev.c        |  2 +-
 drivers/net/atlantic/atl_ethdev.c   |  9 +++++----
 drivers/net/axgbe/axgbe_ethdev.c    |  5 +++--
 drivers/net/bnxt/bnxt_ethdev.c      |  6 +++---
 drivers/net/dpaa/dpaa_ethdev.c      |  2 +-
 drivers/net/dpaa2/dpaa2_ethdev.c    |  2 +-
 drivers/net/e1000/em_ethdev.c       |  6 +++---
 drivers/net/e1000/igb_ethdev.c      | 10 +++++-----
 drivers/net/enic/enic_ethdev.c      |  2 +-
 drivers/net/fm10k/fm10k_ethdev.c    |  6 +++---
 drivers/net/i40e/i40e_ethdev.c      |  6 +++---
 drivers/net/i40e/i40e_ethdev_vf.c   |  6 +++---
 drivers/net/iavf/iavf_ethdev.c      |  6 +++---
 drivers/net/ice/ice_ethdev.c        |  6 +++---
 drivers/net/igc/igc_ethdev.c        |  6 +++---
 drivers/net/ixgbe/ixgbe_ethdev.c    | 10 +++++-----
 drivers/net/mlx5/linux/mlx5_os.c    | 12 +++++-------
 drivers/net/mlx5/mlx5_flow.c        |  4 ++++
 drivers/net/netvsc/hn_ethdev.c      |  6 +++---
 drivers/net/nfp/nfp_net.c           |  2 +-
 drivers/net/octeontx2/otx2_ethdev.c |  6 +++---
 drivers/net/qede/qede_ethdev.c      |  3 +--
 drivers/net/sfc/sfc_ethdev.c        | 12 ++++++------
 drivers/net/thunderx/nicvf_ethdev.c |  2 +-
 drivers/net/vhost/rte_eth_vhost.c   |  2 +-
 lib/librte_ethdev/rte_ethdev.h      | 12 ++++++------
 lib/librte_ethdev/rte_ethdev_core.h | 11 +++++------
 28 files changed, 84 insertions(+), 82 deletions(-)

diff --git a/doc/guides/nics/features.rst b/doc/guides/nics/features.rst
index 701c592b26..60a8e95993 100644
--- a/doc/guides/nics/features.rst
+++ b/doc/guides/nics/features.rst
@@ -644,7 +644,7 @@ Rx descriptor status
 Supports check the status of a Rx descriptor. When ``rx_descriptor_status`` is
 used, status can be "Available", "Done" or "Unavailable".
 
-* **[implements] eth_dev_ops**: ``rx_descriptor_status``.
+* **[implements] rte_eth_dev**: ``rx_descriptor_status``.
 * **[related]    API**: ``rte_eth_rx_descriptor_status()``.
 
 
@@ -656,7 +656,7 @@ Tx descriptor status
 Supports checking the status of a Tx descriptor. Status can be "Full", "Done"
 or "Unavailable."
 
-* **[implements] eth_dev_ops**: ``tx_descriptor_status``.
+* **[implements] rte_eth_dev**: ``tx_descriptor_status``.
 * **[related]    API**: ``rte_eth_tx_descriptor_status()``.
 
 
diff --git a/drivers/net/ark/ark_ethdev.c b/drivers/net/ark/ark_ethdev.c
index b32ccd8677..ce7f6e4803 100644
--- a/drivers/net/ark/ark_ethdev.c
+++ b/drivers/net/ark/ark_ethdev.c
@@ -132,7 +132,6 @@ static const struct eth_dev_ops ark_eth_dev_ops = {
 	.dev_infos_get = eth_ark_dev_info_get,
 
 	.rx_queue_setup = eth_ark_dev_rx_queue_setup,
-	.rx_queue_count = eth_ark_dev_rx_queue_count,
 	.tx_queue_setup = eth_ark_tx_queue_setup,
 
 	.link_update = eth_ark_dev_link_update,
@@ -318,6 +317,7 @@ eth_ark_dev_init(struct rte_eth_dev *dev)
 		return -1;
 
 	dev->dev_ops = &ark_eth_dev_ops;
+	dev->rx_queue_count = eth_ark_dev_rx_queue_count;
 
 	dev->data->mac_addrs = rte_zmalloc("ark", RTE_ETHER_ADDR_LEN, 0);
 	if (!dev->data->mac_addrs) {
diff --git a/drivers/net/atlantic/atl_ethdev.c b/drivers/net/atlantic/atl_ethdev.c
index d3b00ab295..540b106045 100644
--- a/drivers/net/atlantic/atl_ethdev.c
+++ b/drivers/net/atlantic/atl_ethdev.c
@@ -313,10 +313,6 @@ static const struct eth_dev_ops atl_eth_dev_ops = {
 	.rx_queue_intr_enable = atl_dev_rx_queue_intr_enable,
 	.rx_queue_intr_disable = atl_dev_rx_queue_intr_disable,
 
-	.rx_queue_count       = atl_rx_queue_count,
-	.rx_descriptor_status = atl_dev_rx_descriptor_status,
-	.tx_descriptor_status = atl_dev_tx_descriptor_status,
-
 	/* EEPROM */
 	.get_eeprom_length    = atl_dev_get_eeprom_length,
 	.get_eeprom           = atl_dev_get_eeprom,
@@ -373,6 +369,11 @@ eth_atl_dev_init(struct rte_eth_dev *eth_dev)
 	PMD_INIT_FUNC_TRACE();
 
 	eth_dev->dev_ops = &atl_eth_dev_ops;
+
+	eth_dev->rx_queue_count       = atl_rx_queue_count;
+	eth_dev->rx_descriptor_status = atl_dev_rx_descriptor_status;
+	eth_dev->tx_descriptor_status = atl_dev_tx_descriptor_status;
+
 	eth_dev->rx_pkt_burst = &atl_recv_pkts;
 	eth_dev->tx_pkt_burst = &atl_xmit_pkts;
 	eth_dev->tx_pkt_prepare = &atl_prep_pkts;
diff --git a/drivers/net/axgbe/axgbe_ethdev.c b/drivers/net/axgbe/axgbe_ethdev.c
index 0c25739f82..02ceb95754 100644
--- a/drivers/net/axgbe/axgbe_ethdev.c
+++ b/drivers/net/axgbe/axgbe_ethdev.c
@@ -224,8 +224,6 @@ static const struct eth_dev_ops axgbe_eth_dev_ops = {
 	.rxq_info_get                 = axgbe_rxq_info_get,
 	.txq_info_get                 = axgbe_txq_info_get,
 	.dev_supported_ptypes_get     = axgbe_dev_supported_ptypes_get,
-	.rx_descriptor_status         = axgbe_dev_rx_descriptor_status,
-	.tx_descriptor_status         = axgbe_dev_tx_descriptor_status,
 	.mtu_set		= axgb_mtu_set,
 };
 
@@ -1632,6 +1630,9 @@ eth_axgbe_dev_init(struct rte_eth_dev *eth_dev)
 
 	eth_dev->dev_ops = &axgbe_eth_dev_ops;
 
+	eth_dev->rx_descriptor_status = axgbe_dev_rx_descriptor_status;
+	eth_dev->tx_descriptor_status = axgbe_dev_tx_descriptor_status;
+
 	/*
 	 * For secondary processes, we don't initialise any further as primary
 	 * has already done this work.
diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index 75d055be00..4d224bfa04 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -4246,9 +4246,6 @@ static const struct eth_dev_ops bnxt_dev_ops = {
 	.dev_led_off = bnxt_dev_led_off_op,
 	.xstats_get_by_id = bnxt_dev_xstats_get_by_id_op,
 	.xstats_get_names_by_id = bnxt_dev_xstats_get_names_by_id_op,
-	.rx_queue_count = bnxt_rx_queue_count_op,
-	.rx_descriptor_status = bnxt_rx_descriptor_status_op,
-	.tx_descriptor_status = bnxt_tx_descriptor_status_op,
 	.rx_queue_start = bnxt_rx_queue_start,
 	.rx_queue_stop = bnxt_rx_queue_stop,
 	.tx_queue_start = bnxt_tx_queue_start,
@@ -5681,6 +5678,9 @@ bnxt_dev_init(struct rte_eth_dev *eth_dev, void *params __rte_unused)
 		PMD_DRV_LOG(INFO, "%s\n", bnxt_version);
 
 	eth_dev->dev_ops = &bnxt_dev_ops;
+	eth_dev->rx_queue_count = bnxt_rx_queue_count_op;
+	eth_dev->rx_descriptor_status = bnxt_rx_descriptor_status_op;
+	eth_dev->tx_descriptor_status = bnxt_tx_descriptor_status_op;
 	eth_dev->rx_pkt_burst = &bnxt_recv_pkts;
 	eth_dev->tx_pkt_burst = &bnxt_xmit_pkts;
 
diff --git a/drivers/net/dpaa/dpaa_ethdev.c b/drivers/net/dpaa/dpaa_ethdev.c
index c15e2b5462..bfc6504139 100644
--- a/drivers/net/dpaa/dpaa_ethdev.c
+++ b/drivers/net/dpaa/dpaa_ethdev.c
@@ -1303,7 +1303,6 @@ static struct eth_dev_ops dpaa_devops = {
 	.tx_queue_setup		  = dpaa_eth_tx_queue_setup,
 	.rx_queue_release	  = dpaa_eth_rx_queue_release,
 	.tx_queue_release	  = dpaa_eth_tx_queue_release,
-	.rx_queue_count		  = dpaa_dev_rx_queue_count,
 	.rx_burst_mode_get	  = dpaa_dev_rx_burst_mode_get,
 	.tx_burst_mode_get	  = dpaa_dev_tx_burst_mode_get,
 	.rxq_info_get		  = dpaa_rxq_info_get,
@@ -1766,6 +1765,7 @@ dpaa_dev_init(struct rte_eth_dev *eth_dev)
 
 	/* Populate ethdev structure */
 	eth_dev->dev_ops = &dpaa_devops;
+	eth_dev->rx_queue_count = dpaa_dev_rx_queue_count;
 	eth_dev->rx_pkt_burst = dpaa_eth_queue_rx;
 	eth_dev->tx_pkt_burst = dpaa_eth_tx_drop_all;
 
diff --git a/drivers/net/dpaa2/dpaa2_ethdev.c b/drivers/net/dpaa2/dpaa2_ethdev.c
index 02c254846c..38cf0ab71c 100644
--- a/drivers/net/dpaa2/dpaa2_ethdev.c
+++ b/drivers/net/dpaa2/dpaa2_ethdev.c
@@ -2331,7 +2331,6 @@ static struct eth_dev_ops dpaa2_ethdev_ops = {
 	.tx_queue_release  = dpaa2_dev_tx_queue_release,
 	.rx_burst_mode_get = dpaa2_dev_rx_burst_mode_get,
 	.tx_burst_mode_get = dpaa2_dev_tx_burst_mode_get,
-	.rx_queue_count       = dpaa2_dev_rx_queue_count,
 	.flow_ctrl_get	      = dpaa2_flow_ctrl_get,
 	.flow_ctrl_set	      = dpaa2_flow_ctrl_set,
 	.mac_addr_add         = dpaa2_dev_add_mac_addr,
@@ -2486,6 +2485,7 @@ dpaa2_dev_init(struct rte_eth_dev *eth_dev)
 		 * plugged.
 		 */
 		eth_dev->dev_ops = &dpaa2_ethdev_ops;
+		eth_dev->rx_queue_count = dpaa2_dev_rx_queue_count;
 		if (dpaa2_get_devargs(dev->devargs, DRIVER_LOOPBACK_MODE))
 			eth_dev->rx_pkt_burst = dpaa2_dev_loopback_rx;
 		else if (dpaa2_get_devargs(dev->devargs,
diff --git a/drivers/net/e1000/em_ethdev.c b/drivers/net/e1000/em_ethdev.c
index 32872db9c2..66c5022bb7 100644
--- a/drivers/net/e1000/em_ethdev.c
+++ b/drivers/net/e1000/em_ethdev.c
@@ -176,9 +176,6 @@ static const struct eth_dev_ops eth_em_ops = {
 	.vlan_offload_set     = eth_em_vlan_offload_set,
 	.rx_queue_setup       = eth_em_rx_queue_setup,
 	.rx_queue_release     = eth_em_rx_queue_release,
-	.rx_queue_count       = eth_em_rx_queue_count,
-	.rx_descriptor_status = eth_em_rx_descriptor_status,
-	.tx_descriptor_status = eth_em_tx_descriptor_status,
 	.tx_queue_setup       = eth_em_tx_queue_setup,
 	.tx_queue_release     = eth_em_tx_queue_release,
 	.rx_queue_intr_enable = eth_em_rx_queue_intr_enable,
@@ -249,6 +246,9 @@ eth_em_dev_init(struct rte_eth_dev *eth_dev)
 		E1000_DEV_PRIVATE_TO_VFTA(eth_dev->data->dev_private);
 
 	eth_dev->dev_ops = &eth_em_ops;
+	eth_dev->rx_queue_count = eth_em_rx_queue_count;
+	eth_dev->rx_descriptor_status = eth_em_rx_descriptor_status;
+	eth_dev->tx_descriptor_status = eth_em_tx_descriptor_status;
 	eth_dev->rx_pkt_burst = (eth_rx_burst_t)&eth_em_recv_pkts;
 	eth_dev->tx_pkt_burst = (eth_tx_burst_t)&eth_em_xmit_pkts;
 	eth_dev->tx_pkt_prepare = (eth_tx_prep_t)&eth_em_prep_pkts;
diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c
index aec79c6ceb..2db04fa88c 100644
--- a/drivers/net/e1000/igb_ethdev.c
+++ b/drivers/net/e1000/igb_ethdev.c
@@ -380,9 +380,6 @@ static const struct eth_dev_ops eth_igb_ops = {
 	.rx_queue_intr_enable = eth_igb_rx_queue_intr_enable,
 	.rx_queue_intr_disable = eth_igb_rx_queue_intr_disable,
 	.rx_queue_release     = eth_igb_rx_queue_release,
-	.rx_queue_count       = eth_igb_rx_queue_count,
-	.rx_descriptor_status = eth_igb_rx_descriptor_status,
-	.tx_descriptor_status = eth_igb_tx_descriptor_status,
 	.tx_queue_setup       = eth_igb_tx_queue_setup,
 	.tx_queue_release     = eth_igb_tx_queue_release,
 	.tx_done_cleanup      = eth_igb_tx_done_cleanup,
@@ -440,8 +437,6 @@ static const struct eth_dev_ops igbvf_eth_dev_ops = {
 	.dev_supported_ptypes_get = eth_igb_supported_ptypes_get,
 	.rx_queue_setup       = eth_igb_rx_queue_setup,
 	.rx_queue_release     = eth_igb_rx_queue_release,
-	.rx_descriptor_status = eth_igb_rx_descriptor_status,
-	.tx_descriptor_status = eth_igb_tx_descriptor_status,
 	.tx_queue_setup       = eth_igb_tx_queue_setup,
 	.tx_queue_release     = eth_igb_tx_queue_release,
 	.tx_done_cleanup      = eth_igb_tx_done_cleanup,
@@ -752,6 +747,9 @@ eth_igb_dev_init(struct rte_eth_dev *eth_dev)
 	uint32_t ctrl_ext;
 
 	eth_dev->dev_ops = &eth_igb_ops;
+	eth_dev->rx_queue_count = eth_igb_rx_queue_count;
+	eth_dev->rx_descriptor_status = eth_igb_rx_descriptor_status;
+	eth_dev->tx_descriptor_status = eth_igb_tx_descriptor_status;
 	eth_dev->rx_pkt_burst = &eth_igb_recv_pkts;
 	eth_dev->tx_pkt_burst = &eth_igb_xmit_pkts;
 	eth_dev->tx_pkt_prepare = &eth_igb_prep_pkts;
@@ -947,6 +945,8 @@ eth_igbvf_dev_init(struct rte_eth_dev *eth_dev)
 	PMD_INIT_FUNC_TRACE();
 
 	eth_dev->dev_ops = &igbvf_eth_dev_ops;
+	eth_dev->rx_descriptor_status = eth_igb_rx_descriptor_status;
+	eth_dev->tx_descriptor_status = eth_igb_tx_descriptor_status;
 	eth_dev->rx_pkt_burst = &eth_igb_recv_pkts;
 	eth_dev->tx_pkt_burst = &eth_igb_xmit_pkts;
 	eth_dev->tx_pkt_prepare = &eth_igb_prep_pkts;
diff --git a/drivers/net/enic/enic_ethdev.c b/drivers/net/enic/enic_ethdev.c
index 1316c5c739..2cffa3aa2d 100644
--- a/drivers/net/enic/enic_ethdev.c
+++ b/drivers/net/enic/enic_ethdev.c
@@ -1141,7 +1141,6 @@ static const struct eth_dev_ops enicpmd_eth_dev_ops = {
 	.tx_queue_stop        = enicpmd_dev_tx_queue_stop,
 	.rx_queue_setup       = enicpmd_dev_rx_queue_setup,
 	.rx_queue_release     = enicpmd_dev_rx_queue_release,
-	.rx_queue_count       = enicpmd_dev_rx_queue_count,
 	.tx_queue_setup       = enicpmd_dev_tx_queue_setup,
 	.tx_queue_release     = enicpmd_dev_tx_queue_release,
 	.rx_queue_intr_enable = enicpmd_dev_rx_queue_intr_enable,
@@ -1278,6 +1277,7 @@ static int eth_enicpmd_dev_init(struct rte_eth_dev *eth_dev)
 	ENICPMD_FUNC_TRACE();
 
 	eth_dev->dev_ops = &enicpmd_eth_dev_ops;
+	eth_dev->rx_queue_count = enicpmd_dev_rx_queue_count;
 	eth_dev->rx_pkt_burst = &enic_recv_pkts;
 	eth_dev->tx_pkt_burst = &enic_xmit_pkts;
 	eth_dev->tx_pkt_prepare = &enic_prep_pkts;
diff --git a/drivers/net/fm10k/fm10k_ethdev.c b/drivers/net/fm10k/fm10k_ethdev.c
index 56e2425e47..4f3439cbb2 100644
--- a/drivers/net/fm10k/fm10k_ethdev.c
+++ b/drivers/net/fm10k/fm10k_ethdev.c
@@ -2855,9 +2855,6 @@ static const struct eth_dev_ops fm10k_eth_dev_ops = {
 	.rx_queue_release	= fm10k_rx_queue_release,
 	.tx_queue_setup		= fm10k_tx_queue_setup,
 	.tx_queue_release	= fm10k_tx_queue_release,
-	.rx_queue_count		= fm10k_dev_rx_queue_count,
-	.rx_descriptor_status = fm10k_dev_rx_descriptor_status,
-	.tx_descriptor_status = fm10k_dev_tx_descriptor_status,
 	.rx_queue_intr_enable	= fm10k_dev_rx_queue_intr_enable,
 	.rx_queue_intr_disable	= fm10k_dev_rx_queue_intr_disable,
 	.reta_update		= fm10k_reta_update,
@@ -3054,6 +3051,9 @@ eth_fm10k_dev_init(struct rte_eth_dev *dev)
 	PMD_INIT_FUNC_TRACE();
 
 	dev->dev_ops = &fm10k_eth_dev_ops;
+	dev->rx_queue_count = fm10k_dev_rx_queue_count;
+	dev->rx_descriptor_status = fm10k_dev_rx_descriptor_status;
+	dev->tx_descriptor_status = fm10k_dev_tx_descriptor_status;
 	dev->rx_pkt_burst = &fm10k_recv_pkts;
 	dev->tx_pkt_burst = &fm10k_xmit_pkts;
 	dev->tx_pkt_prepare = &fm10k_prep_pkts;
diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index f8ed4a0b36..ad5a536d73 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -474,9 +474,6 @@ static const struct eth_dev_ops i40e_eth_dev_ops = {
 	.rx_queue_intr_enable         = i40e_dev_rx_queue_intr_enable,
 	.rx_queue_intr_disable        = i40e_dev_rx_queue_intr_disable,
 	.rx_queue_release             = i40e_dev_rx_queue_release,
-	.rx_queue_count               = i40e_dev_rx_queue_count,
-	.rx_descriptor_status         = i40e_dev_rx_descriptor_status,
-	.tx_descriptor_status         = i40e_dev_tx_descriptor_status,
 	.tx_queue_setup               = i40e_dev_tx_queue_setup,
 	.tx_queue_release             = i40e_dev_tx_queue_release,
 	.dev_led_on                   = i40e_dev_led_on,
@@ -1447,6 +1444,9 @@ eth_i40e_dev_init(struct rte_eth_dev *dev, void *init_params __rte_unused)
 	PMD_INIT_FUNC_TRACE();
 
 	dev->dev_ops = &i40e_eth_dev_ops;
+	dev->rx_queue_count = i40e_dev_rx_queue_count;
+	dev->rx_descriptor_status = i40e_dev_rx_descriptor_status;
+	dev->tx_descriptor_status = i40e_dev_tx_descriptor_status;
 	dev->rx_pkt_burst = i40e_recv_pkts;
 	dev->tx_pkt_burst = i40e_xmit_pkts;
 	dev->tx_pkt_prepare = i40e_prep_pkts;
diff --git a/drivers/net/i40e/i40e_ethdev_vf.c b/drivers/net/i40e/i40e_ethdev_vf.c
index d32e655d90..fd45243fb9 100644
--- a/drivers/net/i40e/i40e_ethdev_vf.c
+++ b/drivers/net/i40e/i40e_ethdev_vf.c
@@ -199,11 +199,8 @@ static const struct eth_dev_ops i40evf_eth_dev_ops = {
 	.rx_queue_release     = i40e_dev_rx_queue_release,
 	.rx_queue_intr_enable = i40evf_dev_rx_queue_intr_enable,
 	.rx_queue_intr_disable = i40evf_dev_rx_queue_intr_disable,
-	.rx_descriptor_status = i40e_dev_rx_descriptor_status,
-	.tx_descriptor_status = i40e_dev_tx_descriptor_status,
 	.tx_queue_setup       = i40e_dev_tx_queue_setup,
 	.tx_queue_release     = i40e_dev_tx_queue_release,
-	.rx_queue_count       = i40e_dev_rx_queue_count,
 	.rxq_info_get         = i40e_rxq_info_get,
 	.txq_info_get         = i40e_txq_info_get,
 	.mac_addr_add	      = i40evf_add_mac_addr,
@@ -1520,6 +1517,9 @@ i40evf_dev_init(struct rte_eth_dev *eth_dev)
 
 	/* assign ops func pointer */
 	eth_dev->dev_ops = &i40evf_eth_dev_ops;
+	eth_dev->rx_queue_count       = i40e_dev_rx_queue_count;
+	eth_dev->rx_descriptor_status = i40e_dev_rx_descriptor_status;
+	eth_dev->tx_descriptor_status = i40e_dev_tx_descriptor_status;
 	eth_dev->rx_pkt_burst = &i40e_recv_pkts;
 	eth_dev->tx_pkt_burst = &i40e_xmit_pkts;
 
diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c
index 28ca3fa8f7..a6f8e3366f 100644
--- a/drivers/net/iavf/iavf_ethdev.c
+++ b/drivers/net/iavf/iavf_ethdev.c
@@ -117,9 +117,6 @@ static const struct eth_dev_ops iavf_eth_dev_ops = {
 	.rss_hash_conf_get          = iavf_dev_rss_hash_conf_get,
 	.rxq_info_get               = iavf_dev_rxq_info_get,
 	.txq_info_get               = iavf_dev_txq_info_get,
-	.rx_queue_count             = iavf_dev_rxq_count,
-	.rx_descriptor_status       = iavf_dev_rx_desc_status,
-	.tx_descriptor_status       = iavf_dev_tx_desc_status,
 	.mtu_set                    = iavf_dev_mtu_set,
 	.rx_queue_intr_enable       = iavf_dev_rx_queue_intr_enable,
 	.rx_queue_intr_disable      = iavf_dev_rx_queue_intr_disable,
@@ -1378,6 +1375,9 @@ iavf_dev_init(struct rte_eth_dev *eth_dev)
 
 	/* assign ops func pointer */
 	eth_dev->dev_ops = &iavf_eth_dev_ops;
+	eth_dev->rx_queue_count = iavf_dev_rxq_count;
+	eth_dev->rx_descriptor_status = iavf_dev_rx_desc_status;
+	eth_dev->tx_descriptor_status = iavf_dev_tx_desc_status;
 	eth_dev->rx_pkt_burst = &iavf_recv_pkts;
 	eth_dev->tx_pkt_burst = &iavf_xmit_pkts;
 	eth_dev->tx_pkt_prepare = &iavf_prep_pkts;
diff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c
index 4a161ae8a7..2668219494 100644
--- a/drivers/net/ice/ice_ethdev.c
+++ b/drivers/net/ice/ice_ethdev.c
@@ -205,9 +205,6 @@ static const struct eth_dev_ops ice_eth_dev_ops = {
 	.tx_burst_mode_get            = ice_tx_burst_mode_get,
 	.get_eeprom_length            = ice_get_eeprom_length,
 	.get_eeprom                   = ice_get_eeprom,
-	.rx_queue_count               = ice_rx_queue_count,
-	.rx_descriptor_status         = ice_rx_descriptor_status,
-	.tx_descriptor_status         = ice_tx_descriptor_status,
 	.stats_get                    = ice_stats_get,
 	.stats_reset                  = ice_stats_reset,
 	.xstats_get                   = ice_xstats_get,
@@ -2163,6 +2160,9 @@ ice_dev_init(struct rte_eth_dev *dev)
 	int ret;
 
 	dev->dev_ops = &ice_eth_dev_ops;
+	dev->rx_queue_count = ice_rx_queue_count;
+	dev->rx_descriptor_status = ice_rx_descriptor_status;
+	dev->tx_descriptor_status = ice_tx_descriptor_status;
 	dev->rx_pkt_burst = ice_recv_pkts;
 	dev->tx_pkt_burst = ice_xmit_pkts;
 	dev->tx_pkt_prepare = ice_prep_pkts;
diff --git a/drivers/net/igc/igc_ethdev.c b/drivers/net/igc/igc_ethdev.c
index ace6b3fb3d..1fdbfcb60d 100644
--- a/drivers/net/igc/igc_ethdev.c
+++ b/drivers/net/igc/igc_ethdev.c
@@ -272,9 +272,6 @@ static const struct eth_dev_ops eth_igc_ops = {
 
 	.rx_queue_setup		= eth_igc_rx_queue_setup,
 	.rx_queue_release	= eth_igc_rx_queue_release,
-	.rx_queue_count		= eth_igc_rx_queue_count,
-	.rx_descriptor_status	= eth_igc_rx_descriptor_status,
-	.tx_descriptor_status	= eth_igc_tx_descriptor_status,
 	.tx_queue_setup		= eth_igc_tx_queue_setup,
 	.tx_queue_release	= eth_igc_tx_queue_release,
 	.tx_done_cleanup	= eth_igc_tx_done_cleanup,
@@ -1226,6 +1223,9 @@ eth_igc_dev_init(struct rte_eth_dev *dev)
 
 	PMD_INIT_FUNC_TRACE();
 	dev->dev_ops = &eth_igc_ops;
+	dev->rx_queue_count = eth_igc_rx_queue_count;
+	dev->rx_descriptor_status = eth_igc_rx_descriptor_status;
+	dev->tx_descriptor_status = eth_igc_tx_descriptor_status;
 
 	/*
 	 * for secondary processes, we don't initialize any further as primary
diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index f536ca61cf..ac1dc7841d 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -545,9 +545,6 @@ static const struct eth_dev_ops ixgbe_eth_dev_ops = {
 	.rx_queue_intr_enable = ixgbe_dev_rx_queue_intr_enable,
 	.rx_queue_intr_disable = ixgbe_dev_rx_queue_intr_disable,
 	.rx_queue_release     = ixgbe_dev_rx_queue_release,
-	.rx_queue_count       = ixgbe_dev_rx_queue_count,
-	.rx_descriptor_status = ixgbe_dev_rx_descriptor_status,
-	.tx_descriptor_status = ixgbe_dev_tx_descriptor_status,
 	.tx_queue_setup       = ixgbe_dev_tx_queue_setup,
 	.tx_queue_release     = ixgbe_dev_tx_queue_release,
 	.dev_led_on           = ixgbe_dev_led_on,
@@ -621,8 +618,6 @@ static const struct eth_dev_ops ixgbevf_eth_dev_ops = {
 	.vlan_offload_set     = ixgbevf_vlan_offload_set,
 	.rx_queue_setup       = ixgbe_dev_rx_queue_setup,
 	.rx_queue_release     = ixgbe_dev_rx_queue_release,
-	.rx_descriptor_status = ixgbe_dev_rx_descriptor_status,
-	.tx_descriptor_status = ixgbe_dev_tx_descriptor_status,
 	.tx_queue_setup       = ixgbe_dev_tx_queue_setup,
 	.tx_queue_release     = ixgbe_dev_tx_queue_release,
 	.rx_queue_intr_enable = ixgbevf_dev_rx_queue_intr_enable,
@@ -1089,6 +1084,9 @@ eth_ixgbe_dev_init(struct rte_eth_dev *eth_dev, void *init_params __rte_unused)
 	ixgbe_dev_macsec_setting_reset(eth_dev);
 
 	eth_dev->dev_ops = &ixgbe_eth_dev_ops;
+	eth_dev->rx_descriptor_status = ixgbe_dev_rx_descriptor_status;
+	eth_dev->tx_descriptor_status = ixgbe_dev_tx_descriptor_status;
+	eth_dev->rx_queue_count       = ixgbe_dev_rx_queue_count;
 	eth_dev->rx_pkt_burst = &ixgbe_recv_pkts;
 	eth_dev->tx_pkt_burst = &ixgbe_xmit_pkts;
 	eth_dev->tx_pkt_prepare = &ixgbe_prep_pkts;
@@ -1568,6 +1566,8 @@ eth_ixgbevf_dev_init(struct rte_eth_dev *eth_dev)
 	PMD_INIT_FUNC_TRACE();
 
 	eth_dev->dev_ops = &ixgbevf_eth_dev_ops;
+	eth_dev->rx_descriptor_status = ixgbe_dev_rx_descriptor_status;
+	eth_dev->tx_descriptor_status = ixgbe_dev_tx_descriptor_status;
 	eth_dev->rx_pkt_burst = &ixgbe_recv_pkts;
 	eth_dev->tx_pkt_burst = &ixgbe_xmit_pkts;
 
diff --git a/drivers/net/mlx5/linux/mlx5_os.c b/drivers/net/mlx5/linux/mlx5_os.c
index bf1f82ba67..ec3cc4000e 100644
--- a/drivers/net/mlx5/linux/mlx5_os.c
+++ b/drivers/net/mlx5/linux/mlx5_os.c
@@ -601,6 +601,8 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev,
 		}
 		eth_dev->device = dpdk_dev;
 		eth_dev->dev_ops = &mlx5_os_dev_sec_ops;
+		eth_dev->rx_descriptor_status = mlx5_rx_descriptor_status;
+		eth_dev->tx_descriptor_status = mlx5_tx_descriptor_status;
 		err = mlx5_proc_priv_init(eth_dev);
 		if (err)
 			return NULL;
@@ -1208,6 +1210,9 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev,
 	eth_dev->rx_pkt_burst = removed_rx_burst;
 	eth_dev->tx_pkt_burst = removed_tx_burst;
 	eth_dev->dev_ops = &mlx5_os_dev_ops;
+	eth_dev->rx_descriptor_status = mlx5_rx_descriptor_status;
+	eth_dev->tx_descriptor_status = mlx5_tx_descriptor_status;
+	eth_dev->rx_queue_count = mlx5_rx_queue_count;
 	/* Register MAC address. */
 	claim_zero(mlx5_mac_addr_add(eth_dev, &mac, 0, 0));
 	if (config->vf && config->vf_nl_en)
@@ -2396,13 +2401,10 @@ const struct eth_dev_ops mlx5_os_dev_ops = {
 	.rss_hash_update = mlx5_rss_hash_update,
 	.rss_hash_conf_get = mlx5_rss_hash_conf_get,
 	.filter_ctrl = mlx5_dev_filter_ctrl,
-	.rx_descriptor_status = mlx5_rx_descriptor_status,
-	.tx_descriptor_status = mlx5_tx_descriptor_status,
 	.rxq_info_get = mlx5_rxq_info_get,
 	.txq_info_get = mlx5_txq_info_get,
 	.rx_burst_mode_get = mlx5_rx_burst_mode_get,
 	.tx_burst_mode_get = mlx5_tx_burst_mode_get,
-	.rx_queue_count = mlx5_rx_queue_count,
 	.rx_queue_intr_enable = mlx5_rx_intr_enable,
 	.rx_queue_intr_disable = mlx5_rx_intr_disable,
 	.is_removed = mlx5_is_removed,
@@ -2427,8 +2429,6 @@ const struct eth_dev_ops mlx5_os_dev_sec_ops = {
 	.rx_queue_stop = mlx5_rx_queue_stop,
 	.tx_queue_start = mlx5_tx_queue_start,
 	.tx_queue_stop = mlx5_tx_queue_stop,
-	.rx_descriptor_status = mlx5_rx_descriptor_status,
-	.tx_descriptor_status = mlx5_tx_descriptor_status,
 	.rxq_info_get = mlx5_rxq_info_get,
 	.txq_info_get = mlx5_txq_info_get,
 	.rx_burst_mode_get = mlx5_rx_burst_mode_get,
@@ -2480,8 +2480,6 @@ const struct eth_dev_ops mlx5_os_dev_ops_isolate = {
 	.vlan_strip_queue_set = mlx5_vlan_strip_queue_set,
 	.vlan_offload_set = mlx5_vlan_offload_set,
 	.filter_ctrl = mlx5_dev_filter_ctrl,
-	.rx_descriptor_status = mlx5_rx_descriptor_status,
-	.tx_descriptor_status = mlx5_tx_descriptor_status,
 	.rxq_info_get = mlx5_rxq_info_get,
 	.txq_info_get = mlx5_txq_info_get,
 	.rx_burst_mode_get = mlx5_rx_burst_mode_get,
diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
index 4c29898203..eb55bd7f99 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -5138,6 +5138,10 @@ mlx5_flow_isolate(struct rte_eth_dev *dev,
 		dev->dev_ops = &mlx5_os_dev_ops_isolate;
 	else
 		dev->dev_ops = &mlx5_os_dev_ops;
+
+	dev->rx_descriptor_status = mlx5_rx_descriptor_status;
+	dev->tx_descriptor_status = mlx5_tx_descriptor_status;
+
 	return 0;
 }
 
diff --git a/drivers/net/netvsc/hn_ethdev.c b/drivers/net/netvsc/hn_ethdev.c
index fd91c0e491..229c1b9149 100644
--- a/drivers/net/netvsc/hn_ethdev.c
+++ b/drivers/net/netvsc/hn_ethdev.c
@@ -871,11 +871,8 @@ static const struct eth_dev_ops hn_eth_dev_ops = {
 	.tx_queue_setup		= hn_dev_tx_queue_setup,
 	.tx_queue_release	= hn_dev_tx_queue_release,
 	.tx_done_cleanup        = hn_dev_tx_done_cleanup,
-	.tx_descriptor_status	= hn_dev_tx_descriptor_status,
 	.rx_queue_setup		= hn_dev_rx_queue_setup,
 	.rx_queue_release	= hn_dev_rx_queue_release,
-	.rx_queue_count		= hn_dev_rx_queue_count,
-	.rx_descriptor_status   = hn_dev_rx_queue_status,
 	.link_update		= hn_dev_link_update,
 	.stats_get		= hn_dev_stats_get,
 	.stats_reset            = hn_dev_stats_reset,
@@ -936,6 +933,9 @@ eth_hn_dev_init(struct rte_eth_dev *eth_dev)
 
 	vmbus = container_of(device, struct rte_vmbus_device, device);
 	eth_dev->dev_ops = &hn_eth_dev_ops;
+	eth_dev->rx_queue_count = hn_dev_rx_queue_count;
+	eth_dev->rx_descriptor_status = hn_dev_rx_queue_status;
+	eth_dev->tx_descriptor_status = hn_dev_tx_descriptor_status;
 	eth_dev->tx_pkt_burst = &hn_xmit_pkts;
 	eth_dev->rx_pkt_burst = &hn_recv_pkts;
 
diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c
index 99946279db..c556dedab6 100644
--- a/drivers/net/nfp/nfp_net.c
+++ b/drivers/net/nfp/nfp_net.c
@@ -2701,7 +2701,6 @@ static const struct eth_dev_ops nfp_net_eth_dev_ops = {
 	.rss_hash_conf_get	= nfp_net_rss_hash_conf_get,
 	.rx_queue_setup		= nfp_net_rx_queue_setup,
 	.rx_queue_release	= nfp_net_rx_queue_release,
-	.rx_queue_count		= nfp_net_rx_queue_count,
 	.tx_queue_setup		= nfp_net_tx_queue_setup,
 	.tx_queue_release	= nfp_net_tx_queue_release,
 	.rx_queue_intr_enable   = nfp_rx_queue_intr_enable,
@@ -2785,6 +2784,7 @@ nfp_net_init(struct rte_eth_dev *eth_dev)
 	}
 
 	eth_dev->dev_ops = &nfp_net_eth_dev_ops;
+	eth_dev->rx_queue_count = nfp_net_rx_queue_count;
 	eth_dev->rx_pkt_burst = &nfp_net_recv_pkts;
 	eth_dev->tx_pkt_burst = &nfp_net_xmit_pkts;
 
diff --git a/drivers/net/octeontx2/otx2_ethdev.c b/drivers/net/octeontx2/otx2_ethdev.c
index b5d25fe68e..98f360f1b4 100644
--- a/drivers/net/octeontx2/otx2_ethdev.c
+++ b/drivers/net/octeontx2/otx2_ethdev.c
@@ -2272,9 +2272,6 @@ static const struct eth_dev_ops otx2_eth_dev_ops = {
 	.txq_info_get             = otx2_nix_txq_info_get,
 	.rx_burst_mode_get        = otx2_rx_burst_mode_get,
 	.tx_burst_mode_get        = otx2_tx_burst_mode_get,
-	.rx_queue_count           = otx2_nix_rx_queue_count,
-	.rx_descriptor_status     = otx2_nix_rx_descriptor_status,
-	.tx_descriptor_status     = otx2_nix_tx_descriptor_status,
 	.tx_done_cleanup          = otx2_nix_tx_done_cleanup,
 	.set_queue_rate_limit     = otx2_nix_tm_set_queue_rate_limit,
 	.pool_ops_supported       = otx2_nix_pool_ops_supported,
@@ -2381,6 +2378,9 @@ otx2_eth_dev_init(struct rte_eth_dev *eth_dev)
 	int rc, max_entries;
 
 	eth_dev->dev_ops = &otx2_eth_dev_ops;
+	eth_dev->rx_queue_count = otx2_nix_rx_queue_count;
+	eth_dev->rx_descriptor_status = otx2_nix_rx_descriptor_status;
+	eth_dev->tx_descriptor_status = otx2_nix_tx_descriptor_status;
 
 	/* For secondary processes, the primary has done all the work */
 	if (rte_eal_process_type() != RTE_PROC_PRIMARY) {
diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c
index 70d48e48ef..59f1746ee9 100644
--- a/drivers/net/qede/qede_ethdev.c
+++ b/drivers/net/qede/qede_ethdev.c
@@ -2386,7 +2386,6 @@ static const struct eth_dev_ops qede_eth_dev_ops = {
 	.dev_infos_get = qede_dev_info_get,
 	.rx_queue_setup = qede_rx_queue_setup,
 	.rx_queue_release = qede_rx_queue_release,
-	.rx_descriptor_status = qede_rx_descriptor_status,
 	.tx_queue_setup = qede_tx_queue_setup,
 	.tx_queue_release = qede_tx_queue_release,
 	.dev_start = qede_dev_start,
@@ -2431,7 +2430,6 @@ static const struct eth_dev_ops qede_eth_vf_dev_ops = {
 	.dev_infos_get = qede_dev_info_get,
 	.rx_queue_setup = qede_rx_queue_setup,
 	.rx_queue_release = qede_rx_queue_release,
-	.rx_descriptor_status = qede_rx_descriptor_status,
 	.tx_queue_setup = qede_tx_queue_setup,
 	.tx_queue_release = qede_tx_queue_release,
 	.dev_start = qede_dev_start,
@@ -2670,6 +2668,7 @@ static int qede_common_dev_init(struct rte_eth_dev *eth_dev, bool is_vf)
 	}
 
 	eth_dev->dev_ops = (is_vf) ? &qede_eth_vf_dev_ops : &qede_eth_dev_ops;
+	eth_dev->rx_descriptor_status = qede_rx_descriptor_status;
 
 	adapter->num_tx_queues = 0;
 	adapter->num_rx_queues = 0;
diff --git a/drivers/net/sfc/sfc_ethdev.c b/drivers/net/sfc/sfc_ethdev.c
index 65e0ff7d48..ffad32a123 100644
--- a/drivers/net/sfc/sfc_ethdev.c
+++ b/drivers/net/sfc/sfc_ethdev.c
@@ -1804,9 +1804,6 @@ static const struct eth_dev_ops sfc_eth_dev_ops = {
 	.tx_queue_stop			= sfc_tx_queue_stop,
 	.rx_queue_setup			= sfc_rx_queue_setup,
 	.rx_queue_release		= sfc_rx_queue_release,
-	.rx_queue_count			= sfc_rx_queue_count,
-	.rx_descriptor_status		= sfc_rx_descriptor_status,
-	.tx_descriptor_status		= sfc_tx_descriptor_status,
 	.rx_queue_intr_enable		= sfc_rx_queue_intr_enable,
 	.rx_queue_intr_disable		= sfc_rx_queue_intr_disable,
 	.tx_queue_setup			= sfc_tx_queue_setup,
@@ -1961,6 +1958,9 @@ sfc_eth_dev_set_ops(struct rte_eth_dev *dev)
 	dev->tx_pkt_prepare = dp_tx->pkt_prepare;
 	dev->tx_pkt_burst = dp_tx->pkt_burst;
 
+	dev->rx_queue_count = sfc_rx_queue_count;
+	dev->rx_descriptor_status = sfc_rx_descriptor_status;
+	dev->tx_descriptor_status = sfc_tx_descriptor_status;
 	dev->dev_ops = &sfc_eth_dev_ops;
 
 	return 0;
@@ -2001,9 +2001,6 @@ sfc_eth_dev_clear_ops(struct rte_eth_dev *dev)
 
 static const struct eth_dev_ops sfc_eth_dev_secondary_ops = {
 	.dev_supported_ptypes_get	= sfc_dev_supported_ptypes_get,
-	.rx_queue_count			= sfc_rx_queue_count,
-	.rx_descriptor_status		= sfc_rx_descriptor_status,
-	.tx_descriptor_status		= sfc_tx_descriptor_status,
 	.reta_query			= sfc_dev_rss_reta_query,
 	.rss_hash_conf_get		= sfc_dev_rss_hash_conf_get,
 	.rxq_info_get			= sfc_rx_queue_info_get,
@@ -2068,6 +2065,9 @@ sfc_eth_dev_secondary_init(struct rte_eth_dev *dev, uint32_t logtype_main)
 	dev->rx_pkt_burst = dp_rx->pkt_burst;
 	dev->tx_pkt_prepare = dp_tx->pkt_prepare;
 	dev->tx_pkt_burst = dp_tx->pkt_burst;
+	dev->rx_queue_count = sfc_rx_queue_count;
+	dev->rx_descriptor_status = sfc_rx_descriptor_status;
+	dev->tx_descriptor_status = sfc_tx_descriptor_status;
 	dev->dev_ops = &sfc_eth_dev_secondary_ops;
 
 	return 0;
diff --git a/drivers/net/thunderx/nicvf_ethdev.c b/drivers/net/thunderx/nicvf_ethdev.c
index d955a7ee23..959c8e4ddc 100644
--- a/drivers/net/thunderx/nicvf_ethdev.c
+++ b/drivers/net/thunderx/nicvf_ethdev.c
@@ -2029,7 +2029,6 @@ static const struct eth_dev_ops nicvf_eth_dev_ops = {
 	.tx_queue_stop            = nicvf_dev_tx_queue_stop,
 	.rx_queue_setup           = nicvf_dev_rx_queue_setup,
 	.rx_queue_release         = nicvf_dev_rx_queue_release,
-	.rx_queue_count           = nicvf_dev_rx_queue_count,
 	.tx_queue_setup           = nicvf_dev_tx_queue_setup,
 	.tx_queue_release         = nicvf_dev_tx_queue_release,
 	.dev_set_link_up          = nicvf_dev_set_link_up,
@@ -2134,6 +2133,7 @@ nicvf_eth_dev_init(struct rte_eth_dev *eth_dev)
 	PMD_INIT_FUNC_TRACE();
 
 	eth_dev->dev_ops = &nicvf_eth_dev_ops;
+	eth_dev->rx_queue_count = nicvf_dev_rx_queue_count;
 
 	/* For secondary processes, the primary has done all the work */
 	if (rte_eal_process_type() != RTE_PROC_PRIMARY) {
diff --git a/drivers/net/vhost/rte_eth_vhost.c b/drivers/net/vhost/rte_eth_vhost.c
index e55278af69..fa365605ef 100644
--- a/drivers/net/vhost/rte_eth_vhost.c
+++ b/drivers/net/vhost/rte_eth_vhost.c
@@ -1385,7 +1385,6 @@ static const struct eth_dev_ops ops = {
 	.rx_queue_release = eth_queue_release,
 	.tx_queue_release = eth_queue_release,
 	.tx_done_cleanup = eth_tx_done_cleanup,
-	.rx_queue_count = eth_rx_queue_count,
 	.link_update = eth_link_update,
 	.stats_get = eth_stats_get,
 	.stats_reset = eth_stats_reset,
@@ -1447,6 +1446,7 @@ eth_dev_vhost_create(struct rte_vdev_device *dev, char *iface_name,
 	data->all_multicast = 1;
 
 	eth_dev->dev_ops = &ops;
+	eth_dev->rx_queue_count = eth_rx_queue_count;
 
 	/* finally assign rx and tx ops */
 	eth_dev->rx_pkt_burst = eth_vhost_rx;
diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
index b52b04f7e0..2ce186610b 100644
--- a/lib/librte_ethdev/rte_ethdev.h
+++ b/lib/librte_ethdev/rte_ethdev.h
@@ -4545,11 +4545,11 @@ rte_eth_rx_queue_count(uint16_t port_id, uint16_t queue_id)
 
 	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -EINVAL);
 	dev = &rte_eth_devices[port_id];
-	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->rx_queue_count, -ENOTSUP);
+	RTE_FUNC_PTR_OR_ERR_RET(*dev->rx_queue_count, -ENOTSUP);
 	if (queue_id >= dev->data->nb_rx_queues)
 		return -EINVAL;
 
-	return (int)(*dev->dev_ops->rx_queue_count)(dev, queue_id);
+	return (int)(*dev->rx_queue_count)(dev, queue_id);
 }
 
 #define RTE_ETH_RX_DESC_AVAIL    0 /**< Desc available for hw. */
@@ -4604,10 +4604,10 @@ rte_eth_rx_descriptor_status(uint16_t port_id, uint16_t queue_id,
 	if (queue_id >= dev->data->nb_rx_queues)
 		return -ENODEV;
 #endif
-	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->rx_descriptor_status, -ENOTSUP);
+	RTE_FUNC_PTR_OR_ERR_RET(*dev->rx_descriptor_status, -ENOTSUP);
 	rxq = dev->data->rx_queues[queue_id];
 
-	return (*dev->dev_ops->rx_descriptor_status)(rxq, offset);
+	return (*dev->rx_descriptor_status)(rxq, offset);
 }
 
 #define RTE_ETH_TX_DESC_FULL    0 /**< Desc filled for hw, waiting xmit. */
@@ -4661,10 +4661,10 @@ static inline int rte_eth_tx_descriptor_status(uint16_t port_id,
 	if (queue_id >= dev->data->nb_tx_queues)
 		return -ENODEV;
 #endif
-	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->tx_descriptor_status, -ENOTSUP);
+	RTE_FUNC_PTR_OR_ERR_RET(*dev->tx_descriptor_status, -ENOTSUP);
 	txq = dev->data->tx_queues[queue_id];
 
-	return (*dev->dev_ops->tx_descriptor_status)(txq, offset);
+	return (*dev->tx_descriptor_status)(txq, offset);
 }
 
 /**
diff --git a/lib/librte_ethdev/rte_ethdev_core.h b/lib/librte_ethdev/rte_ethdev_core.h
index 292a6423c4..275d51006b 100644
--- a/lib/librte_ethdev/rte_ethdev_core.h
+++ b/lib/librte_ethdev/rte_ethdev_core.h
@@ -657,12 +657,6 @@ struct eth_dev_ops {
 	eth_queue_stop_t           tx_queue_stop; /**< Stop TX for a queue. */
 	eth_rx_queue_setup_t       rx_queue_setup;/**< Set up device RX queue. */
 	eth_queue_release_t        rx_queue_release; /**< Release RX queue. */
-	eth_rx_queue_count_t       rx_queue_count;
-	/**< Get the number of used RX descriptors. */
-	eth_rx_descriptor_status_t rx_descriptor_status;
-	/**< Check the status of a Rx descriptor. */
-	eth_tx_descriptor_status_t tx_descriptor_status;
-	/**< Check the status of a Tx descriptor. */
 	/*
 	 * Static inline functions use functions ABOVE this comment.
 	 * New dev_ops functions should be added BELOW to avoid breaking ABI.
@@ -778,6 +772,11 @@ struct rte_eth_dev {
 	eth_rx_burst_t rx_pkt_burst; /**< Pointer to PMD receive function. */
 	eth_tx_burst_t tx_pkt_burst; /**< Pointer to PMD transmit function. */
 	eth_tx_prep_t tx_pkt_prepare; /**< Pointer to PMD transmit prepare function. */
+
+	eth_rx_queue_count_t       rx_queue_count; /**< Get the number of used RX descriptors. */
+	eth_rx_descriptor_status_t rx_descriptor_status; /**< Check the status of a Rx descriptor. */
+	eth_tx_descriptor_status_t tx_descriptor_status; /**< Check the status of a Tx descriptor. */
+
 	/**
 	 * Next two fields are per-device data but *data is shared between
 	 * primary and secondary processes and *process_private is per-process
-- 
2.25.4


^ permalink raw reply	[relevance 4%]

* [dpdk-dev] [PATCH v2 1/7] ethdev: remove legacy descriptor status check API
  2020-08-24  9:40  1% [dpdk-dev] [PATCH 1/7] ethdev: remove legacy descriptor status check API Ferruh Yigit
                   ` (3 preceding siblings ...)
  2020-08-29 11:47  0% ` [dpdk-dev] [PATCH 1/7] ethdev: remove legacy descriptor status check API Andrew Rybchenko
@ 2020-09-03 21:09  1% ` Ferruh Yigit
  2020-09-03 21:09  4%   ` [dpdk-dev] [PATCH v2 2/7] ethdev: move inline device operations Ferruh Yigit
                     ` (2 more replies)
  2020-09-09 11:12  4% ` [dpdk-dev] [PATCH v3 1/7] ethdev: deprecate descriptor status check API Ferruh Yigit
  2020-09-09 13:01  4% ` [dpdk-dev] [PATCH v4 1/7] ethdev: deprecate descriptor status check API Ferruh Yigit
  6 siblings, 3 replies; 200+ results
From: Ferruh Yigit @ 2020-09-03 21:09 UTC (permalink / raw)
  To: dev, John McNamara, Marko Kovacevic, Ray Kinsella, Neil Horman,
	Wei Zhao, Jeff Guo, John Daley, Hyong Youb Kim, Qi Zhang,
	Xiao Wang, Beilei Xing, Jerin Jacob, Nithin Dabilpuram,
	Kiran Kumar K, Andrew Rybchenko, Maxime Coquelin, Chenbo Xia,
	Zhihong Wang, Thomas Monjalon
  Cc: Ferruh Yigit

Removing 'rte_eth_rx_descriptor_done()' API and relevant
'rx_descriptor_done' function pointer from 'struct eth_dev_ops'.

Deprecation notice is to deprecate the API in 20.11 and remove one year
later, this is useful to prevent new applications use the API but keep
the support for old application. But since 20.11 have the ABI break and
most of the applications need to re-compile anyway will prevent them to
use the API, the affect will be same as removing the API. So removing it
in the 20.11 to reduce the churn.

'rx_descriptor_done' implementations removed from PMDs.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com>
---
 doc/guides/nics/features.rst            |  6 +-----
 doc/guides/rel_notes/deprecation.rst    |  5 -----
 drivers/net/e1000/e1000_ethdev.h        |  4 ----
 drivers/net/e1000/em_ethdev.c           |  1 -
 drivers/net/e1000/em_rxtx.c             | 17 ----------------
 drivers/net/e1000/igb_ethdev.c          |  2 --
 drivers/net/e1000/igb_rxtx.c            | 17 ----------------
 drivers/net/enic/enic_ethdev.c          |  1 -
 drivers/net/fm10k/fm10k.h               |  3 ---
 drivers/net/fm10k/fm10k_ethdev.c        |  1 -
 drivers/net/fm10k/fm10k_rxtx.c          | 25 ------------------------
 drivers/net/i40e/i40e_ethdev.c          |  1 -
 drivers/net/i40e/i40e_ethdev_vf.c       |  1 -
 drivers/net/i40e/i40e_rxtx.c            | 26 -------------------------
 drivers/net/i40e/i40e_rxtx.h            |  1 -
 drivers/net/igc/igc_ethdev.c            |  1 -
 drivers/net/igc/igc_txrx.c              | 18 -----------------
 drivers/net/igc/igc_txrx.h              |  2 --
 drivers/net/ixgbe/ixgbe_ethdev.c        |  2 --
 drivers/net/ixgbe/ixgbe_ethdev.h        |  2 --
 drivers/net/ixgbe/ixgbe_rxtx.c          | 18 -----------------
 drivers/net/octeontx2/otx2_ethdev.c     |  1 -
 drivers/net/octeontx2/otx2_ethdev.h     |  1 -
 drivers/net/octeontx2/otx2_ethdev_ops.c | 12 ------------
 drivers/net/sfc/sfc_ethdev.c            | 17 ----------------
 drivers/net/virtio/virtio_ethdev.c      |  1 -
 drivers/net/virtio/virtio_ethdev.h      |  2 --
 drivers/net/virtio/virtio_rxtx.c        |  9 ---------
 lib/librte_ethdev/rte_ethdev.h          | 25 ------------------------
 lib/librte_ethdev/rte_ethdev_core.h     |  4 ----
 30 files changed, 1 insertion(+), 225 deletions(-)

diff --git a/doc/guides/nics/features.rst b/doc/guides/nics/features.rst
index edd21c4d8e..701c592b26 100644
--- a/doc/guides/nics/features.rst
+++ b/doc/guides/nics/features.rst
@@ -642,14 +642,10 @@ Rx descriptor status
 --------------------
 
 Supports check the status of a Rx descriptor. When ``rx_descriptor_status`` is
-used, status can be "Available", "Done" or "Unavailable". When
-``rx_descriptor_done`` is used, status can be "DD bit is set" or "DD bit is
-not set".
+used, status can be "Available", "Done" or "Unavailable".
 
 * **[implements] eth_dev_ops**: ``rx_descriptor_status``.
 * **[related]    API**: ``rte_eth_rx_descriptor_status()``.
-* **[implements] eth_dev_ops**: ``rx_descriptor_done``.
-* **[related]    API**: ``rte_eth_rx_descriptor_done()``.
 
 
 .. _nic_features_tx_descriptor_status:
diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 345c38d5b6..811eaad6ce 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -220,11 +220,6 @@ Deprecation Notices
   for HW. This change is planned for 20.11. For more details:
   https://mails.dpdk.org/archives/dev/2020-July/176135.html.
 
-* ethdev: ``rx_descriptor_done`` dev_ops and ``rte_eth_rx_descriptor_done``
-  will be deprecated in 20.11 and will be removed in 21.11.
-  Existing ``rte_eth_rx_descriptor_status`` and ``rte_eth_tx_descriptor_status``
-  APIs can be used as replacement.
-
 * ethdev: The port mirroring API can be replaced with a more fine grain flow API.
   The structs ``rte_eth_mirror_conf``, ``rte_eth_vlan_mirror`` and the functions
   ``rte_eth_mirror_rule_set``, ``rte_eth_mirror_rule_reset`` will be marked
diff --git a/drivers/net/e1000/e1000_ethdev.h b/drivers/net/e1000/e1000_ethdev.h
index 1e41ae9de1..dce365226b 100644
--- a/drivers/net/e1000/e1000_ethdev.h
+++ b/drivers/net/e1000/e1000_ethdev.h
@@ -384,8 +384,6 @@ int eth_igb_rx_queue_setup(struct rte_eth_dev *dev, uint16_t rx_queue_id,
 uint32_t eth_igb_rx_queue_count(struct rte_eth_dev *dev,
 		uint16_t rx_queue_id);
 
-int eth_igb_rx_descriptor_done(void *rx_queue, uint16_t offset);
-
 int eth_igb_rx_descriptor_status(void *rx_queue, uint16_t offset);
 int eth_igb_tx_descriptor_status(void *tx_queue, uint16_t offset);
 
@@ -461,8 +459,6 @@ int eth_em_rx_queue_setup(struct rte_eth_dev *dev, uint16_t rx_queue_id,
 uint32_t eth_em_rx_queue_count(struct rte_eth_dev *dev,
 		uint16_t rx_queue_id);
 
-int eth_em_rx_descriptor_done(void *rx_queue, uint16_t offset);
-
 int eth_em_rx_descriptor_status(void *rx_queue, uint16_t offset);
 int eth_em_tx_descriptor_status(void *tx_queue, uint16_t offset);
 
diff --git a/drivers/net/e1000/em_ethdev.c b/drivers/net/e1000/em_ethdev.c
index 902b1cdca0..32872db9c2 100644
--- a/drivers/net/e1000/em_ethdev.c
+++ b/drivers/net/e1000/em_ethdev.c
@@ -177,7 +177,6 @@ static const struct eth_dev_ops eth_em_ops = {
 	.rx_queue_setup       = eth_em_rx_queue_setup,
 	.rx_queue_release     = eth_em_rx_queue_release,
 	.rx_queue_count       = eth_em_rx_queue_count,
-	.rx_descriptor_done   = eth_em_rx_descriptor_done,
 	.rx_descriptor_status = eth_em_rx_descriptor_status,
 	.tx_descriptor_status = eth_em_tx_descriptor_status,
 	.tx_queue_setup       = eth_em_tx_queue_setup,
diff --git a/drivers/net/e1000/em_rxtx.c b/drivers/net/e1000/em_rxtx.c
index 67a271e8ce..2ffc31b41d 100644
--- a/drivers/net/e1000/em_rxtx.c
+++ b/drivers/net/e1000/em_rxtx.c
@@ -1511,23 +1511,6 @@ eth_em_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id)
 	return desc;
 }
 
-int
-eth_em_rx_descriptor_done(void *rx_queue, uint16_t offset)
-{
-	volatile struct e1000_rx_desc *rxdp;
-	struct em_rx_queue *rxq = rx_queue;
-	uint32_t desc;
-
-	if (unlikely(offset >= rxq->nb_rx_desc))
-		return 0;
-	desc = rxq->rx_tail + offset;
-	if (desc >= rxq->nb_rx_desc)
-		desc -= rxq->nb_rx_desc;
-
-	rxdp = &rxq->rx_ring[desc];
-	return !!(rxdp->status & E1000_RXD_STAT_DD);
-}
-
 int
 eth_em_rx_descriptor_status(void *rx_queue, uint16_t offset)
 {
diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c
index a5551e8175..aec79c6ceb 100644
--- a/drivers/net/e1000/igb_ethdev.c
+++ b/drivers/net/e1000/igb_ethdev.c
@@ -381,7 +381,6 @@ static const struct eth_dev_ops eth_igb_ops = {
 	.rx_queue_intr_disable = eth_igb_rx_queue_intr_disable,
 	.rx_queue_release     = eth_igb_rx_queue_release,
 	.rx_queue_count       = eth_igb_rx_queue_count,
-	.rx_descriptor_done   = eth_igb_rx_descriptor_done,
 	.rx_descriptor_status = eth_igb_rx_descriptor_status,
 	.tx_descriptor_status = eth_igb_tx_descriptor_status,
 	.tx_queue_setup       = eth_igb_tx_queue_setup,
@@ -441,7 +440,6 @@ static const struct eth_dev_ops igbvf_eth_dev_ops = {
 	.dev_supported_ptypes_get = eth_igb_supported_ptypes_get,
 	.rx_queue_setup       = eth_igb_rx_queue_setup,
 	.rx_queue_release     = eth_igb_rx_queue_release,
-	.rx_descriptor_done   = eth_igb_rx_descriptor_done,
 	.rx_descriptor_status = eth_igb_rx_descriptor_status,
 	.tx_descriptor_status = eth_igb_tx_descriptor_status,
 	.tx_queue_setup       = eth_igb_tx_queue_setup,
diff --git a/drivers/net/e1000/igb_rxtx.c b/drivers/net/e1000/igb_rxtx.c
index dd520cd82c..d313893c3a 100644
--- a/drivers/net/e1000/igb_rxtx.c
+++ b/drivers/net/e1000/igb_rxtx.c
@@ -1791,23 +1791,6 @@ eth_igb_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id)
 	return desc;
 }
 
-int
-eth_igb_rx_descriptor_done(void *rx_queue, uint16_t offset)
-{
-	volatile union e1000_adv_rx_desc *rxdp;
-	struct igb_rx_queue *rxq = rx_queue;
-	uint32_t desc;
-
-	if (unlikely(offset >= rxq->nb_rx_desc))
-		return 0;
-	desc = rxq->rx_tail + offset;
-	if (desc >= rxq->nb_rx_desc)
-		desc -= rxq->nb_rx_desc;
-
-	rxdp = &rxq->rx_ring[desc];
-	return !!(rxdp->wb.upper.status_error & E1000_RXD_STAT_DD);
-}
-
 int
 eth_igb_rx_descriptor_status(void *rx_queue, uint16_t offset)
 {
diff --git a/drivers/net/enic/enic_ethdev.c b/drivers/net/enic/enic_ethdev.c
index ca75919ee2..1316c5c739 100644
--- a/drivers/net/enic/enic_ethdev.c
+++ b/drivers/net/enic/enic_ethdev.c
@@ -1142,7 +1142,6 @@ static const struct eth_dev_ops enicpmd_eth_dev_ops = {
 	.rx_queue_setup       = enicpmd_dev_rx_queue_setup,
 	.rx_queue_release     = enicpmd_dev_rx_queue_release,
 	.rx_queue_count       = enicpmd_dev_rx_queue_count,
-	.rx_descriptor_done   = NULL,
 	.tx_queue_setup       = enicpmd_dev_tx_queue_setup,
 	.tx_queue_release     = enicpmd_dev_tx_queue_release,
 	.rx_queue_intr_enable = enicpmd_dev_rx_queue_intr_enable,
diff --git a/drivers/net/fm10k/fm10k.h b/drivers/net/fm10k/fm10k.h
index 916b856acc..2e47ada829 100644
--- a/drivers/net/fm10k/fm10k.h
+++ b/drivers/net/fm10k/fm10k.h
@@ -326,9 +326,6 @@ uint16_t fm10k_recv_scattered_pkts(void *rx_queue,
 uint32_t
 fm10k_dev_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id);
 
-int
-fm10k_dev_rx_descriptor_done(void *rx_queue, uint16_t offset);
-
 int
 fm10k_dev_rx_descriptor_status(void *rx_queue, uint16_t offset);
 
diff --git a/drivers/net/fm10k/fm10k_ethdev.c b/drivers/net/fm10k/fm10k_ethdev.c
index fd927923da..56e2425e47 100644
--- a/drivers/net/fm10k/fm10k_ethdev.c
+++ b/drivers/net/fm10k/fm10k_ethdev.c
@@ -2856,7 +2856,6 @@ static const struct eth_dev_ops fm10k_eth_dev_ops = {
 	.tx_queue_setup		= fm10k_tx_queue_setup,
 	.tx_queue_release	= fm10k_tx_queue_release,
 	.rx_queue_count		= fm10k_dev_rx_queue_count,
-	.rx_descriptor_done	= fm10k_dev_rx_descriptor_done,
 	.rx_descriptor_status = fm10k_dev_rx_descriptor_status,
 	.tx_descriptor_status = fm10k_dev_tx_descriptor_status,
 	.rx_queue_intr_enable	= fm10k_dev_rx_queue_intr_enable,
diff --git a/drivers/net/fm10k/fm10k_rxtx.c b/drivers/net/fm10k/fm10k_rxtx.c
index 4accaa2cd6..399bb3da19 100644
--- a/drivers/net/fm10k/fm10k_rxtx.c
+++ b/drivers/net/fm10k/fm10k_rxtx.c
@@ -393,31 +393,6 @@ fm10k_dev_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id)
 	return desc;
 }
 
-int
-fm10k_dev_rx_descriptor_done(void *rx_queue, uint16_t offset)
-{
-	volatile union fm10k_rx_desc *rxdp;
-	struct fm10k_rx_queue *rxq = rx_queue;
-	uint16_t desc;
-	int ret;
-
-	if (unlikely(offset >= rxq->nb_desc)) {
-		PMD_DRV_LOG(ERR, "Invalid RX descriptor offset %u", offset);
-		return 0;
-	}
-
-	desc = rxq->next_dd + offset;
-	if (desc >= rxq->nb_desc)
-		desc -= rxq->nb_desc;
-
-	rxdp = &rxq->hw_ring[desc];
-
-	ret = !!(rxdp->w.status &
-			rte_cpu_to_le_16(FM10K_RXD_STATUS_DD));
-
-	return ret;
-}
-
 int
 fm10k_dev_rx_descriptor_status(void *rx_queue, uint16_t offset)
 {
diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index 11c02b1888..f8ed4a0b36 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -475,7 +475,6 @@ static const struct eth_dev_ops i40e_eth_dev_ops = {
 	.rx_queue_intr_disable        = i40e_dev_rx_queue_intr_disable,
 	.rx_queue_release             = i40e_dev_rx_queue_release,
 	.rx_queue_count               = i40e_dev_rx_queue_count,
-	.rx_descriptor_done           = i40e_dev_rx_descriptor_done,
 	.rx_descriptor_status         = i40e_dev_rx_descriptor_status,
 	.tx_descriptor_status         = i40e_dev_tx_descriptor_status,
 	.tx_queue_setup               = i40e_dev_tx_queue_setup,
diff --git a/drivers/net/i40e/i40e_ethdev_vf.c b/drivers/net/i40e/i40e_ethdev_vf.c
index b4e42939e6..d32e655d90 100644
--- a/drivers/net/i40e/i40e_ethdev_vf.c
+++ b/drivers/net/i40e/i40e_ethdev_vf.c
@@ -199,7 +199,6 @@ static const struct eth_dev_ops i40evf_eth_dev_ops = {
 	.rx_queue_release     = i40e_dev_rx_queue_release,
 	.rx_queue_intr_enable = i40evf_dev_rx_queue_intr_enable,
 	.rx_queue_intr_disable = i40evf_dev_rx_queue_intr_disable,
-	.rx_descriptor_done   = i40e_dev_rx_descriptor_done,
 	.rx_descriptor_status = i40e_dev_rx_descriptor_status,
 	.tx_descriptor_status = i40e_dev_tx_descriptor_status,
 	.tx_queue_setup       = i40e_dev_tx_queue_setup,
diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c
index fe7f9200c1..645fbf401c 100644
--- a/drivers/net/i40e/i40e_rxtx.c
+++ b/drivers/net/i40e/i40e_rxtx.c
@@ -2032,32 +2032,6 @@ i40e_dev_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id)
 	return desc;
 }
 
-int
-i40e_dev_rx_descriptor_done(void *rx_queue, uint16_t offset)
-{
-	volatile union i40e_rx_desc *rxdp;
-	struct i40e_rx_queue *rxq = rx_queue;
-	uint16_t desc;
-	int ret;
-
-	if (unlikely(offset >= rxq->nb_rx_desc)) {
-		PMD_DRV_LOG(ERR, "Invalid RX descriptor id %u", offset);
-		return 0;
-	}
-
-	desc = rxq->rx_tail + offset;
-	if (desc >= rxq->nb_rx_desc)
-		desc -= rxq->nb_rx_desc;
-
-	rxdp = &(rxq->rx_ring[desc]);
-
-	ret = !!(((rte_le_to_cpu_64(rxdp->wb.qword1.status_error_len) &
-		I40E_RXD_QW1_STATUS_MASK) >> I40E_RXD_QW1_STATUS_SHIFT) &
-				(1 << I40E_RX_DESC_STATUS_DD_SHIFT));
-
-	return ret;
-}
-
 int
 i40e_dev_rx_descriptor_status(void *rx_queue, uint16_t offset)
 {
diff --git a/drivers/net/i40e/i40e_rxtx.h b/drivers/net/i40e/i40e_rxtx.h
index 57d7b4160b..925f3d853d 100644
--- a/drivers/net/i40e/i40e_rxtx.h
+++ b/drivers/net/i40e/i40e_rxtx.h
@@ -221,7 +221,6 @@ void i40e_rx_queue_release_mbufs(struct i40e_rx_queue *rxq);
 
 uint32_t i40e_dev_rx_queue_count(struct rte_eth_dev *dev,
 				 uint16_t rx_queue_id);
-int i40e_dev_rx_descriptor_done(void *rx_queue, uint16_t offset);
 int i40e_dev_rx_descriptor_status(void *rx_queue, uint16_t offset);
 int i40e_dev_tx_descriptor_status(void *tx_queue, uint16_t offset);
 
diff --git a/drivers/net/igc/igc_ethdev.c b/drivers/net/igc/igc_ethdev.c
index 6ab3ee909d..ace6b3fb3d 100644
--- a/drivers/net/igc/igc_ethdev.c
+++ b/drivers/net/igc/igc_ethdev.c
@@ -273,7 +273,6 @@ static const struct eth_dev_ops eth_igc_ops = {
 	.rx_queue_setup		= eth_igc_rx_queue_setup,
 	.rx_queue_release	= eth_igc_rx_queue_release,
 	.rx_queue_count		= eth_igc_rx_queue_count,
-	.rx_descriptor_done	= eth_igc_rx_descriptor_done,
 	.rx_descriptor_status	= eth_igc_rx_descriptor_status,
 	.tx_descriptor_status	= eth_igc_tx_descriptor_status,
 	.tx_queue_setup		= eth_igc_tx_queue_setup,
diff --git a/drivers/net/igc/igc_txrx.c b/drivers/net/igc/igc_txrx.c
index 4654ec41f0..f3962533d5 100644
--- a/drivers/net/igc/igc_txrx.c
+++ b/drivers/net/igc/igc_txrx.c
@@ -756,24 +756,6 @@ uint32_t eth_igc_rx_queue_count(struct rte_eth_dev *dev,
 	return desc;
 }
 
-int eth_igc_rx_descriptor_done(void *rx_queue, uint16_t offset)
-{
-	volatile union igc_adv_rx_desc *rxdp;
-	struct igc_rx_queue *rxq = rx_queue;
-	uint32_t desc;
-
-	if (unlikely(!rxq || offset >= rxq->nb_rx_desc))
-		return 0;
-
-	desc = rxq->rx_tail + offset;
-	if (desc >= rxq->nb_rx_desc)
-		desc -= rxq->nb_rx_desc;
-
-	rxdp = &rxq->rx_ring[desc];
-	return !!(rxdp->wb.upper.status_error &
-			rte_cpu_to_le_32(IGC_RXD_STAT_DD));
-}
-
 int eth_igc_rx_descriptor_status(void *rx_queue, uint16_t offset)
 {
 	struct igc_rx_queue *rxq = rx_queue;
diff --git a/drivers/net/igc/igc_txrx.h b/drivers/net/igc/igc_txrx.h
index f2b2d75bbc..d6f3799639 100644
--- a/drivers/net/igc/igc_txrx.h
+++ b/drivers/net/igc/igc_txrx.h
@@ -25,8 +25,6 @@ int eth_igc_rx_queue_setup(struct rte_eth_dev *dev, uint16_t rx_queue_id,
 uint32_t eth_igc_rx_queue_count(struct rte_eth_dev *dev,
 		uint16_t rx_queue_id);
 
-int eth_igc_rx_descriptor_done(void *rx_queue, uint16_t offset);
-
 int eth_igc_rx_descriptor_status(void *rx_queue, uint16_t offset);
 
 int eth_igc_tx_descriptor_status(void *tx_queue, uint16_t offset);
diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index fd0cb9b0e2..f536ca61cf 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -546,7 +546,6 @@ static const struct eth_dev_ops ixgbe_eth_dev_ops = {
 	.rx_queue_intr_disable = ixgbe_dev_rx_queue_intr_disable,
 	.rx_queue_release     = ixgbe_dev_rx_queue_release,
 	.rx_queue_count       = ixgbe_dev_rx_queue_count,
-	.rx_descriptor_done   = ixgbe_dev_rx_descriptor_done,
 	.rx_descriptor_status = ixgbe_dev_rx_descriptor_status,
 	.tx_descriptor_status = ixgbe_dev_tx_descriptor_status,
 	.tx_queue_setup       = ixgbe_dev_tx_queue_setup,
@@ -622,7 +621,6 @@ static const struct eth_dev_ops ixgbevf_eth_dev_ops = {
 	.vlan_offload_set     = ixgbevf_vlan_offload_set,
 	.rx_queue_setup       = ixgbe_dev_rx_queue_setup,
 	.rx_queue_release     = ixgbe_dev_rx_queue_release,
-	.rx_descriptor_done   = ixgbe_dev_rx_descriptor_done,
 	.rx_descriptor_status = ixgbe_dev_rx_descriptor_status,
 	.tx_descriptor_status = ixgbe_dev_tx_descriptor_status,
 	.tx_queue_setup       = ixgbe_dev_tx_queue_setup,
diff --git a/drivers/net/ixgbe/ixgbe_ethdev.h b/drivers/net/ixgbe/ixgbe_ethdev.h
index 9bdef87fbd..b0e2b2452f 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.h
+++ b/drivers/net/ixgbe/ixgbe_ethdev.h
@@ -602,8 +602,6 @@ int  ixgbe_dev_tx_queue_setup(struct rte_eth_dev *dev, uint16_t tx_queue_id,
 uint32_t ixgbe_dev_rx_queue_count(struct rte_eth_dev *dev,
 		uint16_t rx_queue_id);
 
-int ixgbe_dev_rx_descriptor_done(void *rx_queue, uint16_t offset);
-
 int ixgbe_dev_rx_descriptor_status(void *rx_queue, uint16_t offset);
 int ixgbe_dev_tx_descriptor_status(void *tx_queue, uint16_t offset);
 
diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c
index 977ecf5137..5254fe3738 100644
--- a/drivers/net/ixgbe/ixgbe_rxtx.c
+++ b/drivers/net/ixgbe/ixgbe_rxtx.c
@@ -3216,24 +3216,6 @@ ixgbe_dev_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id)
 	return desc;
 }
 
-int
-ixgbe_dev_rx_descriptor_done(void *rx_queue, uint16_t offset)
-{
-	volatile union ixgbe_adv_rx_desc *rxdp;
-	struct ixgbe_rx_queue *rxq = rx_queue;
-	uint32_t desc;
-
-	if (unlikely(offset >= rxq->nb_rx_desc))
-		return 0;
-	desc = rxq->rx_tail + offset;
-	if (desc >= rxq->nb_rx_desc)
-		desc -= rxq->nb_rx_desc;
-
-	rxdp = &rxq->rx_ring[desc];
-	return !!(rxdp->wb.upper.status_error &
-			rte_cpu_to_le_32(IXGBE_RXDADV_STAT_DD));
-}
-
 int
 ixgbe_dev_rx_descriptor_status(void *rx_queue, uint16_t offset)
 {
diff --git a/drivers/net/octeontx2/otx2_ethdev.c b/drivers/net/octeontx2/otx2_ethdev.c
index 33b72bd4db..b5d25fe68e 100644
--- a/drivers/net/octeontx2/otx2_ethdev.c
+++ b/drivers/net/octeontx2/otx2_ethdev.c
@@ -2273,7 +2273,6 @@ static const struct eth_dev_ops otx2_eth_dev_ops = {
 	.rx_burst_mode_get        = otx2_rx_burst_mode_get,
 	.tx_burst_mode_get        = otx2_tx_burst_mode_get,
 	.rx_queue_count           = otx2_nix_rx_queue_count,
-	.rx_descriptor_done       = otx2_nix_rx_descriptor_done,
 	.rx_descriptor_status     = otx2_nix_rx_descriptor_status,
 	.tx_descriptor_status     = otx2_nix_tx_descriptor_status,
 	.tx_done_cleanup          = otx2_nix_tx_done_cleanup,
diff --git a/drivers/net/octeontx2/otx2_ethdev.h b/drivers/net/octeontx2/otx2_ethdev.h
index e9efe52bb0..10bcd1b6a4 100644
--- a/drivers/net/octeontx2/otx2_ethdev.h
+++ b/drivers/net/octeontx2/otx2_ethdev.h
@@ -412,7 +412,6 @@ int otx2_tx_burst_mode_get(struct rte_eth_dev *dev, uint16_t queue_id,
 			   struct rte_eth_burst_mode *mode);
 uint32_t otx2_nix_rx_queue_count(struct rte_eth_dev *eth_dev, uint16_t qidx);
 int otx2_nix_tx_done_cleanup(void *txq, uint32_t free_cnt);
-int otx2_nix_rx_descriptor_done(void *rxq, uint16_t offset);
 int otx2_nix_rx_descriptor_status(void *rx_queue, uint16_t offset);
 int otx2_nix_tx_descriptor_status(void *tx_queue, uint16_t offset);
 
diff --git a/drivers/net/octeontx2/otx2_ethdev_ops.c b/drivers/net/octeontx2/otx2_ethdev_ops.c
index faecf216c1..6c6a4f35e9 100644
--- a/drivers/net/octeontx2/otx2_ethdev_ops.c
+++ b/drivers/net/octeontx2/otx2_ethdev_ops.c
@@ -371,18 +371,6 @@ nix_offset_has_packet(uint32_t head, uint32_t tail, uint16_t offset)
 	return 0;
 }
 
-int
-otx2_nix_rx_descriptor_done(void *rx_queue, uint16_t offset)
-{
-	struct otx2_eth_rxq *rxq = rx_queue;
-	uint32_t head, tail;
-
-	nix_rx_head_tail_get(otx2_eth_pmd_priv(rxq->eth_dev),
-			     &head, &tail, rxq->rq);
-
-	return nix_offset_has_packet(head, tail, offset);
-}
-
 int
 otx2_nix_rx_descriptor_status(void *rx_queue, uint16_t offset)
 {
diff --git a/drivers/net/sfc/sfc_ethdev.c b/drivers/net/sfc/sfc_ethdev.c
index acee3e48e4..65e0ff7d48 100644
--- a/drivers/net/sfc/sfc_ethdev.c
+++ b/drivers/net/sfc/sfc_ethdev.c
@@ -1221,21 +1221,6 @@ sfc_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id)
 	return sap->dp_rx->qdesc_npending(rxq_info->dp);
 }
 
-/*
- * The function is used by the secondary process as well. It must not
- * use any process-local pointers from the adapter data.
- */
-static int
-sfc_rx_descriptor_done(void *queue, uint16_t offset)
-{
-	struct sfc_dp_rxq *dp_rxq = queue;
-	const struct sfc_dp_rx *dp_rx;
-
-	dp_rx = sfc_dp_rx_by_dp_rxq(dp_rxq);
-
-	return offset < dp_rx->qdesc_npending(dp_rxq);
-}
-
 /*
  * The function is used by the secondary process as well. It must not
  * use any process-local pointers from the adapter data.
@@ -1820,7 +1805,6 @@ static const struct eth_dev_ops sfc_eth_dev_ops = {
 	.rx_queue_setup			= sfc_rx_queue_setup,
 	.rx_queue_release		= sfc_rx_queue_release,
 	.rx_queue_count			= sfc_rx_queue_count,
-	.rx_descriptor_done		= sfc_rx_descriptor_done,
 	.rx_descriptor_status		= sfc_rx_descriptor_status,
 	.tx_descriptor_status		= sfc_tx_descriptor_status,
 	.rx_queue_intr_enable		= sfc_rx_queue_intr_enable,
@@ -2018,7 +2002,6 @@ sfc_eth_dev_clear_ops(struct rte_eth_dev *dev)
 static const struct eth_dev_ops sfc_eth_dev_secondary_ops = {
 	.dev_supported_ptypes_get	= sfc_dev_supported_ptypes_get,
 	.rx_queue_count			= sfc_rx_queue_count,
-	.rx_descriptor_done		= sfc_rx_descriptor_done,
 	.rx_descriptor_status		= sfc_rx_descriptor_status,
 	.tx_descriptor_status		= sfc_tx_descriptor_status,
 	.reta_query			= sfc_dev_rss_reta_query,
diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
index dc0093bdf0..8658b6f2f0 100644
--- a/drivers/net/virtio/virtio_ethdev.c
+++ b/drivers/net/virtio/virtio_ethdev.c
@@ -920,7 +920,6 @@ static const struct eth_dev_ops virtio_eth_dev_ops = {
 	.rx_queue_intr_enable    = virtio_dev_rx_queue_intr_enable,
 	.rx_queue_intr_disable   = virtio_dev_rx_queue_intr_disable,
 	.rx_queue_release        = virtio_dev_queue_release,
-	.rx_descriptor_done      = virtio_dev_rx_queue_done,
 	.tx_queue_setup          = virtio_dev_tx_queue_setup,
 	.tx_queue_release        = virtio_dev_queue_release,
 	/* collect stats per queue */
diff --git a/drivers/net/virtio/virtio_ethdev.h b/drivers/net/virtio/virtio_ethdev.h
index b7d52d497f..c93f320f83 100644
--- a/drivers/net/virtio/virtio_ethdev.h
+++ b/drivers/net/virtio/virtio_ethdev.h
@@ -60,8 +60,6 @@ void virtio_dev_cq_start(struct rte_eth_dev *dev);
  * RX/TX function prototypes
  */
 
-int virtio_dev_rx_queue_done(void *rxq, uint16_t offset);
-
 int  virtio_dev_rx_queue_setup(struct rte_eth_dev *dev, uint16_t rx_queue_id,
 		uint16_t nb_rx_desc, unsigned int socket_id,
 		const struct rte_eth_rxconf *rx_conf,
diff --git a/drivers/net/virtio/virtio_rxtx.c b/drivers/net/virtio/virtio_rxtx.c
index f915b8a2c9..043788876e 100644
--- a/drivers/net/virtio/virtio_rxtx.c
+++ b/drivers/net/virtio/virtio_rxtx.c
@@ -39,15 +39,6 @@
 #define  VIRTIO_DUMP_PACKET(m, len) do { } while (0)
 #endif
 
-int
-virtio_dev_rx_queue_done(void *rxq, uint16_t offset)
-{
-	struct virtnet_rx *rxvq = rxq;
-	struct virtqueue *vq = rxvq->vq;
-
-	return virtqueue_nused(vq) >= offset;
-}
-
 void
 vq_ring_free_inorder(struct virtqueue *vq, uint16_t desc_idx, uint16_t num)
 {
diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
index 70295d7ab7..b52b04f7e0 100644
--- a/lib/librte_ethdev/rte_ethdev.h
+++ b/lib/librte_ethdev/rte_ethdev.h
@@ -4552,31 +4552,6 @@ rte_eth_rx_queue_count(uint16_t port_id, uint16_t queue_id)
 	return (int)(*dev->dev_ops->rx_queue_count)(dev, queue_id);
 }
 
-/**
- * Check if the DD bit of the specific RX descriptor in the queue has been set
- *
- * @param port_id
- *  The port identifier of the Ethernet device.
- * @param queue_id
- *  The queue id on the specific port.
- * @param offset
- *  The offset of the descriptor ID from tail.
- * @return
- *  - (1) if the specific DD bit is set.
- *  - (0) if the specific DD bit is not set.
- *  - (-ENODEV) if *port_id* invalid.
- *  - (-ENOTSUP) if the device does not support this function
- */
-static inline int
-rte_eth_rx_descriptor_done(uint16_t port_id, uint16_t queue_id, uint16_t offset)
-{
-	struct rte_eth_dev *dev = &rte_eth_devices[port_id];
-	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
-	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->rx_descriptor_done, -ENOTSUP);
-	return (*dev->dev_ops->rx_descriptor_done)( \
-		dev->data->rx_queues[queue_id], offset);
-}
-
 #define RTE_ETH_RX_DESC_AVAIL    0 /**< Desc available for hw. */
 #define RTE_ETH_RX_DESC_DONE     1 /**< Desc done, filled by hw. */
 #define RTE_ETH_RX_DESC_UNAVAIL  2 /**< Desc used by driver or hw. */
diff --git a/lib/librte_ethdev/rte_ethdev_core.h b/lib/librte_ethdev/rte_ethdev_core.h
index 32407dd418..292a6423c4 100644
--- a/lib/librte_ethdev/rte_ethdev_core.h
+++ b/lib/librte_ethdev/rte_ethdev_core.h
@@ -287,9 +287,6 @@ typedef uint32_t (*eth_rx_queue_count_t)(struct rte_eth_dev *dev,
 					 uint16_t rx_queue_id);
 /**< @internal Get number of used descriptors on a receive queue. */
 
-typedef int (*eth_rx_descriptor_done_t)(void *rxq, uint16_t offset);
-/**< @internal Check DD bit of specific RX descriptor */
-
 typedef int (*eth_rx_descriptor_status_t)(void *rxq, uint16_t offset);
 /**< @internal Check the status of a Rx descriptor */
 
@@ -662,7 +659,6 @@ struct eth_dev_ops {
 	eth_queue_release_t        rx_queue_release; /**< Release RX queue. */
 	eth_rx_queue_count_t       rx_queue_count;
 	/**< Get the number of used RX descriptors. */
-	eth_rx_descriptor_done_t   rx_descriptor_done; /**< Check rxd DD bit. */
 	eth_rx_descriptor_status_t rx_descriptor_status;
 	/**< Check the status of a Rx descriptor. */
 	eth_tx_descriptor_status_t tx_descriptor_status;
-- 
2.25.4


^ permalink raw reply	[relevance 1%]

* [dpdk-dev] [PATCH] security: update session create API
@ 2020-09-03 20:09  3% ` akhil.goyal
  2020-09-04 16:04  0%   ` Lukasz Wojciechowski
  0 siblings, 1 reply; 200+ results
From: akhil.goyal @ 2020-09-03 20:09 UTC (permalink / raw)
  To: dev, thomas, mdr, anoobj
  Cc: hemant.agrawal, konstantin.ananyev, declan.doherty, david.coyle,
	radu.nicolau, Akhil Goyal

From: Akhil Goyal <akhil.goyal@nxp.com>

The API ``rte_security_session_create`` takes only single
mempool for session and session private data. So the
application need to create mempool for twice the number of
sessions needed and will also lead to wastage of memory as
session private data need more memory compared to session.
Hence the API is modified to take two mempool pointers
- one for session and one for private data.
This is very similar to crypto based session create APIs.

Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com>
---
 app/test-crypto-perf/cperf_ops.c       |  4 +--
 app/test/test_cryptodev.c              |  8 +++--
 app/test/test_ipsec.c                  |  3 +-
 app/test/test_security.c               | 42 ++++++++++++++++++++------
 doc/guides/prog_guide/rte_security.rst |  6 ++--
 doc/guides/rel_notes/deprecation.rst   |  7 -----
 doc/guides/rel_notes/release_20_11.rst |  6 ++++
 examples/ipsec-secgw/ipsec-secgw.c     | 12 ++------
 examples/ipsec-secgw/ipsec.c           |  9 ++++--
 lib/librte_security/rte_security.c     |  6 ++--
 lib/librte_security/rte_security.h     |  4 ++-
 11 files changed, 68 insertions(+), 39 deletions(-)

diff --git a/app/test-crypto-perf/cperf_ops.c b/app/test-crypto-perf/cperf_ops.c
index 3da835a9c..3a64a2c34 100644
--- a/app/test-crypto-perf/cperf_ops.c
+++ b/app/test-crypto-perf/cperf_ops.c
@@ -621,7 +621,7 @@ cperf_create_session(struct rte_mempool *sess_mp,
 
 		/* Create security session */
 		return (void *)rte_security_session_create(ctx,
-					&sess_conf, sess_mp);
+					&sess_conf, sess_mp, priv_mp);
 	}
 	if (options->op_type == CPERF_DOCSIS) {
 		enum rte_security_docsis_direction direction;
@@ -664,7 +664,7 @@ cperf_create_session(struct rte_mempool *sess_mp,
 
 		/* Create security session */
 		return (void *)rte_security_session_create(ctx,
-					&sess_conf, priv_mp);
+					&sess_conf, sess_mp, priv_mp);
 	}
 #endif
 	sess = rte_cryptodev_sym_session_create(sess_mp);
diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c
index 70bf6fe2c..6d7da1408 100644
--- a/app/test/test_cryptodev.c
+++ b/app/test/test_cryptodev.c
@@ -7219,7 +7219,8 @@ test_pdcp_proto(int i, int oop,
 
 	/* Create security session */
 	ut_params->sec_session = rte_security_session_create(ctx,
-				&sess_conf, ts_params->session_priv_mpool);
+				&sess_conf, ts_params->session_mpool,
+				ts_params->session_priv_mpool);
 
 	if (!ut_params->sec_session) {
 		printf("TestCase %s()-%d line %d failed %s: ",
@@ -7479,7 +7480,8 @@ test_pdcp_proto_SGL(int i, int oop,
 
 	/* Create security session */
 	ut_params->sec_session = rte_security_session_create(ctx,
-				&sess_conf, ts_params->session_priv_mpool);
+				&sess_conf, ts_params->session_mpool,
+				ts_params->session_priv_mpool);
 
 	if (!ut_params->sec_session) {
 		printf("TestCase %s()-%d line %d failed %s: ",
@@ -7836,6 +7838,7 @@ test_docsis_proto_uplink(int i, struct docsis_test_data *d_td)
 
 	/* Create security session */
 	ut_params->sec_session = rte_security_session_create(ctx, &sess_conf,
+					ts_params->session_mpool,
 					ts_params->session_priv_mpool);
 
 	if (!ut_params->sec_session) {
@@ -8011,6 +8014,7 @@ test_docsis_proto_downlink(int i, struct docsis_test_data *d_td)
 
 	/* Create security session */
 	ut_params->sec_session = rte_security_session_create(ctx, &sess_conf,
+					ts_params->session_mpool,
 					ts_params->session_priv_mpool);
 
 	if (!ut_params->sec_session) {
diff --git a/app/test/test_ipsec.c b/app/test/test_ipsec.c
index 79d00d7e0..9ad07a179 100644
--- a/app/test/test_ipsec.c
+++ b/app/test/test_ipsec.c
@@ -632,7 +632,8 @@ create_dummy_sec_session(struct ipsec_unitest_params *ut,
 	static struct rte_security_session_conf conf;
 
 	ut->ss[j].security.ses = rte_security_session_create(&dummy_sec_ctx,
-					&conf, qp->mp_session_private);
+					&conf, qp->mp_session,
+					qp->mp_session_private);
 
 	if (ut->ss[j].security.ses == NULL)
 		return -ENOMEM;
diff --git a/app/test/test_security.c b/app/test/test_security.c
index 77fd5adc6..ed7de348f 100644
--- a/app/test/test_security.c
+++ b/app/test/test_security.c
@@ -237,6 +237,7 @@ static struct mock_session_create_data {
 	struct rte_security_session_conf *conf;
 	struct rte_security_session *sess;
 	struct rte_mempool *mp;
+	struct rte_mempool *priv_mp;
 
 	int ret;
 
@@ -502,6 +503,7 @@ struct rte_security_ops mock_ops = {
  */
 static struct security_testsuite_params {
 	struct rte_mempool *session_mpool;
+	struct rte_mempool *session_priv_mpool;
 } testsuite_params = { NULL };
 
 /**
@@ -525,6 +527,7 @@ static struct security_unittest_params {
 };
 
 #define SECURITY_TEST_MEMPOOL_NAME "SecurityTestsMempoolName"
+#define SECURITY_TEST_PRIV_MEMPOOL_NAME "SecurityTestsPrivMempoolName"
 #define SECURITY_TEST_MEMPOOL_SIZE 15
 #define SECURITY_TEST_SESSION_OBJECT_SIZE sizeof(struct rte_security_session)
 
@@ -545,6 +548,17 @@ testsuite_setup(void)
 			SOCKET_ID_ANY, 0);
 	TEST_ASSERT_NOT_NULL(ts_params->session_mpool,
 			"Cannot create mempool %s\n", rte_strerror(rte_errno));
+
+	ts_params->session_priv_mpool = rte_mempool_create(
+			SECURITY_TEST_PRIV_MEMPOOL_NAME,
+			SECURITY_TEST_MEMPOOL_SIZE,
+			rte_security_session_get_size(&unittest_params.ctx),
+			0, 0, NULL, NULL, NULL, NULL,
+			SOCKET_ID_ANY, 0);
+	TEST_ASSERT_NOT_NULL(ts_params->session_priv_mpool,
+			"Cannot create priv mempool %s\n",
+			rte_strerror(rte_errno));
+
 	return TEST_SUCCESS;
 }
 
@@ -659,7 +673,8 @@ ut_setup_with_session(void)
 	mock_session_create_exp.ret = 0;
 
 	sess = rte_security_session_create(&ut_params->ctx, &ut_params->conf,
-			ts_params->session_mpool);
+			ts_params->session_mpool,
+			ts_params->session_priv_mpool);
 	TEST_ASSERT_MOCK_FUNCTION_CALL_NOT_NULL(rte_security_session_create,
 			sess);
 	TEST_ASSERT_EQUAL(sess, mock_session_create_exp.sess,
@@ -701,7 +716,8 @@ test_session_create_inv_context(void)
 	struct rte_security_session *sess;
 
 	sess = rte_security_session_create(NULL, &ut_params->conf,
-			ts_params->session_mpool);
+			ts_params->session_mpool,
+			ts_params->session_priv_mpool);
 	TEST_ASSERT_MOCK_FUNCTION_CALL_RET(rte_security_session_create,
 			sess, NULL, "%p");
 	TEST_ASSERT_MOCK_CALLS(mock_session_create_exp, 0);
@@ -725,7 +741,8 @@ test_session_create_inv_context_ops(void)
 	ut_params->ctx.ops = NULL;
 
 	sess = rte_security_session_create(&ut_params->ctx, &ut_params->conf,
-			ts_params->session_mpool);
+			ts_params->session_mpool,
+			ts_params->session_priv_mpool);
 	TEST_ASSERT_MOCK_FUNCTION_CALL_RET(rte_security_session_create,
 			sess, NULL, "%p");
 	TEST_ASSERT_MOCK_CALLS(mock_session_create_exp, 0);
@@ -749,7 +766,8 @@ test_session_create_inv_context_ops_fun(void)
 	ut_params->ctx.ops = &empty_ops;
 
 	sess = rte_security_session_create(&ut_params->ctx, &ut_params->conf,
-			ts_params->session_mpool);
+			ts_params->session_mpool,
+			ts_params->session_priv_mpool);
 	TEST_ASSERT_MOCK_FUNCTION_CALL_RET(rte_security_session_create,
 			sess, NULL, "%p");
 	TEST_ASSERT_MOCK_CALLS(mock_session_create_exp, 0);
@@ -770,7 +788,8 @@ test_session_create_inv_configuration(void)
 	struct rte_security_session *sess;
 
 	sess = rte_security_session_create(&ut_params->ctx, NULL,
-			ts_params->session_mpool);
+			ts_params->session_mpool,
+			ts_params->session_priv_mpool);
 	TEST_ASSERT_MOCK_FUNCTION_CALL_RET(rte_security_session_create,
 			sess, NULL, "%p");
 	TEST_ASSERT_MOCK_CALLS(mock_session_create_exp, 0);
@@ -790,7 +809,7 @@ test_session_create_inv_mempool(void)
 	struct rte_security_session *sess;
 
 	sess = rte_security_session_create(&ut_params->ctx, &ut_params->conf,
-			NULL);
+			NULL, NULL);
 	TEST_ASSERT_MOCK_FUNCTION_CALL_RET(rte_security_session_create,
 			sess, NULL, "%p");
 	TEST_ASSERT_MOCK_CALLS(mock_session_create_exp, 0);
@@ -824,7 +843,8 @@ test_session_create_mempool_empty(void)
 	TEST_ASSERT_MEMPOOL_USAGE(SECURITY_TEST_MEMPOOL_SIZE);
 
 	sess = rte_security_session_create(&ut_params->ctx, &ut_params->conf,
-			ts_params->session_mpool);
+			ts_params->session_mpool,
+			ts_params->session_priv_mpool);
 	TEST_ASSERT_MOCK_FUNCTION_CALL_RET(rte_security_session_create,
 			sess, NULL, "%p");
 	TEST_ASSERT_MOCK_CALLS(mock_session_create_exp, 0);
@@ -853,10 +873,12 @@ test_session_create_ops_failure(void)
 	mock_session_create_exp.device = NULL;
 	mock_session_create_exp.conf = &ut_params->conf;
 	mock_session_create_exp.mp = ts_params->session_mpool;
+	mock_session_create_exp.priv_mp = ts_params->session_priv_mpool;
 	mock_session_create_exp.ret = -1;	/* Return failure status. */
 
 	sess = rte_security_session_create(&ut_params->ctx, &ut_params->conf,
-			ts_params->session_mpool);
+			ts_params->session_mpool,
+			ts_params->session_priv_mpool);
 	TEST_ASSERT_MOCK_FUNCTION_CALL_RET(rte_security_session_create,
 			sess, NULL, "%p");
 	TEST_ASSERT_MOCK_CALLS(mock_session_create_exp, 1);
@@ -879,10 +901,12 @@ test_session_create_success(void)
 	mock_session_create_exp.device = NULL;
 	mock_session_create_exp.conf = &ut_params->conf;
 	mock_session_create_exp.mp = ts_params->session_mpool;
+	mock_session_create_exp.priv_mp = ts_params->session_priv_mpool;
 	mock_session_create_exp.ret = 0;	/* Return success status. */
 
 	sess = rte_security_session_create(&ut_params->ctx, &ut_params->conf,
-			ts_params->session_mpool);
+			ts_params->session_mpool,
+			ts_params->session_priv_mpool);
 	TEST_ASSERT_MOCK_FUNCTION_CALL_NOT_NULL(rte_security_session_create,
 			sess);
 	TEST_ASSERT_EQUAL(sess, mock_session_create_exp.sess,
diff --git a/doc/guides/prog_guide/rte_security.rst b/doc/guides/prog_guide/rte_security.rst
index 127da2e4f..cff0653f5 100644
--- a/doc/guides/prog_guide/rte_security.rst
+++ b/doc/guides/prog_guide/rte_security.rst
@@ -533,8 +533,10 @@ and this allows further acceleration of the offload of Crypto workloads.
 
 The Security framework provides APIs to create and free sessions for crypto/ethernet
 devices, where sessions are mempool objects. It is the application's responsibility
-to create and manage the session mempools. The mempool object size should be able to
-accommodate the driver's private data of security session.
+to create and manage two session mempools - one for session and other for session
+private data. The mempool object size should be able to accommodate the driver's
+private data of security session. The application can get the size of session private
+data using API ``rte_security_session_get_size``.
 
 Once the session mempools have been created, ``rte_security_session_create()``
 is used to allocate and initialize a session for the required crypto/ethernet device.
diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 345c38d5b..84be88a13 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -263,13 +263,6 @@ Deprecation Notices
   This feature faces reliability issues and is often conflicting with
   new features being implemented.
 
-* security: The API ``rte_security_session_create`` takes only single mempool
-  for session and session private data. So the application need to create
-  mempool for twice the number of sessions needed and will also lead to
-  wastage of memory as session private data need more memory compared to session.
-  Hence the API will be modified to take two mempool pointers - one for session
-  and one for private data.
-
 * cryptodev: ``RTE_CRYPTO_AEAD_LIST_END`` from ``enum rte_crypto_aead_algorithm``,
   ``RTE_CRYPTO_CIPHER_LIST_END`` from ``enum rte_crypto_cipher_algorithm`` and
   ``RTE_CRYPTO_AUTH_LIST_END`` from ``enum rte_crypto_auth_algorithm``
diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index df227a177..04c1a1b81 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -84,6 +84,12 @@ API Changes
    Also, make sure to start the actual text at the margin.
    =======================================================
 
+* security: The API ``rte_security_session_create`` is updated to take two
+  mempool objects one for session and other for session private data.
+  So the application need to create two mempools and get the size of session
+  private data using API ``rte_security_session_get_size`` for private session
+  mempool.
+
 
 ABI Changes
 -----------
diff --git a/examples/ipsec-secgw/ipsec-secgw.c b/examples/ipsec-secgw/ipsec-secgw.c
index 8ba15d23c..55a5ea9f4 100644
--- a/examples/ipsec-secgw/ipsec-secgw.c
+++ b/examples/ipsec-secgw/ipsec-secgw.c
@@ -2351,12 +2351,8 @@ session_pool_init(struct socket_ctx *ctx, int32_t socket_id, size_t sess_sz)
 
 	snprintf(mp_name, RTE_MEMPOOL_NAMESIZE,
 			"sess_mp_%u", socket_id);
-	/*
-	 * Doubled due to rte_security_session_create() uses one mempool for
-	 * session and for session private data.
-	 */
 	nb_sess = (get_nb_crypto_sessions() + CDEV_MP_CACHE_SZ *
-		rte_lcore_count()) * 2;
+		rte_lcore_count());
 	sess_mp = rte_cryptodev_sym_session_pool_create(
 			mp_name, nb_sess, sess_sz, CDEV_MP_CACHE_SZ, 0,
 			socket_id);
@@ -2379,12 +2375,8 @@ session_priv_pool_init(struct socket_ctx *ctx, int32_t socket_id,
 
 	snprintf(mp_name, RTE_MEMPOOL_NAMESIZE,
 			"sess_mp_priv_%u", socket_id);
-	/*
-	 * Doubled due to rte_security_session_create() uses one mempool for
-	 * session and for session private data.
-	 */
 	nb_sess = (get_nb_crypto_sessions() + CDEV_MP_CACHE_SZ *
-		rte_lcore_count()) * 2;
+		rte_lcore_count());
 	sess_mp = rte_mempool_create(mp_name,
 			nb_sess,
 			sess_sz,
diff --git a/examples/ipsec-secgw/ipsec.c b/examples/ipsec-secgw/ipsec.c
index 01faa7ac7..6baeeb342 100644
--- a/examples/ipsec-secgw/ipsec.c
+++ b/examples/ipsec-secgw/ipsec.c
@@ -117,7 +117,8 @@ create_lookaside_session(struct ipsec_ctx *ipsec_ctx, struct ipsec_sa *sa,
 			set_ipsec_conf(sa, &(sess_conf.ipsec));
 
 			ips->security.ses = rte_security_session_create(ctx,
-					&sess_conf, ipsec_ctx->session_priv_pool);
+					&sess_conf, ipsec_ctx->session_pool,
+					ipsec_ctx->session_priv_pool);
 			if (ips->security.ses == NULL) {
 				RTE_LOG(ERR, IPSEC,
 				"SEC Session init failed: err: %d\n", ret);
@@ -198,7 +199,8 @@ create_inline_session(struct socket_ctx *skt_ctx, struct ipsec_sa *sa,
 		}
 
 		ips->security.ses = rte_security_session_create(sec_ctx,
-				&sess_conf, skt_ctx->session_pool);
+				&sess_conf, skt_ctx->session_pool,
+				skt_ctx->session_priv_pool);
 		if (ips->security.ses == NULL) {
 			RTE_LOG(ERR, IPSEC,
 				"SEC Session init failed: err: %d\n", ret);
@@ -378,7 +380,8 @@ create_inline_session(struct socket_ctx *skt_ctx, struct ipsec_sa *sa,
 		sess_conf.userdata = (void *) sa;
 
 		ips->security.ses = rte_security_session_create(sec_ctx,
-					&sess_conf, skt_ctx->session_pool);
+					&sess_conf, skt_ctx->session_pool,
+					skt_ctx->session_priv_pool);
 		if (ips->security.ses == NULL) {
 			RTE_LOG(ERR, IPSEC,
 				"SEC Session init failed: err: %d\n", ret);
diff --git a/lib/librte_security/rte_security.c b/lib/librte_security/rte_security.c
index 515c29e04..293ca747d 100644
--- a/lib/librte_security/rte_security.c
+++ b/lib/librte_security/rte_security.c
@@ -26,7 +26,8 @@
 struct rte_security_session *
 rte_security_session_create(struct rte_security_ctx *instance,
 			    struct rte_security_session_conf *conf,
-			    struct rte_mempool *mp)
+			    struct rte_mempool *mp,
+			    struct rte_mempool *priv_mp)
 {
 	struct rte_security_session *sess = NULL;
 
@@ -37,7 +38,8 @@ rte_security_session_create(struct rte_security_ctx *instance,
 	if (rte_mempool_get(mp, (void **)&sess))
 		return NULL;
 
-	if (instance->ops->session_create(instance->device, conf, sess, mp)) {
+	if (instance->ops->session_create(instance->device, conf,
+				sess, priv_mp)) {
 		rte_mempool_put(mp, (void *)sess);
 		return NULL;
 	}
diff --git a/lib/librte_security/rte_security.h b/lib/librte_security/rte_security.h
index 16839e539..1710cdd6a 100644
--- a/lib/librte_security/rte_security.h
+++ b/lib/librte_security/rte_security.h
@@ -386,6 +386,7 @@ struct rte_security_session {
  * @param   instance	security instance
  * @param   conf	session configuration parameters
  * @param   mp		mempool to allocate session objects from
+ * @param   priv_mp	mempool to allocate session private data objects from
  * @return
  *  - On success, pointer to session
  *  - On failure, NULL
@@ -393,7 +394,8 @@ struct rte_security_session {
 struct rte_security_session *
 rte_security_session_create(struct rte_security_ctx *instance,
 			    struct rte_security_session_conf *conf,
-			    struct rte_mempool *mp);
+			    struct rte_mempool *mp,
+			    struct rte_mempool *priv_mp);
 
 /**
  * Update security session as specified by the session configuration
-- 
2.17.1


^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] [PATCH v3 1/4] ethdev: add a field for rxq info structure
  @ 2020-09-03 15:35  4%     ` Bruce Richardson
  2020-09-04 14:25  4%       ` Ferruh Yigit
  0 siblings, 1 reply; 200+ results
From: Bruce Richardson @ 2020-09-03 15:35 UTC (permalink / raw)
  To: Chengchang Tang
  Cc: dev, linuxarm, thomas, arybchenko, ferruh.yigit, wenzhuo.lu,
	maryam.tahhan

On Sat, Aug 29, 2020 at 03:13:16PM +0800, Chengchang Tang wrote:
> Add a field named rx_buf_size in rte_eth_rxq_info to indicate the buffer
> size used in receiving packets for HW.
> 
> In this way, upper-layer users can get this information by calling
> rte_eth_rx_queue_info_get.
> 
> Signed-off-by: Chengchang Tang <tangchengchang@huawei.com>
> Reviewed-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
> Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
> ---
>  lib/librte_ethdev/rte_ethdev.h | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
> index 70295d7..9fed5cb 100644
> --- a/lib/librte_ethdev/rte_ethdev.h
> +++ b/lib/librte_ethdev/rte_ethdev.h
> @@ -1420,6 +1420,8 @@ struct rte_eth_rxq_info {
>  	struct rte_eth_rxconf conf; /**< queue config parameters. */
>  	uint8_t scattered_rx;       /**< scattered packets RX supported. */
>  	uint16_t nb_desc;           /**< configured number of RXDs. */
> +	/**< buffer size used for hardware when receive packets. */
> +	uint16_t rx_buf_size;
>  } __rte_cache_min_aligned;
> 
Since this is breaking the ABI, this looks like the perfect opportunity to
add in a qinfo_size parameter to rte_eth_rx_queue_info_get() call which
allows ABI sanity-checking. Also, if passed through to the individual
drivers, allows them to make ABI determinations since driver functions
cannot be versioned, i.e. the driver info function cannot know whether it
has been called by queue_info_v21 or queue_info_v22.

/Bruce

^ permalink raw reply	[relevance 4%]

* [dpdk-dev] [PATCH v3 22/37] doc: remove references to make in contributing guides
                       ` (2 preceding siblings ...)
  2020-09-03 15:26  4%   ` [dpdk-dev] [PATCH v3 14/37] devtools: remove use of make in scripts Ciara Power
@ 2020-09-03 15:27  5%   ` Ciara Power
  2020-09-07 10:20  3%     ` Thomas Monjalon
    4 siblings, 1 reply; 200+ results
From: Ciara Power @ 2020-09-03 15:27 UTC (permalink / raw)
  To: dev; +Cc: Ciara Power, Louise Kilheeney, John McNamara, Marko Kovacevic

Make is no longer supported for compiling DPDK, references are now
removed in the documentation.

Signed-off-by: Ciara Power <ciara.power@intel.com>
Signed-off-by: Louise Kilheeney <louise.kilheeney@intel.com>
---
 doc/guides/contributing/coding_style.rst  |  46 +-------
 doc/guides/contributing/design.rst        | 127 ++--------------------
 doc/guides/contributing/documentation.rst |  31 +-----
 doc/guides/contributing/patches.rst       |  45 --------
 4 files changed, 18 insertions(+), 231 deletions(-)

diff --git a/doc/guides/contributing/coding_style.rst b/doc/guides/contributing/coding_style.rst
index b55075eaa2..dc352d03ca 100644
--- a/doc/guides/contributing/coding_style.rst
+++ b/doc/guides/contributing/coding_style.rst
@@ -773,52 +773,16 @@ The ``pep8`` tool can be used for testing compliance with the guidelines.
 Integrating with the Build System
 ---------------------------------
 
-DPDK supports being built in two different ways:
-
-* using ``make`` - or more specifically "GNU make", i.e. ``gmake`` on FreeBSD
-* using the tools ``meson`` and ``ninja``
+DPDK supports being built by using the tools ``meson`` and ``ninja``
 
 Any new library or driver to be integrated into DPDK should support being
-built with both systems. While building using ``make`` is a legacy approach, and
-most build-system enhancements are being done using ``meson`` and ``ninja``
-there are no plans at this time to deprecate the legacy ``make`` build system.
+built with this system.
 
-Therefore all new component additions should include both a ``Makefile`` and a
-``meson.build`` file, and should be added to the component lists in both the
-``Makefile`` and ``meson.build`` files in the relevant top-level directory:
+Therefore all new component additions should include a ``meson.build`` file,
+and should be added to the component lists in the ``meson.build`` files in the
+relevant top-level directory:
 either ``lib`` directory or a ``driver`` subdirectory.
 
-Makefile Contents
-~~~~~~~~~~~~~~~~~
-
-The ``Makefile`` for the component should be of the following format, where
-``<name>`` corresponds to the name of the library in question, e.g. hash,
-lpm, etc. For drivers, the same format of Makefile is used.
-
-.. code-block:: none
-
-	# pull in basic DPDK definitions, including whether library is to be
-	# built or not
-	include $(RTE_SDK)/mk/rte.vars.mk
-
-	# library name
-	LIB = librte_<name>.a
-
-	# any library cflags needed. Generally add "-O3 $(WERROR_FLAGS)"
-	CFLAGS += -O3
-	CFLAGS += $(WERROR_FLAGS)
-
-	# the symbol version information for the library
-	EXPORT_MAP := rte_<name>_version.map
-
-	# all source filenames are stored in SRCS-y
-	SRCS-$(CONFIG_RTE_LIBRTE_<NAME>) += rte_<name>.c
-
-	# install includes
-	SYMLINK-$(CONFIG_RTE_LIBRTE_<NAME>)-include += rte_<name>.h
-
-	# pull in rules to build the library
-	include $(RTE_SDK)/mk/rte.lib.mk
 
 Meson Build File Contents - Libraries
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/contributing/design.rst b/doc/guides/contributing/design.rst
index 5fe7f63942..6ce0de97ac 100644
--- a/doc/guides/contributing/design.rst
+++ b/doc/guides/contributing/design.rst
@@ -21,7 +21,7 @@ A file located in a subdir of "linux" is specific to this execution environment.
 
 When absolutely necessary, there are several ways to handle specific code:
 
-* Use a ``#ifdef`` with the CONFIG option in the C code.
+* Use a ``#ifdef`` with a build definition macro in the C code.
   This can be done when the differences are small and they can be embedded in the same C file:
 
   .. code-block:: c
@@ -32,30 +32,22 @@ When absolutely necessary, there are several ways to handle specific code:
      titi();
      #endif
 
-* Use the CONFIG option in the Makefile. This is done when the differences are more significant.
-  In this case, the code is split into two separate files that are architecture or environment specific.
-  This should only apply inside the EAL library.
-
-.. note::
-
-   As in the linux kernel, the ``CONFIG_`` prefix is not used in C code.
-   This is only needed in Makefiles or shell scripts.
 
 Per Architecture Sources
 ~~~~~~~~~~~~~~~~~~~~~~~~
 
-The following config options can be used:
+The following macro options can be used:
 
-* ``CONFIG_RTE_ARCH`` is a string that contains the name of the architecture.
-* ``CONFIG_RTE_ARCH_I686``, ``CONFIG_RTE_ARCH_X86_64``, ``CONFIG_RTE_ARCH_X86_64_32`` or ``CONFIG_RTE_ARCH_PPC_64`` are defined only if we are building for those architectures.
+* ``RTE_ARCH`` is a string that contains the name of the architecture.
+* ``RTE_ARCH_I686``, ``RTE_ARCH_X86_64``, ``RTE_ARCH_X86_64_32`` or ``RTE_ARCH_PPC_64`` are defined only if we are building for those architectures.
 
 Per Execution Environment Sources
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-The following config options can be used:
+The following macro options can be used:
 
-* ``CONFIG_RTE_EXEC_ENV`` is a string that contains the name of the executive environment.
-* ``CONFIG_RTE_EXEC_ENV_FREEBSD`` or ``CONFIG_RTE_EXEC_ENV_LINUX`` are defined only if we are building for this execution environment.
+* ``RTE_EXEC_ENV`` is a string that contains the name of the executive environment.
+* ``RTE_EXEC_ENV_FREEBSD`` or ``RTE_EXEC_ENV_LINUX`` are defined only if we are building for this execution environment.
 
 Mbuf features
 -------------
@@ -73,111 +65,6 @@ Adding a new static field or flag must be an exception matching many criteria
 like (non exhaustive): wide usage, performance, size.
 
 
-Library Statistics
-------------------
-
-Description
-~~~~~~~~~~~
-
-This document describes the guidelines for DPDK library-level statistics counter
-support. This includes guidelines for turning library statistics on and off and
-requirements for preventing ABI changes when implementing statistics.
-
-
-Mechanism to allow the application to turn library statistics on and off
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Each library that maintains statistics counters should provide a single build
-time flag that decides whether the statistics counter collection is enabled or
-not. This flag should be exposed as a variable within the DPDK configuration
-file. When this flag is set, all the counters supported by current library are
-collected for all the instances of every object type provided by the library.
-When this flag is cleared, none of the counters supported by the current library
-are collected for any instance of any object type provided by the library:
-
-.. code-block:: console
-
-   # DPDK file config/common_linux, config/common_freebsd, etc.
-   CONFIG_RTE_<LIBRARY_NAME>_STATS_COLLECT=y/n
-
-The default value for this DPDK configuration file variable (either "yes" or
-"no") is decided by each library.
-
-
-Prevention of ABI changes due to library statistics support
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The layout of data structures and prototype of functions that are part of the
-library API should not be affected by whether the collection of statistics
-counters is turned on or off for the current library. In practical terms, this
-means that space should always be allocated in the API data structures for
-statistics counters and the statistics related API functions are always built
-into the code, regardless of whether the statistics counter collection is turned
-on or off for the current library.
-
-When the collection of statistics counters for the current library is turned
-off, the counters retrieved through the statistics related API functions should
-have a default value of zero.
-
-
-Motivation to allow the application to turn library statistics on and off
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-It is highly recommended that each library provides statistics counters to allow
-an application to monitor the library-level run-time events. Typical counters
-are: number of packets received/dropped/transmitted, number of buffers
-allocated/freed, number of occurrences for specific events, etc.
-
-However, the resources consumed for library-level statistics counter collection
-have to be spent out of the application budget and the counters collected by
-some libraries might not be relevant to the current application. In order to
-avoid any unwanted waste of resources and/or performance impacts, the
-application should decide at build time whether the collection of library-level
-statistics counters should be turned on or off for each library individually.
-
-Library-level statistics counters can be relevant or not for specific
-applications:
-
-* For Application A, counters maintained by Library X are always relevant and
-  the application needs to use them to implement certain features, such as traffic
-  accounting, logging, application-level statistics, etc. In this case,
-  the application requires that collection of statistics counters for Library X is
-  always turned on.
-
-* For Application B, counters maintained by Library X are only useful during the
-  application debug stage and are not relevant once debug phase is over. In this
-  case, the application may decide to turn on the collection of Library X
-  statistics counters during the debug phase and at a later stage turn them off.
-
-* For Application C, counters maintained by Library X are not relevant at all.
-  It might be that the application maintains its own set of statistics counters
-  that monitor a different set of run-time events (e.g. number of connection
-  requests, number of active users, etc). It might also be that the application
-  uses multiple libraries (Library X, Library Y, etc) and it is interested in the
-  statistics counters of Library Y, but not in those of Library X. In this case,
-  the application may decide to turn the collection of statistics counters off for
-  Library X and on for Library Y.
-
-The statistics collection consumes a certain amount of CPU resources (cycles,
-cache bandwidth, memory bandwidth, etc) that depends on:
-
-* Number of libraries used by the current application that have statistics
-  counters collection turned on.
-
-* Number of statistics counters maintained by each library per object type
-  instance (e.g. per port, table, pipeline, thread, etc).
-
-* Number of instances created for each object type supported by each library.
-
-* Complexity of the statistics logic collection for each counter: when only
-  some occurrences of a specific event are valid, additional logic is typically
-  needed to decide whether the current occurrence of the event should be counted
-  or not. For example, in the event of packet reception, when only TCP packets
-  with destination port within a certain range should be recorded, conditional
-  branches are usually required. When processing a burst of packets that have been
-  validated for header integrity, counting the number of bits set in a bitmask
-  might be needed.
-
 PF and VF Considerations
 ------------------------
 
diff --git a/doc/guides/contributing/documentation.rst b/doc/guides/contributing/documentation.rst
index 375ea64ba8..768453126f 100644
--- a/doc/guides/contributing/documentation.rst
+++ b/doc/guides/contributing/documentation.rst
@@ -222,25 +222,14 @@ Build commands
 ~~~~~~~~~~~~~~
 
 The documentation is built using the standard DPDK build system.
-Some examples are shown below:
 
-* Generate all the documentation targets::
+To enable doc building::
 
-     make doc
+   meson configure -Denable_docs=true
 
-* Generate the Doxygen API documentation in Html::
+See :doc:`../linux_gsg/build_dpdk` for more detail on compiling DPDK with meson.
 
-     make doc-api-html
-
-* Generate the guides documentation in Html::
-
-     make doc-guides-html
-
-* Generate the guides documentation in Pdf::
-
-     make doc-guides-pdf
-
-The output of these commands is generated in the ``build`` directory::
+The output is generated in the ``build`` directory::
 
    build/doc
          |-- html
@@ -255,10 +244,6 @@ The output of these commands is generated in the ``build`` directory::
 
    Make sure to fix any Sphinx or Doxygen warnings when adding or updating documentation.
 
-The documentation output files can be removed as follows::
-
-   make doc-clean
-
 
 Document Guidelines
 -------------------
@@ -308,7 +293,7 @@ Line Length
   Long literal command lines can be shown wrapped with backslashes. For
   example::
 
-     testpmd -l 2-3 -n 4 \
+     dpdk-testpmd -l 2-3 -n 4 \
              --vdev=virtio_user0,path=/dev/vhost-net,queues=2,queue_size=1024 \
              -- -i --tx-offloads=0x0000002c --enable-lro --txq=2 --rxq=2 \
              --txd=1024 --rxd=1024
@@ -460,7 +445,7 @@ Code and Literal block sections
   For long literal lines that exceed that limit try to wrap the text at sensible locations.
   For example a long command line could be documented like this and still work if copied directly from the docs::
 
-     build/app/testpmd -l 0-2 -n3 --vdev=net_pcap0,iface=eth0     \
+     ./<build_dir>/app/dpdk-testpmd -l 0-2 -n3 --vdev=net_pcap0,iface=eth0    \
                                --vdev=net_pcap1,iface=eth1     \
                                -- -i --nb-cores=2 --nb-ports=2 \
                                   --total-num-mbufs=2048
@@ -743,9 +728,5 @@ The following are some guidelines for use of Doxygen in the DPDK API documentati
      /** Array of physical page addresses for the mempool buffer. */
      phys_addr_t elt_pa[MEMPOOL_PG_NUM_DEFAULT];
 
-* Check for Doxygen warnings in new code by checking the API documentation build::
-
-     make doc-api-html >/dev/null
-
 * Read the rendered section of the documentation that you have added for correctness, clarity and consistency
   with the surrounding text.
diff --git a/doc/guides/contributing/patches.rst b/doc/guides/contributing/patches.rst
index 425bb874f8..bafa95be59 100644
--- a/doc/guides/contributing/patches.rst
+++ b/doc/guides/contributing/patches.rst
@@ -464,51 +464,6 @@ and the -r option allows the user specify a ``git log`` range.
 Checking Compilation
 --------------------
 
-Makefile System
-~~~~~~~~~~~~~~~
-
-Compilation of patches and changes should be tested using the ``test-build.sh`` script in the ``devtools``
-directory of the DPDK repo::
-
-  devtools/test-build.sh x86_64-native-linux-gcc+next+shared
-
-The script usage is::
-
-   test-build.sh [-h] [-jX] [-s] [config1 [config2] ...]]
-
-Where:
-
-* ``-h``: help, usage.
-* ``-jX``: use X parallel jobs in "make".
-* ``-s``: short test with only first config and without examples/doc.
-* ``config``: default config name plus config switches delimited with a ``+`` sign.
-
-Examples of configs are::
-
-   x86_64-native-linux-gcc
-   x86_64-native-linux-gcc+next+shared
-   x86_64-native-linux-clang+shared
-
-The builds can be modified via the following environmental variables:
-
-* ``DPDK_BUILD_TEST_CONFIGS`` (target1+option1+option2 target2)
-* ``DPDK_BUILD_TEST_DIR``
-* ``DPDK_DEP_CFLAGS``
-* ``DPDK_DEP_LDFLAGS``
-* ``DPDK_DEP_PCAP`` (y/[n])
-* ``DPDK_NOTIFY`` (notify-send)
-
-These can be set from the command line or in the config files shown above in the :ref:`contrib_checkpatch`.
-
-The recommended configurations and options to test compilation prior to submitting patches are::
-
-   x86_64-native-linux-gcc+shared+next
-   x86_64-native-linux-clang+shared
-   i686-native-linux-gcc
-
-   export DPDK_DEP_ZLIB=y
-   export DPDK_DEP_PCAP=y
-   export DPDK_DEP_SSL=y
 
 Meson System
 ~~~~~~~~~~~~
-- 
2.17.1


^ permalink raw reply	[relevance 5%]

* [dpdk-dev] [PATCH v3 14/37] devtools: remove use of make in scripts
    2020-09-03 15:26  1%   ` [dpdk-dev] [PATCH v3 10/37] build: remove makefiles and mk directory Ciara Power
  2020-09-03 15:26  1%   ` [dpdk-dev] [PATCH v3 11/37] config: remove all config files used by make Ciara Power
@ 2020-09-03 15:26  4%   ` Ciara Power
  2020-09-03 15:27  5%   ` [dpdk-dev] [PATCH v3 22/37] doc: remove references to make in contributing guides Ciara Power
    4 siblings, 0 replies; 200+ results
From: Ciara Power @ 2020-09-03 15:26 UTC (permalink / raw)
  To: dev; +Cc: Ciara Power, Thomas Monjalon

Make is no longer supported, the test script for make builds is no
longer required. Uses of make in other tool scripts are replaced.

Signed-off-by: Ciara Power <ciara.power@intel.com>
---
 MAINTAINERS                |   1 -
 devtools/build-tags.sh     |  14 +-
 devtools/check-includes.sh |   3 +-
 devtools/git-log-fixes.sh  |   2 +-
 devtools/test-build.sh     | 315 -------------------------------------
 5 files changed, 4 insertions(+), 331 deletions(-)
 delete mode 100755 devtools/test-build.sh

diff --git a/MAINTAINERS b/MAINTAINERS
index 392150fc3b..0fec96558e 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -90,7 +90,6 @@ F: devtools/checkpatches.sh
 F: devtools/get-maintainer.sh
 F: devtools/git-log-fixes.sh
 F: devtools/load-devel-config
-F: devtools/test-build.sh
 F: devtools/test-meson-builds.sh
 F: devtools/words-case.txt
 F: license/
diff --git a/devtools/build-tags.sh b/devtools/build-tags.sh
index 276fff647b..614ce4c3a4 100755
--- a/devtools/build-tags.sh
+++ b/devtools/build-tags.sh
@@ -19,8 +19,8 @@ arm_64=true
 print_usage()
 {
 	echo "Usage: $(basename $0) [-h] [-v] tags|cscope|gtags|etags [config]"
-	echo "Valid configs are:"
-	make showconfigs | sed 's,^,\t,'
+	echo "Examples of valid configs are: "
+	echo "x86_64-native-linux-gcc, arm64-armv8a-linux-gcc, ppc_64-power8-linux-gcc"
 }
 
 # Move to the root of the git tree
@@ -125,17 +125,7 @@ ppc_64_sources()
 	find_sources "$source_dirs" '*altivec*.[chS]'
 }
 
-check_valid_target()
-{
-	if [ ! -f "config/defconfig_$1" ] ; then
-		echo "Invalid config: $1"
-		print_usage
-		exit 0
-	fi
-}
-
 if [ -n "$2" ]; then
-	check_valid_target $2
 
 	echo $2 | grep -q "linux" || linux=false
 	echo $2 | grep -q "bsd" || bsd=false
diff --git a/devtools/check-includes.sh b/devtools/check-includes.sh
index 749b9b26d2..15594f08a3 100755
--- a/devtools/check-includes.sh
+++ b/devtools/check-includes.sh
@@ -17,8 +17,7 @@
 #
 # SUMMARY=1 is the same as -s.
 #
-# CC, CPPFLAGS, CFLAGS, EXTRA_CPPFLAGS, EXTRA_CFLAGS, CXX, CXXFLAGS and
-# EXTRA_CXXFLAGS are taken into account.
+# CC, CPPFLAGS, CFLAGS, CXX, CXXFLAGS are taken into account.
 #
 # PEDANTIC_CFLAGS, PEDANTIC_CXXFLAGS and PEDANTIC_CPPFLAGS provide strict
 # C/C++ compilation flags.
diff --git a/devtools/git-log-fixes.sh b/devtools/git-log-fixes.sh
index 6d468d6731..210c8dcf25 100755
--- a/devtools/git-log-fixes.sh
+++ b/devtools/git-log-fixes.sh
@@ -50,7 +50,7 @@ commit_version () # <hash>
 		head -n1)
 	if [ -z "$tag" ] ; then
 		# before -rc1 tag of release in progress
-		make showversion | cut -d'.' -f-2
+		cat VERSION | cut -d'.' -f-2
 	else
 		echo $tag | sed 's,^v,,' | sed 's,-rc.*,,'
 	fi
diff --git a/devtools/test-build.sh b/devtools/test-build.sh
deleted file mode 100755
index f013656024..0000000000
--- a/devtools/test-build.sh
+++ /dev/null
@@ -1,315 +0,0 @@
-#! /bin/sh -e
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2015 6WIND S.A.
-
-default_path=$PATH
-
-# Load config options:
-# - ARMV8_CRYPTO_LIB_PATH
-# - DPDK_ABI_REF_DIR
-# - DPDK_ABI_REF_VERSION
-# - DPDK_BUILD_TEST_CONFIGS (defconfig1+option1+option2 defconfig2)
-# - DPDK_BUILD_TEST_DIR
-# - DPDK_DEP_ARCHIVE
-# - DPDK_DEP_BPF (y/[n])
-# - DPDK_DEP_CFLAGS
-# - DPDK_DEP_ELF (y/[n])
-# - DPDK_DEP_FDT (y/[n])
-# - DPDK_DEP_ISAL (y/[n])
-# - DPDK_DEP_JSON (y/[n])
-# - DPDK_DEP_LDFLAGS
-# - DPDK_DEP_MLX (y/[n])
-# - DPDK_DEP_NFB (y/[n])
-# - DPDK_DEP_NUMA ([y]/n)
-# - DPDK_DEP_PCAP (y/[n])
-# - DPDK_DEP_SSL (y/[n])
-# - DPDK_DEP_IPSEC_MB (y/[n])
-# - DPDK_DEP_SZE (y/[n])
-# - DPDK_DEP_ZLIB (y/[n])
-# - DPDK_MAKE_JOBS (int)
-# - DPDK_NOTIFY (notify-send)
-# - FLEXRAN_SDK
-# - LIBMUSDK_PATH
-devtools_dir=$(dirname $(readlink -f $0))
-. $devtools_dir/load-devel-config
-
-print_usage () {
-	echo "usage: $(basename $0) [-h] [-jX] [-s] [config1 [config2] ...]]"
-}
-
-print_help () {
-	echo 'Test building several targets with different options'
-	echo
-	print_usage
-	cat <<- END_OF_HELP
-
-	options:
-	        -h    this help
-	        -jX   use X parallel jobs in "make"
-	        -s    short test only first config without tests|examples|doc
-	        -v    verbose build
-
-	config: defconfig[[~][+]option1[[~][+]option2...]]
-	        Example: x86_64-native-linux-gcc+debug~RXTX_CALLBACKS
-	        The lowercase options are defined inside $(basename $0).
-	        The uppercase options can be the end of a defconfig option
-	        to enable if prefixed with '+' or to disable if prefixed with '~'.
-	        Default is to automatically enable most of the options.
-	        The external dependencies are setup with DPDK_DEP_* variables.
-	        If no config on command line, DPDK_BUILD_TEST_CONFIGS is used.
-	END_OF_HELP
-}
-
-[ -z $MAKE ] && command -v gmake > /dev/null && MAKE=gmake
-[ -z $MAKE ] && command -v make > /dev/null && MAKE=make
-[ -z $MAKE ] && echo "Cannot find make or gmake" && exit 1
-
-J=$DPDK_MAKE_JOBS
-builds_dir=${DPDK_BUILD_TEST_DIR:-.}
-short=false
-unset verbose
-while getopts hj:sv ARG ; do
-	case $ARG in
-		j ) J=$OPTARG ;;
-		s ) short=true ;;
-		v ) verbose='V=1' ;;
-		h ) print_help ; exit 0 ;;
-		? ) print_usage ; exit 1 ;;
-	esac
-done
-shift $(($OPTIND - 1))
-configs=${*:-$DPDK_BUILD_TEST_CONFIGS}
-
-success=false
-on_exit ()
-{
-	if $success ; then
-		[ "$DPDK_NOTIFY" != notify-send ] || \
-			notify-send -u low --icon=dialog-information 'DPDK build' 'finished'
-	elif [ -z "$signal" ] ; then
-		[ -z "$dir" ] || echo "failed to build $dir" >&2
-		[ "$DPDK_NOTIFY" != notify-send ] || \
-			notify-send -u low --icon=dialog-error 'DPDK build' 'failed'
-	fi
-}
-# catch manual interrupt to ignore notification
-trap "signal=INT ; trap - INT ; kill -INT $$" INT
-# notify result on exit
-trap on_exit EXIT
-
-cd $devtools_dir/..
-
-reset_env ()
-{
-	export PATH=$default_path
-	unset CROSS
-	unset DPDK_DEP_ARCHIVE
-	unset DPDK_DEP_BPF
-	unset DPDK_DEP_CFLAGS
-	unset DPDK_DEP_ELF
-	unset DPDK_DEP_FDT
-	unset DPDK_DEP_ISAL
-	unset DPDK_DEP_JSON
-	unset DPDK_DEP_LDFLAGS
-	unset DPDK_DEP_MLX
-	unset DPDK_DEP_NFB
-	unset DPDK_DEP_NUMA
-	unset DPDK_DEP_PCAP
-	unset DPDK_DEP_SSL
-	unset DPDK_DEP_IPSEC_MB
-	unset DPDK_DEP_SZE
-	unset DPDK_DEP_ZLIB
-	unset ARMV8_CRYPTO_LIB_PATH
-	unset FLEXRAN_SDK
-	unset LIBMUSDK_PATH
-	unset PQOS_INSTALL_PATH
-}
-
-config () # <directory> <target> <options>
-{
-	reconfig=false
-	if git rev-parse 2>&- && [ -n "$(git diff HEAD~ -- config)" ] ; then
-		echo 'Default config may have changed'
-		reconfig=true
-	fi
-	if [ ! -e $1/.config ] || $reconfig ; then
-		echo "================== Configure $1"
-		${MAKE} T=$2 O=$1 config
-
-		echo 'Customize configuration'
-		# Built-in options (lowercase)
-		! echo $3 | grep -q '+default' || \
-		sed -ri="" 's,(RTE_MACHINE=")native,\1default,' $1/.config
-		! echo $3 | grep -q '+kmods' || \
-		sed -ri="" 's,(IGB_UIO=|KNI_KMOD=)n,\1y,' $1/.config
-		echo $3 | grep -q '+next' || \
-		sed -ri=""           's,(NEXT_ABI=)y,\1n,' $1/.config
-		! echo $3 | grep -q '+shared' || \
-		sed -ri=""         's,(SHARED_LIB=)n,\1y,' $1/.config
-		! echo $3 | grep -q '+debug' || ( \
-		sed -ri=""  's,(RTE_LOG_DP_LEVEL=).*,\1RTE_LOG_DEBUG,' $1/.config
-		sed -ri=""           's,(_DEBUG.*=)n,\1y,' $1/.config
-		sed -ri=""  's,(_STAT)([S_].*=|=)n,\1\2y,' $1/.config
-		sed -ri="" 's,(TEST_PMD_RECORD_.*=)n,\1y,' $1/.config )
-
-		# Automatic configuration
-		! echo $2 | grep -q 'arm64' || \
-		sed -ri=""        's,(ARM_USE_WFE=)n,\1y,' $1/.config
-		test "$DPDK_DEP_NUMA" != n || \
-		sed -ri=""             's,(NUMA.*=)y,\1n,' $1/.config
-		sed -ri=""    's,(LIBRTE_IEEE1588=)n,\1y,' $1/.config
-		sed -ri=""             's,(BYPASS=)n,\1y,' $1/.config
-		test "$DPDK_DEP_ARCHIVE" != y || \
-		sed -ri=""       's,(RESOURCE_TAR=)n,\1y,' $1/.config
-		test "$DPDK_DEP_BPF" != y || \
-		sed -ri=""         's,(PMD_AF_XDP=)n,\1y,' $1/.config
-		test "$DPDK_DEP_FDT" != y || \
-		sed -ri=""   's,(PMD_IFPGA_RAWDEV=)n,\1y,' $1/.config
-		test "$DPDK_DEP_FDT" != y || \
-		sed -ri=""         's,(IPN3KE_PMD=)n,\1y,' $1/.config
-		test "$DPDK_DEP_ISAL" != y || \
-		sed -ri=""           's,(PMD_ISAL=)n,\1y,' $1/.config
-		test "$DPDK_DEP_MLX" != y || \
-		sed -ri=""          's,(MLX.*_PMD=)n,\1y,' $1/.config
-		test "$DPDK_DEP_NFB" != y || \
-		sed -ri=""            's,(NFB_PMD=)n,\1y,' $1/.config
-		test "$DPDK_DEP_SZE" != y || \
-		sed -ri=""       's,(PMD_SZEDATA2=)n,\1y,' $1/.config
-		test "$DPDK_DEP_ZLIB" != y || \
-		sed -ri=""          's,(BNX2X_PMD=)n,\1y,' $1/.config
-		test "$DPDK_DEP_ZLIB" != y || \
-		sed -ri=""           's,(PMD_ZLIB=)n,\1y,' $1/.config
-		test "$DPDK_DEP_ZLIB" != y || \
-		sed -ri=""   's,(COMPRESSDEV_TEST=)n,\1y,' $1/.config
-		test "$DPDK_DEP_PCAP" != y || \
-		sed -ri=""               's,(PCAP=)n,\1y,' $1/.config
-		test -z "$ARMV8_CRYPTO_LIB_PATH" || \
-		sed -ri=""   's,(PMD_ARMV8_CRYPTO=)n,\1y,' $1/.config
-		test "$DPDK_DEP_IPSEC_MB" != y || \
-		sed -ri=""       's,(PMD_AESNI_MB=)n,\1y,' $1/.config
-		test "$DPDK_DEP_IPSEC_MB" != y || \
-		sed -ri=""      's,(PMD_AESNI_GCM=)n,\1y,' $1/.config
-		test "$DPDK_DEP_IPSEC_MB" != y || \
-		sed -ri=""            's,(PMD_ZUC=)n,\1y,' $1/.config
-		test "$DPDK_DEP_IPSEC_MB" != y || \
-		sed -ri=""         's,(PMD_KASUMI=)n,\1y,' $1/.config
-		test "$DPDK_DEP_IPSEC_MB" != y || \
-		sed -ri=""         's,(PMD_SNOW3G=)n,\1y,' $1/.config
-		test "$DPDK_DEP_SSL" != y || \
-		sed -ri=""            's,(PMD_CCP=)n,\1y,' $1/.config
-		test "$DPDK_DEP_SSL" != y || \
-		sed -ri=""        's,(PMD_OPENSSL=)n,\1y,' $1/.config
-		test "$DPDK_DEP_SSL" != y || \
-		sed -ri=""            's,(QAT_SYM=)n,\1y,' $1/.config
-		test -z "$FLEXRAN_SDK" || \
-		sed -ri=""     's,(BBDEV_TURBO_SW=)n,\1y,' $1/.config
-		sed -ri=""           's,(SCHED_.*=)n,\1y,' $1/.config
-		test -z "$LIBMUSDK_PATH" || \
-		sed -ri=""   's,(PMD_MVSAM_CRYPTO=)n,\1y,' $1/.config
-		test -z "$LIBMUSDK_PATH" || \
-		sed -ri=""          's,(MVPP2_PMD=)n,\1y,' $1/.config
-		test -z "$LIBMUSDK_PATH" || \
-		sed -ri=""         's,(MVNETA_PMD=)n,\1y,' $1/.config
-		test "$DPDK_DEP_ELF" != y || \
-		sed -ri=""            's,(BPF_ELF=)n,\1y,' $1/.config
-		test "$DPDK_DEP_JSON" != y || \
-		sed -ri=""          's,(TELEMETRY=)n,\1y,' $1/.config
-		build_config_hook $1 $2 $3
-
-		# Explicit enabler/disabler (uppercase)
-		for option in $(echo $3 | sed 's,[~+], &,g') ; do
-			pattern=$(echo $option | cut -c2-)
-			if echo $option | grep -q '^~' ; then
-				sed -ri="" "s,($pattern=)y,\1n," $1/.config
-			elif echo $option | grep -q '^+' ; then
-				sed -ri="" "s,($pattern=)n,\1y," $1/.config
-			fi
-		done
-	fi
-}
-
-# default empty hook to override in devel config
-build_config_hook () # <directory> <target> <options>
-{
-	:
-}
-
-for conf in $configs ; do
-	target=$(echo $conf | sed 's,[~+].*,,')
-	# reload config with DPDK_TARGET set
-	DPDK_TARGET=$target
-	reset_env
-	. $devtools_dir/load-devel-config
-
-	options=$(echo $conf | sed 's,[^~+]*,,')
-	dir=$builds_dir/$conf
-	config $dir $target $options
-
-	echo "================== Build $conf"
-	${MAKE} -j$J EXTRA_CFLAGS="-Wfatal-errors -g $DPDK_DEP_CFLAGS" \
-		EXTRA_LDFLAGS="$DPDK_DEP_LDFLAGS" $verbose O=$dir
-	! $short || break
-	export RTE_TARGET=$target
-	rm -rf $dir/install
-	${MAKE} install O=$dir DESTDIR=$dir/install prefix=
-	echo "================== Build examples for $conf"
-	export RTE_SDK=$(readlink -f $dir)/install/share/dpdk
-	ln -sTf $(pwd)/lib $RTE_SDK/lib # workaround for vm_power_manager
-	grep -q 'SHARED_LIB=n' $dir/.config || # skip examples with static libs
-	${MAKE} -j$J -sC examples \
-		EXTRA_LDFLAGS="$DPDK_DEP_LDFLAGS" $verbose \
-		O=$(readlink -f $dir)/examples
-	unset RTE_TARGET
-	grep -q 'SHARED_LIB=n' $dir/.config || # skip ABI check with static libs
-	if [ -n "$DPDK_ABI_REF_VERSION" ]; then
-		abirefdir=${DPDK_ABI_REF_DIR:-reference}/$DPDK_ABI_REF_VERSION
-		if [ ! -d $abirefdir/$conf ]; then
-			# clone current sources
-			if [ ! -d $abirefdir/src ]; then
-				git clone --local --no-hardlinks \
-					--single-branch \
-					-b $DPDK_ABI_REF_VERSION \
-					$(pwd) $abirefdir/src
-			fi
-
-			cd $abirefdir/src
-
-			rm -rf $abirefdir/build
-			config $abirefdir/build $target $options
-
-			echo -n "================== Build $conf "
-			echo "($DPDK_ABI_REF_VERSION)"
-			${MAKE} -j$J \
-				EXTRA_CFLAGS="-Wno-error -g $DPDK_DEP_CFLAGS" \
-				EXTRA_LDFLAGS="$DPDK_DEP_LDFLAGS" $verbose \
-				O=$abirefdir/build
-			export RTE_TARGET=$target
-			${MAKE} install O=$abirefdir/build \
-				DESTDIR=$abirefdir/$conf \
-				prefix=
-			unset RTE_TARGET
-			$devtools_dir/gen-abi.sh $abirefdir/$conf
-
-			# back to current workdir
-			cd $devtools_dir/..
-		fi
-
-		echo "================== Check ABI $conf"
-		$devtools_dir/gen-abi.sh $dir/install
-		$devtools_dir/check-abi.sh $abirefdir/$conf $dir/install
-	fi
-	echo "################## $conf done."
-	unset dir
-done
-
-if ! $short ; then
-	mkdir -p .check
-	echo "================== Build doxygen HTML API"
-	${MAKE} doc-api-html >/dev/null 2>.check/doc.txt
-	echo "================== Build sphinx HTML guides"
-	${MAKE} doc-guides-html >/dev/null 2>>.check/doc.txt
-	echo "================== Check docs"
-	diff -u /dev/null .check/doc.txt
-fi
-
-success=true
-- 
2.17.1


^ permalink raw reply	[relevance 4%]

* [dpdk-dev] [PATCH v3 11/37] config: remove all config files used by make
    2020-09-03 15:26  1%   ` [dpdk-dev] [PATCH v3 10/37] build: remove makefiles and mk directory Ciara Power
@ 2020-09-03 15:26  1%   ` Ciara Power
  2020-09-03 15:26  4%   ` [dpdk-dev] [PATCH v3 14/37] devtools: remove use of make in scripts Ciara Power
                     ` (2 subsequent siblings)
  4 siblings, 0 replies; 200+ results
From: Ciara Power @ 2020-09-03 15:26 UTC (permalink / raw)
  To: dev; +Cc: Ciara Power, Thomas Monjalon, Anatoly Burakov

Make is not supported for compiling DPDK, the config files are no
longer needed.

Signed-off-by: Ciara Power <ciara.power@intel.com>
---
 config/common_armv8a_linux                    |   43 -
 config/common_base                            | 1154 -----------------
 config/common_freebsd                         |   15 -
 config/common_linux                           |   68 -
 config/defconfig_arm-armv7a-linux-gcc         |    1 -
 config/defconfig_arm-armv7a-linuxapp-gcc      |   49 -
 config/defconfig_arm64-armada-linux-gcc       |    1 -
 config/defconfig_arm64-armada-linuxapp-gcc    |   41 -
 config/defconfig_arm64-armv8a-linux-clang     |    1 -
 config/defconfig_arm64-armv8a-linux-gcc       |    1 -
 config/defconfig_arm64-armv8a-linuxapp-clang  |    8 -
 config/defconfig_arm64-armv8a-linuxapp-gcc    |    9 -
 config/defconfig_arm64-bluefield-linux-gcc    |    1 -
 config/defconfig_arm64-bluefield-linuxapp-gcc |   18 -
 config/defconfig_arm64-dpaa-linux-gcc         |    1 -
 config/defconfig_arm64-dpaa-linuxapp-gcc      |   31 -
 config/defconfig_arm64-emag-linux-gcc         |    1 -
 config/defconfig_arm64-emag-linuxapp-gcc      |   11 -
 config/defconfig_arm64-n1sdp-linux-gcc        |    1 -
 config/defconfig_arm64-n1sdp-linuxapp-gcc     |   14 -
 config/defconfig_arm64-octeontx2-linux-gcc    |    1 -
 config/defconfig_arm64-octeontx2-linuxapp-gcc |   18 -
 config/defconfig_arm64-stingray-linux-gcc     |    1 -
 config/defconfig_arm64-stingray-linuxapp-gcc  |   14 -
 config/defconfig_arm64-thunderx-linux-gcc     |    1 -
 config/defconfig_arm64-thunderx-linuxapp-gcc  |   17 -
 config/defconfig_arm64-thunderx2-linux-gcc    |    1 -
 config/defconfig_arm64-thunderx2-linuxapp-gcc |   12 -
 config/defconfig_arm64-xgene1-linux-gcc       |    1 -
 config/defconfig_arm64-xgene1-linuxapp-gcc    |    8 -
 config/defconfig_i686-native-linux-gcc        |    1 -
 config/defconfig_i686-native-linux-icc        |    1 -
 config/defconfig_i686-native-linuxapp-gcc     |   66 -
 config/defconfig_i686-native-linuxapp-icc     |   66 -
 config/defconfig_ppc_64-power8-linux-gcc      |    1 -
 config/defconfig_ppc_64-power8-linuxapp-gcc   |   35 -
 config/defconfig_x86_64-native-bsdapp-clang   |   14 -
 config/defconfig_x86_64-native-bsdapp-gcc     |   14 -
 config/defconfig_x86_64-native-freebsd-clang  |    1 -
 config/defconfig_x86_64-native-freebsd-gcc    |    1 -
 config/defconfig_x86_64-native-linux-clang    |    1 -
 config/defconfig_x86_64-native-linux-gcc      |    1 -
 config/defconfig_x86_64-native-linux-icc      |    1 -
 config/defconfig_x86_64-native-linuxapp-clang |   14 -
 config/defconfig_x86_64-native-linuxapp-gcc   |   14 -
 config/defconfig_x86_64-native-linuxapp-icc   |   29 -
 config/defconfig_x86_x32-native-linux-gcc     |    1 -
 config/defconfig_x86_x32-native-linuxapp-gcc  |   46 -
 48 files changed, 1850 deletions(-)
 delete mode 100644 config/common_armv8a_linux
 delete mode 100644 config/common_base
 delete mode 100644 config/common_freebsd
 delete mode 100644 config/common_linux
 delete mode 120000 config/defconfig_arm-armv7a-linux-gcc
 delete mode 100644 config/defconfig_arm-armv7a-linuxapp-gcc
 delete mode 120000 config/defconfig_arm64-armada-linux-gcc
 delete mode 100644 config/defconfig_arm64-armada-linuxapp-gcc
 delete mode 120000 config/defconfig_arm64-armv8a-linux-clang
 delete mode 120000 config/defconfig_arm64-armv8a-linux-gcc
 delete mode 100644 config/defconfig_arm64-armv8a-linuxapp-clang
 delete mode 100644 config/defconfig_arm64-armv8a-linuxapp-gcc
 delete mode 120000 config/defconfig_arm64-bluefield-linux-gcc
 delete mode 100644 config/defconfig_arm64-bluefield-linuxapp-gcc
 delete mode 120000 config/defconfig_arm64-dpaa-linux-gcc
 delete mode 100644 config/defconfig_arm64-dpaa-linuxapp-gcc
 delete mode 120000 config/defconfig_arm64-emag-linux-gcc
 delete mode 100644 config/defconfig_arm64-emag-linuxapp-gcc
 delete mode 120000 config/defconfig_arm64-n1sdp-linux-gcc
 delete mode 100644 config/defconfig_arm64-n1sdp-linuxapp-gcc
 delete mode 120000 config/defconfig_arm64-octeontx2-linux-gcc
 delete mode 100644 config/defconfig_arm64-octeontx2-linuxapp-gcc
 delete mode 120000 config/defconfig_arm64-stingray-linux-gcc
 delete mode 100644 config/defconfig_arm64-stingray-linuxapp-gcc
 delete mode 120000 config/defconfig_arm64-thunderx-linux-gcc
 delete mode 100644 config/defconfig_arm64-thunderx-linuxapp-gcc
 delete mode 120000 config/defconfig_arm64-thunderx2-linux-gcc
 delete mode 100644 config/defconfig_arm64-thunderx2-linuxapp-gcc
 delete mode 120000 config/defconfig_arm64-xgene1-linux-gcc
 delete mode 100644 config/defconfig_arm64-xgene1-linuxapp-gcc
 delete mode 120000 config/defconfig_i686-native-linux-gcc
 delete mode 120000 config/defconfig_i686-native-linux-icc
 delete mode 100644 config/defconfig_i686-native-linuxapp-gcc
 delete mode 100644 config/defconfig_i686-native-linuxapp-icc
 delete mode 120000 config/defconfig_ppc_64-power8-linux-gcc
 delete mode 100644 config/defconfig_ppc_64-power8-linuxapp-gcc
 delete mode 100644 config/defconfig_x86_64-native-bsdapp-clang
 delete mode 100644 config/defconfig_x86_64-native-bsdapp-gcc
 delete mode 120000 config/defconfig_x86_64-native-freebsd-clang
 delete mode 120000 config/defconfig_x86_64-native-freebsd-gcc
 delete mode 120000 config/defconfig_x86_64-native-linux-clang
 delete mode 120000 config/defconfig_x86_64-native-linux-gcc
 delete mode 120000 config/defconfig_x86_64-native-linux-icc
 delete mode 100644 config/defconfig_x86_64-native-linuxapp-clang
 delete mode 100644 config/defconfig_x86_64-native-linuxapp-gcc
 delete mode 100644 config/defconfig_x86_64-native-linuxapp-icc
 delete mode 120000 config/defconfig_x86_x32-native-linux-gcc
 delete mode 100644 config/defconfig_x86_x32-native-linuxapp-gcc

diff --git a/config/common_armv8a_linux b/config/common_armv8a_linux
deleted file mode 100644
index e942657a0f..0000000000
--- a/config/common_armv8a_linux
+++ /dev/null
@@ -1,43 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Cavium, Inc
-#
-
-#include "common_linux"
-
-CONFIG_RTE_MACHINE="armv8a"
-
-CONFIG_RTE_ARCH="arm64"
-CONFIG_RTE_ARCH_ARM64=y
-CONFIG_RTE_ARCH_64=y
-
-CONFIG_RTE_FORCE_INTRINSICS=y
-
-# Maximum available cache line size in arm64 implementations.
-# Setting to maximum available cache line size in generic config
-# to address minimum DMA alignment across all arm64 implementations.
-CONFIG_RTE_CACHE_LINE_SIZE=128
-
-CONFIG_RTE_USE_C11_MEM_MODEL=y
-
-# Accelarate rte_memcpy. Be sure to run unit test (memcpy_perf_autotest)
-# to determine the best threshold in code. Refer to notes in source file
-# (lib/librte_eal/arm/include/rte_memcpy_64.h) for more info.
-CONFIG_RTE_ARCH_ARM64_MEMCPY=n
-#CONFIG_RTE_ARM64_MEMCPY_ALIGNED_THRESHOLD=2048
-#CONFIG_RTE_ARM64_MEMCPY_UNALIGNED_THRESHOLD=512
-# Leave below RTE_ARM64_MEMCPY_xxx options commented out, unless there're
-# strong reasons.
-#CONFIG_RTE_ARM64_MEMCPY_SKIP_GCC_VER_CHECK=n
-#CONFIG_RTE_ARM64_MEMCPY_ALIGN_MASK=0xF
-#CONFIG_RTE_ARM64_MEMCPY_STRICT_ALIGN=n
-
-CONFIG_RTE_LIBRTE_IONIC_PMD=n
-CONFIG_RTE_LIBRTE_FM10K_PMD=n
-CONFIG_RTE_LIBRTE_SFC_EFX_PMD=n
-CONFIG_RTE_LIBRTE_AVP_PMD=n
-CONFIG_RTE_LIBRTE_PMD_IOAT_RAWDEV=n
-
-#
-# NXP PFE PMD Driver
-#
-CONFIG_RTE_LIBRTE_PFE_PMD=y
diff --git a/config/common_base b/config/common_base
deleted file mode 100644
index fbf0ee70c8..0000000000
--- a/config/common_base
+++ /dev/null
@@ -1,1154 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2017 Intel Corporation
-
-#
-# String that appears before the version number
-#
-CONFIG_RTE_VER_PREFIX="DPDK"
-
-#
-# Version information completed when this file is processed for a build
-#
-CONFIG_RTE_VER_YEAR=__YEAR
-CONFIG_RTE_VER_MONTH=__MONTH
-CONFIG_RTE_VER_MINOR=__MINOR
-CONFIG_RTE_VER_SUFFIX=__SUFFIX
-CONFIG_RTE_VER_RELEASE=__RELEASE
-
-#
-# define executive environment
-# RTE_EXEC_ENV values are the directories in mk/exec-env/
-#
-CONFIG_RTE_EXEC_ENV=
-
-#
-# define the architecture we compile for.
-# RTE_ARCH values are the directories in mk/arch/
-#
-CONFIG_RTE_ARCH=
-
-#
-# machine can define specific variables or action for a specific board
-# RTE_MACHINE values are the directories in mk/machine/
-#
-CONFIG_RTE_MACHINE=
-
-#
-# The compiler we use.
-# RTE_TOOLCHAIN values are the directories in mk/toolchain/
-#
-CONFIG_RTE_TOOLCHAIN=
-
-#
-# Use intrinsics or assembly code for key routines
-#
-CONFIG_RTE_FORCE_INTRINSICS=n
-
-#
-# Machine forces strict alignment constraints.
-#
-CONFIG_RTE_ARCH_STRICT_ALIGN=n
-
-#
-# Enable link time optimization
-#
-CONFIG_RTE_ENABLE_LTO=n
-
-#
-# Compile to share library
-#
-CONFIG_RTE_BUILD_SHARED_LIB=n
-
-#
-# Use newest code breaking previous ABI
-#
-CONFIG_RTE_NEXT_ABI=y
-
-#
-# Machine's cache line size
-#
-CONFIG_RTE_CACHE_LINE_SIZE=64
-
-#
-# Memory model
-#
-CONFIG_RTE_USE_C11_MEM_MODEL=n
-
-#
-# Compile Environment Abstraction Layer
-#
-CONFIG_RTE_LIBRTE_EAL=y
-CONFIG_RTE_MAX_LCORE=128
-CONFIG_RTE_MAX_NUMA_NODES=8
-CONFIG_RTE_MAX_HEAPS=32
-CONFIG_RTE_MAX_MEMSEG_LISTS=64
-# each memseg list will be limited to either RTE_MAX_MEMSEG_PER_LIST pages
-# or RTE_MAX_MEM_MB_PER_LIST megabytes worth of memory, whichever is smaller
-CONFIG_RTE_MAX_MEMSEG_PER_LIST=8192
-CONFIG_RTE_MAX_MEM_MB_PER_LIST=32768
-# a "type" is a combination of page size and NUMA node. total number of memseg
-# lists per type will be limited to either RTE_MAX_MEMSEG_PER_TYPE pages (split
-# over multiple lists of RTE_MAX_MEMSEG_PER_LIST pages), or
-# RTE_MAX_MEM_MB_PER_TYPE megabytes of memory (split over multiple lists of
-# RTE_MAX_MEM_MB_PER_LIST), whichever is smaller
-CONFIG_RTE_MAX_MEMSEG_PER_TYPE=32768
-CONFIG_RTE_MAX_MEM_MB_PER_TYPE=131072
-# global maximum usable amount of VA, in megabytes
-CONFIG_RTE_MAX_MEM_MB=524288
-CONFIG_RTE_MAX_MEMZONE=2560
-CONFIG_RTE_MAX_TAILQ=32
-CONFIG_RTE_ENABLE_ASSERT=n
-CONFIG_RTE_LOG_DP_LEVEL=RTE_LOG_INFO
-CONFIG_RTE_ENABLE_TRACE_FP=n
-CONFIG_RTE_LOG_HISTORY=256
-CONFIG_RTE_BACKTRACE=y
-CONFIG_RTE_LIBEAL_USE_HPET=n
-CONFIG_RTE_EAL_ALWAYS_PANIC_ON_ERROR=n
-CONFIG_RTE_EAL_IGB_UIO=n
-CONFIG_RTE_EAL_VFIO=n
-CONFIG_RTE_MAX_VFIO_GROUPS=64
-CONFIG_RTE_MAX_VFIO_CONTAINERS=64
-CONFIG_RTE_MALLOC_DEBUG=n
-CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=n
-CONFIG_RTE_USE_LIBBSD=n
-# Use WFE instructions to implement the rte_wait_for_equal_xxx APIs,
-# calling these APIs put the cores in low power state while waiting
-# for the memory address to become equal to the expected value.
-# This is supported only by aarch64.
-CONFIG_RTE_ARM_USE_WFE=n
-
-#
-# Recognize/ignore the AVX/AVX512 CPU flags for performance/power testing.
-# AVX512 is marked as experimental for now, will enable it after enough
-# field test and possible optimization.
-#
-CONFIG_RTE_ENABLE_AVX=y
-CONFIG_RTE_ENABLE_AVX512=n
-
-# Use ARM LSE ATOMIC instructions
-CONFIG_RTE_ARM_FEATURE_ATOMICS=n
-
-# Default driver path (or "" to disable)
-CONFIG_RTE_EAL_PMD_PATH=""
-
-#
-# Compile Environment Abstraction Layer to support Vmware TSC map
-#
-CONFIG_RTE_LIBRTE_EAL_VMWARE_TSC_MAP_SUPPORT=y
-
-#
-# Compile the PCI library
-#
-CONFIG_RTE_LIBRTE_PCI=y
-
-#
-# Compile the argument parser library
-#
-CONFIG_RTE_LIBRTE_KVARGS=y
-
-#
-# Compile generic ethernet library
-#
-CONFIG_RTE_LIBRTE_ETHER=y
-CONFIG_RTE_LIBRTE_ETHDEV_DEBUG=n
-CONFIG_RTE_MAX_ETHPORTS=32
-CONFIG_RTE_MAX_QUEUES_PER_PORT=1024
-CONFIG_RTE_LIBRTE_IEEE1588=n
-CONFIG_RTE_ETHDEV_QUEUE_STAT_CNTRS=16
-CONFIG_RTE_ETHDEV_RXTX_CALLBACKS=y
-CONFIG_RTE_ETHDEV_PROFILE_WITH_VTUNE=n
-
-#
-# Turn off Tx preparation stage
-#
-# Warning: rte_eth_tx_prepare() can be safely disabled only if using a
-# driver which do not implement any Tx preparation.
-#
-CONFIG_RTE_ETHDEV_TX_PREPARE_NOOP=n
-
-#
-# Common libraries, before Bus/PMDs
-#
-CONFIG_RTE_LIBRTE_COMMON_DPAAX=n
-
-#
-# Compile the Intel FPGA bus
-#
-CONFIG_RTE_LIBRTE_IFPGA_BUS=y
-
-#
-# Compile PCI bus driver
-#
-CONFIG_RTE_LIBRTE_PCI_BUS=y
-
-#
-# Compile the vdev bus
-#
-CONFIG_RTE_LIBRTE_VDEV_BUS=y
-
-#
-# Compile ARK PMD
-#
-CONFIG_RTE_LIBRTE_ARK_PMD=y
-CONFIG_RTE_LIBRTE_ARK_PAD_TX=y
-CONFIG_RTE_LIBRTE_ARK_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_ARK_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_ARK_DEBUG_STATS=n
-CONFIG_RTE_LIBRTE_ARK_DEBUG_TRACE=n
-
-#
-# Compile Aquantia Atlantic PMD driver
-#
-CONFIG_RTE_LIBRTE_ATLANTIC_PMD=y
-
-#
-# Compile AMD PMD
-#
-CONFIG_RTE_LIBRTE_AXGBE_PMD=y
-CONFIG_RTE_LIBRTE_AXGBE_PMD_DEBUG=n
-
-#
-# Compile burst-oriented Broadcom PMD driver
-#
-CONFIG_RTE_LIBRTE_BNX2X_PMD=n
-CONFIG_RTE_LIBRTE_BNX2X_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_BNX2X_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_BNX2X_MF_SUPPORT=n
-CONFIG_RTE_LIBRTE_BNX2X_DEBUG_PERIODIC=n
-
-#
-# Compile burst-oriented Broadcom BNXT PMD driver
-#
-CONFIG_RTE_LIBRTE_BNXT_PMD=y
-
-#
-# Compile burst-oriented Chelsio Terminator (CXGBE) PMD
-#
-CONFIG_RTE_LIBRTE_CXGBE_PMD=y
-
-#
-# Compile burst-oriented NXP PFE PMD driver
-#
-CONFIG_RTE_LIBRTE_PFE_PMD=n
-
-# NXP DPAA Bus
-CONFIG_RTE_LIBRTE_DPAA_BUS=n
-CONFIG_RTE_LIBRTE_DPAA_MEMPOOL=n
-CONFIG_RTE_LIBRTE_DPAA_PMD=n
-CONFIG_RTE_LIBRTE_DPAA_HWDEBUG=n
-
-#
-# Compile NXP DPAA2 FSL-MC Bus
-#
-CONFIG_RTE_LIBRTE_FSLMC_BUS=n
-
-#
-# Compile Support Libraries for NXP DPAA2
-#
-CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL=n
-CONFIG_RTE_LIBRTE_DPAA2_USE_PHYS_IOVA=y
-
-#
-# Compile burst-oriented NXP DPAA2 PMD driver
-#
-CONFIG_RTE_LIBRTE_DPAA2_PMD=n
-CONFIG_RTE_LIBRTE_DPAA2_DEBUG_DRIVER=n
-
-#
-# Compile NXP ENETC PMD Driver
-#
-CONFIG_RTE_LIBRTE_ENETC_PMD=n
-
-#
-# Compile burst-oriented Amazon ENA PMD driver
-#
-CONFIG_RTE_LIBRTE_ENA_PMD=y
-CONFIG_RTE_LIBRTE_ENA_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_ENA_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_ENA_DEBUG_TX_FREE=n
-CONFIG_RTE_LIBRTE_ENA_COM_DEBUG=n
-
-#
-# Compile burst-oriented Cisco ENIC PMD driver
-#
-CONFIG_RTE_LIBRTE_ENIC_PMD=y
-
-#
-# Compile burst-oriented IGB & EM PMD drivers
-#
-CONFIG_RTE_LIBRTE_EM_PMD=y
-CONFIG_RTE_LIBRTE_IGB_PMD=y
-CONFIG_RTE_LIBRTE_E1000_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_E1000_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_E1000_DEBUG_TX_FREE=n
-CONFIG_RTE_LIBRTE_E1000_PF_DISABLE_STRIP_CRC=n
-
-#
-# Compile burst-oriented HINIC PMD driver
-#
-CONFIG_RTE_LIBRTE_HINIC_PMD=n
-
-#
-# Compile burst-oriented HNS3 PMD driver
-#
-CONFIG_RTE_LIBRTE_HNS3_PMD=n
-
-#
-# Compile Pensando IONIC PMD driver
-#
-CONFIG_RTE_LIBRTE_IONIC_PMD=y
-
-#
-# Compile burst-oriented IXGBE PMD driver
-#
-CONFIG_RTE_LIBRTE_IXGBE_PMD=y
-CONFIG_RTE_LIBRTE_IXGBE_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_IXGBE_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_IXGBE_DEBUG_TX_FREE=n
-CONFIG_RTE_LIBRTE_IXGBE_PF_DISABLE_STRIP_CRC=n
-CONFIG_RTE_LIBRTE_IXGBE_BYPASS=n
-
-#
-# Compile burst-oriented I40E PMD driver
-#
-CONFIG_RTE_LIBRTE_I40E_PMD=y
-CONFIG_RTE_LIBRTE_I40E_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_I40E_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_I40E_DEBUG_TX_FREE=n
-CONFIG_RTE_LIBRTE_I40E_RX_ALLOW_BULK_ALLOC=y
-CONFIG_RTE_LIBRTE_I40E_INC_VECTOR=y
-CONFIG_RTE_LIBRTE_I40E_16BYTE_RX_DESC=n
-CONFIG_RTE_LIBRTE_I40E_QUEUE_NUM_PER_PF=64
-CONFIG_RTE_LIBRTE_I40E_QUEUE_NUM_PER_VM=4
-
-#
-# Compile burst-oriented FM10K PMD
-#
-CONFIG_RTE_LIBRTE_FM10K_PMD=y
-CONFIG_RTE_LIBRTE_FM10K_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_FM10K_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_FM10K_DEBUG_TX_FREE=n
-CONFIG_RTE_LIBRTE_FM10K_RX_OLFLAGS_ENABLE=y
-CONFIG_RTE_LIBRTE_FM10K_INC_VECTOR=y
-
-#
-# Compile burst-oriented ICE PMD driver
-#
-CONFIG_RTE_LIBRTE_ICE_PMD=y
-CONFIG_RTE_LIBRTE_ICE_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_ICE_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_ICE_DEBUG_TX_FREE=n
-CONFIG_RTE_LIBRTE_ICE_16BYTE_RX_DESC=n
-
-# Compile burst-oriented IAVF PMD driver
-#
-CONFIG_RTE_LIBRTE_IAVF_PMD=y
-CONFIG_RTE_LIBRTE_IAVF_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_IAVF_DEBUG_TX_FREE=n
-CONFIG_RTE_LIBRTE_IAVF_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_IAVF_DEBUG_DUMP_DESC=n
-CONFIG_RTE_LIBRTE_IAVF_16BYTE_RX_DESC=n
-#
-# Compile burst-oriented IPN3KE PMD driver
-#
-CONFIG_RTE_LIBRTE_IPN3KE_PMD=n
-
-#
-# Compile burst-oriented IGC PMD drivers
-#
-CONFIG_RTE_LIBRTE_IGC_PMD=y
-CONFIG_RTE_LIBRTE_IGC_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_IGC_DEBUG_TX=n
-
-#
-# Compile burst-oriented Mellanox ConnectX-3 (MLX4) PMD
-#
-CONFIG_RTE_LIBRTE_MLX4_PMD=n
-CONFIG_RTE_LIBRTE_MLX4_DEBUG=n
-
-#
-# Compile burst-oriented Mellanox ConnectX-4, ConnectX-5,
-# ConnectX-6 & BlueField (MLX5) PMD
-#
-CONFIG_RTE_LIBRTE_MLX5_PMD=n
-CONFIG_RTE_LIBRTE_MLX5_DEBUG=n
-
-#
-# Compile regex-oriented Mellanox PMD
-#
-CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD=n
-
-#
-# Compile vdpa-oriented Mellanox ConnectX-6 & BlueField (MLX5) PMD
-#
-CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD=n
-
-# Linking method for mlx4/5 dependency on ibverbs and related libraries
-# Default linking is dynamic by linker.
-# Other options are: dynamic by dlopen at run-time, or statically embedded.
-CONFIG_RTE_IBVERBS_LINK_DLOPEN=n
-CONFIG_RTE_IBVERBS_LINK_STATIC=n
-
-#
-# Compile burst-oriented Netronome NFP PMD driver
-#
-CONFIG_RTE_LIBRTE_NFP_PMD=n
-CONFIG_RTE_LIBRTE_NFP_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_NFP_DEBUG_RX=n
-
-# QLogic 10G/25G/40G/50G/100G PMD
-#
-CONFIG_RTE_LIBRTE_QEDE_PMD=y
-CONFIG_RTE_LIBRTE_QEDE_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_QEDE_DEBUG_RX=n
-#Provides abs path/name of the firmware file.
-#Empty string denotes driver will use default firmware
-CONFIG_RTE_LIBRTE_QEDE_FW=""
-
-#
-# Compile burst-oriented Solarflare libefx-based PMD
-#
-CONFIG_RTE_LIBRTE_SFC_EFX_PMD=y
-CONFIG_RTE_LIBRTE_SFC_EFX_DEBUG=n
-
-#
-# Compile software PMD backed by SZEDATA2 device
-#
-CONFIG_RTE_LIBRTE_PMD_SZEDATA2=n
-
-#
-# Compile software PMD backed by NFB device
-#
-CONFIG_RTE_LIBRTE_NFB_PMD=n
-
-#
-# Compile burst-oriented Cavium Thunderx NICVF PMD driver
-#
-CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD=y
-CONFIG_RTE_LIBRTE_THUNDERX_NICVF_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_THUNDERX_NICVF_DEBUG_TX=n
-
-#
-# Compile burst-oriented Cavium LiquidIO PMD driver
-#
-CONFIG_RTE_LIBRTE_LIO_PMD=y
-CONFIG_RTE_LIBRTE_LIO_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_LIO_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_LIO_DEBUG_MBOX=n
-CONFIG_RTE_LIBRTE_LIO_DEBUG_REGS=n
-
-#
-# Compile burst-oriented Cavium OCTEONTX network PMD driver
-#
-CONFIG_RTE_LIBRTE_OCTEONTX_PMD=y
-
-#
-# Compile burst-oriented Marvell OCTEON TX2 network PMD driver
-#
-CONFIG_RTE_LIBRTE_OCTEONTX2_PMD=y
-
-#
-# Compile WRS accelerated virtual port (AVP) guest PMD driver
-#
-CONFIG_RTE_LIBRTE_AVP_PMD=n
-CONFIG_RTE_LIBRTE_AVP_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_AVP_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_AVP_DEBUG_BUFFERS=n
-
-#
-# Compile burst-oriented VIRTIO PMD driver
-#
-CONFIG_RTE_LIBRTE_VIRTIO_PMD=y
-CONFIG_RTE_LIBRTE_VIRTIO_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_VIRTIO_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_VIRTIO_DEBUG_DUMP=n
-
-#
-# Compile virtio device emulation inside virtio PMD driver
-#
-CONFIG_RTE_VIRTIO_USER=n
-
-#
-# Compile burst-oriented VMXNET3 PMD driver
-#
-CONFIG_RTE_LIBRTE_VMXNET3_PMD=y
-CONFIG_RTE_LIBRTE_VMXNET3_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_VMXNET3_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_VMXNET3_DEBUG_TX_FREE=n
-
-#
-# Compile software PMD backed by AF_PACKET sockets (Linux only)
-#
-CONFIG_RTE_LIBRTE_PMD_AF_PACKET=n
-
-#
-# Compile software PMD backed by AF_XDP sockets (Linux only)
-#
-CONFIG_RTE_LIBRTE_PMD_AF_XDP=n
-
-#
-# Compile Memory Interface PMD driver (Linux only)
-#
-CONFIG_RTE_LIBRTE_PMD_MEMIF=n
-
-#
-# Compile link bonding PMD library
-#
-CONFIG_RTE_LIBRTE_PMD_BOND=y
-CONFIG_RTE_LIBRTE_BOND_DEBUG_ALB=n
-CONFIG_RTE_LIBRTE_BOND_DEBUG_ALB_L1=n
-
-#
-# Compile fail-safe PMD
-#
-CONFIG_RTE_LIBRTE_PMD_FAILSAFE=y
-
-#
-# Compile Marvell PMD driver
-#
-CONFIG_RTE_LIBRTE_MVPP2_PMD=n
-
-#
-# Compile Marvell MVNETA PMD driver
-#
-CONFIG_RTE_LIBRTE_MVNETA_PMD=n
-
-#
-# Compile support for VMBus library
-#
-CONFIG_RTE_LIBRTE_VMBUS=n
-
-#
-# Compile native PMD for Hyper-V/Azure
-#
-CONFIG_RTE_LIBRTE_NETVSC_PMD=n
-CONFIG_RTE_LIBRTE_NETVSC_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_NETVSC_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_NETVSC_DEBUG_DUMP=n
-
-#
-# Compile virtual device driver for NetVSC on Hyper-V/Azure
-#
-CONFIG_RTE_LIBRTE_VDEV_NETVSC_PMD=n
-
-#
-# Compile null PMD
-#
-CONFIG_RTE_LIBRTE_PMD_NULL=y
-
-#
-# Compile software PMD backed by PCAP files
-#
-CONFIG_RTE_LIBRTE_PMD_PCAP=n
-
-#
-# Compile example software rings based PMD
-#
-CONFIG_RTE_LIBRTE_PMD_RING=y
-CONFIG_RTE_PMD_RING_MAX_RX_RINGS=16
-CONFIG_RTE_PMD_RING_MAX_TX_RINGS=16
-
-#
-# Compile SOFTNIC PMD
-#
-CONFIG_RTE_LIBRTE_PMD_SOFTNIC=n
-
-#
-# Compile the TAP PMD
-# It is enabled by default for Linux only.
-#
-CONFIG_RTE_LIBRTE_PMD_TAP=n
-
-#
-# Do prefetch of packet data within PMD driver receive function
-#
-CONFIG_RTE_PMD_PACKET_PREFETCH=y
-
-# Compile generic wireless base band device library
-# EXPERIMENTAL: API may change without prior notice
-#
-CONFIG_RTE_LIBRTE_BBDEV=y
-CONFIG_RTE_LIBRTE_BBDEV_DEBUG=n
-CONFIG_RTE_BBDEV_MAX_DEVS=128
-CONFIG_RTE_BBDEV_OFFLOAD_COST=y
-CONFIG_RTE_BBDEV_SDK_AVX2=n
-CONFIG_RTE_BBDEV_SDK_AVX512=n
-
-#
-# Compile PMD for NULL bbdev device
-#
-CONFIG_RTE_LIBRTE_PMD_BBDEV_NULL=y
-
-#
-# Compile PMD for turbo software bbdev device
-#
-CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW=y
-
-#
-# Compile PMD for Intel FPGA LTE FEC bbdev device
-#
-CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_LTE_FEC=y
-
-#
-# Compile PMD for Intel FPGA 5GNR FEC bbdev device
-#
-CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_5GNR_FEC=y
-
-#
-# Compile generic crypto device library
-#
-CONFIG_RTE_LIBRTE_CRYPTODEV=y
-CONFIG_RTE_CRYPTO_MAX_DEVS=64
-
-#
-# Compile PMD for ARMv8 Crypto device
-#
-CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO=n
-
-#
-# Compile NXP CAAM JR crypto Driver
-#
-CONFIG_RTE_LIBRTE_PMD_CAAM_JR=n
-CONFIG_RTE_LIBRTE_PMD_CAAM_JR_BE=n
-
-#
-# Compile NXP DPAA2 crypto sec driver for CAAM HW
-#
-CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC=n
-
-#
-# NXP DPAA caam - crypto driver
-#
-CONFIG_RTE_LIBRTE_PMD_DPAA_SEC=n
-CONFIG_RTE_LIBRTE_DPAA_MAX_CRYPTODEV=4
-
-#
-# Compile PMD for Cavium OCTEON TX crypto device
-#
-CONFIG_RTE_LIBRTE_PMD_OCTEONTX_CRYPTO=y
-
-#
-# Compile PMD for Marvell OCTEON TX2 crypto device
-#
-CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO=y
-
-#
-# Compile PMD for QuickAssist based devices - see docs for details
-#
-CONFIG_RTE_LIBRTE_PMD_QAT=y
-CONFIG_RTE_LIBRTE_PMD_QAT_SYM=n
-CONFIG_RTE_LIBRTE_PMD_QAT_ASYM=n
-#
-# Max. number of QuickAssist devices, which can be detected and attached
-#
-CONFIG_RTE_PMD_QAT_MAX_PCI_DEVICES=48
-CONFIG_RTE_PMD_QAT_COMP_IM_BUFFER_SIZE=65536
-
-#
-# Compile PMD for virtio crypto devices
-#
-CONFIG_RTE_LIBRTE_PMD_VIRTIO_CRYPTO=y
-#
-# Number of maximum virtio crypto devices
-#
-CONFIG_RTE_MAX_VIRTIO_CRYPTO=32
-
-#
-# Compile PMD for AESNI backed device
-#
-CONFIG_RTE_LIBRTE_PMD_AESNI_MB=n
-
-#
-# Compile PMD for Software backed device
-#
-CONFIG_RTE_LIBRTE_PMD_OPENSSL=n
-
-#
-# Compile PMD for AESNI GCM device
-#
-CONFIG_RTE_LIBRTE_PMD_AESNI_GCM=n
-
-#
-# Compile PMD for SNOW 3G device
-#
-CONFIG_RTE_LIBRTE_PMD_SNOW3G=n
-CONFIG_RTE_LIBRTE_PMD_SNOW3G_DEBUG=n
-
-#
-# Compile PMD for KASUMI device
-#
-CONFIG_RTE_LIBRTE_PMD_KASUMI=n
-
-#
-# Compile PMD for ZUC device
-#
-CONFIG_RTE_LIBRTE_PMD_ZUC=n
-
-# Compile PMD for Crypto Scheduler device
-#
-CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER=y
-
-#
-# Compile PMD for NULL Crypto device
-#
-CONFIG_RTE_LIBRTE_PMD_NULL_CRYPTO=y
-
-#
-# Compile PMD for AMD CCP crypto device
-#
-CONFIG_RTE_LIBRTE_PMD_CCP=n
-
-#
-# Compile PMD for Marvell Crypto device
-#
-CONFIG_RTE_LIBRTE_PMD_MVSAM_CRYPTO=n
-
-#
-# Compile PMD for NITROX crypto device
-#
-CONFIG_RTE_LIBRTE_PMD_NITROX=y
-
-#
-# Compile generic security library
-#
-CONFIG_RTE_LIBRTE_SECURITY=y
-
-#
-# Compile generic compression device library
-#
-CONFIG_RTE_LIBRTE_COMPRESSDEV=y
-CONFIG_RTE_COMPRESS_MAX_DEVS=64
-
-#
-# Compile compressdev unit test
-#
-CONFIG_RTE_COMPRESSDEV_TEST=n
-
-#
-# Compile PMD for Octeontx ZIPVF compression device
-#
-CONFIG_RTE_LIBRTE_PMD_OCTEONTX_ZIPVF=y
-
-#
-# Compile PMD for ISA-L compression device
-#
-CONFIG_RTE_LIBRTE_PMD_ISAL=n
-
-#
-# Compile PMD for ZLIB compression device
-#
-CONFIG_RTE_LIBRTE_PMD_ZLIB=n
-
-#
-# Compile RegEx device support
-#
-CONFIG_RTE_LIBRTE_REGEXDEV=y
-CONFIG_RTE_LIBRTE_REGEXDEV_DEBUG=n
-CONFIG_RTE_MAX_REGEXDEV_DEVS=32
-
-#
-# Compile generic event device library
-#
-CONFIG_RTE_LIBRTE_EVENTDEV=y
-CONFIG_RTE_LIBRTE_EVENTDEV_DEBUG=n
-CONFIG_RTE_EVENT_MAX_DEVS=16
-CONFIG_RTE_EVENT_MAX_QUEUES_PER_DEV=64
-CONFIG_RTE_EVENT_TIMER_ADAPTER_NUM_MAX=32
-CONFIG_RTE_EVENT_ETH_INTR_RING_SIZE=1024
-CONFIG_RTE_EVENT_CRYPTO_ADAPTER_MAX_INSTANCE=32
-CONFIG_RTE_EVENT_ETH_TX_ADAPTER_MAX_INSTANCE=32
-
-#
-# Compile PMD for skeleton event device
-#
-CONFIG_RTE_LIBRTE_PMD_SKELETON_EVENTDEV=y
-CONFIG_RTE_LIBRTE_PMD_SKELETON_EVENTDEV_DEBUG=n
-
-#
-# Compile PMD for software event device
-#
-CONFIG_RTE_LIBRTE_PMD_SW_EVENTDEV=y
-
-#
-# Compile PMD for distributed software event device
-#
-CONFIG_RTE_LIBRTE_PMD_DSW_EVENTDEV=y
-
-#
-# Compile PMD for octeontx sso event device
-#
-CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF=y
-
-#
-# Compile PMD for octeontx2 sso event device
-#
-CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV=y
-
-#
-# Compile PMD for OPDL event device
-#
-CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV=y
-
-#
-# Compile PMD for NXP DPAA event device
-#
-CONFIG_RTE_LIBRTE_PMD_DPAA_EVENTDEV=n
-
-#
-# Compile PMD for NXP DPAA2 event device
-#
-CONFIG_RTE_LIBRTE_PMD_DPAA2_EVENTDEV=n
-
-#
-# Compile raw device support
-# EXPERIMENTAL: API may change without prior notice
-#
-CONFIG_RTE_LIBRTE_RAWDEV=y
-CONFIG_RTE_RAWDEV_MAX_DEVS=64
-CONFIG_RTE_LIBRTE_PMD_SKELETON_RAWDEV=y
-
-#
-# Compile PMD for NXP DPAA2 CMDIF raw device
-#
-CONFIG_RTE_LIBRTE_PMD_DPAA2_CMDIF_RAWDEV=n
-
-#
-# Compile PMD for NXP DPAA2 QDMA raw device
-#
-CONFIG_RTE_LIBRTE_PMD_DPAA2_QDMA_RAWDEV=n
-
-#
-# Compile PMD for Intel FPGA raw device
-#
-CONFIG_RTE_LIBRTE_PMD_IFPGA_RAWDEV=n
-
-#
-# Compile PMD for Intel IOAT raw device
-#
-CONFIG_RTE_LIBRTE_PMD_IOAT_RAWDEV=y
-
-#
-# Compile PMD for octeontx2 DMA raw device
-#
-CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_DMA_RAWDEV=y
-
-#
-# Compile PMD for octeontx2 EP raw device
-#
-CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EP_RAWDEV=y
-
-#
-# Compile PMD for NTB raw device
-#
-CONFIG_RTE_LIBRTE_PMD_NTB_RAWDEV=y
-
-#
-# Compile librte_ring
-#
-CONFIG_RTE_LIBRTE_RING=y
-
-#
-# Compile librte_stack
-#
-CONFIG_RTE_LIBRTE_STACK=y
-
-#
-# Compile librte_mempool
-#
-CONFIG_RTE_LIBRTE_MEMPOOL=y
-CONFIG_RTE_MEMPOOL_CACHE_MAX_SIZE=512
-CONFIG_RTE_LIBRTE_MEMPOOL_DEBUG=n
-
-#
-# Compile Mempool drivers
-#
-CONFIG_RTE_DRIVER_MEMPOOL_BUCKET=y
-CONFIG_RTE_DRIVER_MEMPOOL_BUCKET_SIZE_KB=64
-CONFIG_RTE_DRIVER_MEMPOOL_RING=y
-CONFIG_RTE_DRIVER_MEMPOOL_STACK=y
-
-#
-# Compile PMD for octeontx fpa mempool device
-#
-CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL=y
-
-#
-# Compile PMD for octeontx2 npa mempool device
-#
-CONFIG_RTE_LIBRTE_OCTEONTX2_MEMPOOL=y
-
-#
-# Compile librte_mbuf
-#
-CONFIG_RTE_LIBRTE_MBUF=y
-CONFIG_RTE_LIBRTE_MBUF_DEBUG=n
-CONFIG_RTE_MBUF_DEFAULT_MEMPOOL_OPS="ring_mp_mc"
-CONFIG_RTE_MBUF_REFCNT_ATOMIC=y
-CONFIG_RTE_PKTMBUF_HEADROOM=128
-
-#
-# Compile librte_timer
-#
-CONFIG_RTE_LIBRTE_TIMER=y
-CONFIG_RTE_LIBRTE_TIMER_DEBUG=n
-
-#
-# Compile librte_cfgfile
-#
-CONFIG_RTE_LIBRTE_CFGFILE=y
-
-#
-# Compile librte_cmdline
-#
-CONFIG_RTE_LIBRTE_CMDLINE=y
-CONFIG_RTE_LIBRTE_CMDLINE_DEBUG=n
-
-#
-# Compile librte_hash
-#
-CONFIG_RTE_LIBRTE_HASH=y
-CONFIG_RTE_LIBRTE_HASH_DEBUG=n
-
-#
-# Compile librte_efd
-#
-CONFIG_RTE_LIBRTE_EFD=y
-
-#
-# Compile librte_member
-#
-CONFIG_RTE_LIBRTE_MEMBER=y
-
-#
-# Compile librte_jobstats
-#
-CONFIG_RTE_LIBRTE_JOBSTATS=y
-
-#
-# Compile the device metrics library
-#
-CONFIG_RTE_LIBRTE_METRICS=y
-
-#
-# Compile the bitrate statistics library
-#
-CONFIG_RTE_LIBRTE_BITRATE=y
-
-#
-# Compile the latency statistics library
-#
-CONFIG_RTE_LIBRTE_LATENCY_STATS=y
-
-#
-# Compile librte_telemetry legacy support
-#
-CONFIG_RTE_LIBRTE_TELEMETRY=n
-
-#
-# Compile librte_rcu
-#
-CONFIG_RTE_LIBRTE_RCU=y
-CONFIG_RTE_LIBRTE_RCU_DEBUG=n
-
-#
-# Compile librte_rib
-#
-CONFIG_RTE_LIBRTE_RIB=y
-
-#
-# Compile librte_fib
-#
-CONFIG_RTE_LIBRTE_FIB=y
-CONFIG_RTE_LIBRTE_FIB_DEBUG=n
-
-#
-# Compile librte_lpm
-#
-CONFIG_RTE_LIBRTE_LPM=y
-CONFIG_RTE_LIBRTE_LPM_DEBUG=n
-
-#
-# Compile librte_acl
-#
-CONFIG_RTE_LIBRTE_ACL=y
-CONFIG_RTE_LIBRTE_ACL_DEBUG=n
-
-#
-# Compile librte_power
-#
-CONFIG_RTE_LIBRTE_POWER=n
-CONFIG_RTE_LIBRTE_POWER_DEBUG=n
-CONFIG_RTE_MAX_LCORE_FREQS=64
-
-#
-# Compile librte_net
-#
-CONFIG_RTE_LIBRTE_NET=y
-
-#
-# Compile librte_ip_frag
-#
-CONFIG_RTE_LIBRTE_IP_FRAG=y
-CONFIG_RTE_LIBRTE_IP_FRAG_DEBUG=n
-CONFIG_RTE_LIBRTE_IP_FRAG_MAX_FRAG=4
-CONFIG_RTE_LIBRTE_IP_FRAG_TBL_STAT=n
-
-#
-# Compile GRO library
-#
-CONFIG_RTE_LIBRTE_GRO=y
-
-#
-# Compile GSO library
-#
-CONFIG_RTE_LIBRTE_GSO=y
-
-#
-# Compile librte_meter
-#
-CONFIG_RTE_LIBRTE_METER=y
-
-#
-# Compile librte_classify
-#
-CONFIG_RTE_LIBRTE_FLOW_CLASSIFY=y
-
-#
-# Compile librte_sched
-#
-CONFIG_RTE_LIBRTE_SCHED=y
-CONFIG_RTE_SCHED_DEBUG=n
-CONFIG_RTE_SCHED_RED=n
-CONFIG_RTE_SCHED_COLLECT_STATS=n
-CONFIG_RTE_SCHED_SUBPORT_TC_OV=n
-CONFIG_RTE_SCHED_PORT_N_GRINDERS=8
-CONFIG_RTE_SCHED_VECTOR=n
-
-#
-# Compile the distributor library
-#
-CONFIG_RTE_LIBRTE_DISTRIBUTOR=y
-
-#
-# Compile the reorder library
-#
-CONFIG_RTE_LIBRTE_REORDER=y
-
-#
-# Compile librte_port
-#
-CONFIG_RTE_LIBRTE_PORT=y
-CONFIG_RTE_PORT_STATS_COLLECT=n
-CONFIG_RTE_PORT_PCAP=n
-
-#
-# Compile librte_table
-#
-CONFIG_RTE_LIBRTE_TABLE=y
-CONFIG_RTE_TABLE_STATS_COLLECT=n
-
-#
-# Compile librte_pipeline
-#
-CONFIG_RTE_LIBRTE_PIPELINE=y
-CONFIG_RTE_PIPELINE_STATS_COLLECT=n
-
-#
-# Compile librte_kni
-#
-CONFIG_RTE_LIBRTE_KNI=n
-CONFIG_RTE_LIBRTE_PMD_KNI=n
-CONFIG_RTE_KNI_KMOD=n
-CONFIG_RTE_KNI_PREEMPT_DEFAULT=y
-
-#
-# Compile the pdump library
-#
-CONFIG_RTE_LIBRTE_PDUMP=y
-
-#
-# Compile vhost user library
-#
-CONFIG_RTE_LIBRTE_VHOST=n
-CONFIG_RTE_LIBRTE_VHOST_NUMA=n
-CONFIG_RTE_LIBRTE_VHOST_DEBUG=n
-
-#
-# Compile vhost PMD
-# To compile, CONFIG_RTE_LIBRTE_VHOST should be enabled.
-#
-CONFIG_RTE_LIBRTE_PMD_VHOST=n
-
-#
-# Compile IFC driver
-# To compile, CONFIG_RTE_LIBRTE_VHOST and CONFIG_RTE_EAL_VFIO
-# should be enabled.
-#
-CONFIG_RTE_LIBRTE_IFC_PMD=n
-
-#
-# Compile librte_bpf
-#
-CONFIG_RTE_LIBRTE_BPF=y
-# allow load BPF from ELF files (requires libelf)
-CONFIG_RTE_LIBRTE_BPF_ELF=n
-
-#
-# Compile librte_ipsec
-#
-CONFIG_RTE_LIBRTE_IPSEC=y
-
-#
-# Compile librte_graph
-#
-CONFIG_RTE_LIBRTE_GRAPH=y
-CONFIG_RTE_GRAPH_BURST_SIZE=256
-CONFIG_RTE_LIBRTE_GRAPH_STATS=y
-
-#
-# Compile librte_node
-#
-CONFIG_RTE_LIBRTE_NODE=y
-
-#
-# Compile the test application
-#
-CONFIG_RTE_APP_TEST=y
-CONFIG_RTE_APP_TEST_RESOURCE_TAR=n
-
-#
-# Compile the procinfo application
-#
-CONFIG_RTE_PROC_INFO=n
-
-#
-# Compile the PMD test application
-#
-CONFIG_RTE_TEST_PMD=y
-CONFIG_RTE_TEST_PMD_RECORD_CORE_CYCLES=n
-CONFIG_RTE_TEST_PMD_RECORD_BURST_STATS=n
-
-#
-# Compile the rte flow perf application
-#
-CONFIG_RTE_TEST_FLOW_PERF=y
-
-#
-# Compile the bbdev test application
-#
-CONFIG_RTE_TEST_BBDEV=y
-
-#
-# Compile the compression performance application
-#
-CONFIG_RTE_APP_COMPRESS_PERF=y
-
-#
-# Compile the crypto performance application
-#
-CONFIG_RTE_APP_CRYPTO_PERF=y
-
-#
-# Compile the eventdev application
-#
-CONFIG_RTE_APP_EVENTDEV=y
diff --git a/config/common_freebsd b/config/common_freebsd
deleted file mode 100644
index 456b394c4d..0000000000
--- a/config/common_freebsd
+++ /dev/null
@@ -1,15 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2016 Intel Corporation
-
-#include "common_base"
-
-CONFIG_RTE_EXEC_ENV="bsdapp"
-CONFIG_RTE_EXEC_ENV_BSDAPP=y
-CONFIG_RTE_EXEC_ENV_FREEBSD=y
-
-#
-# FreeBSD contiguous memory driver settings
-#
-CONFIG_RTE_CONTIGMEM_MAX_NUM_BUFS=64
-CONFIG_RTE_CONTIGMEM_DEFAULT_NUM_BUFS=2
-CONFIG_RTE_CONTIGMEM_DEFAULT_BUF_SIZE=1024*1024*1024
diff --git a/config/common_linux b/config/common_linux
deleted file mode 100644
index 816810671a..0000000000
--- a/config/common_linux
+++ /dev/null
@@ -1,68 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2016 Intel Corporation
-
-#include "common_base"
-
-CONFIG_RTE_EXEC_ENV="linuxapp"
-CONFIG_RTE_EXEC_ENV_LINUX=y
-CONFIG_RTE_EXEC_ENV_LINUXAPP=y
-
-CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=y
-CONFIG_RTE_EAL_VFIO=y
-CONFIG_RTE_LIBRTE_KNI=y
-CONFIG_RTE_LIBRTE_PMD_KNI=y
-CONFIG_RTE_LIBRTE_VHOST=y
-CONFIG_RTE_LIBRTE_VHOST_NUMA=y
-CONFIG_RTE_LIBRTE_VHOST_POSTCOPY=n
-CONFIG_RTE_LIBRTE_PMD_VHOST=y
-CONFIG_RTE_LIBRTE_IFC_PMD=y
-CONFIG_RTE_LIBRTE_PMD_AF_PACKET=y
-CONFIG_RTE_LIBRTE_PMD_MEMIF=y
-CONFIG_RTE_LIBRTE_PMD_SOFTNIC=y
-CONFIG_RTE_LIBRTE_PMD_TAP=y
-CONFIG_RTE_LIBRTE_AVP_PMD=y
-CONFIG_RTE_LIBRTE_VDEV_NETVSC_PMD=y
-CONFIG_RTE_LIBRTE_NFP_PMD=y
-CONFIG_RTE_LIBRTE_POWER=y
-CONFIG_RTE_VIRTIO_USER=y
-CONFIG_RTE_PROC_INFO=y
-
-CONFIG_RTE_LIBRTE_VMBUS=y
-CONFIG_RTE_LIBRTE_NETVSC_PMD=y
-
-#
-# Common libraries, before Bus/PMDs
-#
-CONFIG_RTE_LIBRTE_COMMON_DPAAX=y
-
-# NXP DPAA BUS and drivers
-CONFIG_RTE_LIBRTE_DPAA_BUS=y
-CONFIG_RTE_LIBRTE_DPAA_MEMPOOL=y
-CONFIG_RTE_LIBRTE_DPAA_PMD=y
-CONFIG_RTE_LIBRTE_PMD_DPAA_EVENTDEV=y
-CONFIG_RTE_LIBRTE_PMD_DPAA_SEC=y
-CONFIG_RTE_LIBRTE_PMD_CAAM_JR=y
-
-# NXP FSLMC BUS and DPAA2 drivers
-CONFIG_RTE_LIBRTE_FSLMC_BUS=y
-CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL=y
-CONFIG_RTE_LIBRTE_DPAA2_PMD=y
-CONFIG_RTE_LIBRTE_PMD_DPAA2_EVENTDEV=y
-CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC=y
-CONFIG_RTE_LIBRTE_PMD_DPAA2_CMDIF_RAWDEV=y
-CONFIG_RTE_LIBRTE_PMD_DPAA2_QDMA_RAWDEV=y
-
-#
-# NXP ENETC PMD Driver
-#
-CONFIG_RTE_LIBRTE_ENETC_PMD=y
-
-#
-# HINIC PMD driver
-#
-CONFIG_RTE_LIBRTE_HINIC_PMD=y
-
-#
-# Hisilicon HNS3 PMD driver
-#
-CONFIG_RTE_LIBRTE_HNS3_PMD=y
diff --git a/config/defconfig_arm-armv7a-linux-gcc b/config/defconfig_arm-armv7a-linux-gcc
deleted file mode 120000
index 84619de43a..0000000000
--- a/config/defconfig_arm-armv7a-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_arm-armv7a-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm-armv7a-linuxapp-gcc b/config/defconfig_arm-armv7a-linuxapp-gcc
deleted file mode 100644
index ac91120868..0000000000
--- a/config/defconfig_arm-armv7a-linuxapp-gcc
+++ /dev/null
@@ -1,49 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright (C) 2015 RehiveTech. All right reserved.
-
-#include "common_linux"
-
-CONFIG_RTE_MACHINE="armv7a"
-
-CONFIG_RTE_ARCH="arm"
-CONFIG_RTE_ARCH_ARM=y
-CONFIG_RTE_ARCH_ARMv7=y
-CONFIG_RTE_ARCH_ARM_TUNE="cortex-a9"
-
-# Accelerate memcpy operations. Consider enabling for Cortex-A15.
-# For Cortex-A7 and Cortex-A9, It might accelerate short data copies (< 64 B).
-CONFIG_RTE_ARCH_ARM_NEON_MEMCPY=n
-
-CONFIG_RTE_FORCE_INTRINSICS=y
-CONFIG_RTE_ARCH_STRICT_ALIGN=y
-
-CONFIG_RTE_TOOLCHAIN="gcc"
-CONFIG_RTE_TOOLCHAIN_GCC=y
-
-# NUMA is not supported on ARM
-CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=n
-CONFIG_RTE_LIBRTE_VHOST_NUMA=n
-
-# ARM doesn't have support for vmware TSC map
-CONFIG_RTE_LIBRTE_EAL_VMWARE_TSC_MAP_SUPPORT=n
-
-# KNI is not supported on 32-bit
-CONFIG_RTE_LIBRTE_KNI=n
-
-# cannot use those on ARM
-CONFIG_RTE_LIBRTE_ARK_PMD=n
-CONFIG_RTE_LIBRTE_EM_PMD=n
-CONFIG_RTE_LIBRTE_IGB_PMD=n
-CONFIG_RTE_LIBRTE_CXGBE_PMD=n
-CONFIG_RTE_LIBRTE_E1000_PMD=n
-CONFIG_RTE_LIBRTE_ENIC_PMD=n
-CONFIG_RTE_LIBRTE_FM10K_PMD=n
-CONFIG_RTE_LIBRTE_VMXNET3_PMD=n
-CONFIG_RTE_LIBRTE_QEDE_PMD=n
-CONFIG_RTE_LIBRTE_SFC_EFX_PMD=n
-CONFIG_RTE_LIBRTE_AVP_PMD=n
-CONFIG_RTE_LIBRTE_NFP_PMD=n
-CONFIG_RTE_LIBRTE_HINIC_PMD=n
-CONFIG_RTE_LIBRTE_HNS3_PMD=n
-CONFIG_RTE_LIBRTE_PMD_IOAT_RAWDEV=n
-CONFIG_RTE_LIBRTE_IONIC_PMD=n
diff --git a/config/defconfig_arm64-armada-linux-gcc b/config/defconfig_arm64-armada-linux-gcc
deleted file mode 120000
index 64ce2a5687..0000000000
--- a/config/defconfig_arm64-armada-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_arm64-armada-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm64-armada-linuxapp-gcc b/config/defconfig_arm64-armada-linuxapp-gcc
deleted file mode 100644
index a49bebe374..0000000000
--- a/config/defconfig_arm64-armada-linuxapp-gcc
+++ /dev/null
@@ -1,41 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Marvell International Ltd
-#
-
-#include "defconfig_arm64-armv8a-linux-gcc"
-
-#
-# Compile Environment Abstraction Layer
-#
-CONFIG_RTE_MAX_LCORE=16
-CONFIG_RTE_MAX_NUMA_NODES=1
-CONFIG_RTE_CACHE_LINE_SIZE=64
-
-# Enable PMDs
-CONFIG_RTE_LIBRTE_MVEP_COMMON=y
-CONFIG_RTE_LIBRTE_MVPP2_PMD=y
-CONFIG_RTE_LIBRTE_MVNETA_PMD=y
-CONFIG_RTE_LIBRTE_PMD_MVSAM_CRYPTO=y
-
-# Disable NXP as it is conflict with MUSDK
-CONFIG_RTE_LIBRTE_DPAA_BUS=n
-CONFIG_RTE_LIBRTE_COMMON_DPAAX=n
-CONFIG_RTE_LIBRTE_FSLMC_BUS=n
-CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL=n
-CONFIG_RTE_LIBRTE_DPAA2_PMD=n
-CONFIG_RTE_LIBRTE_DPAA_BUS=n
-CONFIG_RTE_LIBRTE_DPAA_MEMPOOL=n
-CONFIG_RTE_LIBRTE_DPAA_PMD=n
-CONFIG_RTE_LIBRTE_PMD_DPAA_EVENTDEV=n
-CONFIG_RTE_LIBRTE_PMD_DPAA_SEC=n
-CONFIG_RTE_LIBRTE_PMD_CAAM_JR=n
-CONFIG_RTE_LIBRTE_PMD_DPAA2_EVENTDEV=n
-CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC=n
-CONFIG_RTE_LIBRTE_PMD_DPAA2_CMDIF_RAWDEV=n
-CONFIG_RTE_LIBRTE_PMD_DPAA2_QDMA_RAWDEV=n
-CONFIG_RTE_LIBRTE_PFE_PMD=n
-CONFIG_RTE_LIBRTE_ENETC_PMD=n
-
-# Doesn't support NUMA
-CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=n
-CONFIG_RTE_LIBRTE_VHOST_NUMA=n
diff --git a/config/defconfig_arm64-armv8a-linux-clang b/config/defconfig_arm64-armv8a-linux-clang
deleted file mode 120000
index 196808b982..0000000000
--- a/config/defconfig_arm64-armv8a-linux-clang
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_arm64-armv8a-linuxapp-clang
\ No newline at end of file
diff --git a/config/defconfig_arm64-armv8a-linux-gcc b/config/defconfig_arm64-armv8a-linux-gcc
deleted file mode 120000
index 0949519562..0000000000
--- a/config/defconfig_arm64-armv8a-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_arm64-armv8a-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm64-armv8a-linuxapp-clang b/config/defconfig_arm64-armv8a-linuxapp-clang
deleted file mode 100644
index d3b4dad532..0000000000
--- a/config/defconfig_arm64-armv8a-linuxapp-clang
+++ /dev/null
@@ -1,8 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Cavium, Inc
-#
-
-#include "common_armv8a_linux"
-
-CONFIG_RTE_TOOLCHAIN="clang"
-CONFIG_RTE_TOOLCHAIN_CLANG=y
diff --git a/config/defconfig_arm64-armv8a-linuxapp-gcc b/config/defconfig_arm64-armv8a-linuxapp-gcc
deleted file mode 100644
index 58c4a4029a..0000000000
--- a/config/defconfig_arm64-armv8a-linuxapp-gcc
+++ /dev/null
@@ -1,9 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2015 Cavium, Inc
-#
-
-#include "common_armv8a_linux"
-
-CONFIG_RTE_TOOLCHAIN="gcc"
-CONFIG_RTE_TOOLCHAIN_GCC=y
-CONFIG_RTE_MAX_LCORE=256
diff --git a/config/defconfig_arm64-bluefield-linux-gcc b/config/defconfig_arm64-bluefield-linux-gcc
deleted file mode 120000
index dad37d5e79..0000000000
--- a/config/defconfig_arm64-bluefield-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_arm64-bluefield-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm64-bluefield-linuxapp-gcc b/config/defconfig_arm64-bluefield-linuxapp-gcc
deleted file mode 100644
index b496538819..0000000000
--- a/config/defconfig_arm64-bluefield-linuxapp-gcc
+++ /dev/null
@@ -1,18 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2019 Mellanox Technologies, Ltd
-#
-
-#include "defconfig_arm64-armv8a-linux-gcc"
-
-# Mellanox BlueField
-CONFIG_RTE_ARCH_ARM_TUNE="cortex-a72"
-
-CONFIG_RTE_MAX_NUMA_NODES=1
-CONFIG_RTE_CACHE_LINE_SIZE=64
-
-# UMA architecture
-CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=n
-CONFIG_RTE_LIBRTE_VHOST_NUMA=n
-
-# PMD for ConnectX-5
-CONFIG_RTE_LIBRTE_MLX5_PMD=y
diff --git a/config/defconfig_arm64-dpaa-linux-gcc b/config/defconfig_arm64-dpaa-linux-gcc
deleted file mode 120000
index dc05caacf3..0000000000
--- a/config/defconfig_arm64-dpaa-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_arm64-dpaa-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm64-dpaa-linuxapp-gcc b/config/defconfig_arm64-dpaa-linuxapp-gcc
deleted file mode 100644
index 4ae4cd8502..0000000000
--- a/config/defconfig_arm64-dpaa-linuxapp-gcc
+++ /dev/null
@@ -1,31 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2016 Freescale Semiconductor, Inc.
-# Copyright 2017-2019 NXP
-
-#include "defconfig_arm64-armv8a-linux-gcc"
-
-# NXP (Freescale) - Soc Architecture for DPAA or DPAA2 support
-# DPAA - FMAN, QMAN & BMAN support (e.g. LS1043, LS1046)
-# DPAA2 - WRIOP and QBMAN (e.g. LS1088, LS2088, LX2160 etc)
-#
-CONFIG_RTE_MACHINE="dpaa"
-CONFIG_RTE_ARCH_ARM_TUNE="cortex-a72"
-
-#
-# Compile Environment Abstraction Layer
-#
-CONFIG_RTE_MAX_LCORE=16
-CONFIG_RTE_MAX_NUMA_NODES=1
-CONFIG_RTE_CACHE_LINE_SIZE=64
-CONFIG_RTE_PKTMBUF_HEADROOM=128
-
-# Doesn't support NUMA
-CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=n
-CONFIG_RTE_LIBRTE_VHOST_NUMA=n
-
-# Enable PHY mode when using VM-VFIO target
-CONFIG_RTE_LIBRTE_DPAA2_USE_PHYS_IOVA=n
-
-# NXP DPAA Bus
-CONFIG_RTE_LIBRTE_DPAA_DEBUG_DRIVER=n
-CONFIG_RTE_LIBRTE_DPAA_HWDEBUG=n
diff --git a/config/defconfig_arm64-emag-linux-gcc b/config/defconfig_arm64-emag-linux-gcc
deleted file mode 120000
index 21894a31a8..0000000000
--- a/config/defconfig_arm64-emag-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_arm64-emag-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm64-emag-linuxapp-gcc b/config/defconfig_arm64-emag-linuxapp-gcc
deleted file mode 100644
index 1db654c899..0000000000
--- a/config/defconfig_arm64-emag-linuxapp-gcc
+++ /dev/null
@@ -1,11 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019 Ampere Computing
-#
-
-#include "defconfig_arm64-armv8a-linux-gcc"
-
-CONFIG_RTE_MACHINE="emag"
-
-CONFIG_RTE_CACHE_LINE_SIZE=64
-CONFIG_RTE_MAX_NUMA_NODES=1
-CONFIG_RTE_MAX_LCORE=32
diff --git a/config/defconfig_arm64-n1sdp-linux-gcc b/config/defconfig_arm64-n1sdp-linux-gcc
deleted file mode 120000
index 103bbea90f..0000000000
--- a/config/defconfig_arm64-n1sdp-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_arm64-n1sdp-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm64-n1sdp-linuxapp-gcc b/config/defconfig_arm64-n1sdp-linuxapp-gcc
deleted file mode 100644
index f9138093b5..0000000000
--- a/config/defconfig_arm64-n1sdp-linuxapp-gcc
+++ /dev/null
@@ -1,14 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019 Arm Ltd.
-#
-
-#include "defconfig_arm64-armv8a-linux-gcc"
-
-CONFIG_RTE_MACHINE="n1sdp"
-CONFIG_RTE_MAX_LCORE=4
-CONFIG_RTE_MAX_NUMA_NODES=1
-CONFIG_RTE_CACHE_LINE_SIZE=64
-
-# Doesn't support NUMA
-CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=n
-CONFIG_RTE_LIBRTE_VHOST_NUMA=n
diff --git a/config/defconfig_arm64-octeontx2-linux-gcc b/config/defconfig_arm64-octeontx2-linux-gcc
deleted file mode 120000
index e251505311..0000000000
--- a/config/defconfig_arm64-octeontx2-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_arm64-octeontx2-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm64-octeontx2-linuxapp-gcc b/config/defconfig_arm64-octeontx2-linuxapp-gcc
deleted file mode 100644
index 0d83becf54..0000000000
--- a/config/defconfig_arm64-octeontx2-linuxapp-gcc
+++ /dev/null
@@ -1,18 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Marvell International Ltd
-#
-
-#include "defconfig_arm64-armv8a-linux-gcc"
-
-CONFIG_RTE_MACHINE="octeontx2"
-
-CONFIG_RTE_MAX_NUMA_NODES=1
-CONFIG_RTE_MAX_LCORE=36
-CONFIG_RTE_ARM_FEATURE_ATOMICS=y
-
-# Doesn't support NUMA
-CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=n
-CONFIG_RTE_LIBRTE_VHOST_NUMA=n
-
-# Max supported NIX LFs
-CONFIG_RTE_MAX_VFIO_GROUPS=128
diff --git a/config/defconfig_arm64-stingray-linux-gcc b/config/defconfig_arm64-stingray-linux-gcc
deleted file mode 120000
index 829dd65f05..0000000000
--- a/config/defconfig_arm64-stingray-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_arm64-stingray-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm64-stingray-linuxapp-gcc b/config/defconfig_arm64-stingray-linuxapp-gcc
deleted file mode 100644
index 2a6f6cee28..0000000000
--- a/config/defconfig_arm64-stingray-linuxapp-gcc
+++ /dev/null
@@ -1,14 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright (C) Broadcom 2017-2018. All rights reserved.
-#
-
-#include "defconfig_arm64-armv8a-linux-gcc"
-
-# Broadcom - Stingray
-CONFIG_RTE_ARCH_ARM_TUNE="cortex-a72"
-
-# Doesn't support NUMA
-CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=n
-CONFIG_RTE_LIBRTE_VHOST_NUMA=n
-
-CONFIG_RTE_EAL_IGB_UIO=y
diff --git a/config/defconfig_arm64-thunderx-linux-gcc b/config/defconfig_arm64-thunderx-linux-gcc
deleted file mode 120000
index 1b9c4ad211..0000000000
--- a/config/defconfig_arm64-thunderx-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_arm64-thunderx-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm64-thunderx-linuxapp-gcc b/config/defconfig_arm64-thunderx-linuxapp-gcc
deleted file mode 100644
index 946906b67a..0000000000
--- a/config/defconfig_arm64-thunderx-linuxapp-gcc
+++ /dev/null
@@ -1,17 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2015 Cavium, Inc
-#
-
-#include "defconfig_arm64-armv8a-linux-gcc"
-
-CONFIG_RTE_MACHINE="thunderx"
-
-CONFIG_RTE_USE_C11_MEM_MODEL=n
-CONFIG_RTE_MAX_NUMA_NODES=2
-CONFIG_RTE_MAX_LCORE=96
-CONFIG_RTE_MAX_VFIO_GROUPS=128
-
-#
-# Compile PMD for octeontx sso event device
-#
-CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF=y
diff --git a/config/defconfig_arm64-thunderx2-linux-gcc b/config/defconfig_arm64-thunderx2-linux-gcc
deleted file mode 120000
index b40a760b1d..0000000000
--- a/config/defconfig_arm64-thunderx2-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_arm64-thunderx2-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm64-thunderx2-linuxapp-gcc b/config/defconfig_arm64-thunderx2-linuxapp-gcc
deleted file mode 100644
index af4a89c480..0000000000
--- a/config/defconfig_arm64-thunderx2-linuxapp-gcc
+++ /dev/null
@@ -1,12 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Marvell International Ltd
-#
-
-#include "defconfig_arm64-armv8a-linux-gcc"
-
-CONFIG_RTE_MACHINE="thunderx2"
-
-CONFIG_RTE_CACHE_LINE_SIZE=64
-CONFIG_RTE_MAX_NUMA_NODES=2
-CONFIG_RTE_MAX_LCORE=256
-CONFIG_RTE_ARM_FEATURE_ATOMICS=y
diff --git a/config/defconfig_arm64-xgene1-linux-gcc b/config/defconfig_arm64-xgene1-linux-gcc
deleted file mode 120000
index d5e8b5e550..0000000000
--- a/config/defconfig_arm64-xgene1-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_arm64-xgene1-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm64-xgene1-linuxapp-gcc b/config/defconfig_arm64-xgene1-linuxapp-gcc
deleted file mode 100644
index fbf576c4aa..0000000000
--- a/config/defconfig_arm64-xgene1-linuxapp-gcc
+++ /dev/null
@@ -1,8 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2015 Cavium, Inc
-#
-
-#include "defconfig_arm64-armv8a-linux-gcc"
-
-CONFIG_RTE_MACHINE="xgene1"
-CONFIG_RTE_CACHE_LINE_SIZE=64
diff --git a/config/defconfig_i686-native-linux-gcc b/config/defconfig_i686-native-linux-gcc
deleted file mode 120000
index 927141d5dd..0000000000
--- a/config/defconfig_i686-native-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_i686-native-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_i686-native-linux-icc b/config/defconfig_i686-native-linux-icc
deleted file mode 120000
index e6a466b3e3..0000000000
--- a/config/defconfig_i686-native-linux-icc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_i686-native-linuxapp-icc
\ No newline at end of file
diff --git a/config/defconfig_i686-native-linuxapp-gcc b/config/defconfig_i686-native-linuxapp-gcc
deleted file mode 100644
index 61ea1606f4..0000000000
--- a/config/defconfig_i686-native-linuxapp-gcc
+++ /dev/null
@@ -1,66 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#include "common_linux"
-
-CONFIG_RTE_MACHINE="native"
-
-CONFIG_RTE_ARCH="i686"
-CONFIG_RTE_ARCH_I686=y
-CONFIG_RTE_ARCH_X86=y
-
-CONFIG_RTE_TOOLCHAIN="gcc"
-CONFIG_RTE_TOOLCHAIN_GCC=y
-
-#
-# KNI is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_KNI=n
-
-#
-# Solarflare PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_SFC_EFX_PMD=n
-
-#
-# AES-NI multi-buffer PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_PMD_AESNI_MB=n
-
-#
-# AES-NI GCM PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_PMD_AESNI_GCM=n
-
-#
-# KASUMI PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_PMD_KASUMI=n
-
-#
-# ZUC PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_PMD_ZUC=n
-
-#
-# AVP PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_AVP_PMD=n
-
-#
-# NFP PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_NFP_PMD=n
-
-# 32-bit doesn't break up memory in lists, but does have VA allocation limit
-CONFIG_RTE_MAX_MEM_MB=2048
-
-#
-# HINIC PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_HINIC_PMD=n
-
-#
-# HNS3 PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_HNS3_PMD=n
diff --git a/config/defconfig_i686-native-linuxapp-icc b/config/defconfig_i686-native-linuxapp-icc
deleted file mode 100644
index 7f614d3467..0000000000
--- a/config/defconfig_i686-native-linuxapp-icc
+++ /dev/null
@@ -1,66 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#include "common_linux"
-
-CONFIG_RTE_MACHINE="native"
-
-CONFIG_RTE_ARCH="i686"
-CONFIG_RTE_ARCH_I686=y
-CONFIG_RTE_ARCH_X86=y
-
-CONFIG_RTE_TOOLCHAIN="icc"
-CONFIG_RTE_TOOLCHAIN_ICC=y
-
-#
-# KNI is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_KNI=n
-
-#
-# Solarflare PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_SFC_EFX_PMD=n
-
-#
-# AES-NI multi-buffer PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_PMD_AESNI_MB=n
-
-#
-# AES-NI GCM PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_PMD_AESNI_GCM=n
-
-#
-# KASUMI PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_PMD_KASUMI=n
-
-#
-# ZUC PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_PMD_ZUC=n
-
-#
-# AVP PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_AVP_PMD=n
-
-#
-# NFP PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_NFP_PMD=n
-
-# 32-bit doesn't break up memory in lists, but does have VA allocation limit
-CONFIG_RTE_MAX_MEM_MB=2048
-
-#
-# HINIC PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_HINIC_PMD=n
-
-#
-# HNS3 PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_HNS3_PMD=n
diff --git a/config/defconfig_ppc_64-power8-linux-gcc b/config/defconfig_ppc_64-power8-linux-gcc
deleted file mode 120000
index 580c92e12e..0000000000
--- a/config/defconfig_ppc_64-power8-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_ppc_64-power8-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_ppc_64-power8-linuxapp-gcc b/config/defconfig_ppc_64-power8-linuxapp-gcc
deleted file mode 100644
index c917c47746..0000000000
--- a/config/defconfig_ppc_64-power8-linuxapp-gcc
+++ /dev/null
@@ -1,35 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright (C) IBM Corporation 2014.
-
-#include "common_linux"
-
-CONFIG_RTE_MACHINE="power8"
-
-CONFIG_RTE_ARCH="ppc_64"
-CONFIG_RTE_ARCH_PPC_64=y
-CONFIG_RTE_ARCH_64=y
-
-CONFIG_RTE_MAX_LCORE=1536
-CONFIG_RTE_MAX_NUMA_NODES=32
-CONFIG_RTE_CACHE_LINE_SIZE=128
-
-CONFIG_RTE_TOOLCHAIN="gcc"
-CONFIG_RTE_TOOLCHAIN_GCC=y
-
-# Note: Power doesn't have this support
-CONFIG_RTE_LIBRTE_EAL_VMWARE_TSC_MAP_SUPPORT=n
-
-# Note: Initially, all of the PMD drivers compilation are turned off on Power
-# Will turn on them only after the successful testing on Power
-CONFIG_RTE_LIBRTE_ATLANTIC_PMD=n
-CONFIG_RTE_LIBRTE_IXGBE_PMD=n
-CONFIG_RTE_LIBRTE_VIRTIO_PMD=y
-CONFIG_RTE_LIBRTE_VMXNET3_PMD=n
-CONFIG_RTE_LIBRTE_ENIC_PMD=n
-CONFIG_RTE_LIBRTE_FM10K_PMD=n
-CONFIG_RTE_LIBRTE_SFC_EFX_PMD=n
-CONFIG_RTE_LIBRTE_AVP_PMD=n
-CONFIG_RTE_LIBRTE_HINIC_PMD=n
-CONFIG_RTE_LIBRTE_HNS3_PMD=n
-CONFIG_RTE_LIBRTE_PMD_IOAT_RAWDEV=n
-CONFIG_RTE_LIBRTE_IONIC_PMD=n
diff --git a/config/defconfig_x86_64-native-bsdapp-clang b/config/defconfig_x86_64-native-bsdapp-clang
deleted file mode 100644
index 7204738e14..0000000000
--- a/config/defconfig_x86_64-native-bsdapp-clang
+++ /dev/null
@@ -1,14 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#include "common_freebsd"
-
-CONFIG_RTE_MACHINE="native"
-
-CONFIG_RTE_ARCH="x86_64"
-CONFIG_RTE_ARCH_X86_64=y
-CONFIG_RTE_ARCH_X86=y
-CONFIG_RTE_ARCH_64=y
-
-CONFIG_RTE_TOOLCHAIN="clang"
-CONFIG_RTE_TOOLCHAIN_CLANG=y
diff --git a/config/defconfig_x86_64-native-bsdapp-gcc b/config/defconfig_x86_64-native-bsdapp-gcc
deleted file mode 100644
index b24e2e6d5a..0000000000
--- a/config/defconfig_x86_64-native-bsdapp-gcc
+++ /dev/null
@@ -1,14 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#include "common_freebsd"
-
-CONFIG_RTE_MACHINE="native"
-
-CONFIG_RTE_ARCH="x86_64"
-CONFIG_RTE_ARCH_X86_64=y
-CONFIG_RTE_ARCH_X86=y
-CONFIG_RTE_ARCH_64=y
-
-CONFIG_RTE_TOOLCHAIN="gcc"
-CONFIG_RTE_TOOLCHAIN_GCC=y
diff --git a/config/defconfig_x86_64-native-freebsd-clang b/config/defconfig_x86_64-native-freebsd-clang
deleted file mode 120000
index 76115fd5a6..0000000000
--- a/config/defconfig_x86_64-native-freebsd-clang
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_x86_64-native-bsdapp-clang
\ No newline at end of file
diff --git a/config/defconfig_x86_64-native-freebsd-gcc b/config/defconfig_x86_64-native-freebsd-gcc
deleted file mode 120000
index 72dd4b44be..0000000000
--- a/config/defconfig_x86_64-native-freebsd-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_x86_64-native-bsdapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_x86_64-native-linux-clang b/config/defconfig_x86_64-native-linux-clang
deleted file mode 120000
index 3bcf89d6a4..0000000000
--- a/config/defconfig_x86_64-native-linux-clang
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_x86_64-native-linuxapp-clang
\ No newline at end of file
diff --git a/config/defconfig_x86_64-native-linux-gcc b/config/defconfig_x86_64-native-linux-gcc
deleted file mode 120000
index d707965941..0000000000
--- a/config/defconfig_x86_64-native-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_x86_64-native-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_x86_64-native-linux-icc b/config/defconfig_x86_64-native-linux-icc
deleted file mode 120000
index a36b47131a..0000000000
--- a/config/defconfig_x86_64-native-linux-icc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_x86_64-native-linuxapp-icc
\ No newline at end of file
diff --git a/config/defconfig_x86_64-native-linuxapp-clang b/config/defconfig_x86_64-native-linuxapp-clang
deleted file mode 100644
index 7508c0f2da..0000000000
--- a/config/defconfig_x86_64-native-linuxapp-clang
+++ /dev/null
@@ -1,14 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#include "common_linux"
-
-CONFIG_RTE_MACHINE="native"
-
-CONFIG_RTE_ARCH="x86_64"
-CONFIG_RTE_ARCH_X86_64=y
-CONFIG_RTE_ARCH_X86=y
-CONFIG_RTE_ARCH_64=y
-
-CONFIG_RTE_TOOLCHAIN="clang"
-CONFIG_RTE_TOOLCHAIN_CLANG=y
diff --git a/config/defconfig_x86_64-native-linuxapp-gcc b/config/defconfig_x86_64-native-linuxapp-gcc
deleted file mode 100644
index db67066a57..0000000000
--- a/config/defconfig_x86_64-native-linuxapp-gcc
+++ /dev/null
@@ -1,14 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#include "common_linux"
-
-CONFIG_RTE_MACHINE="native"
-
-CONFIG_RTE_ARCH="x86_64"
-CONFIG_RTE_ARCH_X86_64=y
-CONFIG_RTE_ARCH_X86=y
-CONFIG_RTE_ARCH_64=y
-
-CONFIG_RTE_TOOLCHAIN="gcc"
-CONFIG_RTE_TOOLCHAIN_GCC=y
diff --git a/config/defconfig_x86_64-native-linuxapp-icc b/config/defconfig_x86_64-native-linuxapp-icc
deleted file mode 100644
index 8aa7af7e20..0000000000
--- a/config/defconfig_x86_64-native-linuxapp-icc
+++ /dev/null
@@ -1,29 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#include "common_linux"
-
-CONFIG_RTE_MACHINE="native"
-
-CONFIG_RTE_ARCH="x86_64"
-CONFIG_RTE_ARCH_X86_64=y
-CONFIG_RTE_ARCH_X86=y
-CONFIG_RTE_ARCH_64=y
-
-CONFIG_RTE_TOOLCHAIN="icc"
-CONFIG_RTE_TOOLCHAIN_ICC=y
-
-#
-# Solarflare PMD build is not supported using icc toolchain
-#
-CONFIG_RTE_LIBRTE_SFC_EFX_PMD=n
-
-#
-# HINIC PMD build is not supported using icc toolchain
-#
-CONFIG_RTE_LIBRTE_HINIC_PMD=n
-
-#
-# HNS3 PMD build is not supported using icc toolchain
-#
-CONFIG_RTE_LIBRTE_HNS3_PMD=n
diff --git a/config/defconfig_x86_x32-native-linux-gcc b/config/defconfig_x86_x32-native-linux-gcc
deleted file mode 120000
index 7ea00cecb3..0000000000
--- a/config/defconfig_x86_x32-native-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_x86_x32-native-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_x86_x32-native-linuxapp-gcc b/config/defconfig_x86_x32-native-linuxapp-gcc
deleted file mode 100644
index c188f4331c..0000000000
--- a/config/defconfig_x86_x32-native-linuxapp-gcc
+++ /dev/null
@@ -1,46 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#include "common_linux"
-
-CONFIG_RTE_MACHINE="native"
-
-CONFIG_RTE_ARCH="x86_x32"
-CONFIG_RTE_ARCH_X86_X32=y
-CONFIG_RTE_ARCH_X86=y
-
-CONFIG_RTE_TOOLCHAIN="gcc"
-CONFIG_RTE_TOOLCHAIN_GCC=y
-
-#
-# KNI is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_KNI=n
-
-#
-# Solarflare PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_SFC_EFX_PMD=n
-
-#
-# AVP PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_AVP_PMD=n
-
-#
-# NFP PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_NFP_PMD=n
-
-# 32-bit doesn't break up memory in lists, but does have VA allocation limit
-CONFIG_RTE_MAX_MEM_MB=2048
-
-#
-# HINIC PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_HINIC_PMD=n
-
-#
-# HNS3 PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_HNS3_PMD=n
-- 
2.17.1


^ permalink raw reply	[relevance 1%]

* [dpdk-dev] [PATCH v3 10/37] build: remove makefiles and mk directory
  @ 2020-09-03 15:26  1%   ` Ciara Power
  2020-09-03 15:26  1%   ` [dpdk-dev] [PATCH v3 11/37] config: remove all config files used by make Ciara Power
                     ` (3 subsequent siblings)
  4 siblings, 0 replies; 200+ results
From: Ciara Power @ 2020-09-03 15:26 UTC (permalink / raw)
  To: dev
  Cc: Ciara Power, Thomas Monjalon, Reshma Pattan, Maryam Tahhan,
	Konstantin Ananyev, Nicolas Chautru, Olivier Matz,
	Declan Doherty, Jerin Jacob, Vladimir Medvedkin, Wisam Jaddo,
	Cristian Dumitrescu, Wenzhuo Lu, Beilei Xing, Bernard Iremonger,
	Ori Kam, Neil Horman, Hemant Agrawal, Sachin Saxena, Rosen Xu,
	Stephen Hemminger, Long Li, Anoob Joseph, Jingjing Wu,
	Matan Azrad, Shahaf Shuler, Viacheslav Ovsiienko, Liron Himi,
	Harman Kalra, Nithin Dabilpuram, John Griffin, Fiona Trahe,
	Deepak Kumar Jain, Ashish Gupta, Lee Daly, Sunila Sahu,
	Pablo de Lara, Ruifeng Wang, Gagandeep Singh,
	Somalapuram Amaranath, Akhil Goyal, Michael Shamis,
	Nagadheeraj Rottela, Srikanth Jampala, Ankur Dwivedi, Fan Zhang,
	Jay Zhou, Nipun Gupta, Mattias Rönnblom, Pavan Nikhilesh,
	Liang Ma, Peter Mccarthy, Harry van Haaren, Artem V. Andreev,
	Andrew Rybchenko, Gage Eads, John W. Linville, Ciara Loftus,
	Qi Zhang, Shepard Siegel, Ed Czeck, John Miller, Igor Russkikh,
	Pavel Belous, Steven Webster, Matt Peters, Rasesh Mody,
	Shahed Shaikh, Ajit Khaparde, Somnath Kotur, Chas Williams,
	Wei Hu (Xavier),
	Rahul Lakkireddy, Wei Zhao, Jeff Guo, Marcin Wojtas,
	Michal Krawczyk, Guy Tzalik, Evgeny Schemeilin, Igor Chauskin,
	John Daley, Hyong Youb Kim, Gaetan Rivet, Xiao Wang, Ziyang Xuan,
	Xiaoyun Wang, Guoyang Zhou, Min Hu (Connor),
	Yisen Zhuang, Qiming Yang, Alfredo Cardigliano, Ferruh Yigit,
	Shijith Thotton, Srisivasubramanian Srinivasan, Jakub Grajciar,
	Zyta Szpak, K. Y. Srinivasan, Haiyang Zhang, Martin Spinler,
	Heinrich Kuhn, Tetsuya Mukawa, Kiran Kumar K, Bruce Richardson,
	Jasvinder Singh, Keith Wiles, Maciej Czekaj, Maxime Coquelin,
	Chenbo Xia, Zhihong Wang, Yong Wang, Tianfei zhang, Xiaoyun Li,
	Satha Rao, Mahipal Challa, David Hunt, Byron Marohn, Yipeng Wang,
	Jiayu Hu, Sameh Gobriel, Honnappa Nagarahalli, Kevin Laatz,
	Robert Sanford, Erik Gabriel Carrillo, Anatoly Burakov

A decision was made [1] to no longer support Make in DPDK, this patch
removes all Makefiles that do not make use of pkg-config, along with
the mk directory previously used by make.

[1] https://mails.dpdk.org/archives/dev/2020-April/162839.html

Signed-off-by: Ciara Power <ciara.power@intel.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
---
 GNUmakefile                                |  17 -
 MAINTAINERS                                |   4 -
 app/Makefile                               |  34 --
 app/pdump/Makefile                         |  18 -
 app/proc-info/Makefile                     |  14 -
 app/test-acl/Makefile                      |  17 -
 app/test-bbdev/Makefile                    |  30 --
 app/test-cmdline/Makefile                  |  24 -
 app/test-compress-perf/Makefile            |  19 -
 app/test-crypto-perf/Makefile              |  28 --
 app/test-eventdev/Makefile                 |  32 --
 app/test-fib/Makefile                      |  18 -
 app/test-flow-perf/Makefile                |  26 --
 app/test-pipeline/Makefile                 |  33 --
 app/test-pmd/Makefile                      |  73 ---
 app/test-regex/Makefile                    |  13 -
 app/test-sad/Makefile                      |  17 -
 app/test/Makefile                          | 310 -------------
 buildtools/Makefile                        |   9 -
 buildtools/pmdinfogen/Makefile             |  20 -
 drivers/Makefile                           |  34 --
 drivers/baseband/Makefile                  |  18 -
 drivers/baseband/fpga_5gnr_fec/Makefile    |  28 --
 drivers/baseband/fpga_lte_fec/Makefile     |  25 -
 drivers/baseband/null/Makefile             |  21 -
 drivers/baseband/turbo_sw/Makefile         |  52 ---
 drivers/bus/Makefile                       |  15 -
 drivers/bus/dpaa/Makefile                  |  48 --
 drivers/bus/fslmc/Makefile                 |  47 --
 drivers/bus/ifpga/Makefile                 |  28 --
 drivers/bus/pci/Makefile                   |  33 --
 drivers/bus/pci/bsd/Makefile               |   4 -
 drivers/bus/pci/linux/Makefile             |   6 -
 drivers/bus/vdev/Makefile                  |  27 --
 drivers/bus/vmbus/Makefile                 |  33 --
 drivers/bus/vmbus/linux/Makefile           |   3 -
 drivers/common/Makefile                    |  39 --
 drivers/common/cpt/Makefile                |  24 -
 drivers/common/dpaax/Makefile              |  30 --
 drivers/common/iavf/Makefile               |  27 --
 drivers/common/mlx5/Makefile               | 404 ----------------
 drivers/common/mvep/Makefile               |  35 --
 drivers/common/octeontx/Makefile           |  22 -
 drivers/common/octeontx2/Makefile          |  39 --
 drivers/common/qat/Makefile                |  74 ---
 drivers/compress/Makefile                  |  10 -
 drivers/compress/isal/Makefile             |  27 --
 drivers/compress/octeontx/Makefile         |  26 --
 drivers/compress/zlib/Makefile             |  25 -
 drivers/crypto/Makefile                    |  31 --
 drivers/crypto/aesni_gcm/Makefile          |  43 --
 drivers/crypto/aesni_mb/Makefile           |  42 --
 drivers/crypto/armv8/Makefile              |  36 --
 drivers/crypto/caam_jr/Makefile            |  39 --
 drivers/crypto/ccp/Makefile                |  32 --
 drivers/crypto/dpaa2_sec/Makefile          |  45 --
 drivers/crypto/dpaa_sec/Makefile           |  38 --
 drivers/crypto/kasumi/Makefile             |  42 --
 drivers/crypto/mvsam/Makefile              |  40 --
 drivers/crypto/nitrox/Makefile             |  30 --
 drivers/crypto/null/Makefile               |  27 --
 drivers/crypto/octeontx/Makefile           |  36 --
 drivers/crypto/octeontx2/Makefile          |  49 --
 drivers/crypto/openssl/Makefile            |  26 --
 drivers/crypto/scheduler/Makefile          |  34 --
 drivers/crypto/snow3g/Makefile             |  43 --
 drivers/crypto/virtio/Makefile             |  33 --
 drivers/crypto/zuc/Makefile                |  42 --
 drivers/event/Makefile                     |  20 -
 drivers/event/dpaa/Makefile                |  39 --
 drivers/event/dpaa2/Makefile               |  41 --
 drivers/event/dsw/Makefile                 |  26 --
 drivers/event/octeontx/Makefile            |  51 ---
 drivers/event/octeontx2/Makefile           |  47 --
 drivers/event/opdl/Makefile                |  29 --
 drivers/event/skeleton/Makefile            |  24 -
 drivers/event/sw/Makefile                  |  29 --
 drivers/mempool/Makefile                   |  18 -
 drivers/mempool/bucket/Makefile            |  25 -
 drivers/mempool/dpaa/Makefile              |  30 --
 drivers/mempool/dpaa2/Makefile             |  31 --
 drivers/mempool/octeontx/Makefile          |  39 --
 drivers/mempool/octeontx2/Makefile         |  40 --
 drivers/mempool/ring/Makefile              |  19 -
 drivers/mempool/stack/Makefile             |  22 -
 drivers/net/Makefile                       |  84 ----
 drivers/net/af_packet/Makefile             |  27 --
 drivers/net/af_xdp/Makefile                |  26 --
 drivers/net/ark/Makefile                   |  39 --
 drivers/net/atlantic/Makefile              |  34 --
 drivers/net/avp/Makefile                   |  29 --
 drivers/net/axgbe/Makefile                 |  33 --
 drivers/net/bnx2x/Makefile                 |  33 --
 drivers/net/bnxt/Makefile                  |  63 ---
 drivers/net/bnxt/hcapi/Makefile            |   5 -
 drivers/net/bnxt/tf_core/Makefile          |  31 --
 drivers/net/bnxt/tf_ulp/Makefile           |  20 -
 drivers/net/bonding/Makefile               |  36 --
 drivers/net/cxgbe/Makefile                 |  57 ---
 drivers/net/dpaa/Makefile                  |  41 --
 drivers/net/dpaa2/Makefile                 |  47 --
 drivers/net/e1000/Makefile                 |  79 ----
 drivers/net/ena/Makefile                   |  30 --
 drivers/net/enetc/Makefile                 |  23 -
 drivers/net/enic/Makefile                  |  68 ---
 drivers/net/failsafe/Makefile              |  43 --
 drivers/net/fm10k/Makefile                 |  77 ----
 drivers/net/hinic/Makefile                 |  67 ---
 drivers/net/hns3/Makefile                  |  42 --
 drivers/net/i40e/Makefile                  | 112 -----
 drivers/net/iavf/Makefile                  |  54 ---
 drivers/net/ice/Makefile                   |  96 ----
 drivers/net/igc/Makefile                   |  40 --
 drivers/net/ionic/Makefile                 |  31 --
 drivers/net/ipn3ke/Makefile                |  38 --
 drivers/net/ixgbe/Makefile                 | 110 -----
 drivers/net/kni/Makefile                   |  30 --
 drivers/net/liquidio/Makefile              |  30 --
 drivers/net/memif/Makefile                 |  26 --
 drivers/net/mlx4/Makefile                  | 142 ------
 drivers/net/mlx5/Makefile                  |  82 ----
 drivers/net/mvneta/Makefile                |  39 --
 drivers/net/mvpp2/Makefile                 |  42 --
 drivers/net/netvsc/Makefile                |  21 -
 drivers/net/nfb/Makefile                   |  40 --
 drivers/net/nfp/Makefile                   |  41 --
 drivers/net/null/Makefile                  |  24 -
 drivers/net/octeontx/Makefile              |  53 ---
 drivers/net/octeontx2/Makefile             |  63 ---
 drivers/net/pcap/Makefile                  |  32 --
 drivers/net/pfe/Makefile                   |  31 --
 drivers/net/qede/Makefile                  | 109 -----
 drivers/net/ring/Makefile                  |  29 --
 drivers/net/sfc/Makefile                   | 133 ------
 drivers/net/softnic/Makefile               |  54 ---
 drivers/net/szedata2/Makefile              |  30 --
 drivers/net/tap/Makefile                   |  97 ----
 drivers/net/thunderx/Makefile              |  41 --
 drivers/net/vdev_netvsc/Makefile           |  30 --
 drivers/net/vhost/Makefile                 |  31 --
 drivers/net/virtio/Makefile                |  82 ----
 drivers/net/vmxnet3/Makefile               |  53 ---
 drivers/raw/Makefile                       |  18 -
 drivers/raw/dpaa2_cmdif/Makefile           |  35 --
 drivers/raw/dpaa2_qdma/Makefile            |  36 --
 drivers/raw/ifpga/Makefile                 |  39 --
 drivers/raw/ifpga/base/Makefile            |  32 --
 drivers/raw/ioat/Makefile                  |  28 --
 drivers/raw/ntb/Makefile                   |  28 --
 drivers/raw/octeontx2_dma/Makefile         |  34 --
 drivers/raw/octeontx2_ep/Makefile          |  42 --
 drivers/raw/skeleton/Makefile              |  26 --
 drivers/regex/Makefile                     |   8 -
 drivers/regex/mlx5/Makefile                |  41 --
 drivers/vdpa/Makefile                      |  12 -
 drivers/vdpa/ifc/Makefile                  |  33 --
 drivers/vdpa/mlx5/Makefile                 |  58 ---
 examples/Makefile                          |  90 ----
 kernel/Makefile                            |   9 -
 kernel/freebsd/Makefile                    |   9 -
 kernel/freebsd/contigmem/Makefile          |  24 -
 kernel/freebsd/nic_uio/Makefile            |  24 -
 kernel/linux/Makefile                      |   9 -
 kernel/linux/igb_uio/Makefile              |  25 -
 kernel/linux/kni/Makefile                  |  34 --
 lib/Makefile                               | 138 ------
 lib/librte_acl/Makefile                    |  65 ---
 lib/librte_bbdev/Makefile                  |  25 -
 lib/librte_bitratestats/Makefile           |  20 -
 lib/librte_bpf/Makefile                    |  40 --
 lib/librte_cfgfile/Makefile                |  26 --
 lib/librte_cmdline/Makefile                |  34 --
 lib/librte_compressdev/Makefile            |  27 --
 lib/librte_cryptodev/Makefile              |  30 --
 lib/librte_distributor/Makefile            |  28 --
 lib/librte_eal/Makefile                    |  12 -
 lib/librte_eal/freebsd/Makefile            | 104 -----
 lib/librte_eal/include/Makefile            |  19 -
 lib/librte_eal/linux/Makefile              | 112 -----
 lib/librte_efd/Makefile                    |  21 -
 lib/librte_ethdev/Makefile                 |  46 --
 lib/librte_eventdev/Makefile               |  47 --
 lib/librte_fib/Makefile                    |  22 -
 lib/librte_flow_classify/Makefile          |  23 -
 lib/librte_graph/Makefile                  |  28 --
 lib/librte_gro/Makefile                    |  23 -
 lib/librte_gso/Makefile                    |  25 -
 lib/librte_hash/Makefile                   |  31 --
 lib/librte_ip_frag/Makefile                |  27 --
 lib/librte_ipsec/Makefile                  |  29 --
 lib/librte_jobstats/Makefile               |  21 -
 lib/librte_kni/Makefile                    |  20 -
 lib/librte_kvargs/Makefile                 |  21 -
 lib/librte_latencystats/Makefile           |  22 -
 lib/librte_lpm/Makefile                    |  29 --
 lib/librte_mbuf/Makefile                   |  26 --
 lib/librte_member/Makefile                 |  22 -
 lib/librte_mempool/Makefile                |  24 -
 lib/librte_meter/Makefile                  |  27 --
 lib/librte_metrics/Makefile                |  30 --
 lib/librte_net/Makefile                    |  25 -
 lib/librte_node/Makefile                   |  33 --
 lib/librte_pci/Makefile                    |  19 -
 lib/librte_pdump/Makefile                  |  20 -
 lib/librte_pipeline/Makefile               |  28 --
 lib/librte_port/Makefile                   |  59 ---
 lib/librte_power/Makefile                  |  24 -
 lib/librte_rawdev/Makefile                 |  24 -
 lib/librte_rcu/Makefile                    |  20 -
 lib/librte_regexdev/Makefile               |  32 --
 lib/librte_reorder/Makefile                |  21 -
 lib/librte_rib/Makefile                    |  22 -
 lib/librte_ring/Makefile                   |  30 --
 lib/librte_sched/Makefile                  |  29 --
 lib/librte_security/Makefile               |  24 -
 lib/librte_stack/Makefile                  |  27 --
 lib/librte_table/Makefile                  |  59 ---
 lib/librte_telemetry/Makefile              |  30 --
 lib/librte_timer/Makefile                  |  20 -
 lib/librte_vhost/Makefile                  |  54 ---
 mk/arch/arm/rte.vars.mk                    |  16 -
 mk/arch/arm64/rte.vars.mk                  |  37 --
 mk/arch/i686/rte.vars.mk                   |  36 --
 mk/arch/ppc_64/rte.vars.mk                 |  17 -
 mk/arch/x86_64/rte.vars.mk                 |  36 --
 mk/arch/x86_x32/rte.vars.mk                |  40 --
 mk/exec-env/bsdapp                         |   1 -
 mk/exec-env/freebsd/rte.app.mk             |   8 -
 mk/exec-env/freebsd/rte.vars.mk            |  36 --
 mk/exec-env/linux/rte.app.mk               |   8 -
 mk/exec-env/linux/rte.vars.mk              |  44 --
 mk/exec-env/linuxapp                       |   1 -
 mk/internal/rte.build-post.mk              |  34 --
 mk/internal/rte.build-pre.mk               |   7 -
 mk/internal/rte.clean-post.mk              |  34 --
 mk/internal/rte.clean-pre.mk               |   4 -
 mk/internal/rte.compile-post.mk            |   5 -
 mk/internal/rte.compile-pre.mk             | 164 -------
 mk/internal/rte.extvars.mk                 |  55 ---
 mk/internal/rte.install-post.mk            |  71 ---
 mk/internal/rte.install-pre.mk             |  32 --
 mk/machine/armv7a/rte.vars.mk              |  36 --
 mk/machine/armv8a/rte.vars.mk              |  31 --
 mk/machine/default/rte.vars.mk             |  30 --
 mk/machine/dpaa/rte.vars.mk                |  37 --
 mk/machine/emag/rte.vars.mk                |  32 --
 mk/machine/hsw/rte.vars.mk                 |  30 --
 mk/machine/ivb/rte.vars.mk                 |  30 --
 mk/machine/n1sdp/rte.vars.mk               |  34 --
 mk/machine/native/rte.vars.mk              |  39 --
 mk/machine/nhm/rte.vars.mk                 |  30 --
 mk/machine/octeontx2/rte.vars.mk           |  34 --
 mk/machine/power8/rte.vars.mk              |  30 --
 mk/machine/silvermont/rte.vars.mk          |  30 --
 mk/machine/snb/rte.vars.mk                 |  30 --
 mk/machine/thunderx/rte.vars.mk            |  31 --
 mk/machine/thunderx2/rte.vars.mk           |  34 --
 mk/machine/wsm/rte.vars.mk                 |  30 --
 mk/machine/xgene1/rte.vars.mk              |  31 --
 mk/rte.app.mk                              | 509 ---------------------
 mk/rte.bsdmodule.mk                        |  89 ----
 mk/rte.combinedlib.mk                      |  30 --
 mk/rte.cpuflags.mk                         | 124 -----
 mk/rte.extapp.mk                           |  24 -
 mk/rte.extlib.mk                           |  26 --
 mk/rte.extobj.mk                           |  24 -
 mk/rte.extshared.mk                        |  26 --
 mk/rte.extsubdir.mk                        |  39 --
 mk/rte.gnuconfigure.mk                     |  44 --
 mk/rte.helper.mk                           |  10 -
 mk/rte.hostapp.mk                          |  93 ----
 mk/rte.hostlib.mk                          |  86 ----
 mk/rte.install.mk                          |  28 --
 mk/rte.lib.mk                              | 156 -------
 mk/rte.module.mk                           |  86 ----
 mk/rte.obj.mk                              |  82 ----
 mk/rte.sdkbuild.mk                         |  77 ----
 mk/rte.sdkconfig.mk                        | 142 ------
 mk/rte.sdkdepdirs.mk                       |   9 -
 mk/rte.sdkdoc.mk                           | 104 -----
 mk/rte.sdkexamples.mk                      |  50 --
 mk/rte.sdkgcov.mk                          |  39 --
 mk/rte.sdkinstall.mk                       | 152 ------
 mk/rte.sdkroot.mk                          | 115 -----
 mk/rte.sdktest.mk                          |  76 ---
 mk/rte.shared.mk                           | 108 -----
 mk/rte.subdir.mk                           |  65 ---
 mk/rte.vars.mk                             | 102 -----
 mk/target/generic/rte.app.mk               |  13 -
 mk/target/generic/rte.vars.mk              | 132 ------
 mk/toolchain/clang/rte.toolchain-compat.mk |  22 -
 mk/toolchain/clang/rte.vars.mk             |  60 ---
 mk/toolchain/gcc/rte.toolchain-compat.mk   | 120 -----
 mk/toolchain/gcc/rte.vars.mk               | 109 -----
 mk/toolchain/icc/rte.toolchain-compat.mk   |  58 ---
 mk/toolchain/icc/rte.vars.mk               |  62 ---
 296 files changed, 12992 deletions(-)
 delete mode 100644 GNUmakefile
 delete mode 100644 app/Makefile
 delete mode 100644 app/pdump/Makefile
 delete mode 100644 app/proc-info/Makefile
 delete mode 100644 app/test-acl/Makefile
 delete mode 100644 app/test-bbdev/Makefile
 delete mode 100644 app/test-cmdline/Makefile
 delete mode 100644 app/test-compress-perf/Makefile
 delete mode 100644 app/test-crypto-perf/Makefile
 delete mode 100644 app/test-eventdev/Makefile
 delete mode 100644 app/test-fib/Makefile
 delete mode 100644 app/test-flow-perf/Makefile
 delete mode 100644 app/test-pipeline/Makefile
 delete mode 100644 app/test-pmd/Makefile
 delete mode 100644 app/test-regex/Makefile
 delete mode 100644 app/test-sad/Makefile
 delete mode 100644 app/test/Makefile
 delete mode 100644 buildtools/Makefile
 delete mode 100644 buildtools/pmdinfogen/Makefile
 delete mode 100644 drivers/Makefile
 delete mode 100644 drivers/baseband/Makefile
 delete mode 100644 drivers/baseband/fpga_5gnr_fec/Makefile
 delete mode 100644 drivers/baseband/fpga_lte_fec/Makefile
 delete mode 100644 drivers/baseband/null/Makefile
 delete mode 100644 drivers/baseband/turbo_sw/Makefile
 delete mode 100644 drivers/bus/Makefile
 delete mode 100644 drivers/bus/dpaa/Makefile
 delete mode 100644 drivers/bus/fslmc/Makefile
 delete mode 100644 drivers/bus/ifpga/Makefile
 delete mode 100644 drivers/bus/pci/Makefile
 delete mode 100644 drivers/bus/pci/bsd/Makefile
 delete mode 100644 drivers/bus/pci/linux/Makefile
 delete mode 100644 drivers/bus/vdev/Makefile
 delete mode 100644 drivers/bus/vmbus/Makefile
 delete mode 100644 drivers/bus/vmbus/linux/Makefile
 delete mode 100644 drivers/common/Makefile
 delete mode 100644 drivers/common/cpt/Makefile
 delete mode 100644 drivers/common/dpaax/Makefile
 delete mode 100644 drivers/common/iavf/Makefile
 delete mode 100644 drivers/common/mlx5/Makefile
 delete mode 100644 drivers/common/mvep/Makefile
 delete mode 100644 drivers/common/octeontx/Makefile
 delete mode 100644 drivers/common/octeontx2/Makefile
 delete mode 100644 drivers/common/qat/Makefile
 delete mode 100644 drivers/compress/Makefile
 delete mode 100644 drivers/compress/isal/Makefile
 delete mode 100644 drivers/compress/octeontx/Makefile
 delete mode 100644 drivers/compress/zlib/Makefile
 delete mode 100644 drivers/crypto/Makefile
 delete mode 100644 drivers/crypto/aesni_gcm/Makefile
 delete mode 100644 drivers/crypto/aesni_mb/Makefile
 delete mode 100644 drivers/crypto/armv8/Makefile
 delete mode 100644 drivers/crypto/caam_jr/Makefile
 delete mode 100644 drivers/crypto/ccp/Makefile
 delete mode 100644 drivers/crypto/dpaa2_sec/Makefile
 delete mode 100644 drivers/crypto/dpaa_sec/Makefile
 delete mode 100644 drivers/crypto/kasumi/Makefile
 delete mode 100644 drivers/crypto/mvsam/Makefile
 delete mode 100644 drivers/crypto/nitrox/Makefile
 delete mode 100644 drivers/crypto/null/Makefile
 delete mode 100644 drivers/crypto/octeontx/Makefile
 delete mode 100644 drivers/crypto/octeontx2/Makefile
 delete mode 100644 drivers/crypto/openssl/Makefile
 delete mode 100644 drivers/crypto/scheduler/Makefile
 delete mode 100644 drivers/crypto/snow3g/Makefile
 delete mode 100644 drivers/crypto/virtio/Makefile
 delete mode 100644 drivers/crypto/zuc/Makefile
 delete mode 100644 drivers/event/Makefile
 delete mode 100644 drivers/event/dpaa/Makefile
 delete mode 100644 drivers/event/dpaa2/Makefile
 delete mode 100644 drivers/event/dsw/Makefile
 delete mode 100644 drivers/event/octeontx/Makefile
 delete mode 100644 drivers/event/octeontx2/Makefile
 delete mode 100644 drivers/event/opdl/Makefile
 delete mode 100644 drivers/event/skeleton/Makefile
 delete mode 100644 drivers/event/sw/Makefile
 delete mode 100644 drivers/mempool/Makefile
 delete mode 100644 drivers/mempool/bucket/Makefile
 delete mode 100644 drivers/mempool/dpaa/Makefile
 delete mode 100644 drivers/mempool/dpaa2/Makefile
 delete mode 100644 drivers/mempool/octeontx/Makefile
 delete mode 100644 drivers/mempool/octeontx2/Makefile
 delete mode 100644 drivers/mempool/ring/Makefile
 delete mode 100644 drivers/mempool/stack/Makefile
 delete mode 100644 drivers/net/Makefile
 delete mode 100644 drivers/net/af_packet/Makefile
 delete mode 100644 drivers/net/af_xdp/Makefile
 delete mode 100644 drivers/net/ark/Makefile
 delete mode 100644 drivers/net/atlantic/Makefile
 delete mode 100644 drivers/net/avp/Makefile
 delete mode 100644 drivers/net/axgbe/Makefile
 delete mode 100644 drivers/net/bnx2x/Makefile
 delete mode 100644 drivers/net/bnxt/Makefile
 delete mode 100644 drivers/net/bnxt/hcapi/Makefile
 delete mode 100644 drivers/net/bnxt/tf_core/Makefile
 delete mode 100644 drivers/net/bnxt/tf_ulp/Makefile
 delete mode 100644 drivers/net/bonding/Makefile
 delete mode 100644 drivers/net/cxgbe/Makefile
 delete mode 100644 drivers/net/dpaa/Makefile
 delete mode 100644 drivers/net/dpaa2/Makefile
 delete mode 100644 drivers/net/e1000/Makefile
 delete mode 100644 drivers/net/ena/Makefile
 delete mode 100644 drivers/net/enetc/Makefile
 delete mode 100644 drivers/net/enic/Makefile
 delete mode 100644 drivers/net/failsafe/Makefile
 delete mode 100644 drivers/net/fm10k/Makefile
 delete mode 100644 drivers/net/hinic/Makefile
 delete mode 100644 drivers/net/hns3/Makefile
 delete mode 100644 drivers/net/i40e/Makefile
 delete mode 100644 drivers/net/iavf/Makefile
 delete mode 100644 drivers/net/ice/Makefile
 delete mode 100644 drivers/net/igc/Makefile
 delete mode 100644 drivers/net/ionic/Makefile
 delete mode 100644 drivers/net/ipn3ke/Makefile
 delete mode 100644 drivers/net/ixgbe/Makefile
 delete mode 100644 drivers/net/kni/Makefile
 delete mode 100644 drivers/net/liquidio/Makefile
 delete mode 100644 drivers/net/memif/Makefile
 delete mode 100644 drivers/net/mlx4/Makefile
 delete mode 100644 drivers/net/mlx5/Makefile
 delete mode 100644 drivers/net/mvneta/Makefile
 delete mode 100644 drivers/net/mvpp2/Makefile
 delete mode 100644 drivers/net/netvsc/Makefile
 delete mode 100644 drivers/net/nfb/Makefile
 delete mode 100644 drivers/net/nfp/Makefile
 delete mode 100644 drivers/net/null/Makefile
 delete mode 100644 drivers/net/octeontx/Makefile
 delete mode 100644 drivers/net/octeontx2/Makefile
 delete mode 100644 drivers/net/pcap/Makefile
 delete mode 100644 drivers/net/pfe/Makefile
 delete mode 100644 drivers/net/qede/Makefile
 delete mode 100644 drivers/net/ring/Makefile
 delete mode 100644 drivers/net/sfc/Makefile
 delete mode 100644 drivers/net/softnic/Makefile
 delete mode 100644 drivers/net/szedata2/Makefile
 delete mode 100644 drivers/net/tap/Makefile
 delete mode 100644 drivers/net/thunderx/Makefile
 delete mode 100644 drivers/net/vdev_netvsc/Makefile
 delete mode 100644 drivers/net/vhost/Makefile
 delete mode 100644 drivers/net/virtio/Makefile
 delete mode 100644 drivers/net/vmxnet3/Makefile
 delete mode 100644 drivers/raw/Makefile
 delete mode 100644 drivers/raw/dpaa2_cmdif/Makefile
 delete mode 100644 drivers/raw/dpaa2_qdma/Makefile
 delete mode 100644 drivers/raw/ifpga/Makefile
 delete mode 100644 drivers/raw/ifpga/base/Makefile
 delete mode 100644 drivers/raw/ioat/Makefile
 delete mode 100644 drivers/raw/ntb/Makefile
 delete mode 100644 drivers/raw/octeontx2_dma/Makefile
 delete mode 100644 drivers/raw/octeontx2_ep/Makefile
 delete mode 100644 drivers/raw/skeleton/Makefile
 delete mode 100644 drivers/regex/Makefile
 delete mode 100644 drivers/regex/mlx5/Makefile
 delete mode 100644 drivers/vdpa/Makefile
 delete mode 100644 drivers/vdpa/ifc/Makefile
 delete mode 100644 drivers/vdpa/mlx5/Makefile
 delete mode 100644 examples/Makefile
 delete mode 100644 kernel/Makefile
 delete mode 100644 kernel/freebsd/Makefile
 delete mode 100644 kernel/freebsd/contigmem/Makefile
 delete mode 100644 kernel/freebsd/nic_uio/Makefile
 delete mode 100644 kernel/linux/Makefile
 delete mode 100644 kernel/linux/igb_uio/Makefile
 delete mode 100644 kernel/linux/kni/Makefile
 delete mode 100644 lib/Makefile
 delete mode 100644 lib/librte_acl/Makefile
 delete mode 100644 lib/librte_bbdev/Makefile
 delete mode 100644 lib/librte_bitratestats/Makefile
 delete mode 100644 lib/librte_bpf/Makefile
 delete mode 100644 lib/librte_cfgfile/Makefile
 delete mode 100644 lib/librte_cmdline/Makefile
 delete mode 100644 lib/librte_compressdev/Makefile
 delete mode 100644 lib/librte_cryptodev/Makefile
 delete mode 100644 lib/librte_distributor/Makefile
 delete mode 100644 lib/librte_eal/Makefile
 delete mode 100644 lib/librte_eal/freebsd/Makefile
 delete mode 100644 lib/librte_eal/include/Makefile
 delete mode 100644 lib/librte_eal/linux/Makefile
 delete mode 100644 lib/librte_efd/Makefile
 delete mode 100644 lib/librte_ethdev/Makefile
 delete mode 100644 lib/librte_eventdev/Makefile
 delete mode 100644 lib/librte_fib/Makefile
 delete mode 100644 lib/librte_flow_classify/Makefile
 delete mode 100644 lib/librte_graph/Makefile
 delete mode 100644 lib/librte_gro/Makefile
 delete mode 100644 lib/librte_gso/Makefile
 delete mode 100644 lib/librte_hash/Makefile
 delete mode 100644 lib/librte_ip_frag/Makefile
 delete mode 100644 lib/librte_ipsec/Makefile
 delete mode 100644 lib/librte_jobstats/Makefile
 delete mode 100644 lib/librte_kni/Makefile
 delete mode 100644 lib/librte_kvargs/Makefile
 delete mode 100644 lib/librte_latencystats/Makefile
 delete mode 100644 lib/librte_lpm/Makefile
 delete mode 100644 lib/librte_mbuf/Makefile
 delete mode 100644 lib/librte_member/Makefile
 delete mode 100644 lib/librte_mempool/Makefile
 delete mode 100644 lib/librte_meter/Makefile
 delete mode 100644 lib/librte_metrics/Makefile
 delete mode 100644 lib/librte_net/Makefile
 delete mode 100644 lib/librte_node/Makefile
 delete mode 100644 lib/librte_pci/Makefile
 delete mode 100644 lib/librte_pdump/Makefile
 delete mode 100644 lib/librte_pipeline/Makefile
 delete mode 100644 lib/librte_port/Makefile
 delete mode 100644 lib/librte_power/Makefile
 delete mode 100644 lib/librte_rawdev/Makefile
 delete mode 100644 lib/librte_rcu/Makefile
 delete mode 100644 lib/librte_regexdev/Makefile
 delete mode 100644 lib/librte_reorder/Makefile
 delete mode 100644 lib/librte_rib/Makefile
 delete mode 100644 lib/librte_ring/Makefile
 delete mode 100644 lib/librte_sched/Makefile
 delete mode 100644 lib/librte_security/Makefile
 delete mode 100644 lib/librte_stack/Makefile
 delete mode 100644 lib/librte_table/Makefile
 delete mode 100644 lib/librte_telemetry/Makefile
 delete mode 100644 lib/librte_timer/Makefile
 delete mode 100644 lib/librte_vhost/Makefile
 delete mode 100644 mk/arch/arm/rte.vars.mk
 delete mode 100644 mk/arch/arm64/rte.vars.mk
 delete mode 100644 mk/arch/i686/rte.vars.mk
 delete mode 100644 mk/arch/ppc_64/rte.vars.mk
 delete mode 100644 mk/arch/x86_64/rte.vars.mk
 delete mode 100644 mk/arch/x86_x32/rte.vars.mk
 delete mode 120000 mk/exec-env/bsdapp
 delete mode 100644 mk/exec-env/freebsd/rte.app.mk
 delete mode 100644 mk/exec-env/freebsd/rte.vars.mk
 delete mode 100644 mk/exec-env/linux/rte.app.mk
 delete mode 100644 mk/exec-env/linux/rte.vars.mk
 delete mode 120000 mk/exec-env/linuxapp
 delete mode 100644 mk/internal/rte.build-post.mk
 delete mode 100644 mk/internal/rte.build-pre.mk
 delete mode 100644 mk/internal/rte.clean-post.mk
 delete mode 100644 mk/internal/rte.clean-pre.mk
 delete mode 100644 mk/internal/rte.compile-post.mk
 delete mode 100644 mk/internal/rte.compile-pre.mk
 delete mode 100644 mk/internal/rte.extvars.mk
 delete mode 100644 mk/internal/rte.install-post.mk
 delete mode 100644 mk/internal/rte.install-pre.mk
 delete mode 100644 mk/machine/armv7a/rte.vars.mk
 delete mode 100644 mk/machine/armv8a/rte.vars.mk
 delete mode 100644 mk/machine/default/rte.vars.mk
 delete mode 100644 mk/machine/dpaa/rte.vars.mk
 delete mode 100644 mk/machine/emag/rte.vars.mk
 delete mode 100644 mk/machine/hsw/rte.vars.mk
 delete mode 100644 mk/machine/ivb/rte.vars.mk
 delete mode 100644 mk/machine/n1sdp/rte.vars.mk
 delete mode 100644 mk/machine/native/rte.vars.mk
 delete mode 100644 mk/machine/nhm/rte.vars.mk
 delete mode 100644 mk/machine/octeontx2/rte.vars.mk
 delete mode 100644 mk/machine/power8/rte.vars.mk
 delete mode 100644 mk/machine/silvermont/rte.vars.mk
 delete mode 100644 mk/machine/snb/rte.vars.mk
 delete mode 100644 mk/machine/thunderx/rte.vars.mk
 delete mode 100644 mk/machine/thunderx2/rte.vars.mk
 delete mode 100644 mk/machine/wsm/rte.vars.mk
 delete mode 100644 mk/machine/xgene1/rte.vars.mk
 delete mode 100644 mk/rte.app.mk
 delete mode 100644 mk/rte.bsdmodule.mk
 delete mode 100644 mk/rte.combinedlib.mk
 delete mode 100644 mk/rte.cpuflags.mk
 delete mode 100644 mk/rte.extapp.mk
 delete mode 100644 mk/rte.extlib.mk
 delete mode 100644 mk/rte.extobj.mk
 delete mode 100644 mk/rte.extshared.mk
 delete mode 100644 mk/rte.extsubdir.mk
 delete mode 100644 mk/rte.gnuconfigure.mk
 delete mode 100644 mk/rte.helper.mk
 delete mode 100644 mk/rte.hostapp.mk
 delete mode 100644 mk/rte.hostlib.mk
 delete mode 100644 mk/rte.install.mk
 delete mode 100644 mk/rte.lib.mk
 delete mode 100644 mk/rte.module.mk
 delete mode 100644 mk/rte.obj.mk
 delete mode 100644 mk/rte.sdkbuild.mk
 delete mode 100644 mk/rte.sdkconfig.mk
 delete mode 100644 mk/rte.sdkdepdirs.mk
 delete mode 100644 mk/rte.sdkdoc.mk
 delete mode 100644 mk/rte.sdkexamples.mk
 delete mode 100644 mk/rte.sdkgcov.mk
 delete mode 100644 mk/rte.sdkinstall.mk
 delete mode 100644 mk/rte.sdkroot.mk
 delete mode 100644 mk/rte.sdktest.mk
 delete mode 100644 mk/rte.shared.mk
 delete mode 100644 mk/rte.subdir.mk
 delete mode 100644 mk/rte.vars.mk
 delete mode 100644 mk/target/generic/rte.app.mk
 delete mode 100644 mk/target/generic/rte.vars.mk
 delete mode 100644 mk/toolchain/clang/rte.toolchain-compat.mk
 delete mode 100644 mk/toolchain/clang/rte.vars.mk
 delete mode 100644 mk/toolchain/gcc/rte.toolchain-compat.mk
 delete mode 100644 mk/toolchain/gcc/rte.vars.mk
 delete mode 100644 mk/toolchain/icc/rte.toolchain-compat.mk
 delete mode 100644 mk/toolchain/icc/rte.vars.mk

diff --git a/GNUmakefile b/GNUmakefile
deleted file mode 100644
index e8de422df8..0000000000
--- a/GNUmakefile
+++ /dev/null
@@ -1,17 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2015 Intel Corporation
-
-#
-# Head Makefile for compiling rte SDK
-#
-
-RTE_SDK := $(CURDIR)
-export RTE_SDK
-
-#
-# directory list
-#
-
-ROOTDIRS-y := buildtools lib kernel drivers app
-
-include $(RTE_SDK)/mk/rte.sdkroot.mk
diff --git a/MAINTAINERS b/MAINTAINERS
index ed163f5d59..ccaecabea0 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -100,10 +100,8 @@ F: .editorconfig
 Build System
 ------------
 M: Thomas Monjalon <thomas@monjalon.net>
-F: GNUmakefile
 F: Makefile
 F: config/
-F: mk/
 F: buildtools/auto-config-h.sh
 F: buildtools/gen-build-mk.sh
 F: buildtools/gen-config-h.sh
@@ -354,7 +352,6 @@ Memory pool
 M: Olivier Matz <olivier.matz@6wind.com>
 M: Andrew Rybchenko <arybchenko@solarflare.com>
 F: lib/librte_mempool/
-F: drivers/mempool/Makefile
 F: drivers/mempool/ring/
 F: doc/guides/prog_guide/mempool_lib.rst
 F: app/test/test_mempool*
@@ -1519,7 +1516,6 @@ Test Applications
 -----------------
 
 Unit tests framework
-F: app/test/Makefile
 F: app/test/autotest*
 F: app/test/commands.c
 F: app/test/get-coremask.sh
diff --git a/app/Makefile b/app/Makefile
deleted file mode 100644
index 453c4fed6d..0000000000
--- a/app/Makefile
+++ /dev/null
@@ -1,34 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-$(CONFIG_RTE_APP_TEST) += test
-DIRS-$(CONFIG_RTE_TEST_PMD) += test-pmd
-DIRS-$(CONFIG_RTE_PROC_INFO) += proc-info
-DIRS-$(CONFIG_RTE_LIBRTE_PDUMP) += pdump
-DIRS-$(CONFIG_RTE_LIBRTE_ACL) += test-acl
-DIRS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test-cmdline
-DIRS-$(CONFIG_RTE_LIBRTE_FIB) += test-fib
-DIRS-$(CONFIG_RTE_TEST_FLOW_PERF) += test-flow-perf
-DIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) += test-pipeline
-DIRS-$(CONFIG_RTE_LIBRTE_IPSEC) += test-sad
-DIRS-$(CONFIG_RTE_LIBRTE_REGEXDEV) += test-regex
-
-ifeq ($(CONFIG_RTE_LIBRTE_BBDEV),y)
-DIRS-$(CONFIG_RTE_TEST_BBDEV) += test-bbdev
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_COMPRESSDEV),y)
-DIRS-$(CONFIG_RTE_APP_COMPRESS_PERF) += test-compress-perf
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_CRYPTODEV),y)
-DIRS-$(CONFIG_RTE_APP_CRYPTO_PERF) += test-crypto-perf
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_EVENTDEV),y)
-DIRS-$(CONFIG_RTE_APP_EVENTDEV) += test-eventdev
-endif
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/app/pdump/Makefile b/app/pdump/Makefile
deleted file mode 100644
index e6b9eea91b..0000000000
--- a/app/pdump/Makefile
+++ /dev/null
@@ -1,18 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-ifeq ($(CONFIG_RTE_LIBRTE_PDUMP),y)
-
-APP = dpdk-pdump
-
-CFLAGS += $(WERROR_FLAGS)
-
-# all source are stored in SRCS-y
-
-SRCS-y := main.c
-
-include $(RTE_SDK)/mk/rte.app.mk
-
-endif
diff --git a/app/proc-info/Makefile b/app/proc-info/Makefile
deleted file mode 100644
index 214f3f54a1..0000000000
--- a/app/proc-info/Makefile
+++ /dev/null
@@ -1,14 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2015 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-APP = dpdk-procinfo
-
-CFLAGS += $(WERROR_FLAGS)
-
-# all source are stored in SRCS-y
-
-SRCS-y := main.c
-
-include $(RTE_SDK)/mk/rte.app.mk
diff --git a/app/test-acl/Makefile b/app/test-acl/Makefile
deleted file mode 100644
index 5f26294cf1..0000000000
--- a/app/test-acl/Makefile
+++ /dev/null
@@ -1,17 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-ifeq ($(CONFIG_RTE_LIBRTE_ACL),y)
-
-APP = testacl
-
-CFLAGS += $(WERROR_FLAGS)
-
-# all source are stored in SRCS-y
-SRCS-y := main.c
-
-include $(RTE_SDK)/mk/rte.app.mk
-
-endif
diff --git a/app/test-bbdev/Makefile b/app/test-bbdev/Makefile
deleted file mode 100644
index dc29557f37..0000000000
--- a/app/test-bbdev/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-APP = testbbdev
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-#
-# all sources are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_TEST_BBDEV) += main.c
-SRCS-$(CONFIG_RTE_TEST_BBDEV) += test_bbdev.c
-SRCS-$(CONFIG_RTE_TEST_BBDEV) += test_bbdev_perf.c
-SRCS-$(CONFIG_RTE_TEST_BBDEV) += test_bbdev_vector.c
-
-LDLIBS += -lm
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_LTE_FEC),y)
-LDLIBS += -lrte_pmd_bbdev_fpga_lte_fec
-endif
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_5GNR_FEC),y)
-LDLIBS += -lrte_pmd_bbdev_fpga_5gnr_fec
-endif
-
-include $(RTE_SDK)/mk/rte.app.mk
diff --git a/app/test-cmdline/Makefile b/app/test-cmdline/Makefile
deleted file mode 100644
index 3e7421906b..0000000000
--- a/app/test-cmdline/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-ifeq ($(CONFIG_RTE_LIBRTE_CMDLINE),y)
-
-#
-# library name
-#
-APP = cmdline_test
-
-#
-# all sources are stored in SRCS-y
-#
-SRCS-y += cmdline_test.c
-SRCS-y += commands.c
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-include $(RTE_SDK)/mk/rte.app.mk
-
-endif
diff --git a/app/test-compress-perf/Makefile b/app/test-compress-perf/Makefile
deleted file mode 100644
index 2bff531836..0000000000
--- a/app/test-compress-perf/Makefile
+++ /dev/null
@@ -1,19 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-APP = dpdk-test-compress-perf
-
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -O3
-
-# all source are stored in SRCS-y
-SRCS-y := main.c
-SRCS-y += comp_perf_options_parse.c
-SRCS-y += comp_perf_test_verify.c
-SRCS-y += comp_perf_test_throughput.c
-SRCS-y += comp_perf_test_cyclecount.c
-SRCS-y += comp_perf_test_common.c
-
-include $(RTE_SDK)/mk/rte.app.mk
diff --git a/app/test-crypto-perf/Makefile b/app/test-crypto-perf/Makefile
deleted file mode 100644
index 0dced790f0..0000000000
--- a/app/test-crypto-perf/Makefile
+++ /dev/null
@@ -1,28 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016-2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-
-APP = dpdk-test-crypto-perf
-
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -O3
-
-# all source are stored in SRCS-y
-SRCS-y := main.c
-SRCS-y += cperf_ops.c
-SRCS-y += cperf_options_parsing.c
-SRCS-y += cperf_test_vectors.c
-SRCS-y += cperf_test_throughput.c
-SRCS-y += cperf_test_latency.c
-SRCS-y += cperf_test_pmd_cyclecount.c
-SRCS-y += cperf_test_verify.c
-SRCS-y += cperf_test_vector_parsing.c
-SRCS-y += cperf_test_common.c
-
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER),y)
-LDLIBS += -lrte_pmd_crypto_scheduler
-endif
-
-include $(RTE_SDK)/mk/rte.app.mk
diff --git a/app/test-eventdev/Makefile b/app/test-eventdev/Makefile
deleted file mode 100644
index e600e21c41..0000000000
--- a/app/test-eventdev/Makefile
+++ /dev/null
@@ -1,32 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Cavium, Inc
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-APP = dpdk-test-eventdev
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-y := evt_main.c
-SRCS-y += evt_options.c
-SRCS-y += evt_test.c
-SRCS-y += parser.c
-
-SRCS-y += test_order_common.c
-SRCS-y += test_order_queue.c
-SRCS-y += test_order_atq.c
-
-SRCS-y += test_perf_common.c
-SRCS-y += test_perf_queue.c
-SRCS-y += test_perf_atq.c
-
-SRCS-y += test_pipeline_common.c
-SRCS-y += test_pipeline_queue.c
-SRCS-y += test_pipeline_atq.c
-
-include $(RTE_SDK)/mk/rte.app.mk
diff --git a/app/test-fib/Makefile b/app/test-fib/Makefile
deleted file mode 100644
index 2ea799c0e9..0000000000
--- a/app/test-fib/Makefile
+++ /dev/null
@@ -1,18 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-ifeq ($(CONFIG_RTE_LIBRTE_FIB),y)
-
-APP = testfib
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-# all source are stored in SRCS-y
-SRCS-y := main.c
-
-include $(RTE_SDK)/mk/rte.app.mk
-
-endif
diff --git a/app/test-flow-perf/Makefile b/app/test-flow-perf/Makefile
deleted file mode 100644
index 4f2db75910..0000000000
--- a/app/test-flow-perf/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2020 Mellanox Technologies, Ltd
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-ifeq ($(CONFIG_RTE_TEST_FLOW_PERF),y)
-
-#
-# library name
-#
-APP = dpdk-test-flow-perf
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-y += actions_gen.c
-SRCS-y += flow_gen.c
-SRCS-y += items_gen.c
-SRCS-y += main.c
-
-include $(RTE_SDK)/mk/rte.app.mk
-
-endif
diff --git a/app/test-pipeline/Makefile b/app/test-pipeline/Makefile
deleted file mode 100644
index fc3a504409..0000000000
--- a/app/test-pipeline/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2015 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-ifeq ($(CONFIG_RTE_LIBRTE_PIPELINE),y)
-
-#
-# library name
-#
-APP = testpipeline
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-y := main.c
-SRCS-y += config.c
-SRCS-y += init.c
-SRCS-y += runtime.c
-SRCS-y += pipeline_stub.c
-SRCS-y += pipeline_hash.c
-SRCS-y += pipeline_lpm.c
-SRCS-y += pipeline_lpm_ipv6.c
-
-# include ACL lib if available
-SRCS-$(CONFIG_RTE_LIBRTE_ACL) += pipeline_acl.c
-
-include $(RTE_SDK)/mk/rte.app.mk
-
-endif
diff --git a/app/test-pmd/Makefile b/app/test-pmd/Makefile
deleted file mode 100644
index e739797f8a..0000000000
--- a/app/test-pmd/Makefile
+++ /dev/null
@@ -1,73 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2015 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-ifeq ($(CONFIG_RTE_TEST_PMD),y)
-
-#
-# library name
-#
-APP = testpmd
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -Wno-deprecated-declarations
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-y := testpmd.c
-SRCS-y += parameters.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_mtr.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_tm.c
-SRCS-y += config.c
-SRCS-y += iofwd.c
-SRCS-y += macfwd.c
-SRCS-y += macswap.c
-SRCS-y += flowgen.c
-SRCS-y += rxonly.c
-SRCS-y += txonly.c
-SRCS-y += csumonly.c
-SRCS-y += icmpecho.c
-SRCS-y += noisy_vnf.c
-SRCS-y += 5tswap.c
-SRCS-$(CONFIG_RTE_LIBRTE_IEEE1588) += ieee1588fwd.c
-SRCS-$(CONFIG_RTE_LIBRTE_BPF) += bpf_cmd.c
-SRCS-y += util.c
-
-ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
-
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_BOND),y)
-LDLIBS += -lrte_pmd_bond
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS)$(CONFIG_RTE_LIBRTE_DPAA_PMD),yy)
-LDLIBS += -lrte_pmd_dpaa
-LDLIBS += -lrte_bus_dpaa
-LDLIBS += -lrte_mempool_dpaa
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_IXGBE_PMD),y)
-LDLIBS += -lrte_pmd_ixgbe
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_I40E_PMD),y)
-LDLIBS += -lrte_pmd_i40e
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_BNXT_PMD),y)
-LDLIBS += -lrte_pmd_bnxt
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_SOFTNIC),y)
-LDLIBS += -lrte_pmd_softnic
-endif
-
-endif
-
-include $(RTE_SDK)/mk/rte.app.mk
-
-endif
diff --git a/app/test-regex/Makefile b/app/test-regex/Makefile
deleted file mode 100644
index bb8f150871..0000000000
--- a/app/test-regex/Makefile
+++ /dev/null
@@ -1,13 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2020 Mellanox Technologies, Ltd
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-APP = dpdk-test-regex
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-SRCS-y := main.c
-
-include $(RTE_SDK)/mk/rte.app.mk
diff --git a/app/test-sad/Makefile b/app/test-sad/Makefile
deleted file mode 100644
index 9b5a7ddc61..0000000000
--- a/app/test-sad/Makefile
+++ /dev/null
@@ -1,17 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-ifeq ($(CONFIG_RTE_LIBRTE_IPSEC),y)
-
-APP = testsad
-
-CFLAGS += $(WERROR_FLAGS)
-
-# all source are stored in SRCS-y
-SRCS-y := main.c
-
-include $(RTE_SDK)/mk/rte.app.mk
-
-endif
diff --git a/app/test/Makefile b/app/test/Makefile
deleted file mode 100644
index f4065271e4..0000000000
--- a/app/test/Makefile
+++ /dev/null
@@ -1,310 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-ifeq ($(CONFIG_RTE_APP_TEST),y)
-
-# default rule
-all:
-
-# Define an externally linked resource. A linked resource is an arbitrary
-# file that is linked into the test binary. The application refers to this
-# resource by name. The linked generates identifiers beg_<name> and end_<name>
-# for referencing by the C code.
-#
-# Parameters: <unique name>, <file to be linked>
-define linked_resource
-SRCS-y += $(1).res.o
-$(1).res.o: $(2)
-	@  echo '  MKRES $$@'
-	$Q [ "$$(<D)" = . ] || ln -fs $$<
-	$Q $(OBJCOPY) -I binary -B $(RTE_OBJCOPY_ARCH) -O $(RTE_OBJCOPY_TARGET) \
-		--rename-section                                         \
-			.data=.rodata,alloc,load,data,contents,readonly  \
-		--redefine-sym _binary_$$(subst .,_,$$(<F))_start=beg_$(1) \
-		--redefine-sym _binary_$$(subst .,_,$$(<F))_end=end_$(1)   \
-		--redefine-sym _binary_$$(subst .,_,$$(<F))_size=siz_$(1)  \
-		$$(<F) $$@
-endef
-
-ifeq ($(CONFIG_RTE_APP_TEST_RESOURCE_TAR),y)
-define linked_tar_resource
-$(1).tar: $(2)
-	@  echo '  TAR $$@'
-	$Q tar -C $$(dir $$<) -cf $$@ $$(notdir $$<)
-$(call linked_resource,$(1),$(1).tar)
-endef
-else # ! CONFIG_RTE_APP_TEST_RESOURCE_TAR
-linked_tar_resource =
-endif # CONFIG_RTE_APP_TEST_RESOURCE_TAR
-
-#
-# library name
-#
-APP = test
-
-#
-# all sources are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) := commands.c
-SRCS-y += test.c
-SRCS-y += resource.c
-SRCS-y += test_resource.c
-test_resource.res: test_resource.c
-	@ cp $< $@
-$(eval $(call linked_resource,test_resource_c,test_resource.res))
-$(eval $(call linked_tar_resource,test_resource_tar,test_resource.c))
-SRCS-$(CONFIG_RTE_APP_TEST_RESOURCE_TAR) += test_cfgfile.c
-$(eval $(call linked_tar_resource,test_cfgfiles,test_cfgfiles))
-SRCS-y += test_prefetch.c
-SRCS-y += test_byteorder.c
-SRCS-y += test_per_lcore.c
-SRCS-y += test_atomic.c
-SRCS-y += test_barrier.c
-SRCS-y += test_malloc.c
-SRCS-y += test_cycles.c
-SRCS-y += test_mcslock.c
-SRCS-y += test_spinlock.c
-SRCS-y += test_ticketlock.c
-SRCS-y += test_memory.c
-SRCS-y += test_memzone.c
-SRCS-y += test_bitmap.c
-SRCS-y += test_bitops.c
-SRCS-y += test_reciprocal_division.c
-SRCS-y += test_reciprocal_division_perf.c
-SRCS-y += test_fbarray.c
-SRCS-y += test_external_mem.c
-SRCS-y += test_rand_perf.c
-
-SRCS-y += test_ring.c
-SRCS-y += test_ring_mpmc_stress.c
-SRCS-y += test_ring_hts_stress.c
-SRCS-y += test_ring_perf.c
-SRCS-y += test_ring_mt_peek_stress.c
-SRCS-y += test_ring_rts_stress.c
-SRCS-y += test_ring_st_peek_stress.c
-SRCS-y += test_ring_stress.c
-SRCS-y += test_pmd_perf.c
-
-ifeq ($(CONFIG_RTE_LIBRTE_TABLE),y)
-SRCS-y += test_table.c
-SRCS-$(CONFIG_RTE_LIBRTE_PIPELINE) += test_table_pipeline.c
-SRCS-y += test_table_tables.c
-SRCS-y += test_table_ports.c
-SRCS-y += test_table_combined.c
-SRCS-$(CONFIG_RTE_LIBRTE_ACL) += test_table_acl.c
-SRCS-$(CONFIG_RTE_LIBRTE_FLOW_CLASSIFY) += test_flow_classify.c
-endif
-
-SRCS-y += test_rwlock.c
-SRCS-y += test_lcores.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_STACK) += test_stack.c
-SRCS-$(CONFIG_RTE_LIBRTE_STACK) += test_stack_perf.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_TIMER) += test_timer.c
-SRCS-$(CONFIG_RTE_LIBRTE_TIMER) += test_timer_perf.c
-SRCS-$(CONFIG_RTE_LIBRTE_TIMER) += test_timer_racecond.c
-SRCS-$(CONFIG_RTE_LIBRTE_TIMER) += test_timer_secondary.c
-
-SRCS-y += test_mempool.c
-SRCS-y += test_mempool_perf.c
-
-SRCS-y += test_mbuf.c
-SRCS-y += test_logs.c
-
-SRCS-y += test_memcpy.c
-SRCS-y += test_memcpy_perf.c
-
-
-SRCS-$(CONFIG_RTE_LIBRTE_MEMBER) += test_member.c
-SRCS-$(CONFIG_RTE_LIBRTE_MEMBER) += test_member_perf.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_EFD) += test_efd.c
-SRCS-$(CONFIG_RTE_LIBRTE_EFD) += test_efd_perf.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_HASH) += test_hash.c
-SRCS-$(CONFIG_RTE_LIBRTE_HASH) += test_thash.c
-SRCS-$(CONFIG_RTE_LIBRTE_HASH) += test_hash_perf.c
-SRCS-$(CONFIG_RTE_LIBRTE_HASH) += test_hash_functions.c
-SRCS-$(CONFIG_RTE_LIBRTE_HASH) += test_hash_multiwriter.c
-SRCS-$(CONFIG_RTE_LIBRTE_HASH) += test_hash_readwrite.c
-SRCS-$(CONFIG_RTE_LIBRTE_HASH) += test_hash_readwrite_lf_perf.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_RIB) += test_rib.c
-SRCS-$(CONFIG_RTE_LIBRTE_RIB) += test_rib6.c
-SRCS-$(CONFIG_RTE_LIBRTE_FIB) += test_fib.c
-SRCS-$(CONFIG_RTE_LIBRTE_FIB) += test_fib6.c
-SRCS-$(CONFIG_RTE_LIBRTE_FIB) += test_fib_perf.c
-SRCS-$(CONFIG_RTE_LIBRTE_FIB) += test_fib6_perf.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_LPM) += test_lpm.c
-SRCS-$(CONFIG_RTE_LIBRTE_LPM) += test_lpm_perf.c
-SRCS-$(CONFIG_RTE_LIBRTE_LPM) += test_lpm6.c
-SRCS-$(CONFIG_RTE_LIBRTE_LPM) += test_lpm6_perf.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_TELEMETRY) += test_telemetry_json.c
-
-SRCS-y += test_debug.c
-SRCS-y += test_errno.c
-SRCS-y += test_tailq.c
-SRCS-y += test_string_fns.c
-SRCS-y += test_cpuflags.c
-SRCS-y += test_mp_secondary.c
-SRCS-y += test_eal_flags.c
-SRCS-y += test_eal_fs.c
-SRCS-y += test_alarm.c
-SRCS-y += test_interrupts.c
-SRCS-y += test_version.c
-SRCS-y += test_func_reentrancy.c
-SRCS-y += test_trace.c
-SRCS-y += test_trace_register.c
-SRCS-y += test_trace_perf.c
-SRCS-y += test_service_cores.c
-
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_RING),y)
-SRCS-y += sample_packet_forward.c
-SRCS-$(CONFIG_RTE_LIBRTE_BITRATE) += test_bitratestats.c
-SRCS-$(CONFIG_RTE_LIBRTE_LATENCY_STATS) += test_latencystats.c
-SRCS-$(CONFIG_RTE_LIBRTE_PDUMP) += test_pdump.c
-endif
-
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_num.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_etheraddr.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_portlist.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_ipaddr.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_cirbuf.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_string.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_lib.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_NET) += test_crc.c
-
-ifeq ($(CONFIG_RTE_LIBRTE_SCHED),y)
-SRCS-y += test_red.c
-SRCS-y += test_sched.c
-endif
-
-SRCS-$(CONFIG_RTE_LIBRTE_METER) += test_meter.c
-SRCS-$(CONFIG_RTE_LIBRTE_KNI) += test_kni.c
-SRCS-$(CONFIG_RTE_LIBRTE_POWER) += test_power.c test_power_cpufreq.c
-SRCS-$(CONFIG_RTE_LIBRTE_POWER) += test_power_kvm_vm.c
-SRCS-y += test_common.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += test_distributor.c
-SRCS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += test_distributor_perf.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_REORDER) += test_reorder.c
-
-SRCS-y += virtual_pmd.c
-SRCS-y += packet_burst_generator.c
-SRCS-$(CONFIG_RTE_LIBRTE_ACL) += test_acl.c
-
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_RING),y)
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += test_link_bonding.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += test_link_bonding_mode4.c
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_NULL),y)
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += test_link_bonding_rssconf.c
-endif
-
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_RING) += test_pmd_ring.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_RING) += test_pmd_ring_perf.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += test_cryptodev_blockcipher.c
-SRCS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += test_cryptodev.c
-SRCS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += test_cryptodev_asym.c
-SRCS-$(CONFIG_RTE_LIBRTE_SECURITY) += test_cryptodev_security_pdcp.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_METRICS) += test_metrics.c
-
-ifeq ($(CONFIG_RTE_COMPRESSDEV_TEST),y)
-SRCS-$(CONFIG_RTE_LIBRTE_COMPRESSDEV) += test_compressdev.c
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_EVENTDEV),y)
-SRCS-y += test_eventdev.c
-SRCS-y += test_event_ring.c
-SRCS-y += test_event_eth_rx_adapter.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_RING) += test_event_eth_tx_adapter.c
-SRCS-y += test_event_timer_adapter.c
-SRCS-y += test_event_crypto_adapter.c
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_GRAPH), y)
-SRCS-y += test_graph.c
-SRCS-y += test_graph_perf.c
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_RAWDEV),y)
-SRCS-y += test_rawdev.c
-endif
-
-SRCS-$(CONFIG_RTE_LIBRTE_KVARGS) += test_kvargs.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_BPF) += test_bpf.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_RCU) += test_rcu_qsbr.c test_rcu_qsbr_perf.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_SECURITY) += test_security.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_IPSEC) += test_ipsec.c test_ipsec_perf.c
-SRCS-$(CONFIG_RTE_LIBRTE_IPSEC) += test_ipsec_sad.c
-ifeq ($(CONFIG_RTE_LIBRTE_IPSEC),y)
-LDLIBS += -lrte_ipsec
-endif
-
-CFLAGS += -O3
-# Strict-aliasing rules are violated by uint8_t[] to context size casts.
-CFLAGS += -fno-strict-aliasing
-CFLAGS += $(WERROR_FLAGS)
-
-LDLIBS += -lm
-
-ifeq ($(CONFIG_RTE_LIBRTE_PDUMP),y)
-LDLIBS += -lpthread
-endif
-
-ifeq ($(CONFIG_RTE_COMPRESSDEV_TEST),y)
-ifeq ($(CONFIG_RTE_LIBRTE_COMPRESSDEV),y)
-LDLIBS += -lz
-endif
-endif
-
-# Disable VTA for memcpy test
-ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
-ifeq ($(shell test $(GCC_VERSION) -ge 44 && echo 1), 1)
-CFLAGS_test_memcpy.o += -fno-var-tracking-assignments
-CFLAGS_test_memcpy_perf.o += -fno-var-tracking-assignments
-endif
-endif
-
-ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
-
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_BOND),y)
-LDLIBS += -lrte_pmd_bond
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_NULL),y)
-LDLIBS += -lrte_pmd_null
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_RING),y)
-LDLIBS += -lrte_pmd_ring
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER),y)
-LDLIBS += -lrte_pmd_crypto_scheduler
-endif
-
-endif
-
-ifeq ($(CONFIG_RTE_APP_TEST_RESOURCE_TAR),y)
-LDLIBS += -larchive
-endif
-
-include $(RTE_SDK)/mk/rte.app.mk
-
-endif
diff --git a/buildtools/Makefile b/buildtools/Makefile
deleted file mode 100644
index 7f76fd7d65..0000000000
--- a/buildtools/Makefile
+++ /dev/null
@@ -1,9 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016 Neil Horman <nhorman@tuxdriver.com>
-# All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-y += pmdinfogen
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/buildtools/pmdinfogen/Makefile b/buildtools/pmdinfogen/Makefile
deleted file mode 100644
index a97a7648fe..0000000000
--- a/buildtools/pmdinfogen/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016 Neil Horman <nhorman@tuxdriver.com>
-# All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-HOSTAPP = dpdk-pmdinfogen
-
-#
-# all sources are stored in SRCS-y
-#
-SRCS-y += pmdinfogen.c
-
-HOST_CFLAGS += $(HOST_WERROR_FLAGS) -g
-HOST_CFLAGS += -I$(RTE_OUTPUT)/include
-
-include $(RTE_SDK)/mk/rte.hostapp.mk
diff --git a/drivers/Makefile b/drivers/Makefile
deleted file mode 100644
index 7f06162dc4..0000000000
--- a/drivers/Makefile
+++ /dev/null
@@ -1,34 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2015 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-y += common
-DIRS-y += bus
-DEPDIRS-bus := common
-DIRS-y += mempool
-DEPDIRS-mempool := common bus
-ifeq ($(findstring y,$(CONFIG_RTE_LIBRTE_MLX5_PMD)$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD)),y)
-DIRS-y += common/mlx5
-DEPDIRS-common/mlx5 := bus
-endif
-DIRS-y += net
-DEPDIRS-net := common bus mempool common/mlx5
-DIRS-$(CONFIG_RTE_LIBRTE_BBDEV) += baseband
-DEPDIRS-baseband := common bus mempool
-DIRS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += crypto
-DEPDIRS-crypto := common bus mempool
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_QAT) += common/qat
-DEPDIRS-common/qat := bus mempool
-DIRS-$(CONFIG_RTE_LIBRTE_COMPRESSDEV) += compress
-DEPDIRS-compress := bus mempool
-DIRS-$(CONFIG_RTE_LIBRTE_REGEXDEV) += regex
-DEPDIRS-regex := common bus common/mlx5
-DIRS-$(CONFIG_RTE_LIBRTE_VHOST) += vdpa
-DEPDIRS-vdpa := common bus mempool common/mlx5
-DIRS-$(CONFIG_RTE_LIBRTE_EVENTDEV) += event
-DEPDIRS-event := common bus mempool net crypto
-DIRS-$(CONFIG_RTE_LIBRTE_RAWDEV) += raw
-DEPDIRS-raw := common bus mempool net event
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/drivers/baseband/Makefile b/drivers/baseband/Makefile
deleted file mode 100644
index dcc0969175..0000000000
--- a/drivers/baseband/Makefile
+++ /dev/null
@@ -1,18 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-core-libs := librte_eal librte_mbuf librte_mempool librte_ring
-core-libs += librte_bbdev librte_kvargs librte_cfgfile
-
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_NULL) += null
-DEPDIRS-null = $(core-libs)
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += turbo_sw
-DEPDIRS-turbo_sw = $(core-libs)
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_LTE_FEC) += fpga_lte_fec
-DEPDIRS-fpga_lte_fec = $(core-libs)
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_5GNR_FEC) += fpga_5gnr_fec
-DEPDIRS-fpga_5gnr_fec = $(core-libs)
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/drivers/baseband/fpga_5gnr_fec/Makefile b/drivers/baseband/fpga_5gnr_fec/Makefile
deleted file mode 100644
index 7b7017c6dc..0000000000
--- a/drivers/baseband/fpga_5gnr_fec/Makefile
+++ /dev/null
@@ -1,28 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_bbdev_fpga_5gnr_fec.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_bbdev
-LDLIBS += -lrte_pci -lrte_bus_pci
-
-# versioning export map
-EXPORT_MAP := rte_pmd_bbdev_fpga_5gnr_fec_version.map
-
-# library version
-LIBABIVER := 1
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_5GNR_FEC) += rte_fpga_5gnr_fec.c
-
-# export include files
-SYMLINK-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_5GNR_FEC)-include += rte_pmd_fpga_5gnr_fec.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/baseband/fpga_lte_fec/Makefile b/drivers/baseband/fpga_lte_fec/Makefile
deleted file mode 100644
index 30caafe3db..0000000000
--- a/drivers/baseband/fpga_lte_fec/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_bbdev_fpga_lte_fec.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_bbdev
-LDLIBS += -lrte_pci -lrte_bus_pci
-
-# versioning export map
-EXPORT_MAP := rte_pmd_bbdev_fpga_lte_fec_version.map
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_LTE_FEC) += fpga_lte_fec.c
-
-# export include files
-SYMLINK-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_LTE_FEC)-include += fpga_lte_fec.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/baseband/null/Makefile b/drivers/baseband/null/Makefile
deleted file mode 100644
index 0ee500166d..0000000000
--- a/drivers/baseband/null/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-# library name
-LIB = librte_pmd_bbdev_null.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring -lrte_kvargs
-LDLIBS += -lrte_bbdev
-LDLIBS += -lrte_bus_vdev
-
-# versioning export map
-EXPORT_MAP := rte_pmd_bbdev_null_version.map
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_NULL) += bbdev_null.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/baseband/turbo_sw/Makefile b/drivers/baseband/turbo_sw/Makefile
deleted file mode 100644
index c2a6fe0f81..0000000000
--- a/drivers/baseband/turbo_sw/Makefile
+++ /dev/null
@@ -1,52 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_bbdev_turbo_sw.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring -lrte_kvargs
-LDLIBS += -lrte_bbdev
-LDLIBS += -lrte_bus_vdev
-
-# versioning export map
-EXPORT_MAP := rte_pmd_bbdev_turbo_sw_version.map
-
-# external library dependencies if available
-ifeq ($(CONFIG_RTE_BBDEV_SDK_AVX2),y)
-ifeq ($(FLEXRAN_SDK),)
-$(error "Please define FLEXRAN_SDK environment variable")
-endif
-CFLAGS += -I$(FLEXRAN_SDK)/lib_common
-CFLAGS += -I$(FLEXRAN_SDK)/lib_turbo
-CFLAGS += -I$(FLEXRAN_SDK)/lib_crc
-CFLAGS += -I$(FLEXRAN_SDK)/lib_rate_matching
-LDLIBS += -L$(FLEXRAN_SDK)/lib_turbo -lturbo
-LDLIBS += -L$(FLEXRAN_SDK)/lib_crc -lcrc
-LDLIBS += -L$(FLEXRAN_SDK)/lib_rate_matching -lrate_matching
-LDLIBS += -L$(FLEXRAN_SDK)/lib_common -lcommon
-LDLIBS += -lstdc++ -lirc -limf -lipps -lsvml
-endif
-
-ifeq ($(CONFIG_RTE_BBDEV_SDK_AVX512),y)
-ifeq ($(CONFIG_RTE_BBDEV_SDK_AVX2),n)
-$(error "CONFIG_RTE_BBDEV_SDK_AVX512 requires CONFIG_RTE_BBDEV_SDK_AVX2 set")
-endif
-CFLAGS += -I$(FLEXRAN_SDK)/lib_ldpc_encoder_5gnr
-CFLAGS += -I$(FLEXRAN_SDK)/lib_ldpc_decoder_5gnr
-CFLAGS += -I$(FLEXRAN_SDK)/lib_LDPC_ratematch_5gnr
-CFLAGS += -I$(FLEXRAN_SDK)/lib_rate_dematching_5gnr
-LDLIBS += -L$(FLEXRAN_SDK)/lib_ldpc_encoder_5gnr -lldpc_encoder_5gnr
-LDLIBS += -L$(FLEXRAN_SDK)/lib_ldpc_decoder_5gnr -lldpc_decoder_5gnr
-LDLIBS += -L$(FLEXRAN_SDK)/lib_LDPC_ratematch_5gnr -lLDPC_ratematch_5gnr
-LDLIBS += -L$(FLEXRAN_SDK)/lib_rate_dematching_5gnr -lrate_dematching_5gnr
-endif
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += bbdev_turbo_software.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/bus/Makefile b/drivers/bus/Makefile
deleted file mode 100644
index cea3b55e60..0000000000
--- a/drivers/bus/Makefile
+++ /dev/null
@@ -1,15 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2016 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-$(CONFIG_RTE_LIBRTE_DPAA_BUS) += dpaa
-ifeq ($(CONFIG_RTE_EAL_VFIO),y)
-DIRS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += fslmc
-endif
-DIRS-$(CONFIG_RTE_LIBRTE_IFPGA_BUS) += ifpga
-DIRS-$(CONFIG_RTE_LIBRTE_PCI_BUS) += pci
-DIRS-$(CONFIG_RTE_LIBRTE_VDEV_BUS) += vdev
-DIRS-$(CONFIG_RTE_LIBRTE_VMBUS) += vmbus
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/drivers/bus/dpaa/Makefile b/drivers/bus/dpaa/Makefile
deleted file mode 100644
index ba40b21166..0000000000
--- a/drivers/bus/dpaa/Makefile
+++ /dev/null
@@ -1,48 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2016 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-RTE_BUS_DPAA=$(RTE_SDK)/drivers/bus/dpaa
-
-#
-# library name
-#
-LIB = librte_bus_dpaa.a
-
-CFLAGS := -I$(SRCDIR) $(CFLAGS)
-CFLAGS += -O3 $(WERROR_FLAGS)
-CFLAGS += -Wno-pointer-arith
-CFLAGS += -Wno-cast-qual
-CFLAGS += -I$(RTE_BUS_DPAA)/
-CFLAGS += -I$(RTE_BUS_DPAA)/include
-CFLAGS += -I$(RTE_BUS_DPAA)/base/qbman
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
-
-# versioning export map
-EXPORT_MAP := rte_bus_dpaa_version.map
-
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_DPAA_BUS) += \
-	dpaa_bus.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_DPAA_BUS) += \
-	base/fman/fman.c \
-	base/fman/fman_hw.c \
-	base/fman/netcfg_layer.c \
-	base/qbman/process.c \
-	base/qbman/bman.c \
-	base/qbman/bman_driver.c \
-	base/qbman/qman.c \
-	base/qbman/qman_driver.c \
-	base/qbman/dpaa_alloc.c \
-	base/qbman/dpaa_sys.c
-
-# Link Pthread
-LDLIBS += -lpthread
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev
-LDLIBS += -lrte_common_dpaax
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/bus/fslmc/Makefile b/drivers/bus/fslmc/Makefile
deleted file mode 100644
index b98d758ee0..0000000000
--- a/drivers/bus/fslmc/Makefile
+++ /dev/null
@@ -1,47 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2016 NXP
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_bus_fslmc.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/mc
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/qbman/include
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common
-LDLIBS += -lpthread
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev
-LDLIBS += -lrte_common_dpaax
-
-# versioning export map
-EXPORT_MAP := rte_bus_fslmc_version.map
-
-SRCS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += \
-        qbman/qbman_portal.c \
-        qbman/qbman_debug.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += \
-	mc/dpmng.c \
-	mc/dpbp.c \
-	mc/dpio.c \
-	mc/mc_sys.c \
-	mc/dpcon.c \
-	mc/dpci.c \
-	mc/dpdmai.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += portal/dpaa2_hw_dpio.c
-SRCS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += portal/dpaa2_hw_dpbp.c
-SRCS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += portal/dpaa2_hw_dpci.c
-SRCS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += fslmc_vfio.c
-SRCS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += fslmc_bus.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/bus/ifpga/Makefile b/drivers/bus/ifpga/Makefile
deleted file mode 100644
index 1df369103c..0000000000
--- a/drivers/bus/ifpga/Makefile
+++ /dev/null
@@ -1,28 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_bus_ifpga.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal
-LDLIBS += -lrte_rawdev
-LDLIBS += -lrte_kvargs
-
-# versioning export map
-EXPORT_MAP := rte_bus_ifpga_version.map
-
-SRCS-$(CONFIG_RTE_LIBRTE_IFPGA_BUS) += ifpga_bus.c
-SRCS-$(CONFIG_RTE_LIBRTE_IFPGA_BUS) += ifpga_common.c
-
-#
-# Export include files
-#
-SYMLINK-$(CONFIG_RTE_LIBRTE_IFPGA_BUS)-include += rte_bus_ifpga.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/bus/pci/Makefile b/drivers/bus/pci/Makefile
deleted file mode 100644
index f4102d0a7f..0000000000
--- a/drivers/bus/pci/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 6WIND S.A.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-LIB = librte_bus_pci.a
-EXPORT_MAP := rte_bus_pci_version.map
-
-CFLAGS := -I$(SRCDIR) $(CFLAGS)
-CFLAGS += -O3 $(WERROR_FLAGS)
-
-ifneq ($(CONFIG_RTE_EXEC_ENV_LINUX),)
-SYSTEM := linux
-endif
-ifneq ($(CONFIG_RTE_EXEC_ENV_FREEBSD),)
-SYSTEM := bsd
-endif
-
-CFLAGS += -I$(RTE_SDK)/drivers/bus/pci/$(SYSTEM)
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common
-
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_pci -lrte_kvargs
-
-include $(RTE_SDK)/drivers/bus/pci/$(SYSTEM)/Makefile
-SRCS-$(CONFIG_RTE_LIBRTE_PCI_BUS) := $(addprefix $(SYSTEM)/,$(SRCS))
-SRCS-$(CONFIG_RTE_LIBRTE_PCI_BUS) += pci_params.c
-SRCS-$(CONFIG_RTE_LIBRTE_PCI_BUS) += pci_common.c
-SRCS-$(CONFIG_RTE_LIBRTE_PCI_BUS) += pci_common_uio.c
-
-SYMLINK-$(CONFIG_RTE_LIBRTE_PCI_BUS)-include += rte_bus_pci.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/bus/pci/bsd/Makefile b/drivers/bus/pci/bsd/Makefile
deleted file mode 100644
index c1b54c05ef..0000000000
--- a/drivers/bus/pci/bsd/Makefile
+++ /dev/null
@@ -1,4 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 6WIND S.A.
-
-SRCS += pci.c
diff --git a/drivers/bus/pci/linux/Makefile b/drivers/bus/pci/linux/Makefile
deleted file mode 100644
index 90404468b0..0000000000
--- a/drivers/bus/pci/linux/Makefile
+++ /dev/null
@@ -1,6 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 6WIND S.A.
-
-SRCS += pci.c
-SRCS += pci_uio.c
-SRCS += pci_vfio.c
diff --git a/drivers/bus/vdev/Makefile b/drivers/bus/vdev/Makefile
deleted file mode 100644
index 01747f03a4..0000000000
--- a/drivers/bus/vdev/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_bus_vdev.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-# versioning export map
-EXPORT_MAP := rte_bus_vdev_version.map
-
-SRCS-y += vdev.c
-SRCS-y += vdev_params.c
-
-LDLIBS += -lrte_eal -lrte_kvargs
-
-#
-# Export include files
-#
-SYMLINK-y-include += rte_bus_vdev.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/bus/vmbus/Makefile b/drivers/bus/vmbus/Makefile
deleted file mode 100644
index 335df6a0ba..0000000000
--- a/drivers/bus/vmbus/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-LIB = librte_bus_vmbus.a
-EXPORT_MAP := rte_bus_vmbus_version.map
-
-CFLAGS += -I$(SRCDIR)
-CFLAGS += -O3 $(WERROR_FLAGS)
-
-ifneq ($(CONFIG_RTE_EXEC_ENV_LINUX),)
-SYSTEM := linux
-endif
-ifneq ($(CONFIG_RTE_EXEC_ENV_FREEBSD),)
-$(error "VMBUS not implemented for BSD yet")
-endif
-
-CFLAGS += -I$(RTE_SDK)/drivers/bus/vmbus/$(SYSTEM)
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common
-
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev
-
-include $(RTE_SDK)/drivers/bus/vmbus/$(SYSTEM)/Makefile
-SRCS-$(CONFIG_RTE_LIBRTE_VMBUS) := $(addprefix $(SYSTEM)/,$(SRCS))
-SRCS-$(CONFIG_RTE_LIBRTE_VMBUS) += vmbus_common.c
-SRCS-$(CONFIG_RTE_LIBRTE_VMBUS) += vmbus_channel.c vmbus_bufring.c
-SRCS-$(CONFIG_RTE_LIBRTE_VMBUS) += vmbus_common_uio.c
-
-SYMLINK-$(CONFIG_RTE_LIBRTE_VMBUS)-include += rte_bus_vmbus.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_VMBUS)-include += rte_vmbus_reg.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/bus/vmbus/linux/Makefile b/drivers/bus/vmbus/linux/Makefile
deleted file mode 100644
index ef0d30b2d3..0000000000
--- a/drivers/bus/vmbus/linux/Makefile
+++ /dev/null
@@ -1,3 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-
-SRCS += vmbus_bus.c vmbus_uio.c
diff --git a/drivers/common/Makefile b/drivers/common/Makefile
deleted file mode 100644
index cfb6b4dc88..0000000000
--- a/drivers/common/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Cavium, Inc
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-CPT-y := $(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_CRYPTO)
-CPT-y += $(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO)
-ifneq (,$(findstring y,$(CPT-y)))
-DIRS-y += cpt
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF)$(CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL),yy)
-DIRS-y += octeontx
-endif
-OCTEONTX2-y := $(CONFIG_RTE_LIBRTE_OCTEONTX2_MEMPOOL)
-OCTEONTX2-y += $(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO)
-ifeq ($(findstring y,$(OCTEONTX2-y)),y)
-DIRS-y += octeontx2
-endif
-
-MVEP-y := $(CONFIG_RTE_LIBRTE_MVPP2_PMD)
-MVEP-y += $(CONFIG_RTE_LIBRTE_MVNETA_PMD)
-MVEP-y += $(CONFIG_RTE_LIBRTE_PMD_MVSAM_CRYPTO)
-ifneq (,$(findstring y,$(MVEP-y)))
-DIRS-y += mvep
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_COMMON_DPAAX),y)
-DIRS-y += dpaax
-endif
-
-IAVF-y := $(CONFIG_RTE_LIBRTE_IAVF_PMD)
-IAVF-y += $(CONFIG_RTE_LIBRTE_ICE_PMD)
-ifneq (,$(findstring y,$(IAVF-y)))
-DIRS-y += iavf
-endif
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/drivers/common/cpt/Makefile b/drivers/common/cpt/Makefile
deleted file mode 100644
index cab9da73c8..0000000000
--- a/drivers/common/cpt/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Cavium, Inc
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_common_cpt.a
-
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/bus/pci
-EXPORT_MAP := rte_common_cpt_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-y += cpt_fpm_tables.c
-SRCS-y += cpt_pmd_ops_helper.c
-
-LDLIBS += -lrte_eal
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/common/dpaax/Makefile b/drivers/common/dpaax/Makefile
deleted file mode 100644
index 2f4b924fda..0000000000
--- a/drivers/common/dpaax/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2018 NXP
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_common_dpaax.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -Wno-pointer-arith
-CFLAGS += -Wno-cast-qual
-
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax/caamflib
-
-# versioning export map
-EXPORT_MAP := rte_common_dpaax_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-y += dpaax_iova_table.c dpaa_of.c caamflib.c
-
-LDLIBS += -lrte_eal
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/common/iavf/Makefile b/drivers/common/iavf/Makefile
deleted file mode 100644
index f06dafd408..0000000000
--- a/drivers/common/iavf/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_common_iavf.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -Wno-pointer-arith
-CFLAGS += -Wno-cast-qual
-
-EXPORT_MAP := rte_common_iavf_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-y += iavf_adminq.c
-SRCS-y += iavf_common.c
-SRCS-y += iavf_impl.c
-
-LDLIBS += -lrte_eal
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/common/mlx5/Makefile b/drivers/common/mlx5/Makefile
deleted file mode 100644
index 4edd541042..0000000000
--- a/drivers/common/mlx5/Makefile
+++ /dev/null
@@ -1,404 +0,0 @@
-#   SPDX-License-Identifier: BSD-3-Clause
-#   Copyright 2019 Mellanox Technologies, Ltd
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# Library name.
-LIB = librte_common_mlx5.a
-LIB_GLUE = $(LIB_GLUE_BASE).$(LIB_GLUE_VERSION)
-LIB_GLUE_BASE = librte_pmd_mlx5_glue.so
-LIB_GLUE_VERSION = 20.02.0
-
-# Sources.
-ifeq ($(findstring y,$(CONFIG_RTE_LIBRTE_MLX5_PMD)$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD)),y)
-ifneq ($(CONFIG_RTE_IBVERBS_LINK_DLOPEN),y)
-SRCS-y += linux/mlx5_glue.c
-endif
-SRCS-y += mlx5_devx_cmds.c
-SRCS-y += mlx5_common.c
-SRCS-y += linux/mlx5_common_os.c
-SRCS-y += linux/mlx5_nl.c
-SRCS-y += linux/mlx5_common_verbs.c
-SRCS-y += mlx5_common_mp.c
-SRCS-y += mlx5_common_mr.c
-SRCS-y += mlx5_malloc.c
-SRCS-y += mlx5_common_pci.c
-ifeq ($(CONFIG_RTE_IBVERBS_LINK_DLOPEN),y)
-INSTALL-y-lib += $(LIB_GLUE)
-endif
-endif
-
-# Basic CFLAGS.
-CFLAGS += -O3
-CFLAGS += -std=c11 -Wall -Wextra
-CFLAGS += -g
-CFLAGS += -I.
-CFLAGS += -I$(SRCDIR)
-CFLAGS += -I$(SRCDIR)/linux
-CFLAGS += -D_BSD_SOURCE
-CFLAGS += -D_DEFAULT_SOURCE
-CFLAGS += -D_XOPEN_SOURCE=600
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -Wno-strict-prototypes
-ifeq ($(CONFIG_RTE_IBVERBS_LINK_DLOPEN),y)
-CFLAGS += -DMLX5_GLUE='"$(LIB_GLUE)"'
-CFLAGS += -DMLX5_GLUE_VERSION='"$(LIB_GLUE_VERSION)"'
-CFLAGS_linux/mlx5_glue.o += -fPIC
-LDLIBS += -ldl
-else ifeq ($(CONFIG_RTE_IBVERBS_LINK_STATIC),y)
-LDLIBS += $(shell $(RTE_SDK)/buildtools/options-ibverbs-static.sh)
-else
-LDLIBS += -libverbs -lmlx5
-endif
-
-LDLIBS += -lrte_eal -lrte_pci -lrte_kvargs -lrte_net
-LDLIBS += -lrte_bus_pci
-
-# A few warnings cannot be avoided in external headers.
-CFLAGS += -Wno-error=cast-qual -UPEDANTIC
-
-EXPORT_MAP := rte_common_mlx5_version.map
-
-include $(RTE_SDK)/mk/rte.lib.mk
-
-# Generate and clean-up mlx5_autoconf.h.
-
-export CC CFLAGS CPPFLAGS EXTRA_CFLAGS EXTRA_CPPFLAGS
-export AUTO_CONFIG_CFLAGS = -Wno-error
-
-ifndef V
-AUTOCONF_OUTPUT := >/dev/null
-endif
-
-mlx5_autoconf.h.new: FORCE
-
-mlx5_autoconf.h.new: $(RTE_SDK)/buildtools/auto-config-h.sh
-	$Q $(RM) -f -- '$@'
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_RELAXED_ORDERING \
-		infiniband/verbs.h \
-		enum IBV_ACCESS_RELAXED_ORDERING \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_DEVICE_STRIDING_RQ_SUPPORT \
-		infiniband/mlx5dv.h \
-		enum MLX5DV_CQE_RES_FORMAT_CSUM_STRIDX \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_DEVICE_TUNNEL_SUPPORT \
-		infiniband/mlx5dv.h \
-		enum MLX5DV_CONTEXT_MASK_TUNNEL_OFFLOADS \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_DEVICE_MPLS_SUPPORT \
-		infiniband/verbs.h \
-		enum IBV_FLOW_SPEC_MPLS \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_WQ_FLAGS_PCI_WRITE_END_PADDING \
-		infiniband/verbs.h \
-		enum IBV_WQ_FLAGS_PCI_WRITE_END_PADDING \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_WQ_FLAG_RX_END_PADDING \
-		infiniband/verbs.h \
-		enum IBV_WQ_FLAG_RX_END_PADDING \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_MLX5_MOD_SWP \
-		infiniband/mlx5dv.h \
-		type 'struct mlx5dv_sw_parsing_caps' \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_MLX5_MOD_MPW \
-		infiniband/mlx5dv.h \
-		enum MLX5DV_CONTEXT_FLAGS_MPW_ALLOWED \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_MLX5_MOD_CQE_128B_COMP \
-		infiniband/mlx5dv.h \
-		enum MLX5DV_CONTEXT_FLAGS_CQE_128B_COMP \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_MLX5_MOD_CQE_128B_PAD \
-		infiniband/mlx5dv.h \
-		enum MLX5DV_CQ_INIT_ATTR_FLAGS_CQE_PAD \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_FLOW_DV_SUPPORT \
-		infiniband/mlx5dv.h \
-		func mlx5dv_create_flow_action_packet_reformat \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_MLX5DV_DR \
-		infiniband/mlx5dv.h \
-		enum MLX5DV_DR_DOMAIN_TYPE_NIC_RX \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_MLX5DV_DR_ESWITCH \
-		infiniband/mlx5dv.h \
-		enum MLX5DV_DR_DOMAIN_TYPE_FDB \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_MLX5DV_DR_VLAN \
-		infiniband/mlx5dv.h \
-		func mlx5dv_dr_action_create_push_vlan \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_MLX5DV_DR_DEVX_PORT \
-		infiniband/mlx5dv.h \
-		func mlx5dv_query_devx_port \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_DEVX_OBJ \
-		infiniband/mlx5dv.h \
-		func mlx5dv_devx_obj_create \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_FLOW_DEVX_COUNTERS \
-		infiniband/mlx5dv.h \
-		enum MLX5DV_FLOW_ACTION_COUNTERS_DEVX \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_MLX5_DR_CREATE_ACTION_DEFAULT_MISS \
-		infiniband/mlx5dv.h \
-		enum MLX5DV_FLOW_ACTION_DEFAULT_MISS \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_DEVX_ASYNC \
-		infiniband/mlx5dv.h \
-		func mlx5dv_devx_obj_query_async \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_DEVX_QP \
-		infiniband/mlx5dv.h \
-		func mlx5dv_devx_qp_query \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_MLX5DV_DEVX_UAR_OFFSET \
-		infiniband/mlx5dv.h \
-		field "struct mlx5dv_devx_uar.mmap_off" \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_MLX5DV_PP_ALLOC \
-		infiniband/mlx5dv.h \
-		func mlx5dv_pp_alloc \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_MLX5DV_DR_ACTION_DEST_DEVX_TIR \
-		infiniband/mlx5dv.h \
-		func mlx5dv_dr_action_create_dest_devx_tir \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_DEVX_EVENT \
-		infiniband/mlx5dv.h \
-		func mlx5dv_devx_get_event \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_MLX5_DR_CREATE_ACTION_FLOW_METER \
-		infiniband/mlx5dv.h \
-		func mlx5dv_dr_action_create_flow_meter \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_MLX5_DR_FLOW_DUMP \
-		infiniband/mlx5dv.h \
-		func mlx5dv_dump_dr_domain \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_MLX5DV_MMAP_GET_NC_PAGES_CMD \
-		infiniband/mlx5dv.h \
-		enum MLX5_MMAP_GET_NC_PAGES_CMD \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_VAR \
-		infiniband/mlx5dv.h \
-		func mlx5dv_alloc_var \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_MLX5DV_DR_MEM_RECLAIM \
-		infiniband/mlx5dv.h \
-		func mlx5dv_dr_domain_set_reclaim_device_memory \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_MLX5_OPCODE_ENHANCED_MPSW \
-		infiniband/mlx5dv.h \
-		enum MLX5_OPCODE_ENHANCED_MPSW \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_MLX5_OPCODE_SEND_EN \
-		infiniband/mlx5dv.h \
-		enum MLX5_OPCODE_SEND_EN \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_MLX5_OPCODE_WAIT \
-		infiniband/mlx5dv.h \
-		enum MLX5_OPCODE_WAIT \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_ETHTOOL_LINK_MODE_25G \
-		/usr/include/linux/ethtool.h \
-		enum ETHTOOL_LINK_MODE_25000baseCR_Full_BIT \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_ETHTOOL_LINK_MODE_50G \
-		/usr/include/linux/ethtool.h \
-		enum ETHTOOL_LINK_MODE_50000baseCR2_Full_BIT \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_ETHTOOL_LINK_MODE_100G \
-		/usr/include/linux/ethtool.h \
-		enum ETHTOOL_LINK_MODE_100000baseKR4_Full_BIT \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_DEVICE_COUNTERS_SET_V42 \
-		infiniband/verbs.h \
-		type 'struct ibv_counter_set_init_attr' \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_DEVICE_COUNTERS_SET_V45 \
-		infiniband/verbs.h \
-		type 'struct ibv_counters_init_attr' \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_RDMA_NL_NLDEV \
-		rdma/rdma_netlink.h \
-		enum RDMA_NL_NLDEV \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_RDMA_NLDEV_CMD_GET \
-		rdma/rdma_netlink.h \
-		enum RDMA_NLDEV_CMD_GET \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_RDMA_NLDEV_CMD_PORT_GET \
-		rdma/rdma_netlink.h \
-		enum RDMA_NLDEV_CMD_PORT_GET \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_RDMA_NLDEV_ATTR_DEV_INDEX \
-		rdma/rdma_netlink.h \
-		enum RDMA_NLDEV_ATTR_DEV_INDEX \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_RDMA_NLDEV_ATTR_DEV_NAME \
-		rdma/rdma_netlink.h \
-		enum RDMA_NLDEV_ATTR_DEV_NAME \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_RDMA_NLDEV_ATTR_PORT_INDEX \
-		rdma/rdma_netlink.h \
-		enum RDMA_NLDEV_ATTR_PORT_INDEX \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_RDMA_NLDEV_ATTR_NDEV_INDEX \
-		rdma/rdma_netlink.h \
-		enum RDMA_NLDEV_ATTR_NDEV_INDEX \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IFLA_NUM_VF \
-		linux/if_link.h \
-		enum IFLA_NUM_VF \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IFLA_EXT_MASK \
-		linux/if_link.h \
-		enum IFLA_EXT_MASK \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IFLA_PHYS_SWITCH_ID \
-		linux/if_link.h \
-		enum IFLA_PHYS_SWITCH_ID \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IFLA_PHYS_PORT_NAME \
-		linux/if_link.h \
-		enum IFLA_PHYS_PORT_NAME \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_DEVLINK \
-		linux/devlink.h \
-		define DEVLINK_GENL_NAME \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_SUPPORTED_40000baseKR4_Full \
-		/usr/include/linux/ethtool.h \
-		define SUPPORTED_40000baseKR4_Full \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_SUPPORTED_40000baseCR4_Full \
-		/usr/include/linux/ethtool.h \
-		define SUPPORTED_40000baseCR4_Full \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_SUPPORTED_40000baseSR4_Full \
-		/usr/include/linux/ethtool.h \
-		define SUPPORTED_40000baseSR4_Full \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_SUPPORTED_40000baseLR4_Full \
-		/usr/include/linux/ethtool.h \
-		define SUPPORTED_40000baseLR4_Full \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_SUPPORTED_56000baseKR4_Full \
-		/usr/include/linux/ethtool.h \
-		define SUPPORTED_56000baseKR4_Full \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_SUPPORTED_56000baseCR4_Full \
-		/usr/include/linux/ethtool.h \
-		define SUPPORTED_56000baseCR4_Full \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_SUPPORTED_56000baseSR4_Full \
-		/usr/include/linux/ethtool.h \
-		define SUPPORTED_56000baseSR4_Full \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_SUPPORTED_56000baseLR4_Full \
-		/usr/include/linux/ethtool.h \
-		define SUPPORTED_56000baseLR4_Full \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_STATIC_ASSERT \
-		/usr/include/assert.h \
-		define static_assert \
-		$(AUTOCONF_OUTPUT)
-
-# Create mlx5_autoconf.h or update it in case it differs from the new one.
-
-mlx5_autoconf.h: mlx5_autoconf.h.new
-	$Q [ -f '$@' ] && \
-		cmp '$<' '$@' $(AUTOCONF_OUTPUT) || \
-		mv '$<' '$@'
-
-ifeq ($(findstring y,$(CONFIG_RTE_LIBRTE_MLX5_PMD)$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD)),y)
-$(SRCS-y:.c=.o): mlx5_autoconf.h
-endif
-
-# Generate dependency plug-in for rdma-core when the PMD must not be linked
-# directly, so that applications do not inherit this dependency.
-
-ifeq ($(CONFIG_RTE_IBVERBS_LINK_DLOPEN),y)
-
-$(LIB): $(LIB_GLUE)
-
-ifeq ($(LINK_USING_CC),1)
-GLUE_LDFLAGS := $(call linkerprefix,$(LDFLAGS))
-else
-GLUE_LDFLAGS := $(LDFLAGS)
-endif
-$(LIB_GLUE): linux/mlx5_glue.o
-	$Q $(LD) $(GLUE_LDFLAGS) $(EXTRA_LDFLAGS) \
-		-Wl,-h,$(LIB_GLUE) \
-		-shared -o $@ $< -libverbs -lmlx5
-
-linux/mlx5_glue.o: mlx5_autoconf.h
-
-endif
-
-clean_mlx5: FORCE
-	$Q rm -f -- mlx5_autoconf.h mlx5_autoconf.h.new
-	$Q rm -f -- linux/mlx5_glue.o $(LIB_GLUE_BASE)*
-
-clean: clean_mlx5
diff --git a/drivers/common/mvep/Makefile b/drivers/common/mvep/Makefile
deleted file mode 100644
index f91d295e5c..0000000000
--- a/drivers/common/mvep/Makefile
+++ /dev/null
@@ -1,35 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Marvell International Ltd.
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-ifneq ($(MAKECMDGOALS),clean)
-ifneq ($(MAKECMDGOALS),config)
-ifeq ($(LIBMUSDK_PATH),)
-$(error "Please define LIBMUSDK_PATH environment variable")
-endif
-endif
-endif
-
-# library name
-LIB = librte_common_mvep.a
-
-# versioning export map
-EXPORT_MAP := rte_common_mvep_version.map
-
-# external library dependencies
-CFLAGS += -I$($RTE_SDK)/drivers/common/mvep
-CFLAGS += -I$(LIBMUSDK_PATH)/include
-CFLAGS += -DMVCONF_TYPES_PUBLIC
-CFLAGS += -DMVCONF_DMA_PHYS_ADDR_T_PUBLIC
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -O3
-LDLIBS += -L$(LIBMUSDK_PATH)/lib
-LDLIBS += -lmusdk
-LDLIBS += -lrte_eal -lrte_kvargs
-
-# library source files
-SRCS-y += mvep_common.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/common/octeontx/Makefile b/drivers/common/octeontx/Makefile
deleted file mode 100644
index 5e67df0583..0000000000
--- a/drivers/common/octeontx/Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Cavium, Inc
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_common_octeontx.a
-
-CFLAGS += $(WERROR_FLAGS)
-EXPORT_MAP := rte_common_octeontx_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-y += octeontx_mbox.c
-
-LDLIBS += -lrte_eal
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/common/octeontx2/Makefile b/drivers/common/octeontx2/Makefile
deleted file mode 100644
index 260da8dd3e..0000000000
--- a/drivers/common/octeontx2/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(C) 2019 Marvell International Ltd.
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_common_octeontx2.a
-
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx2
-CFLAGS += -I$(RTE_SDK)/drivers/mempool/octeontx2
-CFLAGS += -I$(RTE_SDK)/drivers/bus/pci
-
-ifneq ($(CONFIG_RTE_ARCH_64),y)
-CFLAGS += -Wno-int-to-pointer-cast
-CFLAGS += -Wno-pointer-to-int-cast
-ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS += -diag-disable 2259
-endif
-endif
-
-EXPORT_MAP := rte_common_octeontx2_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-y += otx2_dev.c
-SRCS-y += otx2_irq.c
-SRCS-y += otx2_mbox.c
-SRCS-y += otx2_common.c
-SRCS-y += otx2_sec_idev.c
-
-LDLIBS += -lrte_eal
-LDLIBS += -lrte_ethdev -lrte_kvargs
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/common/qat/Makefile b/drivers/common/qat/Makefile
deleted file mode 100644
index 85d4207099..0000000000
--- a/drivers/common/qat/Makefile
+++ /dev/null
@@ -1,74 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2015-2018 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# build directories
-QAT_CRYPTO_DIR := $(RTE_SDK)/drivers/crypto/qat
-QAT_COMPRESS_DIR := $(RTE_SDK)/drivers/compress/qat
-VPATH=$(QAT_CRYPTO_DIR):$(QAT_COMPRESS_DIR)
-
-# external library include paths
-CFLAGS += -I$(SRCDIR)/qat_adf
-CFLAGS += -I$(SRCDIR)
-CFLAGS += -I$(QAT_CRYPTO_DIR)
-CFLAGS += -I$(QAT_COMPRESS_DIR)
-
-
-ifeq ($(CONFIG_RTE_LIBRTE_COMPRESSDEV),y)
-	LDLIBS += -lrte_compressdev
-	SRCS-y += qat_comp.c
-	SRCS-y += qat_comp_pmd.c
-	build_qat = yes
-endif
-
-# library symmetric crypto source files
-ifeq ($(CONFIG_RTE_LIBRTE_CRYPTODEV),y)
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_QAT_ASYM),y)
-	LDLIBS += -lrte_cryptodev
-	LDLIBS += -lcrypto
-	CFLAGS += -DBUILD_QAT_ASYM
-	SRCS-y += qat_asym.c
-	SRCS-y += qat_asym_pmd.c
-	build_qat = yes
-endif
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_QAT_SYM),y)
-	LDLIBS += -lrte_cryptodev
-	LDLIBS += -lcrypto
-ifeq ($(CONFIG_RTE_LIBRTE_SECURITY),y)
-	LDLIBS += -lrte_net
-endif
-	CFLAGS += -DBUILD_QAT_SYM
-	SRCS-y += qat_sym.c
-	SRCS-y += qat_sym_session.c
-	SRCS-y += qat_sym_pmd.c
-	build_qat = yes
-endif
-endif
-
-ifdef build_qat
-
-	# library name
-	LIB = librte_pmd_qat.a
-
-	# build flags
-	CFLAGS += $(WERROR_FLAGS)
-	CFLAGS += -O3
-
-	# library common source files
-	SRCS-y += qat_device.c
-	SRCS-y += qat_common.c
-	SRCS-y += qat_logs.c
-	SRCS-y += qat_qp.c
-
-	LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool
-	LDLIBS += -lrte_pci -lrte_bus_pci
-
-	# export include files
-	SYMLINK-y-include +=
-
-	# versioning export map
-	EXPORT_MAP := ../../compress/qat/rte_pmd_qat_version.map
-endif
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/compress/Makefile b/drivers/compress/Makefile
deleted file mode 100644
index 286ea6ee84..0000000000
--- a/drivers/compress/Makefile
+++ /dev/null
@@ -1,10 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_ISAL) += isal
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_ZIPVF) += octeontx
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_ZLIB) += zlib
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/drivers/compress/isal/Makefile b/drivers/compress/isal/Makefile
deleted file mode 100644
index 1e225ab434..0000000000
--- a/drivers/compress/isal/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_isal_comp.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-# external library dependencies
-LDLIBS += -lisal
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_compressdev
-LDLIBS += -lrte_bus_vdev
-
-# versioning export map
-EXPORT_MAP := rte_pmd_isal_version.map
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_ISAL) += isal_compress_pmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_ISAL) += isal_compress_pmd_ops.c
-
-# export include files
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/compress/octeontx/Makefile b/drivers/compress/octeontx/Makefile
deleted file mode 100644
index 9ba1db791e..0000000000
--- a/drivers/compress/octeontx/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Cavium, Inc
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_octeontx_zip.a
-
-# build flags
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -O3
-CFLAGS += -I$(RTE_SDK)/drivers/compress/octeontx/include
-
-# external library include paths
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_compressdev
-LDLIBS += -lrte_pci -lrte_bus_pci
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_ZIPVF) += otx_zip_pmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_ZIPVF) += otx_zip.c
-
-# versioning export map
-EXPORT_MAP := rte_pmd_octeontx_compress_version.map
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/compress/zlib/Makefile b/drivers/compress/zlib/Makefile
deleted file mode 100644
index 9f695f7d9a..0000000000
--- a/drivers/compress/zlib/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Cavium Networks
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_zlib.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-# versioning export map
-EXPORT_MAP := rte_pmd_zlib_version.map
-
-# external library dependencies
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring -lz
-LDLIBS += -lrte_compressdev
-LDLIBS += -lrte_bus_vdev
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_ZLIB) += zlib_pmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_ZLIB) += zlib_pmd_ops.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/Makefile b/drivers/crypto/Makefile
deleted file mode 100644
index 47a2a9e794..0000000000
--- a/drivers/crypto/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_GCM) += aesni_gcm
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB) += aesni_mb
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO) += armv8
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_CCP) += ccp
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_CRYPTO) += octeontx
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO) += octeontx2
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_OPENSSL) += openssl
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += scheduler
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_SNOW3G) += snow3g
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_KASUMI) += kasumi
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_ZUC) += zuc
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_MVSAM_CRYPTO) += mvsam
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_NULL_CRYPTO) += null
-ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC) += dpaa2_sec
-endif # CONFIG_RTE_LIBRTE_FSLMC_BUS
-ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_SEC) += dpaa_sec
-endif # CONFIG_RTE_LIBRTE_PMD_DPAA_SEC
-ifeq ($(CONFIG_RTE_LIBRTE_SECURITY),y)
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_CAAM_JR) += caam_jr
-endif # CONFIG_RTE_LIBRTE_SECURITY
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_VIRTIO_CRYPTO) += virtio
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_NITROX) += nitrox
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/drivers/crypto/aesni_gcm/Makefile b/drivers/crypto/aesni_gcm/Makefile
deleted file mode 100644
index 01cb4fddfe..0000000000
--- a/drivers/crypto/aesni_gcm/Makefile
+++ /dev/null
@@ -1,43 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016-2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_aesni_gcm.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-# versioning export map
-EXPORT_MAP := rte_pmd_aesni_gcm_version.map
-
-# external library dependencies
-LDLIBS += -lIPSec_MB
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_cryptodev
-LDLIBS += -lrte_bus_vdev
-
-H := \#
-IMB_HDR = $(shell echo '$Hinclude <intel-ipsec-mb.h>' | \
-	$(CC) -E $(EXTRA_CFLAGS) - | grep 'intel-ipsec-mb.h' | \
-	head -n1 | cut -d'"' -f2)
-
-# Detect library version
-IMB_VERSION = $(shell grep -e "IMB_VERSION_STR" $(IMB_HDR) | cut -d'"' -f2)
-IMB_VERSION_NUM = $(shell grep -e "IMB_VERSION_NUM" $(IMB_HDR) | cut -d' ' -f3)
-
-ifeq ($(IMB_VERSION),)
-$(error "IPSec_MB version >= 0.52 is required")
-endif
-
-ifeq ($(shell expr $(IMB_VERSION_NUM) \< 0x3400), 1)
-$(error "IPSec_MB version >= 0.52 is required")
-endif
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_GCM) += aesni_gcm_pmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_GCM) += aesni_gcm_pmd_ops.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/aesni_mb/Makefile b/drivers/crypto/aesni_mb/Makefile
deleted file mode 100644
index f0dc82f395..0000000000
--- a/drivers/crypto/aesni_mb/Makefile
+++ /dev/null
@@ -1,42 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2015-2018 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_aesni_mb.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-# versioning export map
-EXPORT_MAP := rte_pmd_aesni_mb_version.map
-
-# external library dependencies
-LDLIBS += -lIPSec_MB
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_cryptodev
-LDLIBS += -lrte_bus_vdev
-
-H := \#
-IMB_HDR = $(shell echo '$Hinclude <intel-ipsec-mb.h>' | \
-	$(CC) -E $(EXTRA_CFLAGS) - | grep 'intel-ipsec-mb.h' | \
-	head -n1 | cut -d'"' -f2)
-
-# Detect library version
-IMB_VERSION = $(shell grep -e "IMB_VERSION_STR" $(IMB_HDR) | cut -d'"' -f2)
-IMB_VERSION_NUM = $(shell grep -e "IMB_VERSION_NUM" $(IMB_HDR) | cut -d' ' -f3)
-
-ifeq ($(IMB_VERSION),)
-$(error "IPSec_MB version >= 0.52 is required")
-endif
-
-ifeq ($(shell expr $(IMB_VERSION_NUM) \< 0x3400), 1)
-$(error "IPSec_MB version >= 0.52 is required")
-endif
-
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB) += rte_aesni_mb_pmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB) += rte_aesni_mb_pmd_ops.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/armv8/Makefile b/drivers/crypto/armv8/Makefile
deleted file mode 100644
index 0e3bc9fb70..0000000000
--- a/drivers/crypto/armv8/Makefile
+++ /dev/null
@@ -1,36 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Cavium, Inc
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-ifneq ($(MAKECMDGOALS),clean)
-ifneq ($(MAKECMDGOALS),config)
-ifeq ($(ARMV8_CRYPTO_LIB_PATH),)
-$(error "Please define ARMV8_CRYPTO_LIB_PATH environment variable")
-endif
-endif
-endif
-
-# library name
-LIB = librte_pmd_armv8.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-# versioning export map
-EXPORT_MAP := rte_pmd_armv8_version.map
-
-# external library dependencies
-CFLAGS += -I$(ARMV8_CRYPTO_LIB_PATH)
-LDLIBS += -L$(ARMV8_CRYPTO_LIB_PATH) -lAArch64crypto
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_cryptodev
-LDLIBS += -lrte_bus_vdev
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO) += rte_armv8_pmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO) += rte_armv8_pmd_ops.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/caam_jr/Makefile b/drivers/crypto/caam_jr/Makefile
deleted file mode 100644
index 89d3238172..0000000000
--- a/drivers/crypto/caam_jr/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2017 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_caam_jr.a
-
-# build flags
-CFLAGS += -D _GNU_SOURCE
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa/include
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax/caamflib/
-CFLAGS += -I$(RTE_SDK)/drivers/crypto/caam_jr
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
-
-# versioning export map
-EXPORT_MAP := rte_pmd_caam_jr_version.map
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CAAM_JR) += caam_jr.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CAAM_JR) += caam_jr_capabilities.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CAAM_JR) += caam_jr_hw.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CAAM_JR) += caam_jr_uio.c
-# library dependencies
-
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_cryptodev
-LDLIBS += -lrte_bus_dpaa
-LDLIBS += -lrte_bus_vdev
-LDLIBS += -lrte_common_dpaax
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/ccp/Makefile b/drivers/crypto/ccp/Makefile
deleted file mode 100644
index 3f5da2adf3..0000000000
--- a/drivers/crypto/ccp/Makefile
+++ /dev/null
@@ -1,32 +0,0 @@
-#   SPDX-License-Identifier: BSD-3-Clause
-#   Copyright(c) 2018 Advanced Micro Devices, Inc. All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_ccp.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += -I$(SRCDIR)
-CFLAGS += $(WERROR_FLAGS)
-
-# external library include paths
-LDLIBS += -lcrypto
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_cryptodev
-LDLIBS += -lrte_pci -lrte_bus_pci
-LDLIBS += -lrte_bus_vdev
-LDLIBS += -lrte_kvargs
-
-# versioning export map
-EXPORT_MAP := rte_pmd_ccp_version.map
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CCP) += rte_ccp_pmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CCP) += ccp_crypto.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CCP) += ccp_dev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CCP) += ccp_pci.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CCP) += ccp_pmd_ops.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/dpaa2_sec/Makefile b/drivers/crypto/dpaa2_sec/Makefile
deleted file mode 100644
index a0a2795575..0000000000
--- a/drivers/crypto/dpaa2_sec/Makefile
+++ /dev/null
@@ -1,45 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright (c) 2016 Freescale Semiconductor, Inc. All rights reserved.
-# Copyright 2016 NXP
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-#
-# library name
-#
-LIB = librte_pmd_dpaa2_sec.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
-ifeq ($(shell test $(GCC_VERSION) -gt 70 && echo 1), 1)
-CFLAGS += -Wno-implicit-fallthrough
-endif
-endif
-
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax/caamflib
-CFLAGS += -I$(RTE_SDK)/drivers/crypto/dpaa2_sec/
-CFLAGS += -I$(RTE_SDK)/drivers/crypto/dpaa2_sec/mc
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/qbman/include
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/mc
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/portal
-CFLAGS += -I$(RTE_SDK)/drivers/mempool/dpaa2/
-
-# versioning export map
-EXPORT_MAP := rte_pmd_dpaa2_sec_version.map
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC) += dpaa2_sec_dpseci.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC) += mc/dpseci.c
-
-LDLIBS += -lrte_bus_fslmc
-LDLIBS += -lrte_mempool_dpaa2
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_cryptodev
-LDLIBS += -lrte_common_dpaax
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/dpaa_sec/Makefile b/drivers/crypto/dpaa_sec/Makefile
deleted file mode 100644
index ea266962a3..0000000000
--- a/drivers/crypto/dpaa_sec/Makefile
+++ /dev/null
@@ -1,38 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright (c) 2016 Freescale Semiconductor, Inc. All rights reserved.
-# Copyright 2017 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_dpaa_sec.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa
-CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa/include
-CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa/base/qbman
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-CFLAGS += -I$(RTE_SDK)/drivers/crypto/dpaa_sec/
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax/caamflib/
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_cryptodev
-
-# versioning export map
-EXPORT_MAP := rte_pmd_dpaa_sec_version.map
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_SEC) += dpaa_sec.c
-
-# library dependencies
-
-LDLIBS += -lrte_bus_dpaa
-LDLIBS += -lrte_mempool_dpaa
-LDLIBS += -lrte_common_dpaax
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/kasumi/Makefile b/drivers/crypto/kasumi/Makefile
deleted file mode 100644
index a7d0d079d2..0000000000
--- a/drivers/crypto/kasumi/Makefile
+++ /dev/null
@@ -1,42 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_kasumi.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-# versioning export map
-EXPORT_MAP := rte_pmd_kasumi_version.map
-
-# external library dependencies
-LDLIBS += -lIPSec_MB
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_cryptodev
-LDLIBS += -lrte_bus_vdev
-
-H := \#
-IMB_HDR = $(shell echo '$Hinclude <intel-ipsec-mb.h>' | \
-	$(CC) -E $(EXTRA_CFLAGS) - | grep 'intel-ipsec-mb.h' | \
-	head -n1 | cut -d'"' -f2)
-
-# Detect library version
-IMB_VERSION = $(shell grep -e "IMB_VERSION_STR" $(IMB_HDR) | cut -d'"' -f2)
-IMB_VERSION_NUM = $(shell grep -e "IMB_VERSION_NUM" $(IMB_HDR) | cut -d' ' -f3)
-
-ifeq ($(IMB_VERSION),)
-$(error "IPSec_MB version >= 0.53 is required")
-endif
-
-ifeq ($(shell expr $(IMB_VERSION_NUM) \< 0x3400), 1)
-$(error "IPSec_MB version >= 0.53 is required")
-endif
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_KASUMI) += rte_kasumi_pmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_KASUMI) += rte_kasumi_pmd_ops.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/mvsam/Makefile b/drivers/crypto/mvsam/Makefile
deleted file mode 100644
index f0641ae7d9..0000000000
--- a/drivers/crypto/mvsam/Makefile
+++ /dev/null
@@ -1,40 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Marvell International Ltd.
-# Copyright(c) 2017 Semihalf.
-# All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-ifneq ($(MAKECMDGOALS),clean)
-ifneq ($(MAKECMDGOALS),config)
-ifeq ($(LIBMUSDK_PATH),)
-$(error "Please define LIBMUSDK_PATH environment variable")
-endif
-endif
-endif
-
-# library name
-LIB = librte_pmd_mvsam_crypto.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/common/mvep
-CFLAGS += -I$(LIBMUSDK_PATH)/include
-CFLAGS += -DMVCONF_TYPES_PUBLIC
-CFLAGS += -DMVCONF_DMA_PHYS_ADDR_T_PUBLIC
-
-# versioning export map
-EXPORT_MAP := rte_pmd_mvsam_version.map
-
-# external library dependencies
-LDLIBS += -L$(LIBMUSDK_PATH)/lib -lmusdk
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_kvargs
-LDLIBS += -lrte_cryptodev
-LDLIBS += -lrte_bus_vdev -lrte_common_mvep
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_MVSAM_CRYPTO) += rte_mrvl_pmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_MVSAM_CRYPTO) += rte_mrvl_pmd_ops.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/nitrox/Makefile b/drivers/crypto/nitrox/Makefile
deleted file mode 100644
index 535121196b..0000000000
--- a/drivers/crypto/nitrox/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(C) 2019 Marvell International Ltd.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_nitrox.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-# versioning export map
-EXPORT_MAP := rte_pmd_nitrox_version.map
-
-# external library dependencies
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool
-LDLIBS += -lrte_pci -lrte_bus_pci
-LDLIBS += -lrte_cryptodev
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_NITROX) += nitrox_device.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_NITROX) += nitrox_hal.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_NITROX) += nitrox_logs.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_NITROX) += nitrox_sym.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_NITROX) += nitrox_sym_capabilities.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_NITROX) += nitrox_sym_reqmgr.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_NITROX) += nitrox_qp.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/null/Makefile b/drivers/crypto/null/Makefile
deleted file mode 100644
index 4595055f01..0000000000
--- a/drivers/crypto/null/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-
-# library name
-LIB = librte_pmd_null_crypto.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_cryptodev
-LDLIBS += -lrte_bus_vdev
-
-# versioning export map
-EXPORT_MAP := rte_pmd_null_crypto_version.map
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_NULL_CRYPTO) += null_crypto_pmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_NULL_CRYPTO) += null_crypto_pmd_ops.c
-
-# export include files
-SYMLINK-y-include +=
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/octeontx/Makefile b/drivers/crypto/octeontx/Makefile
deleted file mode 100644
index 296755ee90..0000000000
--- a/drivers/crypto/octeontx/Makefile
+++ /dev/null
@@ -1,36 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Cavium, Inc
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_octeontx_crypto.a
-
-# build flags
-CFLAGS += $(WERROR_FLAGS)
-
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_cryptodev
-LDLIBS += -lrte_pci -lrte_bus_pci
-LDLIBS += -lrte_common_cpt
-
-VPATH += $(RTE_SDK)/drivers/crypto/octeontx
-
-CFLAGS += -O3
-CFLAGS += -I$(RTE_SDK)/drivers/common/cpt
-
-# PMD code
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_CRYPTO) += otx_cryptodev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_CRYPTO) += otx_cryptodev_capabilities.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_CRYPTO) += otx_cryptodev_hw_access.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_CRYPTO) += otx_cryptodev_mbox.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_CRYPTO) += otx_cryptodev_ops.c
-
-# export include files
-SYMLINK-y-include +=
-
-# versioning export map
-EXPORT_MAP := rte_pmd_octeontx_crypto_version.map
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/octeontx2/Makefile b/drivers/crypto/octeontx2/Makefile
deleted file mode 100644
index 14152c6117..0000000000
--- a/drivers/crypto/octeontx2/Makefile
+++ /dev/null
@@ -1,49 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright (C) 2019 Marvell International Ltd.
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_octeontx2_crypto.a
-
-# build flags
-CFLAGS += $(WERROR_FLAGS)
-
-LDLIBS += -lrte_eal -lrte_ethdev -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_cryptodev -lrte_security
-LDLIBS += -lrte_pci -lrte_bus_pci
-LDLIBS += -lrte_common_cpt -lrte_common_octeontx2
-
-VPATH += $(RTE_SDK)/drivers/crypto/octeontx2
-
-CFLAGS += -O3
-CFLAGS += -I$(RTE_SDK)/drivers/common/cpt
-CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx2
-CFLAGS += -I$(RTE_SDK)/drivers/crypto/octeontx2
-CFLAGS += -I$(RTE_SDK)/drivers/mempool/octeontx2
-CFLAGS += -I$(RTE_SDK)/drivers/net/octeontx2
-
-ifneq ($(CONFIG_RTE_ARCH_64),y)
-CFLAGS += -Wno-int-to-pointer-cast
-CFLAGS += -Wno-pointer-to-int-cast
-ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS += -diag-disable 2259
-endif
-endif
-
-# PMD code
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO) += otx2_cryptodev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO) += otx2_cryptodev_capabilities.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO) += otx2_cryptodev_hw_access.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO) += otx2_cryptodev_mbox.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO) += otx2_cryptodev_ops.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO) += otx2_cryptodev_sec.c
-
-# export include files
-SYMLINK-y-include +=
-
-# versioning export map
-EXPORT_MAP := rte_pmd_octeontx2_crypto_version.map
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/openssl/Makefile b/drivers/crypto/openssl/Makefile
deleted file mode 100644
index b85c816551..0000000000
--- a/drivers/crypto/openssl/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_openssl.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-# versioning export map
-EXPORT_MAP := rte_pmd_openssl_version.map
-
-# external library dependencies
-LDLIBS += -lcrypto
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_cryptodev
-LDLIBS += -lrte_bus_vdev
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OPENSSL) += rte_openssl_pmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OPENSSL) += rte_openssl_pmd_ops.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/scheduler/Makefile b/drivers/crypto/scheduler/Makefile
deleted file mode 100644
index 67aac024c4..0000000000
--- a/drivers/crypto/scheduler/Makefile
+++ /dev/null
@@ -1,34 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_crypto_scheduler.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_cryptodev -lrte_kvargs -lrte_reorder
-LDLIBS += -lrte_bus_vdev
-
-# versioning export map
-EXPORT_MAP := rte_pmd_crypto_scheduler_version.map
-
-#
-# Export include files
-#
-SYMLINK-y-include += rte_cryptodev_scheduler_operations.h
-SYMLINK-y-include += rte_cryptodev_scheduler.h
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += scheduler_pmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += scheduler_pmd_ops.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += rte_cryptodev_scheduler.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += scheduler_roundrobin.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += scheduler_pkt_size_distr.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += scheduler_failover.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += scheduler_multicore.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/snow3g/Makefile b/drivers/crypto/snow3g/Makefile
deleted file mode 100644
index 469aefaa56..0000000000
--- a/drivers/crypto/snow3g/Makefile
+++ /dev/null
@@ -1,43 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016-2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_snow3g.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-# versioning export map
-EXPORT_MAP := rte_pmd_snow3g_version.map
-
-# external library dependencies
-LDLIBS += -lIPSec_MB
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_cryptodev
-LDLIBS += -lrte_bus_vdev
-
-H := \#
-IMB_HDR = $(shell echo '$Hinclude <intel-ipsec-mb.h>' | \
-	$(CC) -E $(EXTRA_CFLAGS) - | grep 'intel-ipsec-mb.h' | \
-	head -n1 | cut -d'"' -f2)
-
-# Detect library version
-IMB_VERSION = $(shell grep -e "IMB_VERSION_STR" $(IMB_HDR) | cut -d'"' -f2)
-IMB_VERSION_NUM = $(shell grep -e "IMB_VERSION_NUM" $(IMB_HDR) | cut -d' ' -f3)
-
-ifeq ($(IMB_VERSION),)
-$(error "IPSec_MB version >= 0.53 is required")
-endif
-
-ifeq ($(shell expr $(IMB_VERSION_NUM) \< 0x3400), 1)
-$(error "IPSec_MB version >= 0.53 is required")
-endif
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SNOW3G) += rte_snow3g_pmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SNOW3G) += rte_snow3g_pmd_ops.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/virtio/Makefile b/drivers/crypto/virtio/Makefile
deleted file mode 100644
index 32e2e4d5e9..0000000000
--- a/drivers/crypto/virtio/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 HUAWEI TECHNOLOGIES CO., LTD.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_virtio_crypto.a
-
-#
-# include virtio_crypto.h
-#
-CFLAGS += -I$(RTE_SDK)/lib/librte_vhost
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-EXPORT_MAP := rte_pmd_virtio_crypto_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_VIRTIO_CRYPTO) += virtqueue.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_VIRTIO_CRYPTO) += virtio_pci.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_VIRTIO_CRYPTO) += virtio_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_VIRTIO_CRYPTO) += virtio_cryptodev.c
-
-# this lib depends upon:
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool
-LDLIBS += -lrte_cryptodev
-LDLIBS += -lrte_pci -lrte_bus_pci
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/zuc/Makefile b/drivers/crypto/zuc/Makefile
deleted file mode 100644
index 529b47f25e..0000000000
--- a/drivers/crypto/zuc/Makefile
+++ /dev/null
@@ -1,42 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016-2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_zuc.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-# versioning export map
-EXPORT_MAP := rte_pmd_zuc_version.map
-
-# external library dependencies
-LDLIBS += -lIPSec_MB
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_cryptodev
-LDLIBS += -lrte_bus_vdev
-
-H := \#
-IMB_HDR = $(shell echo '$Hinclude <intel-ipsec-mb.h>' | \
-	$(CC) -E $(EXTRA_CFLAGS) - | grep 'intel-ipsec-mb.h' | \
-	head -n1 | cut -d'"' -f2)
-
-# Detect library version
-IMB_VERSION = $(shell grep -e "IMB_VERSION_STR" $(IMB_HDR) | cut -d'"' -f2)
-IMB_VERSION_NUM = $(shell grep -e "IMB_VERSION_NUM" $(IMB_HDR) | cut -d' ' -f3)
-
-ifeq ($(IMB_VERSION),)
-$(error "IPSec_MB version >= 0.53 is required")
-endif
-
-ifeq ($(shell expr $(IMB_VERSION_NUM) \< 0x3400), 1)
-$(error "IPSec_MB version >= 0.53 is required")
-endif
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_ZUC) += rte_zuc_pmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_ZUC) += rte_zuc_pmd_ops.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/event/Makefile b/drivers/event/Makefile
deleted file mode 100644
index 86be41b9eb..0000000000
--- a/drivers/event/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016 Cavium, Inc
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_SKELETON_EVENTDEV) += skeleton
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_SW_EVENTDEV) += sw
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_DSW_EVENTDEV) += dsw
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += octeontx
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV) += octeontx2
-ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_EVENTDEV) += dpaa
-endif
-ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_EVENTDEV) += dpaa2
-endif
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV) += opdl
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/drivers/event/dpaa/Makefile b/drivers/event/dpaa/Makefile
deleted file mode 100644
index a39dc27c62..0000000000
--- a/drivers/event/dpaa/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-#   SPDX-License-Identifier:        BSD-3-Clause
-#   Copyright 2017 NXP
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-RTE_SDK_DPAA=$(RTE_SDK)/drivers/net/dpaa
-
-#
-# library name
-#
-LIB = librte_pmd_dpaa_event.a
-
-CFLAGS := -I$(SRCDIR) $(CFLAGS)
-CFLAGS += -O3 $(WERROR_FLAGS)
-CFLAGS += -Wno-pointer-arith
-CFLAGS += -I$(RTE_SDK_DPAA)/
-CFLAGS += -I$(RTE_SDK_DPAA)/include
-CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa
-CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa/include/
-CFLAGS += -I$(RTE_SDK)/drivers/mempool/dpaa
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
-
-LDLIBS += -lrte_pmd_dpaa_sec
-CFLAGS += -I$(RTE_SDK)/drivers/crypto/dpaa_sec
-
-EXPORT_MAP := rte_pmd_dpaa_event_version.map
-
-# Interfaces with DPDK
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_EVENTDEV) += dpaa_eventdev.c
-
-LDLIBS += -lrte_bus_dpaa
-LDLIBS += -lrte_mempool_dpaa
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_eventdev -lrte_pmd_dpaa -lrte_bus_vdev
-LDLIBS += -lrte_common_dpaax
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/event/dpaa2/Makefile b/drivers/event/dpaa2/Makefile
deleted file mode 100644
index 75cf197c5c..0000000000
--- a/drivers/event/dpaa2/Makefile
+++ /dev/null
@@ -1,41 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2017,2019 NXP
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_dpaa2_event.a
-
-CFLAGS += $(WERROR_FLAGS)
-
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/qbman/include
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/mc
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/portal
-CFLAGS += -I$(RTE_SDK)/drivers/mempool/dpaa2
-CFLAGS += -I$(RTE_SDK)/drivers/event/dpaa2
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-LDLIBS += -lrte_eal -lrte_eventdev
-LDLIBS += -lrte_common_dpaax
-LDLIBS += -lrte_bus_fslmc -lrte_mempool_dpaa2 -lrte_pmd_dpaa2
-LDLIBS += -lrte_bus_vdev -lrte_mempool -lrte_mbuf -lrte_ethdev
-CFLAGS += -I$(RTE_SDK)/drivers/net/dpaa2
-CFLAGS += -I$(RTE_SDK)/drivers/net/dpaa2/mc
-
-LDLIBS += -lrte_pmd_dpaa2_sec
-CFLAGS += -I$(RTE_SDK)/drivers/crypto/dpaa2_sec
-
-# versioning export map
-EXPORT_MAP := rte_pmd_dpaa2_event_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_EVENTDEV) += dpaa2_hw_dpcon.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_EVENTDEV) += dpaa2_eventdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_EVENTDEV) += dpaa2_eventdev_selftest.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/event/dsw/Makefile b/drivers/event/dsw/Makefile
deleted file mode 100644
index f6e7dda1fd..0000000000
--- a/drivers/event/dsw/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Ericsson AB
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-LIB = librte_pmd_dsw_event.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-ifneq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS += -Wno-format-nonliteral
-endif
-
-LDLIBS += -lrte_eal
-LDLIBS += -lrte_mbuf
-LDLIBS += -lrte_mempool
-LDLIBS += -lrte_ring
-LDLIBS += -lrte_eventdev
-LDLIBS += -lrte_bus_vdev
-
-EXPORT_MAP := rte_pmd_dsw_event_version.map
-
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_DSW_EVENTDEV) += \
-	dsw_evdev.c dsw_event.c dsw_xstats.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/event/octeontx/Makefile b/drivers/event/octeontx/Makefile
deleted file mode 100644
index c1233e098d..0000000000
--- a/drivers/event/octeontx/Makefile
+++ /dev/null
@@ -1,51 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Cavium, Inc
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_octeontx_ssovf.a
-
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx/
-CFLAGS += -I$(RTE_SDK)/drivers/mempool/octeontx/
-CFLAGS += -I$(RTE_SDK)/drivers/net/octeontx/
-
-LDLIBS += -lrte_eal -lrte_eventdev -lrte_common_octeontx -lrte_pmd_octeontx
-LDLIBS += -lrte_bus_pci -lrte_mempool -lrte_mbuf -lrte_kvargs
-LDLIBS += -lrte_bus_vdev -lrte_ethdev
-
-EXPORT_MAP := rte_pmd_octeontx_event_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += ssovf_worker.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += ssovf_evdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += ssovf_evdev_selftest.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += ssovf_probe.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += timvf_worker.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += timvf_evdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += timvf_probe.c
-
-ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
-CFLAGS_ssovf_worker.o += -fno-prefetch-loop-arrays
-CFLAGS_timvf_worker.o += -fno-prefetch-loop-arrays
-
-ifeq ($(shell test $(GCC_VERSION) -ge 46 && echo 1), 1)
-CFLAGS_ssovf_worker.o += -Ofast
-CFLAGS_timvf_worker.o += -Ofast
-else
-CFLAGS_ssovf_worker.o += -O3 -ffast-math
-CFLAGS_timvf_worker.o += -O3 -ffast-math
-endif
-
-else
-CFLAGS_ssovf_worker.o += -Ofast
-CFLAGS_timvf_worker.o += -Ofast
-endif
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/event/octeontx2/Makefile b/drivers/event/octeontx2/Makefile
deleted file mode 100644
index 9d67b00c69..0000000000
--- a/drivers/event/octeontx2/Makefile
+++ /dev/null
@@ -1,47 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(C) 2019 Marvell International Ltd.
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_octeontx2_event.a
-
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx2
-CFLAGS += -I$(RTE_SDK)/drivers/crypto/octeontx2
-CFLAGS += -I$(RTE_SDK)/drivers/mempool/octeontx2
-CFLAGS += -I$(RTE_SDK)/drivers/event/octeontx2
-CFLAGS += -I$(RTE_SDK)/drivers/net/octeontx2
-CFLAGS += -O3
-
-ifneq ($(CONFIG_RTE_ARCH_64),y)
-CFLAGS += -Wno-int-to-pointer-cast
-CFLAGS += -Wno-pointer-to-int-cast
-ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS += -diag-disable 2259
-endif
-endif
-
-EXPORT_MAP := rte_pmd_octeontx2_event_version.map
-
-#
-# all source are stored in SRCS-y
-#
-
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV) += otx2_worker_dual.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV) += otx2_worker.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV) += otx2_tim_worker.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV) += otx2_evdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV) += otx2_evdev_adptr.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV) += otx2_tim_evdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV) += otx2_evdev_selftest.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV) += otx2_evdev_irq.c
-
-LDLIBS += -lrte_eal -lrte_bus_pci -lrte_pci -lrte_kvargs
-LDLIBS += -lrte_mempool -lrte_eventdev -lrte_mbuf -lrte_ethdev
-LDLIBS += -lrte_common_octeontx2 -lrte_mempool_octeontx2
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/event/opdl/Makefile b/drivers/event/opdl/Makefile
deleted file mode 100644
index 71713b00ae..0000000000
--- a/drivers/event/opdl/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_opdl_event.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-LDLIBS += -lrte_eal -lrte_eventdev -lrte_kvargs
-LDLIBS += -lrte_bus_vdev -lrte_mbuf -lrte_mempool
-
-# versioning export map
-EXPORT_MAP := rte_pmd_opdl_event_version.map
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV) += opdl_ring.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV) += opdl_evdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV) += opdl_evdev_init.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV) += opdl_evdev_xstats.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV) += opdl_test.c
-
-# export include files
-SYMLINK-y-include +=
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/event/skeleton/Makefile b/drivers/event/skeleton/Makefile
deleted file mode 100644
index dc85ad3c4b..0000000000
--- a/drivers/event/skeleton/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016 Cavium, Inc
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_skeleton_event.a
-
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_eventdev
-LDLIBS += -lrte_pci -lrte_bus_pci
-LDLIBS += -lrte_bus_vdev
-
-EXPORT_MAP := rte_pmd_skeleton_event_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SKELETON_EVENTDEV) += skeleton_eventdev.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/event/sw/Makefile b/drivers/event/sw/Makefile
deleted file mode 100644
index 8ea5cceb8b..0000000000
--- a/drivers/event/sw/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016-2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_sw_event.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_eventdev -lrte_kvargs -lrte_ring
-LDLIBS += -lrte_mempool -lrte_mbuf
-LDLIBS += -lrte_bus_vdev
-
-# versioning export map
-EXPORT_MAP := rte_pmd_sw_event_version.map
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SW_EVENTDEV) += sw_evdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SW_EVENTDEV) += sw_evdev_worker.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SW_EVENTDEV) += sw_evdev_scheduler.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SW_EVENTDEV) += sw_evdev_xstats.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SW_EVENTDEV) += sw_evdev_selftest.c
-
-# export include files
-SYMLINK-y-include +=
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/mempool/Makefile b/drivers/mempool/Makefile
deleted file mode 100644
index 29ef73bf44..0000000000
--- a/drivers/mempool/Makefile
+++ /dev/null
@@ -1,18 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2017 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-$(CONFIG_RTE_DRIVER_MEMPOOL_BUCKET) += bucket
-ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
-DIRS-$(CONFIG_RTE_LIBRTE_DPAA_MEMPOOL) += dpaa
-endif
-ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
-DIRS-$(CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL) += dpaa2
-endif
-DIRS-$(CONFIG_RTE_DRIVER_MEMPOOL_RING) += ring
-DIRS-$(CONFIG_RTE_DRIVER_MEMPOOL_STACK) += stack
-DIRS-$(CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL) += octeontx
-DIRS-$(CONFIG_RTE_LIBRTE_OCTEONTX2_MEMPOOL) += octeontx2
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/drivers/mempool/bucket/Makefile b/drivers/mempool/bucket/Makefile
deleted file mode 100644
index c766c35b2c..0000000000
--- a/drivers/mempool/bucket/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-#
-# Copyright (c) 2017-2018 Solarflare Communications Inc.
-# All rights reserved.
-#
-# This software was jointly developed between OKTET Labs (under contract
-# for Solarflare) and Solarflare Communications, Inc.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_mempool_bucket.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-LDLIBS += -lrte_eal -lrte_mempool -lrte_ring
-
-EXPORT_MAP := rte_mempool_bucket_version.map
-
-SRCS-$(CONFIG_RTE_DRIVER_MEMPOOL_BUCKET) += rte_mempool_bucket.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/mempool/dpaa/Makefile b/drivers/mempool/dpaa/Makefile
deleted file mode 100644
index 144969c627..0000000000
--- a/drivers/mempool/dpaa/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2016 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_mempool_dpaa.a
-
-CFLAGS := -I$(SRCDIR) $(CFLAGS)
-CFLAGS += -O3 $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa
-CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa/include/
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-CFLAGS += -I$(RTE_SDK)/drivers/mempool/dpaa
-CFLAGS += -I$(RTE_SDK)/lib/librte_mempool
-
-# versioning export map
-EXPORT_MAP := rte_mempool_dpaa_version.map
-
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_DPAA_MEMPOOL) += dpaa_mempool.c
-
-LDLIBS += -lrte_bus_dpaa
-LDLIBS += -lrte_eal -lrte_mempool -lrte_ring
-LDLIBS += -lrte_common_dpaax
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/mempool/dpaa2/Makefile b/drivers/mempool/dpaa2/Makefile
deleted file mode 100644
index 04db6d27de..0000000000
--- a/drivers/mempool/dpaa2/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2016 NXP
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_mempool_dpaa2.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/qbman/include
-
-# versioning export map
-EXPORT_MAP := rte_mempool_dpaa2_version.map
-
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL) += dpaa2_hw_mempool.c
-
-LDLIBS += -lrte_bus_fslmc
-LDLIBS += -lrte_eal -lrte_mempool -lrte_ring
-LDLIBS += -lrte_common_dpaax
-
-SYMLINK-$(CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL)-include := rte_dpaa2_mempool.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/mempool/octeontx/Makefile b/drivers/mempool/octeontx/Makefile
deleted file mode 100644
index 9c840620d9..0000000000
--- a/drivers/mempool/octeontx/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Cavium, Inc
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_mempool_octeontx.a
-
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx/
-
-EXPORT_MAP := rte_mempool_octeontx_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL) += octeontx_fpavf.c
-SRCS-$(CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL) += rte_mempool_octeontx.c
-
-ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
-CFLAGS_rte_mempool_octeontx.o += -fno-prefetch-loop-arrays
-
-ifeq ($(shell test $(GCC_VERSION) -ge 46 && echo 1), 1)
-CFLAGS_rte_mempool_octeontx.o += -Ofast
-else
-CFLAGS_rte_mempool_octeontx.o += -O3 -ffast-math
-endif
-
-else
-CFLAGS_rte_mempool_octeontx.o += -Ofast
-endif
-
-LDLIBS += -lrte_eal -lrte_mempool -lrte_ring -lrte_mbuf
-LDLIBS += -lrte_bus_pci -lrte_common_octeontx
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/mempool/octeontx2/Makefile b/drivers/mempool/octeontx2/Makefile
deleted file mode 100644
index 3828219b11..0000000000
--- a/drivers/mempool/octeontx2/Makefile
+++ /dev/null
@@ -1,40 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(C) 2019 Marvell International Ltd.
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_mempool_octeontx2.a
-
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx2
-CFLAGS += -I$(RTE_SDK)/drivers/mempool/octeontx2
-CFLAGS += -I$(RTE_SDK)/drivers/bus/pci
-CFLAGS += -O3
-
-ifneq ($(CONFIG_RTE_ARCH_64),y)
-CFLAGS += -Wno-int-to-pointer-cast
-CFLAGS += -Wno-pointer-to-int-cast
-ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS += -diag-disable 2259
-endif
-endif
-
-EXPORT_MAP := rte_mempool_octeontx2_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_OCTEONTX2_MEMPOOL) += \
-	otx2_mempool_ops.c	\
-	otx2_mempool.c 		\
-	otx2_mempool_irq.c	\
-	otx2_mempool_debug.c
-
-LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf
-LDLIBS += -lrte_common_octeontx2 -lrte_kvargs -lrte_bus_pci
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/mempool/ring/Makefile b/drivers/mempool/ring/Makefile
deleted file mode 100644
index 8624502da9..0000000000
--- a/drivers/mempool/ring/Makefile
+++ /dev/null
@@ -1,19 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2017 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_mempool_ring.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mempool -lrte_ring
-
-EXPORT_MAP := rte_mempool_ring_version.map
-
-SRCS-$(CONFIG_RTE_DRIVER_MEMPOOL_RING) += rte_mempool_ring.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/mempool/stack/Makefile b/drivers/mempool/stack/Makefile
deleted file mode 100644
index ccfd970400..0000000000
--- a/drivers/mempool/stack/Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2017 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_mempool_stack.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-# Headers
-CFLAGS += -I$(RTE_SDK)/lib/librte_mempool
-LDLIBS += -lrte_eal -lrte_mempool -lrte_stack
-
-EXPORT_MAP := rte_mempool_stack_version.map
-
-SRCS-$(CONFIG_RTE_DRIVER_MEMPOOL_STACK) += rte_mempool_stack.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/Makefile b/drivers/net/Makefile
deleted file mode 100644
index 361974eacf..0000000000
--- a/drivers/net/Makefile
+++ /dev/null
@@ -1,84 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2015 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# set in mk/toolchain/xxx/rte.toolchain-compat.mk
-ifeq ($(CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD),d)
-        $(warning thunderx pmd is not supported by old compilers)
-endif
-
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_AF_PACKET) += af_packet
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_AF_XDP) += af_xdp
-DIRS-$(CONFIG_RTE_LIBRTE_ARK_PMD) += ark
-DIRS-$(CONFIG_RTE_LIBRTE_ATLANTIC_PMD) += atlantic
-DIRS-$(CONFIG_RTE_LIBRTE_AVP_PMD) += avp
-DIRS-$(CONFIG_RTE_LIBRTE_AXGBE_PMD) += axgbe
-DIRS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += bnx2x
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += bonding
-DIRS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += cxgbe
-ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
-DIRS-$(CONFIG_RTE_LIBRTE_DPAA_PMD) += dpaa
-endif
-ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
-DIRS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += dpaa2
-endif
-DIRS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000
-DIRS-$(CONFIG_RTE_LIBRTE_ENA_PMD) += ena
-DIRS-$(CONFIG_RTE_LIBRTE_ENETC_PMD) += enetc
-DIRS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += enic
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_FAILSAFE) += failsafe
-DIRS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += fm10k
-DIRS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic
-DIRS-$(CONFIG_RTE_LIBRTE_HNS3_PMD) += hns3
-DIRS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e
-DIRS-$(CONFIG_RTE_LIBRTE_IAVF_PMD) += iavf
-DIRS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice
-DIRS-$(CONFIG_RTE_LIBRTE_IGC_PMD) += igc
-DIRS-$(CONFIG_RTE_LIBRTE_IONIC_PMD) += ionic
-DIRS-$(CONFIG_RTE_LIBRTE_IPN3KE_PMD) += ipn3ke
-DIRS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe
-DIRS-$(CONFIG_RTE_LIBRTE_LIO_PMD) += liquidio
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_MEMIF) += memif
-DIRS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4
-DIRS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5
-DIRS-$(CONFIG_RTE_LIBRTE_MVNETA_PMD) += mvneta
-DIRS-$(CONFIG_RTE_LIBRTE_MVPP2_PMD) += mvpp2
-DIRS-$(CONFIG_RTE_LIBRTE_NETVSC_PMD) += netvsc
-DIRS-$(CONFIG_RTE_LIBRTE_NFB_PMD) += nfb
-DIRS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp
-DIRS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_NULL) += null
-DIRS-$(CONFIG_RTE_LIBRTE_OCTEONTX_PMD) += octeontx
-DIRS-$(CONFIG_RTE_LIBRTE_OCTEONTX2_PMD) += octeontx2
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_PCAP) += pcap
-DIRS-$(CONFIG_RTE_LIBRTE_PFE_PMD) += pfe
-DIRS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += qede
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_RING) += ring
-DIRS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_SZEDATA2) += szedata2
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_TAP) += tap
-DIRS-$(CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD) += thunderx
-DIRS-$(CONFIG_RTE_LIBRTE_VDEV_NETVSC_PMD) += vdev_netvsc
-DIRS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio
-DIRS-$(CONFIG_RTE_LIBRTE_VMXNET3_PMD) += vmxnet3
-
-ifeq ($(CONFIG_RTE_LIBRTE_KNI),y)
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_KNI) += kni
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_SCHED),y)
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += softnic
-endif # $(CONFIG_RTE_LIBRTE_SCHED)
-
-ifeq ($(CONFIG_RTE_LIBRTE_VHOST),y)
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_VHOST) += vhost
-endif # $(CONFIG_RTE_LIBRTE_VHOST)
-
-ifeq ($(CONFIG_RTE_LIBRTE_MVPP2_PMD),y)
-ifeq ($(CONFIG_RTE_LIBRTE_CFGFILE),n)
-$(error "RTE_LIBRTE_CFGFILE must be enabled in configuration!")
-endif
-endif
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/drivers/net/af_packet/Makefile b/drivers/net/af_packet/Makefile
deleted file mode 100644
index 91dbf0a692..0000000000
--- a/drivers/net/af_packet/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2014 John W. Linville <linville@redhat.com>
-# Copyright(c) 2010-2014 Intel Corporation.
-# Copyright(c) 2014 6WIND S.A.
-# All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_af_packet.a
-
-EXPORT_MAP := rte_pmd_af_packet_version.map
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_vdev
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_AF_PACKET) += rte_eth_af_packet.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/af_xdp/Makefile b/drivers/net/af_xdp/Makefile
deleted file mode 100644
index 55db6085ac..0000000000
--- a/drivers/net/af_xdp/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_af_xdp.a
-
-EXPORT_MAP := rte_pmd_af_xdp_version.map
-
-CFLAGS += -O3
-
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_vdev
-LDLIBS += $(shell command -v pkg-config > /dev/null 2>&1 && pkg-config --libs libbpf || echo "-lbpf")
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_AF_XDP) += rte_eth_af_xdp.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/ark/Makefile b/drivers/net/ark/Makefile
deleted file mode 100644
index c02080bdd0..0000000000
--- a/drivers/net/ark/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright (c) 2015-2018 Atomic Rules LLC
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_ark.a
-
-CFLAGS += -O3 -I./
-CFLAGS += $(WERROR_FLAGS) -Werror
-
-EXPORT_MAP := rte_pmd_ark_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_ARK_PMD) += ark_ddm.c
-SRCS-$(CONFIG_RTE_LIBRTE_ARK_PMD) += ark_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_ARK_PMD) += ark_ethdev_rx.c
-SRCS-$(CONFIG_RTE_LIBRTE_ARK_PMD) += ark_ethdev_tx.c
-SRCS-$(CONFIG_RTE_LIBRTE_ARK_PMD) += ark_mpu.c
-SRCS-$(CONFIG_RTE_LIBRTE_ARK_PMD) += ark_pktchkr.c
-SRCS-$(CONFIG_RTE_LIBRTE_ARK_PMD) += ark_pktdir.c
-SRCS-$(CONFIG_RTE_LIBRTE_ARK_PMD) += ark_pktgen.c
-SRCS-$(CONFIG_RTE_LIBRTE_ARK_PMD) += ark_rqp.c
-SRCS-$(CONFIG_RTE_LIBRTE_ARK_PMD) += ark_udm.c
-
-# this lib depends upon:
-LDLIBS += -lpthread
-ifdef CONFIG_RTE_EXEC_ENV_LINUX
-LDLIBS += -ldl
-endif
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/atlantic/Makefile b/drivers/net/atlantic/Makefile
deleted file mode 100644
index 0d0d0a502d..0000000000
--- a/drivers/net/atlantic/Makefile
+++ /dev/null
@@ -1,34 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Aquantia Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_atlantic.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-EXPORT_MAP := rte_pmd_atlantic_version.map
-
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net
-LDLIBS += -lrte_bus_pci
-
-VPATH += $(SRCDIR)/hw_atl
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_ATLANTIC_PMD) += atl_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_ATLANTIC_PMD) += atl_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_ATLANTIC_PMD) += atl_hw_regs.c
-SRCS-$(CONFIG_RTE_LIBRTE_ATLANTIC_PMD) += hw_atl_utils.c
-SRCS-$(CONFIG_RTE_LIBRTE_ATLANTIC_PMD) += hw_atl_llh.c
-SRCS-$(CONFIG_RTE_LIBRTE_ATLANTIC_PMD) += hw_atl_utils_fw2x.c
-SRCS-$(CONFIG_RTE_LIBRTE_ATLANTIC_PMD) += hw_atl_b0.c
-SRCS-$(CONFIG_RTE_LIBRTE_ATLANTIC_PMD) += rte_pmd_atlantic.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/avp/Makefile b/drivers/net/avp/Makefile
deleted file mode 100644
index 075247b13a..0000000000
--- a/drivers/net/avp/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2013-2017, Wind River Systems, Inc.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_avp.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-
-EXPORT_MAP := rte_pmd_avp_version.map
-
-# install public header files to enable compilation of the hypervisor level
-# dpdk application
-SYMLINK-$(CONFIG_RTE_LIBRTE_AVP_PMD)-include += rte_avp_common.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_AVP_PMD)-include += rte_avp_fifo.h
-
-#
-# all source files are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_AVP_PMD) += avp_ethdev.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/axgbe/Makefile b/drivers/net/axgbe/Makefile
deleted file mode 100644
index e421d0da11..0000000000
--- a/drivers/net/axgbe/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-#   SPDX-License-Identifier: BSD-3-Clause
-#   Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_axgbe.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-EXPORT_MAP := rte_pmd_axgbe_version.map
-
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool
-LDLIBS += -lrte_pci -lrte_bus_pci
-LDLIBS += -lrte_ethdev -lrte_net
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_AXGBE_PMD) += axgbe_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_AXGBE_PMD) += axgbe_dev.c
-SRCS-$(CONFIG_RTE_LIBRTE_AXGBE_PMD) += axgbe_mdio.c
-SRCS-$(CONFIG_RTE_LIBRTE_AXGBE_PMD) += axgbe_phy_impl.c
-SRCS-$(CONFIG_RTE_LIBRTE_AXGBE_PMD) += axgbe_i2c.c
-SRCS-$(CONFIG_RTE_LIBRTE_AXGBE_PMD) += axgbe_rxtx.c
-ifeq ($(CONFIG_RTE_ARCH_X86),y)
-SRCS-$(CONFIG_RTE_LIBRTE_AXGBE_PMD) += axgbe_rxtx_vec_sse.c
-endif
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/bnx2x/Makefile b/drivers/net/bnx2x/Makefile
deleted file mode 100644
index 451434cc18..0000000000
--- a/drivers/net/bnx2x/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright (c) 2014 - 2018 Cavium Inc.
-# All rights reserved.
-# www.cavium.com
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_bnx2x.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -DZLIB_CONST
-LDLIBS += -lz
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-
-EXPORT_MAP := rte_pmd_bnx2x_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += bnx2x.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += bnx2x_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += bnx2x_stats.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += bnx2x_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += ecore_sp.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += elink.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += bnx2x_vfpf.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/bnxt/Makefile b/drivers/net/bnxt/Makefile
deleted file mode 100644
index 0c5b74918d..0000000000
--- a/drivers/net/bnxt/Makefile
+++ /dev/null
@@ -1,63 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation.
-# Copyright(c) 2014 6WIND S.A.
-# Copyright(c) Broadcom Limited.
-# All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_bnxt.a
-
-EXPORT_MAP := rte_pmd_bnxt_version.map
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci -pthread
-
-EXPORT_MAP := rte_pmd_bnxt_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_cpr.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_filter.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_hwrm.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_ring.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_rxq.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_rxr.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_stats.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_txq.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_txr.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_vnic.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_irq.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_util.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_reps.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += rte_pmd_bnxt.c
-ifeq ($(CONFIG_RTE_ARCH_X86), y)
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_rxtx_vec_sse.c
-endif
-ifeq ($(CONFIG_RTE_ARCH_ARM64), y)
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_rxtx_vec_neon.c
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_BNXT_PMD), y)
-CFLAGS += -I$(SRCDIR) -I$(SRCDIR)/tf_ulp -I$(SRCDIR)/tf_core -I$(SRCDIR)/hcapi
-include $(SRCDIR)/tf_ulp/Makefile
-include $(SRCDIR)/tf_core/Makefile
-include $(SRCDIR)/hcapi/Makefile
-endif
-
-#
-# Export include files
-#
-SYMLINK-y-include +=
-SYMLINK-$(CONFIG_RTE_LIBRTE_BNXT_PMD)-include += rte_pmd_bnxt.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/bnxt/hcapi/Makefile b/drivers/net/bnxt/hcapi/Makefile
deleted file mode 100644
index a5bb398ad7..0000000000
--- a/drivers/net/bnxt/hcapi/Makefile
+++ /dev/null
@@ -1,5 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019-2020 Broadcom Limited.
-# All rights reserved.
-
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += hcapi/hcapi_cfa_p4.c
diff --git a/drivers/net/bnxt/tf_core/Makefile b/drivers/net/bnxt/tf_core/Makefile
deleted file mode 100644
index 84840366ab..0000000000
--- a/drivers/net/bnxt/tf_core/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation.
-# Copyright(c) 2014 6WIND S.A.
-# Copyright(c) Broadcom Limited.
-# All rights reserved.
-
-
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/bitalloc.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/rand.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/stack.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/ll.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_core.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_rm.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tfp.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_msg.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_tbl.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_em_common.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_em_internal.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_em_host.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_session.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_device.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_device_p4.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_identifier.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_shadow_tbl.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_shadow_tcam.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_tcam.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_util.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_if_tbl.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_global_cfg.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_shadow_identifier.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_hash.c
diff --git a/drivers/net/bnxt/tf_ulp/Makefile b/drivers/net/bnxt/tf_ulp/Makefile
deleted file mode 100644
index abb68150d1..0000000000
--- a/drivers/net/bnxt/tf_ulp/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation.
-# Copyright(c) 2014 6WIND S.A.
-# Copyright(c) Broadcom Limited.
-# All rights reserved.
-
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_ulp/ulp_template_db_tbl.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_ulp/ulp_template_db_class.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_ulp/ulp_template_db_act.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_ulp/ulp_rte_parser.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_ulp/bnxt_ulp_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_ulp/ulp_matcher.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_ulp/ulp_utils.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_ulp/ulp_mapper.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_ulp/bnxt_ulp.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_ulp/ulp_mark_mgr.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_ulp/ulp_flow_db.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_ulp/ulp_port_db.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_ulp/ulp_def_rules.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_ulp/ulp_fc_mgr.c
diff --git a/drivers/net/bonding/Makefile b/drivers/net/bonding/Makefile
deleted file mode 100644
index 728551a846..0000000000
--- a/drivers/net/bonding/Makefile
+++ /dev/null
@@ -1,36 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_bond.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_pci -lrte_bus_pci
-LDLIBS += -lrte_bus_vdev
-
-EXPORT_MAP := rte_pmd_bond_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += rte_eth_bond_api.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += rte_eth_bond_pmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += rte_eth_bond_args.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += rte_eth_bond_8023ad.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += rte_eth_bond_alb.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += rte_eth_bond_flow.c
-
-#
-# Export include files
-#
-SYMLINK-y-include += rte_eth_bond.h
-SYMLINK-y-include += rte_eth_bond_8023ad.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/cxgbe/Makefile b/drivers/net/cxgbe/Makefile
deleted file mode 100644
index 53b2bb56dc..0000000000
--- a/drivers/net/cxgbe/Makefile
+++ /dev/null
@@ -1,57 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2014-2018 Chelsio Communications.
-# All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_cxgbe.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-EXPORT_MAP := rte_pmd_cxgbe_version.map
-
-#
-# CFLAGS for gcc/clang
-#
-ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
-ifeq ($(shell test $(GCC_VERSION) -ge 44 && echo 1), 1)
-CFLAGS     += -Wno-deprecated
-endif
-endif
-
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-
-#
-# Add extra flags for base driver files (also known as shared code)
-# to disable warnings in them
-#
-BASE_DRIVER_OBJS=$(sort $(patsubst %.c,%.o,$(notdir $(wildcard $(SRCDIR)/base/*.c))))
-$(foreach obj, $(BASE_DRIVER_OBJS), $(eval CFLAGS_$(obj)+=$(CFLAGS_BASE_DRIVER)))
-
-VPATH += $(SRCDIR)/base
-
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += cxgbe_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += cxgbevf_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += cxgbe_main.c
-SRCS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += cxgbevf_main.c
-SRCS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += sge.c
-SRCS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += cxgbe_filter.c
-SRCS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += cxgbe_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += t4_hw.c
-SRCS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += clip_tbl.c
-SRCS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += mps_tcam.c
-SRCS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += l2t.c
-SRCS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += smt.c
-SRCS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += t4vf_hw.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/dpaa/Makefile b/drivers/net/dpaa/Makefile
deleted file mode 100644
index d7bbc0e158..0000000000
--- a/drivers/net/dpaa/Makefile
+++ /dev/null
@@ -1,41 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2017 NXP
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-RTE_SDK_DPAA=$(RTE_SDK)/drivers/net/dpaa
-
-#
-# library name
-#
-LIB = librte_pmd_dpaa.a
-
-CFLAGS := -I$(SRCDIR) $(CFLAGS)
-CFLAGS += -O3 $(WERROR_FLAGS)
-CFLAGS += -Wno-pointer-arith
-CFLAGS += -I$(RTE_SDK_DPAA)/
-CFLAGS += -I$(RTE_SDK_DPAA)/include
-CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa
-CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa/include/
-CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa/base/qbman
-CFLAGS += -I$(RTE_SDK)/drivers/mempool/dpaa
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-CFLAGS += -I$(RTE_SDK)/drivers/event/dpaa
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
-
-EXPORT_MAP := rte_pmd_dpaa_version.map
-
-# Interfaces with DPDK
-SRCS-$(CONFIG_RTE_LIBRTE_DPAA_PMD) += dpaa_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_DPAA_PMD) += dpaa_rxtx.c
-
-LDLIBS += -lrte_bus_dpaa
-LDLIBS += -lrte_mempool_dpaa
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_common_dpaax
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_DPAA_PMD)-include := rte_pmd_dpaa.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/dpaa2/Makefile b/drivers/net/dpaa2/Makefile
deleted file mode 100644
index 6f38c18b9b..0000000000
--- a/drivers/net/dpaa2/Makefile
+++ /dev/null
@@ -1,47 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright (c) 2016 Freescale Semiconductor, Inc. All rights reserved.
-# Copyright 2016-2019 NXP
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_dpaa2.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-CFLAGS += -I$(RTE_SDK)/drivers/net/dpaa2
-CFLAGS += -I$(RTE_SDK)/drivers/net/dpaa2/mc
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/qbman/include
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/mc
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/portal
-CFLAGS += -I$(RTE_SDK)/drivers/mempool/dpaa2
-
-# versioning export map
-EXPORT_MAP := rte_pmd_dpaa2_version.map
-
-SRCS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += base/dpaa2_hw_dpni.c
-SRCS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += dpaa2_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += dpaa2_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += dpaa2_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += dpaa2_mux.c
-SRCS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += dpaa2_sparser.c
-SRCS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += mc/dpni.c
-SRCS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += mc/dpkg.c
-SRCS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += mc/dpdmux.c
-SRCS-$(CONFIG_RTE_LIBRTE_IEEE1588)  += mc/dprtc.c
-SRCS-$(CONFIG_RTE_LIBRTE_IEEE1588)  += dpaa2_ptp.c
-
-LDLIBS += -lrte_bus_fslmc
-LDLIBS += -lrte_mempool_dpaa2
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_common_dpaax
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_DPAA2_PMD)-include := rte_pmd_dpaa2.h
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/e1000/Makefile b/drivers/net/e1000/Makefile
deleted file mode 100644
index f186f8d0e9..0000000000
--- a/drivers/net/e1000/Makefile
+++ /dev/null
@@ -1,79 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2015 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_e1000.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-
-EXPORT_MAP := rte_pmd_e1000_version.map
-
-ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-#
-# CFLAGS for icc
-#
-CFLAGS_BASE_DRIVER  = -diag-disable 177 -diag-disable 181
-CFLAGS_BASE_DRIVER += -diag-disable 869 -diag-disable 2259
-else
-#
-# CFLAGS for gcc/clang
-#
-CFLAGS_BASE_DRIVER = -Wno-uninitialized -Wno-unused-parameter
-CFLAGS_BASE_DRIVER += -Wno-unused-variable
-ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
-ifeq ($(shell test $(GCC_VERSION) -ge 60 && echo 1), 1)
-CFLAGS_BASE_DRIVER += -Wno-misleading-indentation
-ifeq ($(shell test $(GCC_VERSION) -ge 70 && echo 1), 1)
-CFLAGS_BASE_DRIVER += -Wno-implicit-fallthrough
-endif
-endif
-endif
-endif
-
-#
-# Add extra flags for base driver files (also known as shared code)
-# to disable warnings in them
-#
-BASE_DRIVER_OBJS=$(sort $(patsubst %.c,%.o,$(notdir $(wildcard $(SRCDIR)/base/*.c))))
-$(foreach obj, $(BASE_DRIVER_OBJS), $(eval CFLAGS_$(obj)+=$(CFLAGS_BASE_DRIVER)))
-
-VPATH += $(SRCDIR)/base
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_base.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_80003es2lan.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_82540.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_82541.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_82542.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_82543.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_82571.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_82575.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_i210.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_api.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_ich8lan.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_logs.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_mac.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_manage.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_mbx.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_nvm.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_osdep.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_phy.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_vf.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGB_PMD) += igb_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGB_PMD) += igb_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGB_PMD) += igb_pf.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGB_PMD) += igb_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_EM_PMD) += em_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_EM_PMD) += em_rxtx.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/ena/Makefile b/drivers/net/ena/Makefile
deleted file mode 100644
index 8ccff36db7..0000000000
--- a/drivers/net/ena/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright (c) 2015-2019 Amazon.com, Inc. or its affiliates.
-# All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_ena.a
-CFLAGS += $(WERROR_FLAGS) -O2
-INCLUDES :=-I$(SRCDIR) -I$(SRCDIR)/base/ena_defs -I$(SRCDIR)/base
-
-EXPORT_MAP := rte_pmd_ena_version.map
-
-VPATH += $(SRCDIR)/base
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_ENA_PMD) += ena_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_ENA_PMD) += ena_com.c
-SRCS-$(CONFIG_RTE_LIBRTE_ENA_PMD) += ena_eth_com.c
-
-CFLAGS += $(INCLUDES)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-LDLIBS += -lrte_timer
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/enetc/Makefile b/drivers/net/enetc/Makefile
deleted file mode 100644
index 7276026e37..0000000000
--- a/drivers/net/enetc/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2018 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_enetc.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-EXPORT_MAP := rte_pmd_enetc_version.map
-SRCS-$(CONFIG_RTE_LIBRTE_ENETC_PMD) += enetc_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_ENETC_PMD) += enetc_rxtx.c
-
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool
-LDLIBS += -lrte_ethdev -lrte_net
-LDLIBS += -lrte_bus_pci
-LDLIBS += -lrte_common_dpaax
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/enic/Makefile b/drivers/net/enic/Makefile
deleted file mode 100644
index d098a474a1..0000000000
--- a/drivers/net/enic/Makefile
+++ /dev/null
@@ -1,68 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2008-2017 Cisco Systems, Inc.  All rights reserved.
-# Copyright 2007 Nuova Systems, Inc.  All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_enic.a
-
-EXPORT_MAP := rte_pmd_enic_version.map
-
-CFLAGS += -I$(SRCDIR)/base/
-CFLAGS += -I$(SRCDIR)
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -Wno-strict-aliasing
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_hash
-LDLIBS += -lrte_bus_pci
-
-VPATH += $(SRCDIR)/src
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += enic_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += enic_main.c
-SRCS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += enic_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += enic_clsf.c
-SRCS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += enic_res.c
-SRCS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += enic_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += enic_fm_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += base/vnic_cq.c
-SRCS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += base/vnic_wq.c
-SRCS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += base/vnic_dev.c
-SRCS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += base/vnic_intr.c
-SRCS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += base/vnic_rq.c
-
-# The current implementation assumes 64-bit pointers
-CC_AVX2_SUPPORT=0
-ifeq ($(CONFIG_RTE_ARCH_X86_64),y)
-# Figure out if the compiler supports avx2. The extra check using
-# -march=core-avx2 is necessary to support users who build for the
-# 'default' machine (corei7 which has no avx2) and run the binary on
-# newer CPUs that have avx2.
-# This part is verbatim from i40e makefile.
-ifeq ($(findstring RTE_MACHINE_CPUFLAG_AVX2,$(CFLAGS)),RTE_MACHINE_CPUFLAG_AVX2)
-	CC_AVX2_SUPPORT=1
-else
-	CC_AVX2_SUPPORT=\
-	$(shell $(CC) -march=core-avx2 -dM -E - </dev/null 2>&1 | \
-	grep -q AVX2 && echo 1)
-	ifeq ($(CC_AVX2_SUPPORT), 1)
-		ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-			CFLAGS_enic_rxtx_vec_avx2.o += -march=core-avx2
-		else
-			CFLAGS_enic_rxtx_vec_avx2.o += -mavx2
-		endif
-	endif
-endif
-endif
-
-ifeq ($(CC_AVX2_SUPPORT), 1)
-	SRCS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += enic_rxtx_vec_avx2.c
-endif
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/failsafe/Makefile b/drivers/net/failsafe/Makefile
deleted file mode 100644
index 464fd0515d..0000000000
--- a/drivers/net/failsafe/Makefile
+++ /dev/null
@@ -1,43 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2017 6WIND S.A.
-# Copyright 2017 Mellanox Technologies, Ltd
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# Library name
-LIB = librte_pmd_failsafe.a
-
-EXPORT_MAP := rte_pmd_failsafe_version.map
-
-# Sources are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_FAILSAFE) += failsafe.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_FAILSAFE) += failsafe_args.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_FAILSAFE) += failsafe_eal.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_FAILSAFE) += failsafe_ops.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_FAILSAFE) += failsafe_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_FAILSAFE) += failsafe_ether.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_FAILSAFE) += failsafe_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_FAILSAFE) += failsafe_intr.c
-ifeq ($(CONFIG_RTE_EXEC_ENV_LINUX),y)
-CFLAGS += -DLINUX
-else
-CFLAGS += -DBSD
-endif
-
-# No exported include files
-
-# Basic CFLAGS:
-CFLAGS += -std=gnu99 -Wextra
-CFLAGS += -O3
-CFLAGS += -I.
-CFLAGS += -D_DEFAULT_SOURCE
-CFLAGS += -D_XOPEN_SOURCE=700
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -Wno-strict-prototypes
-CFLAGS += -pedantic
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_vdev
-LDLIBS += -lpthread
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/fm10k/Makefile b/drivers/net/fm10k/Makefile
deleted file mode 100644
index d486389928..0000000000
--- a/drivers/net/fm10k/Makefile
+++ /dev/null
@@ -1,77 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2013-2015 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_fm10k.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-EXPORT_MAP := rte_pmd_fm10k_version.map
-
-ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-#
-# CFLAGS for icc
-#
-CFLAGS_BASE_DRIVER  = -diag-disable 174 -diag-disable 593 -diag-disable 869
-CFLAGS_BASE_DRIVER += -diag-disable 981 -diag-disable 2259
-
-else ifeq ($(CONFIG_RTE_TOOLCHAIN_CLANG),y)
-
-#
-## CFLAGS for clang
-#
-CFLAGS_BASE_DRIVER = -Wno-unused-parameter -Wno-unused-value
-CFLAGS_BASE_DRIVER += -Wno-strict-aliasing -Wno-format-extra-args
-CFLAGS_BASE_DRIVER += -Wno-unused-variable
-
-else
-#
-# CFLAGS for gcc
-#
-CFLAGS_BASE_DRIVER = -Wno-unused-parameter -Wno-unused-value
-CFLAGS_BASE_DRIVER += -Wno-strict-aliasing -Wno-format-extra-args
-CFLAGS_BASE_DRIVER += -Wno-unused-variable
-
-ifeq ($(shell test $(GCC_VERSION) -ge 44 && echo 1), 1)
-CFLAGS     += -Wno-deprecated
-CFLAGS_BASE_DRIVER += -Wno-unused-but-set-variable
-ifeq ($(shell test $(GCC_VERSION) -ge 70 && echo 1), 1)
-CFLAGS_BASE_DRIVER += -Wno-implicit-fallthrough
-endif
-endif
-endif
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_hash
-LDLIBS += -lrte_bus_pci
-
-#
-# Add extra flags for base driver source files to disable warnings in them
-#
-BASE_DRIVER_OBJS=$(sort $(patsubst %.c,%.o,$(notdir $(wildcard $(SRCDIR)/base/*.c))))
-$(foreach obj, $(BASE_DRIVER_OBJS), $(eval CFLAGS_$(obj)+=$(CFLAGS_BASE_DRIVER)))
-
-VPATH += $(SRCDIR)/base
-
-#
-# all source are stored in SRCS-y
-# base driver is based on the package of cid-fm10k.2017.01.24.tar.gz
-#
-SRCS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += fm10k_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += fm10k_rxtx.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += fm10k_pf.c
-SRCS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += fm10k_tlv.c
-SRCS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += fm10k_common.c
-SRCS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += fm10k_mbx.c
-SRCS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += fm10k_vf.c
-SRCS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += fm10k_api.c
-ifeq ($(CONFIG_RTE_ARCH_X86), y)
-SRCS-$(CONFIG_RTE_LIBRTE_FM10K_INC_VECTOR) += fm10k_rxtx_vec.c
-endif
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/hinic/Makefile b/drivers/net/hinic/Makefile
deleted file mode 100644
index 87fd843e41..0000000000
--- a/drivers/net/hinic/Makefile
+++ /dev/null
@@ -1,67 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Huawei Technologies Co., Ltd
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_hinic.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-ifeq ($(CONFIG_RTE_ARCH_ARM64),y)
-CFLAGS += -D__ARM64_NEON__
-else ifeq ($(CONFIG_RTE_ARCH_X86_64),y)
-CFLAGS += -D__X86_64_SSE__
-endif
-
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_hash
-LDLIBS += -lrte_bus_pci
-LDLIBS += -lpthread
-
-EXPORT_MAP := rte_pmd_hinic_version.map
-
-#
-# CFLAGS for 32-bits platforms
-#
-ifneq ($(CONFIG_RTE_ARCH_64),y)
-ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-#
-# CFLAGS for icc
-#
-CFLAGS += -diag-disable 2259
-else
-#
-# CFLAGS for gcc
-#
-CFLAGS += -Wno-int-to-pointer-cast
-CFLAGS += -Wno-pointer-to-int-cast
-endif
-endif
-
-VPATH += $(SRCDIR)/base
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic_pmd_api_cmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic_pmd_cfg.c
-SRCS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic_pmd_cmdq.c
-SRCS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic_pmd_eqs.c
-SRCS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic_pmd_hwdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic_pmd_hwif.c
-SRCS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic_pmd_mgmt.c
-SRCS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic_pmd_niccfg.c
-SRCS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic_pmd_nicio.c
-SRCS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic_pmd_wq.c
-SRCS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic_pmd_mbox.c
-SRCS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic_pmd_flow.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic_pmd_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic_pmd_rx.c
-SRCS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic_pmd_tx.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/hns3/Makefile b/drivers/net/hns3/Makefile
deleted file mode 100644
index d7798a4706..0000000000
--- a/drivers/net/hns3/Makefile
+++ /dev/null
@@ -1,42 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018-2019 Hisilicon Limited.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_hns3.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-# Experimantal APIs:
-# - rte_mp_action_register
-# - rte_mp_action_unregister
-# - rte_mp_reply
-# - rte_mp_request_sync
-
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_hash
-LDLIBS += -lrte_bus_pci
-
-EXPORT_MAP := rte_pmd_hns3_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_HNS3_PMD) += hns3_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_HNS3_PMD) += hns3_ethdev_vf.c
-SRCS-$(CONFIG_RTE_LIBRTE_HNS3_PMD) += hns3_cmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_HNS3_PMD) += hns3_mbx.c
-SRCS-$(CONFIG_RTE_LIBRTE_HNS3_PMD) += hns3_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_HNS3_PMD) += hns3_rss.c
-SRCS-$(CONFIG_RTE_LIBRTE_HNS3_PMD) += hns3_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_HNS3_PMD) += hns3_fdir.c
-SRCS-$(CONFIG_RTE_LIBRTE_HNS3_PMD) += hns3_intr.c
-SRCS-$(CONFIG_RTE_LIBRTE_HNS3_PMD) += hns3_stats.c
-SRCS-$(CONFIG_RTE_LIBRTE_HNS3_PMD) += hns3_regs.c
-SRCS-$(CONFIG_RTE_LIBRTE_HNS3_PMD) += hns3_dcb.c
-SRCS-$(CONFIG_RTE_LIBRTE_HNS3_PMD) += hns3_mp.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/i40e/Makefile b/drivers/net/i40e/Makefile
deleted file mode 100644
index 43f10941b2..0000000000
--- a/drivers/net/i40e/Makefile
+++ /dev/null
@@ -1,112 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_i40e.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -DPF_DRIVER -DVF_DRIVER -DINTEGRATED_VF
-CFLAGS += -DX722_A0_SUPPORT
-
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_hash
-LDLIBS += -lrte_bus_pci
-
-EXPORT_MAP := rte_pmd_i40e_version.map
-
-#
-# Add extra flags for base driver files (also known as shared code)
-# to disable warnings
-#
-ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS_BASE_DRIVER = -diag-disable 593
-else ifeq ($(CONFIG_RTE_TOOLCHAIN_CLANG),y)
-CFLAGS_BASE_DRIVER += -Wno-sign-compare
-CFLAGS_BASE_DRIVER += -Wno-unused-value
-CFLAGS_BASE_DRIVER += -Wno-unused-parameter
-CFLAGS_BASE_DRIVER += -Wno-strict-aliasing
-CFLAGS_BASE_DRIVER += -Wno-format
-CFLAGS_BASE_DRIVER += -Wno-pointer-to-int-cast
-CFLAGS_BASE_DRIVER += -Wno-format-nonliteral
-CFLAGS_BASE_DRIVER += -Wno-unused-variable
-else
-CFLAGS_BASE_DRIVER  = -Wno-sign-compare
-CFLAGS_BASE_DRIVER += -Wno-unused-value
-CFLAGS_BASE_DRIVER += -Wno-unused-parameter
-CFLAGS_BASE_DRIVER += -Wno-strict-aliasing
-CFLAGS_BASE_DRIVER += -Wno-format
-CFLAGS_BASE_DRIVER += -Wno-pointer-to-int-cast
-CFLAGS_BASE_DRIVER += -Wno-format-nonliteral
-CFLAGS_BASE_DRIVER += -Wno-format-security
-CFLAGS_BASE_DRIVER += -Wno-unused-variable
-
-ifeq ($(shell test $(GCC_VERSION) -ge 44 && echo 1), 1)
-CFLAGS_BASE_DRIVER += -Wno-unused-but-set-variable
-endif
-
-CFLAGS_i40e_lan_hmc.o += -Wno-error
-endif
-OBJS_BASE_DRIVER=$(sort $(patsubst %.c,%.o,$(notdir $(wildcard $(SRCDIR)/base/*.c))))
-$(foreach obj, $(OBJS_BASE_DRIVER), $(eval CFLAGS_$(obj)+=$(CFLAGS_BASE_DRIVER)))
-
-VPATH += $(SRCDIR)/base
-
-#
-# all source are stored in SRCS-y
-# base driver is based on the package of dpdk-i40e.2016.04.18.12.tar.gz.
-#
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_adminq.c
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_common.c
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_diag.c
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_hmc.c
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_lan_hmc.c
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_nvm.c
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_dcb.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_rxtx.c
-ifneq ($(filter y,$(CONFIG_RTE_ARCH_ARM) $(CONFIG_RTE_ARCH_ARM64)),)
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_INC_VECTOR) += i40e_rxtx_vec_neon.c
-else ifeq ($(CONFIG_RTE_ARCH_PPC_64),y)
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_INC_VECTOR) += i40e_rxtx_vec_altivec.c
-else
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_INC_VECTOR) += i40e_rxtx_vec_sse.c
-endif
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_ethdev_vf.c
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_pf.c
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_fdir.c
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += rte_pmd_i40e.c
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_tm.c
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_vf_representor.c
-
-ifeq ($(CONFIG_RTE_LIBRTE_I40E_INC_VECTOR),y)
-ifeq ($(findstring RTE_MACHINE_CPUFLAG_AVX2,$(CFLAGS)),RTE_MACHINE_CPUFLAG_AVX2)
-	CC_AVX2_SUPPORT=1
-else
-	CC_AVX2_SUPPORT=\
-	$(shell $(CC) -march=core-avx2 -dM -E - </dev/null 2>&1 | \
-	grep -q AVX2 && echo 1)
-	ifeq ($(CC_AVX2_SUPPORT), 1)
-		ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-			CFLAGS_i40e_rxtx_vec_avx2.o += -march=core-avx2
-		else
-			CFLAGS_i40e_rxtx_vec_avx2.o += -mavx2
-		endif
-	endif
-endif
-endif
-
-ifeq ($(CC_AVX2_SUPPORT), 1)
-	SRCS-$(CONFIG_RTE_LIBRTE_I40E_INC_VECTOR) += i40e_rxtx_vec_avx2.c
-	CFLAGS_i40e_rxtx.o += -DCC_AVX2_SUPPORT
-endif
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_I40E_PMD)-include := rte_pmd_i40e.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/iavf/Makefile b/drivers/net/iavf/Makefile
deleted file mode 100644
index 792cbb7f79..0000000000
--- a/drivers/net/iavf/Makefile
+++ /dev/null
@@ -1,54 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_iavf.a
-
-CFLAGS += -I$(RTE_SDK)/drivers/common/iavf
-CFLAGS += -O3 $(WERROR_FLAGS) -Wno-strict-aliasing
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_hash
-LDLIBS += -lrte_bus_pci
-LDLIBS += -lrte_common_iavf
-
-EXPORT_MAP := rte_pmd_iavf_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_IAVF_PMD) += iavf_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_IAVF_PMD) += iavf_vchnl.c
-SRCS-$(CONFIG_RTE_LIBRTE_IAVF_PMD) += iavf_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_IAVF_PMD) += iavf_generic_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_IAVF_PMD) += iavf_fdir.c
-SRCS-$(CONFIG_RTE_LIBRTE_IAVF_PMD) += iavf_hash.c
-ifeq ($(CONFIG_RTE_ARCH_X86), y)
-SRCS-$(CONFIG_RTE_LIBRTE_IAVF_PMD) += iavf_rxtx_vec_sse.c
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_IAVF_PMD), y)
-	ifeq ($(findstring RTE_MACHINE_CPUFLAG_AVX2,$(CFLAGS)),RTE_MACHINE_CPUFLAG_AVX2)
-		CC_AVX2_SUPPORT=1
-	else
-		CC_AVX2_SUPPORT=\
-		$(shell $(CC) -march=core-avx2 -dM -E - </dev/null 2>&1 | \
-		grep -q AVX2 && echo 1)
-		ifeq ($(CC_AVX2_SUPPORT), 1)
-			ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-				CFLAGS_iavf_rxtx_vec_avx2.o += -march=core-avx2
-			else
-				CFLAGS_iavf_rxtx_vec_avx2.o += -mavx2
-			endif
-		endif
-	endif
-endif
-
-ifeq ($(CC_AVX2_SUPPORT), 1)
-	SRCS-$(CONFIG_RTE_LIBRTE_IAVF_PMD) += iavf_rxtx_vec_avx2.c
-endif
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/ice/Makefile b/drivers/net/ice/Makefile
deleted file mode 100644
index 34cd4024b3..0000000000
--- a/drivers/net/ice/Makefile
+++ /dev/null
@@ -1,96 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_ice.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/common/iavf
-
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_ethdev -lrte_kvargs
-LDLIBS += -lrte_bus_pci -lrte_mempool -lrte_hash
-LDLIBS += -lrte_net -lrte_common_iavf
-LDLIBS += -lpthread
-
-EXPORT_MAP := rte_pmd_ice_version.map
-
-#
-# Add extra flags for base driver files (also known as shared code)
-# to disable warnings
-#
-ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS_BASE_DRIVER +=
-else ifeq ($(CONFIG_RTE_TOOLCHAIN_CLANG),y)
-CFLAGS_BASE_DRIVER += -Wno-unused-parameter
-CFLAGS_BASE_DRIVER += -Wno-unused-variable
-else
-CFLAGS_BASE_DRIVER += -Wno-unused-parameter
-CFLAGS_BASE_DRIVER += -Wno-unused-variable
-
-ifeq ($(shell test $(GCC_VERSION) -ge 44 && echo 1), 1)
-CFLAGS_BASE_DRIVER += -Wno-unused-but-set-variable
-endif
-
-endif
-OBJS_BASE_DRIVER=$(patsubst %.c,%.o,$(notdir $(wildcard $(SRCDIR)/base/*.c)))
-$(foreach obj, $(OBJS_BASE_DRIVER), $(eval CFLAGS_$(obj)+=$(CFLAGS_BASE_DRIVER)))
-
-VPATH += $(SRCDIR)/base
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_controlq.c
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_common.c
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_sched.c
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_switch.c
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_nvm.c
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_flex_pipe.c
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_dcb.c
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_fdir.c
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_acl.c
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_acl_ctrl.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_rxtx.c
-ifeq ($(CONFIG_RTE_ARCH_X86), y)
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_rxtx_vec_sse.c
-endif
-
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_switch_filter.c
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_fdir_filter.c
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_hash.c
-ifeq ($(findstring RTE_MACHINE_CPUFLAG_AVX2,$(CFLAGS)),RTE_MACHINE_CPUFLAG_AVX2)
-	CC_AVX2_SUPPORT=1
-else
-	CC_AVX2_SUPPORT=\
-	$(shell $(CC) -march=core-avx2 -dM -E - </dev/null 2>&1 | \
-	grep -q AVX2 && echo 1)
-	ifeq ($(CC_AVX2_SUPPORT), 1)
-		ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-			CFLAGS_ice_rxtx_vec_avx2.o += -march=core-avx2
-		else
-			CFLAGS_ice_rxtx_vec_avx2.o += -mavx2
-		endif
-	endif
-endif
-
-ifeq ($(CC_AVX2_SUPPORT), 1)
-	SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_rxtx_vec_avx2.c
-endif
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_generic_flow.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_dcf.c
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_dcf_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_dcf_parent.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_ICE_PMD)-include := rte_pmd_ice.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/igc/Makefile b/drivers/net/igc/Makefile
deleted file mode 100644
index d6d7959d2d..0000000000
--- a/drivers/net/igc/Makefile
+++ /dev/null
@@ -1,40 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019-2020 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_igc.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal
-LDLIBS += -lrte_ethdev
-LDLIBS += -lrte_bus_pci
-LDLIBS += -lrte_mbuf
-LDLIBS += -lrte_mempool
-
-EXPORT_MAP := rte_pmd_igc_version.map
-
-VPATH += $(SRCDIR)/base
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_IGC_PMD) += igc_api.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGC_PMD) += igc_base.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGC_PMD) += igc_i225.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGC_PMD) += igc_mac.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGC_PMD) += igc_manage.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGC_PMD) += igc_nvm.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGC_PMD) += igc_osdep.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGC_PMD) += igc_phy.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGC_PMD) += igc_logs.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGC_PMD) += igc_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGC_PMD) += igc_txrx.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGC_PMD) += igc_filter.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGC_PMD) += igc_flow.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/ionic/Makefile b/drivers/net/ionic/Makefile
deleted file mode 100644
index 7442e2c5cb..0000000000
--- a/drivers/net/ionic/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-# SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0)
-# Copyright(c) 2018-2019 Pensando Systems, Inc. All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_ionic.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-EXPORT_MAP := rte_pmd_ionic_version.map
-
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net
-LDLIBS += -lrte_bus_pci
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_IONIC_PMD) += ionic_mac_api.c
-SRCS-$(CONFIG_RTE_LIBRTE_IONIC_PMD) += ionic_rx_filter.c
-SRCS-$(CONFIG_RTE_LIBRTE_IONIC_PMD) += ionic_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_IONIC_PMD) += ionic_dev.c
-SRCS-$(CONFIG_RTE_LIBRTE_IONIC_PMD) += ionic_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_IONIC_PMD) += ionic_lif.c
-SRCS-$(CONFIG_RTE_LIBRTE_IONIC_PMD) += ionic_main.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/ipn3ke/Makefile b/drivers/net/ipn3ke/Makefile
deleted file mode 100644
index 40696dbde8..0000000000
--- a/drivers/net/ipn3ke/Makefile
+++ /dev/null
@@ -1,38 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_ipn3ke.a
-
-#
-# Add the experimenatal APIs called from this PMD
-#  rte_eth_switch_domain_alloc()
-#  rte_eth_dev_create()
-#  rte_eth_dev_destroy()
-#  rte_eth_switch_domain_free()
-#
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/bus/ifpga
-CFLAGS += -I$(RTE_SDK)/drivers/raw/ifpga
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_ifpga
-LDLIBS += -lrte_bus_vdev
-LDLIBS += -lpthread
-
-EXPORT_MAP := rte_pmd_ipn3ke_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_IPN3KE_PMD) += ipn3ke_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_IPN3KE_PMD) += ipn3ke_representor.c
-SRCS-$(CONFIG_RTE_LIBRTE_IPN3KE_PMD) += ipn3ke_tm.c
-SRCS-$(CONFIG_RTE_LIBRTE_IPN3KE_PMD) += ipn3ke_flow.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/ixgbe/Makefile b/drivers/net/ixgbe/Makefile
deleted file mode 100644
index aebf3b286c..0000000000
--- a/drivers/net/ixgbe/Makefile
+++ /dev/null
@@ -1,110 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2016 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_ixgbe.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-EXPORT_MAP := rte_pmd_ixgbe_version.map
-
-ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-#
-# CFLAGS for icc
-#
-CFLAGS_BASE_DRIVER  = -diag-disable 174 -diag-disable 593 -diag-disable 869
-CFLAGS_BASE_DRIVER += -diag-disable 981 -diag-disable 2259
-
-CFLAGS_ixgbe_rxtx.o += -diag-disable 3656
-
-else ifeq ($(CONFIG_RTE_TOOLCHAIN_CLANG),y)
-#
-# CFLAGS for clang
-#
-CFLAGS_BASE_DRIVER = -Wno-unused-parameter -Wno-unused-value
-CFLAGS_BASE_DRIVER += -Wno-strict-aliasing -Wno-format-extra-args
-
-else
-#
-# CFLAGS for gcc
-#
-ifeq ($(shell test $(GCC_VERSION) -ge 44 && echo 1), 1)
-CFLAGS     += -Wno-deprecated
-CFLAGS_ixgbe_common.o += -Wno-unused-but-set-variable
-CFLAGS_ixgbe_x550.o += -Wno-unused-but-set-variable
-endif
-CFLAGS_BASE_DRIVER = -Wno-unused-parameter -Wno-unused-value
-CFLAGS_BASE_DRIVER += -Wno-strict-aliasing -Wno-format-extra-args
-
-ifeq ($(shell test $(GCC_VERSION) -ge 46 && echo 1), 1)
-CFLAGS_ixgbe_x550.o += -Wno-maybe-uninitialized
-endif
-
-ifeq ($(shell test $(GCC_VERSION) -ge 50 && echo 1), 1)
-CFLAGS_ixgbe_common.o += -Wno-logical-not-parentheses
-ifeq ($(shell test $(GCC_VERSION) -ge 70 && echo 1), 1)
-CFLAGS_BASE_DRIVER += -Wno-implicit-fallthrough
-endif
-endif
-
-endif
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_hash
-LDLIBS += -lrte_bus_pci
-LDLIBS += -lpthread
-
-#
-# Add extra flags for base driver files (also known as shared code)
-# to disable warnings in them
-#
-BASE_DRIVER_OBJS=$(sort $(patsubst %.c,%.o,$(notdir $(wildcard $(SRCDIR)/base/*.c))))
-$(foreach obj, $(BASE_DRIVER_OBJS), $(eval CFLAGS_$(obj)+=$(CFLAGS_BASE_DRIVER)))
-
-VPATH += $(SRCDIR)/base
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_common.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_82598.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_82599.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_x540.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_x550.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_phy.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_api.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_vf.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_hv_vf.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_dcb.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_dcb_82599.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_dcb_82598.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_mbx.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_fdir.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_pf.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_flow.c
-ifneq ($(filter y,$(CONFIG_RTE_ARCH_ARM) $(CONFIG_RTE_ARCH_ARM64)),)
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_rxtx_vec_neon.c
-else ifeq ($(CONFIG_RTE_ARCH_X86),y)
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_rxtx_vec_sse.c
-endif
-ifeq ($(CONFIG_RTE_LIBRTE_IXGBE_BYPASS),y)
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_bypass.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_82599_bypass.c
-endif
-ifeq ($(CONFIG_RTE_LIBRTE_SECURITY),y)
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_ipsec.c
-endif
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += rte_pmd_ixgbe.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_tm.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_vf_representor.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_IXGBE_PMD)-include := rte_pmd_ixgbe.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/kni/Makefile b/drivers/net/kni/Makefile
deleted file mode 100644
index 0694ffd021..0000000000
--- a/drivers/net/kni/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_kni.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lpthread
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_kni
-LDLIBS += -lrte_bus_vdev
-
-EXPORT_MAP := rte_pmd_kni_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_KNI) += rte_eth_kni.c
-
-#
-# Export include files
-#
-SYMLINK-y-include +=
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/liquidio/Makefile b/drivers/net/liquidio/Makefile
deleted file mode 100644
index d7fda7f527..0000000000
--- a/drivers/net/liquidio/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Cavium, Inc
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_lio.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)/base -I$(SRCDIR)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-
-EXPORT_MAP := rte_pmd_liquidio_version.map
-
-VPATH += $(RTE_SDK)/drivers/net/liquidio/base
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_LIO_PMD) += lio_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_LIO_PMD) += lio_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_LIO_PMD) += lio_23xx_vf.c
-SRCS-$(CONFIG_RTE_LIBRTE_LIO_PMD) += lio_mbox.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/memif/Makefile b/drivers/net/memif/Makefile
deleted file mode 100644
index 3bf4ddce4c..0000000000
--- a/drivers/net/memif/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2018-2019 Cisco Systems, Inc.  All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_memif.a
-
-EXPORT_MAP := rte_pmd_memif_version.map
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool
-LDLIBS += -lrte_ethdev -lrte_kvargs -lrte_net
-LDLIBS += -lrte_hash
-LDLIBS += -lrte_bus_vdev
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_MEMIF) += rte_eth_memif.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_MEMIF) += memif_socket.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/mlx4/Makefile b/drivers/net/mlx4/Makefile
deleted file mode 100644
index 02e9b2ec07..0000000000
--- a/drivers/net/mlx4/Makefile
+++ /dev/null
@@ -1,142 +0,0 @@
-#   SPDX-License-Identifier: BSD-3-Clause
-#   Copyright 2012 6WIND S.A.
-#   Copyright 2012 Mellanox Technologies, Ltd
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# Library name.
-LIB = librte_pmd_mlx4.a
-LIB_GLUE = $(LIB_GLUE_BASE).$(LIB_GLUE_VERSION)
-LIB_GLUE_BASE = librte_pmd_mlx4_glue.so
-LIB_GLUE_VERSION = 18.02.0
-
-# Sources.
-SRCS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4_flow.c
-ifneq ($(CONFIG_RTE_IBVERBS_LINK_DLOPEN),y)
-SRCS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4_glue.c
-endif
-SRCS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4_intr.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4_mp.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4_mr.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4_rxq.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4_txq.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4_utils.c
-
-ifeq ($(CONFIG_RTE_IBVERBS_LINK_DLOPEN),y)
-INSTALL-$(CONFIG_RTE_LIBRTE_MLX4_PMD)-lib += $(LIB_GLUE)
-endif
-
-# Basic CFLAGS.
-CFLAGS += -O3
-CFLAGS += -std=c11 -Wall -Wextra
-CFLAGS += -g
-CFLAGS += -I.
-CFLAGS += -D_BSD_SOURCE
-CFLAGS += -D_DEFAULT_SOURCE
-CFLAGS += -D_XOPEN_SOURCE=600
-CFLAGS += $(WERROR_FLAGS)
-ifeq ($(CONFIG_RTE_IBVERBS_LINK_DLOPEN),y)
-CFLAGS += -DMLX4_GLUE='"$(LIB_GLUE)"'
-CFLAGS += -DMLX4_GLUE_VERSION='"$(LIB_GLUE_VERSION)"'
-CFLAGS_mlx4_glue.o += -fPIC
-LDLIBS += -ldl
-else ifeq ($(CONFIG_RTE_IBVERBS_LINK_STATIC),y)
-LDLIBS += $(shell $(RTE_SDK)/buildtools/options-ibverbs-static.sh)
-else
-LDLIBS += -libverbs -lmlx4
-endif
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-
-# A few warnings cannot be avoided in external headers.
-CFLAGS += -Wno-error=cast-qual
-
-EXPORT_MAP := rte_pmd_mlx4_version.map
-# DEBUG which is usually provided on the command-line may enable
-# CONFIG_RTE_LIBRTE_MLX4_DEBUG.
-ifeq ($(DEBUG),1)
-CONFIG_RTE_LIBRTE_MLX4_DEBUG := y
-endif
-
-# User-defined CFLAGS.
-ifeq ($(CONFIG_RTE_LIBRTE_MLX4_DEBUG),y)
-CFLAGS += -pedantic
-ifneq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS += -DPEDANTIC
-endif
-AUTO_CONFIG_CFLAGS += -Wno-pedantic
-else
-CFLAGS += -UPEDANTIC
-endif
-
-include $(RTE_SDK)/mk/rte.lib.mk
-
-# Generate and clean-up mlx4_autoconf.h.
-
-export CC CFLAGS CPPFLAGS EXTRA_CFLAGS EXTRA_CPPFLAGS
-export AUTO_CONFIG_CFLAGS += -Wno-error
-
-ifndef V
-AUTOCONF_OUTPUT := >/dev/null
-endif
-
-mlx4_autoconf.h.new: FORCE
-
-mlx4_autoconf.h.new: $(RTE_SDK)/buildtools/auto-config-h.sh
-	$Q $(RM) -f -- '$@'
-	$Q : > '$@'
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_MLX4_BUF_ALLOCATORS \
-		infiniband/mlx4dv.h \
-		enum MLX4DV_SET_CTX_ATTR_BUF_ALLOCATORS \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_MLX4_UAR_MMAP_OFFSET \
-		infiniband/mlx4dv.h \
-		enum MLX4DV_QP_MASK_UAR_MMAP_OFFSET \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_MLX4_WQE_LSO_SEG \
-		infiniband/mlx4dv.h \
-		type 'struct mlx4_wqe_lso_seg' \
-		$(AUTOCONF_OUTPUT)
-
-# Create mlx4_autoconf.h or update it in case it differs from the new one.
-
-mlx4_autoconf.h: mlx4_autoconf.h.new
-	$Q [ -f '$@' ] && \
-		cmp '$<' '$@' $(AUTOCONF_OUTPUT) || \
-		mv '$<' '$@'
-
-$(SRCS-$(CONFIG_RTE_LIBRTE_MLX4_PMD):.c=.o): mlx4_autoconf.h
-
-# Generate dependency plug-in for rdma-core when the PMD must not be linked
-# directly, so that applications do not inherit this dependency.
-
-ifeq ($(CONFIG_RTE_IBVERBS_LINK_DLOPEN),y)
-
-$(LIB): $(LIB_GLUE)
-
-ifeq ($(LINK_USING_CC),1)
-GLUE_LDFLAGS := $(call linkerprefix,$(LDFLAGS))
-else
-GLUE_LDFLAGS := $(LDFLAGS)
-endif
-$(LIB_GLUE): mlx4_glue.o
-	$Q $(LD) $(GLUE_LDFLAGS) $(EXTRA_LDFLAGS) \
-		-Wl,-h,$(LIB_GLUE) \
-		-shared -o $@ $< -libverbs -lmlx4
-
-mlx4_glue.o: mlx4_autoconf.h
-
-endif
-
-clean_mlx4: FORCE
-	$Q rm -f -- mlx4_autoconf.h mlx4_autoconf.h.new
-	$Q rm -f -- mlx4_glue.o $(LIB_GLUE_BASE)*
-
-clean: clean_mlx4
diff --git a/drivers/net/mlx5/Makefile b/drivers/net/mlx5/Makefile
deleted file mode 100644
index 568c772415..0000000000
--- a/drivers/net/mlx5/Makefile
+++ /dev/null
@@ -1,82 +0,0 @@
-#   SPDX-License-Identifier: BSD-3-Clause
-#   Copyright 2015 6WIND S.A.
-#   Copyright 2015 Mellanox Technologies, Ltd
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# Library name.
-LIB = librte_pmd_mlx5.a
-
-# Sources.
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_rxq.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_txq.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_txpp.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_rxtx.c
-ifneq ($(filter y,$(CONFIG_RTE_ARCH_X86_64) \
-			$(CONFIG_RTE_ARCH_PPC_64) \
-		  $(CONFIG_RTE_ARCH_ARM64)),)
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_rxtx_vec.c
-endif
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_trigger.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_mac.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_rxmode.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_vlan.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_stats.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_rss.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_mr.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_flow_meter.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_flow_dv.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_flow_verbs.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_utils.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += linux/mlx5_socket.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += linux/mlx5_os.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += linux/mlx5_ethdev_os.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += linux/mlx5_verbs.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += linux/mlx5_mp_os.c
-
-# Basic CFLAGS.
-CFLAGS += -O3
-CFLAGS += -std=c11 -Wall -Wextra
-CFLAGS += -g
-CFLAGS += -I$(RTE_SDK)/drivers/common/mlx5
-CFLAGS += -I$(RTE_SDK)/drivers/common/mlx5/linux
-CFLAGS += -I$(RTE_SDK)/drivers/net/mlx5
-CFLAGS += -I$(RTE_SDK)/drivers/net/mlx5/linux
-CFLAGS += -I$(BUILDDIR)/drivers/common/mlx5
-CFLAGS += -D_BSD_SOURCE
-CFLAGS += -D_DEFAULT_SOURCE
-CFLAGS += -D_XOPEN_SOURCE=600
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -Wno-strict-prototypes
-LDLIBS += -lrte_common_mlx5
-LDLIBS += -lm
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-
-# A few warnings cannot be avoided in external headers.
-CFLAGS += -Wno-error=cast-qual
-
-EXPORT_MAP := rte_pmd_mlx5_version.map
-
-# DEBUG which is usually provided on the command-line may enable
-# CONFIG_RTE_LIBRTE_MLX5_DEBUG.
-ifeq ($(DEBUG),1)
-CONFIG_RTE_LIBRTE_MLX5_DEBUG := y
-endif
-
-# User-defined CFLAGS.
-ifeq ($(CONFIG_RTE_LIBRTE_MLX5_DEBUG),y)
-CFLAGS += -pedantic
-ifneq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS += -DPEDANTIC
-endif
-AUTO_CONFIG_CFLAGS += -Wno-pedantic
-else
-CFLAGS += -UPEDANTIC
-endif
-
-include $(RTE_SDK)/mk/rte.lib.mk
-
diff --git a/drivers/net/mvneta/Makefile b/drivers/net/mvneta/Makefile
deleted file mode 100644
index 41e50479ff..0000000000
--- a/drivers/net/mvneta/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Marvell International Ltd.
-# Copyright(c) 2018 Semihalf.
-# All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-ifneq ($(MAKECMDGOALS),clean)
-ifneq ($(MAKECMDGOALS),config)
-ifeq ($(LIBMUSDK_PATH),)
-$(error "Please define LIBMUSDK_PATH environment variable")
-endif
-endif
-endif
-
-# library name
-LIB = librte_pmd_mvneta.a
-
-# versioning export map
-EXPORT_MAP := rte_pmd_mvneta_version.map
-
-# external library dependencies
-CFLAGS += -I$(RTE_SDK)/drivers/common/mvep
-CFLAGS += -I$(LIBMUSDK_PATH)/include
-CFLAGS += -DMVCONF_TYPES_PUBLIC
-CFLAGS += -DMVCONF_DMA_PHYS_ADDR_T_PUBLIC
-CFLAGS += -DMVCONF_DMA_PHYS_ADDR_T_SIZE=64
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -O3
-LDLIBS += -L$(LIBMUSDK_PATH)/lib
-LDLIBS += -lmusdk
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_cfgfile
-LDLIBS += -lrte_bus_vdev -lrte_common_mvep
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_MVNETA_PMD) += mvneta_ethdev.c mvneta_rxtx.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/mvpp2/Makefile b/drivers/net/mvpp2/Makefile
deleted file mode 100644
index 8a3ec93a60..0000000000
--- a/drivers/net/mvpp2/Makefile
+++ /dev/null
@@ -1,42 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Marvell International Ltd.
-# Copyright(c) 2017 Semihalf.
-# All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-ifneq ($(MAKECMDGOALS),clean)
-ifneq ($(MAKECMDGOALS),config)
-ifeq ($(LIBMUSDK_PATH),)
-$(error "Please define LIBMUSDK_PATH environment variable")
-endif
-endif
-endif
-
-# library name
-LIB = librte_pmd_mvpp2.a
-
-# versioning export map
-EXPORT_MAP := rte_pmd_mvpp2_version.map
-
-# external library dependencies
-CFLAGS += -I$(RTE_SDK)/drivers/common/mvep
-CFLAGS += -I$(LIBMUSDK_PATH)/include
-CFLAGS += -DMVCONF_TYPES_PUBLIC
-CFLAGS += -DMVCONF_DMA_PHYS_ADDR_T_PUBLIC
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -O3
-LDLIBS += -L$(LIBMUSDK_PATH)/lib
-LDLIBS += -lmusdk
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_cfgfile
-LDLIBS += -lrte_bus_vdev -lrte_common_mvep
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_MVPP2_PMD) += mrvl_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_MVPP2_PMD) += mrvl_qos.c
-SRCS-$(CONFIG_RTE_LIBRTE_MVPP2_PMD) += mrvl_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_MVPP2_PMD) += mrvl_mtr.c
-SRCS-$(CONFIG_RTE_LIBRTE_MVPP2_PMD) += mrvl_tm.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/netvsc/Makefile b/drivers/net/netvsc/Makefile
deleted file mode 100644
index da8991584a..0000000000
--- a/drivers/net/netvsc/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-LIB = librte_pmd_netvsc.a
-
-CFLAGS += -O3 $(WERROR_FLAGS)
-
-EXPORT_MAP := rte_pmd_netvsc_version.map
-
-SRCS-$(CONFIG_RTE_LIBRTE_NETVSC_PMD) += hn_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_NETVSC_PMD) += hn_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_NETVSC_PMD) += hn_rndis.c
-SRCS-$(CONFIG_RTE_LIBRTE_NETVSC_PMD) += hn_nvs.c
-SRCS-$(CONFIG_RTE_LIBRTE_NETVSC_PMD) += hn_vf.c
-
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_vmbus
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/nfb/Makefile b/drivers/net/nfb/Makefile
deleted file mode 100644
index e92d29dcd3..0000000000
--- a/drivers/net/nfb/Makefile
+++ /dev/null
@@ -1,40 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019 Cesnet
-# Copyright(c) 2019 Netcope Technologies, a.s. <info@netcope.com>
-# All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_nfb.a
-
-INCLUDES :=-I$(SRCDIR)
-
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += $(shell command -v pkg-config > /dev/null 2>&1 && pkg-config --cflags netcope-common)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_kvargs
-LDLIBS += -lrte_ethdev -lrte_net
-LDLIBS += -lrte_bus_pci
-LDLIBS += $(shell command -v pkg-config > /dev/null 2>&1 && pkg-config --libs netcope-common)
-
-EXPORT_MAP := rte_pmd_nfb_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_NFB_PMD) += nfb_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_NFB_PMD) += nfb_rx.c
-SRCS-$(CONFIG_RTE_LIBRTE_NFB_PMD) += nfb_tx.c
-SRCS-$(CONFIG_RTE_LIBRTE_NFB_PMD) += nfb_stats.c
-SRCS-$(CONFIG_RTE_LIBRTE_NFB_PMD) += nfb_rxmode.c
-
-#
-# Export include files
-#
-SYMLINK-y-include +=
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/nfp/Makefile b/drivers/net/nfp/Makefile
deleted file mode 100644
index 289b3a60e3..0000000000
--- a/drivers/net/nfp/Makefile
+++ /dev/null
@@ -1,41 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_nfp.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-LDLIBS += -lm
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-
-EXPORT_MAP := rte_pmd_nfp_version.map
-
-VPATH += $(SRCDIR)/nfpcore
-
-SRCS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp_cppcore.c
-SRCS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp_cpp_pcie_ops.c
-SRCS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp_mutex.c
-SRCS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp_resource.c
-SRCS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp_crc.c
-SRCS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp_mip.c
-SRCS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp_nffw.c
-SRCS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp_hwinfo.c
-SRCS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp_rtsym.c
-SRCS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp_nsp.c
-SRCS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp_nsp_cmds.c
-SRCS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp_nsp_eth.c
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp_net.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/null/Makefile b/drivers/net/null/Makefile
deleted file mode 100644
index f51150c131..0000000000
--- a/drivers/net/null/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2015 IGEL Co.,Ltd.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_null.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_vdev
-
-EXPORT_MAP := rte_pmd_null_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_NULL) += rte_eth_null.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/octeontx/Makefile b/drivers/net/octeontx/Makefile
deleted file mode 100644
index c4db878009..0000000000
--- a/drivers/net/octeontx/Makefile
+++ /dev/null
@@ -1,53 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Cavium, Inc
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_octeontx.a
-
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx/
-CFLAGS += -I$(RTE_SDK)/drivers/mempool/octeontx/
-
-EXPORT_MAP := rte_pmd_octeontx_version.map
-
-OBJS_BASE_DRIVER=$(patsubst %.c,%.o,$(notdir $(wildcard $(SRCDIR)/base/*.c)))
-$(foreach obj, $(OBJS_BASE_DRIVER), $(eval CFLAGS_$(obj)+=$(CFLAGS_BASE_DRIVER)))
-
-VPATH += $(SRCDIR)/base
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_OCTEONTX_PMD) += octeontx_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_OCTEONTX_PMD) += octeontx_pkovf.c
-SRCS-$(CONFIG_RTE_LIBRTE_OCTEONTX_PMD) += octeontx_pkivf.c
-SRCS-$(CONFIG_RTE_LIBRTE_OCTEONTX_PMD) += octeontx_bgx.c
-SRCS-$(CONFIG_RTE_LIBRTE_OCTEONTX_PMD) += octeontx_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_OCTEONTX_PMD) += octeontx_ethdev_ops.c
-
-ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
-CFLAGS_octeontx_rxtx.o += -fno-prefetch-loop-arrays
-
-ifeq ($(shell test $(GCC_VERSION) -ge 46 && echo 1), 1)
-CFLAGS_octeontx_rxtx.o += -O3 -Ofast
-else
-CFLAGS_octeontx_rxtx.o += -O3 -ffast-math
-endif
-
-else
-CFLAGS_octeontx_rxtx.o += -O3 -Ofast
-endif
-
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_common_octeontx
-LDLIBS += -lrte_mempool_octeontx
-LDLIBS += -lrte_eventdev
-LDLIBS += -lrte_bus_pci
-LDLIBS += -lrte_bus_vdev
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/octeontx2/Makefile b/drivers/net/octeontx2/Makefile
deleted file mode 100644
index 0de43e36af..0000000000
--- a/drivers/net/octeontx2/Makefile
+++ /dev/null
@@ -1,63 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(C) 2019 Marvell International Ltd.
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_octeontx2.a
-
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/common/cpt
-CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx2
-CFLAGS += -I$(RTE_SDK)/drivers/crypto/octeontx2
-CFLAGS += -I$(RTE_SDK)/drivers/mempool/octeontx2
-CFLAGS += -I$(RTE_SDK)/drivers/net/octeontx2
-CFLAGS += -O3
-ifneq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS += -flax-vector-conversions
-endif
-
-ifneq ($(CONFIG_RTE_ARCH_64),y)
-CFLAGS += -Wno-int-to-pointer-cast
-CFLAGS += -Wno-pointer-to-int-cast
-ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS += -diag-disable 2259
-endif
-endif
-
-EXPORT_MAP := rte_pmd_octeontx2_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_OCTEONTX2_PMD) += \
-	otx2_rx.c 	\
-	otx2_tx.c 	\
-	otx2_tm.c	\
-	otx2_rss.c	\
-	otx2_mac.c	\
-	otx2_ptp.c	\
-	otx2_flow.c	\
-	otx2_link.c	\
-	otx2_vlan.c	\
-	otx2_stats.c	\
-	otx2_mcast.c	\
-	otx2_lookup.c	\
-	otx2_ethdev.c	\
-	otx2_flow_ctrl.c \
-	otx2_flow_parse.c \
-	otx2_flow_utils.c \
-	otx2_ethdev_irq.c \
-	otx2_ethdev_ops.c \
-	otx2_ethdev_sec.c \
-	otx2_ethdev_debug.c \
-	otx2_ethdev_devargs.c
-
-LDLIBS += -lrte_common_octeontx2 -lrte_mempool_octeontx2 -lrte_eal -lrte_net
-LDLIBS += -lrte_ethdev -lrte_bus_pci -lrte_kvargs -lrte_mbuf  -lrte_mempool -lm
-LDLIBS += -lrte_cryptodev -lrte_eventdev -lrte_security
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/pcap/Makefile b/drivers/net/pcap/Makefile
deleted file mode 100644
index f243d1a0fa..0000000000
--- a/drivers/net/pcap/Makefile
+++ /dev/null
@@ -1,32 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation.
-# Copyright(c) 2014 6WIND S.A.
-# All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_pcap.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lpcap
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_vdev
-
-EXPORT_MAP := rte_pmd_pcap_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_PCAP) += rte_eth_pcap.c
-
-#
-# Export include files
-#
-SYMLINK-y-include +=
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/pfe/Makefile b/drivers/net/pfe/Makefile
deleted file mode 100644
index 75d30b01aa..0000000000
--- a/drivers/net/pfe/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2018-2019 NXP
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_pfe.a
-
-CFLAGS += -O3 $(WERROR_FLAGS)
-CFLAGS += -Wno-pointer-arith
-CFLAGS += -I$(RTE_SDK)/drivers/net/pfe/base/
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-
-EXPORT_MAP := rte_pmd_pfe_version.map
-
-# Interfaces with DPDK
-SRCS-$(CONFIG_RTE_LIBRTE_PFE_PMD) += pfe_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PFE_PMD) += pfe_hal.c
-SRCS-$(CONFIG_RTE_LIBRTE_PFE_PMD) += pfe_hif_lib.c
-SRCS-$(CONFIG_RTE_LIBRTE_PFE_PMD) += pfe_hif.c
-
-LDLIBS += -lrte_bus_vdev
-LDLIBS += -lrte_bus_dpaa
-LDLIBS += -lrte_common_dpaax
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool
-LDLIBS += -lrte_ethdev -lrte_kvargs
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/qede/Makefile b/drivers/net/qede/Makefile
deleted file mode 100644
index 0e8a67b0da..0000000000
--- a/drivers/net/qede/Makefile
+++ /dev/null
@@ -1,109 +0,0 @@
-#    SPDX-License-Identifier: BSD-3-Clause
-#    Copyright (c) 2016 - 2018 Cavium Inc.
-#    All rights reserved.
-#    www.cavium.com
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_qede.a
-
-CFLAGS += -O3
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-
-EXPORT_MAP := rte_pmd_qede_version.map
-
-#
-# OS
-#
-OS_TYPE := $(shell uname -s)
-
-#
-# CFLAGS
-#
-CFLAGS_BASE_DRIVER = -Wno-unused-parameter
-CFLAGS_BASE_DRIVER += -Wno-sign-compare
-CFLAGS_BASE_DRIVER += -Wno-missing-prototypes
-CFLAGS_BASE_DRIVER += -Wno-cast-qual
-CFLAGS_BASE_DRIVER += -Wno-unused-function
-CFLAGS_BASE_DRIVER += -Wno-unused-variable
-CFLAGS_BASE_DRIVER += -Wno-strict-aliasing
-CFLAGS_BASE_DRIVER += -Wno-missing-prototypes
-
-ifneq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS_BASE_DRIVER += -Wno-unused-value
-ifeq ($(OS_TYPE),Linux)
-ifeq ($(shell clang -Wno-shift-negative-value -Werror -E - < /dev/null > /dev/null 2>&1; echo $$?),0)
-CFLAGS_BASE_DRIVER += -Wno-shift-negative-value
-endif
-endif
-endif
-
-ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
-ifeq ($(shell test $(GCC_VERSION) -ge 44 && echo 1), 1)
-CFLAGS_BASE_DRIVER += -Wno-unused-but-set-variable
-CFLAGS += -Wno-format-nonliteral
-endif
-CFLAGS_BASE_DRIVER += -Wno-missing-declarations
-ifeq ($(shell test $(GCC_VERSION) -ge 46 && echo 1), 1)
-CFLAGS_BASE_DRIVER += -Wno-maybe-uninitialized
-endif
-CFLAGS_BASE_DRIVER += -Wno-strict-prototypes
-ifeq ($(shell test $(GCC_VERSION) -ge 60 && echo 1), 1)
-CFLAGS_BASE_DRIVER += -Wno-shift-negative-value
-ifeq ($(shell test $(GCC_VERSION) -ge 70 && echo 1), 1)
-CFLAGS_BASE_DRIVER += -Wno-implicit-fallthrough
-endif
-endif
-else ifeq ($(CONFIG_RTE_TOOLCHAIN_CLANG),y)
-CFLAGS_BASE_DRIVER += -Wno-format-extra-args
-CFLAGS_BASE_DRIVER += -Wno-visibility
-CFLAGS_BASE_DRIVER += -Wno-empty-body
-CFLAGS_BASE_DRIVER += -Wno-invalid-source-encoding
-CFLAGS_BASE_DRIVER += -Wno-sometimes-uninitialized
-ifeq ($(shell clang -Wno-pointer-bool-conversion -Werror -E - < /dev/null > /dev/null 2>&1; echo $$?),0)
-CFLAGS_BASE_DRIVER += -Wno-pointer-bool-conversion
-endif
-else #ICC
-CFLAGS_qede_ethdev.o += -diag-disable 279 #279: controlling expression is constant
-endif
-
-#
-# Add extra flags for base ecore driver files
-# to disable warnings in them
-#
-#
-BASE_DRIVER_OBJS=$(sort $(patsubst %.c,%.o,$(notdir $(wildcard $(SRCDIR)/base/*.c))))
-$(foreach obj, $(BASE_DRIVER_OBJS), $(eval CFLAGS_$(obj)+=$(CFLAGS_BASE_DRIVER)))
-
-VPATH += $(SRCDIR)/base
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_dev.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_hw.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_cxt.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_l2.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_sp_commands.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_init_fw_funcs.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_spq.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_init_ops.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_mcp.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_int.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_dcbx.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += bcm_osal.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_sriov.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_vf.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += qede_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += qede_main.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += qede_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += qede_filter.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += qede_debug.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += qede_regs.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/ring/Makefile b/drivers/net/ring/Makefile
deleted file mode 100644
index d6a3dec350..0000000000
--- a/drivers/net/ring/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_ring.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_vdev
-
-EXPORT_MAP := rte_pmd_ring_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_RING) += rte_eth_ring.c
-
-#
-# Export include files
-#
-SYMLINK-y-include += rte_eth_ring.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/sfc/Makefile b/drivers/net/sfc/Makefile
deleted file mode 100644
index 20bf343814..0000000000
--- a/drivers/net/sfc/Makefile
+++ /dev/null
@@ -1,133 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-#
-# Copyright(c) 2019-2020 Xilinx, Inc.
-# Copyright(c) 2016-2019 Solarflare Communications Inc.
-#
-# This software was jointly developed between OKTET Labs (under contract
-# for Solarflare) and Solarflare Communications, Inc.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_sfc_efx.a
-
-CFLAGS += -I$(SRCDIR)/base/
-CFLAGS += -I$(SRCDIR)
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-# Strict-aliasing rules are violated by rte_eth_link to uint64_t casts
-CFLAGS += -Wno-strict-aliasing
-
-# Enable extra warnings
-CFLAGS += -Wextra
-
-# More warnings not enabled by above aggregators
-CFLAGS += -Wdisabled-optimization
-
-# Extra CFLAGS for base driver files
-CFLAGS_BASE_DRIVER += -Wno-sign-compare
-CFLAGS_BASE_DRIVER += -Wno-unused-parameter
-CFLAGS_BASE_DRIVER += -Wno-unused-variable
-
-# Compiler and version dependent flags
-ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
-CFLAGS += -Waggregate-return
-CFLAGS += -Wnested-externs
-CFLAGS_BASE_DRIVER += -Wno-empty-body
-CFLAGS_BASE_DRIVER += -Wno-unused-but-set-variable
-else ifeq ($(CONFIG_RTE_TOOLCHAIN_CLANG),y)
-CFLAGS += -Waggregate-return
-CFLAGS += -Wbad-function-cast
-CFLAGS_BASE_DRIVER += -Wno-empty-body
-else ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS_BASE_DRIVER += -Wno-unused-but-set-variable
-# Suppress ICC false positive warning on 'bulk' may be used before its
-# value is set
-CFLAGS_sfc_ef10_tx.o += -diag-disable 3656
-endif
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci -lrte_pci
-
-#
-# List of base driver object files for which
-# special CFLAGS above should be applied
-#
-BASE_DRIVER_OBJS=$(sort $(patsubst %.c,%.o,$(notdir $(wildcard $(SRCDIR)/base/*.c))))
-$(foreach obj, $(BASE_DRIVER_OBJS), \
-  $(eval CFLAGS_$(obj)+=$(CFLAGS_BASE_DRIVER)))
-
-EXPORT_MAP := rte_pmd_sfc_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_kvargs.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_mcdi.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_intr.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_ev.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_port.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_rx.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_tx.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_tso.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_filter.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_dp.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_ef10_rx.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_ef10_essb_rx.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_ef10_tx.c
-
-VPATH += $(SRCDIR)/base
-
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_bootcfg.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_crc32.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_ev.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_evb.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_filter.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_hash.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_intr.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_lic.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_mac.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_mcdi.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_mon.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_nic.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_nvram.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_phy.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_port.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_proxy.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_rx.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_sram.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_tunnel.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_tx.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_vpd.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += mcdi_mon.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += siena_mac.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += siena_mcdi.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += siena_nic.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += siena_nvram.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += siena_phy.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += siena_sram.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += siena_vpd.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += ef10_ev.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += ef10_evb.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += ef10_filter.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += ef10_intr.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += ef10_image.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += ef10_mac.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += ef10_mcdi.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += ef10_nic.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += ef10_nvram.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += ef10_phy.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += ef10_proxy.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += ef10_rx.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += ef10_tx.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += ef10_vpd.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += hunt_nic.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += medford_nic.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += medford2_nic.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/softnic/Makefile b/drivers/net/softnic/Makefile
deleted file mode 100644
index dabbe13a5f..0000000000
--- a/drivers/net/softnic/Makefile
+++ /dev/null
@@ -1,54 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_softnic.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_pipeline -lrte_port -lrte_table
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_sched
-LDLIBS += -lrte_cryptodev
-LDLIBS += -lrte_bus_vdev
-
-EXPORT_MAP := rte_pmd_softnic_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += rte_eth_softnic.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += rte_eth_softnic_mempool.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += rte_eth_softnic_swq.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += rte_eth_softnic_link.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += rte_eth_softnic_tm.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += rte_eth_softnic_tap.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += rte_eth_softnic_action.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += rte_eth_softnic_pipeline.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += rte_eth_softnic_thread.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += rte_eth_softnic_cli.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += rte_eth_softnic_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += rte_eth_softnic_meter.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += rte_eth_softnic_cryptodev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += parser.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += conn.c
-
-#
-# Export include files
-#
-SYMLINK-y-include += rte_eth_softnic.h
-
-ifneq ($(CONFIG_RTE_EXEC_ENV_LINUX),y)
-$(info Softnic PMD can only operate in a linux environment, \
-please change the definition of the RTE_TARGET environment variable)
-all:
-clean:
-else
-
-include $(RTE_SDK)/mk/rte.lib.mk
-
-endif
diff --git a/drivers/net/szedata2/Makefile b/drivers/net/szedata2/Makefile
deleted file mode 100644
index 675d0938a2..0000000000
--- a/drivers/net/szedata2/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2015 CESNET
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_szedata2.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lsze2
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-
-EXPORT_MAP := rte_pmd_szedata2_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SZEDATA2) += rte_eth_szedata2.c
-
-#
-# Export include files
-#
-SYMLINK-y-include +=
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/tap/Makefile b/drivers/net/tap/Makefile
deleted file mode 100644
index cbf87af401..0000000000
--- a/drivers/net/tap/Makefile
+++ /dev/null
@@ -1,97 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_tap.a
-
-EXPORT_MAP := rte_pmd_tap_version.map
-
-#
-# TAP_MAX_QUEUES must be a power of 2
-#
-ifeq ($(TAP_MAX_QUEUES),)
-	TAP_MAX_QUEUES = 16
-endif
-CFLAGS += -O3
-CFLAGS += -I$(SRCDIR)
-CFLAGS += -I.
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_hash
-LDLIBS += -lrte_bus_vdev -lrte_gso
-
-CFLAGS += -DTAP_MAX_QUEUES=$(TAP_MAX_QUEUES)
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_TAP) += rte_eth_tap.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_TAP) += tap_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_TAP) += tap_netlink.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_TAP) += tap_tcmsgs.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_TAP) += tap_bpf_api.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_TAP) += tap_intr.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
-
-# Generate and clean-up tap_autoconf.h.
-
-export CC CFLAGS CPPFLAGS EXTRA_CFLAGS EXTRA_CPPFLAGS
-export AUTO_CONFIG_CFLAGS = -Wno-error
-
-ifndef V
-AUTOCONF_OUTPUT := >/dev/null
-endif
-
-tap_autoconf.h.new: FORCE
-
-tap_autoconf.h.new: $(RTE_SDK)/buildtools/auto-config-h.sh
-	$Q $(RM) -f -- '$@'
-	$Q sh -- '$<' '$@' \
-		HAVE_TC_FLOWER \
-		linux/pkt_cls.h \
-		enum TCA_FLOWER_UNSPEC \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_TC_VLAN_ID \
-		linux/pkt_cls.h \
-		enum TCA_FLOWER_KEY_VLAN_PRIO \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_TC_BPF \
-		linux/pkt_cls.h \
-		enum TCA_BPF_UNSPEC \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_TC_BPF_FD \
-		linux/pkt_cls.h \
-		enum TCA_BPF_FD \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_TC_ACT_BPF \
-		linux/tc_act/tc_bpf.h \
-		enum TCA_ACT_BPF_UNSPEC \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_TC_ACT_BPF_FD \
-		linux/tc_act/tc_bpf.h \
-		enum TCA_ACT_BPF_FD \
-		$(AUTOCONF_OUTPUT)
-
-# Create tap_autoconf.h or update it in case it differs from the new one.
-
-tap_autoconf.h: tap_autoconf.h.new
-	$Q [ -f '$@' ] && \
-		cmp '$<' '$@' $(AUTOCONF_OUTPUT) || \
-		mv '$<' '$@'
-
-$(SRCS-$(CONFIG_RTE_LIBRTE_PMD_TAP):.c=.o): tap_autoconf.h
-
-clean_tap: FORCE
-	$Q rm -f -- tap_autoconf.h tap_autoconf.h.new
-
-clean: clean_tap
diff --git a/drivers/net/thunderx/Makefile b/drivers/net/thunderx/Makefile
deleted file mode 100644
index 149638a499..0000000000
--- a/drivers/net/thunderx/Makefile
+++ /dev/null
@@ -1,41 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016 Cavium, Inc
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_thunderx_nicvf.a
-
-CFLAGS += $(WERROR_FLAGS)
-
-LDLIBS += -lm
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-
-EXPORT_MAP := rte_pmd_thunderx_version.map
-
-OBJS_BASE_DRIVER=$(sort $(patsubst %.c,%.o,$(notdir $(wildcard $(SRCDIR)/base/*.c))))
-$(foreach obj, $(OBJS_BASE_DRIVER), $(eval CFLAGS_$(obj)+=$(CFLAGS_BASE_DRIVER)))
-
-VPATH += $(SRCDIR)/base
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD) += nicvf_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD) += nicvf_hw.c
-SRCS-$(CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD) += nicvf_mbox.c
-SRCS-$(CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD) += nicvf_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD) += nicvf_bsvf.c
-SRCS-$(CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD) += nicvf_svf.c
-
-ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
-CFLAGS_nicvf_rxtx.o += -fno-prefetch-loop-arrays
-endif
-CFLAGS_nicvf_rxtx.o += -Ofast
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/vdev_netvsc/Makefile b/drivers/net/vdev_netvsc/Makefile
deleted file mode 100644
index 01d26fb798..0000000000
--- a/drivers/net/vdev_netvsc/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2017 6WIND S.A.
-# Copyright 2017 Mellanox Technologies, Ltd
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# Properties of the generated library.
-LIB = librte_pmd_vdev_netvsc.a
-EXPORT_MAP := rte_pmd_vdev_netvsc_version.map
-
-# Additional compilation flags.
-CFLAGS += -O3
-CFLAGS += -g
-CFLAGS += -Wall -Wextra
-CFLAGS += -D_XOPEN_SOURCE=600
-CFLAGS += -D_BSD_SOURCE
-CFLAGS += -D_DEFAULT_SOURCE
-CFLAGS += $(WERROR_FLAGS)
-
-# Dependencies.
-LDLIBS += -lrte_bus_vdev
-LDLIBS += -lrte_eal
-LDLIBS += -lrte_ethdev
-LDLIBS += -lrte_kvargs
-LDLIBS += -lrte_net
-
-# Source files.
-SRCS-$(CONFIG_RTE_LIBRTE_VDEV_NETVSC_PMD) += vdev_netvsc.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/vhost/Makefile b/drivers/net/vhost/Makefile
deleted file mode 100644
index 0461e29f2c..0000000000
--- a/drivers/net/vhost/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2016 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_vhost.a
-
-LDLIBS += -lpthread
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_vhost
-LDLIBS += -lrte_bus_vdev
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-EXPORT_MAP := rte_pmd_vhost_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_VHOST) += rte_eth_vhost.c
-
-#
-# Export include files
-#
-SYMLINK-y-include += rte_eth_vhost.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/virtio/Makefile b/drivers/net/virtio/Makefile
deleted file mode 100644
index 102b1deab8..0000000000
--- a/drivers/net/virtio/Makefile
+++ /dev/null
@@ -1,82 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_virtio.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-ifeq ($(CONFIG_RTE_VIRTIO_USER),y)
-LDLIBS += -lrte_bus_vdev
-endif
-
-EXPORT_MAP := rte_pmd_virtio_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtqueue.c
-SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_pci.c
-SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_rxtx_simple.c
-
-ifeq ($(CONFIG_RTE_ARCH_X86),y)
-SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_rxtx_simple_sse.c
-else ifeq ($(CONFIG_RTE_ARCH_PPC_64),y)
-SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_rxtx_simple_altivec.c
-else ifneq ($(filter y,$(CONFIG_RTE_ARCH_ARM) $(CONFIG_RTE_ARCH_ARM64)),)
-SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_rxtx_simple_neon.c
-endif
-
-ifneq ($(FORCE_DISABLE_AVX512), y)
-	CC_AVX512_SUPPORT=\
-	$(shell $(CC) -march=native -dM -E - </dev/null 2>&1 | \
-	sed '/./{H;$$!d} ; x ; /AVX512F/!d; /AVX512BW/!d; /AVX512VL/!d' | \
-	grep -q AVX512 && echo 1)
-endif
-
-ifeq ($(CC_AVX512_SUPPORT), 1)
-CFLAGS += -DCC_AVX512_SUPPORT
-SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_rxtx_packed_avx.c
-
-ifeq ($(RTE_TOOLCHAIN), gcc)
-ifeq ($(shell test $(GCC_VERSION) -ge 83 && echo 1), 1)
-CFLAGS += -DVIRTIO_GCC_UNROLL_PRAGMA
-endif
-endif
-
-ifeq ($(RTE_TOOLCHAIN), clang)
-ifeq ($(shell test $(CLANG_MAJOR_VERSION)$(CLANG_MINOR_VERSION) -ge 37 && echo 1), 1)
-CFLAGS += -DVIRTIO_CLANG_UNROLL_PRAGMA
-endif
-endif
-
-ifeq ($(RTE_TOOLCHAIN), icc)
-ifeq ($(shell test $(ICC_MAJOR_VERSION) -ge 16 && echo 1), 1)
-CFLAGS += -DVIRTIO_ICC_UNROLL_PRAGMA
-endif
-endif
-
-CFLAGS_virtio_rxtx_packed_avx.o += -mavx512f -mavx512bw -mavx512vl
-ifeq ($(shell test $(GCC_VERSION) -ge 100 && echo 1), 1)
-CFLAGS_virtio_rxtx_packed_avx.o += -Wno-zero-length-bounds
-endif
-endif
-
-ifeq ($(CONFIG_RTE_VIRTIO_USER),y)
-SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_user/vhost_user.c
-SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_user/vhost_kernel.c
-SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_user/vhost_kernel_tap.c
-SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_user/virtio_user_dev.c
-SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_user_ethdev.c
-endif
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/vmxnet3/Makefile b/drivers/net/vmxnet3/Makefile
deleted file mode 100644
index 4390fedee0..0000000000
--- a/drivers/net/vmxnet3/Makefile
+++ /dev/null
@@ -1,53 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2015 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_vmxnet3_uio.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-#
-# CFLAGS for icc
-#
-CFLAGS_BASE_DRIVER  = -diag-disable 174 -diag-disable 593 -diag-disable 869
-CFLAGS_BASE_DRIVER += -diag-disable 981 -diag-disable 2259
-
-else ifeq ($(CONFIG_RTE_TOOLCHAIN_CLANG),y)
-#
-# CFLAGS for clang
-#
-CFLAGS_BASE_DRIVER = -Wno-unused-parameter -Wno-unused-value
-CFLAGS_BASE_DRIVER += -Wno-strict-aliasing -Wno-format-extra-args
-
-else
-#
-# CFLAGS for gcc
-#
-ifeq ($(shell test $(GCC_VERSION) -ge 44 && echo 1), 1)
-CFLAGS     += -Wno-deprecated
-endif
-CFLAGS_BASE_DRIVER = -Wno-unused-parameter -Wno-unused-value
-CFLAGS_BASE_DRIVER += -Wno-strict-aliasing -Wno-format-extra-args
-
-endif
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-
-VPATH += $(SRCDIR)/base
-
-EXPORT_MAP := rte_pmd_vmxnet3_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_VMXNET3_PMD) += vmxnet3_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_VMXNET3_PMD) += vmxnet3_ethdev.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/raw/Makefile b/drivers/raw/Makefile
deleted file mode 100644
index 80b043eb14..0000000000
--- a/drivers/raw/Makefile
+++ /dev/null
@@ -1,18 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2017 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# DIRS-$(<configuration>) += <directory>
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_SKELETON_RAWDEV) += skeleton
-ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_CMDIF_RAWDEV) += dpaa2_cmdif
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_QDMA_RAWDEV) += dpaa2_qdma
-endif
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_IFPGA_RAWDEV) += ifpga
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_IOAT_RAWDEV) += ioat
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_NTB_RAWDEV) += ntb
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_DMA_RAWDEV) += octeontx2_dma
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EP_RAWDEV) += octeontx2_ep
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/drivers/raw/dpaa2_cmdif/Makefile b/drivers/raw/dpaa2_cmdif/Makefile
deleted file mode 100644
index 227ec4896e..0000000000
--- a/drivers/raw/dpaa2_cmdif/Makefile
+++ /dev/null
@@ -1,35 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2018 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_rawdev_dpaa2_cmdif.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/qbman/include
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-
-LDLIBS += -lrte_bus_fslmc
-LDLIBS += -lrte_bus_vdev
-LDLIBS += -lrte_eal
-LDLIBS += -lrte_kvargs
-LDLIBS += -lrte_mempool_dpaa2
-LDLIBS += -lrte_rawdev
-LDLIBS += -lrte_common_dpaax
-
-EXPORT_MAP := rte_rawdev_dpaa2_cmdif_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_CMDIF_RAWDEV) += dpaa2_cmdif.c
-
-SYMLINK-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_CMDIF_RAWDEV)-include += rte_pmd_dpaa2_cmdif.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/raw/dpaa2_qdma/Makefile b/drivers/raw/dpaa2_qdma/Makefile
deleted file mode 100644
index 7b2abdddb4..0000000000
--- a/drivers/raw/dpaa2_qdma/Makefile
+++ /dev/null
@@ -1,36 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2018 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_rawdev_dpaa2_qdma.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/qbman/include
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-
-LDLIBS += -lrte_bus_fslmc
-LDLIBS += -lrte_eal
-LDLIBS += -lrte_mempool
-LDLIBS += -lrte_mempool_dpaa2
-LDLIBS += -lrte_rawdev
-LDLIBS += -lrte_kvargs
-LDLIBS += -lrte_ring
-LDLIBS += -lrte_common_dpaax
-
-EXPORT_MAP := rte_rawdev_dpaa2_qdma_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_QDMA_RAWDEV) += dpaa2_qdma.c
-
-SYMLINK-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_QDMA_RAWDEV)-include += rte_pmd_dpaa2_qdma.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/raw/ifpga/Makefile b/drivers/raw/ifpga/Makefile
deleted file mode 100644
index 371e127f19..0000000000
--- a/drivers/raw/ifpga/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_rawdev_ifpga.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/bus/ifpga
-CFLAGS += -I$(RTE_SDK)/drivers/raw/ifpga_rawdev
-CFLAGS += -I$(RTE_SDK)/drivers/net/i40e
-CFLAGS += -I$(RTE_SDK)/drivers/net/ipn3ke
-LDLIBS += -lrte_eal
-LDLIBS += -lrte_rawdev
-LDLIBS += -lrte_bus_vdev
-LDLIBS += -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-LDLIBS += -lrte_bus_ifpga
-LDLIBS += -lpthread
-LDLIBS += -lfdt
-LDLIBS += -lrte_pmd_i40e
-LDLIBS += -lrte_pmd_ipn3ke
-
-EXPORT_MAP := rte_rawdev_ifpga_version.map
-
-VPATH += $(SRCDIR)/base
-
-include $(RTE_SDK)/drivers/raw/ifpga/base/Makefile
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_IFPGA_RAWDEV) += ifpga_rawdev.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/raw/ifpga/base/Makefile b/drivers/raw/ifpga/base/Makefile
deleted file mode 100644
index c5bbcbd5f8..0000000000
--- a/drivers/raw/ifpga/base/Makefile
+++ /dev/null
@@ -1,32 +0,0 @@
-#SPDX-License-Identifier: BSD-3-Clause
-#Copyright(c) 2010-2018 Intel Corporation
-
-ifneq ($(CONFIG_RTE_LIBRTE_EAL),)
-OSDEP := osdep_rte
-else
-OSDEP := osdep_raw
-endif
-
-CFLAGS += -I$(RTE_SDK)/drivers/raw/ifpga_rawdev/base/$(OSDEP)
-
-SRCS-y += ifpga_api.c
-SRCS-y += ifpga_enumerate.c
-SRCS-y += ifpga_feature_dev.c
-SRCS-y += ifpga_fme.c
-SRCS-y += ifpga_fme_iperf.c
-SRCS-y += ifpga_fme_dperf.c
-SRCS-y += ifpga_fme_error.c
-SRCS-y += ifpga_port.c
-SRCS-y += ifpga_port_error.c
-SRCS-y += opae_hw_api.c
-SRCS-y += opae_ifpga_hw_api.c
-SRCS-y += opae_debug.c
-SRCS-y += ifpga_fme_pr.c
-SRCS-y += opae_spi.c
-SRCS-y += opae_spi_transaction.c
-SRCS-y += opae_intel_max10.c
-SRCS-y += opae_i2c.c
-SRCS-y += opae_at24_eeprom.c
-SRCS-y += opae_eth_group.c
-
-SRCS-y += $(wildcard $(SRCDIR)/base/$(OSDEP)/*.c)
diff --git a/drivers/raw/ioat/Makefile b/drivers/raw/ioat/Makefile
deleted file mode 100644
index 1609fe5e6c..0000000000
--- a/drivers/raw/ioat/Makefile
+++ /dev/null
@@ -1,28 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_rawdev_ioat.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-LDLIBS += -lrte_eal -lrte_rawdev
-LDLIBS += -lrte_pci -lrte_bus_pci
-LDLIBS += -lrte_mbuf -lrte_mempool
-
-# versioning export map
-EXPORT_MAP := rte_rawdev_ioat_version.map
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_IOAT_RAWDEV) += ioat_rawdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_IOAT_RAWDEV) += ioat_rawdev_test.c
-
-# export include files
-SYMLINK-y-include += rte_ioat_rawdev.h
-SYMLINK-y-include += rte_ioat_spec.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/raw/ntb/Makefile b/drivers/raw/ntb/Makefile
deleted file mode 100644
index 8f0bff9b02..0000000000
--- a/drivers/raw/ntb/Makefile
+++ /dev/null
@@ -1,28 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_rawdev_ntb.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool
-LDLIBS += -lrte_pci -lrte_bus_pci
-LDLIBS += -lrte_rawdev
-
-EXPORT_MAP := rte_rawdev_ntb_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_NTB_RAWDEV) += ntb.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_NTB_RAWDEV) += ntb_hw_intel.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_PMD_NTB_RAWDEV)-include := rte_pmd_ntb.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/raw/octeontx2_dma/Makefile b/drivers/raw/octeontx2_dma/Makefile
deleted file mode 100644
index c64ca3497a..0000000000
--- a/drivers/raw/octeontx2_dma/Makefile
+++ /dev/null
@@ -1,34 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(C) 2019 Marvell International Ltd.
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_rawdev_octeontx2_dma.a
-
-CFLAGS += -O3 $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx2/
-CFLAGS += -I$(RTE_SDK)/drivers/mempool/octeontx2/
-CFLAGS += -I$(RTE_SDK)/drivers/raw/octeontx2_dma/
-LDLIBS += -lrte_eal -lrte_rawdev -lrte_bus_pci -lrte_mbuf
-LDLIBS += -lrte_common_octeontx2 -lrte_mempool
-
-ifneq ($(CONFIG_RTE_ARCH_64),y)
-CFLAGS += -Wno-int-to-pointer-cast
-CFLAGS += -Wno-pointer-to-int-cast
-ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS += -diag-disable 2259
-endif
-endif
-
-EXPORT_MAP := rte_rawdev_octeontx2_dma_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_DMA_RAWDEV) += otx2_dpi_rawdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_DMA_RAWDEV) += otx2_dpi_msg.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_DMA_RAWDEV) += otx2_dpi_test.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/raw/octeontx2_ep/Makefile b/drivers/raw/octeontx2_ep/Makefile
deleted file mode 100644
index 1a54bf56f0..0000000000
--- a/drivers/raw/octeontx2_ep/Makefile
+++ /dev/null
@@ -1,42 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(C) 2019 Marvell International Ltd.
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# Library name
-LIB = librte_rawdev_octeontx2_ep.a
-
-# Build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx2/
-CFLAGS += -I$(RTE_SDK)/drivers/raw/octeontx2_ep/
-
-LDLIBS += -lrte_eal
-LDLIBS += -lrte_rawdev
-LDLIBS += -lrte_bus_pci
-LDLIBS += -lrte_mempool
-LDLIBS += -lrte_common_octeontx2
-
-ifneq ($(CONFIG_RTE_ARCH_64),y)
-CFLAGS += -Wno-int-to-pointer-cast
-CFLAGS += -Wno-pointer-to-int-cast
-ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS += -diag-disable 2259
-endif
-endif
-
-EXPORT_MAP := rte_rawdev_octeontx2_ep_version.map
-
-#
-# All source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EP_RAWDEV) += otx2_ep_rawdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EP_RAWDEV) += otx2_ep_enqdeq.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EP_RAWDEV) += otx2_ep_test.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EP_RAWDEV) += otx2_ep_vf.c
-
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/raw/skeleton/Makefile b/drivers/raw/skeleton/Makefile
deleted file mode 100644
index 2ac66fbd45..0000000000
--- a/drivers/raw/skeleton/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2017 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_rawdev_skeleton.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal
-LDLIBS += -lrte_rawdev
-LDLIBS += -lrte_bus_vdev
-LDLIBS += -lrte_kvargs
-
-EXPORT_MAP := rte_rawdev_skeleton_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SKELETON_RAWDEV) += skeleton_rawdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SKELETON_RAWDEV) += skeleton_rawdev_test.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/regex/Makefile b/drivers/regex/Makefile
deleted file mode 100644
index 906b20546f..0000000000
--- a/drivers/regex/Makefile
+++ /dev/null
@@ -1,8 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2020 Mellanox Technologies, Ltd
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD) += mlx5
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/drivers/regex/mlx5/Makefile b/drivers/regex/mlx5/Makefile
deleted file mode 100644
index 11e3325feb..0000000000
--- a/drivers/regex/mlx5/Makefile
+++ /dev/null
@@ -1,41 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2020 Mellanox Technologies, Ltd
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# Library name.
-LIB = librte_pmd_mlx5_regex.a
-
-# Sources.
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD) += mlx5_regex.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD) += mlx5_rxp.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD) += mlx5_regex_devx.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD) += mlx5_regex_control.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD) += mlx5_regex_fastpath.c
-
-# Basic CFLAGS.
-CFLAGS += -O3
-CFLAGS += -std=c11 -Wall -Wextra
-CFLAGS += -g
-CFLAGS += -I$(RTE_SDK)/drivers/common/mlx5
-CFLAGS += -I$(BUILDDIR)/drivers/common/mlx5
-CFLAGS += -I$(RTE_SDK)/drivers/common/mlx5/linux
-CFLAGS += -I$(BUILDDIR)/drivers/common/mlx5/linux
-CFLAGS += -D_BSD_SOURCE
-CFLAGS += -D_DEFAULT_SOURCE
-CFLAGS += -D_XOPEN_SOURCE=600
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -Wno-strict-prototypes
-LDLIBS += -lrte_common_mlx5
-LDLIBS += -lm
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_regexdev
-LDLIBS += -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-LDLIBS += -lrte_pci
-
-# A few warnings cannot be avoided in external headers.
-CFLAGS += -Wno-error=cast-qual
-
-EXPORT_MAP := rte_pmd_mlx5_regex_version.map
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/vdpa/Makefile b/drivers/vdpa/Makefile
deleted file mode 100644
index 6e8835948e..0000000000
--- a/drivers/vdpa/Makefile
+++ /dev/null
@@ -1,12 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2019 Mellanox Technologies, Ltd
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-ifeq ($(CONFIG_RTE_EAL_VFIO),y)
-DIRS-$(CONFIG_RTE_LIBRTE_IFC_PMD) += ifc
-endif
-
-DIRS-$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD) += mlx5
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/drivers/vdpa/ifc/Makefile b/drivers/vdpa/ifc/Makefile
deleted file mode 100644
index b468bfdbdd..0000000000
--- a/drivers/vdpa/ifc/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_ifc.a
-
-LDLIBS += -lpthread
-LDLIBS += -lrte_eal -lrte_pci -lrte_vhost -lrte_bus_pci
-LDLIBS += -lrte_kvargs
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-#
-# Add extra flags for base driver source files to disable warnings in them
-#
-BASE_DRIVER_OBJS=$(sort $(patsubst %.c,%.o,$(notdir $(wildcard $(SRCDIR)/base/*.c))))
-
-VPATH += $(SRCDIR)/base
-
-EXPORT_MAP := rte_pmd_ifc_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_IFC_PMD) += ifcvf_vdpa.c
-SRCS-$(CONFIG_RTE_LIBRTE_IFC_PMD) += ifcvf.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/vdpa/mlx5/Makefile b/drivers/vdpa/mlx5/Makefile
deleted file mode 100644
index d46699fbc9..0000000000
--- a/drivers/vdpa/mlx5/Makefile
+++ /dev/null
@@ -1,58 +0,0 @@
-#   SPDX-License-Identifier: BSD-3-Clause
-#   Copyright 2019 Mellanox Technologies, Ltd
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# Library name.
-LIB = librte_pmd_mlx5_vdpa.a
-
-# Sources.
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD) += mlx5_vdpa.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD) += mlx5_vdpa_mem.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD) += mlx5_vdpa_event.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD) += mlx5_vdpa_virtq.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD) += mlx5_vdpa_steer.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD) += mlx5_vdpa_lm.c
-
-
-# Basic CFLAGS.
-CFLAGS += -O3
-CFLAGS += -std=c11 -Wall -Wextra
-CFLAGS += -g
-CFLAGS += -I$(RTE_SDK)/drivers/common/mlx5
-CFLAGS += -I$(RTE_SDK)/drivers/common/mlx5/linux
-CFLAGS += -I$(RTE_SDK)/drivers/net/mlx5_vdpa
-CFLAGS += -I$(RTE_SDK)/lib/librte_sched
-CFLAGS += -I$(BUILDDIR)/drivers/common/mlx5
-CFLAGS += -D_BSD_SOURCE
-CFLAGS += -D_DEFAULT_SOURCE
-CFLAGS += -D_XOPEN_SOURCE=600
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -Wno-strict-prototypes
-LDLIBS += -lrte_common_mlx5
-LDLIBS += -lrte_eal -lrte_vhost -lrte_kvargs -lrte_pci -lrte_sched
-LDLIBS += -pthread
-
-# A few warnings cannot be avoided in external headers.
-CFLAGS += -Wno-error=cast-qual
-
-EXPORT_MAP := rte_pmd_mlx5_vdpa_version.map
-
-# DEBUG which is usually provided on the command-line may enable
-# CONFIG_RTE_LIBRTE_MLX5_DEBUG.
-ifeq ($(DEBUG),1)
-CONFIG_RTE_LIBRTE_MLX5_DEBUG := y
-endif
-
-# User-defined CFLAGS.
-ifeq ($(CONFIG_RTE_LIBRTE_MLX5_DEBUG),y)
-CFLAGS += -pedantic
-ifneq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS += -DPEDANTIC
-endif
-AUTO_CONFIG_CFLAGS += -Wno-pedantic
-else
-CFLAGS += -UPEDANTIC
-endif
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/examples/Makefile b/examples/Makefile
deleted file mode 100644
index b7e99a2f78..0000000000
--- a/examples/Makefile
+++ /dev/null
@@ -1,90 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016 6WIND S.A.
-
-ifeq ($(RTE_SDK),)
-$(error "Please define RTE_SDK environment variable")
-endif
-
-# Default target, detect a build directory, by looking for a path with a .config
-RTE_TARGET ?= $(notdir $(abspath $(dir $(firstword $(wildcard $(RTE_SDK)/*/.config)))))
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-$(CONFIG_RTE_LIBRTE_BBDEV) += bbdev_app
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += bond
-DIRS-y += cmdline
-ifeq ($(CONFIG_RTE_LIBRTE_POWER),y)
-DIRS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += distributor
-endif
-DIRS-y += ethtool
-DIRS-$(CONFIG_RTE_LIBRTE_EFD) += server_node_efd
-DIRS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += fips_validation
-DIRS-$(CONFIG_RTE_LIBRTE_FLOW_CLASSIFY) += flow_classify
-DIRS-y += flow_filtering
-DIRS-y += helloworld
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_IOAT_RAWDEV),y)
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_IOAT_RAWDEV) += ioat
-endif
-DIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) += ip_pipeline
-ifeq ($(CONFIG_RTE_LIBRTE_LPM),y)
-DIRS-$(CONFIG_RTE_IP_FRAG) += ip_reassembly
-DIRS-$(CONFIG_RTE_IP_FRAG) += ip_fragmentation
-endif
-ifeq ($(CONFIG_RTE_LIBRTE_ACL)$(CONFIG_RTE_LIBRTE_HASH)$(CONFIG_RTE_LIBRTE_LPM)$(CONFIG_RTE_LIBRTE_SECURITY),yyyy)
-DIRS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += ipsec-secgw
-endif
-DIRS-$(CONFIG_RTE_LIBRTE_HASH) += ipv4_multicast
-DIRS-$(CONFIG_RTE_LIBRTE_KNI) += kni
-DIRS-y += l2fwd
-DIRS-y += l2fwd-event
-ifneq ($(PQOS_INSTALL_PATH),)
-DIRS-y += l2fwd-cat
-endif
-DIRS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += l2fwd-crypto
-DIRS-$(CONFIG_RTE_LIBRTE_JOBSTATS) += l2fwd-jobstats
-DIRS-y += l2fwd-keepalive
-DIRS-y += l2fwd-keepalive/ka-agent
-ifeq ($(CONFIG_RTE_LIBRTE_HASH),y)
-DIRS-$(CONFIG_RTE_LIBRTE_LPM) += l3fwd
-endif
-DIRS-$(CONFIG_RTE_LIBRTE_ACL) += l3fwd-acl
-ifeq ($(CONFIG_RTE_LIBRTE_LPM)$(CONFIG_RTE_LIBRTE_HASH),yy)
-DIRS-$(CONFIG_RTE_LIBRTE_POWER) += l3fwd-power
-endif
-ifeq ($(CONFIG_RTE_LIBRTE_GRAPH),y)
-DIRS-y += l3fwd-graph
-endif
-DIRS-y += link_status_interrupt
-DIRS-y += multi_process
-DIRS-y += ntb
-DIRS-$(CONFIG_RTE_LIBRTE_REORDER) += packet_ordering
-ifeq ($(CONFIG_RTE_ARCH_X86_64),y)
-DIRS-y += performance-thread
-endif
-DIRS-$(CONFIG_RTE_LIBRTE_IEEE1588) += ptpclient
-DIRS-$(CONFIG_RTE_LIBRTE_METER) += qos_meter
-DIRS-$(CONFIG_RTE_LIBRTE_SCHED) += qos_sched
-DIRS-$(CONFIG_RTE_ETHDEV_RXTX_CALLBACKS) += rxtx_callbacks
-DIRS-y += service_cores
-DIRS-y += skeleton
-ifeq ($(CONFIG_RTE_LIBRTE_HASH),y)
-DIRS-$(CONFIG_RTE_LIBRTE_VHOST) += tep_termination
-endif
-DIRS-$(CONFIG_RTE_LIBRTE_TIMER) += timer
-DIRS-$(CONFIG_RTE_LIBRTE_VHOST) += vhost vdpa vhost_blk
-ifeq ($(CONFIG_RTE_LIBRTE_CRYPTODEV),y)
-DIRS-$(CONFIG_RTE_LIBRTE_VHOST) += vhost_crypto
-endif
-DIRS-y += vmdq
-DIRS-y += vmdq_dcb
-ifeq ($(CONFIG_RTE_LIBRTE_POWER), y)
-ifeq ($(shell pkg-config --atleast-version=0.9.3 libvirt; echo $$?), 0)
-DIRS-y += vm_power_manager
-else
-$(info vm_power_manager requires libvirt >= 0.9.3)
-endif
-endif
-
-DIRS-y += eventdev_pipeline
-
-include $(RTE_SDK)/mk/rte.extsubdir.mk
diff --git a/kernel/Makefile b/kernel/Makefile
deleted file mode 100644
index 5d51fd94bb..0000000000
--- a/kernel/Makefile
+++ /dev/null
@@ -1,9 +0,0 @@
-# SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0)
-# Copyright 2017 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-$(CONFIG_RTE_EXEC_ENV_LINUX) += linux
-DIRS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += freebsd
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/kernel/freebsd/Makefile b/kernel/freebsd/Makefile
deleted file mode 100644
index 522d3f68ff..0000000000
--- a/kernel/freebsd/Makefile
+++ /dev/null
@@ -1,9 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2017 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += contigmem
-DIRS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += nic_uio
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/kernel/freebsd/contigmem/Makefile b/kernel/freebsd/contigmem/Makefile
deleted file mode 100644
index 428a7edee5..0000000000
--- a/kernel/freebsd/contigmem/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# module name and path
-#
-MODULE = contigmem
-
-#
-# CFLAGS
-#
-MODULE_CFLAGS += -I$(SRCDIR)
-MODULE_CFLAGS += -I$(RTE_OUTPUT)/include
-MODULE_CFLAGS += -Winline -Wall -Werror
-MODULE_CFLAGS += -include $(RTE_OUTPUT)/include/rte_config.h
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-y := contigmem.c
-
-include $(RTE_SDK)/mk/rte.bsdmodule.mk
diff --git a/kernel/freebsd/nic_uio/Makefile b/kernel/freebsd/nic_uio/Makefile
deleted file mode 100644
index 376ef3a3ab..0000000000
--- a/kernel/freebsd/nic_uio/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# module name and path
-#
-MODULE = nic_uio
-
-#
-# CFLAGS
-#
-MODULE_CFLAGS += -I$(SRCDIR)
-MODULE_CFLAGS += -I$(RTE_OUTPUT)/include
-MODULE_CFLAGS += -Winline -Wall -Werror
-MODULE_CFLAGS += -include $(RTE_OUTPUT)/include/rte_config.h
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-y := nic_uio.c
-
-include $(RTE_SDK)/mk/rte.bsdmodule.mk
diff --git a/kernel/linux/Makefile b/kernel/linux/Makefile
deleted file mode 100644
index c2c45a3e67..0000000000
--- a/kernel/linux/Makefile
+++ /dev/null
@@ -1,9 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-# Copyright 2017 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-$(CONFIG_RTE_EAL_IGB_UIO) += igb_uio
-DIRS-$(CONFIG_RTE_KNI_KMOD) += kni
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/kernel/linux/igb_uio/Makefile b/kernel/linux/igb_uio/Makefile
deleted file mode 100644
index f83bcc7c69..0000000000
--- a/kernel/linux/igb_uio/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# module name and path
-#
-MODULE = igb_uio
-MODULE_PATH = drivers/net/igb_uio
-
-#
-# CFLAGS
-#
-MODULE_CFLAGS += -I$(SRCDIR) --param max-inline-insns-single=100
-MODULE_CFLAGS += -I$(RTE_OUTPUT)/include
-MODULE_CFLAGS += -Winline -Wall -Werror
-MODULE_CFLAGS += -include $(RTE_OUTPUT)/include/rte_config.h
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-y := igb_uio.c
-
-include $(RTE_SDK)/mk/rte.module.mk
diff --git a/kernel/linux/kni/Makefile b/kernel/linux/kni/Makefile
deleted file mode 100644
index 595bac2612..0000000000
--- a/kernel/linux/kni/Makefile
+++ /dev/null
@@ -1,34 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# module name and path
-#
-MODULE = rte_kni
-
-#
-# CFLAGS
-#
-MODULE_CFLAGS += -I$(SRCDIR) --param max-inline-insns-single=50
-MODULE_CFLAGS += -I$(RTE_OUTPUT)/include
-MODULE_CFLAGS += -include $(RTE_OUTPUT)/include/rte_config.h
-MODULE_CFLAGS += -Wall -Werror
-
--include /etc/lsb-release
-
-ifeq ($(DISTRIB_ID),Ubuntu)
-MODULE_CFLAGS += -DUBUNTU_RELEASE_CODE=$(subst .,,$(DISTRIB_RELEASE))
-UBUNTU_KERNEL_CODE := $(shell echo `grep UTS_RELEASE $(RTE_KERNELDIR)/include/generated/utsrelease.h \
-	 | cut -d '"' -f2 | cut -d- -f1,2 | tr .- ,`,1)
-MODULE_CFLAGS += -D"UBUNTU_KERNEL_CODE=UBUNTU_KERNEL_VERSION($(UBUNTU_KERNEL_CODE))"
-endif
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-y := kni_misc.c
-SRCS-y += kni_net.c
-
-include $(RTE_SDK)/mk/rte.module.mk
diff --git a/lib/Makefile b/lib/Makefile
deleted file mode 100644
index 8f5b68a2d4..0000000000
--- a/lib/Makefile
+++ /dev/null
@@ -1,138 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-$(CONFIG_RTE_LIBRTE_KVARGS) += librte_kvargs
-DIRS-y += librte_telemetry
-DIRS-$(CONFIG_RTE_LIBRTE_EAL) += librte_eal
-DEPDIRS-librte_eal := librte_kvargs librte_telemetry
-DIRS-$(CONFIG_RTE_LIBRTE_PCI) += librte_pci
-DEPDIRS-librte_pci := librte_eal
-DIRS-$(CONFIG_RTE_LIBRTE_RING) += librte_ring
-DEPDIRS-librte_ring := librte_eal
-DIRS-$(CONFIG_RTE_LIBRTE_STACK) += librte_stack
-DEPDIRS-librte_stack := librte_eal
-DIRS-$(CONFIG_RTE_LIBRTE_MEMPOOL) += librte_mempool
-DEPDIRS-librte_mempool := librte_eal librte_ring
-DIRS-$(CONFIG_RTE_LIBRTE_MBUF) += librte_mbuf
-DEPDIRS-librte_mbuf := librte_eal librte_mempool
-DIRS-$(CONFIG_RTE_LIBRTE_TIMER) += librte_timer
-DEPDIRS-librte_timer := librte_eal
-DIRS-$(CONFIG_RTE_LIBRTE_CFGFILE) += librte_cfgfile
-DEPDIRS-librte_cfgfile := librte_eal
-DIRS-$(CONFIG_RTE_LIBRTE_CMDLINE) += librte_cmdline
-DEPDIRS-librte_cmdline := librte_eal librte_net
-DIRS-$(CONFIG_RTE_LIBRTE_ETHER) += librte_ethdev
-DEPDIRS-librte_ethdev := librte_net librte_eal librte_mempool librte_ring
-DEPDIRS-librte_ethdev += librte_mbuf
-DEPDIRS-librte_ethdev += librte_kvargs
-DEPDIRS-librte_ethdev += librte_meter
-DIRS-$(CONFIG_RTE_LIBRTE_BBDEV) += librte_bbdev
-DEPDIRS-librte_bbdev := librte_eal librte_mempool librte_mbuf
-DIRS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += librte_cryptodev
-DEPDIRS-librte_cryptodev := librte_eal librte_mempool librte_ring librte_mbuf
-DEPDIRS-librte_cryptodev += librte_kvargs
-DIRS-$(CONFIG_RTE_LIBRTE_SECURITY) += librte_security
-DEPDIRS-librte_security := librte_eal librte_mempool librte_ring librte_mbuf
-DEPDIRS-librte_security += librte_ethdev
-DEPDIRS-librte_security += librte_cryptodev
-DIRS-$(CONFIG_RTE_LIBRTE_COMPRESSDEV) += librte_compressdev
-DEPDIRS-librte_compressdev := librte_eal librte_mempool librte_ring librte_mbuf
-DEPDIRS-librte_compressdev += librte_kvargs
-DIRS-$(CONFIG_RTE_LIBRTE_REGEXDEV) += librte_regexdev
-DEPDIRS-librte_regexdev := librte_eal librte_mbuf
-DIRS-$(CONFIG_RTE_LIBRTE_EVENTDEV) += librte_eventdev
-DEPDIRS-librte_eventdev := librte_eal librte_ring librte_ethdev librte_hash \
-                           librte_mempool librte_timer librte_cryptodev
-DIRS-$(CONFIG_RTE_LIBRTE_RAWDEV) += librte_rawdev
-DEPDIRS-librte_rawdev := librte_eal librte_ethdev
-DIRS-$(CONFIG_RTE_LIBRTE_VHOST) += librte_vhost
-DEPDIRS-librte_vhost := librte_eal librte_mempool librte_mbuf librte_ethdev \
-			librte_net librte_hash librte_cryptodev
-DIRS-$(CONFIG_RTE_LIBRTE_HASH) += librte_hash
-DEPDIRS-librte_hash := librte_eal librte_ring
-DIRS-$(CONFIG_RTE_LIBRTE_EFD) += librte_efd
-DEPDIRS-librte_efd := librte_eal librte_ring librte_hash
-DIRS-$(CONFIG_RTE_LIBRTE_RIB) += librte_rib
-DEPDIRS-librte_rib := librte_eal librte_mempool
-DIRS-$(CONFIG_RTE_LIBRTE_FIB) += librte_fib
-DEPDIRS-librte_fib := librte_eal librte_rib
-DIRS-$(CONFIG_RTE_LIBRTE_LPM) += librte_lpm
-DEPDIRS-librte_lpm := librte_eal librte_hash librte_rcu
-DIRS-$(CONFIG_RTE_LIBRTE_ACL) += librte_acl
-DEPDIRS-librte_acl := librte_eal
-DIRS-$(CONFIG_RTE_LIBRTE_MEMBER) += librte_member
-DEPDIRS-librte_member := librte_eal librte_hash
-DIRS-$(CONFIG_RTE_LIBRTE_NET) += librte_net
-DEPDIRS-librte_net := librte_mbuf librte_eal
-DIRS-$(CONFIG_RTE_LIBRTE_IP_FRAG) += librte_ip_frag
-DEPDIRS-librte_ip_frag := librte_eal librte_mempool librte_mbuf librte_ethdev
-DEPDIRS-librte_ip_frag += librte_hash
-DIRS-$(CONFIG_RTE_LIBRTE_GRO) += librte_gro
-DEPDIRS-librte_gro := librte_eal librte_mbuf librte_ethdev librte_net
-DIRS-$(CONFIG_RTE_LIBRTE_JOBSTATS) += librte_jobstats
-DEPDIRS-librte_jobstats := librte_eal
-DIRS-$(CONFIG_RTE_LIBRTE_METRICS) += librte_metrics
-DEPDIRS-librte_metrics := librte_eal librte_ethdev
-ifeq ($(CONFIG_RTE_LIBRTE_TELEMETRY),y)
-DEPDIRS-librte_metrics += librte_telemetry
-endif
-DIRS-$(CONFIG_RTE_LIBRTE_BITRATE) += librte_bitratestats
-DEPDIRS-librte_bitratestats := librte_eal librte_metrics librte_ethdev
-DIRS-$(CONFIG_RTE_LIBRTE_LATENCY_STATS) += librte_latencystats
-DEPDIRS-librte_latencystats := librte_eal librte_metrics librte_ethdev librte_mbuf
-DIRS-$(CONFIG_RTE_LIBRTE_POWER) += librte_power
-DEPDIRS-librte_power := librte_eal librte_timer
-DIRS-$(CONFIG_RTE_LIBRTE_METER) += librte_meter
-DEPDIRS-librte_meter := librte_eal
-DIRS-$(CONFIG_RTE_LIBRTE_FLOW_CLASSIFY) += librte_flow_classify
-DEPDIRS-librte_flow_classify :=  librte_net librte_table librte_acl
-DIRS-$(CONFIG_RTE_LIBRTE_SCHED) += librte_sched
-DEPDIRS-librte_sched := librte_eal librte_mempool librte_mbuf librte_net
-DEPDIRS-librte_sched += librte_timer
-DIRS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += librte_distributor
-DEPDIRS-librte_distributor := librte_eal librte_mbuf librte_ethdev
-DIRS-$(CONFIG_RTE_LIBRTE_PORT) += librte_port
-DEPDIRS-librte_port := librte_eal librte_mempool librte_mbuf librte_ethdev
-DEPDIRS-librte_port += librte_ip_frag librte_sched librte_eventdev
-ifeq ($(CONFIG_RTE_LIBRTE_KNI),y)
-DEPDIRS-librte_port += librte_kni
-endif
-DIRS-$(CONFIG_RTE_LIBRTE_TABLE) += librte_table
-DEPDIRS-librte_table := librte_eal librte_mempool librte_mbuf
-DEPDIRS-librte_table += librte_port librte_lpm librte_hash
-ifeq ($(CONFIG_RTE_LIBRTE_ACL),y)
-DEPDIRS-librte_table += librte_acl
-endif
-DIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) += librte_pipeline
-DEPDIRS-librte_pipeline := librte_eal librte_mempool librte_mbuf
-DEPDIRS-librte_pipeline += librte_table librte_port
-DIRS-$(CONFIG_RTE_LIBRTE_REORDER) += librte_reorder
-DEPDIRS-librte_reorder := librte_eal librte_mempool librte_mbuf
-DIRS-$(CONFIG_RTE_LIBRTE_PDUMP) += librte_pdump
-DEPDIRS-librte_pdump := librte_eal librte_mempool librte_mbuf librte_ethdev
-DIRS-$(CONFIG_RTE_LIBRTE_GSO) += librte_gso
-DEPDIRS-librte_gso := librte_eal librte_mbuf librte_ethdev librte_net
-DEPDIRS-librte_gso += librte_mempool
-DIRS-$(CONFIG_RTE_LIBRTE_BPF) += librte_bpf
-DEPDIRS-librte_bpf := librte_eal librte_mempool librte_mbuf librte_ethdev
-DIRS-$(CONFIG_RTE_LIBRTE_IPSEC) += librte_ipsec
-DEPDIRS-librte_ipsec := librte_eal librte_mbuf librte_cryptodev librte_security \
-			librte_net librte_hash
-DIRS-$(CONFIG_RTE_LIBRTE_RCU) += librte_rcu
-DEPDIRS-librte_rcu := librte_eal librte_ring
-
-DIRS-$(CONFIG_RTE_LIBRTE_GRAPH) += librte_graph
-DEPDIRS-librte_graph := librte_eal
-
-DIRS-$(CONFIG_RTE_LIBRTE_NODE) += librte_node
-DEPDIRS-librte_node := librte_graph librte_lpm librte_ethdev librte_mbuf
-
-ifeq ($(CONFIG_RTE_EXEC_ENV_LINUX),y)
-DIRS-$(CONFIG_RTE_LIBRTE_KNI) += librte_kni
-endif
-DEPDIRS-librte_kni := librte_eal librte_mempool librte_mbuf librte_ethdev
-DEPDIRS-librte_kni += librte_pci
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/lib/librte_acl/Makefile b/lib/librte_acl/Makefile
deleted file mode 100644
index f4332b0448..0000000000
--- a/lib/librte_acl/Makefile
+++ /dev/null
@@ -1,65 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_acl.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-LDLIBS += -lrte_eal
-
-EXPORT_MAP := rte_acl_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_ACL) += tb_mem.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_ACL) += rte_acl.c
-SRCS-$(CONFIG_RTE_LIBRTE_ACL) += acl_bld.c
-SRCS-$(CONFIG_RTE_LIBRTE_ACL) += acl_gen.c
-SRCS-$(CONFIG_RTE_LIBRTE_ACL) += acl_run_scalar.c
-
-ifneq ($(filter y,$(CONFIG_RTE_ARCH_ARM) $(CONFIG_RTE_ARCH_ARM64)),)
-SRCS-$(CONFIG_RTE_LIBRTE_ACL) += acl_run_neon.c
-CFLAGS_acl_run_neon.o += -flax-vector-conversions
-ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
-CFLAGS_acl_run_neon.o += -Wno-maybe-uninitialized
-endif
-else ifeq ($(CONFIG_RTE_ARCH_PPC_64),y)
-SRCS-$(CONFIG_RTE_LIBRTE_ACL) += acl_run_altivec.c
-else
-SRCS-$(CONFIG_RTE_LIBRTE_ACL) += acl_run_sse.c
-endif
-
-#
-# If the compiler supports AVX2 instructions,
-# then add support for AVX2 classify method.
-#
-
-#check if flag for AVX2 is already on, if not set it up manually
-ifeq ($(findstring RTE_MACHINE_CPUFLAG_AVX2,$(CFLAGS)),RTE_MACHINE_CPUFLAG_AVX2)
-	CC_AVX2_SUPPORT=1
-else
-	CC_AVX2_SUPPORT=\
-	$(shell $(CC) -march=core-avx2 -dM -E - </dev/null 2>&1 | \
-	grep -q AVX2 && echo 1)
-	ifeq ($(CC_AVX2_SUPPORT), 1)
-		ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-		CFLAGS_acl_run_avx2.o += -march=core-avx2
-		else
-		CFLAGS_acl_run_avx2.o += -mavx2
-		endif
-	endif
-endif
-
-ifeq ($(CC_AVX2_SUPPORT), 1)
-	SRCS-$(CONFIG_RTE_LIBRTE_ACL) += acl_run_avx2.c
-	CFLAGS_rte_acl.o += -DCC_AVX2_SUPPORT
-endif
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_ACL)-include := rte_acl_osdep.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_ACL)-include += rte_acl.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_bbdev/Makefile b/lib/librte_bbdev/Makefile
deleted file mode 100644
index 9d7576b358..0000000000
--- a/lib/librte_bbdev/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_bbdev.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf
-
-# library source files
-SRCS-y += rte_bbdev.c
-
-# export include files
-SYMLINK-y-include += rte_bbdev_op.h
-SYMLINK-y-include += rte_bbdev.h
-SYMLINK-y-include += rte_bbdev_pmd.h
-
-# versioning export map
-EXPORT_MAP := rte_bbdev_version.map
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_bitratestats/Makefile b/lib/librte_bitratestats/Makefile
deleted file mode 100644
index 4862c44b83..0000000000
--- a/lib/librte_bitratestats/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_bitratestats.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-LDLIBS += -lrte_eal -lrte_metrics -lrte_ethdev
-
-EXPORT_MAP := rte_bitratestats_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_BITRATE) := rte_bitrate.c
-
-# Install header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_BITRATE)-include += rte_bitrate.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_bpf/Makefile b/lib/librte_bpf/Makefile
deleted file mode 100644
index 3be6750432..0000000000
--- a/lib/librte_bpf/Makefile
+++ /dev/null
@@ -1,40 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_bpf.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-LDLIBS += -lrte_net -lrte_eal
-LDLIBS += -lrte_mempool -lrte_ring
-LDLIBS += -lrte_mbuf -lrte_ethdev
-ifeq ($(CONFIG_RTE_LIBRTE_BPF_ELF),y)
-LDLIBS += -lelf
-endif
-
-EXPORT_MAP := rte_bpf_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_BPF) += bpf.c
-SRCS-$(CONFIG_RTE_LIBRTE_BPF) += bpf_exec.c
-SRCS-$(CONFIG_RTE_LIBRTE_BPF) += bpf_load.c
-SRCS-$(CONFIG_RTE_LIBRTE_BPF) += bpf_pkt.c
-SRCS-$(CONFIG_RTE_LIBRTE_BPF) += bpf_validate.c
-ifeq ($(CONFIG_RTE_LIBRTE_BPF_ELF),y)
-SRCS-$(CONFIG_RTE_LIBRTE_BPF) += bpf_load_elf.c
-endif
-ifeq ($(CONFIG_RTE_ARCH_X86_64),y)
-SRCS-$(CONFIG_RTE_LIBRTE_BPF) += bpf_jit_x86.c
-else ifeq ($(CONFIG_RTE_ARCH_ARM64),y)
-SRCS-$(CONFIG_RTE_LIBRTE_BPF) += bpf_jit_arm64.c
-endif
-
-# install header files
-SYMLINK-$(CONFIG_RTE_LIBRTE_BPF)-include += bpf_def.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_BPF)-include += rte_bpf.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_BPF)-include += rte_bpf_ethdev.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_cfgfile/Makefile b/lib/librte_cfgfile/Makefile
deleted file mode 100644
index 7c10a4e56c..0000000000
--- a/lib/librte_cfgfile/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_cfgfile.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(SRCDIR)/../librte_eal/include
-LDLIBS += -lrte_eal
-
-EXPORT_MAP := rte_cfgfile_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_CFGFILE) += rte_cfgfile.c
-
-# install includes
-SYMLINK-$(CONFIG_RTE_LIBRTE_CFGFILE)-include += rte_cfgfile.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_cmdline/Makefile b/lib/librte_cmdline/Makefile
deleted file mode 100644
index 619d9a2426..0000000000
--- a/lib/librte_cmdline/Makefile
+++ /dev/null
@@ -1,34 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_cmdline.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-
-EXPORT_MAP := rte_cmdline_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) := cmdline.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_cirbuf.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_parse.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_parse_etheraddr.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_parse_ipaddr.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_parse_num.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_parse_string.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_rdline.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_vt100.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_socket.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_parse_portlist.c
-
-LDLIBS += -lrte_net -lrte_eal
-
-# install includes
-INCS := cmdline.h cmdline_parse.h cmdline_parse_num.h cmdline_parse_ipaddr.h
-INCS += cmdline_parse_etheraddr.h cmdline_parse_string.h cmdline_rdline.h
-INCS += cmdline_vt100.h cmdline_socket.h cmdline_cirbuf.h cmdline_parse_portlist.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_CMDLINE)-include := $(INCS)
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_compressdev/Makefile b/lib/librte_compressdev/Makefile
deleted file mode 100644
index 53679d69b8..0000000000
--- a/lib/librte_compressdev/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017-2018 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_compressdev.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mempool -lrte_kvargs
-
-# library source files
-SRCS-y += rte_compressdev.c rte_compressdev_pmd.c rte_comp.c
-
-# export include files
-SYMLINK-y-include += rte_comp.h
-SYMLINK-y-include += rte_compressdev.h
-# export include files (for PMDs)
-SYMLINK-y-include += rte_compressdev_pmd.h
-SYMLINK-y-include += rte_compressdev_internal.h
-
-# versioning export map
-EXPORT_MAP := rte_compressdev_version.map
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_cryptodev/Makefile b/lib/librte_cryptodev/Makefile
deleted file mode 100644
index 73e77a27c6..0000000000
--- a/lib/librte_cryptodev/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2015-2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_cryptodev.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mempool -lrte_ring -lrte_mbuf
-LDLIBS += -lrte_kvargs
-
-# library source files
-SRCS-y += rte_cryptodev.c rte_cryptodev_pmd.c cryptodev_trace_points.c
-
-# export include files
-SYMLINK-y-include += rte_crypto.h
-SYMLINK-y-include += rte_crypto_asym.h
-SYMLINK-y-include += rte_crypto_sym.h
-SYMLINK-y-include += rte_cryptodev.h
-SYMLINK-y-include += rte_cryptodev_pmd.h
-SYMLINK-y-include += rte_cryptodev_trace.h
-SYMLINK-y-include += rte_cryptodev_trace_fp.h
-
-# versioning export map
-EXPORT_MAP := rte_cryptodev_version.map
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_distributor/Makefile b/lib/librte_distributor/Makefile
deleted file mode 100644
index fc32fb3a8f..0000000000
--- a/lib/librte_distributor/Makefile
+++ /dev/null
@@ -1,28 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_distributor.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_ethdev
-
-EXPORT_MAP := rte_distributor_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) := rte_distributor_single.c
-SRCS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += rte_distributor.c
-ifeq ($(CONFIG_RTE_ARCH_X86),y)
-SRCS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += rte_distributor_match_sse.c
-else
-SRCS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += rte_distributor_match_generic.c
-endif
-
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR)-include := rte_distributor.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_eal/Makefile b/lib/librte_eal/Makefile
deleted file mode 100644
index 2fda40d230..0000000000
--- a/lib/librte_eal/Makefile
+++ /dev/null
@@ -1,12 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-y += include
-DIRS-$(CONFIG_RTE_EXEC_ENV_LINUX) += linux
-DEPDIRS-linux := include
-DIRS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += freebsd
-DEPDIRS-freebsd := include
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/lib/librte_eal/freebsd/Makefile b/lib/librte_eal/freebsd/Makefile
deleted file mode 100644
index 9a89556742..0000000000
--- a/lib/librte_eal/freebsd/Makefile
+++ /dev/null
@@ -1,104 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-LIB = librte_eal.a
-
-ARCH_DIR ?= $(RTE_ARCH)
-VPATH += $(RTE_SDK)/lib/librte_eal/$(ARCH_DIR)
-VPATH += $(RTE_SDK)/lib/librte_eal/unix
-VPATH += $(RTE_SDK)/lib/librte_eal/common
-
-CFLAGS += -I$(SRCDIR)/include
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
-CFLAGS += $(WERROR_FLAGS) -O3
-
-LDLIBS += -lexecinfo
-LDLIBS += -lpthread
-LDLIBS += -lgcc_s
-LDLIBS += -lrte_kvargs
-LDLIBS += -lrte_telemetry
-
-EXPORT_MAP := ../rte_eal_version.map
-
-# specific to freebsd exec-env
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) := eal.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_cpuflags.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_memory.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_hugepage_info.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_thread.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_debug.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_memalloc.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_lcore.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_timer.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_interrupts.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_alarm.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_dev.c
-
-# from common dir
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_config.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_lcore.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_timer.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_memzone.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_log.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_launch.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_mcfg.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_memalloc.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_memory.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_tailqs.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_errno.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_cpuflags.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_hypervisor.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_string_fns.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_hexdump.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_debug.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_devargs.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_class.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_bus.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_dev.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_options.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_thread.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_proc.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_fbarray.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_uuid.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_trace.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_trace_ctf.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_trace_points.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_trace_utils.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += rte_malloc.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += hotplug_mp.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += malloc_elem.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += malloc_heap.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += malloc_mp.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += rte_keepalive.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += rte_service.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += rte_random.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += rte_reciprocal.c
-
-# from unix dir
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_file.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_unix_memory.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_unix_timer.c
-
-# from arch dir
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += rte_cpuflags.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += rte_hypervisor.c
-SRCS-$(CONFIG_RTE_ARCH_X86) += rte_spinlock.c
-SRCS-y += rte_cycles.c
-
-CFLAGS_eal_common_cpuflags.o := $(CPUFLAGS_LIST)
-
-# workaround for a gcc bug with noreturn attribute
-# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12603
-ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
-CFLAGS_eal_thread.o += -Wno-return-type
-CFLAGS_eal_hpet.o += -Wno-return-type
-endif
-
-INC := rte_os.h
-
-SYMLINK-$(CONFIG_RTE_EXEC_ENV_FREEBSD)-include := $(addprefix include/,$(INC))
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_eal/include/Makefile b/lib/librte_eal/include/Makefile
deleted file mode 100644
index eb99190d10..0000000000
--- a/lib/librte_eal/include/Makefile
+++ /dev/null
@@ -1,19 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-SYMLINK-$(CONFIG_RTE_LIBRTE_EAL)-include := \
-	$(sort $(notdir \
-	$(wildcard $(RTE_SDK)/lib/librte_eal/include/*.h)))
-
-SYMLINK-$(CONFIG_RTE_LIBRTE_EAL)-include/generic := \
-	$(sort $(addprefix generic/, $(notdir \
-	$(wildcard $(RTE_SDK)/lib/librte_eal/include/generic/*.h))))
-
-ARCH_DIR ?= $(RTE_ARCH)
-SYMLINK-$(CONFIG_RTE_LIBRTE_EAL)-include += \
-	$(sort $(addprefix ../$(ARCH_DIR)/include/, $(notdir \
-	$(wildcard $(RTE_SDK)/lib/librte_eal/$(ARCH_DIR)/include/*.h))))
-
-include $(RTE_SDK)/mk/rte.install.mk
diff --git a/lib/librte_eal/linux/Makefile b/lib/librte_eal/linux/Makefile
deleted file mode 100644
index 9939b3d147..0000000000
--- a/lib/librte_eal/linux/Makefile
+++ /dev/null
@@ -1,112 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-LIB = librte_eal.a
-
-ARCH_DIR ?= $(RTE_ARCH)
-VPATH += $(RTE_SDK)/lib/librte_eal/$(ARCH_DIR)
-VPATH += $(RTE_SDK)/lib/librte_eal/unix
-VPATH += $(RTE_SDK)/lib/librte_eal/common
-
-CFLAGS += -I$(SRCDIR)/include
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
-CFLAGS += $(WERROR_FLAGS) -O3
-
-LDLIBS += -ldl
-LDLIBS += -lpthread
-LDLIBS += -lgcc_s
-LDLIBS += -lrt
-LDLIBS += -lrte_kvargs
-LDLIBS += -lrte_telemetry
-ifeq ($(CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES),y)
-LDLIBS += -lnuma
-endif
-
-EXPORT_MAP := ../rte_eal_version.map
-
-# specific to linux exec-env
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) := eal.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_cpuflags.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_hugepage_info.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_memory.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_thread.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_log.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_vfio.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_vfio_mp_sync.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_memalloc.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_debug.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_lcore.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_timer.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_interrupts.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_alarm.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_dev.c
-
-# from common dir
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_config.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_lcore.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_timer.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_memzone.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_log.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_launch.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_dynmem.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_mcfg.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_memalloc.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_memory.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_tailqs.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_errno.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_cpuflags.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_hypervisor.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_string_fns.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_hexdump.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_debug.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_devargs.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_class.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_bus.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_dev.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_options.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_thread.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_proc.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_fbarray.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_uuid.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_trace.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_trace_ctf.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_trace_points.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_trace_utils.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += rte_malloc.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += hotplug_mp.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += malloc_elem.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += malloc_heap.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += malloc_mp.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += rte_keepalive.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += rte_service.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += rte_random.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += rte_reciprocal.c
-
-# from unix dir
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_file.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_unix_memory.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_unix_timer.c
-
-# from arch dir
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += rte_cpuflags.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += rte_hypervisor.c
-SRCS-$(CONFIG_RTE_ARCH_X86) += rte_spinlock.c
-SRCS-y += rte_cycles.c
-
-CFLAGS_eal_common_cpuflags.o := $(CPUFLAGS_LIST)
-
-# workaround for a gcc bug with noreturn attribute
-# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12603
-ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
-CFLAGS_eal_thread.o += -Wno-return-type
-endif
-
-INC := rte_kni_common.h
-INC += rte_os.h
-
-SYMLINK-$(CONFIG_RTE_EXEC_ENV_LINUX)-include := $(addprefix include/,$(INC))
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_efd/Makefile b/lib/librte_efd/Makefile
deleted file mode 100644
index 2dc97132e0..0000000000
--- a/lib/librte_efd/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016-2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_efd.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-LDLIBS += -lrte_eal -lrte_ring -lrte_hash
-
-EXPORT_MAP := rte_efd_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_EFD) := rte_efd.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_EFD)-include := rte_efd.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_ethdev/Makefile b/lib/librte_ethdev/Makefile
deleted file mode 100644
index 47747150b2..0000000000
--- a/lib/librte_ethdev/Makefile
+++ /dev/null
@@ -1,46 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_ethdev.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_net -lrte_eal -lrte_mempool -lrte_ring
-LDLIBS += -lrte_mbuf -lrte_kvargs -lrte_meter -lrte_telemetry
-
-EXPORT_MAP := rte_ethdev_version.map
-
-SRCS-y += ethdev_private.c
-SRCS-y += rte_ethdev.c
-SRCS-y += rte_class_eth.c
-SRCS-y += rte_flow.c
-SRCS-y += rte_tm.c
-SRCS-y += rte_mtr.c
-SRCS-y += ethdev_profile.c
-SRCS-y += ethdev_trace_points.c
-
-#
-# Export include files
-#
-SYMLINK-y-include += rte_ethdev.h
-SYMLINK-y-include += rte_ethdev_driver.h
-SYMLINK-y-include += rte_ethdev_core.h
-SYMLINK-y-include += rte_ethdev_pci.h
-SYMLINK-y-include += rte_ethdev_trace.h
-SYMLINK-y-include += rte_ethdev_trace_fp.h
-SYMLINK-y-include += rte_ethdev_vdev.h
-SYMLINK-y-include += rte_eth_ctrl.h
-SYMLINK-y-include += rte_dev_info.h
-SYMLINK-y-include += rte_flow.h
-SYMLINK-y-include += rte_flow_driver.h
-SYMLINK-y-include += rte_tm.h
-SYMLINK-y-include += rte_tm_driver.h
-SYMLINK-y-include += rte_mtr.h
-SYMLINK-y-include += rte_mtr_driver.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_eventdev/Makefile b/lib/librte_eventdev/Makefile
deleted file mode 100644
index 0715256bb4..0000000000
--- a/lib/librte_eventdev/Makefile
+++ /dev/null
@@ -1,47 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016 Cavium, Inc
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_eventdev.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-ifeq ($(CONFIG_RTE_EXEC_ENV_LINUX),y)
-CFLAGS += -DLINUX
-else
-CFLAGS += -DBSD
-endif
-LDLIBS += -lrte_eal -lrte_ring -lrte_ethdev -lrte_hash -lrte_mempool -lrte_timer
-LDLIBS += -lrte_mbuf -lrte_cryptodev -lpthread
-
-# library source files
-SRCS-y += rte_eventdev.c
-SRCS-y += rte_event_ring.c
-SRCS-y += eventdev_trace_points.c
-SRCS-y += rte_event_eth_rx_adapter.c
-SRCS-y += rte_event_timer_adapter.c
-SRCS-y += rte_event_crypto_adapter.c
-SRCS-y += rte_event_eth_tx_adapter.c
-
-# export include files
-SYMLINK-y-include += rte_eventdev.h
-SYMLINK-y-include += rte_eventdev_pmd.h
-SYMLINK-y-include += rte_eventdev_pmd_pci.h
-SYMLINK-y-include += rte_eventdev_pmd_vdev.h
-SYMLINK-y-include += rte_eventdev_trace.h
-SYMLINK-y-include += rte_eventdev_trace_fp.h
-SYMLINK-y-include += rte_event_ring.h
-SYMLINK-y-include += rte_event_eth_rx_adapter.h
-SYMLINK-y-include += rte_event_timer_adapter.h
-SYMLINK-y-include += rte_event_timer_adapter_pmd.h
-SYMLINK-y-include += rte_event_crypto_adapter.h
-SYMLINK-y-include += rte_event_eth_tx_adapter.h
-
-# versioning export map
-EXPORT_MAP := rte_eventdev_version.map
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_fib/Makefile b/lib/librte_fib/Makefile
deleted file mode 100644
index 1dd2a495b1..0000000000
--- a/lib/librte_fib/Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Vladimir Medvedkin <medvedkinv@gmail.com>
-# Copyright(c) 2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_fib.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-LDLIBS += -lrte_eal -lrte_rib
-
-EXPORT_MAP := rte_fib_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_FIB) := rte_fib.c rte_fib6.c dir24_8.c trie.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_FIB)-include := rte_fib.h rte_fib6.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_flow_classify/Makefile b/lib/librte_flow_classify/Makefile
deleted file mode 100644
index ca3cae82dd..0000000000
--- a/lib/librte_flow_classify/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_flow_classify.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-
-EXPORT_MAP := rte_flow_classify_version.map
-
-LDLIBS += -lrte_eal -lrte_ethdev -lrte_net -lrte_table -lrte_acl
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_FLOW_CLASSIFY) += rte_flow_classify.c
-SRCS-$(CONFIG_RTE_LIBRTE_FLOW_CLASSIFY) += rte_flow_classify_parse.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_FLOW_CLASSIFY)-include := rte_flow_classify.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_graph/Makefile b/lib/librte_graph/Makefile
deleted file mode 100644
index b66279c675..0000000000
--- a/lib/librte_graph/Makefile
+++ /dev/null
@@ -1,28 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(C) 2020 Marvell International Ltd.
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_graph.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal
-
-EXPORT_MAP := rte_graph_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_GRAPH) += node.c
-SRCS-$(CONFIG_RTE_LIBRTE_GRAPH) += graph.c
-SRCS-$(CONFIG_RTE_LIBRTE_GRAPH) += graph_ops.c
-SRCS-$(CONFIG_RTE_LIBRTE_GRAPH) += graph_debug.c
-SRCS-$(CONFIG_RTE_LIBRTE_GRAPH) += graph_stats.c
-SRCS-$(CONFIG_RTE_LIBRTE_GRAPH) += graph_populate.c
-
-# install header files
-SYMLINK-$(CONFIG_RTE_LIBRTE_GRAPH)-include += rte_graph.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_GRAPH)-include += rte_graph_worker.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_gro/Makefile b/lib/librte_gro/Makefile
deleted file mode 100644
index e848687acd..0000000000
--- a/lib/librte_gro/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_gro.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_ethdev -lrte_net
-
-EXPORT_MAP := rte_gro_version.map
-
-# source files
-SRCS-$(CONFIG_RTE_LIBRTE_GRO) += rte_gro.c
-SRCS-$(CONFIG_RTE_LIBRTE_GRO) += gro_tcp4.c
-SRCS-$(CONFIG_RTE_LIBRTE_GRO) += gro_vxlan_tcp4.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_GRO)-include += rte_gro.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_gso/Makefile b/lib/librte_gso/Makefile
deleted file mode 100644
index a34846e920..0000000000
--- a/lib/librte_gso/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_gso.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_ethdev -lrte_net
-LDLIBS += -lrte_mempool
-
-EXPORT_MAP := rte_gso_version.map
-
-#source files
-SRCS-$(CONFIG_RTE_LIBRTE_GSO) += rte_gso.c
-SRCS-$(CONFIG_RTE_LIBRTE_GSO) += gso_common.c
-SRCS-$(CONFIG_RTE_LIBRTE_GSO) += gso_tcp4.c
-SRCS-$(CONFIG_RTE_LIBRTE_GSO) += gso_tunnel_tcp4.c
-SRCS-$(CONFIG_RTE_LIBRTE_GSO) += gso_udp4.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_GSO)-include += rte_gso.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_hash/Makefile b/lib/librte_hash/Makefile
deleted file mode 100644
index ec9f864992..0000000000
--- a/lib/librte_hash/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2015 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_hash.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-LDLIBS += -lrte_eal -lrte_ring
-
-EXPORT_MAP := rte_hash_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_HASH) := rte_cuckoo_hash.c
-SRCS-$(CONFIG_RTE_LIBRTE_HASH) += rte_fbk_hash.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_HASH)-include := rte_hash.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_HASH)-include += rte_hash_crc.h
-ifeq ($(CONFIG_RTE_ARCH_ARM64),y)
-ifneq ($(findstring RTE_MACHINE_CPUFLAG_CRC32,$(CFLAGS)),)
-SYMLINK-$(CONFIG_RTE_LIBRTE_HASH)-include += rte_crc_arm64.h
-endif
-endif
-SYMLINK-$(CONFIG_RTE_LIBRTE_HASH)-include += rte_jhash.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_HASH)-include += rte_thash.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_HASH)-include += rte_fbk_hash.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_ip_frag/Makefile b/lib/librte_ip_frag/Makefile
deleted file mode 100644
index 6b80d9f1f2..0000000000
--- a/lib/librte_ip_frag/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_ip_frag.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf -lrte_ethdev
-LDLIBS += -lrte_hash
-
-EXPORT_MAP := rte_ip_frag_version.map
-
-#source files
-SRCS-$(CONFIG_RTE_LIBRTE_IP_FRAG) += rte_ipv4_fragmentation.c
-SRCS-$(CONFIG_RTE_LIBRTE_IP_FRAG) += rte_ipv6_fragmentation.c
-SRCS-$(CONFIG_RTE_LIBRTE_IP_FRAG) += rte_ipv4_reassembly.c
-SRCS-$(CONFIG_RTE_LIBRTE_IP_FRAG) += rte_ipv6_reassembly.c
-SRCS-$(CONFIG_RTE_LIBRTE_IP_FRAG) += rte_ip_frag_common.c
-SRCS-$(CONFIG_RTE_LIBRTE_IP_FRAG) += ip_frag_internal.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_IP_FRAG)-include += rte_ip_frag.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_ipsec/Makefile b/lib/librte_ipsec/Makefile
deleted file mode 100644
index e4c69646b0..0000000000
--- a/lib/librte_ipsec/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_ipsec.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf -lrte_net
-LDLIBS += -lrte_cryptodev -lrte_security -lrte_hash
-
-EXPORT_MAP := rte_ipsec_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_IPSEC) += esp_inb.c
-SRCS-$(CONFIG_RTE_LIBRTE_IPSEC) += esp_outb.c
-SRCS-$(CONFIG_RTE_LIBRTE_IPSEC) += sa.c
-SRCS-$(CONFIG_RTE_LIBRTE_IPSEC) += ses.c
-SRCS-$(CONFIG_RTE_LIBRTE_IPSEC) += ipsec_sad.c
-
-# install header files
-SYMLINK-$(CONFIG_RTE_LIBRTE_IPSEC)-include += rte_ipsec.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_IPSEC)-include += rte_ipsec_group.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_IPSEC)-include += rte_ipsec_sa.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_IPSEC)-include += rte_ipsec_sad.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_jobstats/Makefile b/lib/librte_jobstats/Makefile
deleted file mode 100644
index b30d046829..0000000000
--- a/lib/librte_jobstats/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2015 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_jobstats.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-LDLIBS += -lrte_eal
-
-EXPORT_MAP := rte_jobstats_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_JOBSTATS) := rte_jobstats.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_JOBSTATS)-include := rte_jobstats.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_kni/Makefile b/lib/librte_kni/Makefile
deleted file mode 100644
index 9d440aa135..0000000000
--- a/lib/librte_kni/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_kni.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3 -fno-strict-aliasing
-LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf -lrte_ethdev
-
-EXPORT_MAP := rte_kni_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_KNI) := rte_kni.c
-
-# install includes
-SYMLINK-$(CONFIG_RTE_LIBRTE_KNI)-include := rte_kni.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_kvargs/Makefile b/lib/librte_kvargs/Makefile
deleted file mode 100644
index 24b1c3c5b9..0000000000
--- a/lib/librte_kvargs/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2014 6WIND S.A.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_kvargs.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
-
-EXPORT_MAP := rte_kvargs_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_KVARGS) := rte_kvargs.c
-
-# install includes
-INCS := rte_kvargs.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_KVARGS)-include := $(INCS)
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_latencystats/Makefile b/lib/librte_latencystats/Makefile
deleted file mode 100644
index b19e0b1788..0000000000
--- a/lib/librte_latencystats/Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_latencystats.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-LDLIBS += -lm
-LDLIBS += -lpthread
-LDLIBS += -lrte_eal -lrte_metrics -lrte_ethdev -lrte_mbuf
-
-EXPORT_MAP := rte_latencystats_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_LATENCY_STATS) := rte_latencystats.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_LATENCY_STATS)-include := rte_latencystats.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_lpm/Makefile b/lib/librte_lpm/Makefile
deleted file mode 100644
index 6f06c5c034..0000000000
--- a/lib/librte_lpm/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_lpm.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-LDLIBS += -lrte_eal -lrte_hash -lrte_rcu
-
-EXPORT_MAP := rte_lpm_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_LPM) := rte_lpm.c rte_lpm6.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_LPM)-include := rte_lpm.h rte_lpm6.h
-
-ifneq ($(filter y,$(CONFIG_RTE_ARCH_ARM) $(CONFIG_RTE_ARCH_ARM64)),)
-SYMLINK-$(CONFIG_RTE_LIBRTE_LPM)-include += rte_lpm_neon.h
-else ifeq ($(CONFIG_RTE_ARCH_X86),y)
-SYMLINK-$(CONFIG_RTE_LIBRTE_LPM)-include += rte_lpm_sse.h
-else ifeq ($(CONFIG_RTE_ARCH_PPC_64),y)
-SYMLINK-$(CONFIG_RTE_LIBRTE_LPM)-include += rte_lpm_altivec.h
-endif
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_mbuf/Makefile b/lib/librte_mbuf/Makefile
deleted file mode 100644
index 41ea5496e3..0000000000
--- a/lib/librte_mbuf/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_mbuf.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-
-LDLIBS += -lrte_eal -lrte_mempool
-
-EXPORT_MAP := rte_mbuf_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_MBUF) := rte_mbuf.c rte_mbuf_ptype.c rte_mbuf_pool_ops.c
-SRCS-$(CONFIG_RTE_LIBRTE_MBUF) += rte_mbuf_dyn.c
-
-# install includes
-SYMLINK-$(CONFIG_RTE_LIBRTE_MBUF)-include := rte_mbuf.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_MBUF)-include += rte_mbuf_core.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_MBUF)-include += rte_mbuf_ptype.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_MBUF)-include += rte_mbuf_pool_ops.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_MBUF)-include += rte_mbuf_dyn.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_member/Makefile b/lib/librte_member/Makefile
deleted file mode 100644
index ef9e2faeaf..0000000000
--- a/lib/librte_member/Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_member.a
-
-CFLAGS := -I$(SRCDIR) $(CFLAGS)
-CFLAGS += $(WERROR_FLAGS) -O3
-
-LDLIBS += -lm
-LDLIBS += -lrte_eal -lrte_hash
-
-EXPORT_MAP := rte_member_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_MEMBER) +=  rte_member.c rte_member_ht.c rte_member_vbf.c
-# install includes
-SYMLINK-$(CONFIG_RTE_LIBRTE_MEMBER)-include := rte_member.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_mempool/Makefile b/lib/librte_mempool/Makefile
deleted file mode 100644
index 432d6217ec..0000000000
--- a/lib/librte_mempool/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_mempool.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-LDLIBS += -lrte_eal -lrte_ring
-
-EXPORT_MAP := rte_mempool_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_MEMPOOL) +=  rte_mempool.c
-SRCS-$(CONFIG_RTE_LIBRTE_MEMPOOL) +=  rte_mempool_ops.c
-SRCS-$(CONFIG_RTE_LIBRTE_MEMPOOL) +=  rte_mempool_ops_default.c
-SRCS-$(CONFIG_RTE_LIBRTE_MEMPOOL) +=  mempool_trace_points.c
-# install includes
-SYMLINK-$(CONFIG_RTE_LIBRTE_MEMPOOL)-include := rte_mempool.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_MEMPOOL)-include += rte_mempool_trace.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_MEMPOOL)-include += rte_mempool_trace_fp.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_meter/Makefile b/lib/librte_meter/Makefile
deleted file mode 100644
index 48366e82b0..0000000000
--- a/lib/librte_meter/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_meter.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-LDLIBS += -lm
-LDLIBS += -lrte_eal
-
-EXPORT_MAP := rte_meter_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_METER) := rte_meter.c
-
-# install includes
-SYMLINK-$(CONFIG_RTE_LIBRTE_METER)-include := rte_meter.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_metrics/Makefile b/lib/librte_metrics/Makefile
deleted file mode 100644
index 1264d3bbb0..0000000000
--- a/lib/librte_metrics/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_metrics.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-LDLIBS += -lrte_eal
-
-EXPORT_MAP := rte_metrics_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_METRICS) := rte_metrics.c
-
-ifeq ($(CONFIG_RTE_LIBRTE_TELEMETRY),y)
-SRCS-y += rte_metrics_telemetry.c
-SYMLINK-$(CONFIG_RTE_LIBRTE_METRICS)-include += rte_metrics_telemetry.h
-
-LDLIBS += -lrte_ethdev -lrte_telemetry
-LDLIBS += -ljansson
-
-CFLAGS += -I$(RTE_SDK)/lib/librte_telemetry/
-endif
-
-# Install header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_METRICS)-include += rte_metrics.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_net/Makefile b/lib/librte_net/Makefile
deleted file mode 100644
index 9830e771b3..0000000000
--- a/lib/librte_net/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-LIB = librte_net.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-LDLIBS += -lrte_mbuf -lrte_eal -lrte_mempool
-
-EXPORT_MAP := rte_net_version.map
-SRCS-$(CONFIG_RTE_LIBRTE_NET) := rte_net.c
-SRCS-$(CONFIG_RTE_LIBRTE_NET) += rte_net_crc.c
-SRCS-$(CONFIG_RTE_LIBRTE_NET) += rte_ether.c
-SRCS-$(CONFIG_RTE_LIBRTE_NET) += rte_arp.c
-
-# install includes
-SYMLINK-$(CONFIG_RTE_LIBRTE_NET)-include := rte_ip.h rte_tcp.h rte_udp.h rte_esp.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_NET)-include += rte_sctp.h rte_icmp.h rte_arp.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_NET)-include += rte_ether.h rte_gre.h rte_net.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_NET)-include += rte_net_crc.h rte_mpls.h rte_higig.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_NET)-include += rte_gtp.h rte_vxlan.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_NET)-include += rte_ecpri.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_node/Makefile b/lib/librte_node/Makefile
deleted file mode 100644
index 3ec02104d3..0000000000
--- a/lib/librte_node/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(C) 2020 Marvell International Ltd.
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_node.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-# Strict-aliasing rules are violated by uint8_t[] to context size casts.
-CFLAGS += -fno-strict-aliasing
-LDLIBS += -lrte_eal -lrte_graph -lrte_mbuf -lrte_lpm -lrte_ethdev -lrte_mempool
-
-EXPORT_MAP := rte_node_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_NODE) += null.c
-SRCS-$(CONFIG_RTE_LIBRTE_NODE) += log.c
-SRCS-$(CONFIG_RTE_LIBRTE_NODE) += ethdev_rx.c
-SRCS-$(CONFIG_RTE_LIBRTE_NODE) += ethdev_tx.c
-SRCS-$(CONFIG_RTE_LIBRTE_NODE) += ethdev_ctrl.c
-SRCS-$(CONFIG_RTE_LIBRTE_NODE) += ip4_lookup.c
-SRCS-$(CONFIG_RTE_LIBRTE_NODE) += ip4_rewrite.c
-SRCS-$(CONFIG_RTE_LIBRTE_NODE) += pkt_cls.c
-SRCS-$(CONFIG_RTE_LIBRTE_NODE) += pkt_drop.c
-
-# install header files
-SYMLINK-$(CONFIG_RTE_LIBRTE_NODE)-include += rte_node_ip4_api.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_NODE)-include += rte_node_eth_api.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_pci/Makefile b/lib/librte_pci/Makefile
deleted file mode 100644
index 7943f30cab..0000000000
--- a/lib/librte_pci/Makefile
+++ /dev/null
@@ -1,19 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 6WIND S.A.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pci.a
-
-CFLAGS := -I$(SRCDIR) $(CFLAGS)
-CFLAGS += $(WERROR_FLAGS) -O3
-LDLIBS += -lrte_eal
-
-EXPORT_MAP := rte_pci_version.map
-
-SRCS-$(CONFIG_RTE_LIBRTE_PCI) += rte_pci.c
-
-SYMLINK-$(CONFIG_RTE_LIBRTE_PCI)-include += rte_pci.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_pdump/Makefile b/lib/librte_pdump/Makefile
deleted file mode 100644
index ece8aaacc1..0000000000
--- a/lib/librte_pdump/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016-2018 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pdump.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf -lrte_ethdev
-
-EXPORT_MAP := rte_pdump_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_PDUMP) := rte_pdump.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_PDUMP)-include := rte_pdump.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_pipeline/Makefile b/lib/librte_pipeline/Makefile
deleted file mode 100644
index cfbbd18282..0000000000
--- a/lib/librte_pipeline/Makefile
+++ /dev/null
@@ -1,28 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2016 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pipeline.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf -lrte_table
-LDLIBS += -lrte_port -lrte_meter -lrte_sched -lrte_cryptodev
-
-EXPORT_MAP := rte_pipeline_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PIPELINE) := rte_pipeline.c
-SRCS-$(CONFIG_RTE_LIBRTE_PIPELINE) += rte_port_in_action.c
-SRCS-$(CONFIG_RTE_LIBRTE_PIPELINE) += rte_table_action.c
-
-# install includes
-SYMLINK-$(CONFIG_RTE_LIBRTE_PIPELINE)-include += rte_pipeline.h rte_port_in_action.h rte_table_action.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_port/Makefile b/lib/librte_port/Makefile
deleted file mode 100644
index 57d2aedbc5..0000000000
--- a/lib/librte_port/Makefile
+++ /dev/null
@@ -1,59 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2016 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_port.a
-ifeq ($(CONFIG_RTE_PORT_PCAP),y)
-LDLIBS += -lpcap
-endif
-LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf -lrte_ethdev
-LDLIBS += -lrte_ip_frag -lrte_sched -lrte_cryptodev -lrte_eventdev
-ifeq ($(CONFIG_RTE_LIBRTE_KNI),y)
-LDLIBS += -lrte_kni
-endif
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-EXPORT_MAP := rte_port_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PORT) += rte_port_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PORT) += rte_port_ring.c
-ifeq ($(CONFIG_RTE_LIBRTE_IP_FRAG),y)
-SRCS-$(CONFIG_RTE_LIBRTE_PORT) += rte_port_frag.c
-SRCS-$(CONFIG_RTE_LIBRTE_PORT) += rte_port_ras.c
-endif
-SRCS-$(CONFIG_RTE_LIBRTE_PORT) += rte_port_sched.c
-SRCS-$(CONFIG_RTE_LIBRTE_PORT) += rte_port_fd.c
-ifeq ($(CONFIG_RTE_LIBRTE_KNI),y)
-SRCS-$(CONFIG_RTE_LIBRTE_PORT) += rte_port_kni.c
-endif
-SRCS-$(CONFIG_RTE_LIBRTE_PORT) += rte_port_source_sink.c
-SRCS-$(CONFIG_RTE_LIBRTE_PORT) += rte_port_sym_crypto.c
-SRCS-$(CONFIG_RTE_LIBRTE_PORT) += rte_port_eventdev.c
-
-# install includes
-SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port_ethdev.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port_ring.h
-ifeq ($(CONFIG_RTE_LIBRTE_IP_FRAG),y)
-SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port_frag.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port_ras.h
-endif
-SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port_sched.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port_fd.h
-ifeq ($(CONFIG_RTE_LIBRTE_KNI),y)
-SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port_kni.h
-endif
-SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port_source_sink.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port_sym_crypto.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port_eventdev.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_power/Makefile b/lib/librte_power/Makefile
deleted file mode 100644
index 3b067b615f..0000000000
--- a/lib/librte_power/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_power.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3 -fno-strict-aliasing
-LDLIBS += -lrte_eal -lrte_timer
-
-EXPORT_MAP := rte_power_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_POWER) := rte_power.c power_acpi_cpufreq.c
-SRCS-$(CONFIG_RTE_LIBRTE_POWER) += power_kvm_vm.c guest_channel.c
-SRCS-$(CONFIG_RTE_LIBRTE_POWER) += rte_power_empty_poll.c
-SRCS-$(CONFIG_RTE_LIBRTE_POWER) += power_pstate_cpufreq.c
-SRCS-$(CONFIG_RTE_LIBRTE_POWER) += power_common.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_POWER)-include := rte_power.h  rte_power_empty_poll.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_rawdev/Makefile b/lib/librte_rawdev/Makefile
deleted file mode 100644
index 99f5d2a471..0000000000
--- a/lib/librte_rawdev/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2017 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_rawdev.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_telemetry
-
-# library source files
-SRCS-y += rte_rawdev.c
-
-# export include files
-SYMLINK-y-include += rte_rawdev.h
-SYMLINK-y-include += rte_rawdev_pmd.h
-
-# versioning export map
-EXPORT_MAP := rte_rawdev_version.map
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_rcu/Makefile b/lib/librte_rcu/Makefile
deleted file mode 100644
index 553bca2ef4..0000000000
--- a/lib/librte_rcu/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Arm Limited
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_rcu.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-LDLIBS += -lrte_eal -lrte_ring
-
-EXPORT_MAP := rte_rcu_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_RCU) := rte_rcu_qsbr.c
-
-# install includes
-SYMLINK-$(CONFIG_RTE_LIBRTE_RCU)-include := rte_rcu_qsbr.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_regexdev/Makefile b/lib/librte_regexdev/Makefile
deleted file mode 100644
index c123fcaf5c..0000000000
--- a/lib/librte_regexdev/Makefile
+++ /dev/null
@@ -1,32 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(C) 2019 Marvell International Ltd.
-# Copyright 2020 Mellanox Technologies, Ltd
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_regexdev.a
-
-EXPORT_MAP := rte_regex_version.map
-
-# library version
-LIBABIVER := 1
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf
-
-# library source files
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_REGEXDEV) := rte_regexdev.c
-
-# export include files
-SYMLINK-$(CONFIG_RTE_LIBRTE_REGEXDEV)-include += rte_regexdev.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_REGEXDEV)-include += rte_regexdev_core.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_REGEXDEV)-include += rte_regexdev_driver.h
-
-# versioning export map
-EXPORT_MAP := rte_regexdev_version.map
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_reorder/Makefile b/lib/librte_reorder/Makefile
deleted file mode 100644
index 1914411d52..0000000000
--- a/lib/librte_reorder/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_reorder.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf
-
-EXPORT_MAP := rte_reorder_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_REORDER) := rte_reorder.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_REORDER)-include := rte_reorder.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_rib/Makefile b/lib/librte_rib/Makefile
deleted file mode 100644
index be80ce5d3f..0000000000
--- a/lib/librte_rib/Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Vladimir Medvedkin <medvedkinv@gmail.com>
-# Copyright(c) 2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_rib.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-LDLIBS += -lrte_eal -lrte_mempool
-
-EXPORT_MAP := rte_rib_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_RIB) := rte_rib.c rte_rib6.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_RIB)-include := rte_rib.h rte_rib6.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_ring/Makefile b/lib/librte_ring/Makefile
deleted file mode 100644
index 83a9d0840e..0000000000
--- a/lib/librte_ring/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_ring.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-LDLIBS += -lrte_eal
-
-EXPORT_MAP := rte_ring_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_RING) := rte_ring.c
-
-# install includes
-SYMLINK-$(CONFIG_RTE_LIBRTE_RING)-include := rte_ring.h \
-					rte_ring_core.h \
-					rte_ring_elem.h \
-					rte_ring_generic.h \
-					rte_ring_c11_mem.h \
-					rte_ring_hts.h \
-					rte_ring_hts_c11_mem.h \
-					rte_ring_peek.h \
-					rte_ring_peek_c11_mem.h \
-					rte_ring_rts.h \
-					rte_ring_rts_c11_mem.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_sched/Makefile b/lib/librte_sched/Makefile
deleted file mode 100644
index aee93a1205..0000000000
--- a/lib/librte_sched/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_sched.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-LDLIBS += -lm
-LDLIBS += -lrt
-LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf -lrte_net
-LDLIBS += -lrte_timer
-
-EXPORT_MAP := rte_sched_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_SCHED) += rte_sched.c rte_red.c rte_approx.c
-
-# install includes
-SYMLINK-$(CONFIG_RTE_LIBRTE_SCHED)-include := rte_sched.h rte_sched_common.h rte_red.h rte_approx.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_security/Makefile b/lib/librte_security/Makefile
deleted file mode 100644
index 825eaeff8e..0000000000
--- a/lib/librte_security/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017-2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_security.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mempool
-
-# library source files
-SRCS-y += rte_security.c
-
-# export include files
-SYMLINK-y-include += rte_security.h
-SYMLINK-y-include += rte_security_driver.h
-
-# versioning export map
-EXPORT_MAP := rte_security_version.map
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_stack/Makefile b/lib/librte_stack/Makefile
deleted file mode 100644
index 020ef102b5..0000000000
--- a/lib/librte_stack/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_stack.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-LDLIBS += -lrte_eal
-
-EXPORT_MAP := rte_stack_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_STACK) := rte_stack.c \
-				   rte_stack_std.c \
-				   rte_stack_lf.c
-
-# install includes
-SYMLINK-$(CONFIG_RTE_LIBRTE_STACK)-include := rte_stack.h \
-					      rte_stack_std.h \
-					      rte_stack_lf.h \
-					      rte_stack_lf_generic.h \
-					      rte_stack_lf_c11.h \
-					      rte_stack_lf_stubs.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_table/Makefile b/lib/librte_table/Makefile
deleted file mode 100644
index 6ad8a6b17d..0000000000
--- a/lib/librte_table/Makefile
+++ /dev/null
@@ -1,59 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2016 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_table.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf -lrte_port
-LDLIBS += -lrte_lpm -lrte_hash
-ifeq ($(CONFIG_RTE_LIBRTE_ACL),y)
-LDLIBS += -lrte_acl
-endif
-
-EXPORT_MAP := rte_table_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_TABLE) += rte_table_lpm.c
-SRCS-$(CONFIG_RTE_LIBRTE_TABLE) += rte_table_lpm_ipv6.c
-ifeq ($(CONFIG_RTE_LIBRTE_ACL),y)
-SRCS-$(CONFIG_RTE_LIBRTE_TABLE) += rte_table_acl.c
-endif
-SRCS-$(CONFIG_RTE_LIBRTE_TABLE) += rte_table_hash_cuckoo.c
-SRCS-$(CONFIG_RTE_LIBRTE_TABLE) += rte_table_hash_key8.c
-SRCS-$(CONFIG_RTE_LIBRTE_TABLE) += rte_table_hash_key16.c
-SRCS-$(CONFIG_RTE_LIBRTE_TABLE) += rte_table_hash_key32.c
-SRCS-$(CONFIG_RTE_LIBRTE_TABLE) += rte_table_hash_ext.c
-SRCS-$(CONFIG_RTE_LIBRTE_TABLE) += rte_table_hash_lru.c
-SRCS-$(CONFIG_RTE_LIBRTE_TABLE) += rte_table_array.c
-SRCS-$(CONFIG_RTE_LIBRTE_TABLE) += rte_table_stub.c
-
-# install includes
-SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_table.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_table_lpm.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_table_lpm_ipv6.h
-ifeq ($(CONFIG_RTE_LIBRTE_ACL),y)
-SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_table_acl.h
-endif
-SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_table_hash.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_table_hash_cuckoo.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_table_hash_func.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_table_hash_func_arm64.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_lru.h
-ifeq ($(CONFIG_RTE_ARCH_X86),y)
-SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_lru_x86.h
-endif
-ifeq ($(CONFIG_RTE_ARCH_ARM64),y)
-SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_lru_arm64.h
-endif
-SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_table_array.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_table_stub.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_telemetry/Makefile b/lib/librte_telemetry/Makefile
deleted file mode 100644
index c62cbd86dc..0000000000
--- a/lib/librte_telemetry/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_telemetry.a
-
-ARCH_DIR ?= $(RTE_ARCH)
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-CFLAGS += -I$(RTE_SDK)/lib/librte_metrics/
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/$(ARCH_DIR)/include
-CFLAGS += -pthread
-
-LDLIBS += -lpthread
-
-EXPORT_MAP := rte_telemetry_version.map
-
-# library source files
-SRCS-y += telemetry.c
-SRCS-y += telemetry_data.c
-SRCS-y += telemetry_legacy.c
-
-# export include files
-SYMLINK-y-include := rte_telemetry.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_timer/Makefile b/lib/librte_timer/Makefile
deleted file mode 100644
index 7e95d120c0..0000000000
--- a/lib/librte_timer/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_timer.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-LDLIBS += -lrte_eal
-
-EXPORT_MAP := rte_timer_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_TIMER) := rte_timer.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_TIMER)-include := rte_timer.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_vhost/Makefile b/lib/librte_vhost/Makefile
deleted file mode 100644
index 4f2f3e47da..0000000000
--- a/lib/librte_vhost/Makefile
+++ /dev/null
@@ -1,54 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_vhost.a
-
-EXPORT_MAP := rte_vhost_version.map
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-CFLAGS += -I vhost_user
-CFLAGS += -fno-strict-aliasing
-LDLIBS += -lpthread
-
-ifeq ($(RTE_TOOLCHAIN), gcc)
-ifeq ($(shell test $(GCC_VERSION) -ge 83 && echo 1), 1)
-CFLAGS += -DVHOST_GCC_UNROLL_PRAGMA
-endif
-endif
-
-ifeq ($(RTE_TOOLCHAIN), clang)
-ifeq ($(shell test $(CLANG_MAJOR_VERSION)$(CLANG_MINOR_VERSION) -ge 37 && echo 1), 1)
-CFLAGS += -DVHOST_CLANG_UNROLL_PRAGMA
-endif
-endif
-
-ifeq ($(RTE_TOOLCHAIN), icc)
-ifeq ($(shell test $(ICC_MAJOR_VERSION) -ge 16 && echo 1), 1)
-CFLAGS += -DVHOST_ICC_UNROLL_PRAGMA
-endif
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_VHOST_NUMA),y)
-LDLIBS += -lnuma
-endif
-LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf -lrte_ethdev -lrte_net
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_VHOST) := fd_man.c iotlb.c socket.c vhost.c \
-					vhost_user.c virtio_net.c vdpa.c
-
-# install includes
-SYMLINK-$(CONFIG_RTE_LIBRTE_VHOST)-include += rte_vhost.h rte_vdpa.h \
-						rte_vdpa_dev.h rte_vhost_async.h
-
-# only compile vhost crypto when cryptodev is enabled
-ifeq ($(CONFIG_RTE_LIBRTE_CRYPTODEV),y)
-LDLIBS += -lrte_cryptodev -lrte_hash
-SRCS-$(CONFIG_RTE_LIBRTE_VHOST) += vhost_crypto.c
-SYMLINK-$(CONFIG_RTE_LIBRTE_VHOST)-include += rte_vhost_crypto.h
-endif
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/mk/arch/arm/rte.vars.mk b/mk/arch/arm/rte.vars.mk
deleted file mode 100644
index dc8c10a24c..0000000000
--- a/mk/arch/arm/rte.vars.mk
+++ /dev/null
@@ -1,16 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright (C) 2015 RehiveTech. All rights reserved.
-
-ARCH  ?= arm
-CROSS ?=
-
-CPU_CFLAGS  ?= -marm -munaligned-access -D_FILE_OFFSET_BITS=64
-CPU_LDFLAGS ?=
-CPU_ASFLAGS ?= -felf
-
-export ARCH CROSS CPU_CFLAGS CPU_LDFLAGS CPU_ASFLAGS
-
-RTE_OBJCOPY_TARGET = elf32-littlearm
-RTE_OBJCOPY_ARCH = arm
-
-export RTE_OBJCOPY_TARGET RTE_OBJCOPY_ARCH
diff --git a/mk/arch/arm64/rte.vars.mk b/mk/arch/arm64/rte.vars.mk
deleted file mode 100644
index a75b80c222..0000000000
--- a/mk/arch/arm64/rte.vars.mk
+++ /dev/null
@@ -1,37 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2015 Cavium, Inc
-#
-
-#
-# arch:
-#
-#   - define ARCH variable (overridden by cmdline or by previous
-#     optional define in machine .mk)
-#   - define CROSS variable (overridden by cmdline or previous define
-#     in machine .mk)
-#   - define CPU_CFLAGS variable (overridden by cmdline or previous
-#     define in machine .mk)
-#   - define CPU_LDFLAGS variable (overridden by cmdline or previous
-#     define in machine .mk)
-#   - define CPU_ASFLAGS variable (overridden by cmdline or previous
-#     define in machine .mk)
-#   - may override any previously defined variable
-#
-# examples for CONFIG_RTE_ARCH: i686, x86_64, x86_64_32
-#
-
-ARCH  ?= arm64
-# common arch dir in eal headers
-ARCH_DIR := arm
-CROSS ?=
-
-CPU_CFLAGS  ?=
-CPU_LDFLAGS ?=
-CPU_ASFLAGS ?= -felf
-
-export ARCH CROSS CPU_CFLAGS CPU_LDFLAGS CPU_ASFLAGS
-
-RTE_OBJCOPY_TARGET = elf64-littleaarch64
-RTE_OBJCOPY_ARCH = aarch64
-
-export RTE_OBJCOPY_TARGET RTE_OBJCOPY_ARCH
diff --git a/mk/arch/i686/rte.vars.mk b/mk/arch/i686/rte.vars.mk
deleted file mode 100644
index c867883f15..0000000000
--- a/mk/arch/i686/rte.vars.mk
+++ /dev/null
@@ -1,36 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# arch:
-#
-#   - define ARCH variable (overridden by cmdline or by previous
-#     optional define in machine .mk)
-#   - define CROSS variable (overridden by cmdline or previous define
-#     in machine .mk)
-#   - define CPU_CFLAGS variable (overridden by cmdline or previous
-#     define in machine .mk)
-#   - define CPU_LDFLAGS variable (overridden by cmdline or previous
-#     define in machine .mk)
-#   - define CPU_ASFLAGS variable (overridden by cmdline or previous
-#     define in machine .mk)
-#   - may override any previously defined variable
-#
-# examples for CONFIG_RTE_ARCH: i686, x86_64, x86_64_32
-#
-
-ARCH  ?= i386
-# common arch dir in eal headers
-ARCH_DIR := x86
-CROSS ?=
-
-CPU_CFLAGS  ?= -m32 -D_FILE_OFFSET_BITS=64
-CPU_LDFLAGS ?= -melf_i386
-CPU_ASFLAGS ?= -felf
-
-export ARCH CROSS CPU_CFLAGS CPU_LDFLAGS CPU_ASFLAGS
-
-RTE_OBJCOPY_TARGET = elf32-i386
-RTE_OBJCOPY_ARCH = i386
-
-export RTE_OBJCOPY_TARGET RTE_OBJCOPY_ARCH
diff --git a/mk/arch/ppc_64/rte.vars.mk b/mk/arch/ppc_64/rte.vars.mk
deleted file mode 100644
index 9f7ab22f42..0000000000
--- a/mk/arch/ppc_64/rte.vars.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright (C) IBM Corporation 2014.
-
-ARCH  ?= powerpc
-ARCH_DIR := ppc
-CROSS ?=
-
-CPU_CFLAGS  ?= -m64
-CPU_LDFLAGS ?=
-CPU_ASFLAGS ?= -felf64
-
-export ARCH CROSS CPU_CFLAGS CPU_LDFLAGS CPU_ASFLAGS
-
-RTE_OBJCOPY_TARGET = elf64-powerpcle
-RTE_OBJCOPY_ARCH = powerpc:common64
-
-export RTE_OBJCOPY_TARGET RTE_OBJCOPY_ARCH
diff --git a/mk/arch/x86_64/rte.vars.mk b/mk/arch/x86_64/rte.vars.mk
deleted file mode 100644
index e1689be9b4..0000000000
--- a/mk/arch/x86_64/rte.vars.mk
+++ /dev/null
@@ -1,36 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# arch:
-#
-#   - define ARCH variable (overridden by cmdline or by previous
-#     optional define in machine .mk)
-#   - define CROSS variable (overridden by cmdline or previous define
-#     in machine .mk)
-#   - define CPU_CFLAGS variable (overridden by cmdline or previous
-#     define in machine .mk)
-#   - define CPU_LDFLAGS variable (overridden by cmdline or previous
-#     define in machine .mk)
-#   - define CPU_ASFLAGS variable (overridden by cmdline or previous
-#     define in machine .mk)
-#   - may override any previously defined variable
-#
-# examples for CONFIG_RTE_ARCH: i686, x86_64, x86_64_32
-#
-
-ARCH  ?= x86_64
-# common arch dir in eal headers
-ARCH_DIR := x86
-CROSS ?=
-
-CPU_CFLAGS  ?= -m64
-CPU_LDFLAGS ?=
-CPU_ASFLAGS ?= -felf64
-
-export ARCH CROSS CPU_CFLAGS CPU_LDFLAGS CPU_ASFLAGS
-
-RTE_OBJCOPY_TARGET = elf64-x86-64
-RTE_OBJCOPY_ARCH = i386:x86-64
-
-export RTE_OBJCOPY_TARGET RTE_OBJCOPY_ARCH
diff --git a/mk/arch/x86_x32/rte.vars.mk b/mk/arch/x86_x32/rte.vars.mk
deleted file mode 100644
index c59b37a2c8..0000000000
--- a/mk/arch/x86_x32/rte.vars.mk
+++ /dev/null
@@ -1,40 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# arch:
-#
-#   - define ARCH variable (overridden by cmdline or by previous
-#     optional define in machine .mk)
-#   - define CROSS variable (overridden by cmdline or previous define
-#     in machine .mk)
-#   - define CPU_CFLAGS variable (overridden by cmdline or previous
-#     define in machine .mk)
-#   - define CPU_LDFLAGS variable (overridden by cmdline or previous
-#     define in machine .mk)
-#   - define CPU_ASFLAGS variable (overridden by cmdline or previous
-#     define in machine .mk)
-#   - may override any previously defined variable
-#
-# examples for CONFIG_RTE_ARCH: i686, x86_64, x86_64_32
-#
-
-ARCH  ?= x86_64
-ARCH_DIR := x86
-CROSS ?=
-
-CPU_CFLAGS  ?= -mx32
-CPU_LDFLAGS ?= -melf32_x86_64
-#CPU_ASFLAGS ?= -felf64
-# x32 is supported by Linux distribution with gcc4.8 and newer in some
-# cases there is backported support in gcc4.6
-ifneq ($(shell echo | $(CC) $(CPU_CFLAGS) -E - 2>/dev/null 1>/dev/null && echo 0), 0)
-	$(error This version of GCC does not support x32 ABI)
-endif
-
-export ARCH CROSS CPU_CFLAGS CPU_LDFLAGS CPU_ASFLAGS
-
-RTE_OBJCOPY_TARGET = elf32-x86-64
-RTE_OBJCOPY_ARCH = i386:x86-64
-
-export RTE_OBJCOPY_TARGET RTE_OBJCOPY_ARCH
diff --git a/mk/exec-env/bsdapp b/mk/exec-env/bsdapp
deleted file mode 120000
index 69f5cba2c2..0000000000
--- a/mk/exec-env/bsdapp
+++ /dev/null
@@ -1 +0,0 @@
-freebsd/
\ No newline at end of file
diff --git a/mk/exec-env/freebsd/rte.app.mk b/mk/exec-env/freebsd/rte.app.mk
deleted file mode 100644
index a2af7266a6..0000000000
--- a/mk/exec-env/freebsd/rte.app.mk
+++ /dev/null
@@ -1,8 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-exec-env-appinstall:
-	@true
-
-exec-env-appclean:
-	@true
diff --git a/mk/exec-env/freebsd/rte.vars.mk b/mk/exec-env/freebsd/rte.vars.mk
deleted file mode 100644
index 630eb55f73..0000000000
--- a/mk/exec-env/freebsd/rte.vars.mk
+++ /dev/null
@@ -1,36 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2019 Intel Corporation
-
-#
-# exec-env:
-#
-#   - define EXECENV_CFLAGS variable (overridden by cmdline)
-#   - define EXECENV_LDFLAGS variable (overridden by cmdline)
-#   - define EXECENV_ASFLAGS variable (overridden by cmdline)
-#   - may override any previously defined variable
-#
-# examples for RTE_EXEC_ENV: linux, freebsd
-#
-ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
-EXECENV_CFLAGS  = -pthread -fPIC
-else
-EXECENV_CFLAGS  = -pthread
-endif
-
-# include in every library to build
-EXECENV_CFLAGS += -I$(RTE_SDK)/lib/librte_eal/freebsd/include
-
-EXECENV_LDFLAGS =
-EXECENV_LDLIBS  = -lexecinfo
-EXECENV_ASFLAGS =
-
-ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
-EXECENV_LDLIBS += -lgcc_s
-endif
-
-# force applications to link with gcc/icc instead of using ld
-LINK_USING_CC := 1
-
-BSDMAKE=/usr/bin/make
-
-export EXECENV_CFLAGS EXECENV_LDFLAGS EXECENV_ASFLAGS
diff --git a/mk/exec-env/linux/rte.app.mk b/mk/exec-env/linux/rte.app.mk
deleted file mode 100644
index a2af7266a6..0000000000
--- a/mk/exec-env/linux/rte.app.mk
+++ /dev/null
@@ -1,8 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-exec-env-appinstall:
-	@true
-
-exec-env-appclean:
-	@true
diff --git a/mk/exec-env/linux/rte.vars.mk b/mk/exec-env/linux/rte.vars.mk
deleted file mode 100644
index 41ef4195b0..0000000000
--- a/mk/exec-env/linux/rte.vars.mk
+++ /dev/null
@@ -1,44 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2019 Intel Corporation
-
-#
-# exec-env:
-#
-#   - define EXECENV_CFLAGS variable (overridden by cmdline)
-#   - define EXECENV_LDFLAGS variable (overridden by cmdline)
-#   - define EXECENV_ASFLAGS variable (overridden by cmdline)
-#   - may override any previously defined variable
-#
-# examples for RTE_EXEC_ENV: linux, freebsd
-#
-ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
-EXECENV_CFLAGS  = -pthread -fPIC
-else
-EXECENV_CFLAGS  = -pthread
-endif
-
-# include in every library to build
-EXECENV_CFLAGS += -I$(RTE_SDK)/lib/librte_eal/linux/include
-
-EXECENV_LDLIBS  =
-EXECENV_ASFLAGS =
-
-ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
-EXECENV_LDLIBS += -lgcc_s
-endif
-
-EXECENV_LDLIBS-$(CONFIG_RTE_USE_LIBBSD) += -lbsd
-
-# force applications to link with gcc/icc instead of using ld
-LINK_USING_CC := 1
-
-# For shared libraries
-EXECENV_LDFLAGS += -export-dynamic
-# Add library to the group to resolve symbols
-EXECENV_LDLIBS  += -ldl
-
-# EXECENV_LDLIBS-y applies to lib.so and app linking
-# while EXECENV_LDLIBS applies only to app linking.
-EXECENV_LDLIBS += $(EXECENV_LDLIBS-y)
-
-export EXECENV_CFLAGS EXECENV_LDFLAGS EXECENV_ASFLAGS EXECENV_LDLIBS
diff --git a/mk/exec-env/linuxapp b/mk/exec-env/linuxapp
deleted file mode 120000
index ce5e2c77b2..0000000000
--- a/mk/exec-env/linuxapp
+++ /dev/null
@@ -1 +0,0 @@
-linux/
\ No newline at end of file
diff --git a/mk/internal/rte.build-post.mk b/mk/internal/rte.build-post.mk
deleted file mode 100644
index a6b6a9a46a..0000000000
--- a/mk/internal/rte.build-post.mk
+++ /dev/null
@@ -1,34 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-# build helper .mk
-
-# fast way, no need to do prebuild and postbuild
-ifeq ($(PREBUILD)$(POSTBUILD),)
-
-_postbuild: $(_BUILD)
-	@touch _postbuild
-
-else # slower way
-
-_prebuild: $(PREBUILD)
-	@touch _prebuild
-
-ifneq ($(_BUILD),)
-$(_BUILD): _prebuild
-else
-_BUILD = _prebuild
-endif
-
-_build: $(_BUILD)
-	@touch _build
-
-ifneq ($(POSTBUILD),)
-$(POSTBUILD): _build
-else
-POSTBUILD = _build
-endif
-
-_postbuild: $(POSTBUILD)
-	@touch _postbuild
-endif
\ No newline at end of file
diff --git a/mk/internal/rte.build-pre.mk b/mk/internal/rte.build-pre.mk
deleted file mode 100644
index 137612f19b..0000000000
--- a/mk/internal/rte.build-pre.mk
+++ /dev/null
@@ -1,7 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-_BUILD_TARGETS := _prebuild _build _postbuild
-
-comma := ,
-linkerprefix = $(subst -Wl$(comma)-L,-L,$(addprefix -Wl$(comma),$1))
diff --git a/mk/internal/rte.clean-post.mk b/mk/internal/rte.clean-post.mk
deleted file mode 100644
index 77685edd99..0000000000
--- a/mk/internal/rte.clean-post.mk
+++ /dev/null
@@ -1,34 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-# clean helper .mk
-
-# fast way, no need to do preclean and postclean
-ifeq ($(PRECLEAN)$(POSTCLEAN),)
-
-_postclean: $(_CLEAN)
-	@touch _postclean
-
-else # slower way
-
-_preclean: $(PRECLEAN)
-	@touch _preclean
-
-ifneq ($(_CLEAN),)
-$(_CLEAN): _preclean
-else
-_CLEAN = _preclean
-endif
-
-_clean: $(_CLEAN)
-	@touch _clean
-
-ifneq ($(POSTCLEAN),)
-$(POSTCLEAN): _clean
-else
-POSTCLEAN = _clean
-endif
-
-_postclean: $(POSTCLEAN)
-	@touch _postclean
-endif
diff --git a/mk/internal/rte.clean-pre.mk b/mk/internal/rte.clean-pre.mk
deleted file mode 100644
index e21607bff9..0000000000
--- a/mk/internal/rte.clean-pre.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-_CLEAN_TARGETS := _preclean _clean _postclean
diff --git a/mk/internal/rte.compile-post.mk b/mk/internal/rte.compile-post.mk
deleted file mode 100644
index 01525bee1b..0000000000
--- a/mk/internal/rte.compile-post.mk
+++ /dev/null
@@ -1,5 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-# no rule no build these files
-$(DEPS-y) $(CMDS-y):
diff --git a/mk/internal/rte.compile-pre.mk b/mk/internal/rte.compile-pre.mk
deleted file mode 100644
index df05b55769..0000000000
--- a/mk/internal/rte.compile-pre.mk
+++ /dev/null
@@ -1,164 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# Common to rte.lib.mk, rte.app.mk, rte.obj.mk
-#
-
-SRCS-all := $(SRCS-y) $(SRCS-n) $(SRCS-)
-
-# convert source to obj file
-src2obj = $(strip $(patsubst %.c,%.o,\
-	$(patsubst %.S,%_s.o,$(1))))
-
-# add a dot in front of the file name
-dotfile = $(strip $(foreach f,$(1),\
-	$(join $(dir $f),.$(notdir $f))))
-
-# convert source/obj files into dot-dep filename (does not
-# include .S files)
-src2dep = $(strip $(call dotfile,$(patsubst %.c,%.o.d, \
-		$(patsubst %.S,,$(1)))))
-obj2dep = $(strip $(call dotfile,$(patsubst %.o,%.o.d,$(1))))
-
-# convert source/obj files into dot-cmd filename
-src2cmd = $(strip $(call dotfile,$(patsubst %.c,%.o.cmd, \
-		$(patsubst %.S,%_s.o.cmd,$(1)))))
-obj2cmd = $(strip $(call dotfile,$(patsubst %.o,%.o.cmd,$(1))))
-
-OBJS-y := $(call src2obj,$(SRCS-y))
-OBJS-n := $(call src2obj,$(SRCS-n))
-OBJS-  := $(call src2obj,$(SRCS-))
-OBJS-all := $(filter-out $(SRCS-all),$(OBJS-y) $(OBJS-n) $(OBJS-))
-
-DEPS-y := $(call src2dep,$(SRCS-y))
-DEPS-n := $(call src2dep,$(SRCS-n))
-DEPS-  := $(call src2dep,$(SRCS-))
-DEPS-all := $(DEPS-y) $(DEPS-n) $(DEPS-)
-DEPSTMP-all := $(DEPS-all:%.d=%.d.tmp)
-
-CMDS-y := $(call src2cmd,$(SRCS-y))
-CMDS-n := $(call src2cmd,$(SRCS-n))
-CMDS-  := $(call src2cmd,$(SRCS-))
-CMDS-all := $(CMDS-y) $(CMDS-n) $(CMDS-)
-
--include $(DEPS-y) $(CMDS-y)
-
-# command to compile a .c file to generate an object
-ifeq ($(USE_HOST),1)
-C_TO_O = $(HOSTCC) -Wp,-MD,$(call obj2dep,$(@)).tmp $(HOST_CPPFLAGS) $(HOST_CFLAGS) \
-	$(CFLAGS_$(@)) $(HOST_EXTRA_CPPFLAGS) $(HOST_EXTRA_CFLAGS) -o $@ -c $<
-C_TO_O_STR = $(subst ','\'',$(C_TO_O)) #'# fix syntax highlight
-C_TO_O_DISP = $(if $(V),"$(C_TO_O_STR)","  HOSTCC $(@)")
-else
-C_TO_O = $(CC) -Wp,-MD,$(call obj2dep,$(@)).tmp $(CPPFLAGS) $(CFLAGS) \
-	$(CFLAGS_$(@)) $(EXTRA_CPPFLAGS) $(EXTRA_CFLAGS) -o $@ -c $<
-C_TO_O_STR = $(subst ','\'',$(C_TO_O)) #'# fix syntax highlight
-C_TO_O_DISP = $(if $(V),"$(C_TO_O_STR)","  CC $(@)")
-endif
-CHECK_SYMBOLS_SCRIPT = $(RTE_SDK)/buildtools/check-symbols.sh
-CHECK_SYMBOLS = $(CHECK_SYMBOLS_SCRIPT) $(SRCDIR)/$(EXPORT_MAP) $@
-
-PMDINFO_GEN = $(RTE_SDK_BIN)/app/dpdk-pmdinfogen $@ $@.pmd.c
-PMDINFO_CC = $(CC) $(CPPFLAGS) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@.pmd.o $@.pmd.c
-PMDINFO_LD = $(CROSS)ld -r $(filter-out -export-dynamic,$(LDFLAGS)) -o $@.o $@.pmd.o $@
-PMDINFO_TO_O = if grep -q 'RTE_PMD_REGISTER_.*(.*)' $<; then \
-	echo "$(if $V,$(PMDINFO_GEN),  PMDINFO $@.pmd.c)" && \
-	$(PMDINFO_GEN) && \
-	echo "$(if $V,$(PMDINFO_CC),  CC $@.pmd.o)" && \
-	$(PMDINFO_CC) && \
-	echo "$(if $V,$(PMDINFO_LD),  LD $@)" && \
-	$(PMDINFO_LD) && \
-	mv -f $@.o $@; fi
-C_TO_O_CMD = 'cmd_$@ = $(C_TO_O_STR)'
-C_TO_O_DO = @set -e; \
-	echo $(C_TO_O_DISP); \
-	$(C_TO_O) && \
-	$(PMDINFO_TO_O) && \
-	$(CHECK_SYMBOLS) && \
-	echo $(C_TO_O_CMD) > $(call obj2cmd,$(@)) && \
-	sed 's,'$@':,dep_'$@' =,' $(call obj2dep,$(@)).tmp > $(call obj2dep,$(@)) && \
-	rm -f $(call obj2dep,$(@)).tmp
-
-# return an empty string if string are equal
-compare = $(strip $(subst $(1),,$(2)) $(subst $(2),,$(1)))
-
-# return a non-empty string if the dst file does not exist
-file_missing = $(call compare,$(wildcard $@),$@)
-
-# return a non-empty string if cmdline changed
-cmdline_changed = $(call compare,$(strip $(cmd_$@)),$(strip $(1)))
-
-# return a non-empty string if a dependency file does not exist
-depfile_missing = $(call compare,$(wildcard $(dep_$@)),$(dep_$@))
-
-# return an empty string if no prereq is newer than target
-#     - $^ -> names of all the prerequisites
-#     - $(wildcard $^) -> every existing prereq
-#     - $(filter-out $(wildcard $^),$^) -> every prereq that don't
-#       exist (filter-out removes existing ones from the list)
-#     - $? -> names of all the prerequisites newer than target
-depfile_newer = $(strip $(filter-out FORCE,$? \
-	$(filter-out $(wildcard $^),$^)))
-
-# return 1 if parameter is a non-empty string, else 0
-boolean = $(if $1,1,0)
-
-#
-# Compile .c file if needed
-# Note: dep_$$@ is from the .d file and DEP_$$@ can be specified by
-# user (by default it is empty)
-#
-.SECONDEXPANSION:
-%.o: %.c $$(wildcard $$(dep_$$@)) $$(DEP_$$(@)) FORCE
-	@[ -d $(dir $@) ] || mkdir -p $(dir $@)
-	$(if $(D),\
-		@echo -n "$< -> $@ " ; \
-		echo -n "file_missing=$(call boolean,$(file_missing)) " ; \
-		echo -n "cmdline_changed=$(call boolean,$(call cmdline_changed,$(C_TO_O))) " ; \
-		echo -n "depfile_missing=$(call boolean,$(depfile_missing)) " ; \
-		echo "depfile_newer=$(call boolean,$(depfile_newer))")
-	$(if $(or \
-		$(file_missing),\
-		$(call cmdline_changed,$(C_TO_O)),\
-		$(depfile_missing),\
-		$(depfile_newer)),\
-		$(C_TO_O_DO))
-
-# command to assemble a .S file to generate an object
-ifeq ($(USE_HOST),1)
-S_TO_O = $(CPP) $(HOST_CPPFLAGS) $($(@)_CPPFLAGS) $(HOST_EXTRA_CPPFLAGS) $< $(@).tmp && \
-	$(HOSTAS) $(HOST_ASFLAGS) $($(@)_ASFLAGS) $(HOST_EXTRA_ASFLAGS) -o $@ $(@).tmp
-S_TO_O_STR = $(subst ','\'',$(S_TO_O)) #'# fix syntax highlight
-S_TO_O_DISP =  $(if $(V),"$(S_TO_O_STR)","  HOSTAS $(@)")
-else
-S_TO_O = $(CPP) $(CPPFLAGS) $($(@)_CPPFLAGS) $(EXTRA_CPPFLAGS) $< -o $(@).tmp && \
-	$(AS) $(ASFLAGS) $($(@)_ASFLAGS) $(EXTRA_ASFLAGS) -o $@ $(@).tmp
-S_TO_O_STR = $(subst ','\'',$(S_TO_O)) #'# fix syntax highlight
-S_TO_O_DISP =  $(if $(V),"$(S_TO_O_STR)","  AS $(@)")
-endif
-
-S_TO_O_CMD = "cmd_$@ = $(S_TO_O_STR)"
-S_TO_O_DO = @set -e; \
-	echo $(S_TO_O_DISP); \
-	$(S_TO_O) && \
-	echo $(S_TO_O_CMD) > $(call obj2cmd,$(@))
-
-#
-# Compile .S file if needed
-# Note: DEP_$$@ can be specified by user (by default it is empty)
-#
-%_s.o: %.S $$(DEP_$$@) FORCE
-	@[ ! -d $(dir $@) ] || mkdir -p $(dir $@)
-	$(if $(D),\
-		@echo -n "$< -> $@ " ; \
-		echo -n "file_missing=$(call boolean,$(file_missing)) " ; \
-		echo -n "cmdline_changed=$(call boolean,$(call cmdline_changed,$(S_TO_O_STR))) " ; \
-		echo -n "depfile_missing=$(call boolean,$(depfile_missing)) " ; \
-		echo "depfile_newer=$(call boolean,$(depfile_newer)) ")
-	$(if $(or \
-		$(file_missing),\
-		$(call cmdline_changed,$(S_TO_O_STR)),\
-		$(depfile_missing),\
-		$(depfile_newer)),\
-		$(S_TO_O_DO))
diff --git a/mk/internal/rte.extvars.mk b/mk/internal/rte.extvars.mk
deleted file mode 100644
index 98c860628a..0000000000
--- a/mk/internal/rte.extvars.mk
+++ /dev/null
@@ -1,55 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# directory where sources are located
-#
-ifdef S
-ifeq ("$(origin S)", "command line")
-RTE_SRCDIR := $(abspath $(S))
-endif
-endif
-RTE_SRCDIR  ?= $(CURDIR)
-export RTE_SRCDIR
-
-#
-# Makefile to call once $(RTE_OUTPUT) is created
-#
-ifdef M
-ifeq ("$(origin M)", "command line")
-RTE_EXTMK := $(abspath $(M))
-endif
-endif
-RTE_EXTMK ?= $(RTE_SRCDIR)/$(notdir $(firstword $(MAKEFILE_LIST)))
-export RTE_EXTMK
-
-# RTE_SDK_BIN must point to .config, include/ and lib/.
-RTE_SDK_BIN := $(RTE_SDK)/$(RTE_TARGET)
-ifeq ($(wildcard $(RTE_SDK_BIN)/.config),)
-$(error Cannot find .config in $(RTE_SDK_BIN))
-endif
-
-#
-# Output files wil go in a separate directory: default output is
-# $(RTE_SRCDIR)/build
-# Output dir can be given as command line using "O="
-#
-ifdef O
-ifeq ("$(origin O)", "command line")
-RTE_OUTPUT := $(abspath $(O))
-endif
-endif
-RTE_OUTPUT ?= $(RTE_SRCDIR)/build
-export RTE_OUTPUT
-
-# if we are building an external application, include SDK
-# configuration and include project configuration if any
-include $(RTE_SDK_BIN)/.config
-ifneq ($(wildcard $(RTE_OUTPUT)/.config),)
-  include $(RTE_OUTPUT)/.config
-endif
-# remove double-quotes from config names
-RTE_ARCH := $(CONFIG_RTE_ARCH:"%"=%)
-RTE_MACHINE := $(CONFIG_RTE_MACHINE:"%"=%)
-RTE_EXEC_ENV := $(CONFIG_RTE_EXEC_ENV:"%"=%)
-RTE_TOOLCHAIN := $(CONFIG_RTE_TOOLCHAIN:"%"=%)
diff --git a/mk/internal/rte.install-post.mk b/mk/internal/rte.install-post.mk
deleted file mode 100644
index a1aa0ca4ff..0000000000
--- a/mk/internal/rte.install-post.mk
+++ /dev/null
@@ -1,71 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-# install helper .mk
-
-#
-# generate rules to install files in RTE_OUTPUT.
-#
-# arg1: relative install dir in RTE_OUTPUT
-# arg2: relative file name in a source dir (VPATH)
-#
-define install_rule
-$(addprefix $(RTE_OUTPUT)/$(1)/,$(notdir $(2))): $(2)
-	@echo "  INSTALL-FILE $(addprefix $(1)/,$(notdir $(2)))"
-	@[ -d $(RTE_OUTPUT)/$(1) ] || mkdir -p $(RTE_OUTPUT)/$(1)
-	$(Q)cp -rf $$(<) $(RTE_OUTPUT)/$(1)
-endef
-
-$(foreach dir,$(INSTALL-DIRS-y),\
-	$(foreach file,$(INSTALL-y-$(dir)),\
-		$(eval $(call install_rule,$(dir),$(file)))))
-
-
-#
-# generate rules to install symbolic links of files in RTE_OUTPUT.
-#
-# arg1: relative install dir in RTE_OUTPUT
-# arg2: relative file name in a source dir (VPATH)
-#
-define symlink_rule
-$(addprefix $(RTE_OUTPUT)/$(1)/,$(notdir $(2))): $(2)
-	@echo "  SYMLINK-FILE $(addprefix $(1)/,$(notdir $(2)))"
-	@[ -d $(RTE_OUTPUT)/$(1) ] || mkdir -p $(RTE_OUTPUT)/$(1)
-	$(Q)ln -nsf `$(RTE_SDK)/buildtools/relpath.sh $$(<) $(RTE_OUTPUT)/$(1)` \
-		$(RTE_OUTPUT)/$(1)
-endef
-
-$(foreach dir,$(SYMLINK-DIRS-y),\
-	$(foreach file,$(SYMLINK-y-$(dir)),\
-		$(eval $(call symlink_rule,$(dir),$(file)))))
-
-
-# fast way, no need to do preinstall and postinstall
-ifeq ($(PREINSTALL)$(POSTINSTALL),)
-
-_postinstall: $(_INSTALL)
-	@touch _postinstall
-
-else # slower way
-
-_preinstall: $(PREINSTALL)
-	@touch _preinstall
-
-ifneq ($(_INSTALL),)
-$(_INSTALL): _preinstall
-else
-_INSTALL = _preinstall
-endif
-
-_install: $(_INSTALL)
-	@touch _install
-
-ifneq ($(POSTINSTALL),)
-$(POSTINSTALL): _install
-else
-POSTINSTALL = _install
-endif
-
-_postinstall: $(POSTINSTALL)
-	@touch _postinstall
-endif
diff --git a/mk/internal/rte.install-pre.mk b/mk/internal/rte.install-pre.mk
deleted file mode 100644
index 4786d3b28b..0000000000
--- a/mk/internal/rte.install-pre.mk
+++ /dev/null
@@ -1,32 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# get all variables starting with "INSTALL-y-", and extract the
-# installation dir and path
-#
-INSTALL-y := $(filter INSTALL-y-%,$(.VARIABLES))
-INSTALL-n := $(filter INSTALL-n-%,$(.VARIABLES))
-INSTALL- := $(filter INSTALL--%,$(.VARIABLES))
-INSTALL-DIRS-y := $(patsubst INSTALL-y-%,%,$(INSTALL-y))
-INSTALL-FILES-y := $(foreach i,$(INSTALL-DIRS-y),\
-	$(addprefix $(RTE_OUTPUT)/$(i)/,$(notdir $(INSTALL-y-$(i)))))
-INSTALL-FILES-all := $(foreach i,$(INSTALL-DIRS-y) $(INSTALL-DIRS-n) $(INSTALL-DIRS-),\
-	$(addprefix $(RTE_OUTPUT)/$(i)/,$(notdir $(INSTALL-y-$(i)))))
-
-_INSTALL_TARGETS := _preinstall _install _postinstall
-
-#
-# get all variables starting with "SYMLINK-y-", and extract the
-# installation dir and path
-#
-SYMLINK-y := $(filter SYMLINK-y-%,$(.VARIABLES))
-SYMLINK-n := $(filter SYMLINK-n-%,$(.VARIABLES))
-SYMLINK- := $(filter SYMLINK--%,$(.VARIABLES))
-SYMLINK-DIRS-y := $(patsubst SYMLINK-y-%,%,$(SYMLINK-y))
-SYMLINK-FILES-y := $(foreach i,$(SYMLINK-DIRS-y),\
-	$(addprefix $(RTE_OUTPUT)/$(i)/,$(notdir $(SYMLINK-y-$(i)))))
-SYMLINK-FILES-all := $(foreach i,$(SYMLINK-DIRS-y) $(SYMLINK-DIRS-n) $(SYMLINK-DIRS-),\
-	$(addprefix $(RTE_OUTPUT)/$(i)/,$(notdir $(SYMLINK-y-$(i)))))
-
-_SYMLINK_TARGETS := _presymlink _symlink _postsymlink
diff --git a/mk/machine/armv7a/rte.vars.mk b/mk/machine/armv7a/rte.vars.mk
deleted file mode 100644
index 44ebd68dae..0000000000
--- a/mk/machine/armv7a/rte.vars.mk
+++ /dev/null
@@ -1,36 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright (C) 2015 RehiveTech. All rights reserved.
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-MACHINE_CFLAGS += -march=armv7-a
-
-ifdef CONFIG_RTE_ARCH_ARM_TUNE
-MACHINE_CFLAGS += -mtune=$(CONFIG_RTE_ARCH_ARM_TUNE:"%"=%)
-endif
-
-MACHINE_CFLAGS += -mfpu=neon
diff --git a/mk/machine/armv8a/rte.vars.mk b/mk/machine/armv8a/rte.vars.mk
deleted file mode 100644
index 5e3ffc3adf..0000000000
--- a/mk/machine/armv8a/rte.vars.mk
+++ /dev/null
@@ -1,31 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2015 Cavium, Inc
-#
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-MACHINE_CFLAGS += -march=armv8-a+crc
diff --git a/mk/machine/default/rte.vars.mk b/mk/machine/default/rte.vars.mk
deleted file mode 100644
index df08d3b038..0000000000
--- a/mk/machine/default/rte.vars.mk
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-MACHINE_CFLAGS += -march=corei7
diff --git a/mk/machine/dpaa/rte.vars.mk b/mk/machine/dpaa/rte.vars.mk
deleted file mode 100644
index 75df626ff2..0000000000
--- a/mk/machine/dpaa/rte.vars.mk
+++ /dev/null
@@ -1,37 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright (c) 2016 Freescale Semiconductor, Inc. All rights reserved.
-# Copyright 2017 NXP
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-MACHINE_CFLAGS += -march=armv8-a+crc
-
-ifdef CONFIG_RTE_ARCH_ARM_TUNE
-MACHINE_CFLAGS += -mtune=$(CONFIG_RTE_ARCH_ARM_TUNE:"%"=%)
-endif
-
-# To avoid TLS corruption issue.
-MACHINE_CFLAGS += -mtls-dialect=trad
diff --git a/mk/machine/emag/rte.vars.mk b/mk/machine/emag/rte.vars.mk
deleted file mode 100644
index 50342dfa27..0000000000
--- a/mk/machine/emag/rte.vars.mk
+++ /dev/null
@@ -1,32 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019 Ampere Computing
-#
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-MACHINE_CFLAGS += -march=armv8-a+crc+crypto
-MACHINE_CFLAGS += $(call rte_cc_has_argument, -mtune=emag)
diff --git a/mk/machine/hsw/rte.vars.mk b/mk/machine/hsw/rte.vars.mk
deleted file mode 100644
index 39099e760e..0000000000
--- a/mk/machine/hsw/rte.vars.mk
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-MACHINE_CFLAGS = -march=core-avx2
diff --git a/mk/machine/ivb/rte.vars.mk b/mk/machine/ivb/rte.vars.mk
deleted file mode 100644
index 5b6563742a..0000000000
--- a/mk/machine/ivb/rte.vars.mk
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-MACHINE_CFLAGS = -march=core-avx-i
diff --git a/mk/machine/n1sdp/rte.vars.mk b/mk/machine/n1sdp/rte.vars.mk
deleted file mode 100644
index 6d69de03c9..0000000000
--- a/mk/machine/n1sdp/rte.vars.mk
+++ /dev/null
@@ -1,34 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019 Arm Ltd
-#
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-include $(RTE_SDK)/mk/rte.helper.mk
-
-MACHINE_CFLAGS += $(call rte_cc_has_argument, -march=armv8.2-a+crc+crypto)
-MACHINE_CFLAGS += $(call rte_cc_has_argument, -mcpu=neoverse-n1)
diff --git a/mk/machine/native/rte.vars.mk b/mk/machine/native/rte.vars.mk
deleted file mode 100644
index 8c96e3fa04..0000000000
--- a/mk/machine/native/rte.vars.mk
+++ /dev/null
@@ -1,39 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-MACHINE_CFLAGS = -march=native
-
-# On FreeBSD systems, sometimes the correct CPU type is not picked up.
-# To get everything to compile, we need SSE4.2 support, so check if that is
-# reported by compiler. If not, check if the CPU actually supports it, and if
-# so, set the compilation target to be a corei7, minimum target with SSE4.2.
-SSE42_SUPPORT=$(shell $(CC) -march=native -dM -E - </dev/null | grep SSE4_2)
-ifeq ($(SSE42_SUPPORT),)
-    MACHINE_CFLAGS = -march=corei7
-endif
diff --git a/mk/machine/nhm/rte.vars.mk b/mk/machine/nhm/rte.vars.mk
deleted file mode 100644
index 91de5d9bed..0000000000
--- a/mk/machine/nhm/rte.vars.mk
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-MACHINE_CFLAGS = -march=corei7
diff --git a/mk/machine/octeontx2/rte.vars.mk b/mk/machine/octeontx2/rte.vars.mk
deleted file mode 100644
index e209cf4920..0000000000
--- a/mk/machine/octeontx2/rte.vars.mk
+++ /dev/null
@@ -1,34 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Marvell International Ltd
-#
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-include $(RTE_SDK)/mk/rte.helper.mk
-
-MACHINE_CFLAGS += $(call rte_cc_has_argument, -march=armv8.2-a+crc+crypto+lse)
-MACHINE_CFLAGS += $(call rte_cc_has_argument, -mcpu=octeontx2)
diff --git a/mk/machine/power8/rte.vars.mk b/mk/machine/power8/rte.vars.mk
deleted file mode 100644
index 00e0834b8a..0000000000
--- a/mk/machine/power8/rte.vars.mk
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright (C) IBM Corporation 2014.
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-MACHINE_CFLAGS =
diff --git a/mk/machine/silvermont/rte.vars.mk b/mk/machine/silvermont/rte.vars.mk
deleted file mode 100644
index e4f3fe42bd..0000000000
--- a/mk/machine/silvermont/rte.vars.mk
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-MACHINE_CFLAGS = -march=silvermont
diff --git a/mk/machine/snb/rte.vars.mk b/mk/machine/snb/rte.vars.mk
deleted file mode 100644
index efe2f32d70..0000000000
--- a/mk/machine/snb/rte.vars.mk
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-MACHINE_CFLAGS = -march=corei7-avx
diff --git a/mk/machine/thunderx/rte.vars.mk b/mk/machine/thunderx/rte.vars.mk
deleted file mode 100644
index 047741668c..0000000000
--- a/mk/machine/thunderx/rte.vars.mk
+++ /dev/null
@@ -1,31 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2015 Cavium, Inc
-#
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-MACHINE_CFLAGS += -march=armv8-a+crc+crypto -mcpu=thunderx
diff --git a/mk/machine/thunderx2/rte.vars.mk b/mk/machine/thunderx2/rte.vars.mk
deleted file mode 100644
index b80dc8680c..0000000000
--- a/mk/machine/thunderx2/rte.vars.mk
+++ /dev/null
@@ -1,34 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Marvell International Ltd
-#
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-include $(RTE_SDK)/mk/rte.helper.mk
-
-MACHINE_CFLAGS += $(call rte_cc_has_argument, -march=armv8.1-a+crc+crypto)
-MACHINE_CFLAGS += $(call rte_cc_has_argument, -mcpu=thunderx2t99)
diff --git a/mk/machine/wsm/rte.vars.mk b/mk/machine/wsm/rte.vars.mk
deleted file mode 100644
index e9bc3f9848..0000000000
--- a/mk/machine/wsm/rte.vars.mk
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-MACHINE_CFLAGS = -march=corei7 -maes -mpclmul
diff --git a/mk/machine/xgene1/rte.vars.mk b/mk/machine/xgene1/rte.vars.mk
deleted file mode 100644
index e632f3139b..0000000000
--- a/mk/machine/xgene1/rte.vars.mk
+++ /dev/null
@@ -1,31 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2015 Cavium, Inc
-#
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-MACHINE_CFLAGS += -march=armv8-a
diff --git a/mk/rte.app.mk b/mk/rte.app.mk
deleted file mode 100644
index a544259970..0000000000
--- a/mk/rte.app.mk
+++ /dev/null
@@ -1,509 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2017 Intel Corporation.
-# Copyright(c) 2014-2015 6WIND S.A.
-
-include $(RTE_SDK)/mk/internal/rte.compile-pre.mk
-include $(RTE_SDK)/mk/internal/rte.install-pre.mk
-include $(RTE_SDK)/mk/internal/rte.clean-pre.mk
-include $(RTE_SDK)/mk/internal/rte.build-pre.mk
-
-# VPATH contains at least SRCDIR
-VPATH += $(SRCDIR)
-
-_BUILD = $(APP)
-_INSTALL = $(INSTALL-FILES-y) $(SYMLINK-FILES-y)
-_INSTALL += $(RTE_OUTPUT)/app/$(APP) $(RTE_OUTPUT)/app/$(APP).map
-POSTINSTALL += target-appinstall
-_CLEAN = doclean
-POSTCLEAN += target-appclean
-
-ifeq ($(NO_LDSCRIPT),)
-LDSCRIPT = $(RTE_LDSCRIPT)
-endif
-
-# Link only the libraries used in the application
-LDFLAGS += --as-needed
-
-# default path for libs
-_LDLIBS-y += -L$(RTE_SDK_BIN)/lib
-
-#
-# Order is important: from higher level to lower level
-#
-_LDLIBS-$(CONFIG_RTE_LIBRTE_FLOW_CLASSIFY)  += -lrte_flow_classify
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PIPELINE)       += --whole-archive
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PIPELINE)       += -lrte_pipeline
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PIPELINE)       += --no-whole-archive
-_LDLIBS-$(CONFIG_RTE_LIBRTE_TABLE)          += --whole-archive
-_LDLIBS-$(CONFIG_RTE_LIBRTE_TABLE)          += -lrte_table
-_LDLIBS-$(CONFIG_RTE_LIBRTE_TABLE)          += --no-whole-archive
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PORT)           += --whole-archive
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PORT)           += -lrte_port
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PORT)           += --no-whole-archive
-
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PDUMP)          += -lrte_pdump
-_LDLIBS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR)    += -lrte_distributor
-_LDLIBS-$(CONFIG_RTE_LIBRTE_IP_FRAG)        += -lrte_ip_frag
-_LDLIBS-$(CONFIG_RTE_LIBRTE_METER)          += -lrte_meter
-_LDLIBS-$(CONFIG_RTE_LIBRTE_FIB)            += -lrte_fib
-_LDLIBS-$(CONFIG_RTE_LIBRTE_RIB)            += -lrte_rib
-_LDLIBS-$(CONFIG_RTE_LIBRTE_LPM)            += -lrte_lpm
-_LDLIBS-$(CONFIG_RTE_LIBRTE_ACL)            += -lrte_acl
-_LDLIBS-$(CONFIG_RTE_LIBRTE_JOBSTATS)       += -lrte_jobstats
-_LDLIBS-$(CONFIG_RTE_LIBRTE_METRICS)        += --whole-archive
-_LDLIBS-$(CONFIG_RTE_LIBRTE_METRICS)        += -lrte_metrics
-ifeq ($(CONFIG_RTE_LIBRTE_TELEMETRY),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_METRICS)        += -ljansson
-endif
-_LDLIBS-$(CONFIG_RTE_LIBRTE_METRICS)        += --no-whole-archive
-_LDLIBS-$(CONFIG_RTE_LIBRTE_BITRATE)        += -lrte_bitratestats
-_LDLIBS-$(CONFIG_RTE_LIBRTE_LATENCY_STATS)  += -lrte_latencystats
-_LDLIBS-$(CONFIG_RTE_LIBRTE_POWER)          += -lrte_power
-
-_LDLIBS-$(CONFIG_RTE_LIBRTE_EFD)            += -lrte_efd
-_LDLIBS-$(CONFIG_RTE_LIBRTE_BPF)            += -lrte_bpf
-ifeq ($(CONFIG_RTE_LIBRTE_BPF_ELF),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_BPF)            += -lelf
-endif
-
-_LDLIBS-$(CONFIG_RTE_LIBRTE_IPSEC)            += -lrte_ipsec
-
-_LDLIBS-y += --whole-archive
-
-_LDLIBS-$(CONFIG_RTE_LIBRTE_CFGFILE)        += -lrte_cfgfile
-_LDLIBS-$(CONFIG_RTE_LIBRTE_GRO)            += -lrte_gro
-_LDLIBS-$(CONFIG_RTE_LIBRTE_GSO)            += -lrte_gso
-_LDLIBS-$(CONFIG_RTE_LIBRTE_HASH)           += -lrte_hash
-_LDLIBS-$(CONFIG_RTE_LIBRTE_MEMBER)         += -lrte_member
-_LDLIBS-$(CONFIG_RTE_LIBRTE_VHOST)          += -lrte_vhost
-_LDLIBS-$(CONFIG_RTE_LIBRTE_KVARGS)         += -lrte_kvargs
-_LDLIBS-y                                   += -lrte_telemetry
-_LDLIBS-$(CONFIG_RTE_LIBRTE_MBUF)           += -lrte_mbuf
-_LDLIBS-$(CONFIG_RTE_LIBRTE_NET)            += -lrte_net
-_LDLIBS-$(CONFIG_RTE_LIBRTE_ETHER)          += -lrte_ethdev
-_LDLIBS-$(CONFIG_RTE_LIBRTE_BBDEV)          += -lrte_bbdev
-_LDLIBS-$(CONFIG_RTE_LIBRTE_CRYPTODEV)      += -lrte_cryptodev
-_LDLIBS-$(CONFIG_RTE_LIBRTE_SECURITY)       += -lrte_security
-_LDLIBS-$(CONFIG_RTE_LIBRTE_COMPRESSDEV)    += -lrte_compressdev
-_LDLIBS-$(CONFIG_RTE_LIBRTE_REGEXDEV)       += -lrte_regexdev
-_LDLIBS-$(CONFIG_RTE_LIBRTE_EVENTDEV)       += -lrte_eventdev
-_LDLIBS-$(CONFIG_RTE_LIBRTE_RAWDEV)         += -lrte_rawdev
-_LDLIBS-$(CONFIG_RTE_LIBRTE_TIMER)          += -lrte_timer
-_LDLIBS-$(CONFIG_RTE_LIBRTE_MEMPOOL)        += -lrte_mempool
-_LDLIBS-$(CONFIG_RTE_LIBRTE_STACK)          += -lrte_stack
-_LDLIBS-$(CONFIG_RTE_DRIVER_MEMPOOL_RING)   += -lrte_mempool_ring
-_LDLIBS-$(CONFIG_RTE_LIBRTE_OCTEONTX2_MEMPOOL) += -lrte_mempool_octeontx2
-_LDLIBS-$(CONFIG_RTE_LIBRTE_RING)           += -lrte_ring
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PCI)            += -lrte_pci
-_LDLIBS-$(CONFIG_RTE_LIBRTE_EAL)            += -lrte_eal
-_LDLIBS-$(CONFIG_RTE_LIBRTE_CMDLINE)        += -lrte_cmdline
-_LDLIBS-$(CONFIG_RTE_LIBRTE_REORDER)        += -lrte_reorder
-_LDLIBS-$(CONFIG_RTE_LIBRTE_SCHED)          += -lrte_sched
-_LDLIBS-$(CONFIG_RTE_LIBRTE_RCU)            += -lrte_rcu
-_LDLIBS-$(CONFIG_RTE_LIBRTE_GRAPH)          += -lrte_graph
-_LDLIBS-$(CONFIG_RTE_LIBRTE_NODE)           += -lrte_node
-
-ifeq ($(CONFIG_RTE_EXEC_ENV_LINUX),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_KNI)            += -lrte_kni
-endif
-
-OTX-CPT-y := $(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_CRYPTO)
-OTX-CPT-y += $(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO)
-ifeq ($(findstring y,$(OTX-CPT-y)),y)
-_LDLIBS-y += -lrte_common_cpt
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF)$(CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL),yy)
-_LDLIBS-y += -lrte_common_octeontx
-endif
-OCTEONTX2-y := $(CONFIG_RTE_LIBRTE_OCTEONTX2_MEMPOOL)
-OCTEONTX2-y += $(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO)
-OCTEONTX2-y += $(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV)
-OCTEONTX2-y += $(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_DMA_RAWDEV)
-OCTEONTX2-y += $(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EP_RAWDEV)
-OCTEONTX2-y += $(CONFIG_RTE_LIBRTE_OCTEONTX2_PMD)
-ifeq ($(findstring y,$(OCTEONTX2-y)),y)
-_LDLIBS-y += -lrte_common_octeontx2
-endif
-
-MVEP-y := $(CONFIG_RTE_LIBRTE_MVPP2_PMD)
-MVEP-y += $(CONFIG_RTE_LIBRTE_MVNETA_PMD)
-MVEP-y += $(CONFIG_RTE_LIBRTE_PMD_MVSAM_CRYPTO)
-ifneq (,$(findstring y,$(MVEP-y)))
-_LDLIBS-y += -lrte_common_mvep -L$(LIBMUSDK_PATH)/lib -lmusdk
-endif
-
-DPAAX-y := $(CONFIG_RTE_LIBRTE_DPAA_BUS)
-DPAAX-y += $(CONFIG_RTE_LIBRTE_FSLMC_BUS)
-DPAAX-y += $(CONFIG_RTE_LIBRTE_ENETC_PMD)
-DPAAX-y += $(CONFIG_RTE_LIBRTE_PMD_CAAM_JR)
-DPAAX-y += $(CONFIG_RTE_LIBRTE_PFE_PMD)
-ifeq ($(findstring y,$(DPAAX-y)),y)
- _LDLIBS-y += -lrte_common_dpaax
-endif
-
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PCI_BUS)        += -lrte_bus_pci
-_LDLIBS-$(CONFIG_RTE_LIBRTE_VDEV_BUS)       += -lrte_bus_vdev
-_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA_BUS)       += -lrte_bus_dpaa
-ifeq ($(CONFIG_RTE_EAL_VFIO),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS)      += -lrte_bus_fslmc
-endif
-
-ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),n)
-# plugins (link only if static libraries)
-
-_LDLIBS-$(CONFIG_RTE_DRIVER_MEMPOOL_BUCKET) += -lrte_mempool_bucket
-_LDLIBS-$(CONFIG_RTE_DRIVER_MEMPOOL_STACK)  += -lrte_mempool_stack
-ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA_MEMPOOL)   += -lrte_mempool_dpaa
-endif
-ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL)  += -lrte_mempool_dpaa2
-endif
-
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AF_PACKET)  += -lrte_pmd_af_packet
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AF_XDP)     += -lrte_pmd_af_xdp -lbpf
-_LDLIBS-$(CONFIG_RTE_LIBRTE_ARK_PMD)        += -lrte_pmd_ark
-_LDLIBS-$(CONFIG_RTE_LIBRTE_ATLANTIC_PMD)   += -lrte_pmd_atlantic
-_LDLIBS-$(CONFIG_RTE_LIBRTE_AVP_PMD)        += -lrte_pmd_avp
-_LDLIBS-$(CONFIG_RTE_LIBRTE_AXGBE_PMD)      += -lrte_pmd_axgbe
-_LDLIBS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD)      += -lrte_pmd_bnx2x -lz
-_LDLIBS-$(CONFIG_RTE_LIBRTE_BNXT_PMD)       += -lrte_pmd_bnxt
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BOND)       += -lrte_pmd_bond
-_LDLIBS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD)      += -lrte_pmd_cxgbe
-ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA_PMD)       += -lrte_pmd_dpaa
-endif
-ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD)      += -lrte_pmd_dpaa2
-endif
-_LDLIBS-$(CONFIG_RTE_LIBRTE_E1000_PMD)      += -lrte_pmd_e1000
-_LDLIBS-$(CONFIG_RTE_LIBRTE_ENA_PMD)        += -lrte_pmd_ena
-_LDLIBS-$(CONFIG_RTE_LIBRTE_ENETC_PMD)      += -lrte_pmd_enetc
-_LDLIBS-$(CONFIG_RTE_LIBRTE_ENIC_PMD)       += -lrte_pmd_enic
-_LDLIBS-$(CONFIG_RTE_LIBRTE_FM10K_PMD)      += -lrte_pmd_fm10k
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_FAILSAFE)   += -lrte_pmd_failsafe
-_LDLIBS-$(CONFIG_RTE_LIBRTE_HINIC_PMD)      += -lrte_pmd_hinic
-_LDLIBS-$(CONFIG_RTE_LIBRTE_HNS3_PMD)       += -lrte_pmd_hns3
-_LDLIBS-$(CONFIG_RTE_LIBRTE_I40E_PMD)       += -lrte_pmd_i40e
-_LDLIBS-$(CONFIG_RTE_LIBRTE_IAVF_PMD)       += -lrte_pmd_iavf
-_LDLIBS-$(CONFIG_RTE_LIBRTE_ICE_PMD)        += -lrte_pmd_ice
-IAVF-y := $(CONFIG_RTE_LIBRTE_IAVF_PMD)
-IAVF-y += $(CONFIG_RTE_LIBRTE_ICE_PMD)
-ifeq ($(findstring y,$(IAVF-y)),y)
-_LDLIBS-y += -lrte_common_iavf
-endif
-_LDLIBS-$(CONFIG_RTE_LIBRTE_IGC_PMD)        += -lrte_pmd_igc
-_LDLIBS-$(CONFIG_RTE_LIBRTE_IONIC_PMD)      += -lrte_pmd_ionic
-_LDLIBS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD)      += -lrte_pmd_ixgbe
-ifeq ($(CONFIG_RTE_LIBRTE_KNI),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_KNI)        += -lrte_pmd_kni
-endif
-_LDLIBS-$(CONFIG_RTE_LIBRTE_LIO_PMD)        += -lrte_pmd_lio
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_MEMIF)      += -lrte_pmd_memif
-_LDLIBS-$(CONFIG_RTE_LIBRTE_MLX4_PMD)       += -lrte_pmd_mlx4
-ifeq ($(findstring y,$(CONFIG_RTE_LIBRTE_MLX5_PMD)$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD)),y)
-_LDLIBS-y                                   += -lrte_common_mlx5
-endif
-_LDLIBS-$(CONFIG_RTE_LIBRTE_MLX5_PMD)       += -lrte_pmd_mlx5
-_LDLIBS-$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)  += -lrte_pmd_mlx5_vdpa
-_LDLIBS-$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD)  += -lrte_pmd_mlx5_regex
-ifeq ($(CONFIG_RTE_IBVERBS_LINK_DLOPEN),y)
-_LDLIBS-y                                   += -ldl
-else ifeq ($(CONFIG_RTE_IBVERBS_LINK_STATIC),y)
-LIBS_IBVERBS_STATIC = $(shell $(RTE_SDK)/buildtools/options-ibverbs-static.sh)
-_LDLIBS-y                                   += --no-whole-archive
-_LDLIBS-y                                   += $(LIBS_IBVERBS_STATIC)
-_LDLIBS-y                                   += --whole-archive
-else
-ifeq ($(findstring y,$(CONFIG_RTE_LIBRTE_MLX5_PMD)$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD)),y)
-_LDLIBS-y                                   += -libverbs -lmlx5
-endif
-_LDLIBS-$(CONFIG_RTE_LIBRTE_MLX4_PMD)       += -libverbs -lmlx4
-endif
-_LDLIBS-$(CONFIG_RTE_LIBRTE_MVPP2_PMD)      += -lrte_pmd_mvpp2
-_LDLIBS-$(CONFIG_RTE_LIBRTE_MVNETA_PMD)     += -lrte_pmd_mvneta
-_LDLIBS-$(CONFIG_RTE_LIBRTE_NFP_PMD)        += -lrte_pmd_nfp
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_NULL)       += -lrte_pmd_null
-_LDLIBS-$(CONFIG_RTE_LIBRTE_OCTEONTX2_PMD)  += -lrte_pmd_octeontx2 -lm
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_PCAP)       += -lrte_pmd_pcap -lpcap
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PFE_PMD)        += -lrte_pmd_pfe
-_LDLIBS-$(CONFIG_RTE_LIBRTE_QEDE_PMD)       += -lrte_pmd_qede
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_RING)       += -lrte_pmd_ring
-ifeq ($(CONFIG_RTE_LIBRTE_SCHED),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC)      += -lrte_pmd_softnic
-endif
-_LDLIBS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD)    += -lrte_pmd_sfc_efx
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_SZEDATA2)   += -lrte_pmd_szedata2 -lsze2
-_LDLIBS-$(CONFIG_RTE_LIBRTE_NFB_PMD)        += -lrte_pmd_nfb
-_LDLIBS-$(CONFIG_RTE_LIBRTE_NFB_PMD)        +=  $(shell command -v pkg-config > /dev/null 2>&1 && pkg-config --libs netcope-common)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_TAP)        += -lrte_pmd_tap
-_LDLIBS-$(CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD) += -lrte_pmd_thunderx_nicvf
-_LDLIBS-$(CONFIG_RTE_LIBRTE_VDEV_NETVSC_PMD) += -lrte_pmd_vdev_netvsc
-_LDLIBS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD)     += -lrte_pmd_virtio
-ifeq ($(CONFIG_RTE_LIBRTE_VHOST),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_VHOST)      += -lrte_pmd_vhost
-ifeq ($(CONFIG_RTE_EAL_VFIO),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_IFC_PMD) += -lrte_pmd_ifc
-endif # $(CONFIG_RTE_EAL_VFIO)
-endif # $(CONFIG_RTE_LIBRTE_VHOST)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_VMXNET3_PMD)    += -lrte_pmd_vmxnet3_uio
-
-_LDLIBS-$(CONFIG_RTE_LIBRTE_VMBUS)          += -lrte_bus_vmbus
-_LDLIBS-$(CONFIG_RTE_LIBRTE_NETVSC_PMD)     += -lrte_pmd_netvsc
-
-ifeq ($(CONFIG_RTE_LIBRTE_BBDEV),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_NULL)     += -lrte_pmd_bbdev_null
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_LTE_FEC) += -lrte_pmd_bbdev_fpga_lte_fec
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_5GNR_FEC) += -lrte_pmd_bbdev_fpga_5gnr_fec
-
-# TURBO SOFTWARE PMD is dependent on the FLEXRAN library
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += -lrte_pmd_bbdev_turbo_sw
-ifeq ($(CONFIG_RTE_BBDEV_SDK_AVX2),y)
-# Dependency on the FLEXRAN SDK library if available
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += -L$(FLEXRAN_SDK)/lib_crc -lcrc
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += -L$(FLEXRAN_SDK)/lib_turbo -lturbo
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += -L$(FLEXRAN_SDK)/lib_rate_matching -lrate_matching
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += -L$(FLEXRAN_SDK)/lib_common -lcommon
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += -lirc -limf -lstdc++ -lipps -lsvml
-ifeq ($(CONFIG_RTE_BBDEV_SDK_AVX512),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += -L$(FLEXRAN_SDK)/lib_LDPC_ratematch_5gnr -lLDPC_ratematch_5gnr
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += -L$(FLEXRAN_SDK)/lib_ldpc_encoder_5gnr -lldpc_encoder_5gnr
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += -L$(FLEXRAN_SDK)/lib_ldpc_decoder_5gnr -lldpc_decoder_5gnr
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += -L$(FLEXRAN_SDK)/lib_rate_dematching_5gnr -lrate_dematching_5gnr
-endif # CONFIG_RTE_BBDEV_SDK_AVX512
-endif # CONFIG_RTE_BBDEV_SDK_AVX2
-endif # CONFIG_RTE_LIBRTE_BBDEV
-
-ifeq ($(CONFIG_RTE_LIBRTE_CRYPTODEV),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB)    += -lrte_pmd_aesni_mb
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB)    += -lIPSec_MB
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_GCM)   += -lrte_pmd_aesni_gcm
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_GCM)   += -lIPSec_MB
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_CCP)         += -lrte_pmd_ccp -lcrypto
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_OPENSSL)     += -lrte_pmd_openssl -lcrypto
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_NULL_CRYPTO) += -lrte_pmd_null_crypto
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_QAT),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_QAT_SYM)     += -lrte_pmd_qat -lcrypto
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_QAT_ASYM)    += -lrte_pmd_qat -lcrypto
-endif # CONFIG_RTE_LIBRTE_PMD_QAT
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_SNOW3G)      += -lrte_pmd_snow3g
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_SNOW3G)      += -lIPSec_MB
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_KASUMI)      += -lrte_pmd_kasumi
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_KASUMI)      += -lIPSec_MB
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ZUC)         += -lrte_pmd_zuc
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ZUC)         += -lIPSec_MB
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO)    += -lrte_pmd_armv8
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO)    += -L$(ARMV8_CRYPTO_LIB_PATH) -lAArch64crypto
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_MVSAM_CRYPTO) += -L$(LIBMUSDK_PATH)/lib -lrte_pmd_mvsam_crypto -lmusdk
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_NITROX)      += -lrte_pmd_nitrox
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_CRYPTO) += -lrte_pmd_octeontx_crypto
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO) += -lrte_pmd_octeontx2_crypto
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += -lrte_pmd_crypto_scheduler
-ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC)   += -lrte_pmd_dpaa2_sec
-endif # CONFIG_RTE_LIBRTE_FSLMC_BUS
-ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_SEC)   += -lrte_pmd_dpaa_sec
-endif # CONFIG_RTE_LIBRTE_DPAA_BUS
-ifeq ($(CONFIG_RTE_LIBRTE_SECURITY),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_CAAM_JR)   += -lrte_pmd_caam_jr
-endif # CONFIG_RTE_LIBRTE_SECURITY
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_VIRTIO_CRYPTO) += -lrte_pmd_virtio_crypto
-endif # CONFIG_RTE_LIBRTE_CRYPTODEV
-
-ifeq ($(CONFIG_RTE_LIBRTE_COMPRESSDEV),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ISAL) += -lrte_pmd_isal_comp
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ISAL) += -lisal
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_ZIPVF) += -lrte_pmd_octeontx_zip
-# Link QAT driver if it has not been linked yet
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_QAT_SYM),n)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_QAT)  += -lrte_pmd_qat
-endif # CONFIG_RTE_LIBRTE_PMD_QAT_SYM
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ZLIB) += -lrte_pmd_zlib
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ZLIB) += -lz
-endif # CONFIG_RTE_LIBRTE_COMPRESSDEV
-
-ifeq ($(CONFIG_RTE_LIBRTE_EVENTDEV),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_SKELETON_EVENTDEV) += -lrte_pmd_skeleton_event
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_SW_EVENTDEV) += -lrte_pmd_sw_event
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DSW_EVENTDEV) += -lrte_pmd_dsw_event
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += -lrte_pmd_octeontx_ssovf
-ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_EVENTDEV) += -lrte_pmd_dpaa_event
-endif # CONFIG_RTE_LIBRTE_DPAA_BUS
-ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_EVENTDEV) += -lrte_pmd_dpaa2_event
-endif # CONFIG_RTE_LIBRTE_FSLMC_BUS
-
-_LDLIBS-$(CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL) += -lrte_mempool_octeontx
-_LDLIBS-$(CONFIG_RTE_LIBRTE_OCTEONTX_PMD) += -lrte_pmd_octeontx
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV) += -lrte_pmd_octeontx2_event
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV) += -lrte_pmd_opdl_event
-endif # CONFIG_RTE_LIBRTE_EVENTDEV
-
-ifeq ($(CONFIG_RTE_LIBRTE_RAWDEV),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_SKELETON_RAWDEV) += -lrte_rawdev_skeleton
-ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_CMDIF_RAWDEV) += -lrte_rawdev_dpaa2_cmdif
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_QDMA_RAWDEV) += -lrte_rawdev_dpaa2_qdma
-endif # CONFIG_RTE_LIBRTE_FSLMC_BUS
-_LDLIBS-$(CONFIG_RTE_LIBRTE_IFPGA_BUS)      += -lrte_bus_ifpga
-ifeq ($(CONFIG_RTE_LIBRTE_IFPGA_BUS),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_IFPGA_RAWDEV)   += -lrte_rawdev_ifpga -lfdt
-_LDLIBS-$(CONFIG_RTE_LIBRTE_IPN3KE_PMD)       += -lrte_pmd_ipn3ke
-endif # CONFIG_RTE_LIBRTE_IFPGA_BUS
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_IOAT_RAWDEV)   += -lrte_rawdev_ioat
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_NTB_RAWDEV) += -lrte_rawdev_ntb
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_DMA_RAWDEV) += -lrte_rawdev_octeontx2_dma
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EP_RAWDEV) += -lrte_rawdev_octeontx2_ep
-endif # CONFIG_RTE_LIBRTE_RAWDEV
-
-endif # !CONFIG_RTE_BUILD_SHARED_LIBS
-
-_LDLIBS-y += --no-whole-archive
-
-ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),n)
-# The static libraries do not know their dependencies.
-# So linking with static library requires explicit dependencies.
-_LDLIBS-$(CONFIG_RTE_LIBRTE_EAL)            += -lrt
-ifeq ($(CONFIG_RTE_EXEC_ENV_LINUX)$(CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES),yy)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_EAL)            += -lnuma
-endif
-_LDLIBS-$(CONFIG_RTE_LIBRTE_SCHED)          += -lm
-_LDLIBS-$(CONFIG_RTE_LIBRTE_SCHED)          += -lrt
-_LDLIBS-$(CONFIG_RTE_LIBRTE_MEMBER)         += -lm
-_LDLIBS-$(CONFIG_RTE_LIBRTE_METER)          += -lm
-ifeq ($(CONFIG_RTE_LIBRTE_VHOST_NUMA),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_VHOST)          += -lnuma
-endif
-_LDLIBS-$(CONFIG_RTE_PORT_PCAP)             += -lpcap
-endif # !CONFIG_RTE_BUILD_SHARED_LIBS
-
-_LDLIBS-y += $(EXECENV_LDLIBS)
-
-LDLIBS += $(_LDLIBS-y) $(CPU_LDLIBS) $(EXTRA_LDLIBS)
-
-# all the words except the first one
-allbutfirst = $(wordlist 2,$(words $(1)),$(1))
-
-# Eliminate duplicates without sorting, only keep the last occurrence
-filter-libs = \
-	$(if $(1),$(strip\
-		$(if \
-			$(and \
-				$(filter $(firstword $(1)),$(call allbutfirst,$(1))),\
-				$(filter -l%,$(firstword $(1)))),\
-			,\
-			$(firstword $(1))) \
-		$(call filter-libs,$(call allbutfirst,$(1)))))
-
-LDLIBS := $(call filter-libs,$(LDLIBS))
-
-MAPFLAGS = -Map=$@.map --cref
-
-.PHONY: all
-all: install
-
-.PHONY: install
-install: build _postinstall
-
-_postinstall: build
-
-.PHONY: build
-build: _postbuild
-
-exe2cmd = $(strip $(call dotfile,$(patsubst %,%.cmd,$(1))))
-
-ifeq ($(LINK_USING_CC),1)
-O_TO_EXE = $(CC) -o $@ $(CFLAGS) $(EXTRA_CFLAGS) $(OBJS-y) $(call linkerprefix, \
-	$(LDLIBS) $(LDFLAGS) $(LDFLAGS_$(@)) $(EXTRA_LDFLAGS) \
-	$(MAPFLAGS))
-else
-O_TO_EXE = $(LD) -o $@ $(OBJS-y) \
-	$(LDLIBS) $(LDFLAGS) $(LDFLAGS_$(@)) $(EXTRA_LDFLAGS) \
-	$(MAPFLAGS)
-endif
-O_TO_EXE_STR = $(subst ','\'',$(O_TO_EXE)) #'# fix syntax highlight
-O_TO_EXE_DISP = $(if $(V),"$(O_TO_EXE_STR)","  LD $(@)")
-O_TO_EXE_CMD = "cmd_$@ = $(O_TO_EXE_STR)"
-O_TO_EXE_DO = @set -e; \
-	echo $(O_TO_EXE_DISP); \
-	$(O_TO_EXE) && \
-	echo $(O_TO_EXE_CMD) > $(call exe2cmd,$(@))
-
--include .$(APP).cmd
-
-# path where libraries are retrieved
-LDLIBS_PATH := $(subst -Wl$(comma)-L,,$(filter -Wl$(comma)-L%,$(LDLIBS)))
-LDLIBS_PATH += $(subst -L,,$(filter -L%,$(LDLIBS)))
-
-# list of .a files that are linked to this application
-LDLIBS_NAMES := $(patsubst -l%,lib%.a,$(filter -l%,$(LDLIBS)))
-LDLIBS_NAMES += $(patsubst -Wl$(comma)-l%,lib%.a,$(filter -Wl$(comma)-l%,$(LDLIBS)))
-
-# list of found libraries files (useful for deps). If not found, the
-# library is silently ignored and dep won't be checked
-LDLIBS_FILES := $(sort $(wildcard $(foreach dir,$(LDLIBS_PATH),\
-	$(addprefix $(dir)/,$(LDLIBS_NAMES)))))
-
-#
-# Compile executable file if needed
-#
-$(APP): $(OBJS-y) $(LDLIBS_FILES) $(DEP_$(APP)) $(LDSCRIPT) FORCE
-	@[ -d $(dir $@) ] || mkdir -p $(dir $@)
-	$(if $(D),\
-		@echo -n "$< -> $@ " ; \
-		echo -n "file_missing=$(call boolean,$(file_missing)) " ; \
-		echo -n "cmdline_changed=$(call boolean,$(call cmdline_changed,$(O_TO_EXE_STR))) " ; \
-		echo -n "depfile_missing=$(call boolean,$(depfile_missing)) " ; \
-		echo "depfile_newer=$(call boolean,$(depfile_newer)) ")
-	$(if $(or \
-		$(file_missing),\
-		$(call cmdline_changed,$(O_TO_EXE_STR)),\
-		$(depfile_missing),\
-		$(depfile_newer)),\
-		$(O_TO_EXE_DO))
-
-#
-# install app in $(RTE_OUTPUT)/app
-#
-$(RTE_OUTPUT)/app/$(APP): $(APP)
-	@echo "  INSTALL-APP $(APP)"
-	@[ -d $(RTE_OUTPUT)/app ] || mkdir -p $(RTE_OUTPUT)/app
-	$(Q)cp -f $(APP) $(RTE_OUTPUT)/app
-
-#
-# install app map file in $(RTE_OUTPUT)/app
-#
-$(RTE_OUTPUT)/app/$(APP).map: $(APP)
-	@echo "  INSTALL-MAP $(APP).map"
-	@[ -d $(RTE_OUTPUT)/app ] || mkdir -p $(RTE_OUTPUT)/app
-	$(Q)cp -f $(APP).map $(RTE_OUTPUT)/app
-
-#
-# Clean all generated files
-#
-.PHONY: clean
-clean: _postclean
-	$(Q)rm -f $(_BUILD_TARGETS) $(_INSTALL_TARGETS) $(_CLEAN_TARGETS)
-
-.PHONY: doclean
-doclean:
-	$(Q)rm -rf $(APP) $(OBJS-all) $(DEPS-all) $(DEPSTMP-all) \
-	  $(CMDS-all) $(INSTALL-FILES-all) .$(APP).cmd $(APP).map
-
-
-include $(RTE_SDK)/mk/internal/rte.compile-post.mk
-include $(RTE_SDK)/mk/internal/rte.install-post.mk
-include $(RTE_SDK)/mk/internal/rte.clean-post.mk
-include $(RTE_SDK)/mk/internal/rte.build-post.mk
-
-ifneq ($(wildcard $(RTE_SDK)/mk/target/$(RTE_TARGET)/rte.app.mk),)
-include $(RTE_SDK)/mk/target/$(RTE_TARGET)/rte.app.mk
-else
-include $(RTE_SDK)/mk/target/generic/rte.app.mk
-endif
-
-.PHONY: FORCE
-FORCE:
diff --git a/mk/rte.bsdmodule.mk b/mk/rte.bsdmodule.mk
deleted file mode 100644
index df8bf9ef35..0000000000
--- a/mk/rte.bsdmodule.mk
+++ /dev/null
@@ -1,89 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-##### if sourced from kernel Kbuild system
-ifneq ($(KERNELRELEASE),)
-override EXTRA_CFLAGS = $(MODULE_CFLAGS) $(EXTRA_KERNEL_CFLAGS)
-obj-m          += $(MODULE).o
-ifneq ($(MODULE),$(notdir $(SRCS-y:%.c=%)))
-$(MODULE)-objs += $(notdir $(SRCS-y:%.c=%.o))
-endif
-
-##### if launched from rte build system
-else
-
-include $(RTE_SDK)/mk/internal/rte.install-pre.mk
-include $(RTE_SDK)/mk/internal/rte.clean-pre.mk
-include $(RTE_SDK)/mk/internal/rte.build-pre.mk
-
-# DPDK uses a more up-to-date gcc, so clear the override here.
-unexport CC
-override CFLAGS = $(MODULE_CFLAGS)
-
-# VPATH contains at least SRCDIR
-VPATH += $(SRCDIR)
-
-_BUILD = $(MODULE).ko
-_INSTALL = $(INSTALL-FILES-y) $(SYMLINK-FILES-y) \
-	$(RTE_OUTPUT)/kmod/$(MODULE).ko
-_CLEAN = doclean
-
-SRCS_LINKS = $(addsuffix _link,$(SRCS-y))
-
-compare = $(strip $(subst $(1),,$(2)) $(subst $(2),,$(1)))
-
-.PHONY: all
-all: install
-
-.PHONY: install
-install: build _postinstall
-
-_postinstall: build
-
-.PHONY: build
-build: _postbuild
-
-# Link all sources in build directory
-%_link: FORCE
-	$(if $(call compare,$(notdir $*),$*),\
-	$(Q)if [ ! -f $(notdir $(*)) ]; then ln -nfs $(SRCDIR)/$(*) . ; fi,\
-	$(Q)if [ ! -f $(notdir $(*)) ]; then ln -nfs $(SRCDIR)/$(*) . ; fi)
-
-# build module
-$(MODULE).ko: $(SRCS_LINKS)
-	$(Q)if [ ! -f $(notdir Makefile) ]; then ln -nfs $(SRCDIR)/Makefile . ; fi
-	$(Q)if [ ! -f $(notdir BSDmakefile) ]; then ln -nfs $(SRCDIR)/BSDmakefile . ; fi
-	$(Q)MAKEFLAGS= $(BSDMAKE)
-
-# install module in $(RTE_OUTPUT)/kmod
-$(RTE_OUTPUT)/kmod/$(MODULE).ko: $(MODULE).ko
-	$(Q)echo INSTALL-MODULE $(MODULE).ko
-	$(Q)[ -d $(RTE_OUTPUT)/kmod ] || mkdir -p $(RTE_OUTPUT)/kmod
-	$(Q)cp -f $(MODULE).ko $(RTE_OUTPUT)/kmod
-
-# install module
-modules_install:
-	$(Q)MAKEFLAGS= $(BSDMAKE) install
-
-.PHONY: clean
-clean: _postclean
-
-# do a make clean and remove links
-.PHONY: doclean
-doclean:
-	$(Q)if [ ! -f $(notdir Makefile) ]; then ln -nfs $(SRCDIR)/Makefile . ; fi
-	$(Q)$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR) clean
-	$(Q)$(foreach FILE,$(SRCS-y) $(SRCS-n) $(SRCS-),\
-		if [ -h $(notdir $(FILE)) ]; then rm -f $(notdir $(FILE)) ; fi ;)
-	$(Q)if [ -h $(notdir Makefile) ]; then rm -f $(notdir Makefile) ; fi
-	$(Q)rm -f $(_BUILD_TARGETS) $(_INSTALL_TARGETS) $(_CLEAN_TARGETS) \
-		$(INSTALL-FILES-all)
-
-include $(RTE_SDK)/mk/internal/rte.install-post.mk
-include $(RTE_SDK)/mk/internal/rte.clean-post.mk
-include $(RTE_SDK)/mk/internal/rte.build-post.mk
-
-.PHONY: FORCE
-FORCE:
-
-endif
diff --git a/mk/rte.combinedlib.mk b/mk/rte.combinedlib.mk
deleted file mode 100644
index 9d0f935358..0000000000
--- a/mk/rte.combinedlib.mk
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2015 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-default: all
-
-ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
-EXT:=.so
-else
-EXT:=.a
-endif
-
-RTE_LIBNAME := dpdk
-COMBINEDLIB := lib$(RTE_LIBNAME)$(EXT)
-
-LIBS := $(filter-out $(COMBINEDLIB), $(sort $(notdir $(wildcard $(RTE_OUTPUT)/lib/*$(EXT)))))
-
-all: FORCE
-	$(Q)echo "GROUP ( $(LIBS) )" > $(RTE_OUTPUT)/lib/$(COMBINEDLIB)
-
-#
-# Clean all generated files
-#
-.PHONY: clean
-clean:
-	$(Q)rm -f $(RTE_OUTPUT)/lib/$(COMBINEDLIB)
-
-.PHONY: FORCE
-FORCE:
diff --git a/mk/rte.cpuflags.mk b/mk/rte.cpuflags.mk
deleted file mode 100644
index fa87535312..0000000000
--- a/mk/rte.cpuflags.mk
+++ /dev/null
@@ -1,124 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-# this makefile is called from the generic rte.vars.mk and is
-# used to set the RTE_CPUFLAG_* environment variables giving details
-# of what instruction sets the target cpu supports.
-
-AUTO_CPUFLAGS := $(shell $(CC) $(MACHINE_CFLAGS) $(WERROR_FLAGS) $(EXTRA_CFLAGS) -dM -E - < /dev/null)
-
-# adding flags to CPUFLAGS
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__SSE__),)
-CPUFLAGS += SSE
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__SSE2__),)
-CPUFLAGS += SSE2
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__SSE3__),)
-CPUFLAGS += SSE3
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__SSSE3__),)
-CPUFLAGS += SSSE3
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__SSE4_1__),)
-CPUFLAGS += SSE4_1
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__SSE4_2__),)
-CPUFLAGS += SSE4_2
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__AES__),)
-CPUFLAGS += AES
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__PCLMUL__),)
-CPUFLAGS += PCLMULQDQ
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__AVX__),)
-ifeq ($(CONFIG_RTE_ENABLE_AVX),y)
-CPUFLAGS += AVX
-endif
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__RDRND__),)
-CPUFLAGS += RDRAND
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__RDSEED__),)
-CPUFLAGS += RDSEED
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__FSGSBASE__),)
-CPUFLAGS += FSGSBASE
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__F16C__),)
-CPUFLAGS += F16C
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__AVX2__),)
-ifeq ($(CONFIG_RTE_ENABLE_AVX),y)
-CPUFLAGS += AVX2
-endif
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__AVX512F__),)
-ifeq ($(CONFIG_RTE_ENABLE_AVX512),y)
-CPUFLAGS += AVX512F
-else
-# disable AVX512F support for GCC & binutils 2.30 as a workaround for Bug 97
-ifeq ($(FORCE_DISABLE_AVX512),y)
-MACHINE_CFLAGS += -mno-avx512f
-endif
-endif
-endif
-
-# IBM Power CPU flags
-ifneq ($(filter $(AUTO_CPUFLAGS),__PPC64__),)
-CPUFLAGS += PPC64
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__PPC32__),)
-CPUFLAGS += PPC32
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__vector),)
-CPUFLAGS += ALTIVEC
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__builtin_vsx_xvnmaddadp),)
-CPUFLAGS += VSX
-endif
-
-# ARM flags
-ifneq ($(filter __ARM_NEON __aarch64__,$(AUTO_CPUFLAGS)),)
-CPUFLAGS += NEON
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__ARM_FEATURE_CRC32),)
-CPUFLAGS += CRC32
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__ARM_FEATURE_CRYPTO),)
-CPUFLAGS += AES
-CPUFLAGS += PMULL
-CPUFLAGS += SHA1
-CPUFLAGS += SHA2
-endif
-
-MACHINE_CFLAGS += $(addprefix -DRTE_MACHINE_CPUFLAG_,$(CPUFLAGS))
-
-# To strip whitespace
-comma:= ,
-empty:=
-space:= $(empty) $(empty)
-CPUFLAGSTMP1 := $(addprefix RTE_CPUFLAG_,$(CPUFLAGS))
-CPUFLAGSTMP2 := $(subst $(space),$(comma),$(CPUFLAGSTMP1))
-CPUFLAGS_LIST := -DRTE_COMPILE_TIME_CPUFLAGS=$(CPUFLAGSTMP2)
diff --git a/mk/rte.extapp.mk b/mk/rte.extapp.mk
deleted file mode 100644
index 427bb52306..0000000000
--- a/mk/rte.extapp.mk
+++ /dev/null
@@ -1,24 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-MAKEFLAGS += --no-print-directory
-
-# we must create the output dir first and recall the same Makefile
-# from this directory
-ifeq ($(NOT_FIRST_CALL),)
-
-NOT_FIRST_CALL = 1
-export NOT_FIRST_CALL
-
-all:
-	$(Q)mkdir -p $(RTE_OUTPUT)
-	$(Q)$(MAKE) -C $(RTE_OUTPUT) -f $(RTE_EXTMK) \
-		S=$(RTE_SRCDIR) O=$(RTE_OUTPUT) SRCDIR=$(RTE_SRCDIR)
-
-%::
-	$(Q)mkdir -p $(RTE_OUTPUT)
-	$(Q)$(MAKE) -C $(RTE_OUTPUT) -f $(RTE_EXTMK) $@ \
-		S=$(RTE_SRCDIR) O=$(RTE_OUTPUT) SRCDIR=$(RTE_SRCDIR)
-else
-include $(RTE_SDK)/mk/rte.app.mk
-endif
diff --git a/mk/rte.extlib.mk b/mk/rte.extlib.mk
deleted file mode 100644
index 977873325d..0000000000
--- a/mk/rte.extlib.mk
+++ /dev/null
@@ -1,26 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-MAKEFLAGS += --no-print-directory
-
-EXTLIB_BUILD := y
-
-# we must create the output dir first and recall the same Makefile
-# from this directory
-ifeq ($(NOT_FIRST_CALL),)
-
-NOT_FIRST_CALL = 1
-export NOT_FIRST_CALL
-
-all:
-	$(Q)mkdir -p $(RTE_OUTPUT)
-	$(Q)$(MAKE) -C $(RTE_OUTPUT) -f $(RTE_EXTMK) \
-		S=$(RTE_SRCDIR) O=$(RTE_OUTPUT) SRCDIR=$(RTE_SRCDIR)
-
-%::
-	$(Q)mkdir -p $(RTE_OUTPUT)
-	$(Q)$(MAKE) -C $(RTE_OUTPUT) -f $(RTE_EXTMK) $@ \
-		S=$(RTE_SRCDIR) O=$(RTE_OUTPUT) SRCDIR=$(RTE_SRCDIR)
-else
-include $(RTE_SDK)/mk/rte.lib.mk
-endif
diff --git a/mk/rte.extobj.mk b/mk/rte.extobj.mk
deleted file mode 100644
index c761a5de1e..0000000000
--- a/mk/rte.extobj.mk
+++ /dev/null
@@ -1,24 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-MAKEFLAGS += --no-print-directory
-
-# we must create the output dir first and recall the same Makefile
-# from this directory
-ifeq ($(NOT_FIRST_CALL),)
-
-NOT_FIRST_CALL = 1
-export NOT_FIRST_CALL
-
-all:
-	$(Q)mkdir -p $(RTE_OUTPUT)
-	$(Q)$(MAKE) -C $(RTE_OUTPUT) -f $(RTE_EXTMK) \
-		S=$(RTE_SRCDIR) O=$(RTE_OUTPUT) SRCDIR=$(RTE_SRCDIR)
-
-%::
-	$(Q)mkdir -p $(RTE_OUTPUT)
-	$(Q)$(MAKE) -C $(RTE_OUTPUT) -f $(RTE_EXTMK) $@ \
-		S=$(RTE_SRCDIR) O=$(RTE_OUTPUT) SRCDIR=$(RTE_SRCDIR)
-else
-include $(RTE_SDK)/mk/rte.obj.mk
-endif
diff --git a/mk/rte.extshared.mk b/mk/rte.extshared.mk
deleted file mode 100644
index 64269e1a85..0000000000
--- a/mk/rte.extshared.mk
+++ /dev/null
@@ -1,26 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2012-2013 6WIND S.A.
-
-MAKEFLAGS += --no-print-directory
-
-# we must create the output dir first and recall the same Makefile
-# from this directory
-ifeq ($(NOT_FIRST_CALL),)
-
-NOT_FIRST_CALL = 1
-export NOT_FIRST_CALL
-
-all:
-	$(Q)mkdir -p $(RTE_OUTPUT)
-	$(Q)$(MAKE) -C $(RTE_OUTPUT) -f $(RTE_EXTMK) \
-		S=$(RTE_SRCDIR) O=$(RTE_OUTPUT) SRCDIR=$(RTE_SRCDIR)
-	@echo $(RTE_OUTPUT)/lib must be added to /etc/ld.so.conf or \
-		LD_LIBRARY_PATH variable to allow binary to link with dynamic library
-
-%::
-	$(Q)mkdir -p $(RTE_OUTPUT)
-	$(Q)$(MAKE) -C $(RTE_OUTPUT) -f $(RTE_EXTMK) $@ \
-		S=$(RTE_SRCDIR) O=$(RTE_OUTPUT) SRCDIR=$(RTE_SRCDIR)
-else
-include $(RTE_SDK)/mk/rte.shared.mk
-endif
diff --git a/mk/rte.extsubdir.mk b/mk/rte.extsubdir.mk
deleted file mode 100644
index 0f8ef94c50..0000000000
--- a/mk/rte.extsubdir.mk
+++ /dev/null
@@ -1,39 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2014 6WIND S.A.
-
-MAKEFLAGS += --no-print-directory
-
-ALL_DEPDIRS := $(patsubst DEPDIRS-%,%,$(filter DEPDIRS-%,$(.VARIABLES)))
-
-# output directory
-O ?= $(CURDIR)
-BASE_OUTPUT ?= $(abspath $(O))
-CUR_SUBDIR ?= .
-
-.PHONY: all
-all: $(DIRS-y)
-
-.PHONY: clean
-clean: $(DIRS-y)
-
-.PHONY: $(DIRS-y)
-$(DIRS-y):
-	@echo "== $@"
-	$(Q)$(MAKE) -C $(@) \
-		M=$(CURDIR)/$(@)/Makefile \
-		O=$(BASE_OUTPUT)/$(CUR_SUBDIR)/$(@)/$(RTE_TARGET) \
-		BASE_OUTPUT=$(BASE_OUTPUT) \
-		CUR_SUBDIR=$(CUR_SUBDIR)/$(@) \
-		S=$(CURDIR)/$(@) \
-		$(filter-out $(DIRS-y),$(MAKECMDGOALS))
-
-define depdirs_rule
-$(DEPDIRS-$(1)):
-
-$(1): | $(DEPDIRS-$(1))
-
-$(if $(D),$(info $(1) depends on $(DEPDIRS-$(1))))
-endef
-
-$(foreach dir,$(ALL_DEPDIRS),\
-	$(eval $(call depdirs_rule,$(dir))))
diff --git a/mk/rte.gnuconfigure.mk b/mk/rte.gnuconfigure.mk
deleted file mode 100644
index 72e99aafc3..0000000000
--- a/mk/rte.gnuconfigure.mk
+++ /dev/null
@@ -1,44 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/internal/rte.build-pre.mk
-include $(RTE_SDK)/mk/internal/rte.install-pre.mk
-include $(RTE_SDK)/mk/internal/rte.clean-pre.mk
-
-# VPATH contains at least SRCDIR
-VPATH += $(SRCDIR)
-_BUILD = configure
-_INSTALL = $(INSTALL-FILES-y) $(SYMLINK-FILES-y)
-_CLEAN = doclean
-
-.PHONY: all
-all: install
-
-.PHONY: install
-install: build _postinstall
-
-_postinstall: build
-
-.PHONY: build
-build: _postbuild
-
-configure:
-	$(Q)cd $(CONFIGURE_PATH) ; \
-	./configure --prefix $(CONFIGURE_PREFIX) $(CONFIGURE_ARGS) ; \
-	make ; \
-	make install
-
-.PHONY: clean
-clean: _postclean
-
-.PHONY: doclean
-doclean:
-	$(Q)cd $(CONFIGURE_PATH) ; make clean
-	$(Q)rm -f $(_INSTALL_TARGETS) $(_CLEAN_TARGETS)
-
-include $(RTE_SDK)/mk/internal/rte.build-post.mk
-include $(RTE_SDK)/mk/internal/rte.install-post.mk
-include $(RTE_SDK)/mk/internal/rte.clean-post.mk
-
-.PHONY: FORCE
-FORCE:
diff --git a/mk/rte.helper.mk b/mk/rte.helper.mk
deleted file mode 100644
index 6e7fd03d7f..0000000000
--- a/mk/rte.helper.mk
+++ /dev/null
@@ -1,10 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Marvell International Ltd
-
-# rte_cc_has_argument
-# Usage: MACHINE_CFLAGS += $(call rte_cc_has_argument, -mno-avx512f)
-# Return the argument if the argument is supported by the compiler.
-#
-define rte_cc_has_argument
-	$(shell $(CC) -E $(1) -xc /dev/null 1>/dev/null 2>/dev/null && echo $(1))
-endef
diff --git a/mk/rte.hostapp.mk b/mk/rte.hostapp.mk
deleted file mode 100644
index 68e32b5780..0000000000
--- a/mk/rte.hostapp.mk
+++ /dev/null
@@ -1,93 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-# tell rte.compile-pre.mk to use HOSTCC instead of CC
-USE_HOST := 1
-include $(RTE_SDK)/mk/internal/rte.compile-pre.mk
-include $(RTE_SDK)/mk/internal/rte.install-pre.mk
-include $(RTE_SDK)/mk/internal/rte.clean-pre.mk
-include $(RTE_SDK)/mk/internal/rte.build-pre.mk
-
-# VPATH contains at least SRCDIR
-VPATH += $(SRCDIR)
-
-_BUILD = $(HOSTAPP)
-_INSTALL = $(INSTALL-FILES-y) $(SYMLINK-FILES-y) $(RTE_OUTPUT)/app/$(HOSTAPP)
-_CLEAN = doclean
-
-.PHONY: all
-all: install
-
-.PHONY: install
-install: build _postinstall
-
-_postinstall: build
-
-.PHONY: build
-build: _postbuild
-
-exe2cmd = $(strip $(call dotfile,$(patsubst %,%.cmd,$(1))))
-
-O_TO_EXE = $(HOSTCC) $(HOST_LDFLAGS) $(LDFLAGS_$(@)) \
-	$(EXTRA_HOST_LDFLAGS) -o $@ $(OBJS-y) $(LDLIBS)
-O_TO_EXE_STR = $(subst ','\'',$(O_TO_EXE)) #'# fix syntax highlight
-O_TO_EXE_DISP = $(if $(V),"$(O_TO_EXE_STR)","  HOSTLD $(@)")
-O_TO_EXE_CMD = "cmd_$@ = $(O_TO_EXE_STR)"
-O_TO_EXE_DO = @set -e; \
-	echo $(O_TO_EXE_DISP); \
-	$(O_TO_EXE) && \
-	echo $(O_TO_EXE_CMD) > $(call exe2cmd,$(@))
-
--include .$(HOSTAPP).cmd
-
-# list of .a files that are linked to this application
-LDLIBS_FILES := $(sort $(wildcard \
-	$(addprefix $(RTE_OUTPUT)/lib/, \
-	$(patsubst -l%,lib%.a,$(filter -l%,$(LDLIBS))))))
-
-#
-# Compile executable file if needed
-#
-$(HOSTAPP): $(OBJS-y) $(LDLIBS_FILES) FORCE
-	@[ -d $(dir $@) ] || mkdir -p $(dir $@)
-	$(if $(D),\
-		@echo -n "$@ -> $< " ; \
-		echo -n "file_missing=$(call boolean,$(file_missing)) " ; \
-		echo -n "cmdline_changed=$(call boolean,$(call cmdline_changed,$(O_TO_EXE_STR))) " ; \
-		echo -n "depfile_missing=$(call boolean,$(depfile_missing)) " ; \
-		echo "depfile_newer=$(call boolean,$(depfile_newer)) ")
-	$(if $(or \
-		$(file_missing),\
-		$(call cmdline_changed,$(O_TO_EXE_STR)),\
-		$(depfile_missing),\
-		$(depfile_newer)),\
-		$(O_TO_EXE_DO))
-
-#
-# install app in $(RTE_OUTPUT)/hostapp
-#
-$(RTE_OUTPUT)/app/$(HOSTAPP): $(HOSTAPP)
-	@echo "  INSTALL-HOSTAPP $(HOSTAPP)"
-	@[ -d $(RTE_OUTPUT)/app ] || mkdir -p $(RTE_OUTPUT)/app
-	$(Q)cp -f $(HOSTAPP) $(RTE_OUTPUT)/app
-
-#
-# Clean all generated files
-#
-.PHONY: clean
-clean: _postclean
-	$(Q)rm -f $(_BUILD_TARGETS) $(_INSTALL_TARGETS) $(_CLEAN_TARGETS)
-
-.PHONY: doclean
-doclean:
-	$(Q)rm -rf $(HOSTAPP) $(OBJS-all) $(DEPS-all) $(DEPSTMP-all) \
-	  $(CMDS-all) $(INSTALL-FILES-all) .$(HOSTAPP).cmd
-
-
-include $(RTE_SDK)/mk/internal/rte.compile-post.mk
-include $(RTE_SDK)/mk/internal/rte.install-post.mk
-include $(RTE_SDK)/mk/internal/rte.clean-post.mk
-include $(RTE_SDK)/mk/internal/rte.build-post.mk
-
-.PHONY: FORCE
-FORCE:
diff --git a/mk/rte.hostlib.mk b/mk/rte.hostlib.mk
deleted file mode 100644
index 0ccaa55f09..0000000000
--- a/mk/rte.hostlib.mk
+++ /dev/null
@@ -1,86 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-# tell rte.compile-pre.mk to use HOSTCC instead of CC
-USE_HOST := 1
-include $(RTE_SDK)/mk/internal/rte.compile-pre.mk
-include $(RTE_SDK)/mk/internal/rte.install-pre.mk
-include $(RTE_SDK)/mk/internal/rte.clean-pre.mk
-include $(RTE_SDK)/mk/internal/rte.build-pre.mk
-
-# VPATH contains at least SRCDIR
-VPATH += $(SRCDIR)
-
-_BUILD = $(HOSTLIB)
-_INSTALL = $(INSTALL-FILES-y) $(SYMLINK-FILES-y) $(RTE_OUTPUT)/hostlib/$(HOSTLIB)
-_CLEAN = doclean
-
-.PHONY: all
-all: install
-
-.PHONY: install
-install: build _postinstall
-
-_postinstall: build
-
-.PHONY: build
-build: _postbuild
-
-exe2cmd = $(strip $(call dotfile,$(patsubst %,%.cmd,$(1))))
-
-O_TO_A = $(AR) crus $(HOSTLIB) $(OBJS-y)
-O_TO_A_STR = $(subst ','\'',$(O_TO_A)) #'# fix syntax highlight
-O_TO_A_DISP = $(if $(V),"$(O_TO_A_STR)","  HOSTAR $(@)")
-O_TO_A_CMD = "cmd_$@ = $(O_TO_A_STR)"
-O_TO_A_DO = @set -e; \
-	echo $(O_TO_A_DISP); \
-	$(O_TO_A) && \
-	echo $(O_TO_A_CMD) > $(call exe2cmd,$(@))
-
--include .$(HOSTLIB).cmd
-
-#
-# Archive objects in .a file if needed
-#
-$(HOSTLIB): $(OBJS-y) FORCE
-	@[ -d $(dir $@) ] || mkdir -p $(dir $@)
-	$(if $(D),\
-		@echo -n "$@ -> $< " ; \
-		echo -n "file_missing=$(call boolean,$(file_missing)) " ; \
-		echo -n "cmdline_changed=$(call boolean,$(call cmdline_changed,$(O_TO_A_STR))) " ; \
-		echo -n "depfile_missing=$(call boolean,$(depfile_missing)) " ; \
-		echo "depfile_newer=$(call boolean,$(depfile_newer)) ")
-	$(if $(or \
-		$(file_missing),\
-		$(call cmdline_changed,$(O_TO_A_STR)),\
-		$(depfile_missing),\
-		$(depfile_newer)),\
-		$(O_TO_A_DO))
-
-#
-# install lib in $(RTE_OUTPUT)/hostlib
-#
-$(RTE_OUTPUT)/hostlib/$(HOSTLIB): $(HOSTLIB)
-	@echo "  INSTALL-HOSTLIB $(HOSTLIB)"
-	@[ -d $(RTE_OUTPUT)/hostlib ] || mkdir -p $(RTE_OUTPUT)/hostlib
-	$(Q)cp -f $(HOSTLIB) $(RTE_OUTPUT)/hostlib
-
-#
-# Clean all generated files
-#
-.PHONY: clean
-clean: _postclean
-
-.PHONY: doclean
-doclean:
-	$(Q)rm -rf $(HOSTLIB) $(OBJS-all) $(DEPS-all) $(DEPSTMP-all) \
-	  $(CMDS-all) $(INSTALL-FILES-all)
-	$(Q)rm -f $(_BUILD_TARGETS) $(_INSTALL_TARGETS) $(_CLEAN_TARGETS)
-
-include $(RTE_SDK)/mk/internal/rte.compile-post.mk
-include $(RTE_SDK)/mk/internal/rte.install-post.mk
-include $(RTE_SDK)/mk/internal/rte.clean-post.mk
-include $(RTE_SDK)/mk/internal/rte.build-post.mk
-
-.PHONY: FORCE
-FORCE:
diff --git a/mk/rte.install.mk b/mk/rte.install.mk
deleted file mode 100644
index e56daf457c..0000000000
--- a/mk/rte.install.mk
+++ /dev/null
@@ -1,28 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-# install-only makefile (no build target)
-
-include $(RTE_SDK)/mk/internal/rte.install-pre.mk
-include $(RTE_SDK)/mk/internal/rte.clean-pre.mk
-
-# VPATH contains at least SRCDIR
-VPATH += $(SRCDIR)
-
-_INSTALL = $(INSTALL-FILES-y) $(SYMLINK-FILES-y)
-_CLEAN = doclean
-
-.PHONY: all
-all: _postinstall
-	@true
-
-.PHONY: clean
-clean: _postclean
-
-.PHONY: doclean
-doclean:
-	@rm -rf $(INSTALL-FILES-all)
-	@rm -f $(_INSTALL_TARGETS) $(_CLEAN_TARGETS)
-
-include $(RTE_SDK)/mk/internal/rte.install-post.mk
-include $(RTE_SDK)/mk/internal/rte.clean-post.mk
diff --git a/mk/rte.lib.mk b/mk/rte.lib.mk
deleted file mode 100644
index 229ae16814..0000000000
--- a/mk/rte.lib.mk
+++ /dev/null
@@ -1,156 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/internal/rte.compile-pre.mk
-include $(RTE_SDK)/mk/internal/rte.install-pre.mk
-include $(RTE_SDK)/mk/internal/rte.clean-pre.mk
-include $(RTE_SDK)/mk/internal/rte.build-pre.mk
-
-EXTLIB_BUILD ?= n
-
-# VPATH contains at least SRCDIR
-VPATH += $(SRCDIR)
-
-LIBABIVER ?= $(shell cat $(RTE_SRCDIR)/ABI_VERSION)
-SOVER := $(basename $(LIBABIVER))
-
-ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
-SONAME := $(patsubst %.a,%.so.$(SOVER),$(LIB))
-LIB := $(patsubst %.a,%.so.$(LIBABIVER),$(LIB))
-ifeq ($(EXTLIB_BUILD),n)
-CPU_LDFLAGS += --version-script=$(SRCDIR)/$(EXPORT_MAP)
-endif
-endif
-
-
-_BUILD = $(LIB)
-PREINSTALL = $(SYMLINK-FILES-y)
-_INSTALL = $(INSTALL-FILES-y) $(RTE_OUTPUT)/lib/$(LIB)
-_CLEAN = doclean
-
-LDLIBS += $(EXECENV_LDLIBS-y)
-
-.PHONY: all
-all: install
-
-.PHONY: install
-ifeq ($(SYMLINK-FILES-y),)
-install: build _postinstall
-else
-install: _preinstall build _postinstall
-build: _preinstall
-endif
-
-_postinstall: build
-
-.PHONY: build
-build: _postbuild
-
-exe2cmd = $(strip $(call dotfile,$(patsubst %,%.cmd,$(1))))
-
-ifeq ($(LINK_USING_CC),1)
-# Override the definition of LD here, since we're linking with CC
-LD := $(CC) $(CPU_CFLAGS) $(EXTRA_CFLAGS)
-_CPU_LDFLAGS := $(call linkerprefix,$(CPU_LDFLAGS))
-override EXTRA_LDFLAGS := $(call linkerprefix,$(EXTRA_LDFLAGS))
-else
-_CPU_LDFLAGS := $(CPU_LDFLAGS)
-endif
-
-O_TO_A = $(AR) crDs $(LIB) $(OBJS-y)
-O_TO_A_STR = $(subst ','\'',$(O_TO_A)) #'# fix syntax highlight
-O_TO_A_DISP = $(if $(V),"$(O_TO_A_STR)","  AR $(@)")
-O_TO_A_CMD = "cmd_$@ = $(O_TO_A_STR)"
-O_TO_A_DO = @set -e; \
-	echo $(O_TO_A_DISP); \
-	$(O_TO_A) && \
-	echo $(O_TO_A_CMD) > $(call exe2cmd,$(@))
-
-ifneq ($(CC_SUPPORTS_Z),false)
-NO_UNDEFINED := -z defs
-endif
-
-O_TO_S = $(LD) -L$(RTE_SDK_BIN)/lib $(_CPU_LDFLAGS) $(EXTRA_LDFLAGS) \
-	  -shared $(OBJS-y) $(NO_UNDEFINED) $(LDLIBS) -Wl,-soname,$(SONAME) -o $(LIB)
-O_TO_S_STR = $(subst ','\'',$(O_TO_S)) #'# fix syntax highlight
-O_TO_S_DISP = $(if $(V),"$(O_TO_S_STR)","  LD $(@)")
-O_TO_S_DO = @set -e; \
-	echo $(O_TO_S_DISP); \
-	$(O_TO_S) && \
-	echo $(O_TO_S_CMD) > $(call exe2cmd,$(@))
-
--include .$(LIB).cmd
-
-#
-# Archive objects in .a file if needed
-#
-ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
-$(LIB): $(OBJS-y) $(DEP_$(LIB)) FORCE
-ifeq ($(LIBABIVER),)
-	@echo "Must Specify a $(LIB) ABI version"
-	@false
-endif
-	@[ -d $(dir $@) ] || mkdir -p $(dir $@)
-	$(if $(D),\
-		@echo -n "$< -> $@ " ; \
-		echo -n "file_missing=$(call boolean,$(file_missing)) " ; \
-		echo -n "cmdline_changed=$(call boolean,$(call cmdline_changed,$(O_TO_S_STR))) " ; \
-		echo -n "depfile_missing=$(call boolean,$(depfile_missing)) " ; \
-		echo "depfile_newer=$(call boolean,$(depfile_newer)) ")
-	$(if $(or \
-		$(file_missing),\
-		$(call cmdline_changed,$(O_TO_S_STR)),\
-		$(depfile_missing),\
-		$(depfile_newer)),\
-		$(O_TO_S_DO))
-
-else
-$(LIB): $(OBJS-y) $(DEP_$(LIB)) FORCE
-	@[ -d $(dir $@) ] || mkdir -p $(dir $@)
-	$(if $(D),\
-	    @echo -n "$< -> $@ " ; \
-	    echo -n "file_missing=$(call boolean,$(file_missing)) " ; \
-	    echo -n "cmdline_changed=$(call boolean,$(call cmdline_changed,$(O_TO_A_STR))) " ; \
-	    echo -n "depfile_missing=$(call boolean,$(depfile_missing)) " ; \
-	    echo "depfile_newer=$(call boolean,$(depfile_newer)) ")
-	$(if $(or \
-	    $(file_missing),\
-	    $(call cmdline_changed,$(O_TO_A_STR)),\
-	    $(depfile_missing),\
-	    $(depfile_newer)),\
-	    $(O_TO_A_DO))
-endif
-
-#
-# install lib in $(RTE_OUTPUT)/lib
-#
-$(RTE_OUTPUT)/lib/$(LIB): $(LIB)
-	@echo "  INSTALL-LIB $(LIB)"
-	@[ -d $(RTE_OUTPUT)/lib ] || mkdir -p $(RTE_OUTPUT)/lib
-	$(Q)cp -f $(LIB) $(RTE_OUTPUT)/lib
-ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
-	$(Q)ln -s -f $< $(shell echo $@ | sed 's/\.so.*/.so/')
-	$(Q)if [ $(SOVER) != $(LIBABIVER) ]; then \
-		ln -s -f $< $(shell echo $@ | sed 's/\.so.*/.so.$(SOVER)/') ; \
-	fi
-endif
-
-#
-# Clean all generated files
-#
-.PHONY: clean
-clean: _postclean
-
-.PHONY: doclean
-doclean:
-	$(Q)rm -rf $(LIB) $(OBJS-all) $(DEPS-all) $(DEPSTMP-all) \
-	  $(CMDS-all) .$(LIB).cmd $(INSTALL-FILES-all) *.pmd.c *.pmd.o
-	$(Q)rm -f $(_BUILD_TARGETS) $(_INSTALL_TARGETS) $(_CLEAN_TARGETS)
-
-include $(RTE_SDK)/mk/internal/rte.compile-post.mk
-include $(RTE_SDK)/mk/internal/rte.install-post.mk
-include $(RTE_SDK)/mk/internal/rte.clean-post.mk
-include $(RTE_SDK)/mk/internal/rte.build-post.mk
-
-.PHONY: FORCE
-FORCE:
diff --git a/mk/rte.module.mk b/mk/rte.module.mk
deleted file mode 100644
index 1ada528a00..0000000000
--- a/mk/rte.module.mk
+++ /dev/null
@@ -1,86 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-##### if sourced from kernel Kbuild system
-ifneq ($(KERNELRELEASE),)
-override EXTRA_CFLAGS = $(MODULE_CFLAGS) $(EXTRA_KERNEL_CFLAGS)
-obj-m          += $(MODULE).o
-ifneq ($(MODULE),$(notdir $(SRCS-y:%.c=%)))
-$(MODULE)-objs += $(notdir $(SRCS-y:%.c=%.o))
-endif
-
-##### if launched from rte build system
-else
-
-include $(RTE_SDK)/mk/internal/rte.install-pre.mk
-include $(RTE_SDK)/mk/internal/rte.clean-pre.mk
-include $(RTE_SDK)/mk/internal/rte.build-pre.mk
-
-# VPATH contains at least SRCDIR
-VPATH += $(SRCDIR)
-
-_BUILD = $(MODULE).ko
-_INSTALL = $(INSTALL-FILES-y) $(SYMLINK-FILES-y) \
-	$(RTE_OUTPUT)/kmod/$(MODULE).ko
-_CLEAN = doclean
-
-SRCS_LINKS = $(addsuffix _link,$(SRCS-y))
-
-compare = $(strip $(subst $(1),,$(2)) $(subst $(2),,$(1)))
-
-.PHONY: all
-all: install
-
-.PHONY: install
-install: build _postinstall
-
-_postinstall: build
-
-.PHONY: build
-build: _postbuild
-
-# Link all sources in build directory
-%_link: FORCE
-	$(if $(call compare,$(notdir $*),$*),\
-	@if [ ! -f $(notdir $(*)) ]; then ln -nfs $(SRCDIR)/$(*) . ; fi,\
-	@if [ ! -f $(notdir $(*)) ]; then ln -nfs $(SRCDIR)/$(*) . ; fi)
-
-# build module
-$(MODULE).ko: $(SRCS_LINKS)
-	@if [ ! -f $(notdir Makefile) ]; then ln -nfs $(SRCDIR)/Makefile . ; fi
-	@$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR) \
-		CC="$(KERNELCC)" CROSS_COMPILE=$(CROSS) V=$(if $V,1,0)
-
-# install module in $(RTE_OUTPUT)/kmod
-$(RTE_OUTPUT)/kmod/$(MODULE).ko: $(MODULE).ko
-	@echo INSTALL-MODULE $(MODULE).ko
-	@[ -d $(RTE_OUTPUT)/kmod ] || mkdir -p $(RTE_OUTPUT)/kmod
-	@cp -f $(MODULE).ko $(RTE_OUTPUT)/kmod
-
-# install module
-modules_install:
-	@$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR) \
-		modules_install
-
-.PHONY: clean
-clean: _postclean
-
-# do a make clean and remove links
-.PHONY: doclean
-doclean:
-	@if [ ! -f $(notdir Makefile) ]; then ln -nfs $(SRCDIR)/Makefile . ; fi
-	$(Q)$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR) clean
-	@$(foreach FILE,$(SRCS-y) $(SRCS-n) $(SRCS-),\
-		if [ -h $(notdir $(FILE)) ]; then rm -f $(notdir $(FILE)) ; fi ;)
-	@if [ -h $(notdir Makefile) ]; then rm -f $(notdir Makefile) ; fi
-	@rm -f $(_BUILD_TARGETS) $(_INSTALL_TARGETS) $(_CLEAN_TARGETS) \
-		$(INSTALL-FILES-all)
-
-include $(RTE_SDK)/mk/internal/rte.install-post.mk
-include $(RTE_SDK)/mk/internal/rte.clean-post.mk
-include $(RTE_SDK)/mk/internal/rte.build-post.mk
-
-.PHONY: FORCE
-FORCE:
-
-endif
diff --git a/mk/rte.obj.mk b/mk/rte.obj.mk
deleted file mode 100644
index 1641a52e75..0000000000
--- a/mk/rte.obj.mk
+++ /dev/null
@@ -1,82 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/internal/rte.compile-pre.mk
-include $(RTE_SDK)/mk/internal/rte.install-pre.mk
-include $(RTE_SDK)/mk/internal/rte.clean-pre.mk
-include $(RTE_SDK)/mk/internal/rte.build-pre.mk
-
-# VPATH contains at least SRCDIR
-VPATH += $(SRCDIR)
-
-ifneq ($(OBJ),)
-_BUILD = $(OBJ)
-else
-_BUILD = $(OBJS-y)
-endif
-_INSTALL = $(INSTALL-FILES-y) $(SYMLINK-FILES-y)
-_CLEAN = doclean
-
-.PHONY: all
-all: install
-
-.PHONY: install
-install: build _postinstall
-
-_postinstall: build
-
-.PHONY: build
-build: _postbuild
-
-ifneq ($(OBJ),)
-exe2cmd = $(strip $(call dotfile,$(patsubst %,%.cmd,$(1))))
-
-O_TO_O = $(LD) -r -o $(OBJ) $(OBJS-y)
-O_TO_O_STR = $(subst ','\'',$(O_TO_O)) #'# fix syntax highlight
-O_TO_O_DISP =  $(if $(V),"$(O_TO_O_STR)","  LD $(@)")
-O_TO_O_CMD = "cmd_$@ = $(O_TO_O_STR)"
-O_TO_O_DO = @set -e; \
-	echo $(O_TO_O_DISP); \
-	$(O_TO_O) && \
-	echo $(O_TO_O_CMD) > $(call exe2cmd,$(@))
-
--include .$(OBJ).cmd
-
-#
-# Archive objects in .a file if needed
-#
-$(OBJ): $(OBJS-y) FORCE
-	@[ -d $(dir $@) ] || mkdir -p $(dir $@)
-	$(if $(D),\
-		@echo -n "$< -> $@ " ; \
-		echo -n "file_missing=$(call boolean,$(file_missing)) " ; \
-		echo -n "cmdline_changed=$(call boolean,$(call cmdline_changed,$(O_TO_O_STR))) " ; \
-		echo -n "depfile_missing=$(call boolean,$(depfile_missing)) " ; \
-		echo "depfile_newer=$(call boolean,$(depfile_newer)) ")
-	$(if $(or \
-		$(file_missing),\
-		$(call cmdline_changed,$(O_TO_O_STR)),\
-		$(depfile_missing),\
-		$(depfile_newer)),\
-		$(O_TO_O_DO))
-endif
-
-#
-# Clean all generated files
-#
-.PHONY: clean
-clean: _postclean
-
-.PHONY: doclean
-doclean:
-	@rm -rf $(OBJ) $(OBJS-all) $(DEPS-all) $(DEPSTMP-all) \
-	  $(CMDS-all) $(INSTALL-FILES-all)
-	@rm -f $(_BUILD_TARGETS) $(_INSTALL_TARGETS) $(_CLEAN_TARGETS)
-
-include $(RTE_SDK)/mk/internal/rte.compile-post.mk
-include $(RTE_SDK)/mk/internal/rte.install-post.mk
-include $(RTE_SDK)/mk/internal/rte.clean-post.mk
-include $(RTE_SDK)/mk/internal/rte.build-post.mk
-
-.PHONY: FORCE
-FORCE:
diff --git a/mk/rte.sdkbuild.mk b/mk/rte.sdkbuild.mk
deleted file mode 100644
index d1d57b6695..0000000000
--- a/mk/rte.sdkbuild.mk
+++ /dev/null
@@ -1,77 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2015 Intel Corporation
-
-#
-# include rte.vars.mk if config file exists
-#
-ifeq (,$(wildcard $(RTE_OUTPUT)/.config))
-  $(error "need a make config first")
-else
-  include $(RTE_SDK)/mk/rte.vars.mk
-endif
-
-# allow exec-env specific targets
--include $(RTE_SDK)/mk/exec-env/$(RTE_EXEC_ENV)/rte.custom.mk
-
-buildtools: | lib
-kernel: | lib
-drivers: | lib buildtools
-app: | lib buildtools drivers
-test: | lib buildtools drivers
-
-#
-# build and clean targets
-#
-
-CLEANDIRS = $(addsuffix _clean,$(ROOTDIRS-y) $(ROOTDIRS-n) $(ROOTDIRS-))
-
-.PHONY: build
-build: $(ROOTDIRS-y)
-	@echo "Build complete [$(RTE_TARGET)]"
-	@echo "==== NOTE ===="
-	@echo "It is recommended to build DPDK using 'meson' and 'ninja'"
-	@echo "See https://doc.dpdk.org/guides/linux_gsg/build_dpdk.html for instructions"
-	@echo "Building DPDK with 'make' will be deprecated in a future release"
-	@echo "=============="
-
-.PHONY: clean
-clean: $(CLEANDIRS)
-	@rm -rf $(RTE_OUTPUT)/include $(RTE_OUTPUT)/app \
-		$(RTE_OUTPUT)/lib \
-		$(RTE_OUTPUT)/hostlib $(RTE_OUTPUT)/kmod
-	@[ -d $(RTE_OUTPUT)/include ] || mkdir -p $(RTE_OUTPUT)/include
-	@$(RTE_SDK)/buildtools/gen-config-h.sh $(RTE_OUTPUT)/.config \
-		> $(RTE_OUTPUT)/include/rte_config.h
-	$(Q)$(MAKE) -f $(RTE_SDK)/GNUmakefile gcovclean
-	@echo Clean complete
-
-.SECONDEXPANSION:
-.PHONY: $(ROOTDIRS-y) $(ROOTDIRS-)
-$(ROOTDIRS-y) $(ROOTDIRS-):
-	@[ -d $(BUILDDIR)/$@ ] || mkdir -p $(BUILDDIR)/$@
-	@echo "== Build $@"
-	$(Q)$(MAKE) S=$@ -f $(RTE_SRCDIR)/$@/Makefile -C $(BUILDDIR)/$@ all
-	@if [ $@ = drivers ]; then \
-		$(MAKE) -f $(RTE_SDK)/mk/rte.combinedlib.mk; \
-	fi
-
-%_clean:
-	@echo "== Clean $*"
-	$(Q)if [ -f $(RTE_SRCDIR)/$*/Makefile -a -d $(BUILDDIR)/$* ]; then \
-		$(MAKE) S=$* -f $(RTE_SRCDIR)/$*/Makefile -C $(BUILDDIR)/$* clean ; \
-	fi
-
-RTE_MAKE_SUBTARGET ?= all
-
-%_sub: $(addsuffix _sub,$(*))
-	@echo $(addsuffix _sub,$(*))
-	@[ -d $(BUILDDIR)/$* ] || mkdir -p $(BUILDDIR)/$*
-	@echo "== Build $*"
-	$(Q)$(MAKE) S=$* -f $(RTE_SRCDIR)/$*/Makefile -C $(BUILDDIR)/$* \
-		$(RTE_MAKE_SUBTARGET)
-
-.PHONY: all
-all: build
-
-.PHONY: FORCE
-FORCE:
diff --git a/mk/rte.sdkconfig.mk b/mk/rte.sdkconfig.mk
deleted file mode 100644
index f538649f22..0000000000
--- a/mk/rte.sdkconfig.mk
+++ /dev/null
@@ -1,142 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-.PHONY: showversion
-showversion:
-	@cat $(RTE_SRCDIR)/VERSION
-
-.PHONY: showversionum
-showversionum:
-	@cat $(RTE_SRCDIR)/VERSION | awk -F '.' '{print $$1$$2}'
-
-INSTALL_CONFIGS := $(sort $(filter-out %app-icc,$(filter-out %app-clang,\
-	$(filter-out %app-gcc,$(filter-out %~,\
-	$(patsubst $(RTE_SRCDIR)/config/defconfig_%,%,\
-	$(wildcard $(RTE_SRCDIR)/config/defconfig_*)))))))
-INSTALL_TARGETS := $(addsuffix _install,$(INSTALL_CONFIGS))
-
-.PHONY: showconfigs
-showconfigs:
-	@$(foreach CONFIG, $(INSTALL_CONFIGS), echo $(CONFIG);)
-
-.PHONY: notemplate
-notemplate:
-	@printf "No template specified. Use 'make defconfig' or "
-	@echo "use T=template from the following list:"
-	@$(MAKE) -rR showconfigs | sed 's,^,  ,'
-
-.PHONY: defconfig
-defconfig:
-	@$(MAKE) config T=$(shell \
-                uname -m | awk '{ \
-                if ($$0 == "aarch64") { \
-                        print "arm64-armv8a"} \
-                else if ($$0 == "armv7l") { \
-                        print "arm-armv7a"} \
-                else if ($$0 == "ppc64") { \
-                        print "ppc_64-power8"} \
-                else if ($$0 == "amd64") { \
-                        print "x86_64-native"} \
-                else { \
-                        printf "%s-native", $$0} }' \
-		)-$(shell \
-                uname | awk '{ \
-                if ($$0 == "Linux") { \
-                        print "linux"} \
-                else { \
-                        print "freebsd"} }' \
-		)-$(shell \
-		${CC} --version | grep -o 'cc\|gcc\|icc\|clang' | awk \
-		'{ \
-		if ($$1 == "cc") { \
-			print "gcc" } \
-		else { \
-			print $$1 } \
-		}' \
-		)
-
-.PHONY: config
-ifeq ($(RTE_CONFIG_TEMPLATE),)
-config: notemplate
-else
-config: $(RTE_OUTPUT)/include/rte_config.h $(RTE_OUTPUT)/Makefile
-	@echo "Configuration done using" \
-		$(patsubst defconfig_%,%,$(notdir $(RTE_CONFIG_TEMPLATE)))
-endif
-
-$(RTE_OUTPUT):
-	$(Q)mkdir -p $@
-
-ifdef NODOTCONF
-$(RTE_OUTPUT)/.config: ;
-else
-# Generate config from template, if there are duplicates keep only the last.
-# To do so the temp config is checked for duplicate keys with cut/sort/uniq
-# Then for each of those identified duplicates as long as there are more than
-# just one left the last match is removed.
-# Part of the config includes the version information taken from "VERSION"
-# in the repo. This needs to be split into the various parts using sed and awk.
-# To ensure correct version comparison, we append ".99" to the version number
-# so that the version of a release is higher than that of its rc's.
-$(RTE_OUTPUT)/.config: $(RTE_CONFIG_TEMPLATE) FORCE | $(RTE_OUTPUT)
-	$(Q)if [ "$(RTE_CONFIG_TEMPLATE)" != "" -a -f "$(RTE_CONFIG_TEMPLATE)" ]; then \
-		$(CPP) -undef -P -x assembler-with-cpp \
-		`cat $(RTE_SRCDIR)/VERSION | \
-		sed -e 's/-rc/.-rc./' -e 's/$$/..99/' | \
-		awk -F '.' '{print "-D__YEAR="int($$1), "-D__MONTH="int($$2), "-D__MINOR="int($$3), "-D__SUFFIX=\""$$4"\"", "-D__RELEASE="int($$5)}'` \
-		-ffreestanding \
-		-o $(RTE_OUTPUT)/.config_tmp $(RTE_CONFIG_TEMPLATE) ; \
-		config=$$(cat $(RTE_OUTPUT)/.config_tmp) ; \
-		echo "$$config" | awk -F '=' 'BEGIN {i=1} \
-			/^#/ {pos[i++]=$$0} \
-			!/^#/ {if (!s[$$1]) {pos[i]=$$0; s[$$1]=i++} \
-				else {pos[s[$$1]]=$$0}} END \
-			{for (j=1; j<i; j++) print pos[j]}' \
-			> $(RTE_OUTPUT)/.config_tmp ; \
-		if ! cmp -s $(RTE_OUTPUT)/.config_tmp $(RTE_OUTPUT)/.config; then \
-			cp $(RTE_OUTPUT)/.config_tmp $(RTE_OUTPUT)/.config ; \
-			cp $(RTE_OUTPUT)/.config_tmp $(RTE_OUTPUT)/.config.orig ; \
-		fi ; \
-		rm -f $(RTE_OUTPUT)/.config_tmp ; \
-	else \
-		$(MAKE) -rRf $(RTE_SDK)/mk/rte.sdkconfig.mk notemplate; \
-	fi
-endif
-
-# generate a Makefile for this build directory
-# use a relative path so it will continue to work even if we move the directory
-SDK_RELPATH=$(shell $(RTE_SDK)/buildtools/relpath.sh $(abspath $(RTE_SRCDIR)) \
-				$(abspath $(RTE_OUTPUT)))
-OUTPUT_RELPATH=$(shell $(RTE_SDK)/buildtools/relpath.sh $(abspath $(RTE_OUTPUT)) \
-				$(abspath $(RTE_SRCDIR)))
-$(RTE_OUTPUT)/Makefile: | $(RTE_OUTPUT)
-	$(Q)$(RTE_SDK)/buildtools/gen-build-mk.sh $(SDK_RELPATH) > $@
-
-# clean installed files, and generate a new config header file
-# if NODOTCONF variable is defined, don't try to rebuild .config
-$(RTE_OUTPUT)/include/rte_config.h: $(RTE_OUTPUT)/.config
-	$(Q)rm -rf $(RTE_OUTPUT)/include $(RTE_OUTPUT)/app \
-		$(RTE_OUTPUT)/lib \
-		$(RTE_OUTPUT)/hostlib $(RTE_OUTPUT)/kmod $(RTE_OUTPUT)/build
-	$(Q)mkdir -p $(RTE_OUTPUT)/include
-	$(Q)$(RTE_SDK)/buildtools/gen-config-h.sh $(RTE_OUTPUT)/.config \
-		> $(RTE_OUTPUT)/include/rte_config.h
-
-# generate the rte_config.h
-.PHONY: headerconfig
-headerconfig: $(RTE_OUTPUT)/include/rte_config.h
-	@true
-
-# check that .config is present, and if yes, check that rte_config.h
-# is up to date
-.PHONY: checkconfig
-checkconfig:
-	@if [ ! -f $(RTE_OUTPUT)/.config ]; then \
-		echo "No .config in build directory"; \
-		exit 1; \
-	fi
-	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkconfig.mk \
-		headerconfig NODOTCONF=1
-
-.PHONY: FORCE
-FORCE:
diff --git a/mk/rte.sdkdepdirs.mk b/mk/rte.sdkdepdirs.mk
deleted file mode 100644
index 7adeb0e11b..0000000000
--- a/mk/rte.sdkdepdirs.mk
+++ /dev/null
@@ -1,9 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-ifeq (,$(wildcard $(RTE_OUTPUT)/.config))
-  $(error "need a make config first")
-endif
-ifeq (,$(wildcard $(RTE_OUTPUT)/Makefile))
-  $(error "need a make config first")
-endif
diff --git a/mk/rte.sdkdoc.mk b/mk/rte.sdkdoc.mk
deleted file mode 100644
index fd77e41867..0000000000
--- a/mk/rte.sdkdoc.mk
+++ /dev/null
@@ -1,104 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2015 Intel Corporation.
-# Copyright(c) 2013-2015 6WIND S.A.
-
-ifdef T
-ifeq ("$(origin T)", "command line")
-$(error "Cannot use T= with doc target")
-endif
-endif
-
-RTE_SPHINX_BUILD = sphinx-build
-RTE_PDFLATEX_VERBOSE := --interaction=nonstopmode
-
-ifndef V
-RTE_SPHINX_VERBOSE := -q
-RTE_PDFLATEX_VERBOSE := --interaction=batchmode
-RTE_INKSCAPE_VERBOSE := >/dev/null 2>&1
-endif
-ifeq '$V' '0'
-RTE_SPHINX_VERBOSE := -q
-RTE_PDFLATEX_VERBOSE := --interaction=batchmode
-RTE_INKSCAPE_VERBOSE := >/dev/null 2>&1
-endif
-
-RTE_PDF_DPI ?= 300
-
-RTE_GUIDES := $(filter %/, $(wildcard $(RTE_SDK)/doc/guides/*/))
-
-API_EXAMPLES := $(RTE_OUTPUT)/doc/html/examples.dox
-
-.PHONY: help
-help:
-	@cat $(RTE_SDK)/doc/build-sdk-quick.txt
-	@$(MAKE) -rR showconfigs | sed 's,^,\t\t\t\t,'
-
-.PHONY: all
-all: api-html guides-html guides-pdf
-
-.PHONY: clean
-clean: api-html-clean guides-html-clean guides-pdf-clean guides-man-clean
-
-.PHONY: api-html
-api-html: $(API_EXAMPLES)
-	@echo 'doxygen for API...'
-	$(Q)mkdir -p $(RTE_OUTPUT)/doc/html
-	$(Q)(sed -e "s|@VERSION@|`$(MAKE) -rRs showversion`|" \
-	         -e "s|@API_EXAMPLES@|$(API_EXAMPLES)|"       \
-	         -e "s|@OUTPUT@|$(RTE_OUTPUT)/doc|"           \
-	         -e "s|@HTML_OUTPUT@|html/api|"               \
-	         -e "s|@TOPDIR@|./|g"                         \
-	         -e "s|@STRIP_FROM_PATH@|./|g"                \
-	         $(RTE_SDK)/doc/api/doxy-api.conf.in)|        \
-	    doxygen -
-	$(Q)$(RTE_SDK)/doc/api/doxy-html-custom.sh $(RTE_OUTPUT)/doc/html/api/doxygen.css
-
-.PHONY: api-html-clean
-api-html-clean:
-	$(Q)rm -f $(API_EXAMPLES)
-	$(Q)rm -rf $(RTE_OUTPUT)/doc/html/api/search
-	$(Q)rm -f $(RTE_OUTPUT)/doc/html/api/*
-	$(Q)rmdir -p --ignore-fail-on-non-empty $(RTE_OUTPUT)/doc/html/api 2>&- || true
-
-$(API_EXAMPLES): api-html-clean
-	$(Q)mkdir -p $(@D)
-	$(Q)doc/api/generate_examples.sh examples $(API_EXAMPLES)
-
-guides-pdf-clean: guides-pdf-img-clean
-guides-pdf-img-clean:
-	$(Q)rm -f $(RTE_SDK)/doc/guides/*/img/*.pdf
-
-guides-%-clean:
-	$(Q)rm -rf $(RTE_OUTPUT)/doc/$*/guides
-	$(Q)rmdir -p --ignore-fail-on-non-empty $(RTE_OUTPUT)/doc/$* 2>&- || true
-
-guides-pdf: $(addprefix guides-pdf-, $(notdir $(RTE_GUIDES:/=))) ;
-guides-pdf-%:
-	@echo 'sphinx processing $@...'
-	$(Q)$(RTE_SPHINX_BUILD) -b latex $(RTE_SPHINX_VERBOSE) \
-		-c $(RTE_SDK)/doc/guides $(RTE_SDK)/doc/guides/$* \
-		$(RTE_OUTPUT)/doc/pdf/guides/$*
-	$(if $^,$(Q)rm -f $^)
-	@echo 'pdflatex processing $@...'
-	$(Q)$(MAKE) all-pdf -sC $(RTE_OUTPUT)/doc/pdf/guides/$* \
-		LATEXOPTS=$(RTE_PDFLATEX_VERBOSE)
-	$(Q)mv $(RTE_OUTPUT)/doc/pdf/guides/$*/doc.pdf \
-		$(RTE_OUTPUT)/doc/pdf/guides/$*.pdf
-
-guides-html-prepare:
-	$(Q)install -D -m0644 $(RTE_SDK)/doc/guides/custom.css \
-		$(RTE_OUTPUT)/doc/html/guides/_static/css/custom.css
-
-guides-%-prepare: ;
-
-guides-%: guides-%-prepare
-	@echo 'sphinx processing $@...'
-	$(Q)$(RTE_SPHINX_BUILD) -b $* $(RTE_SPHINX_VERBOSE) \
-		-c $(RTE_SDK)/doc/guides $(RTE_SDK)/doc/guides \
-		$(RTE_OUTPUT)/doc/$*/guides
-
-# Each PDF depends on generated images *.pdf from *.svg
-$(foreach guide, $(RTE_GUIDES), $(foreach img, $(wildcard $(guide)img/*.svg), \
-	$(eval guides-pdf-$(notdir $(guide:/=)): $(img:svg=pdf))))
-%.pdf: %.svg
-	$(Q)inkscape -d $(RTE_PDF_DPI) -D -f $< -A $@ $(RTE_INKSCAPE_VERBOSE)
diff --git a/mk/rte.sdkexamples.mk b/mk/rte.sdkexamples.mk
deleted file mode 100644
index 5eeec36494..0000000000
--- a/mk/rte.sdkexamples.mk
+++ /dev/null
@@ -1,50 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2014 6WIND S.A.
-
-# examples application are seen as external applications which are
-# not part of SDK.
-BUILDING_RTE_SDK :=
-export BUILDING_RTE_SDK
-
-# Build directory is given with O=
-O ?= $(RTE_SDK)/examples
-
-# Target for which examples should be built.
-T ?= *
-
-# list all available configurations
-EXAMPLES_CONFIGS := $(patsubst $(RTE_SRCDIR)/config/defconfig_%,%,\
-	$(wildcard $(RTE_SRCDIR)/config/defconfig_$(T)))
-EXAMPLES_TARGETS := $(addsuffix _examples,\
-	$(filter-out %~,$(EXAMPLES_CONFIGS)))
-
-.PHONY: examples
-examples: $(EXAMPLES_TARGETS)
-
-%_examples:
-	@echo ================== Build examples for $*
-	$(Q)if [ ! -d "${RTE_SDK}/${*}" ]; then \
-		echo "Target ${*} does not exist in ${RTE_SDK}/${*}." ; \
-		echo -n "Please install DPDK first (make install) or use another " ; \
-		echo "target argument (T=target)." ; \
-		false ; \
-	else \
-		$(MAKE) -C examples O=$(abspath $(O)) RTE_TARGET=$(*); \
-	fi
-
-EXAMPLES_CLEAN_TARGETS := $(addsuffix _examples_clean,\
-	$(filter-out %~,$(EXAMPLES_CONFIGS)))
-
-.PHONY: examples_clean
-examples_clean: $(EXAMPLES_CLEAN_TARGETS)
-
-%_examples_clean:
-	@echo ================== Clean examples for $*
-	$(Q)if [ ! -d "${RTE_SDK}/${*}" ]; then \
-		echo "Target ${*} does not exist in ${RTE_SDK}/${*}." ; \
-		echo -n "Please install DPDK first (make install) or use another " ; \
-		echo "target argument (T=target)." ; \
-		false ; \
-	else \
-		$(MAKE) -C examples O=$(abspath $(O)) RTE_TARGET=$(*) clean; \
-	fi
diff --git a/mk/rte.sdkgcov.mk b/mk/rte.sdkgcov.mk
deleted file mode 100644
index ab528b18b8..0000000000
--- a/mk/rte.sdkgcov.mk
+++ /dev/null
@@ -1,39 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-ifdef T
-ifeq ("$(origin T)", "command line")
-$(error "Cannot use T= with gcov target")
-endif
-endif
-
-ifeq (,$(wildcard $(RTE_OUTPUT)/.config))
-  $(error "need a make config first")
-else
-  include $(RTE_SDK)/mk/rte.vars.mk
-endif
-ifeq (,$(wildcard $(RTE_OUTPUT)/Makefile))
-  $(error "need a make config first")
-endif
-
-INPUTDIR  = $(RTE_OUTPUT)
-OUTPUTDIR =  $(RTE_OUTPUT)/gcov
-
-.PHONY: gcovclean
-gcovclean:
-	$(Q)find $(INPUTDIR)/build -name "*.gcno" -o -name "*.gcda" -exec rm {} \;
-	$(Q)rm -rf $(OUTPUTDIR)
-
-.PHONY: gcov
-gcov:
-	$(Q)for APP in test ; do \
-		mkdir -p $(OUTPUTDIR)/$$APP ; cd $(OUTPUTDIR)/$$APP ; \
-		for FIC in `strings $(RTE_OUTPUT)/app/$$APP | grep gcda | sed s,gcda,o,` ; do \
-			SUBDIR=`basename $$FIC`;\
-			mkdir $$SUBDIR ;\
-			cd $$SUBDIR ;\
-			$(GCOV) $(RTE_OUTPUT)/app/$$APP -o $$FIC > gcov.log; \
-			cd - >/dev/null;\
-		done ; \
-		cd - >/dev/null; \
-	done
diff --git a/mk/rte.sdkinstall.mk b/mk/rte.sdkinstall.mk
deleted file mode 100644
index 32bed5d951..0000000000
--- a/mk/rte.sdkinstall.mk
+++ /dev/null
@@ -1,152 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation.
-# Copyright 2015 6WIND S.A.
-
-# Configuration, compilation and installation can be done at once
-# with make install T=<config>
-
-ifdef T # config, build and install combined
-# The build directory is T and may be prepended with O
-O ?= .
-RTE_OUTPUT := $O/$T
-else # standard install
-# Build directory is given with O=
-O ?= build
-RTE_OUTPUT := $O
-endif
-
-ifneq ($(MAKECMDGOALS),pre_install)
-include $(RTE_SDK)/mk/rte.vars.mk
-endif
-
-ifdef T # defaults with T= will install an almost flat staging tree
-export prefix ?=
-kerneldir   ?= $(prefix)/kmod
-else
-ifeq ($(RTE_EXEC_ENV),linuxapp)
-RTE_EXEC_ENV=linux
-endif
-ifeq ($(RTE_EXEC_ENV),linux)
-kerneldir   ?= $(RTE_KERNELDIR:/build=/extra/dpdk)
-else
-kerneldir   ?= /boot/modules
-endif
-prefix      ?=     /usr/local
-endif
-exec_prefix ?=      $(prefix)
-bindir      ?= $(exec_prefix)/bin
-sbindir     ?= $(exec_prefix)/sbin
-libdir      ?= $(exec_prefix)/lib
-includedir  ?=      $(prefix)/include/dpdk
-datarootdir ?=      $(prefix)/share
-docdir      ?=       $(datarootdir)/doc/dpdk
-datadir     ?=       $(datarootdir)/dpdk
-mandir      ?=       $(datarootdir)/man
-sdkdir      ?=                $(datadir)
-targetdir   ?=                $(datadir)/$(RTE_TARGET)
-
-# The install directories may be staged in DESTDIR
-
-# Create the directory $1 if not exists
-rte_mkdir = test -d $1 || mkdir -p $1
-
-# Create the relative symbolic link $2 -> $1
-# May be replaced with --relative option of ln from coreutils-8.16
-rte_symlink = ln -snf $$($(RTE_SDK)/buildtools/relpath.sh $1 $(dir $2)) $2
-
-.PHONY: pre_install
-pre_install:
-ifdef T
-	$(Q)if [ ! -f $(RTE_OUTPUT)/.config ]; then \
-		$(MAKE) config O=$(RTE_OUTPUT); \
-	elif cmp -s $(RTE_OUTPUT)/.config.orig $(RTE_OUTPUT)/.config; then \
-		$(MAKE) config O=$(RTE_OUTPUT); \
-	else \
-		if [ -f $(RTE_OUTPUT)/.config.orig ] ; then \
-			tmp_build=$(RTE_OUTPUT)/.config.tmp; \
-			$(MAKE) config O=$$tmp_build; \
-			if ! cmp -s $(RTE_OUTPUT)/.config.orig $$tmp_build/.config ; then \
-				echo "Conflict: local config and template config have both changed"; \
-				exit 1; \
-			fi; \
-		fi; \
-		echo "Using local configuration"; \
-	fi
-	$(Q)$(MAKE) all O=$(RTE_OUTPUT)
-endif
-
-.PHONY: install
-install:
-ifeq ($(DESTDIR)$(if $T,,+),)
-	@echo Installation cannot run with T defined and DESTDIR undefined
-else
-	@echo ================== Installing $(DESTDIR)$(prefix)/
-	$(Q)$(MAKE) O=$(RTE_OUTPUT) T= install-runtime
-	$(Q)$(MAKE) O=$(RTE_OUTPUT) T= install-kmod
-	$(Q)$(MAKE) O=$(RTE_OUTPUT) T= install-sdk
-	$(Q)$(MAKE) O=$(RTE_OUTPUT) T= install-doc
-	@echo Installation in $(DESTDIR)$(prefix)/ complete
-endif
-
-# when installing we want recursive copies preserving timestamps only, no
-# preservation of user/group ids or permissions
-CP_FLAGS=-dR --preserve=timestamps
-TAR_X_FLAGS=--strip-components=1 --keep-newer-files --no-same-owner --no-same-permissions
-
-install-runtime:
-	$(Q)$(call rte_mkdir, $(DESTDIR)$(libdir))
-	$(Q)cp $(CP_FLAGS)    $O/lib/* $(DESTDIR)$(libdir)
-	$(Q)$(call rte_mkdir, $(DESTDIR)$(bindir))
-	$(Q)tar -cf -      -C $O --exclude 'app/*.map' \
-		--exclude app/dpdk-pmdinfogen \
-		--exclude 'app/cmdline*' --exclude app/test \
-		--exclude app/testacl --exclude app/testpipeline app | \
-	    tar -xf -      -C $(DESTDIR)$(bindir) $(TAR_X_FLAGS)
-	$(Q)$(call rte_mkdir,      $(DESTDIR)$(datadir)/usertools)
-	$(Q)tar -cf -      -C $(RTE_SDK) --exclude meson.build usertools | \
-	    tar -xf -      -C $(DESTDIR)$(datadir)/usertools $(TAR_X_FLAGS)
-	$(Q)$(call rte_mkdir,      $(DESTDIR)$(sbindir))
-	$(Q)$(call rte_symlink,    $(DESTDIR)$(datadir)/usertools/dpdk-devbind.py, \
-	                           $(DESTDIR)$(sbindir)/dpdk-devbind)
-	$(Q)$(call rte_symlink,    $(DESTDIR)$(datadir)/usertools/dpdk-pmdinfo.py, \
-	                           $(DESTDIR)$(bindir)/dpdk-pmdinfo)
-ifneq ($(wildcard $O/doc/man/*/*.1),)
-	$(Q)$(call rte_mkdir,      $(DESTDIR)$(mandir)/man1)
-	$(Q)cp $(CP_FLAGS) $O/doc/man/*/*.1 $(DESTDIR)$(mandir)/man1
-endif
-ifneq ($(wildcard $O/doc/man/*/*.8),)
-	$(Q)$(call rte_mkdir,      $(DESTDIR)$(mandir)/man8)
-	$(Q)cp $(CP_FLAGS) $O/doc/man/*/*.8 $(DESTDIR)$(mandir)/man8
-endif
-
-install-kmod:
-ifneq ($(wildcard $O/kmod/*),)
-	$(Q)$(call rte_mkdir, $(DESTDIR)$(kerneldir))
-	$(Q)cp $(CP_FLAGS)   $O/kmod/* $(DESTDIR)$(kerneldir)
-endif
-
-install-sdk:
-	$(Q)$(call rte_mkdir, $(DESTDIR)$(includedir))
-	$(Q)tar -chf -     -C $O include | \
-	    tar -xf -      -C $(DESTDIR)$(includedir) $(TAR_X_FLAGS)
-	$(Q)$(call rte_mkdir,                            $(DESTDIR)$(sdkdir))
-	$(Q)cp $(CP_FLAGS)      $(RTE_SDK)/mk            $(DESTDIR)$(sdkdir)
-	$(Q)cp $(CP_FLAGS)      $(RTE_SDK)/buildtools    $(DESTDIR)$(sdkdir)
-	$(Q)$(call rte_mkdir,                            $(DESTDIR)$(targetdir)/app)
-	$(Q)cp $(CP_FLAGS)      $O/.config               $(DESTDIR)$(targetdir)
-	$(Q)cp $(CP_FLAGS)      $O/app/dpdk-pmdinfogen   $(DESTDIR)$(targetdir)/app
-	$(Q)$(call rte_symlink, $(DESTDIR)$(includedir), $(DESTDIR)$(targetdir)/include)
-	$(Q)$(call rte_symlink, $(DESTDIR)$(libdir),     $(DESTDIR)$(targetdir)/lib)
-
-install-doc:
-ifneq ($(wildcard $O/doc/html),)
-	$(Q)$(call rte_mkdir, $(DESTDIR)$(docdir))
-	$(Q)tar -cf -      -C $O/doc --exclude 'html/guides/.*' html | \
-	    tar -xf -      -C $(DESTDIR)$(docdir) $(TAR_X_FLAGS)
-endif
-ifneq ($(wildcard $O/doc/*/*/*pdf),)
-	$(Q)$(call rte_mkdir,     $(DESTDIR)$(docdir)/guides)
-	$(Q)cp $(CP_FLAGS) $O/doc/*/*/*pdf $(DESTDIR)$(docdir)/guides
-endif
-	$(Q)$(call rte_mkdir,         $(DESTDIR)$(datadir))
-	$(Q)cp $(CP_FLAGS) $(RTE_SDK)/examples $(DESTDIR)$(datadir)
diff --git a/mk/rte.sdkroot.mk b/mk/rte.sdkroot.mk
deleted file mode 100644
index fbee6e96d9..0000000000
--- a/mk/rte.sdkroot.mk
+++ /dev/null
@@ -1,115 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-MAKEFLAGS += --no-print-directory
-
-# define Q to '@' or not. $(Q) is used to prefix all shell commands to
-# be executed silently.
-Q=@
-ifeq '$V' '0'
-override V=
-endif
-ifdef V
-ifeq ("$(origin V)", "command line")
-Q=
-endif
-endif
-export Q
-
-ifeq ($(RTE_SDK),)
-$(error RTE_SDK is not defined)
-endif
-
-RTE_SRCDIR = $(CURDIR)
-export RTE_SRCDIR
-
-BUILDING_RTE_SDK := 1
-export BUILDING_RTE_SDK
-
-#
-# We can specify the configuration template when doing the "make
-# config". For instance: make config T=x86_64-native-linux-gcc
-#
-RTE_CONFIG_TEMPLATE :=
-ifdef T
-ifeq ("$(origin T)", "command line")
-RTE_CONFIG_TEMPLATE := $(RTE_SRCDIR)/config/defconfig_$(T)
-endif
-endif
-export RTE_CONFIG_TEMPLATE
-
-#
-# Default output is $(RTE_SRCDIR)/build
-# output files wil go in a separate directory
-#
-ifdef O
-ifeq ("$(origin O)", "command line")
-RTE_OUTPUT := $(abspath $(O))
-endif
-endif
-RTE_OUTPUT ?= $(RTE_SRCDIR)/build
-export RTE_OUTPUT
-
-# the directory where intermediate build files are stored, like *.o,
-# *.d, *.cmd, ...
-BUILDDIR = $(RTE_OUTPUT)/build
-export BUILDDIR
-
-export ROOTDIRS-y ROOTDIRS- ROOTDIRS-n
-
-.PHONY: default test-build
-default test-build: all
-
-.PHONY: warning
-warning:
-	@echo
-	@echo "=========================== WARNING ============================"
-	@echo "It is recommended to build DPDK using 'meson' and 'ninja'"
-	@echo "See https://doc.dpdk.org/guides/linux_gsg/build_dpdk.html"
-	@echo "Building DPDK with 'make' will be deprecated in a future release"
-	@echo "================================================================"
-	@echo
-	@test "$(MAKE_PAUSE)" = n || ( \
-	echo "This deprecation warning can be passed by adding MAKE_PAUSE=n"; \
-	echo "to 'make' command line or as an exported environment variable."; \
-	echo "Press enter to continue..."; read junk)
-
-.PHONY: config defconfig showconfigs showversion showversionum
-config: warning
-config defconfig showconfigs showversion showversionum:
-	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkconfig.mk $@
-
-.PHONY: cscope gtags tags etags
-cscope gtags tags etags:
-	$(Q)$(RTE_SDK)/devtools/build-tags.sh $@ $T
-
-.PHONY: test test-fast test-perf coverage test-drivers test-dump
-test test-fast test-perf coverage test-drivers test-dump:
-	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdktest.mk $@
-
-.PHONY: install
-install:
-	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkinstall.mk pre_install
-	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkinstall.mk $@
-install-%:
-	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkinstall.mk $@
-
-.PHONY: doc help
-doc: doc-all
-help: doc-help
-doc-%:
-	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkdoc.mk $*
-
-.PHONY: gcov gcovclean
-gcov gcovclean:
-	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkgcov.mk $@
-
-.PHONY: examples examples_clean
-examples examples_clean:
-	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkexamples.mk $@
-
-# all other build targets
-%:
-	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkconfig.mk checkconfig
-	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkroot.mk warning
-	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkbuild.mk $@
diff --git a/mk/rte.sdktest.mk b/mk/rte.sdktest.mk
deleted file mode 100644
index 803018ba3a..0000000000
--- a/mk/rte.sdktest.mk
+++ /dev/null
@@ -1,76 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-ifeq (,$(wildcard $(RTE_OUTPUT)/.config))
-  $(error "need a make config first")
-else
-  include $(RTE_SDK)/mk/rte.vars.mk
-endif
-ifeq (,$(wildcard $(RTE_OUTPUT)/Makefile))
-  $(error "need a make config first")
-endif
-
-DATE := $(shell date '+%Y%m%d-%H%M')
-AUTOTEST_DIR := $(RTE_OUTPUT)/autotest-$(DATE)
-
-DIR := $(shell basename $(RTE_OUTPUT))
-
-#
-# test: launch auto-tests, very simple for now.
-#
-.PHONY: test test-fast test-perf test-drivers test-dump coverage
-
-PERFLIST=ring_perf,mempool_perf,memcpy_perf,hash_perf,timer_perf,\
-         reciprocal_division,reciprocal_division_perf,lpm_perf,red_all,\
-         barrier,hash_multiwriter,timer_racecond,efd,hash_functions,\
-         eventdev_selftest_sw,member_perf,efd_perf,lpm6_perf,red_perf,\
-         distributor_perf,ring_pmd_perf,pmd_perf,ring_perf
-DRIVERSLIST=link_bonding,link_bonding_mode4,link_bonding_rssconf,\
-            cryptodev_sw_mrvl,cryptodev_dpaa2_sec,cryptodev_dpaa_sec,\
-            cryptodev_qat,cryptodev_aesni_mb,cryptodev_openssl,\
-            cryptodev_scheduler,cryptodev_aesni_gcm,cryptodev_null,\
-            cryptodev_sw_snow3g,cryptodev_sw_kasumi,cryptodev_sw_zuc
-DUMPLIST=dump_struct_sizes,dump_mempool,dump_malloc_stats,dump_devargs,\
-         dump_log_types,dump_ring,dump_physmem,dump_memzone
-
-SPACESTR:=
-SPACESTR+=
-STRIPPED_PERFLIST=$(subst $(SPACESTR),,$(PERFLIST))
-STRIPPED_DRIVERSLIST=$(subst $(SPACESTR),,$(DRIVERSLIST))
-STRIPPED_DUMPLIST=$(subst $(SPACESTR),,$(DUMPLIST))
-
-coverage: BLACKLIST=-$(STRIPPED_PERFLIST)
-test-fast: BLACKLIST=-$(STRIPPED_PERFLIST),$(STRIPPED_DRIVERSLIST),$(STRIPPED_DUMPLIST)
-test-perf: WHITELIST=$(STRIPPED_PERFLIST)
-test-drivers: WHITELIST=$(STRIPPED_DRIVERSLIST)
-test-dump: WHITELIST=$(STRIPPED_DUMPLIST)
-
-test test-fast test-perf test-drivers test-dump:
-	@mkdir -p $(AUTOTEST_DIR) ; \
-	cd $(AUTOTEST_DIR) ; \
-	if [ -f $(RTE_OUTPUT)/app/test ]; then \
-		python $(RTE_SDK)/app/test/autotest.py \
-			$(RTE_OUTPUT)/app/test \
-			$(RTE_TARGET) \
-			$(BLACKLIST) $(WHITELIST); \
-	else \
-		echo "No test found, please do a 'make' first, or specify O=" ; \
-	fi
-
-# this is a special target to ease the pain of running coverage tests
-# this runs all the autotests, cmdline_test script and dpdk-procinfo
-coverage:
-	@mkdir -p $(AUTOTEST_DIR) ; \
-	cd $(AUTOTEST_DIR) ; \
-	if [ -f $(RTE_OUTPUT)/app/test ]; then \
-		python $(RTE_SDK)/test/cmdline_test/cmdline_test.py \
-			$(RTE_OUTPUT)/app/cmdline_test; \
-		ulimit -S -n 100 ; \
-		python $(RTE_SDK)/app/test/autotest.py \
-			$(RTE_OUTPUT)/app/test \
-			$(RTE_TARGET) \
-			$(BLACKLIST) $(WHITELIST) ; \
-		$(RTE_OUTPUT)/app/dpdk-procinfo --file-prefix=ring_perf -- -m; \
-	else \
-		echo "No test found, please do a 'make' first, or specify O=" ;\
-	fi
diff --git a/mk/rte.shared.mk b/mk/rte.shared.mk
deleted file mode 100644
index 2b501ddb84..0000000000
--- a/mk/rte.shared.mk
+++ /dev/null
@@ -1,108 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2012-2013 6WIND S.A.
-
-include $(RTE_SDK)/mk/internal/rte.compile-pre.mk
-include $(RTE_SDK)/mk/internal/rte.install-pre.mk
-include $(RTE_SDK)/mk/internal/rte.clean-pre.mk
-include $(RTE_SDK)/mk/internal/rte.build-pre.mk
-
-# VPATH contains at least SRCDIR
-VPATH += $(SRCDIR)
-
-_BUILD = $(SHARED)
-_INSTALL = $(INSTALL-FILES-y) $(SYMLINK-FILES-y) $(RTE_OUTPUT)/lib/$(SHARED)
-_CLEAN = doclean
-
-# Set fPIC in CFLAGS for .so generation
-CFLAGS += -fPIC
-
-.PHONY: all
-all: install
-
-.PHONY: install
-install: build _postinstall
-
-_postinstall: build
-
-.PHONY: build
-build: _postbuild
-
-exe2cmd = $(strip $(call dotfile,$(patsubst %,%.cmd,$(1))))
-
-ifeq ($(LINK_USING_CC),1)
-override EXTRA_LDFLAGS := $(call linkerprefix,$(EXTRA_LDFLAGS))
-O_TO_SO = $(CC) $(call linkerprefix,$(LDFLAGS)) $(LDFLAGS_$(@)) $(EXTRA_LDFLAGS) \
-	-shared -o $@ $(OBJS-y) $(call linkerprefix,$(LDLIBS))
-else
-O_TO_SO = $(LD) $(LDFLAGS) $(LDFLAGS_$(@)) $(EXTRA_LDFLAGS) \
-	-shared -o $@ $(OBJS-y) $(LDLIBS)
-endif
-
-O_TO_SO_STR = $(subst ','\'',$(O_TO_SO)) #'# fix syntax highlight
-O_TO_SO_DISP = $(if $(V),"$(O_TO_SO_STR)","  LD $(@)")
-O_TO_SO_CMD = "cmd_$@ = $(O_TO_SO_STR)"
-O_TO_SO_DO = @set -e; \
-	echo $(O_TO_SO_DISP); \
-	$(O_TO_SO) && \
-	echo $(O_TO_SO_CMD) > $(call exe2cmd,$(@))
-
--include .$(SHARED).cmd
-
-# path where libraries are retrieved
-LDLIBS_PATH := $(subst -Wl$(comma)-L,,$(filter -Wl$(comma)-L%,$(LDLIBS)))
-LDLIBS_PATH += $(subst -L,,$(filter -L%,$(LDLIBS)))
-
-# list of .a files that are linked to this application
-LDLIBS_NAMES := $(patsubst -l%,lib%.a,$(filter -l%,$(LDLIBS)))
-LDLIBS_NAMES += $(patsubst -Wl$(comma)-l%,lib%.a,$(filter -Wl$(comma)-l%,$(LDLIBS)))
-
-# list of found libraries files (useful for deps). If not found, the
-# library is silently ignored and dep won't be checked
-LDLIBS_FILES := $(sort $(wildcard $(foreach dir,$(LDLIBS_PATH),\
-	$(addprefix $(dir)/,$(LDLIBS_NAMES)))))
-
-#
-# Archive objects in .so file if needed
-#
-$(SHARED): $(OBJS-y) $(LDLIBS_FILES) $(DEP_$(SHARED)) FORCE
-	@[ -d $(dir $@) ] || mkdir -p $(dir $@)
-	$(if $(D),\
-		@echo -n "$< -> $@ " ; \
-		echo -n "file_missing=$(call boolean,$(file_missing)) " ; \
-		echo -n "cmdline_changed=$(call boolean,$(call cmdline_changed,$(O_TO_SO_STR))) " ; \
-		echo -n "depfile_missing=$(call boolean,$(depfile_missing)) " ; \
-		echo "depfile_newer=$(call boolean,$(depfile_newer)) ")
-	$(if $(or \
-		$(file_missing),\
-		$(call cmdline_changed,$(O_TO_SO_STR)),\
-		$(depfile_missing),\
-		$(depfile_newer)),\
-		$(O_TO_SO_DO))
-
-#
-# install lib in $(RTE_OUTPUT)/lib
-#
-$(RTE_OUTPUT)/lib/$(SHARED): $(SHARED)
-	@echo "  INSTALL-SHARED $(SHARED)"
-	@[ -d $(RTE_OUTPUT)/lib ] || mkdir -p $(RTE_OUTPUT)/lib
-	$(Q)cp -f $(SHARED) $(RTE_OUTPUT)/lib
-
-#
-# Clean all generated files
-#
-.PHONY: clean
-clean: _postclean
-
-.PHONY: doclean
-doclean:
-	$(Q)rm -rf $(SHARED) $(OBJS-all) $(DEPS-all) $(DEPSTMP-all) \
-	  $(CMDS-all) $(INSTALL-FILES-all)
-	$(Q)rm -f $(_BUILD_TARGETS) $(_INSTALL_TARGETS) $(_CLEAN_TARGETS)
-
-include $(RTE_SDK)/mk/internal/rte.compile-post.mk
-include $(RTE_SDK)/mk/internal/rte.install-post.mk
-include $(RTE_SDK)/mk/internal/rte.clean-post.mk
-include $(RTE_SDK)/mk/internal/rte.build-post.mk
-
-.PHONY: FORCE
-FORCE:
diff --git a/mk/rte.subdir.mk b/mk/rte.subdir.mk
deleted file mode 100644
index d6e64a2460..0000000000
--- a/mk/rte.subdir.mk
+++ /dev/null
@@ -1,65 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# .mk to build subdirectories
-#
-
-include $(RTE_SDK)/mk/internal/rte.install-pre.mk
-include $(RTE_SDK)/mk/internal/rte.clean-pre.mk
-include $(RTE_SDK)/mk/internal/rte.build-pre.mk
-
-ALL_DEPDIRS := $(patsubst DEPDIRS-%,%,$(filter DEPDIRS-%,$(.VARIABLES)))
-
-CLEANDIRS = $(addsuffix _clean,$(DIRS-y) $(DIRS-n) $(DIRS-))
-
-VPATH += $(SRCDIR)
-_BUILD = $(DIRS-y)
-_INSTALL = $(INSTALL-FILES-y) $(SYMLINK-FILES-y)
-_CLEAN = $(CLEANDIRS)
-
-.PHONY: all
-all: install
-
-.PHONY: install
-install: build _postinstall
-
-_postinstall: build
-
-.PHONY: build
-build: _postbuild
-
-.SECONDEXPANSION:
-.PHONY: $(DIRS-y)
-$(DIRS-y):
-	@[ -d $(CURDIR)/$@ ] || mkdir -p $(CURDIR)/$@
-	@echo "== Build $S/$@"
-	@$(MAKE) S=$S/$@ -f $(SRCDIR)/$@/Makefile -C $(CURDIR)/$@ all
-
-.PHONY: clean
-clean: _postclean
-
-%_clean:
-	@echo "== Clean $S/$*"
-	@if [ -f $(SRCDIR)/$*/Makefile -a -d $(CURDIR)/$* ]; then \
-		$(MAKE) S=$S/$* -f $(SRCDIR)/$*/Makefile -C $(CURDIR)/$* clean ; \
-	fi
-	@rm -f $(_BUILD_TARGETS) $(_INSTALL_TARGETS) $(_CLEAN_TARGETS)
-
-define depdirs_rule
-$(DEPDIRS-$(1)):
-
-$(1): | $(DEPDIRS-$(1))
-
-$(if $(D),$(info $(1) depends on $(DEPDIRS-$(1))))
-endef
-
-$(foreach dir,$(ALL_DEPDIRS),\
-	$(eval $(call depdirs_rule,$(dir))))
-
-include $(RTE_SDK)/mk/internal/rte.install-post.mk
-include $(RTE_SDK)/mk/internal/rte.clean-post.mk
-include $(RTE_SDK)/mk/internal/rte.build-post.mk
-
-.PHONY: FORCE
-FORCE:
diff --git a/mk/rte.vars.mk b/mk/rte.vars.mk
deleted file mode 100644
index 07b0db127f..0000000000
--- a/mk/rte.vars.mk
+++ /dev/null
@@ -1,102 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# To be included at the beginning of all RTE user Makefiles. This
-# .mk will define the RTE environment variables by including the
-# config file of SDK. It also includes the config file from external
-# application if any.
-#
-
-ifeq ($(RTE_SDK),)
-$(error RTE_SDK is not defined)
-endif
-ifeq ($(wildcard $(RTE_SDK)),)
-$(error RTE_SDK variable points to an invalid location)
-endif
-
-# define Q to '@' or not. $(Q) is used to prefix all shell commands to
-# be executed silently.
-Q=@
-ifeq '$V' '0'
-override V=
-endif
-ifdef V
-ifeq ("$(origin V)", "command line")
-Q=
-endif
-endif
-export Q
-
-# if we are building SDK, only includes SDK configuration
-ifneq ($(BUILDING_RTE_SDK),)
-  include $(RTE_OUTPUT)/.config
-  # remove double-quotes from config names
-  RTE_ARCH := $(CONFIG_RTE_ARCH:"%"=%)
-  RTE_MACHINE := $(CONFIG_RTE_MACHINE:"%"=%)
-  RTE_EXEC_ENV := $(CONFIG_RTE_EXEC_ENV:"%"=%)
-  RTE_TOOLCHAIN := $(CONFIG_RTE_TOOLCHAIN:"%"=%)
-  RTE_SDK_BIN := $(RTE_OUTPUT)
-endif
-
-RTE_TARGET ?= $(RTE_ARCH)-$(RTE_MACHINE)-$(RTE_EXEC_ENV)-$(RTE_TOOLCHAIN)
-
-ifeq ($(BUILDING_RTE_SDK),)
-# if we are building an external app/lib, include internal/rte.extvars.mk that will
-# define RTE_OUTPUT, RTE_SRCDIR, RTE_EXTMK, RTE_SDK_BIN, (etc ...)
-include $(RTE_SDK)/mk/internal/rte.extvars.mk
-endif
-
-CONFIG_RTE_LIBRTE_E1000_PMD = $(CONFIG_RTE_LIBRTE_IGB_PMD)
-ifneq ($(CONFIG_RTE_LIBRTE_E1000_PMD),y)
-  CONFIG_RTE_LIBRTE_E1000_PMD = $(CONFIG_RTE_LIBRTE_EM_PMD)
-endif
-
-ifeq ($(RTE_ARCH),)
-$(error RTE_ARCH is not defined)
-endif
-
-ifeq ($(RTE_MACHINE),)
-$(error RTE_MACHINE is not defined)
-endif
-
-ifeq ($(RTE_EXEC_ENV),)
-$(error RTE_EXEC_ENV is not defined)
-endif
-
-ifeq ($(RTE_TOOLCHAIN),)
-$(error RTE_TOOLCHAIN is not defined)
-endif
-
-# can be overridden by make command line or exported environment variable
-RTE_KERNELDIR ?= /lib/modules/$(shell uname -r)/build
-
-export RTE_TARGET
-export RTE_ARCH
-export RTE_MACHINE
-export RTE_EXEC_ENV
-export RTE_TOOLCHAIN
-
-# developer build automatically enabled in a git tree
-ifneq ($(wildcard $(RTE_SDK)/.git),)
-RTE_DEVEL_BUILD ?= y
-endif
-
-# SRCDIR is the current source directory
-ifdef S
-SRCDIR := $(abspath $(RTE_SRCDIR)/$(S))
-else
-SRCDIR := $(RTE_SRCDIR)
-endif
-
-# helper: return y if option is set to y, else return an empty string
-testopt = $(if $(strip $(subst y,,$(1)) $(subst $(1),,y)),,y)
-
-# helper: return an empty string if option is set, else return y
-not = $(if $(strip $(subst y,,$(1)) $(subst $(1),,y)),,y)
-
-ifneq ($(wildcard $(RTE_SDK)/mk/target/$(RTE_TARGET)/rte.vars.mk),)
-include $(RTE_SDK)/mk/target/$(RTE_TARGET)/rte.vars.mk
-else
-include $(RTE_SDK)/mk/target/generic/rte.vars.mk
-endif
diff --git a/mk/target/generic/rte.app.mk b/mk/target/generic/rte.app.mk
deleted file mode 100644
index ed82656f18..0000000000
--- a/mk/target/generic/rte.app.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# define Makefile targets that are specific to an environment.
-#
-include $(RTE_SDK)/mk/exec-env/$(RTE_EXEC_ENV)/rte.app.mk
-
-.PHONY: exec-env-appinstall
-target-appinstall: exec-env-appinstall
-
-.PHONY: exec-env-appclean
-target-appclean: exec-env-appclean
diff --git a/mk/target/generic/rte.vars.mk b/mk/target/generic/rte.vars.mk
deleted file mode 100644
index 11b0418e55..0000000000
--- a/mk/target/generic/rte.vars.mk
+++ /dev/null
@@ -1,132 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# This .mk is the generic target rte.var.mk ; it includes .mk for
-# the specified machine, architecture, toolchain (compiler) and
-# executive environment.
-#
-
-#
-# toolchain:
-#
-#   - define CC, LD, AR, AS, ...
-#   - define TOOLCHAIN_CFLAGS variable (overridden by cmdline value)
-#   - define TOOLCHAIN_LDFLAGS variable (overridden by cmdline value)
-#   - define TOOLCHAIN_ASFLAGS variable (overridden by cmdline value)
-#   - may override any previously defined variable
-#
-include $(RTE_SDK)/mk/toolchain/$(RTE_TOOLCHAIN)/rte.vars.mk
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#
-ifneq ($(wildcard $(RTE_SDK)/mk/machine/$(RTE_MACHINE)/rte.vars.mk),)
-include $(RTE_SDK)/mk/machine/$(RTE_MACHINE)/rte.vars.mk
-else
-MACHINE_CFLAGS := -march=$(RTE_MACHINE)
-endif
-
-#
-# arch:
-#
-#   - define ARCH variable (overridden by cmdline or by previous
-#     optional define in machine .mk)
-#   - define CROSS variable (overridden by cmdline or previous define
-#     in machine .mk)
-#   - define CPU_CFLAGS variable (overridden by cmdline or previous
-#     define in machine .mk)
-#   - define CPU_LDFLAGS variable (overridden by cmdline or previous
-#     define in machine .mk)
-#   - define CPU_ASFLAGS variable (overridden by cmdline or previous
-#     define in machine .mk)
-#   - may override any previously defined variable
-#
-include $(RTE_SDK)/mk/arch/$(RTE_ARCH)/rte.vars.mk
-
-#
-# exec-env:
-#
-#   - define EXECENV_CFLAGS variable (overridden by cmdline)
-#   - define EXECENV_LDFLAGS variable (overridden by cmdline)
-#   - define EXECENV_ASFLAGS variable (overridden by cmdline)
-#   - may override any previously defined variable
-#
-include $(RTE_SDK)/mk/exec-env/$(RTE_EXEC_ENV)/rte.vars.mk
-
-# Don't set CFLAGS/LDFLAGS flags for kernel module, all flags are
-# provided by Kbuild framework.
-ifeq ($(KERNELRELEASE),)
-
-# now that the environment is mostly set up, including the machine type we will
-# be passing to the compiler, set up the specific CPU flags based on that info.
-include $(RTE_SDK)/mk/rte.cpuflags.mk
-
-# merge all CFLAGS
-CFLAGS := $(CPU_CFLAGS) $(EXECENV_CFLAGS) $(TOOLCHAIN_CFLAGS) $(MACHINE_CFLAGS)
-CFLAGS += $(TARGET_CFLAGS)
-
-# merge all LDFLAGS
-LDFLAGS := $(CPU_LDFLAGS) $(EXECENV_LDFLAGS) $(TOOLCHAIN_LDFLAGS) $(MACHINE_LDFLAGS)
-LDFLAGS += $(TARGET_LDFLAGS)
-
-# merge all ASFLAGS
-ASFLAGS := $(CPU_ASFLAGS) $(EXECENV_ASFLAGS) $(TOOLCHAIN_ASFLAGS) $(MACHINE_ASFLAGS)
-ASFLAGS += $(TARGET_ASFLAGS)
-
-# add default include and lib paths
-CFLAGS += -I$(RTE_OUTPUT)/include
-LDFLAGS += -L$(RTE_OUTPUT)/lib
-
-# add in flag for supporting function versioning. The define is used in meson
-# builds to ensure that the user has properly flagged the unit in question as
-# using function versioning so it can be built twice - once for static lib and
-# then a second time for the shared lib. Since make only builds one library
-# type at a time, such precautions aren't necessary, so we can globally define
-# the flag
-CFLAGS += -DRTE_USE_FUNCTION_VERSIONING
-
-# always include rte_config.h: the one in $(RTE_OUTPUT)/include is
-# the configuration of SDK when $(BUILDING_RTE_SDK) is true, or the
-# configuration of the application if $(BUILDING_RTE_SDK) is not
-# defined.
-ifeq ($(BUILDING_RTE_SDK),1)
-# building sdk
-CFLAGS += -include $(RTE_OUTPUT)/include/rte_config.h
-CFLAGS += -DALLOW_EXPERIMENTAL_API
-CFLAGS += -DALLOW_INTERNAL_API
-else
-# if we are building an external application, include SDK's lib and
-# includes too
-CFLAGS += -I$(RTE_SDK_BIN)/include
-ifneq ($(wildcard $(RTE_OUTPUT)/include/rte_config.h),)
-CFLAGS += -include $(RTE_OUTPUT)/include/rte_config.h
-endif
-CFLAGS += -include $(RTE_SDK_BIN)/include/rte_config.h
-LDFLAGS += -L$(RTE_SDK_BIN)/lib
-endif
-
-# always define _GNU_SOURCE
-CFLAGS += -D_GNU_SOURCE
-
-# define __BSD_VISIBLE when building for FreeBSD
-ifeq ($(CONFIG_RTE_EXEC_ENV_FREEBSD),y)
-CFLAGS += -D__BSD_VISIBLE
-endif
-
-export CFLAGS
-export LDFLAGS
-
-endif
diff --git a/mk/toolchain/clang/rte.toolchain-compat.mk b/mk/toolchain/clang/rte.toolchain-compat.mk
deleted file mode 100644
index e6189b498d..0000000000
--- a/mk/toolchain/clang/rte.toolchain-compat.mk
+++ /dev/null
@@ -1,22 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# CPUID-related options
-#
-# This was added to support compiler versions which might not support all the
-# flags we need
-#
-
-# find out CLANG version
-
-CLANG_VERSION := $(shell $(CC) -v 2>&1 | \
-	sed -n "s/.*version \([0-9]*\.[0-9]*\).*/\1/p")
-
-CLANG_MAJOR_VERSION := $(shell echo $(CLANG_VERSION) | cut -f1 -d.)
-
-CLANG_MINOR_VERSION := $(shell echo $(CLANG_VERSION) | cut -f2 -d.)
-
-ifeq ($(shell test $(CLANG_MAJOR_VERSION)$(CLANG_MINOR_VERSION) -lt 35 && echo 1), 1)
-	CC_SUPPORTS_Z := false
-endif
diff --git a/mk/toolchain/clang/rte.vars.mk b/mk/toolchain/clang/rte.vars.mk
deleted file mode 100644
index d441f6d8f3..0000000000
--- a/mk/toolchain/clang/rte.vars.mk
+++ /dev/null
@@ -1,60 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# toolchain:
-#
-#   - define CC, LD, AR, AS, ... (overridden by cmdline value)
-#   - define TOOLCHAIN_CFLAGS variable (overridden by cmdline value)
-#   - define TOOLCHAIN_LDFLAGS variable (overridden by cmdline value)
-#   - define TOOLCHAIN_ASFLAGS variable (overridden by cmdline value)
-#
-
-CC        = $(CROSS)clang
-KERNELCC  = $(CROSS)gcc
-CPP       = $(CROSS)cpp
-# for now, we don't use as but nasm.
-# AS      = $(CROSS)as
-AS        = nasm
-AR        = $(CROSS)ar
-LD        = $(CROSS)ld
-OBJCOPY   = $(CROSS)objcopy
-OBJDUMP   = $(CROSS)objdump
-STRIP     = $(CROSS)strip
-READELF   = $(CROSS)readelf
-GCOV      = $(CROSS)gcov
-
-ifeq ("$(origin CC)", "command line")
-HOSTCC    = $(CC)
-else
-HOSTCC    = clang
-endif
-HOSTAS    = as
-
-TOOLCHAIN_ASFLAGS =
-TOOLCHAIN_CFLAGS =
-TOOLCHAIN_LDFLAGS =
-
-WERROR_FLAGS := -W -Wall -Wstrict-prototypes -Wmissing-prototypes
-WERROR_FLAGS += -Wmissing-declarations -Wold-style-definition -Wpointer-arith
-WERROR_FLAGS += -Wnested-externs -Wcast-qual
-WERROR_FLAGS += -Wformat-nonliteral -Wformat-security
-WERROR_FLAGS += -Wundef -Wwrite-strings -Wdeprecated
-
-ifeq ($(RTE_DEVEL_BUILD),y)
-WERROR_FLAGS += -Werror
-endif
-
-# process cpu flags
-include $(RTE_SDK)/mk/toolchain/$(RTE_TOOLCHAIN)/rte.toolchain-compat.mk
-
-# disable warning for non-initialised fields
-WERROR_FLAGS += -Wno-missing-field-initializers
-
-# disable packed member unalign warnings
-ifeq ($(shell test $(CLANG_MAJOR_VERSION) -ge 4 && echo 1), 1)
-WERROR_FLAGS += -Wno-address-of-packed-member
-endif
-
-export CC AS AR LD OBJCOPY OBJDUMP STRIP READELF
-export TOOLCHAIN_CFLAGS TOOLCHAIN_LDFLAGS TOOLCHAIN_ASFLAGS
diff --git a/mk/toolchain/gcc/rte.toolchain-compat.mk b/mk/toolchain/gcc/rte.toolchain-compat.mk
deleted file mode 100644
index 98dca3e786..0000000000
--- a/mk/toolchain/gcc/rte.toolchain-compat.mk
+++ /dev/null
@@ -1,120 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# CPUID-related options
-#
-# This was added to support compiler versions which might not support all the
-# flags we need
-#
-
-#find out GCC version
-
-GCC_MAJOR = $(shell echo __GNUC__ | $(CC) -E -x c - | tail -n 1)
-GCC_MINOR = $(shell echo __GNUC_MINOR__ | $(CC) -E -x c - | tail -n 1)
-GCC_PATCHLEVEL = $(shell echo __GNUC_PATCHLEVEL__ | $(CC) -E -x c - | tail -n 1)
-GCC_VERSION = $(GCC_MAJOR)$(GCC_MINOR)
-
-HOST_GCC_MAJOR = $(shell echo __GNUC__ | $(HOSTCC) -E -x c - | tail -n 1)
-HOST_GCC_MINOR = $(shell echo __GNUC_MINOR__ | $(HOSTCC) -E -x c - | tail -n 1)
-HOST_GCC_PATCHLEVEL = $(shell echo __GNUC_PATCHLEVEL__ | $(HOSTCC) -E -x c - | tail -n 1)
-HOST_GCC_VERSION = $(HOST_GCC_MAJOR)$(HOST_GCC_MINOR)
-
-LD_VERSION = $(shell $(LD) -v)
-# disable AVX512F support for GCC & binutils 2.30 as a workaround for Bug 97
-ifeq ($(CONFIG_RTE_ARCH_X86), y)
-ifneq ($(filter 2.30%,$(LD_VERSION)),)
-FORCE_DISABLE_AVX512 := y
-# print warning only once for librte_eal
-ifneq ($(filter %librte_eal,$(CURDIR)),)
-$(warning AVX512 support disabled because of binutils 2.30. See Bug 97)
-endif
-endif
-ifneq ($(filter 2.31%,$(LD_VERSION)),)
-FORCE_DISABLE_AVX512 := y
-# print warning only once for librte_eal
-ifneq ($(filter %librte_eal,$(CURDIR)),)
-$(warning AVX512 support disabled because of binutils 2.31. See Bug 249)
-endif
-endif
-endif
-
-# if GCC is older than 4.x
-ifeq ($(shell test $(GCC_VERSION) -lt 40 && echo 1), 1)
-	MACHINE_CFLAGS =
-$(warning You are using GCC < 4.x. This is neither supported, nor tested.)
-
-
-else
-# GCC graceful degradation
-# GCC 4.2.x - added support for generic target
-# GCC 4.3.x - added support for core2, ssse3, sse4.1, sse4.2
-# GCC 4.4.x - added support for avx, aes, pclmul
-# GCC 4.5.x - added support for atom
-# GCC 4.6.x - added support for corei7, corei7-avx
-# GCC 4.7.x - added support for fsgsbase, rdrnd, f16c, core-avx-i, core-avx2
-# GCC 4.9.x - added support for armv8-a+crc
-#
-	ifeq ($(shell test $(GCC_VERSION) -le 49 && echo 1), 1)
-		MACHINE_CFLAGS := $(patsubst -march=armv8-a+crc,-march=armv8-a+crc -D__ARM_FEATURE_CRC32=1,$(MACHINE_CFLAGS))
-		MACHINE_CFLAGS := $(patsubst -march=armv8-a+crc+crypto,-march=armv8-a+crc+crypto -D__ARM_FEATURE_CRC32=1,$(MACHINE_CFLAGS))
-	endif
-	ifeq ($(shell test $(GCC_VERSION) -le 47 && echo 1), 1)
-		MACHINE_CFLAGS := $(patsubst -march=core-avx-i,-march=corei7-avx,$(MACHINE_CFLAGS))
-		MACHINE_CFLAGS := $(patsubst -march=core-avx2,-march=core-avx2,$(MACHINE_CFLAGS))
-	endif
-	ifeq ($(shell test $(GCC_VERSION) -lt 46 && echo 1), 1)
-		MACHINE_CFLAGS := $(patsubst -march=corei7-avx,-march=core2 -maes -mpclmul -mavx,$(MACHINE_CFLAGS))
-		MACHINE_CFLAGS := $(patsubst -march=corei7,-march=core2 -maes -mpclmul,$(MACHINE_CFLAGS))
-	endif
-	ifeq ($(shell test $(GCC_VERSION) -lt 45 && echo 1), 1)
-		MACHINE_CFLAGS := $(patsubst -march=atom,-march=core2 -mssse3,$(MACHINE_CFLAGS))
-	endif
-	ifeq ($(shell test $(GCC_VERSION) -lt 44 && echo 1), 1)
-		MACHINE_CFLAGS := $(filter-out -mavx -mpclmul -maes,$(MACHINE_CFLAGS))
-		ifneq ($(findstring SSE4_2, $(CPUFLAGS)),)
-			MACHINE_CFLAGS += -msse4.2
-		endif
-		ifneq ($(findstring SSE4_1, $(CPUFLAGS)),)
-			MACHINE_CFLAGS += -msse4.1
-		endif
-	endif
-	ifeq ($(shell test $(GCC_VERSION) -lt 43 && echo 1), 1)
-		MACHINE_CFLAGS := $(filter-out -msse% -mssse%,$(MACHINE_CFLAGS))
-		MACHINE_CFLAGS := $(patsubst -march=core2,-march=generic,$(MACHINE_CFLAGS))
-		MACHINE_CFLAGS += -msse3
-	endif
-	ifeq ($(shell test $(GCC_VERSION) -lt 42 && echo 1), 1)
-		MACHINE_CFLAGS := $(filter-out -march% -mtune% -msse%,$(MACHINE_CFLAGS))
-	endif
-
-	ifeq ($(shell test $(GCC_VERSION) -lt 74 && echo 1), 1)
-		CONFIG_RTE_ENABLE_LTO=n
-	endif
-
-	# Disable thunderx PMD for gcc < 4.7
-	ifeq ($(shell test $(GCC_VERSION) -lt 47 && echo 1), 1)
-		CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD=d
-	endif
-
-	# Disable OPDL PMD for gcc < 4.7
-	ifeq ($(shell test $(GCC_VERSION) -lt 47 && echo 1), 1)
-		CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV=d
-	endif
-
-	# Disable OCTEON drivers and libs for arm64 gcc < 4.8.6
-	ifeq ($(RTE_ARCH), arm64)
-	ifeq ($(shell test $(GCC_VERSION)$(GCC_PATCHLEVEL) -lt 486 && echo 1), 1)
-		CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF=d
-		CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL=d
-		CONFIG_RTE_LIBRTE_OCTEONTX_PMD=d
-		CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_DMA_RAWDEV=d
-		CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EP_RAWDEV=d
-		CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV=d
-		CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO=d
-		CONFIG_RTE_LIBRTE_OCTEONTX2_MEMPOOL=d
-		CONFIG_RTE_LIBRTE_OCTEONTX2_PMD=d
-	endif
-	endif
-
-endif
diff --git a/mk/toolchain/gcc/rte.vars.mk b/mk/toolchain/gcc/rte.vars.mk
deleted file mode 100644
index 928f0e0830..0000000000
--- a/mk/toolchain/gcc/rte.vars.mk
+++ /dev/null
@@ -1,109 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# toolchain:
-#
-#   - define CC, LD, AR, AS, ... (overridden by cmdline value)
-#   - define TOOLCHAIN_CFLAGS variable (overridden by cmdline value)
-#   - define TOOLCHAIN_LDFLAGS variable (overridden by cmdline value)
-#   - define TOOLCHAIN_ASFLAGS variable (overridden by cmdline value)
-#
-
-CC        = $(CROSS)gcc
-KERNELCC  = $(CROSS)gcc
-CPP       = $(CROSS)cpp
-# for now, we don't use as but nasm.
-# AS      = $(CROSS)as
-AS        = nasm
-AR        = $(CROSS)ar
-LD        = $(CROSS)ld
-OBJCOPY   = $(CROSS)objcopy
-OBJDUMP   = $(CROSS)objdump
-STRIP     = $(CROSS)strip
-READELF   = $(CROSS)readelf
-GCOV      = $(CROSS)gcov
-
-ifeq ("$(origin CC)", "command line")
-HOSTCC    = $(CC)
-else
-HOSTCC    = gcc
-endif
-HOSTAS    = as
-
-TOOLCHAIN_ASFLAGS =
-TOOLCHAIN_CFLAGS =
-TOOLCHAIN_LDFLAGS =
-
-ifeq ($(CONFIG_RTE_LIBRTE_GCOV),y)
-TOOLCHAIN_CFLAGS += --coverage
-TOOLCHAIN_LDFLAGS += --coverage
-ifeq (,$(findstring -O0,$(EXTRA_CFLAGS)))
-  $(warning "EXTRA_CFLAGS doesn't contains -O0, coverage will be inaccurate with optimizations enabled")
-endif
-endif
-
-WERROR_FLAGS := -W -Wall -Wstrict-prototypes -Wmissing-prototypes
-WERROR_FLAGS += -Wmissing-declarations -Wold-style-definition -Wpointer-arith
-WERROR_FLAGS += -Wcast-align -Wnested-externs -Wcast-qual
-WERROR_FLAGS += -Wformat-nonliteral -Wformat-security
-WERROR_FLAGS += -Wundef -Wwrite-strings -Wdeprecated
-
-ifeq ($(RTE_DEVEL_BUILD),y)
-WERROR_FLAGS += -Werror
-endif
-
-# There are many issues reported for strict alignment architectures
-# which are not necessarily fatal. Report as warnings.
-ifeq ($(CONFIG_RTE_ARCH_STRICT_ALIGN),y)
-WERROR_FLAGS += -Wno-error=cast-align
-endif
-
-# process cpu flags
-include $(RTE_SDK)/mk/toolchain/$(RTE_TOOLCHAIN)/rte.toolchain-compat.mk
-
-ifeq ($(CONFIG_RTE_ENABLE_LTO),y)
-# 'fat-lto' is used since pmdinfogen needs to have 'this_pmd_nameX'
-# exported in symbol table and without this option only internal
-# representation is present.
-TOOLCHAIN_CFLAGS += -flto -ffat-lto-objects
-TOOLCHAIN_LDFLAGS += -flto
-# workaround for GCC bug 81440
-ifeq ($(shell test $(GCC_VERSION) -lt 80 && echo 1), 1)
-WERROR_FLAGS += -Wno-lto-type-mismatch
-endif
-endif
-
-# disable warning for non-initialised fields
-WERROR_FLAGS += -Wno-missing-field-initializers
-# workaround GCC bug with warning "may be used uninitialized"
-ifeq ($(shell test $(GCC_VERSION) -lt 47 && echo 1), 1)
-WERROR_FLAGS += -Wno-uninitialized
-endif
-
-ifeq ($(shell test $(GCC_VERSION) -ge 100 && echo 1), 1)
-# FIXME: Bugzilla 396
-WERROR_FLAGS += -Wno-zero-length-bounds
-endif
-
-HOST_WERROR_FLAGS := $(WERROR_FLAGS)
-
-ifeq ($(shell test $(HOST_GCC_VERSION) -gt 70 && echo 1), 1)
-# Tell GCC only to error for switch fallthroughs without a suitable comment
-HOST_WERROR_FLAGS += -Wimplicit-fallthrough=2
-# Ignore errors for snprintf truncation
-HOST_WERROR_FLAGS += -Wno-format-truncation
-endif
-
-ifeq ($(shell test $(GCC_VERSION) -gt 70 && echo 1), 1)
-# Tell GCC only to error for switch fallthroughs without a suitable comment
-WERROR_FLAGS += -Wimplicit-fallthrough=2
-# Ignore errors for snprintf truncation
-WERROR_FLAGS += -Wno-format-truncation
-endif
-
-# disable packed member unalign warnings
-WERROR_FLAGS += -Wno-address-of-packed-member
-
-export CC AS AR LD OBJCOPY OBJDUMP STRIP READELF
-export TOOLCHAIN_CFLAGS TOOLCHAIN_LDFLAGS TOOLCHAIN_ASFLAGS
diff --git a/mk/toolchain/icc/rte.toolchain-compat.mk b/mk/toolchain/icc/rte.toolchain-compat.mk
deleted file mode 100644
index 2d663b34ad..0000000000
--- a/mk/toolchain/icc/rte.toolchain-compat.mk
+++ /dev/null
@@ -1,58 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# CPUID-related options
-#
-# This was added to support compiler versions which might not support all the
-# flags we need
-#
-
-# find out ICC version
-
-ICC_MAJOR_VERSION = $(shell icc -dumpversion | cut -f1 -d.)
-
-ifeq ($(shell test $(ICC_MAJOR_VERSION) -lt 12 && echo 1), 1)
-	MACHINE_CFLAGS = -xSSE4.2
-$(warning You are not using ICC 12.x or higher. This is neither supported, nor tested.)
-
-else
-# proceed to adjust compiler flags
-
-	ICC_MINOR_VERSION = $(shell icc -dumpversion | cut -f2 -d.)
-
-# replace GCC flags with ICC flags
-	# if icc version >= 12
-	ifeq ($(shell test $(ICC_MAJOR_VERSION) -ge 12 && echo 1), 1)
-		# Atom
-		MACHINE_CFLAGS := $(patsubst -march=atom,-xSSSE3_ATOM -march=atom,$(MACHINE_CFLAGS))
-		# nehalem/westmere
-		MACHINE_CFLAGS := $(patsubst -march=corei7,-xSSE4.2 -march=corei7,$(MACHINE_CFLAGS))
-		# sandy bridge
-		MACHINE_CFLAGS := $(patsubst -march=corei7-avx,-xAVX,$(MACHINE_CFLAGS))
-		# ivy bridge
-		MACHINE_CFLAGS := $(patsubst -march=core-avx-i,-xCORE-AVX-I,$(MACHINE_CFLAGS))
-		# hsw
-		MACHINE_CFLAGS := $(patsubst -march=core-avx2,-xCORE-AVX2,$(MACHINE_CFLAGS))
-		# remove westmere flags
-		MACHINE_CFLAGS := $(filter-out -mpclmul -maes,$(MACHINE_CFLAGS))
-	endif
-	# if icc version == 12.0
-	ifeq ($(shell test $(ICC_MAJOR_VERSION) -eq 12 && test $(ICC_MINOR_VERSION) -eq 0 && echo 1), 1)
-		# Atom
-		MACHINE_CFLAGS := $(patsubst -xSSSE3_ATOM,-xSSE3_ATOM,$(MACHINE_CFLAGS))
-		# remove march options
-		MACHINE_CFLAGS := $(patsubst -march=%,-xSSE3,$(MACHINE_CFLAGS))
-	endif
-
-	# Disable thunderx PMD for icc <= 16.0
-	ifeq ($(shell test $(ICC_MAJOR_VERSION) -le 16 && echo 1), 1)
-		CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD=d
-	endif
-
-        # Disable event/opdl  PMD for icc <= 16.0
-	ifeq ($(shell test $(ICC_MAJOR_VERSION) -le 16 && echo 1), 1)
-		CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV=d
-	endif
-
-endif
diff --git a/mk/toolchain/icc/rte.vars.mk b/mk/toolchain/icc/rte.vars.mk
deleted file mode 100644
index 1729f3d849..0000000000
--- a/mk/toolchain/icc/rte.vars.mk
+++ /dev/null
@@ -1,62 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# toolchain:
-#
-#   - define CC, LD, AR, AS, ... (overridden by cmdline value)
-#   - define TOOLCHAIN_CFLAGS variable (overridden by cmdline value)
-#   - define TOOLCHAIN_LDFLAGS variable (overridden by cmdline value)
-#   - define TOOLCHAIN_ASFLAGS variable (overridden by cmdline value)
-#
-
-# Warning: we do not use CROSS environment variable as icc is mainly a
-# x86->x86 compiler
-
-CC        = icc
-KERNELCC  = gcc
-CPP       = cpp
-AS        = nasm
-AR        = ar
-LD        = ld
-OBJCOPY   = objcopy
-OBJDUMP   = objdump
-STRIP     = strip
-READELF   = readelf
-
-ifeq ($(KERNELRELEASE),)
-HOSTCC    = icc
-else
-HOSTCC    = gcc
-endif
-HOSTAS    = as
-
-TOOLCHAIN_CFLAGS =
-TOOLCHAIN_LDFLAGS =
-TOOLCHAIN_ASFLAGS =
-
-# Turn off some ICC warnings -
-#   Remark #271   : trailing comma is nonstandard
-#   Warning #1478 : function "<func_name>" (declared at line N of "<filename>")
-#   error #13368: loop was not vectorized with "vector always assert"
-#   error #15527: loop was not vectorized: function call to fprintf cannot be vectorize
-#                   was declared "deprecated"
-#   Warning #11074, 11076: to prevent "inline-max-size" warnings.
-WERROR_FLAGS := -Wall -w2 -diag-disable 271 -diag-warning 1478
-WERROR_FLAGS += -diag-disable 13368 -diag-disable 15527
-WERROR_FLAGS += -diag-disable 188
-WERROR_FLAGS += -diag-disable 11074 -diag-disable 11076 -Wdeprecated
-
-# process cpu flags
-include $(RTE_SDK)/mk/toolchain/$(RTE_TOOLCHAIN)/rte.toolchain-compat.mk
-
-ifeq ($(CONFIG_RTE_ENABLE_LTO),y)
-# 'fat-lto' is used since pmdinfogen needs to have 'this_pmd_nameX'
-# exported in symbol table and without this option only internal
-# representation is present.
-TOOLCHAIN_CFLAGS += -flto -ffat-lto-objects
-TOOLCHAIN_LDFLAGS += -flto
-endif
-
-export CC AS AR LD OBJCOPY OBJDUMP STRIP READELF
-export TOOLCHAIN_CFLAGS TOOLCHAIN_LDFLAGS TOOLCHAIN_ASFLAGS
-- 
2.17.1


^ permalink raw reply	[relevance 1%]

* Re: [dpdk-dev] [EXT] Re: [PATCH v7 1/3] ethdev: add level support for RSS offload types
  2020-09-03 10:11  3%         ` Kiran Kumar Kokkilagadda
@ 2020-09-03 13:14  0%           ` Ferruh Yigit
  2020-09-07  8:12  0%             ` Andrew Rybchenko
  0 siblings, 1 reply; 200+ results
From: Ferruh Yigit @ 2020-09-03 13:14 UTC (permalink / raw)
  To: Kiran Kumar Kokkilagadda, Ajit Khaparde
  Cc: Thomas Monjalon, Andrew Rybchenko, dev,
	Jerin Jacob Kollanukkaran, orika, xuanziyang2, cloud.wangxiaoyun,
	zhouguoyang, rosen.xu, beilei.xing, jia.guo, Rasesh Mody,
	Shahed Shaikh, Nithin Kumar Dabilpuram, qiming.yang, qi.z.zhang,
	keith.wiles, hemant.agrawal, sachin.saxena, wei.zhao1, johndale,
	hyonkim, chas3, matan, shahafs, viacheslavo, rahul.lakkireddy,
	grive, Liron Himi, jingjing.wu, xavier.huwei, humin29,
	yisen.zhuang, somnath.kotur, jasvinder.singh,
	cristian.dumitrescu

On 9/3/2020 11:11 AM, Kiran Kumar Kokkilagadda wrote:
> *From:* Ajit Khaparde <ajit.khaparde@broadcom.com>
> *Sent:* Tuesday, September 1, 2020 10:42 PM
> *To:* Kiran Kumar Kokkilagadda <kirankumark@marvell.com>
> *Cc:* Ferruh Yigit <ferruh.yigit@intel.com>; Thomas Monjalon 
> <thomas@monjalon.net>; Andrew Rybchenko <arybchenko@solarflare.com>; 
> dev@dpdk.org; Jerin Jacob Kollanukkaran <jerinj@marvell.com>; 
> orika@mellanox.com; xuanziyang2@huawei.com; cloud.wangxiaoyun@huawei.com; 
> zhouguoyang@huawei.com; rosen.xu@intel.com; beilei.xing@intel.com; 
> jia.guo@intel.com; Rasesh Mody <rmody@marvell.com>; Shahed Shaikh 
> <shshaikh@marvell.com>; Nithin Kumar Dabilpuram <ndabilpuram@marvell.com>; 
> qiming.yang@intel.com; qi.z.zhang@intel.com; keith.wiles@intel.com; 
> hemant.agrawal@nxp.com; sachin.saxena@nxp.com; wei.zhao1@intel.com; 
> johndale@cisco.com; hyonkim@cisco.com; chas3@att.com; matan@mellanox.com; 
> shahafs@mellanox.com; viacheslavo@mellanox.com; rahul.lakkireddy@chelsio.com; 
> grive@u256.net; Liron Himi <lironh@marvell.com>; jingjing.wu@intel.com; 
> xavier.huwei@huawei.com; humin29@huawei.com; yisen.zhuang@huawei.com; 
> somnath.kotur@broadcom.com; jasvinder.singh@intel.com; cristian.dumitrescu@intel.com
> *Subject:* Re: [EXT] Re: [dpdk-dev][PATCH v7 1/3] ethdev: add level support for 
> RSS offload types
> 
> On Tue, Sep 1, 2020 at 7:27 AM Kiran Kumar Kokkilagadda <kirankumark@marvell.com 
> <mailto:kirankumark@marvell.com>> wrote:
> 
> 
> 
>      > -----Original Message-----
>      > From: Ferruh Yigit <ferruh.yigit@intel.com <mailto:ferruh.yigit@intel.com>>
>      > Sent: Tuesday, September 1, 2020 7:08 PM
>      > To: Kiran Kumar Kokkilagadda <kirankumark@marvell.com
>     <mailto:kirankumark@marvell.com>>; Thomas Monjalon
>      > <thomas@monjalon.net <mailto:thomas@monjalon.net>>; Andrew Rybchenko
>     <arybchenko@solarflare.com <mailto:arybchenko@solarflare.com>>
>      > Cc: dev@dpdk.org <mailto:dev@dpdk.org>; Jerin Jacob Kollanukkaran
>     <jerinj@marvell.com <mailto:jerinj@marvell.com>>;
>      > orika@mellanox.com <mailto:orika@mellanox.com>; xuanziyang2@huawei.com
>     <mailto:xuanziyang2@huawei.com>;
>      > cloud.wangxiaoyun@huawei.com <mailto:cloud.wangxiaoyun@huawei.com>;
>     zhouguoyang@huawei.com <mailto:zhouguoyang@huawei.com>;
>      > rosen.xu@intel.com <mailto:rosen.xu@intel.com>; beilei.xing@intel.com
>     <mailto:beilei.xing@intel.com>; jia.guo@intel.com
>     <mailto:jia.guo@intel.com>; Rasesh Mody
>      > <rmody@marvell.com <mailto:rmody@marvell.com>>; Shahed Shaikh
>     <shshaikh@marvell.com <mailto:shshaikh@marvell.com>>; Nithin Kumar
>      > Dabilpuram <ndabilpuram@marvell.com <mailto:ndabilpuram@marvell.com>>;
>     qiming.yang@intel.com <mailto:qiming.yang@intel.com>;
>      > qi.z.zhang@intel.com <mailto:qi.z.zhang@intel.com>; keith.wiles@intel.com
>     <mailto:keith.wiles@intel.com>; hemant.agrawal@nxp.com
>     <mailto:hemant.agrawal@nxp.com>;
>      > sachin.saxena@nxp.com <mailto:sachin.saxena@nxp.com>; wei.zhao1@intel.com
>     <mailto:wei.zhao1@intel.com>; johndale@cisco.com <mailto:johndale@cisco.com>;
>      > hyonkim@cisco.com <mailto:hyonkim@cisco.com>; chas3@att.com
>     <mailto:chas3@att.com>; matan@mellanox.com <mailto:matan@mellanox.com>;
>      > shahafs@mellanox.com <mailto:shahafs@mellanox.com>;
>     viacheslavo@mellanox.com <mailto:viacheslavo@mellanox.com>;
>      > rahul.lakkireddy@chelsio.com <mailto:rahul.lakkireddy@chelsio.com>;
>     grive@u256.net <mailto:grive@u256.net>; Liron Himi
>      > <lironh@marvell.com <mailto:lironh@marvell.com>>; jingjing.wu@intel.com
>     <mailto:jingjing.wu@intel.com>; xavier.huwei@huawei.com
>     <mailto:xavier.huwei@huawei.com>;
>      > humin29@huawei.com <mailto:humin29@huawei.com>; yisen.zhuang@huawei.com
>     <mailto:yisen.zhuang@huawei.com>;
>      > ajit.khaparde@broadcom.com <mailto:ajit.khaparde@broadcom.com>;
>     somnath.kotur@broadcom.com <mailto:somnath.kotur@broadcom.com>;
>      > jasvinder.singh@intel.com <mailto:jasvinder.singh@intel.com>;
>     cristian.dumitrescu@intel.com <mailto:cristian.dumitrescu@intel.com>
>      > Subject: [EXT] Re: [dpdk-dev][PATCH v7 1/3] ethdev: add level support for RSS
>      > offload types
>      >
>      > External Email
>      >
>      > ----------------------------------------------------------------------
>      > On 9/1/2020 4:27 AM, kirankumark@marvell.com
>     <mailto:kirankumark@marvell.com> wrote:
>      > > From: Kiran Kumar K <kirankumark@marvell.com
>     <mailto:kirankumark@marvell.com>>
>      > >
>      > > This patch reserves 2 bits as input selection to select Inner and
>      > > outer encapsulation level for RSS computation. It is combined with
>      > > existing
>      > > ETH_RSS_* to choose Inner or outer layers.
>      > > This functionality already exists in rte_flow through level parameter
>      > > in RSS action configuration rte_flow_action_rss.
>      > >
>      > > Signed-off-by: Kiran Kumar K <kirankumark@marvell.com
>     <mailto:kirankumark@marvell.com>>
>      > > ---
>      > > V7 Changes:
>      > > * Re-worked to keep it in sync with rte_flow_action_rss and support
>      > > upto
>      > > 3 levels.
>      > > * Addressed testpmd review comments.
>      > >
>      > >   lib/librte_ethdev/rte_ethdev.h | 27 +++++++++++++++++++++++++++
>      > >   1 file changed, 27 insertions(+)
>      > >
>      > > diff --git a/lib/librte_ethdev/rte_ethdev.h
>      > > b/lib/librte_ethdev/rte_ethdev.h index 70295d7ab..13e49bbd7 100644
>      > > --- a/lib/librte_ethdev/rte_ethdev.h
>      > > +++ b/lib/librte_ethdev/rte_ethdev.h
>      > > @@ -552,6 +552,33 @@ struct rte_eth_rss_conf {
>      > >   #define RTE_ETH_RSS_L3_PRE64         (1ULL << 53)
>      > >   #define RTE_ETH_RSS_L3_PRE96         (1ULL << 52)
>      > >
>      > > +/*
>      > > + * We use the following macros to combine with the above layers to
>      > > +choose
>      > > + * inner and outer layers or both for RSS computation.
>      > > + * bit 50 and 51 are reserved for this.
>      > > + */
>      > > +
>      > > +/** level 0, requests the default behavior. Depending on the packet
>      > > + * type, it can mean outermost, innermost, anything in between or even no
>      > RSS.
>      > > + * It basically stands for the innermost encapsulation level RSS
>      > > + * can be performed on according to PMD and device capabilities.
>      > > + */
>      > > +#define ETH_RSS_LEVEL_0         (0ULL << 50)
>      >
>      > I can see from history how this is involved, but the 'ETH_RSS_LEVEL_0'
>     naming is
>      > not really clear what it is, the naming in v6 is more clear.
>      >
>      > What about following one:
>      > 0 -> LEVEL_PMD_DEFAULT
>      > 1 -> LEVEL_OUTER
>      > 2 -> LEVEL_INNER
>      > 3 -> LEVEL_INNER_OUTER
>      >
>      > This doesn't exactly match to rte_flow one, but closer than v6 one. This ends
>      > with max level 2. And defines a way to say both inner and outer.
> 
>     This one looks good to me. If everyone is ok with the proposed changes, I
>     will send V8.
> 
> How about following one:
> 0 -> LEVEL_PMD_DEFAULT
> 1 -> LEVEL_OUTERMOST
> 2 -> LEVEL_INNERMOST
> 
> This way we can avoid any ambiguity especially if stacked tunnel headersbecome real.
> 
> 
> 3 -> LEVEL_INNER_OUTER
> 
> But I am not sure if INNER_OUTER has a use case.
> 
> Alternatively,
> 
> why not just add uint32_t level;
> 
> just like in case of rte_flow_action_rss?
> 
> It will break ABI but its 20.11.
> 
> Thanks
> 
> -Ajit
> 
> Can I send V8 with this proposal?
> 
> 0 -> LEVEL_PMD_DEFAULT
> 1 -> LEVEL_OUTERMOST
> 2 -> LEVEL_INNERMOST
> 
> If anyone want INNER_OUTER, they can specify LEVEL_OUTERMOST| LEVEL_INNERMOST

+1 to INNERMOST & OUTERMOST, and use "LEVEL_OUTERMOST| LEVEL_INNERMOST" for 
INNER_OUTER.

But the capability reporting is still problematic.
If @Andrew has no objection, I think it is ok to have a v8 and we can continue 
discussion on it.

> 
> 
>      >
>      > > +
>      > > +/** level 1,  requests RSS to be performed on the outermost packet
>      > > + * encapsulation level.
>      > > + */
>      > > +#define ETH_RSS_LEVEL_1         (1ULL << 50)
>      > > +
>      > > +/** level 2,  requests RSS to be performed on the
>      > > + * specified inner packet encapsulation level, from outermost to
>      > > + * innermost (lower to higher values).
>      > > + */
>      > > +#define ETH_RSS_LEVEL_2            (2ULL << 50)
>      >
>      > I can see you are trying to copy rte_flow usage, but this doesn't really
>     makes
>      > sense here. Where the value of the level is defined in this case? If not
>     defined
>      > how the PMD knows which level to use?
>      >
>      > > +#define ETH_RSS_LEVEL_MASK (3ULL << 50)
>      > > +
>      > > +#define ETH_RSS_LEVEL(rss_hf) ((rss_hf & ETH_RSS_LEVEL_MASK) >> 50)
>      > > +
>      > >   /**
>      > >    * For input set change of hash filter, if SRC_ONLY and DST_ONLY of
>      > >    * the same level are used simultaneously, it is the same case as
>      > > --
>      > > 2.25.1
>      > >
> 


^ permalink raw reply	[relevance 0%]

* [dpdk-dev] DPDK Release Status Meeting 3/09/2020
@ 2020-09-03 11:01  3% Ferruh Yigit
  0 siblings, 0 replies; 200+ results
From: Ferruh Yigit @ 2020-09-03 11:01 UTC (permalink / raw)
  To: dev; +Cc: Thomas Monjalon

Meeting minutes of 3 September 2020
-----------------------------------

Agenda:
* Release Dates
* Subtrees
* LTS
* Conferences
* Opens

Participants:
* Arm
* Broadcom
* Debian/Microsoft
* Intel
* Marvell
* Nvidia
* NXP
* Red Hat


Release Dates
-------------

* v20.11 dates
  * Proposal/V1:    Friday, 11 September 2020
  * -rc1:           Friday, 9 October 2020
  * -rc2:           Friday, 23 October 2020
  * Release:        Friday, 13 November 2020

  * Nvidia Mellanox, Marvell & Broadcom already sent roadmap, all contributors
    please send roadmap for the release.


Subtrees
--------

* main
  * There are multiple deprecation notice to close
    * Make deprecation is high priority, it may affect many
      * There is a CI affect needs to be handled
    * python2 deprecation is good to have for release, but not urgent for now
    * there are multiple ethdev changes planned, some are still missing
      * Some ethdev ABI break in the mail list without deprecation notice
    * removing enum MAX values, still not sent a patch
    * moving kernel modules to new repo is waiting
      * it can be good to move the git history too, if it is easy to do
  * We may need to prioritize the features for the release
    * To be sure some high priority features addressed for the release	

* next-net
  * ~200 patches
  * Some merged and has pulled from some subtrees
  * Ethdev from previous releases are still open
  * One new PMD: txgbe

* next-crypto
  * Will start working next week
    * There is no backup maintainer for crypto tree, good to have one
  * Requesting from community to review the patches and support
  * There are multiple new PMDs

* next-eventdev
  * DLB driver is waiting for v2, which will come soon

* next-virtio
  * There are three major patchset
    * vhost add vectorized data path
    * Virtio vDPA driver
    * vhost new featres
  * Rest are fixes or small improvements

* next-net-mlx, next-net-intel, next-net-brcm
  * Some patches merged and pulled by next-net

* next-net-mrvl
  * There are some patches, planning to merge next week


LTS
---

* 18.11.10
  * Backporting going on
  * -rc1 planned for Monday

* v19.11.4-rc1 is out, please test
  * http://inbox.dpdk.org/dev/20200818181222.8462-1-bluca@debian.org/T/#u
  * Canonical, Red Hat, Intel, OvS, Nvidia & Microsoft sent test reports.
  * Release postponed based on some issues reported by validation


Conferences
-----------

* DPDK Userspace summit 2020 is on September 22 & 23, schedule is online:
  https://events.linuxfoundation.org/dpdk-userspace-summit/program/schedule/
  * Two days, overall 6 hours (2x3) of talks
  * No break between talks


Opens
-----

* Ajit shared the defect backlog in the Bugzilla
  * There are some unassigned defects, because of maintainer is not registered
    to Bugzilla, not possible to assign them.
    * Please all maintainers of the project register to Bugzilla
      https://bugs.dpdk.org/
  * Copy/Paste from Ajit's notes:
    * We have 147 open bugs in UNCONFIRMED/CONFIRMED/IN_PROCRESS state.
      * 45 of them are unassigned (assigned to 'dev@dpdk.org' by default)



DPDK Release Status Meetings
============================

The DPDK Release Status Meeting is intended for DPDK Committers to discuss the
status of the master tree and sub-trees, and for project managers to track
progress or milestone dates.

The meeting occurs on every Thursdays at 8:30 UTC. on https://meet.jit.si/DPDK

If you wish to attend just send an email to
"John McNamara <john.mcnamara@intel.com>" for the invite.

^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] [EXT] Re: [PATCH v7 1/3] ethdev: add level support for RSS offload types
  2020-09-01 17:11  3%       ` Ajit Khaparde
@ 2020-09-03 10:11  3%         ` Kiran Kumar Kokkilagadda
  2020-09-03 13:14  0%           ` Ferruh Yigit
  0 siblings, 1 reply; 200+ results
From: Kiran Kumar Kokkilagadda @ 2020-09-03 10:11 UTC (permalink / raw)
  To: Ajit Khaparde
  Cc: Ferruh Yigit, Thomas Monjalon, Andrew Rybchenko, dev,
	Jerin Jacob Kollanukkaran, orika, xuanziyang2, cloud.wangxiaoyun,
	zhouguoyang, rosen.xu, beilei.xing, jia.guo, Rasesh Mody,
	Shahed Shaikh, Nithin Kumar Dabilpuram, qiming.yang, qi.z.zhang,
	keith.wiles, hemant.agrawal, sachin.saxena, wei.zhao1, johndale,
	hyonkim, chas3, matan, shahafs, viacheslavo, rahul.lakkireddy,
	grive, Liron Himi, jingjing.wu, xavier.huwei, humin29,
	yisen.zhuang, somnath.kotur, jasvinder.singh,
	cristian.dumitrescu



From: Ajit Khaparde <ajit.khaparde@broadcom.com>
Sent: Tuesday, September 1, 2020 10:42 PM
To: Kiran Kumar Kokkilagadda <kirankumark@marvell.com>
Cc: Ferruh Yigit <ferruh.yigit@intel.com>; Thomas Monjalon <thomas@monjalon.net>; Andrew Rybchenko <arybchenko@solarflare.com>; dev@dpdk.org; Jerin Jacob Kollanukkaran <jerinj@marvell.com>; orika@mellanox.com; xuanziyang2@huawei.com; cloud.wangxiaoyun@huawei.com; zhouguoyang@huawei.com; rosen.xu@intel.com; beilei.xing@intel.com; jia.guo@intel.com; Rasesh Mody <rmody@marvell.com>; Shahed Shaikh <shshaikh@marvell.com>; Nithin Kumar Dabilpuram <ndabilpuram@marvell.com>; qiming.yang@intel.com; qi.z.zhang@intel.com; keith.wiles@intel.com; hemant.agrawal@nxp.com; sachin.saxena@nxp.com; wei.zhao1@intel.com; johndale@cisco.com; hyonkim@cisco.com; chas3@att.com; matan@mellanox.com; shahafs@mellanox.com; viacheslavo@mellanox.com; rahul.lakkireddy@chelsio.com; grive@u256.net; Liron Himi <lironh@marvell.com>; jingjing.wu@intel.com; xavier.huwei@huawei.com; humin29@huawei.com; yisen.zhuang@huawei.com; somnath.kotur@broadcom.com; jasvinder.singh@intel.com; cristian.dumitrescu@intel.com
Subject: Re: [EXT] Re: [dpdk-dev][PATCH v7 1/3] ethdev: add level support for RSS offload types



On Tue, Sep 1, 2020 at 7:27 AM Kiran Kumar Kokkilagadda <kirankumark@marvell.com<mailto:kirankumark@marvell.com>> wrote:


> -----Original Message-----
> From: Ferruh Yigit <ferruh.yigit@intel.com<mailto:ferruh.yigit@intel.com>>
> Sent: Tuesday, September 1, 2020 7:08 PM
> To: Kiran Kumar Kokkilagadda <kirankumark@marvell.com<mailto:kirankumark@marvell.com>>; Thomas Monjalon
> <thomas@monjalon.net<mailto:thomas@monjalon.net>>; Andrew Rybchenko <arybchenko@solarflare.com<mailto:arybchenko@solarflare.com>>
> Cc: dev@dpdk.org<mailto:dev@dpdk.org>; Jerin Jacob Kollanukkaran <jerinj@marvell.com<mailto:jerinj@marvell.com>>;
> orika@mellanox.com<mailto:orika@mellanox.com>; xuanziyang2@huawei.com<mailto:xuanziyang2@huawei.com>;
> cloud.wangxiaoyun@huawei.com<mailto:cloud.wangxiaoyun@huawei.com>; zhouguoyang@huawei.com<mailto:zhouguoyang@huawei.com>;
> rosen.xu@intel.com<mailto:rosen.xu@intel.com>; beilei.xing@intel.com<mailto:beilei.xing@intel.com>; jia.guo@intel.com<mailto:jia.guo@intel.com>; Rasesh Mody
> <rmody@marvell.com<mailto:rmody@marvell.com>>; Shahed Shaikh <shshaikh@marvell.com<mailto:shshaikh@marvell.com>>; Nithin Kumar
> Dabilpuram <ndabilpuram@marvell.com<mailto:ndabilpuram@marvell.com>>; qiming.yang@intel.com<mailto:qiming.yang@intel.com>;
> qi.z.zhang@intel.com<mailto:qi.z.zhang@intel.com>; keith.wiles@intel.com<mailto:keith.wiles@intel.com>; hemant.agrawal@nxp.com<mailto:hemant.agrawal@nxp.com>;
> sachin.saxena@nxp.com<mailto:sachin.saxena@nxp.com>; wei.zhao1@intel.com<mailto:wei.zhao1@intel.com>; johndale@cisco.com<mailto:johndale@cisco.com>;
> hyonkim@cisco.com<mailto:hyonkim@cisco.com>; chas3@att.com<mailto:chas3@att.com>; matan@mellanox.com<mailto:matan@mellanox.com>;
> shahafs@mellanox.com<mailto:shahafs@mellanox.com>; viacheslavo@mellanox.com<mailto:viacheslavo@mellanox.com>;
> rahul.lakkireddy@chelsio.com<mailto:rahul.lakkireddy@chelsio.com>; grive@u256.net<mailto:grive@u256.net>; Liron Himi
> <lironh@marvell.com<mailto:lironh@marvell.com>>; jingjing.wu@intel.com<mailto:jingjing.wu@intel.com>; xavier.huwei@huawei.com<mailto:xavier.huwei@huawei.com>;
> humin29@huawei.com<mailto:humin29@huawei.com>; yisen.zhuang@huawei.com<mailto:yisen.zhuang@huawei.com>;
> ajit.khaparde@broadcom.com<mailto:ajit.khaparde@broadcom.com>; somnath.kotur@broadcom.com<mailto:somnath.kotur@broadcom.com>;
> jasvinder.singh@intel.com<mailto:jasvinder.singh@intel.com>; cristian.dumitrescu@intel.com<mailto:cristian.dumitrescu@intel.com>
> Subject: [EXT] Re: [dpdk-dev][PATCH v7 1/3] ethdev: add level support for RSS
> offload types
>
> External Email
>
> ----------------------------------------------------------------------
> On 9/1/2020 4:27 AM, kirankumark@marvell.com<mailto:kirankumark@marvell.com> wrote:
> > From: Kiran Kumar K <kirankumark@marvell.com<mailto:kirankumark@marvell.com>>
> >
> > This patch reserves 2 bits as input selection to select Inner and
> > outer encapsulation level for RSS computation. It is combined with
> > existing
> > ETH_RSS_* to choose Inner or outer layers.
> > This functionality already exists in rte_flow through level parameter
> > in RSS action configuration rte_flow_action_rss.
> >
> > Signed-off-by: Kiran Kumar K <kirankumark@marvell.com<mailto:kirankumark@marvell.com>>
> > ---
> > V7 Changes:
> > * Re-worked to keep it in sync with rte_flow_action_rss and support
> > upto
> > 3 levels.
> > * Addressed testpmd review comments.
> >
> >   lib/librte_ethdev/rte_ethdev.h | 27 +++++++++++++++++++++++++++
> >   1 file changed, 27 insertions(+)
> >
> > diff --git a/lib/librte_ethdev/rte_ethdev.h
> > b/lib/librte_ethdev/rte_ethdev.h index 70295d7ab..13e49bbd7 100644
> > --- a/lib/librte_ethdev/rte_ethdev.h
> > +++ b/lib/librte_ethdev/rte_ethdev.h
> > @@ -552,6 +552,33 @@ struct rte_eth_rss_conf {
> >   #define RTE_ETH_RSS_L3_PRE64         (1ULL << 53)
> >   #define RTE_ETH_RSS_L3_PRE96         (1ULL << 52)
> >
> > +/*
> > + * We use the following macros to combine with the above layers to
> > +choose
> > + * inner and outer layers or both for RSS computation.
> > + * bit 50 and 51 are reserved for this.
> > + */
> > +
> > +/** level 0, requests the default behavior. Depending on the packet
> > + * type, it can mean outermost, innermost, anything in between or even no
> RSS.
> > + * It basically stands for the innermost encapsulation level RSS
> > + * can be performed on according to PMD and device capabilities.
> > + */
> > +#define ETH_RSS_LEVEL_0         (0ULL << 50)
>
> I can see from history how this is involved, but the 'ETH_RSS_LEVEL_0' naming is
> not really clear what it is, the naming in v6 is more clear.
>
> What about following one:
> 0 -> LEVEL_PMD_DEFAULT
> 1 -> LEVEL_OUTER
> 2 -> LEVEL_INNER
> 3 -> LEVEL_INNER_OUTER
>
> This doesn't exactly match to rte_flow one, but closer than v6 one. This ends
> with max level 2. And defines a way to say both inner and outer.

This one looks good to me. If everyone is ok with the proposed changes, I will send V8.


How about following one:
0 -> LEVEL_PMD_DEFAULT
1 -> LEVEL_OUTERMOST
2 -> LEVEL_INNERMOST
This way we can avoid any ambiguity especially if stacked tunnel headers become real.

3 -> LEVEL_INNER_OUTER
But I am not sure if INNER_OUTER has a use case.

Alternatively,
why not just add uint32_t level;
just like in case of rte_flow_action_rss?

It will break ABI but its 20.11.

Thanks
-Ajit

Can I send V8 with this proposal?
0 -> LEVEL_PMD_DEFAULT
1 -> LEVEL_OUTERMOST
2 -> LEVEL_INNERMOST
If anyone want INNER_OUTER, they can specify LEVEL_OUTERMOST | LEVEL_INNERMOST



>
> > +
> > +/** level 1,  requests RSS to be performed on the outermost packet
> > + * encapsulation level.
> > + */
> > +#define ETH_RSS_LEVEL_1         (1ULL << 50)
> > +
> > +/** level 2,  requests RSS to be performed on the
> > + * specified inner packet encapsulation level, from outermost to
> > + * innermost (lower to higher values).
> > + */
> > +#define ETH_RSS_LEVEL_2            (2ULL << 50)
>
> I can see you are trying to copy rte_flow usage, but this doesn't really makes
> sense here. Where the value of the level is defined in this case? If not defined
> how the PMD knows which level to use?
>
> > +#define ETH_RSS_LEVEL_MASK (3ULL << 50)
> > +
> > +#define ETH_RSS_LEVEL(rss_hf) ((rss_hf & ETH_RSS_LEVEL_MASK) >> 50)
> > +
> >   /**
> >    * For input set change of hash filter, if SRC_ONLY and DST_ONLY of
> >    * the same level are used simultaneously, it is the same case as
> > --
> > 2.25.1
> >

^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] DPDK Experimental Functions
  2020-09-01 13:39  0% ` Thomas Monjalon
  2020-09-03 10:01  0%   ` Lukasz Wojciechowski
@ 2020-09-03 10:07  0%   ` Lukasz Wojciechowski
  1 sibling, 0 replies; 200+ results
From: Lukasz Wojciechowski @ 2020-09-03 10:07 UTC (permalink / raw)
  To: Thomas Monjalon, Walsh, Conor, Richardson, Bruce, Kinsella, Ray
  Cc: dpdk-dev, David Marchand, Andrew Rybchenko, Yigit, Ferruh,
	Maxime Coquelin, Zhihong Wang, Chenbo Xia, Jerin Jacob,
	Kiran Kumar K, Fiona Trahe, Ashish Gupta, Vladimir Medvedkin,
	Cristian Dumitrescu, Ori Kam, Declan Doherty, Konstantin Ananyev,
	Iremonger, Bernard, Kevin Laatz, Olivier Matz,
	Honnappa Nagarahalli, Ruifeng Wang,
	"'Lukasz Wojciechowski'",


W dniu 01.09.2020 o 15:39, Thomas Monjalon pisze:
> 27/08/2020 15:00, Kinsella, Ray:
>> Hi All,
>>
>> During recent work on the DPDK ABI, where we are looking to develop a nightly ABI regression test.
>>
>> We found a large number of experimental functions currently in DPDK API.
>> Currently, there are 537 experimental APIs out of a total of roughly ~1800 API, 30%-ish.
>>
>> While there is no correct number, as a percentage of the total, this appears to be very high.
>> I would question if all these API are really "new" and warrant the status?
>>
>> There are currently 38 libraries and drivers with experimental functions.
>> And to be fair there are number of recently added libraries in list, shown below.
>> However there are also a number of libraries that have been around a very long time.
>>
>> The following libraries and drivers have 10 or more experimental functions:
>>
>> 1.	rte_eal: 119
>> 2.	rte_ethdev: 43
>> 3.	rte_vhost: 42
>> 4.	rte_graph: 35 (EXPERIMENTAL)
>> 5.	rte_compressdev: 34
>> 6.	rte_rib: 28 (EXPERIMENTAL)
>> 7.	rte_pipeline: 24
>> 8.	rte_regexdev: 22 (EXPERIMENTAL)
>> 9.	rte_cryptodev: 18
>> 10.	rte_fib: 16 (EXPERIMENTAL)
>> 11.	rte_ipsec: 15 (EXPERIMENTAL)
>> 12.	rte_telemetry: 12 (EXPERIMENTAL)
>> 13.	rte_mbuf: 11
>> 14.	rte_rcu: 11 (EXPERIMENTAL)
>> 15.	rte_bus_fslmc: 11
>> 16.	rte_bpf: 10 (EXPERIMENTAL)
>>
>> Do the maintainers of these libraries and drivers,
>> A. Feel that experimental status continues to be warranted against these API?
>> B. Have plans in place to move all/some of these functions to stable in the 20.11 timeframe?
>>
>> Kudos to Conor Walsh for pulling this data together.
> Do you have a tool to sort experimental functions per age?
>
Hi All,

Here is a simple script that greps, seds and blames sources for all 
experimental functions.
I paste also collected results.
I tried to add them as an attachment, but mail was kicked off.

script:

#!/bin/bash

ER=`grep -RHne "^__rte_experimental"`
for R in ${ER} ; do
     FL=${R%:*}
     FILE=${FL%%:*}
     LINE=${FL#*:}

     BLAME=`git blame -L${LINE},${LINE} -e -t ${FILE} |
         sed -e 's/).*//'`
     SHA=`echo "${BLAME%%(*}" | cut -d' ' -f1`
     MAIL=`echo "${BLAME##*(}" | cut -d' ' -f1`
     TIME=`echo "${BLAME##*(}" | cut -d' ' -f2`

     HTIME=`date -d@${TIME} +%Y-%m-%d`

     S=`head -n $(( LINE + 5 )) ${FILE} | tail -n 5 |
         tr '\n\r' ' '|
         sed -e 's/(.*//g; s/[^[:alnum:]_ -]//g; s/[[:space:]]\$//'`
     FUNCTION="${S##* }"

     echo "${HTIME};${FUNCTION};${FILE};${LINE};${SHA};${MAIL}"
done

results:

2018-04-26;rte_mempool_get_contig_blocks;lib/librte_mempool/rte_mempool.h;1613;8a80fa4723;<artem.andreev@oktetlabs.ru>
2018-04-26;rte_mempool_ops_get_info;lib/librte_mempool/rte_mempool.h;872;a5beddd800;<artem.andreev@oktetlabs.ru>
2018-07-11;rte_class_find_by_name;lib/librte_eal/include/rte_class.h;88;d70f8448d0;<gaetan.rivet@6wind.com>
2018-07-11;rte_class_find;lib/librte_eal/include/rte_class.h;80;d70f8448d0;<gaetan.rivet@6wind.com>
2018-07-11;rte_class_register;lib/librte_eal/include/rte_class.h;99;d70f8448d0;<gaetan.rivet@6wind.com>
2018-07-11;rte_class_unregister;lib/librte_eal/include/rte_class.h;109;d70f8448d0;<gaetan.rivet@6wind.com>
2018-07-11;rte_dev_iterator_init;lib/librte_eal/include/rte_dev.h;312;c99a2d4c6b;<gaetan.rivet@6wind.com>
2018-07-11;rte_dev_iterator_next;lib/librte_eal/include/rte_dev.h;332;ac1a511eff;<gaetan.rivet@6wind.com>
2018-07-11;rte_kvargs_parse_delim;lib/librte_kvargs/rte_kvargs.h;101;5d6af85ab0;<gaetan.rivet@6wind.com>
2018-07-11;rte_kvargs_strcmp;lib/librte_kvargs/rte_kvargs.h;178;a3b85476c5;<gaetan.rivet@6wind.com>
2018-08-31;rte_flow_conv;lib/librte_ethdev/rte_flow.h;3319;063911ee1d;<adrien.mazarguil@6wind.com>
2018-12-04;rte_log_register_type_and_pick_level;lib/librte_eal/include/rte_log.h;257;a8499f65a1;<david.marchand@redhat.com>
2019-01-07;rte_mbuf_check;lib/librte_mbuf/rte_mbuf.h;553;d4dca8fe43;<david.marchand@6wind.com>
2019-01-11;rte_pmd_dpaa2_mux_flow_create;drivers/net/dpaa2/rte_pmd_dpaa2.h;37;1def64c2d7;<nipun.gupta@nxp.com>
2019-01-11;rte_pmd_dpaa2_set_custom_hash;drivers/net/dpaa2/rte_pmd_dpaa2.h;65;5f82296249;<nipun.gupta@nxp.com>
2019-06-24;rte_ipv6_get_next_ext;lib/librte_net/rte_ip.h;478;1f79768ca6;<marcinx.smoczynski@intel.com>
2019-06-29;rte_atomic128_cmp_exchange;lib/librte_eal/include/generic/rte_atomic.h;1144;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_atomic128_cmp_exchange;lib/librte_eal/x86/include/rte_atomic_64.h;186;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_allocate;lib/librte_bbdev/rte_bbdev_pmd.h;46;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_callback_register;lib/librte_bbdev/rte_bbdev.h;769;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_callback_unregister;lib/librte_bbdev/rte_bbdev.h;793;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_close;lib/librte_bbdev/rte_bbdev.h;208;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_count;lib/librte_bbdev/rte_bbdev.h;59;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_dec_op_alloc_bulk;lib/librte_bbdev/rte_bbdev_op.h;891;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_dec_op_free_bulk;lib/librte_bbdev/rte_bbdev_op.h;924;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_dequeue_dec_ops;lib/librte_bbdev/rte_bbdev.h;654;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_dequeue_enc_ops;lib/librte_bbdev/rte_bbdev.h;621;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_enc_op_alloc_bulk;lib/librte_bbdev/rte_bbdev_op.h;854;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_enc_op_free_bulk;lib/librte_bbdev/rte_bbdev_op.h;942;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_enqueue_dec_ops;lib/librte_bbdev/rte_bbdev.h;526;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_enqueue_enc_ops;lib/librte_bbdev/rte_bbdev.h;495;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_find_next;lib/librte_bbdev/rte_bbdev.h;86;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_get_named_dev;lib/librte_bbdev/rte_bbdev_pmd.h;74;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_info_get;lib/librte_bbdev/rte_bbdev.h;351;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_intr_enable;lib/librte_bbdev/rte_bbdev.h;134;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_is_valid;lib/librte_bbdev/rte_bbdev.h;72;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_op_pool_create;lib/librte_bbdev/rte_bbdev_op.h;834;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_op_type_str;lib/librte_bbdev/rte_bbdev_op.h;810;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_pmd_callback_process;lib/librte_bbdev/rte_bbdev_pmd.h;193;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_queue_configure;lib/librte_bbdev/rte_bbdev.h;164;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_queue_info_get;lib/librte_bbdev/rte_bbdev.h;378;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_queue_intr_ctl;lib/librte_bbdev/rte_bbdev.h;859;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_queue_intr_disable;lib/librte_bbdev/rte_bbdev.h;831;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_queue_intr_enable;lib/librte_bbdev/rte_bbdev.h;814;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_queue_start;lib/librte_bbdev/rte_bbdev.h;226;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_queue_stop;lib/librte_bbdev/rte_bbdev.h;242;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_release;lib/librte_bbdev/rte_bbdev_pmd.h;59;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_setup_queues;lib/librte_bbdev/rte_bbdev.h;116;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_start;lib/librte_bbdev/rte_bbdev.h;180;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_stats_get;lib/librte_bbdev/rte_bbdev.h;276;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_stats_reset;lib/librte_bbdev/rte_bbdev.h;288;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_stop;lib/librte_bbdev/rte_bbdev.h;194;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bpf_destroy;lib/librte_bpf/rte_bpf.h;120;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bpf_elf_load;lib/librte_bpf/rte_bpf.h;160;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bpf_eth_rx_elf_load;lib/librte_bpf/rte_bpf_ethdev.h;85;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bpf_eth_rx_unload;lib/librte_bpf/rte_bpf_ethdev.h;48;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bpf_eth_tx_elf_load;lib/librte_bpf/rte_bpf_ethdev.h;111;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bpf_eth_tx_unload;lib/librte_bpf/rte_bpf_ethdev.h;61;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bpf_exec_burst;lib/librte_bpf/rte_bpf.h;192;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bpf_exec;lib/librte_bpf/rte_bpf.h;174;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bpf_get_jit;lib/librte_bpf/rte_bpf.h;208;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bpf_load;lib/librte_bpf/rte_bpf.h;136;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_comp_get_feature_name;lib/librte_compressdev/rte_comp.h;503;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_comp_op_alloc;lib/librte_compressdev/rte_comp.h;445;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_comp_op_bulk_alloc;lib/librte_compressdev/rte_comp.h;462;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_comp_op_bulk_free;lib/librte_compressdev/rte_comp.h;490;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_comp_op_free;lib/librte_compressdev/rte_comp.h;475;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_comp_op_pool_create;lib/librte_compressdev/rte_comp.h;429;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_capability_get;lib/librte_compressdev/rte_compressdev.h;57;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_close;lib/librte_compressdev/rte_compressdev.h;272;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_configure;lib/librte_compressdev/rte_compressdev.h;224;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_count;lib/librte_compressdev/rte_compressdev.h;160;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_dequeue_burst;lib/librte_compressdev/rte_compressdev.h;416;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_devices_get;lib/librte_compressdev/rte_compressdev.h;178;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_enqueue_burst;lib/librte_compressdev/rte_compressdev.h;471;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_get_dev_id;lib/librte_compressdev/rte_compressdev.h;136;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_get_feature_name;lib/librte_compressdev/rte_compressdev.h;97;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_info_get;lib/librte_compressdev/rte_compressdev.h;358;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_name_get;lib/librte_compressdev/rte_compressdev.h;149;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_pmd_allocate;lib/librte_compressdev/rte_compressdev_pmd.h;293;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_pmd_create;lib/librte_compressdev/rte_compressdev_pmd.h;354;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_pmd_destroy;lib/librte_compressdev/rte_compressdev_pmd.h;373;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_pmd_get_named_dev;lib/librte_compressdev/rte_compressdev_pmd.h;62;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_pmd_parse_input_args;lib/librte_compressdev/rte_compressdev_pmd.h;332;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_pmd_release_device;lib/librte_compressdev/rte_compressdev_pmd.h;309;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_private_xform_create;lib/librte_compressdev/rte_compressdev.h;549;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_private_xform_free;lib/librte_compressdev/rte_compressdev.h;571;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_queue_pair_count;lib/librte_compressdev/rte_compressdev.h;312;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_queue_pair_setup;lib/librte_compressdev/rte_compressdev.h;299;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_socket_id;lib/librte_compressdev/rte_compressdev.h;193;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_start;lib/librte_compressdev/rte_compressdev.h;243;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_stats_get;lib/librte_compressdev/rte_compressdev.h;330;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_stats_reset;lib/librte_compressdev/rte_compressdev.h;340;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_stop;lib/librte_compressdev/rte_compressdev.h;254;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_stream_create;lib/librte_compressdev/rte_compressdev.h;500;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_stream_free;lib/librte_compressdev/rte_compressdev.h;522;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_crc32_u64_generic;lib/librte_table/rte_table_hash_func.h;17;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_cryptodev_asym_capability_get;lib/librte_cryptodev/rte_cryptodev.h;243;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_cryptodev_asym_get_header_session_size;lib/librte_cryptodev/rte_cryptodev.h;1250;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_cryptodev_asym_get_private_session_size;lib/librte_cryptodev/rte_cryptodev.h;1278;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_cryptodev_asym_get_xform_enum;lib/librte_cryptodev/rte_cryptodev.h;391;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_cryptodev_asym_session_clear;lib/librte_cryptodev/rte_cryptodev.h;1213;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_cryptodev_asym_session_create;lib/librte_cryptodev/rte_cryptodev.h;1106;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_cryptodev_asym_session_free;lib/librte_cryptodev/rte_cryptodev.h;1137;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_cryptodev_asym_session_init;lib/librte_cryptodev/rte_cryptodev.h;1178;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_cryptodev_asym_xform_capability_check_modlen;lib/librte_cryptodev/rte_cryptodev.h;329;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_cryptodev_asym_xform_capability_check_optype;lib/librte_cryptodev/rte_cryptodev.h;313;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_cryptodev_sym_get_existing_header_session_size;lib/librte_cryptodev/rte_cryptodev.h;1239;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_cryptodev_sym_session_get_user_data;lib/librte_cryptodev/rte_cryptodev.h;1331;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_cryptodev_sym_session_pool_create;lib/librte_cryptodev/rte_cryptodev.h;1079;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_cryptodev_sym_session_set_user_data;lib/librte_cryptodev/rte_cryptodev.h;1314;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_delay_us_sleep;lib/librte_eal/include/generic/rte_cycles.h;168;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_dev_dma_map;lib/librte_eal/include/rte_dev.h;489;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_dev_dma_unmap;lib/librte_eal/include/rte_dev.h;513;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_dev_event_callback_process;lib/librte_eal/include/rte_dev.h;408;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_dev_event_callback_register;lib/librte_eal/include/rte_dev.h;365;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_dev_event_callback_unregister;lib/librte_eal/include/rte_dev.h;390;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_dev_event_monitor_start;lib/librte_eal/include/rte_dev.h;423;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_dev_event_monitor_stop;lib/librte_eal/include/rte_dev.h;437;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_dev_hotplug_handle_disable;lib/librte_eal/include/rte_dev.h;465;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_dev_hotplug_handle_enable;lib/librte_eal/include/rte_dev.h;451;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_empty_poll_detection;lib/librte_power/rte_power_empty_poll.h;222;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_eth_devargs_parse;lib/librte_ethdev/rte_ethdev_driver.h;329;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_eth_dev_create;lib/librte_ethdev/rte_ethdev_driver.h;362;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_eth_dev_destroy;lib/librte_ethdev/rte_ethdev_driver.h;387;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_eth_dev_get_module_eeprom;lib/librte_ethdev/rte_ethdev.h;4061;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_eth_dev_get_module_info;lib/librte_ethdev/rte_ethdev.h;4038;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_eth_dev_is_removed;lib/librte_ethdev/rte_ethdev.h;1933;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_eth_dev_owner_delete;lib/librte_ethdev/rte_ethdev.h;1805;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_eth_dev_owner_get;lib/librte_ethdev/rte_ethdev.h;1821;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_eth_dev_owner_new;lib/librte_ethdev/rte_ethdev.h;1757;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_eth_dev_owner_set;lib/librte_ethdev/rte_ethdev.h;1773;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_eth_dev_owner_unset;lib/librte_ethdev/rte_ethdev.h;1790;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_eth_dev_rx_intr_ctl_q_get_fd;lib/librte_ethdev/rte_ethdev.h;3296;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_eth_find_next_of;lib/librte_ethdev/rte_ethdev.h;1692;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_eth_find_next_sibling;lib/librte_ethdev/rte_ethdev.h;1724;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_eth_read_clock;lib/librte_ethdev/rte_ethdev.h;4254;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_eth_switch_domain_alloc;lib/librte_ethdev/rte_ethdev_driver.h;280;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_eth_switch_domain_free;lib/librte_ethdev/rte_ethdev_driver.h;299;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_extmem_attach;lib/librte_eal/include/rte_memory.h;517;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_extmem_detach;lib/librte_eal/include/rte_memory.h;544;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_extmem_register;lib/librte_eal/include/rte_memory.h;459;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_extmem_unregister;lib/librte_eal/include/rte_memory.h;490;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_attach;lib/librte_eal/include/rte_fbarray.h;100;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_destroy;lib/librte_eal/include/rte_fbarray.h;122;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_detach;lib/librte_eal/include/rte_fbarray.h;141;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_dump_metadata;lib/librte_eal/include/rte_fbarray.h;557;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_find_biggest_free;lib/librte_eal/include/rte_fbarray.h;487;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_find_biggest_used;lib/librte_eal/include/rte_fbarray.h;505;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_find_contig_free;lib/librte_eal/include/rte_fbarray.h;330;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_find_contig_used;lib/librte_eal/include/rte_fbarray.h;349;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_find_idx;lib/librte_eal/include/rte_fbarray.h;177;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_find_next_free;lib/librte_eal/include/rte_fbarray.h;250;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_find_next_n_free;lib/librte_eal/include/rte_fbarray.h;289;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_find_next_n_used;lib/librte_eal/include/rte_fbarray.h;311;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_find_next_used;lib/librte_eal/include/rte_fbarray.h;268;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_find_prev_free;lib/librte_eal/include/rte_fbarray.h;366;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_find_prev_n_free;lib/librte_eal/include/rte_fbarray.h;406;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_find_prev_n_used;lib/librte_eal/include/rte_fbarray.h;429;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_find_prev_used;lib/librte_eal/include/rte_fbarray.h;384;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_find_rev_biggest_free;lib/librte_eal/include/rte_fbarray.h;524;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_find_rev_biggest_used;lib/librte_eal/include/rte_fbarray.h;543;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_find_rev_contig_free;lib/librte_eal/include/rte_fbarray.h;449;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_find_rev_contig_used;lib/librte_eal/include/rte_fbarray.h;469;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_get;lib/librte_eal/include/rte_fbarray.h;159;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_init;lib/librte_eal/include/rte_fbarray.h;77;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_is_used;lib/librte_eal/include/rte_fbarray.h;232;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_set_free;lib/librte_eal/include/rte_fbarray.h;213;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_set_used;lib/librte_eal/include/rte_fbarray.h;195;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_flow_classifier_create;lib/librte_flow_classify/rte_flow_classify.h;160;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_flow_classifier_free;lib/librte_flow_classify/rte_flow_classify.h;172;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_flow_classifier_query;lib/librte_flow_classify/rte_flow_classify.h;276;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_flow_classify_table_create;lib/librte_flow_classify/rte_flow_classify.h;186;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_flow_classify_table_entry_add;lib/librte_flow_classify/rte_flow_classify.h;235;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_flow_classify_table_entry_delete;lib/librte_flow_classify/rte_flow_classify.h;254;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_flow_classify_validate;lib/librte_flow_classify/rte_flow_classify.h;208;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_flow_expand_rss;lib/librte_ethdev/rte_flow_driver.h;185;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_frag_table_del_expired_entries;lib/librte_ip_frag/rte_ip_frag.h;351;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_hash_free_key_with_position;lib/librte_hash/rte_hash.h;388;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_intr_callback_unregister_pending;lib/librte_eal/include/rte_interrupts.h;91;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_ipsec_pkt_crypto_group;lib/librte_ipsec/rte_ipsec_group.h;82;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_ipsec_pkt_crypto_prepare;lib/librte_ipsec/rte_ipsec.h;122;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_ipsec_pkt_process;lib/librte_ipsec/rte_ipsec.h;161;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_ipsec_sa_fini;lib/librte_ipsec/rte_ipsec_sa.h;174;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_ipsec_sa_init;lib/librte_ipsec/rte_ipsec_sa.h;164;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_ipsec_sa_size;lib/librte_ipsec/rte_ipsec_sa.h;147;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_ipsec_sa_type;lib/librte_ipsec/rte_ipsec_sa.h;135;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_ipsec_ses_from_crypto;lib/librte_ipsec/rte_ipsec_group.h;45;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_ipsec_session_prepare;lib/librte_ipsec/rte_ipsec.h;97;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_kni_update_link;lib/librte_kni/rte_kni.h;257;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_lcore_cpuset;lib/librte_eal/include/rte_lcore.h;186;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_lcore_to_cpu_id;lib/librte_eal/include/rte_lcore.h;172;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_malloc_dump_heaps;lib/librte_eal/include/rte_malloc.h;522;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_malloc_heap_create;lib/librte_eal/include/rte_malloc.h;436;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_malloc_heap_destroy;lib/librte_eal/include/rte_malloc.h;460;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_malloc_heap_get_socket;lib/librte_eal/include/rte_malloc.h;475;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_malloc_heap_memory_add;lib/librte_eal/include/rte_malloc.h;334;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_malloc_heap_memory_attach;lib/librte_eal/include/rte_malloc.h;391;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_malloc_heap_memory_detach;lib/librte_eal/include/rte_malloc.h;416;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_malloc_heap_memory_remove;lib/librte_eal/include/rte_malloc.h;366;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_malloc_heap_socket_is_external;lib/librte_eal/include/rte_malloc.h;491;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mbuf_buf_addr;lib/librte_mbuf/rte_mbuf.h;220;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mbuf_data_addr_default;lib/librte_mbuf/rte_mbuf.h;238;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mbuf_to_priv;lib/librte_mbuf/rte_mbuf.h;289;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mem_alloc_validator_register;lib/librte_eal/include/rte_memory.h;754;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mem_alloc_validator_unregister;lib/librte_eal/include/rte_memory.h;773;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mem_check_dma_mask;lib/librte_eal/include/rte_memory.h;598;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mem_check_dma_mask_thread_unsafe;lib/librte_eal/include/rte_memory.h;617;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mem_event_callback_register;lib/librte_eal/include/rte_memory.h;685;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mem_event_callback_unregister;lib/librte_eal/include/rte_memory.h;704;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mem_iova2virt;lib/librte_eal/include/rte_memory.h;134;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_memseg_contig_walk;lib/librte_eal/include/rte_memory.h;238;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_memseg_contig_walk_thread_unsafe;lib/librte_eal/include/rte_memory.h;298;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_memseg_get_fd;lib/librte_eal/include/rte_memory.h;342;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_memseg_get_fd_offset;lib/librte_eal/include/rte_memory.h;392;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_memseg_get_fd_offset_thread_unsafe;lib/librte_eal/include/rte_memory.h;417;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_memseg_get_fd_thread_unsafe;lib/librte_eal/include/rte_memory.h;367;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_memseg_list_walk;lib/librte_eal/include/rte_memory.h;260;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_memseg_list_walk_thread_unsafe;lib/librte_eal/include/rte_memory.h;317;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_memseg_walk;lib/librte_eal/include/rte_memory.h;216;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_memseg_walk_thread_unsafe;lib/librte_eal/include/rte_memory.h;279;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mem_set_dma_mask;lib/librte_eal/include/rte_memory.h;628;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mem_virt2memseg;lib/librte_eal/include/rte_memory.h;149;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mem_virt2memseg_list;lib/librte_eal/include/rte_memory.h;161;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mp_action_register;lib/librte_eal/include/rte_eal.h;241;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mp_action_unregister;lib/librte_eal/include/rte_eal.h;262;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mp_reply;lib/librte_eal/include/rte_eal.h;376;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mp_request_async;lib/librte_eal/include/rte_eal.h;347;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mp_request_sync;lib/librte_eal/include/rte_eal.h;317;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mp_sendmsg;lib/librte_eal/include/rte_eal.h;282;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mtr_capabilities_get;lib/librte_ethdev/rte_mtr.h;413;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mtr_create;lib/librte_ethdev/rte_mtr.h;488;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mtr_destroy;lib/librte_ethdev/rte_mtr.h;512;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mtr_meter_disable;lib/librte_ethdev/rte_mtr.h;540;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mtr_meter_dscp_table_update;lib/librte_ethdev/rte_mtr.h;607;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mtr_meter_enable;lib/librte_ethdev/rte_mtr.h;562;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mtr_meter_profile_add;lib/librte_ethdev/rte_mtr.h;437;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mtr_meter_profile_delete;lib/librte_ethdev/rte_mtr.h;459;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mtr_meter_profile_update;lib/librte_ethdev/rte_mtr.h;582;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mtr_policer_actions_update;lib/librte_ethdev/rte_mtr.h;634;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mtr_stats_read;lib/librte_ethdev/rte_mtr.h;692;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mtr_stats_update;lib/librte_ethdev/rte_mtr.h;660;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_net_make_rarp_packet;lib/librte_net/rte_arp.h;66;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_net_skip_ip6_ext;lib/librte_net/rte_net.h;54;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_pmd_atl_macsec_config_rxsc;drivers/net/atlantic/rte_pmd_atlantic.h;89;136ab94a5b;<david.marchand@redhat.com>
2019-06-29;rte_pmd_atl_macsec_config_txsc;drivers/net/atlantic/rte_pmd_atlantic.h;69;136ab94a5b;<david.marchand@redhat.com>
2019-06-29;rte_pmd_atl_macsec_disable;drivers/net/atlantic/rte_pmd_atlantic.h;51;136ab94a5b;<david.marchand@redhat.com>
2019-06-29;rte_pmd_atl_macsec_enable;drivers/net/atlantic/rte_pmd_atlantic.h;35;136ab94a5b;<david.marchand@redhat.com>
2019-06-29;rte_pmd_atl_macsec_select_rxsa;drivers/net/atlantic/rte_pmd_atlantic.h;140;136ab94a5b;<david.marchand@redhat.com>
2019-06-29;rte_pmd_atl_macsec_select_txsa;drivers/net/atlantic/rte_pmd_atlantic.h;114;136ab94a5b;<david.marchand@redhat.com>
2019-06-29;rte_pmd_ixgbe_mdio_lock;drivers/net/ixgbe/rte_pmd_ixgbe.h;589;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_pmd_ixgbe_mdio_unlock;drivers/net/ixgbe/rte_pmd_ixgbe.h;603;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_pmd_ixgbe_mdio_unlocked_read;drivers/net/ixgbe/rte_pmd_ixgbe.h;625;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_pmd_ixgbe_mdio_unlocked_write;drivers/net/ixgbe/rte_pmd_ixgbe.h;649;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_pmd_ixgbe_upd_fctrl_sbp;drivers/net/ixgbe/rte_pmd_ixgbe.h;728;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_pmd_softnic_manage;drivers/net/softnic/rte_eth_softnic.h;78;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_port_in_action_apply;lib/librte_pipeline/rte_port_in_action.h;299;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_port_in_action_create;lib/librte_pipeline/rte_port_in_action.h;252;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_port_in_action_free;lib/librte_pipeline/rte_port_in_action.h;265;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_port_in_action_params_get;lib/librte_pipeline/rte_port_in_action.h;279;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_port_in_action_profile_action_register;lib/librte_pipeline/rte_port_in_action.h;206;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_port_in_action_profile_create;lib/librte_pipeline/rte_port_in_action.h;175;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_port_in_action_profile_free;lib/librte_pipeline/rte_port_in_action.h;187;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_port_in_action_profile_freeze;lib/librte_pipeline/rte_port_in_action.h;229;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_power_empty_poll_stat_fetch;lib/librte_power/rte_power_empty_poll.h;197;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_power_empty_poll_stat_free;lib/librte_power/rte_power_empty_poll.h;153;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_power_empty_poll_stat_init;lib/librte_power/rte_power_empty_poll.h;145;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_power_empty_poll_stat_update;lib/librte_power/rte_power_empty_poll.h;168;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_power_poll_stat_fetch;lib/librte_power/rte_power_empty_poll.h;210;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_power_poll_stat_update;lib/librte_power/rte_power_empty_poll.h;184;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_rand_max;lib/librte_eal/include/rte_random.h;65;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_rcu_qsbr_check;lib/librte_rcu/rte_rcu_qsbr.h;719;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_rcu_qsbr_dump;lib/librte_rcu/rte_rcu_qsbr.h;785;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_rcu_qsbr_get_memsize;lib/librte_rcu/rte_rcu_qsbr.h;218;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_rcu_qsbr_init;lib/librte_rcu/rte_rcu_qsbr.h;240;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_rcu_qsbr_lock;lib/librte_rcu/rte_rcu_qsbr.h;424;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_rcu_qsbr_quiescent;lib/librte_rcu/rte_rcu_qsbr.h;528;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_rcu_qsbr_start;lib/librte_rcu/rte_rcu_qsbr.h;495;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_rcu_qsbr_synchronize;lib/librte_rcu/rte_rcu_qsbr.h;763;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_rcu_qsbr_thread_offline;lib/librte_rcu/rte_rcu_qsbr.h;383;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_rcu_qsbr_thread_online;lib/librte_rcu/rte_rcu_qsbr.h;321;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_rcu_qsbr_thread_register;lib/librte_rcu/rte_rcu_qsbr.h;267;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_rcu_qsbr_thread_unregister;lib/librte_rcu/rte_rcu_qsbr.h;289;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_rcu_qsbr_unlock;lib/librte_rcu/rte_rcu_qsbr.h;461;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_realloc_socket;lib/librte_eal/include/rte_malloc.h;156;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_rwlock_read_trylock;lib/librte_eal/include/generic/rte_rwlock.h;91;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_rwlock_write_trylock;lib/librte_eal/include/generic/rte_rwlock.h;135;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_sched_subport_pipe_profile_add;lib/librte_sched/rte_sched.h;307;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_security_get_userdata;lib/librte_security/rte_security.h;479;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_security_session_stats_get;lib/librte_security/rte_security.h;581;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_security_session_update;lib/librte_security/rte_security.h;408;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_stack_count;lib/librte_stack/rte_stack.h;170;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_stack_create;lib/librte_stack/rte_stack.h;232;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_stack_free_count;lib/librte_stack/rte_stack.h;193;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_stack_free;lib/librte_stack/rte_stack.h;246;18218713bf;<david.marchand@redhat.com>
2019-06-29;__rte_stack_lf_pop;lib/librte_stack/rte_stack_lf.h;69;18218713bf;<david.marchand@redhat.com>
2019-06-29;__rte_stack_lf_push;lib/librte_stack/rte_stack_lf.h;30;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_stack_lookup;lib/librte_stack/rte_stack.h;264;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_stack_pop;lib/librte_stack/rte_stack.h;146;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_stack_push;lib/librte_stack/rte_stack.h;118;18218713bf;<david.marchand@redhat.com>
2019-06-29;__rte_stack_std_count;lib/librte_stack/rte_stack_std.h;97;18218713bf;<david.marchand@redhat.com>
2019-06-29;__rte_stack_std_pop;lib/librte_stack/rte_stack_std.h;62;18218713bf;<david.marchand@redhat.com>
2019-06-29;__rte_stack_std_push;lib/librte_stack/rte_stack_std.h;22;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_action_apply;lib/librte_pipeline/rte_table_action.h;952;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_action_create;lib/librte_pipeline/rte_table_action.h;902;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_action_crypto_sym_session_get;lib/librte_pipeline/rte_table_action.h;1131;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_action_dscp_table_update;lib/librte_pipeline/rte_table_action.h;972;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_action_free;lib/librte_pipeline/rte_table_action.h;915;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_action_meter_profile_add;lib/librte_pipeline/rte_table_action.h;992;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_action_meter_profile_delete;lib/librte_pipeline/rte_table_action.h;1009;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_action_meter_read;lib/librte_pipeline/rte_table_action.h;1041;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_action_profile_action_register;lib/librte_pipeline/rte_table_action.h;857;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_action_profile_create;lib/librte_pipeline/rte_table_action.h;826;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_action_profile_free;lib/librte_pipeline/rte_table_action.h;838;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_action_profile_freeze;lib/librte_pipeline/rte_table_action.h;878;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_action_stats_read;lib/librte_pipeline/rte_table_action.h;1094;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_action_table_params_get;lib/librte_pipeline/rte_table_action.h;929;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_action_time_read;lib/librte_pipeline/rte_table_action.h;1115;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_action_ttl_read;lib/librte_pipeline/rte_table_action.h;1068;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_hash_crc_key16;lib/librte_table/rte_table_hash_func.h;70;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_hash_crc_key24;lib/librte_table/rte_table_hash_func.h;89;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_hash_crc_key32;lib/librte_table/rte_table_hash_func.h;111;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_hash_crc_key40;lib/librte_table/rte_table_hash_func.h;137;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_hash_crc_key48;lib/librte_table/rte_table_hash_func.h;163;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_hash_crc_key56;lib/librte_table/rte_table_hash_func.h;190;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_hash_crc_key64;lib/librte_table/rte_table_hash_func.h;220;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_hash_crc_key8;lib/librte_table/rte_table_hash_func.h;56;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_ticketlock_init;lib/librte_eal/include/generic/rte_ticketlock.h;51;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_ticketlock_is_locked;lib/librte_eal/include/generic/rte_ticketlock.h;119;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_ticketlock_lock;lib/librte_eal/include/generic/rte_ticketlock.h;64;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_ticketlock_recursive_init;lib/librte_eal/include/generic/rte_ticketlock.h;151;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_ticketlock_recursive_lock;lib/librte_eal/include/generic/rte_ticketlock.h;166;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_ticketlock_recursive_trylock;lib/librte_eal/include/generic/rte_ticketlock.h;204;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_ticketlock_recursive_unlock;lib/librte_eal/include/generic/rte_ticketlock.h;185;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_ticketlock_trylock;lib/librte_eal/include/generic/rte_ticketlock.h;94;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_ticketlock_unlock;lib/librte_eal/include/generic/rte_ticketlock.h;78;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_timer_alt_dump_stats;lib/librte_timer/rte_timer.h;535;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_timer_alt_manage;lib/librte_timer/rte_timer.h;479;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_timer_alt_reset;lib/librte_timer/rte_timer.h;416;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_timer_alt_stop;lib/librte_timer/rte_timer.h;442;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_timer_data_alloc;lib/librte_timer/rte_timer.h;150;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_timer_data_dealloc;lib/librte_timer/rte_timer.h;166;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_timer_stop_all;lib/librte_timer/rte_timer.h;512;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_timer_subsystem_finalize;lib/librte_timer/rte_timer.h;191;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_vhost_crypto_create;lib/librte_vhost/rte_vhost_crypto.h;38;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_vhost_crypto_fetch_requests;lib/librte_vhost/rte_vhost_crypto.h;90;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_vhost_crypto_finalize_requests;lib/librte_vhost/rte_vhost_crypto.h;112;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_vhost_crypto_free;lib/librte_vhost/rte_vhost_crypto.h;54;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_vhost_crypto_set_zero_copy;lib/librte_vhost/rte_vhost_crypto.h;69;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_vhost_driver_attach_vdpa_device;lib/librte_vhost/rte_vhost.h;433;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_vhost_driver_detach_vdpa_device;lib/librte_vhost/rte_vhost.h;446;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_vhost_driver_get_protocol_features;lib/librte_vhost/rte_vhost.h;542;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_vhost_driver_get_queue_num;lib/librte_vhost/rte_vhost.h;557;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_vhost_driver_get_vdpa_device;lib/librte_vhost/rte_vhost.h;458;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_vhost_driver_set_protocol_features;lib/librte_vhost/rte_vhost.h;527;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_vhost_extern_callback_register;lib/librte_vhost/rte_vhost.h;993;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_vhost_get_log_base;lib/librte_vhost/rte_vhost.h;916;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_vhost_get_vdpa_device;lib/librte_vhost/rte_vhost.h;1006;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_vhost_get_vring_base;lib/librte_vhost/rte_vhost.h;934;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_vhost_set_vring_base;lib/librte_vhost/rte_vhost.h;976;18218713bf;<david.marchand@redhat.com>
2019-07-03;rte_bbdev_dequeue_ldpc_dec_ops;lib/librte_bbdev/rte_bbdev.h;717;b443f318c6;<nicolas.chautru@intel.com>
2019-07-03;rte_bbdev_dequeue_ldpc_enc_ops;lib/librte_bbdev/rte_bbdev.h;686;b443f318c6;<nicolas.chautru@intel.com>
2019-07-03;rte_bbdev_enqueue_ldpc_dec_ops;lib/librte_bbdev/rte_bbdev.h;588;b443f318c6;<nicolas.chautru@intel.com>
2019-07-03;rte_bbdev_enqueue_ldpc_enc_ops;lib/librte_bbdev/rte_bbdev.h;557;b443f318c6;<nicolas.chautru@intel.com>
2019-07-05;rte_ether_unformat_addr;lib/librte_net/rte_ether.h;264;596d31092d;<stephen@networkplumber.org>
2019-07-05;rte_mcfg_timer_lock;lib/librte_eal/include/rte_eal_memconfig.h;100;f9d6cd8bfe;<anatoly.burakov@intel.com>
2019-07-05;rte_mcfg_timer_unlock;lib/librte_eal/include/rte_eal_memconfig.h;110;f9d6cd8bfe;<anatoly.burakov@intel.com>
2019-07-05;rte_mcslock_is_locked;lib/librte_eal/include/generic/rte_mcslock.h;172;2173f3333b;<phil.yang@arm.com>
2019-07-05;rte_mcslock_lock;lib/librte_eal/include/generic/rte_mcslock.h;48;2173f3333b;<phil.yang@arm.com>
2019-07-05;rte_mcslock_trylock;lib/librte_eal/include/generic/rte_mcslock.h;141;2173f3333b;<phil.yang@arm.com>
2019-07-05;rte_mcslock_unlock;lib/librte_eal/include/generic/rte_mcslock.h;98;2173f3333b;<phil.yang@arm.com>
2019-07-11;rte_metrics_deinit;lib/librte_metrics/rte_metrics.h;99;44dc7c0a26;<hkalra@marvell.com>
2019-07-15;rte_fslmc_vfio_dmamap;drivers/bus/fslmc/fslmc_vfio.h;61;2b5fa25708;<sachin.saxena@nxp.com>
2019-07-23;rte_intr_ack;lib/librte_eal/include/rte_interrupts.h;138;a159730c2f;<ndabilpuram@marvell.com>
2019-09-24;rte_vhost_va_from_guest_pa;lib/librte_vhost/rte_vhost.h;344;61af1713d3;<james.r.harris@intel.com>
2019-09-27;rte_power_guest_channel_receive_msg;lib/librte_power/guest_channel.h;124;9dc843eb27;<marcinx.hajkowski@intel.com>
2019-10-04;fpga_lte_fec_configure;drivers/baseband/fpga_lte_fec/fpga_lte_fec.h;65;44f45300cb;<bruce.richardson@intel.com>
2019-10-08;rte_pktmbuf_copy;lib/librte_mbuf/rte_mbuf.h;1470;c3a90c381d;<stephen@networkplumber.org>
2019-10-09;rte_vhost_clr_inflight_desc_packed;lib/librte_vhost/rte_vhost.h;874;bb0c2de960;<jin.yu@intel.com>
2019-10-09;rte_vhost_clr_inflight_desc_split;lib/librte_vhost/rte_vhost.h;857;bb0c2de960;<jin.yu@intel.com>
2019-10-09;rte_vhost_get_vhost_ring_inflight;lib/librte_vhost/rte_vhost.h;758;4d891f77dd;<jin.yu@intel.com>
2019-10-09;rte_vhost_get_vring_base_from_inflight;lib/librte_vhost/rte_vhost.h;957;4d891f77dd;<jin.yu@intel.com>
2019-10-09;rte_vhost_set_inflight_desc_packed;lib/librte_vhost/rte_vhost.h;801;bb0c2de960;<jin.yu@intel.com>
2019-10-09;rte_vhost_set_inflight_desc_split;lib/librte_vhost/rte_vhost.h;778;bb0c2de960;<jin.yu@intel.com>
2019-10-09;rte_vhost_set_last_inflight_io_packed;lib/librte_vhost/rte_vhost.h;838;bb0c2de960;<jin.yu@intel.com>
2019-10-09;rte_vhost_set_last_inflight_io_split;lib/librte_vhost/rte_vhost.h;818;bb0c2de960;<jin.yu@intel.com>
2019-10-15;rte_eth_rx_burst_mode_get;lib/librte_ethdev/rte_ethdev.h;3929;eb5902504a;<haiyue.wang@intel.com>
2019-10-15;rte_eth_tx_burst_mode_get;lib/librte_ethdev/rte_ethdev.h;3950;eb5902504a;<haiyue.wang@intel.com>
2019-10-18;rte_atomic128_cmp_exchange;lib/librte_eal/arm/include/rte_atomic_64.h;87;7e2c3e17fe;<phil.yang@arm.com>
2019-10-21;rte_ipsec_sad_add;lib/librte_ipsec/rte_ipsec_sad.h;85;401633d9c1;<vladimir.medvedkin@intel.com>
2019-10-21;rte_ipsec_sad_create;lib/librte_ipsec/rte_ipsec_sad.h;122;401633d9c1;<vladimir.medvedkin@intel.com>
2019-10-21;rte_ipsec_sad_del;lib/librte_ipsec/rte_ipsec_sad.h;106;401633d9c1;<vladimir.medvedkin@intel.com>
2019-10-21;rte_ipsec_sad_destroy;lib/librte_ipsec/rte_ipsec_sad.h;148;401633d9c1;<vladimir.medvedkin@intel.com>
2019-10-21;rte_ipsec_sad_find_existing;lib/librte_ipsec/rte_ipsec_sad.h;136;401633d9c1;<vladimir.medvedkin@intel.com>
2019-10-21;rte_ipsec_sad_lookup;lib/librte_ipsec/rte_ipsec_sad.h;168;401633d9c1;<vladimir.medvedkin@intel.com>
2019-10-23;rte_pktmbuf_free_bulk;lib/librte_mbuf/rte_mbuf.h;1426;0f824df6f8;<mb@smartsharesystems.com>
2019-10-25;rte_log_get_stream;lib/librte_eal/include/rte_log.h;115;b5fedaedfc;<david.marchand@redhat.com>
2019-10-26;rte_mbuf_dyn_dump;lib/librte_mbuf/rte_mbuf_dyn.h;234;4958ca3a44;<olivier.matz@6wind.com>
2019-10-26;rte_mbuf_dynfield_lookup;lib/librte_mbuf/rte_mbuf_dyn.h;154;4958ca3a44;<olivier.matz@6wind.com>
2019-10-26;rte_mbuf_dynfield_register;lib/librte_mbuf/rte_mbuf_dyn.h;112;4958ca3a44;<olivier.matz@6wind.com>
2019-10-26;rte_mbuf_dynfield_register_offset;lib/librte_mbuf/rte_mbuf_dyn.h;137;4958ca3a44;<olivier.matz@6wind.com>
2019-10-26;rte_mbuf_dynflag_lookup;lib/librte_mbuf/rte_mbuf_dyn.h;219;4958ca3a44;<olivier.matz@6wind.com>
2019-10-26;rte_mbuf_dynflag_register_bitnum;lib/librte_mbuf/rte_mbuf_dyn.h;202;4958ca3a44;<olivier.matz@6wind.com>
2019-10-26;rte_mbuf_dynflag_register;lib/librte_mbuf/rte_mbuf_dyn.h;177;4958ca3a44;<olivier.matz@6wind.com>
2019-10-31;rte_eth_dev_hairpin_capability_get;lib/librte_ethdev/rte_ethdev.h;4405;cf5516696d;<orika@mellanox.com>
2019-10-31;rte_eth_rx_hairpin_queue_setup;lib/librte_ethdev/rte_ethdev.h;2017;cf5516696d;<orika@mellanox.com>
2019-10-31;rte_eth_tx_hairpin_queue_setup;lib/librte_ethdev/rte_ethdev.h;2098;cf5516696d;<orika@mellanox.com>
2019-11-01;rte_fib6_add;lib/librte_fib/rte_fib6.h;133;40d41a8a7b;<vladimir.medvedkin@intel.com>
2019-11-01;rte_fib6_create;lib/librte_fib/rte_fib6.h;89;40d41a8a7b;<vladimir.medvedkin@intel.com>
2019-11-01;rte_fib6_delete;lib/librte_fib/rte_fib6.h;150;40d41a8a7b;<vladimir.medvedkin@intel.com>
2019-11-01;rte_fib6_find_existing;lib/librte_fib/rte_fib6.h;103;40d41a8a7b;<vladimir.medvedkin@intel.com>
2019-11-01;rte_fib6_free;lib/librte_fib/rte_fib6.h;115;40d41a8a7b;<vladimir.medvedkin@intel.com>
2019-11-01;rte_fib6_get_dp;lib/librte_fib/rte_fib6.h;187;40d41a8a7b;<vladimir.medvedkin@intel.com>
2019-11-01;rte_fib6_get_rib;lib/librte_fib/rte_fib6.h;200;40d41a8a7b;<vladimir.medvedkin@intel.com>
2019-11-01;rte_fib6_lookup_bulk;lib/librte_fib/rte_fib6.h;172;40d41a8a7b;<vladimir.medvedkin@intel.com>
2019-11-01;rte_fib_add;lib/librte_fib/rte_fib.h;132;39e9272484;<vladimir.medvedkin@intel.com>
2019-11-01;rte_fib_create;lib/librte_fib/rte_fib.h;88;39e9272484;<vladimir.medvedkin@intel.com>
2019-11-01;rte_fib_delete;lib/librte_fib/rte_fib.h;148;39e9272484;<vladimir.medvedkin@intel.com>
2019-11-01;rte_fib_find_existing;lib/librte_fib/rte_fib.h;102;39e9272484;<vladimir.medvedkin@intel.com>
2019-11-01;rte_fib_free;lib/librte_fib/rte_fib.h;114;39e9272484;<vladimir.medvedkin@intel.com>
2019-11-01;rte_fib_get_dp;lib/librte_fib/rte_fib.h;182;39e9272484;<vladimir.medvedkin@intel.com>
2019-11-01;rte_fib_get_rib;lib/librte_fib/rte_fib.h;195;39e9272484;<vladimir.medvedkin@intel.com>
2019-11-01;rte_fib_lookup_bulk;lib/librte_fib/rte_fib.h;169;39e9272484;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib6_create;lib/librte_rib/rte_rib6.h;316;f7e861e21c;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib6_find_existing;lib/librte_rib/rte_rib6.h;330;f7e861e21c;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib6_free;lib/librte_rib/rte_rib6.h;342;f7e861e21c;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib6_get_depth;lib/librte_rib/rte_rib6.h;255;f7e861e21c;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib6_get_ext;lib/librte_rib/rte_rib6.h;269;f7e861e21c;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib6_get_ip;lib/librte_rib/rte_rib6.h;239;f7e861e21c;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib6_get_nh;lib/librte_rib/rte_rib6.h;284;f7e861e21c;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib6_get_nxt;lib/librte_rib/rte_rib6.h;189;f7e861e21c;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib6_insert;lib/librte_rib/rte_rib6.h;223;f7e861e21c;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib6_lookup_exact;lib/librte_rib/rte_rib6.h;161;f7e861e21c;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib6_lookup;lib/librte_rib/rte_rib6.h;129;f7e861e21c;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib6_lookup_parent;lib/librte_rib/rte_rib6.h;144;f7e861e21c;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib6_remove;lib/librte_rib/rte_rib6.h;205;f7e861e21c;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib6_set_nh;lib/librte_rib/rte_rib6.h;299;f7e861e21c;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib_create;lib/librte_rib/rte_rib.h;259;5a5793a5ff;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib_find_existing;lib/librte_rib/rte_rib.h;273;5a5793a5ff;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib_free;lib/librte_rib/rte_rib.h;285;5a5793a5ff;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib_get_depth;lib/librte_rib/rte_rib.h;198;5a5793a5ff;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib_get_ext;lib/librte_rib/rte_rib.h;212;5a5793a5ff;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib_get_ip;lib/librte_rib/rte_rib.h;183;5a5793a5ff;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib_get_nh;lib/librte_rib/rte_rib.h;227;5a5793a5ff;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib_get_nxt;lib/librte_rib/rte_rib.h;136;5a5793a5ff;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib_insert;lib/librte_rib/rte_rib.h;168;5a5793a5ff;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib_lookup_exact;lib/librte_rib/rte_rib.h;109;5a5793a5ff;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib_lookup;lib/librte_rib/rte_rib.h;78;5a5793a5ff;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib_lookup_parent;lib/librte_rib/rte_rib.h;92;5a5793a5ff;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib_remove;lib/librte_rib/rte_rib.h;151;5a5793a5ff;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib_set_nh;lib/librte_rib/rte_rib.h;242;5a5793a5ff;<vladimir.medvedkin@intel.com>
2019-11-04;rte_mcfg_get_single_file_segments;lib/librte_eal/include/rte_eal_memconfig.h;121;43b815d881;<jgrajcia@cisco.com>
2019-11-05;rte_flow_dynf_metadata_avail;lib/librte_ethdev/rte_flow.h;2983;e02ecc1324;<viacheslavo@mellanox.com>
2019-11-05;rte_flow_dynf_metadata_get;lib/librte_ethdev/rte_flow.h;2710;e02ecc1324;<viacheslavo@mellanox.com>
2019-11-05;rte_flow_dynf_metadata_register;lib/librte_ethdev/rte_flow.h;3000;e02ecc1324;<viacheslavo@mellanox.com>
2019-11-05;rte_flow_dynf_metadata_set;lib/librte_ethdev/rte_flow.h;2717;e02ecc1324;<viacheslavo@mellanox.com>
2019-11-05;rte_mempool_get_page_size;lib/librte_mempool/rte_mempool.h;1804;b291e69423;<olivier.matz@6wind.com>
2019-11-05;rte_mempool_op_calc_mem_size_helper;lib/librte_mempool/rte_mempool.h;511;23bdcedcd8;<olivier.matz@6wind.com>
2019-11-05;rte_mempool_op_populate_helper;lib/librte_mempool/rte_mempool.h;615;23bdcedcd8;<olivier.matz@6wind.com>
2019-11-07;rte_wait_until_equal_16;lib/librte_eal/include/generic/rte_pause.h;47;1be7855d77;<gavin.hu@arm.com>
2019-11-07;rte_wait_until_equal_32;lib/librte_eal/include/generic/rte_pause.h;69;1be7855d77;<gavin.hu@arm.com>
2019-11-07;rte_wait_until_equal_64;lib/librte_eal/include/generic/rte_pause.h;91;1be7855d77;<gavin.hu@arm.com>
2019-11-08;rte_net_ice_dump_proto_xtr_metadata;drivers/net/ice/rte_pmd_ice.h;170;efc1b2799f;<haiyue.wang@intel.com>
2019-11-08;rte_net_ice_dynf_proto_xtr_metadata_avail;drivers/net/ice/rte_pmd_ice.h;142;efc1b2799f;<haiyue.wang@intel.com>
2019-11-08;rte_net_ice_dynf_proto_xtr_metadata_get;drivers/net/ice/rte_pmd_ice.h;157;efc1b2799f;<haiyue.wang@intel.com>
2019-11-11;rte_eth_dev_set_ptypes;lib/librte_ethdev/rte_ethdev.h;2789;5d4813acda;<pbhagavatula@marvell.com>
2019-11-14;rte_pmd_i40e_set_switch_dev;drivers/net/i40e/rte_pmd_i40e.h;1129;ec26c81df7;<andy.pei@intel.com>
2019-11-26;rte_hash_max_key_id;lib/librte_hash/rte_hash.h;178;f6320e3c11;<kumar.amber@intel.com>
2019-12-17;rte_timer_next_ticks;lib/librte_timer/rte_timer.h;347;cd7c59dc04;<stephen@networkplumber.org>
2019-12-20;rte_vhost_slave_config_change;lib/librte_vhost/rte_vhost.h;1020;109c38b2e9;<fengli@smartx.com>
2020-01-14;rte_thread_is_intr;lib/librte_eal/include/rte_eal_interrupts.h;234;9058afaa26;<hkalra@marvell.com>
2020-01-15;cpt_fpm_clear;drivers/common/cpt/cpt_pmd_ops_helper.h;59;aa2cbd32e9;<ssahu@marvell.com>
2020-01-15;cpt_fpm_init;drivers/common/cpt/cpt_pmd_ops_helper.h;53;aa2cbd32e9;<ssahu@marvell.com>
2020-01-17;rte_flow_dev_dump;lib/librte_ethdev/rte_flow.h;2973;12e6e3e78f;<jackmin@mellanox.com>
2020-01-20;rte_pktmbuf_pool_create_extbuf;lib/librte_mbuf/rte_mbuf.h;790;6c8e50c2e5;<viacheslavo@mellanox.com>
2020-01-29;rte_pmd_mlx5_get_dyn_flag_names;drivers/net/mlx5/rte_pmd_mlx5.h;32;efa79e68c8;<orika@mellanox.com>
2020-02-04;rte_cryptodev_sym_cpu_crypto_process;lib/librte_cryptodev/rte_cryptodev.h;1348;7adf992fb9;<marcinx.smoczynski@intel.com>
2020-02-04;rte_crypto_mbuf_to_vec;lib/librte_cryptodev/rte_crypto_sym.h;897;7adf992fb9;<marcinx.smoczynski@intel.com>
2020-02-04;rte_ipsec_pkt_cpu_prepare;lib/librte_ipsec/rte_ipsec.h;130;957394f726;<marcinx.smoczynski@intel.com>
2020-03-13;rte_log_can_log;lib/librte_eal/include/rte_log.h;157;241e67bfec;<ferruh.yigit@intel.com>
2020-04-10;__rte_bitmap_clear_slab_overhead_bits;lib/librte_eal/include/rte_bitmap.h;219;fc202a6f2a;<suanmingm@mellanox.com>
2020-04-10;rte_bitmap_init_with_all_set;lib/librte_eal/include/rte_bitmap.h;253;fc202a6f2a;<suanmingm@mellanox.com>
2020-04-11;rte_graph_cluster_stats_create;lib/librte_graph/rte_graph.h;388;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_graph_cluster_stats_destroy;lib/librte_graph/rte_graph.h;398;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_graph_cluster_stats_get;lib/librte_graph/rte_graph.h;409;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_graph_cluster_stats_reset;lib/librte_graph/rte_graph.h;419;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_graph_create;lib/librte_graph/rte_graph.h;228;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_graph_destroy;lib/librte_graph/rte_graph.h;242;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_graph_dump;lib/librte_graph/rte_graph.h;317;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_graph_export;lib/librte_graph/rte_graph.h;280;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_graph_from_name;lib/librte_graph/rte_graph.h;254;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_graph_id_to_name;lib/librte_graph/rte_graph.h;266;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_graph_list_dump;lib/librte_graph/rte_graph.h;326;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_graph_lookup;lib/librte_graph/rte_graph.h;297;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_graph_max_count;lib/librte_graph/rte_graph.h;306;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_graph_node_get_by_name;lib/librte_graph/rte_graph.h;374;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_graph_node_get;lib/librte_graph/rte_graph.h;360;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_graph_obj_dump;lib/librte_graph/rte_graph.h;339;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_graph_walk;lib/librte_graph/rte_graph_worker.h;130;40d4f51403;<jerinj@marvell.com>
2020-04-11;rte_node_clone;lib/librte_graph/rte_graph.h;485;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_node_dump;lib/librte_graph/rte_graph.h;592;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_node_edge_count;lib/librte_graph/rte_graph.h;522;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_node_edge_get;lib/librte_graph/rte_graph.h;572;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_node_edge_shrink;lib/librte_graph/rte_graph.h;556;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_node_edge_update;lib/librte_graph/rte_graph.h;541;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_node_enqueue;lib/librte_graph/rte_graph_worker.h;269;40d4f51403;<jerinj@marvell.com>
2020-04-11;rte_node_enqueue_next;lib/librte_graph/rte_graph_worker.h;395;40d4f51403;<jerinj@marvell.com>
2020-04-11;rte_node_enqueue_x1;lib/librte_graph/rte_graph_worker.h;296;40d4f51403;<jerinj@marvell.com>
2020-04-11;rte_node_enqueue_x2;lib/librte_graph/rte_graph_worker.h;326;40d4f51403;<jerinj@marvell.com>
2020-04-11;rte_node_enqueue_x4;lib/librte_graph/rte_graph_worker.h;361;40d4f51403;<jerinj@marvell.com>
2020-04-11;rte_node_eth_config;lib/librte_node/rte_node_eth_api.h;58;947d7f682f;<ndabilpuram@marvell.com>
2020-04-11;rte_node_from_name;lib/librte_graph/rte_graph.h;498;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_node_id_to_name;lib/librte_graph/rte_graph.h;510;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_node_ip4_rewrite_add;lib/librte_node/rte_node_ip4_api.h;71;f00708c2aa;<ndabilpuram@marvell.com>
2020-04-11;rte_node_ip4_route_add;lib/librte_node/rte_node_ip4_api.h;52;f00708c2aa;<ndabilpuram@marvell.com>
2020-04-11;rte_node_list_dump;lib/librte_graph/rte_graph.h;601;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_node_max_count;lib/librte_graph/rte_graph.h;581;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_node_next_stream_get;lib/librte_graph/rte_graph_worker.h;425;40d4f51403;<jerinj@marvell.com>
2020-04-11;rte_node_next_stream_move;lib/librte_graph/rte_graph_worker.h;485;40d4f51403;<jerinj@marvell.com>
2020-04-11;rte_node_next_stream_put;lib/librte_graph/rte_graph_worker.h;456;40d4f51403;<jerinj@marvell.com>
2020-04-11;__rte_node_register;lib/librte_graph/rte_graph.h;453;a2da742768;<jerinj@marvell.com>
2020-04-11;__rte_node_stream_alloc;lib/librte_graph/rte_graph_worker.h;100;d6bba625cd;<jerinj@marvell.com>
2020-04-11;__rte_node_stream_alloc_size;lib/librte_graph/rte_graph_worker.h;117;40d4f51403;<jerinj@marvell.com>
2020-04-16;rte_hash_lookup_with_hash_bulk_data;lib/librte_hash/rte_hash.h;576;14b8ab5762;<vladimir.medvedkin@intel.com>
2020-04-16;rte_hash_lookup_with_hash_bulk;lib/librte_hash/rte_hash.h;547;14b8ab5762;<vladimir.medvedkin@intel.com>
2020-04-19;fpga_5gnr_fec_configure;drivers/baseband/fpga_5gnr_fec/rte_pmd_fpga_5gnr_fec.h;65;2d4306438c;<nicolas.chautru@intel.com>
2020-04-20;rte_ring_dequeue_bulk_elem_start;lib/librte_ring/rte_ring_peek.h;309;664ff4b172;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_dequeue_bulk_start;lib/librte_ring/rte_ring_peek.h;335;664ff4b172;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_dequeue_burst_elem_start;lib/librte_ring/rte_ring_peek.h;365;664ff4b172;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_dequeue_burst_start;lib/librte_ring/rte_ring_peek.h;391;664ff4b172;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_dequeue_elem_finish;lib/librte_ring/rte_ring_peek.h;410;664ff4b172;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_dequeue_finish;lib/librte_ring/rte_ring_peek.h;443;664ff4b172;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_enqueue_bulk_elem_start;lib/librte_ring/rte_ring_peek.h;102;664ff4b172;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_enqueue_bulk_start;lib/librte_ring/rte_ring_peek.h;128;664ff4b172;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_enqueue_burst_elem_start;lib/librte_ring/rte_ring_peek.h;153;664ff4b172;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_enqueue_burst_start;lib/librte_ring/rte_ring_peek.h;179;664ff4b172;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_enqueue_elem_finish;lib/librte_ring/rte_ring_peek.h;203;664ff4b172;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_enqueue_finish;lib/librte_ring/rte_ring_peek.h;243;664ff4b172;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_get_cons_htd_max;lib/librte_ring/rte_ring_rts.h;404;e6ba4731c0;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_get_prod_htd_max;lib/librte_ring/rte_ring_rts.h;364;e6ba4731c0;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_mc_hts_dequeue_bulk_elem;lib/librte_ring/rte_ring_hts.h;163;1cc363b8ce;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_mc_hts_dequeue_bulk;lib/librte_ring/rte_ring_hts.h;269;1cc363b8ce;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_mc_hts_dequeue_burst_elem;lib/librte_ring/rte_ring_hts.h;221;1cc363b8ce;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_mc_hts_dequeue_burst;lib/librte_ring/rte_ring_hts.h;319;1cc363b8ce;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_mc_rts_dequeue_bulk_elem;lib/librte_ring/rte_ring_rts.h;190;e6ba4731c0;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_mc_rts_dequeue_bulk;lib/librte_ring/rte_ring_rts.h;296;e6ba4731c0;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_mc_rts_dequeue_burst_elem;lib/librte_ring/rte_ring_rts.h;248;e6ba4731c0;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_mc_rts_dequeue_burst;lib/librte_ring/rte_ring_rts.h;346;e6ba4731c0;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_mp_hts_enqueue_bulk_elem;lib/librte_ring/rte_ring_hts.h;135;1cc363b8ce;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_mp_hts_enqueue_bulk;lib/librte_ring/rte_ring_hts.h;245;1cc363b8ce;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_mp_hts_enqueue_burst_elem;lib/librte_ring/rte_ring_hts.h;191;1cc363b8ce;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_mp_hts_enqueue_burst;lib/librte_ring/rte_ring_hts.h;293;1cc363b8ce;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_mp_rts_enqueue_bulk_elem;lib/librte_ring/rte_ring_rts.h;162;e6ba4731c0;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_mp_rts_enqueue_bulk;lib/librte_ring/rte_ring_rts.h;272;e6ba4731c0;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_mp_rts_enqueue_burst_elem;lib/librte_ring/rte_ring_rts.h;218;e6ba4731c0;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_mp_rts_enqueue_burst;lib/librte_ring/rte_ring_rts.h;320;e6ba4731c0;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_set_cons_htd_max;lib/librte_ring/rte_ring_rts.h;424;e6ba4731c0;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_set_prod_htd_max;lib/librte_ring/rte_ring_rts.h;384;e6ba4731c0;<konstantin.ananyev@intel.com>
2020-04-21;rte_flow_get_aged_flows;lib/librte_ethdev/rte_flow.h;3355;44bf3c796b;<dongz@mellanox.com>
2020-04-22;rte_rcu_qsbr_dq_create;lib/librte_rcu/rte_rcu_qsbr.h;805;706d306ea3;<honnappa.nagarahalli@arm.com>
2020-04-22;rte_rcu_qsbr_dq_delete;lib/librte_rcu/rte_rcu_qsbr.h;895;706d306ea3;<honnappa.nagarahalli@arm.com>
2020-04-22;rte_rcu_qsbr_dq_enqueue;lib/librte_rcu/rte_rcu_qsbr.h;840;706d306ea3;<honnappa.nagarahalli@arm.com>
2020-04-22;rte_rcu_qsbr_dq_reclaim;lib/librte_rcu/rte_rcu_qsbr.h;869;706d306ea3;<honnappa.nagarahalli@arm.com>
2020-04-22;rte_thread_getname;lib/librte_eal/include/rte_lcore.h;394;d0cfb06468;<jerinj@marvell.com>
2020-04-22;rte_trace_dump;lib/librte_eal/include/rte_trace.h;134;27db82c709;<jerinj@marvell.com>
2020-04-22;rte_trace_is_enabled;lib/librte_eal/include/rte_trace.h;35;27db82c709;<jerinj@marvell.com>
2020-04-22;__rte_trace_mem_per_thread_alloc;lib/librte_eal/include/rte_trace_point.h;226;29d985cad8;<jerinj@marvell.com>
2020-04-22;rte_trace_metadata_dump;lib/librte_eal/include/rte_trace.h;125;27db82c709;<jerinj@marvell.com>
2020-04-22;rte_trace_mode_get;lib/librte_eal/include/rte_trace.h;69;27db82c709;<jerinj@marvell.com>
2020-04-22;rte_trace_mode_set;lib/librte_eal/include/rte_trace.h;60;27db82c709;<jerinj@marvell.com>
2020-04-22;rte_trace_pattern;lib/librte_eal/include/rte_trace.h;84;27db82c709;<jerinj@marvell.com>
2020-04-22;rte_trace_point_disable;lib/librte_eal/include/rte_trace_point.h;176;27db82c709;<jerinj@marvell.com>
2020-04-22;__rte_trace_point_emit_field;lib/librte_eal/include/rte_trace_point.h;244;0cd4ea043f;<jerinj@marvell.com>
2020-04-22;rte_trace_point_enable;lib/librte_eal/include/rte_trace_point.h;164;27db82c709;<jerinj@marvell.com>
2020-04-22;__rte_trace_point_fp_is_enabled;lib/librte_eal/include/rte_trace_point.h;209;27db82c709;<jerinj@marvell.com>
2020-04-22;rte_trace_point_is_enabled;lib/librte_eal/include/rte_trace_point.h;187;27db82c709;<jerinj@marvell.com>
2020-04-22;rte_trace_point_lookup;lib/librte_eal/include/rte_trace_point.h;198;27db82c709;<jerinj@marvell.com>
2020-04-22;__rte_trace_point_register;lib/librte_eal/include/rte_trace_point.h;264;f58880682c;<jerinj@marvell.com>
2020-04-22;rte_trace_regexp;lib/librte_eal/include/rte_trace.h;100;27db82c709;<jerinj@marvell.com>
2020-04-22;rte_trace_save;lib/librte_eal/include/rte_trace.h;113;27db82c709;<jerinj@marvell.com>
2020-04-27;rte_bit_relaxed_clear32;lib/librte_eal/include/rte_bitops.h;93;7f3aa08639;<joyce.kong@arm.com>
2020-04-27;rte_bit_relaxed_clear64;lib/librte_eal/include/rte_bitops.h;212;7f3aa08639;<joyce.kong@arm.com>
2020-04-27;rte_bit_relaxed_get32;lib/librte_eal/include/rte_bitops.h;51;7f3aa08639;<joyce.kong@arm.com>
2020-04-27;rte_bit_relaxed_get64;lib/librte_eal/include/rte_bitops.h;170;7f3aa08639;<joyce.kong@arm.com>
2020-04-27;rte_bit_relaxed_set32;lib/librte_eal/include/rte_bitops.h;72;7f3aa08639;<joyce.kong@arm.com>
2020-04-27;rte_bit_relaxed_set64;lib/librte_eal/include/rte_bitops.h;191;7f3aa08639;<joyce.kong@arm.com>
2020-04-27;rte_bit_relaxed_test_and_clear32;lib/librte_eal/include/rte_bitops.h;143;7f3aa08639;<joyce.kong@arm.com>
2020-04-27;rte_bit_relaxed_test_and_clear64;lib/librte_eal/include/rte_bitops.h;262;7f3aa08639;<joyce.kong@arm.com>
2020-04-27;rte_bit_relaxed_test_and_set32;lib/librte_eal/include/rte_bitops.h;117;7f3aa08639;<joyce.kong@arm.com>
2020-04-27;rte_bit_relaxed_test_and_set64;lib/librte_eal/include/rte_bitops.h;236;7f3aa08639;<joyce.kong@arm.com>
2020-04-30;rte_metrics_tel_encode_json_format;lib/librte_metrics/rte_metrics_telemetry.h;43;c5b7197f66;<ciara.power@intel.com>
2020-04-30;rte_metrics_tel_extract_data;lib/librte_metrics/rte_metrics_telemetry.h;61;c5b7197f66;<ciara.power@intel.com>
2020-04-30;rte_metrics_tel_get_global_stats;lib/librte_metrics/rte_metrics_telemetry.h;48;c5b7197f66;<ciara.power@intel.com>
2020-04-30;rte_metrics_tel_get_ports_stats_json;lib/librte_metrics/rte_metrics_telemetry.h;56;c5b7197f66;<ciara.power@intel.com>
2020-04-30;rte_metrics_tel_get_port_stats_ids;lib/librte_metrics/rte_metrics_telemetry.h;52;c5b7197f66;<ciara.power@intel.com>
2020-04-30;rte_metrics_tel_reg_all_ethdev;lib/librte_metrics/rte_metrics_telemetry.h;39;c5b7197f66;<ciara.power@intel.com>
2020-04-30;rte_tel_data_add_array_int;lib/librte_telemetry/rte_telemetry.h;119;ed1bfad7d3;<bruce.richardson@intel.com>
2020-04-30;rte_tel_data_add_array_string;lib/librte_telemetry/rte_telemetry.h;103;ed1bfad7d3;<bruce.richardson@intel.com>
2020-04-30;rte_tel_data_add_array_u64;lib/librte_telemetry/rte_telemetry.h;135;ed1bfad7d3;<bruce.richardson@intel.com>
2020-04-30;rte_tel_data_add_dict_int;lib/librte_telemetry/rte_telemetry.h;171;ed1bfad7d3;<bruce.richardson@intel.com>
2020-04-30;rte_tel_data_add_dict_string;lib/librte_telemetry/rte_telemetry.h;153;ed1bfad7d3;<bruce.richardson@intel.com>
2020-04-30;rte_tel_data_add_dict_u64;lib/librte_telemetry/rte_telemetry.h;188;ed1bfad7d3;<bruce.richardson@intel.com>
2020-04-30;rte_tel_data_start_array;lib/librte_telemetry/rte_telemetry.h;61;ed1bfad7d3;<bruce.richardson@intel.com>
2020-04-30;rte_tel_data_start_dict;lib/librte_telemetry/rte_telemetry.h;73;ed1bfad7d3;<bruce.richardson@intel.com>
2020-04-30;rte_tel_data_string;lib/librte_telemetry/rte_telemetry.h;87;ed1bfad7d3;<bruce.richardson@intel.com>
2020-04-30;rte_telemetry_init;lib/librte_telemetry/rte_telemetry.h;262;6dd571fd07;<bruce.richardson@intel.com>
2020-04-30;rte_telemetry_legacy_register;lib/librte_telemetry/rte_telemetry_legacy.h;81;b80fe1805e;<ciara.power@intel.com>
2020-04-30;rte_telemetry_register_cmd;lib/librte_telemetry/rte_telemetry.h;241;6dd571fd07;<bruce.richardson@intel.com>
2020-06-18;rte_vdpa_get_stats;lib/librte_vhost/rte_vdpa.h;200;1cb4415751;<matan@mellanox.com>
2020-06-18;rte_vdpa_get_stats_names;lib/librte_vhost/rte_vdpa.h;169;1cb4415751;<matan@mellanox.com>
2020-06-18;rte_vdpa_reset_stats;lib/librte_vhost/rte_vdpa.h;217;1cb4415751;<matan@mellanox.com>
2020-06-19;rte_power_check_env_supported;lib/librte_power/rte_power.h;41;20ab67608a;<anatoly.burakov@intel.com>
2020-06-24;rte_cryptodev_get_qp_status;lib/librte_cryptodev/rte_cryptodev.h;742;21b6a35171;<fiona.trahe@intel.com>
2020-06-26;rte_vdpa_find_device_by_name;lib/librte_vhost/rte_vdpa.h;55;38f8ab0bbc;<maxime.coquelin@redhat.com>
2020-06-26;rte_vdpa_get_features;lib/librte_vhost/rte_vdpa.h;104;8d44fc3a81;<maxime.coquelin@redhat.com>
2020-06-26;rte_vdpa_get_protocol_features;lib/librte_vhost/rte_vdpa.h;121;8d44fc3a81;<maxime.coquelin@redhat.com>
2020-06-26;rte_vdpa_get_queue_num;lib/librte_vhost/rte_vdpa.h;87;8d44fc3a81;<maxime.coquelin@redhat.com>
2020-06-26;rte_vdpa_get_rte_device;lib/librte_vhost/rte_vdpa.h;70;0f700f90ad;<maxime.coquelin@redhat.com>
2020-06-26;rte_vdpa_register_device;lib/librte_vhost/rte_vdpa_dev.h;93;a49f758d11;<maxime.coquelin@redhat.com>
2020-06-26;rte_vdpa_relay_vring_used;lib/librte_vhost/rte_vdpa_dev.h;149;a49f758d11;<maxime.coquelin@redhat.com>
2020-06-26;rte_vdpa_relay_vring_used;lib/librte_vhost/rte_vdpa.h;142;8d44fc3a81;<maxime.coquelin@redhat.com>
2020-06-26;rte_vdpa_unregister_device;lib/librte_vhost/rte_vdpa_dev.h;109;a49f758d11;<maxime.coquelin@redhat.com>
2020-06-26;rte_vhost_host_notifier_ctrl;lib/librte_vhost/rte_vdpa_dev.h;128;a49f758d11;<maxime.coquelin@redhat.com>
2020-07-03;rte_eal_vfio_get_vf_token;lib/librte_eal/include/rte_eal.h;457;598be72395;<haiyue.wang@intel.com>
2020-07-06;rte_lcore_callback_register;lib/librte_eal/include/rte_lcore.h;283;61bb531295;<david.marchand@redhat.com>
2020-07-06;rte_lcore_callback_unregister;lib/librte_eal/include/rte_lcore.h;298;61bb531295;<david.marchand@redhat.com>
2020-07-06;rte_lcore_dump;lib/librte_eal/include/rte_lcore.h;341;b41befd3af;<david.marchand@redhat.com>
2020-07-06;rte_lcore_iterate;lib/librte_eal/include/rte_lcore.h;331;b41befd3af;<david.marchand@redhat.com>
2020-07-06;rte_mp_disable;lib/librte_eal/include/rte_eal.h;166;d2fd16c8b0;<david.marchand@redhat.com>
2020-07-06;rte_regexdev_attr_get;lib/librte_regexdev/rte_regexdev.h;905;bab9497ef7;<jerinj@marvell.com>
2020-07-06;rte_regexdev_attr_set;lib/librte_regexdev/rte_regexdev.h;929;bab9497ef7;<jerinj@marvell.com>
2020-07-06;rte_regexdev_close;lib/librte_regexdev/rte_regexdev.h;851;bab9497ef7;<jerinj@marvell.com>
2020-07-06;rte_regexdev_configure;lib/librte_regexdev/rte_regexdev.h;733;bab9497ef7;<jerinj@marvell.com>
2020-07-06;rte_regexdev_count;lib/librte_regexdev/rte_regexdev.h;252;bab9497ef7;<jerinj@marvell.com>
2020-07-06;rte_regexdev_dequeue_burst;lib/librte_regexdev/rte_regexdev.h;1512;bab9497ef7;<jerinj@marvell.com>
2020-07-06;rte_regexdev_dump;lib/librte_regexdev/rte_regexdev.h;1224;bab9497ef7;<jerinj@marvell.com>
2020-07-06;rte_regexdev_enqueue_burst;lib/librte_regexdev/rte_regexdev.h;1453;bab9497ef7;<jerinj@marvell.com>
2020-07-06;rte_regexdev_get_dev_id;lib/librte_regexdev/rte_regexdev.h;269;bab9497ef7;<jerinj@marvell.com>
2020-07-06;rte_regexdev_info_get;lib/librte_regexdev/rte_regexdev.h;634;bab9497ef7;<jerinj@marvell.com>
2020-07-06;rte_regexdev_queue_pair_setup;lib/librte_regexdev/rte_regexdev.h;789;bab9497ef7;<jerinj@marvell.com>
2020-07-06;rte_regexdev_rule_db_compile_activate;lib/librte_regexdev/rte_regexdev.h;1020;bab9497ef7;<jerinj@marvell.com>
2020-07-06;rte_regexdev_rule_db_export;lib/librte_regexdev/rte_regexdev.h;1070;bab9497ef7;<jerinj@marvell.com>
2020-07-06;rte_regexdev_rule_db_import;lib/librte_regexdev/rte_regexdev.h;1045;bab9497ef7;<jerinj@marvell.com>
2020-07-06;rte_regexdev_rule_db_update;lib/librte_regexdev/rte_regexdev.h;998;bab9497ef7;<jerinj@marvell.com>
2020-07-06;rte_regexdev_selftest;lib/librte_regexdev/rte_regexdev.h;1206;bab9497ef7;<jerinj@marvell.com>
2020-07-06;rte_regexdev_start;lib/librte_regexdev/rte_regexdev.h;812;bab9497ef7;<jerinj@marvell.com>
2020-07-06;rte_regexdev_stop;lib/librte_regexdev/rte_regexdev.h;835;bab9497ef7;<jerinj@marvell.com>
2020-07-06;rte_regexdev_xstats_by_name_get;lib/librte_regexdev/rte_regexdev.h;1164;bab9497ef7;<jerinj@marvell.com>
2020-07-06;rte_regexdev_xstats_get;lib/librte_regexdev/rte_regexdev.h;1137;bab9497ef7;<jerinj@marvell.com>
2020-07-06;rte_regexdev_xstats_names_get;lib/librte_regexdev/rte_regexdev.h;1110;bab9497ef7;<jerinj@marvell.com>
2020-07-06;rte_regexdev_xstats_reset;lib/librte_regexdev/rte_regexdev.h;1188;bab9497ef7;<jerinj@marvell.com>
2020-07-06;rte_thread_register;lib/librte_eal/include/rte_lcore.h;410;5c307ba2a5;<david.marchand@redhat.com>
2020-07-06;rte_thread_unregister;lib/librte_eal/include/rte_lcore.h;417;5c307ba2a5;<david.marchand@redhat.com>
2020-07-07;rte_vhost_async_channel_register;lib/librte_vhost/rte_vhost_async.h;119;78639d5456;<patrick.fu@intel.com>
2020-07-07;rte_vhost_async_channel_unregister;lib/librte_vhost/rte_vhost_async.h;133;78639d5456;<patrick.fu@intel.com>
2020-07-07;rte_vhost_poll_enqueue_completed;lib/librte_vhost/rte_vhost_async.h;172;cd6760da10;<patrick.fu@intel.com>
2020-07-07;rte_vhost_submit_enqueue_burst;lib/librte_vhost/rte_vhost_async.h;152;cd6760da10;<patrick.fu@intel.com>
2020-07-08;rte_pmd_i40e_get_fdir_info;drivers/net/i40e/rte_pmd_i40e.h;1078;5aeb286fe5;<chenxux.di@intel.com>
2020-07-08;rte_pmd_i40e_get_fdir_stats;drivers/net/i40e/rte_pmd_i40e.h;1094;5aeb286fe5;<chenxux.di@intel.com>
2020-07-08;rte_pmd_i40e_set_gre_key_len;drivers/net/i40e/rte_pmd_i40e.h;1111;5aeb286fe5;<chenxux.di@intel.com>
2020-07-08;rte_pmd_ixgbe_get_fdir_info;drivers/net/ixgbe/rte_pmd_ixgbe.h;744;baa949306d;<chenxux.di@intel.com>
2020-07-08;rte_pmd_ixgbe_get_fdir_stats;drivers/net/ixgbe/rte_pmd_ixgbe.h;760;baa949306d;<chenxux.di@intel.com>
2020-07-10;rte_lpm_rcu_qsbr_add;lib/librte_lpm/rte_lpm.h;229;8a9f8564e9;<ruifeng.wang@arm.com>

>
-- 
Lukasz Wojciechowski
Principal Software Engineer

Samsung R&D Institute Poland
Samsung Electronics
Office +48 22 377 88 25
l.wojciechow@partner.samsung.com


^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] DPDK Experimental Functions
  2020-09-01 13:39  0% ` Thomas Monjalon
@ 2020-09-03 10:01  0%   ` Lukasz Wojciechowski
  2020-09-03 10:07  0%   ` Lukasz Wojciechowski
  1 sibling, 0 replies; 200+ results
From: Lukasz Wojciechowski @ 2020-09-03 10:01 UTC (permalink / raw)
  To: Thomas Monjalon, Walsh, Conor, Richardson, Bruce, Kinsella, Ray
  Cc: dpdk-dev, David Marchand, Andrew Rybchenko, Yigit, Ferruh,
	Maxime Coquelin, Zhihong Wang, Chenbo Xia, Jerin Jacob,
	Kiran Kumar K, Fiona Trahe, Ashish Gupta, Vladimir Medvedkin,
	Cristian Dumitrescu, Ori Kam, Declan Doherty, Konstantin Ananyev,
	Iremonger, Bernard, Kevin Laatz, Olivier Matz,
	Honnappa Nagarahalli, Ruifeng Wang

[-- Attachment #1: Type: text/plain, Size: 2066 bytes --]

W dniu 01.09.2020 o 15:39, Thomas Monjalon pisze:
> 27/08/2020 15:00, Kinsella, Ray:
>> Hi All,
>>
>> During recent work on the DPDK ABI, where we are looking to develop a nightly ABI regression test.
>>
>> We found a large number of experimental functions currently in DPDK API.
>> Currently, there are 537 experimental APIs out of a total of roughly ~1800 API, 30%-ish.
>>
>> While there is no correct number, as a percentage of the total, this appears to be very high.
>> I would question if all these API are really "new" and warrant the status?
>>
>> There are currently 38 libraries and drivers with experimental functions.
>> And to be fair there are number of recently added libraries in list, shown below.
>> However there are also a number of libraries that have been around a very long time.
>>
>> The following libraries and drivers have 10 or more experimental functions:
>>
>> 1.	rte_eal: 119
>> 2.	rte_ethdev: 43
>> 3.	rte_vhost: 42
>> 4.	rte_graph: 35 (EXPERIMENTAL)
>> 5.	rte_compressdev: 34
>> 6.	rte_rib: 28 (EXPERIMENTAL)
>> 7.	rte_pipeline: 24
>> 8.	rte_regexdev: 22 (EXPERIMENTAL)
>> 9.	rte_cryptodev: 18
>> 10.	rte_fib: 16 (EXPERIMENTAL)
>> 11.	rte_ipsec: 15 (EXPERIMENTAL)
>> 12.	rte_telemetry: 12 (EXPERIMENTAL)
>> 13.	rte_mbuf: 11
>> 14.	rte_rcu: 11 (EXPERIMENTAL)
>> 15.	rte_bus_fslmc: 11
>> 16.	rte_bpf: 10 (EXPERIMENTAL)
>>
>> Do the maintainers of these libraries and drivers,
>> A. Feel that experimental status continues to be warranted against these API?
>> B. Have plans in place to move all/some of these functions to stable in the 20.11 timeframe?
>>
>> Kudos to Conor Walsh for pulling this data together.
> Do you have a tool to sort experimental functions per age?
>

Hi All,

There is a simple bash script grepping, sedding and blaming sources, 
that extract those data. I attach also collected results with found 
experimental functions.

Best regards

Lukasz

>
-- 
Lukasz Wojciechowski
Principal Software Engineer

Samsung R&D Institute Poland
Samsung Electronics
Office +48 22 377 88 25
l.wojciechow@partner.samsung.com


[-- Attachment #2: experimental.sh --]
[-- Type: text/plain, Size: 572 bytes --]

#!/bin/bash

ER=`grep -RHne "^__rte_experimental"`
for R in ${ER} ; do
	FL=${R%:*}
	FILE=${FL%%:*}
	LINE=${FL#*:}

	BLAME=`git blame -L${LINE},${LINE} -e -t ${FILE} |
		sed -e 's/).*//'`
	SHA=`echo "${BLAME%%(*}" | cut -d' ' -f1`
	MAIL=`echo "${BLAME##*(}" | cut -d' ' -f1`
	TIME=`echo "${BLAME##*(}" | cut -d' ' -f2`

	HTIME=`date -d@${TIME} +%Y-%m-%d`

	S=`head -n $(( LINE + 5 )) ${FILE} | tail -n 5 |
		tr '\n\r' ' '|
		sed -e 's/(.*//g; s/[^[:alnum:]_ -]//g; s/[[:space:]]\$//'`
	FUNCTION="${S##* }"

	echo "${HTIME};${FUNCTION};${FILE};${LINE};${SHA};${MAIL}"
done


[-- Attachment #3: experimental_results.txt --]
[-- Type: text/plain, Size: 74204 bytes --]

2018-04-26;rte_mempool_get_contig_blocks;lib/librte_mempool/rte_mempool.h;1613;8a80fa4723;<artem.andreev@oktetlabs.ru>
2018-04-26;rte_mempool_ops_get_info;lib/librte_mempool/rte_mempool.h;872;a5beddd800;<artem.andreev@oktetlabs.ru>
2018-07-11;rte_class_find_by_name;lib/librte_eal/include/rte_class.h;88;d70f8448d0;<gaetan.rivet@6wind.com>
2018-07-11;rte_class_find;lib/librte_eal/include/rte_class.h;80;d70f8448d0;<gaetan.rivet@6wind.com>
2018-07-11;rte_class_register;lib/librte_eal/include/rte_class.h;99;d70f8448d0;<gaetan.rivet@6wind.com>
2018-07-11;rte_class_unregister;lib/librte_eal/include/rte_class.h;109;d70f8448d0;<gaetan.rivet@6wind.com>
2018-07-11;rte_dev_iterator_init;lib/librte_eal/include/rte_dev.h;312;c99a2d4c6b;<gaetan.rivet@6wind.com>
2018-07-11;rte_dev_iterator_next;lib/librte_eal/include/rte_dev.h;332;ac1a511eff;<gaetan.rivet@6wind.com>
2018-07-11;rte_kvargs_parse_delim;lib/librte_kvargs/rte_kvargs.h;101;5d6af85ab0;<gaetan.rivet@6wind.com>
2018-07-11;rte_kvargs_strcmp;lib/librte_kvargs/rte_kvargs.h;178;a3b85476c5;<gaetan.rivet@6wind.com>
2018-08-31;rte_flow_conv;lib/librte_ethdev/rte_flow.h;3319;063911ee1d;<adrien.mazarguil@6wind.com>
2018-12-04;rte_log_register_type_and_pick_level;lib/librte_eal/include/rte_log.h;257;a8499f65a1;<david.marchand@redhat.com>
2019-01-07;rte_mbuf_check;lib/librte_mbuf/rte_mbuf.h;553;d4dca8fe43;<david.marchand@6wind.com>
2019-01-11;rte_pmd_dpaa2_mux_flow_create;drivers/net/dpaa2/rte_pmd_dpaa2.h;37;1def64c2d7;<nipun.gupta@nxp.com>
2019-01-11;rte_pmd_dpaa2_set_custom_hash;drivers/net/dpaa2/rte_pmd_dpaa2.h;65;5f82296249;<nipun.gupta@nxp.com>
2019-06-24;rte_ipv6_get_next_ext;lib/librte_net/rte_ip.h;478;1f79768ca6;<marcinx.smoczynski@intel.com>
2019-06-29;rte_atomic128_cmp_exchange;lib/librte_eal/include/generic/rte_atomic.h;1144;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_atomic128_cmp_exchange;lib/librte_eal/x86/include/rte_atomic_64.h;186;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_allocate;lib/librte_bbdev/rte_bbdev_pmd.h;46;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_callback_register;lib/librte_bbdev/rte_bbdev.h;769;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_callback_unregister;lib/librte_bbdev/rte_bbdev.h;793;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_close;lib/librte_bbdev/rte_bbdev.h;208;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_count;lib/librte_bbdev/rte_bbdev.h;59;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_dec_op_alloc_bulk;lib/librte_bbdev/rte_bbdev_op.h;891;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_dec_op_free_bulk;lib/librte_bbdev/rte_bbdev_op.h;924;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_dequeue_dec_ops;lib/librte_bbdev/rte_bbdev.h;654;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_dequeue_enc_ops;lib/librte_bbdev/rte_bbdev.h;621;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_enc_op_alloc_bulk;lib/librte_bbdev/rte_bbdev_op.h;854;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_enc_op_free_bulk;lib/librte_bbdev/rte_bbdev_op.h;942;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_enqueue_dec_ops;lib/librte_bbdev/rte_bbdev.h;526;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_enqueue_enc_ops;lib/librte_bbdev/rte_bbdev.h;495;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_find_next;lib/librte_bbdev/rte_bbdev.h;86;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_get_named_dev;lib/librte_bbdev/rte_bbdev_pmd.h;74;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_info_get;lib/librte_bbdev/rte_bbdev.h;351;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_intr_enable;lib/librte_bbdev/rte_bbdev.h;134;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_is_valid;lib/librte_bbdev/rte_bbdev.h;72;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_op_pool_create;lib/librte_bbdev/rte_bbdev_op.h;834;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_op_type_str;lib/librte_bbdev/rte_bbdev_op.h;810;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_pmd_callback_process;lib/librte_bbdev/rte_bbdev_pmd.h;193;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_queue_configure;lib/librte_bbdev/rte_bbdev.h;164;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_queue_info_get;lib/librte_bbdev/rte_bbdev.h;378;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_queue_intr_ctl;lib/librte_bbdev/rte_bbdev.h;859;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_queue_intr_disable;lib/librte_bbdev/rte_bbdev.h;831;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_queue_intr_enable;lib/librte_bbdev/rte_bbdev.h;814;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_queue_start;lib/librte_bbdev/rte_bbdev.h;226;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_queue_stop;lib/librte_bbdev/rte_bbdev.h;242;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_release;lib/librte_bbdev/rte_bbdev_pmd.h;59;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_setup_queues;lib/librte_bbdev/rte_bbdev.h;116;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_start;lib/librte_bbdev/rte_bbdev.h;180;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_stats_get;lib/librte_bbdev/rte_bbdev.h;276;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_stats_reset;lib/librte_bbdev/rte_bbdev.h;288;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bbdev_stop;lib/librte_bbdev/rte_bbdev.h;194;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bpf_destroy;lib/librte_bpf/rte_bpf.h;120;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bpf_elf_load;lib/librte_bpf/rte_bpf.h;160;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bpf_eth_rx_elf_load;lib/librte_bpf/rte_bpf_ethdev.h;85;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bpf_eth_rx_unload;lib/librte_bpf/rte_bpf_ethdev.h;48;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bpf_eth_tx_elf_load;lib/librte_bpf/rte_bpf_ethdev.h;111;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bpf_eth_tx_unload;lib/librte_bpf/rte_bpf_ethdev.h;61;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bpf_exec_burst;lib/librte_bpf/rte_bpf.h;192;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bpf_exec;lib/librte_bpf/rte_bpf.h;174;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bpf_get_jit;lib/librte_bpf/rte_bpf.h;208;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_bpf_load;lib/librte_bpf/rte_bpf.h;136;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_comp_get_feature_name;lib/librte_compressdev/rte_comp.h;503;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_comp_op_alloc;lib/librte_compressdev/rte_comp.h;445;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_comp_op_bulk_alloc;lib/librte_compressdev/rte_comp.h;462;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_comp_op_bulk_free;lib/librte_compressdev/rte_comp.h;490;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_comp_op_free;lib/librte_compressdev/rte_comp.h;475;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_comp_op_pool_create;lib/librte_compressdev/rte_comp.h;429;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_capability_get;lib/librte_compressdev/rte_compressdev.h;57;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_close;lib/librte_compressdev/rte_compressdev.h;272;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_configure;lib/librte_compressdev/rte_compressdev.h;224;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_count;lib/librte_compressdev/rte_compressdev.h;160;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_dequeue_burst;lib/librte_compressdev/rte_compressdev.h;416;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_devices_get;lib/librte_compressdev/rte_compressdev.h;178;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_enqueue_burst;lib/librte_compressdev/rte_compressdev.h;471;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_get_dev_id;lib/librte_compressdev/rte_compressdev.h;136;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_get_feature_name;lib/librte_compressdev/rte_compressdev.h;97;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_info_get;lib/librte_compressdev/rte_compressdev.h;358;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_name_get;lib/librte_compressdev/rte_compressdev.h;149;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_pmd_allocate;lib/librte_compressdev/rte_compressdev_pmd.h;293;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_pmd_create;lib/librte_compressdev/rte_compressdev_pmd.h;354;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_pmd_destroy;lib/librte_compressdev/rte_compressdev_pmd.h;373;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_pmd_get_named_dev;lib/librte_compressdev/rte_compressdev_pmd.h;62;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_pmd_parse_input_args;lib/librte_compressdev/rte_compressdev_pmd.h;332;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_pmd_release_device;lib/librte_compressdev/rte_compressdev_pmd.h;309;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_private_xform_create;lib/librte_compressdev/rte_compressdev.h;549;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_private_xform_free;lib/librte_compressdev/rte_compressdev.h;571;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_queue_pair_count;lib/librte_compressdev/rte_compressdev.h;312;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_queue_pair_setup;lib/librte_compressdev/rte_compressdev.h;299;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_socket_id;lib/librte_compressdev/rte_compressdev.h;193;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_start;lib/librte_compressdev/rte_compressdev.h;243;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_stats_get;lib/librte_compressdev/rte_compressdev.h;330;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_stats_reset;lib/librte_compressdev/rte_compressdev.h;340;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_stop;lib/librte_compressdev/rte_compressdev.h;254;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_stream_create;lib/librte_compressdev/rte_compressdev.h;500;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_compressdev_stream_free;lib/librte_compressdev/rte_compressdev.h;522;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_crc32_u64_generic;lib/librte_table/rte_table_hash_func.h;17;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_cryptodev_asym_capability_get;lib/librte_cryptodev/rte_cryptodev.h;243;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_cryptodev_asym_get_header_session_size;lib/librte_cryptodev/rte_cryptodev.h;1250;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_cryptodev_asym_get_private_session_size;lib/librte_cryptodev/rte_cryptodev.h;1278;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_cryptodev_asym_get_xform_enum;lib/librte_cryptodev/rte_cryptodev.h;391;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_cryptodev_asym_session_clear;lib/librte_cryptodev/rte_cryptodev.h;1213;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_cryptodev_asym_session_create;lib/librte_cryptodev/rte_cryptodev.h;1106;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_cryptodev_asym_session_free;lib/librte_cryptodev/rte_cryptodev.h;1137;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_cryptodev_asym_session_init;lib/librte_cryptodev/rte_cryptodev.h;1178;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_cryptodev_asym_xform_capability_check_modlen;lib/librte_cryptodev/rte_cryptodev.h;329;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_cryptodev_asym_xform_capability_check_optype;lib/librte_cryptodev/rte_cryptodev.h;313;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_cryptodev_sym_get_existing_header_session_size;lib/librte_cryptodev/rte_cryptodev.h;1239;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_cryptodev_sym_session_get_user_data;lib/librte_cryptodev/rte_cryptodev.h;1331;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_cryptodev_sym_session_pool_create;lib/librte_cryptodev/rte_cryptodev.h;1079;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_cryptodev_sym_session_set_user_data;lib/librte_cryptodev/rte_cryptodev.h;1314;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_delay_us_sleep;lib/librte_eal/include/generic/rte_cycles.h;168;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_dev_dma_map;lib/librte_eal/include/rte_dev.h;489;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_dev_dma_unmap;lib/librte_eal/include/rte_dev.h;513;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_dev_event_callback_process;lib/librte_eal/include/rte_dev.h;408;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_dev_event_callback_register;lib/librte_eal/include/rte_dev.h;365;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_dev_event_callback_unregister;lib/librte_eal/include/rte_dev.h;390;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_dev_event_monitor_start;lib/librte_eal/include/rte_dev.h;423;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_dev_event_monitor_stop;lib/librte_eal/include/rte_dev.h;437;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_dev_hotplug_handle_disable;lib/librte_eal/include/rte_dev.h;465;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_dev_hotplug_handle_enable;lib/librte_eal/include/rte_dev.h;451;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_empty_poll_detection;lib/librte_power/rte_power_empty_poll.h;222;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_eth_devargs_parse;lib/librte_ethdev/rte_ethdev_driver.h;329;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_eth_dev_create;lib/librte_ethdev/rte_ethdev_driver.h;362;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_eth_dev_destroy;lib/librte_ethdev/rte_ethdev_driver.h;387;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_eth_dev_get_module_eeprom;lib/librte_ethdev/rte_ethdev.h;4061;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_eth_dev_get_module_info;lib/librte_ethdev/rte_ethdev.h;4038;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_eth_dev_is_removed;lib/librte_ethdev/rte_ethdev.h;1933;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_eth_dev_owner_delete;lib/librte_ethdev/rte_ethdev.h;1805;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_eth_dev_owner_get;lib/librte_ethdev/rte_ethdev.h;1821;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_eth_dev_owner_new;lib/librte_ethdev/rte_ethdev.h;1757;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_eth_dev_owner_set;lib/librte_ethdev/rte_ethdev.h;1773;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_eth_dev_owner_unset;lib/librte_ethdev/rte_ethdev.h;1790;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_eth_dev_rx_intr_ctl_q_get_fd;lib/librte_ethdev/rte_ethdev.h;3296;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_eth_find_next_of;lib/librte_ethdev/rte_ethdev.h;1692;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_eth_find_next_sibling;lib/librte_ethdev/rte_ethdev.h;1724;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_eth_read_clock;lib/librte_ethdev/rte_ethdev.h;4254;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_eth_switch_domain_alloc;lib/librte_ethdev/rte_ethdev_driver.h;280;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_eth_switch_domain_free;lib/librte_ethdev/rte_ethdev_driver.h;299;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_extmem_attach;lib/librte_eal/include/rte_memory.h;517;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_extmem_detach;lib/librte_eal/include/rte_memory.h;544;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_extmem_register;lib/librte_eal/include/rte_memory.h;459;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_extmem_unregister;lib/librte_eal/include/rte_memory.h;490;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_attach;lib/librte_eal/include/rte_fbarray.h;100;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_destroy;lib/librte_eal/include/rte_fbarray.h;122;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_detach;lib/librte_eal/include/rte_fbarray.h;141;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_dump_metadata;lib/librte_eal/include/rte_fbarray.h;557;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_find_biggest_free;lib/librte_eal/include/rte_fbarray.h;487;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_find_biggest_used;lib/librte_eal/include/rte_fbarray.h;505;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_find_contig_free;lib/librte_eal/include/rte_fbarray.h;330;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_find_contig_used;lib/librte_eal/include/rte_fbarray.h;349;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_find_idx;lib/librte_eal/include/rte_fbarray.h;177;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_find_next_free;lib/librte_eal/include/rte_fbarray.h;250;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_find_next_n_free;lib/librte_eal/include/rte_fbarray.h;289;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_find_next_n_used;lib/librte_eal/include/rte_fbarray.h;311;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_find_next_used;lib/librte_eal/include/rte_fbarray.h;268;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_find_prev_free;lib/librte_eal/include/rte_fbarray.h;366;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_find_prev_n_free;lib/librte_eal/include/rte_fbarray.h;406;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_find_prev_n_used;lib/librte_eal/include/rte_fbarray.h;429;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_find_prev_used;lib/librte_eal/include/rte_fbarray.h;384;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_find_rev_biggest_free;lib/librte_eal/include/rte_fbarray.h;524;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_find_rev_biggest_used;lib/librte_eal/include/rte_fbarray.h;543;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_find_rev_contig_free;lib/librte_eal/include/rte_fbarray.h;449;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_find_rev_contig_used;lib/librte_eal/include/rte_fbarray.h;469;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_get;lib/librte_eal/include/rte_fbarray.h;159;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_init;lib/librte_eal/include/rte_fbarray.h;77;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_is_used;lib/librte_eal/include/rte_fbarray.h;232;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_set_free;lib/librte_eal/include/rte_fbarray.h;213;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_fbarray_set_used;lib/librte_eal/include/rte_fbarray.h;195;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_flow_classifier_create;lib/librte_flow_classify/rte_flow_classify.h;160;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_flow_classifier_free;lib/librte_flow_classify/rte_flow_classify.h;172;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_flow_classifier_query;lib/librte_flow_classify/rte_flow_classify.h;276;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_flow_classify_table_create;lib/librte_flow_classify/rte_flow_classify.h;186;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_flow_classify_table_entry_add;lib/librte_flow_classify/rte_flow_classify.h;235;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_flow_classify_table_entry_delete;lib/librte_flow_classify/rte_flow_classify.h;254;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_flow_classify_validate;lib/librte_flow_classify/rte_flow_classify.h;208;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_flow_expand_rss;lib/librte_ethdev/rte_flow_driver.h;185;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_frag_table_del_expired_entries;lib/librte_ip_frag/rte_ip_frag.h;351;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_hash_free_key_with_position;lib/librte_hash/rte_hash.h;388;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_intr_callback_unregister_pending;lib/librte_eal/include/rte_interrupts.h;91;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_ipsec_pkt_crypto_group;lib/librte_ipsec/rte_ipsec_group.h;82;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_ipsec_pkt_crypto_prepare;lib/librte_ipsec/rte_ipsec.h;122;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_ipsec_pkt_process;lib/librte_ipsec/rte_ipsec.h;161;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_ipsec_sa_fini;lib/librte_ipsec/rte_ipsec_sa.h;174;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_ipsec_sa_init;lib/librte_ipsec/rte_ipsec_sa.h;164;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_ipsec_sa_size;lib/librte_ipsec/rte_ipsec_sa.h;147;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_ipsec_sa_type;lib/librte_ipsec/rte_ipsec_sa.h;135;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_ipsec_ses_from_crypto;lib/librte_ipsec/rte_ipsec_group.h;45;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_ipsec_session_prepare;lib/librte_ipsec/rte_ipsec.h;97;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_kni_update_link;lib/librte_kni/rte_kni.h;257;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_lcore_cpuset;lib/librte_eal/include/rte_lcore.h;186;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_lcore_to_cpu_id;lib/librte_eal/include/rte_lcore.h;172;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_malloc_dump_heaps;lib/librte_eal/include/rte_malloc.h;522;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_malloc_heap_create;lib/librte_eal/include/rte_malloc.h;436;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_malloc_heap_destroy;lib/librte_eal/include/rte_malloc.h;460;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_malloc_heap_get_socket;lib/librte_eal/include/rte_malloc.h;475;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_malloc_heap_memory_add;lib/librte_eal/include/rte_malloc.h;334;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_malloc_heap_memory_attach;lib/librte_eal/include/rte_malloc.h;391;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_malloc_heap_memory_detach;lib/librte_eal/include/rte_malloc.h;416;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_malloc_heap_memory_remove;lib/librte_eal/include/rte_malloc.h;366;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_malloc_heap_socket_is_external;lib/librte_eal/include/rte_malloc.h;491;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mbuf_buf_addr;lib/librte_mbuf/rte_mbuf.h;220;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mbuf_data_addr_default;lib/librte_mbuf/rte_mbuf.h;238;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mbuf_to_priv;lib/librte_mbuf/rte_mbuf.h;289;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mem_alloc_validator_register;lib/librte_eal/include/rte_memory.h;754;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mem_alloc_validator_unregister;lib/librte_eal/include/rte_memory.h;773;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mem_check_dma_mask;lib/librte_eal/include/rte_memory.h;598;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mem_check_dma_mask_thread_unsafe;lib/librte_eal/include/rte_memory.h;617;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mem_event_callback_register;lib/librte_eal/include/rte_memory.h;685;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mem_event_callback_unregister;lib/librte_eal/include/rte_memory.h;704;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mem_iova2virt;lib/librte_eal/include/rte_memory.h;134;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_memseg_contig_walk;lib/librte_eal/include/rte_memory.h;238;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_memseg_contig_walk_thread_unsafe;lib/librte_eal/include/rte_memory.h;298;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_memseg_get_fd;lib/librte_eal/include/rte_memory.h;342;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_memseg_get_fd_offset;lib/librte_eal/include/rte_memory.h;392;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_memseg_get_fd_offset_thread_unsafe;lib/librte_eal/include/rte_memory.h;417;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_memseg_get_fd_thread_unsafe;lib/librte_eal/include/rte_memory.h;367;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_memseg_list_walk;lib/librte_eal/include/rte_memory.h;260;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_memseg_list_walk_thread_unsafe;lib/librte_eal/include/rte_memory.h;317;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_memseg_walk;lib/librte_eal/include/rte_memory.h;216;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_memseg_walk_thread_unsafe;lib/librte_eal/include/rte_memory.h;279;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mem_set_dma_mask;lib/librte_eal/include/rte_memory.h;628;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mem_virt2memseg;lib/librte_eal/include/rte_memory.h;149;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mem_virt2memseg_list;lib/librte_eal/include/rte_memory.h;161;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mp_action_register;lib/librte_eal/include/rte_eal.h;241;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mp_action_unregister;lib/librte_eal/include/rte_eal.h;262;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mp_reply;lib/librte_eal/include/rte_eal.h;376;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mp_request_async;lib/librte_eal/include/rte_eal.h;347;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mp_request_sync;lib/librte_eal/include/rte_eal.h;317;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mp_sendmsg;lib/librte_eal/include/rte_eal.h;282;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mtr_capabilities_get;lib/librte_ethdev/rte_mtr.h;413;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mtr_create;lib/librte_ethdev/rte_mtr.h;488;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mtr_destroy;lib/librte_ethdev/rte_mtr.h;512;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mtr_meter_disable;lib/librte_ethdev/rte_mtr.h;540;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mtr_meter_dscp_table_update;lib/librte_ethdev/rte_mtr.h;607;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mtr_meter_enable;lib/librte_ethdev/rte_mtr.h;562;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mtr_meter_profile_add;lib/librte_ethdev/rte_mtr.h;437;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mtr_meter_profile_delete;lib/librte_ethdev/rte_mtr.h;459;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mtr_meter_profile_update;lib/librte_ethdev/rte_mtr.h;582;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mtr_policer_actions_update;lib/librte_ethdev/rte_mtr.h;634;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mtr_stats_read;lib/librte_ethdev/rte_mtr.h;692;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_mtr_stats_update;lib/librte_ethdev/rte_mtr.h;660;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_net_make_rarp_packet;lib/librte_net/rte_arp.h;66;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_net_skip_ip6_ext;lib/librte_net/rte_net.h;54;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_pmd_atl_macsec_config_rxsc;drivers/net/atlantic/rte_pmd_atlantic.h;89;136ab94a5b;<david.marchand@redhat.com>
2019-06-29;rte_pmd_atl_macsec_config_txsc;drivers/net/atlantic/rte_pmd_atlantic.h;69;136ab94a5b;<david.marchand@redhat.com>
2019-06-29;rte_pmd_atl_macsec_disable;drivers/net/atlantic/rte_pmd_atlantic.h;51;136ab94a5b;<david.marchand@redhat.com>
2019-06-29;rte_pmd_atl_macsec_enable;drivers/net/atlantic/rte_pmd_atlantic.h;35;136ab94a5b;<david.marchand@redhat.com>
2019-06-29;rte_pmd_atl_macsec_select_rxsa;drivers/net/atlantic/rte_pmd_atlantic.h;140;136ab94a5b;<david.marchand@redhat.com>
2019-06-29;rte_pmd_atl_macsec_select_txsa;drivers/net/atlantic/rte_pmd_atlantic.h;114;136ab94a5b;<david.marchand@redhat.com>
2019-06-29;rte_pmd_ixgbe_mdio_lock;drivers/net/ixgbe/rte_pmd_ixgbe.h;589;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_pmd_ixgbe_mdio_unlock;drivers/net/ixgbe/rte_pmd_ixgbe.h;603;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_pmd_ixgbe_mdio_unlocked_read;drivers/net/ixgbe/rte_pmd_ixgbe.h;625;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_pmd_ixgbe_mdio_unlocked_write;drivers/net/ixgbe/rte_pmd_ixgbe.h;649;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_pmd_ixgbe_upd_fctrl_sbp;drivers/net/ixgbe/rte_pmd_ixgbe.h;728;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_pmd_softnic_manage;drivers/net/softnic/rte_eth_softnic.h;78;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_port_in_action_apply;lib/librte_pipeline/rte_port_in_action.h;299;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_port_in_action_create;lib/librte_pipeline/rte_port_in_action.h;252;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_port_in_action_free;lib/librte_pipeline/rte_port_in_action.h;265;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_port_in_action_params_get;lib/librte_pipeline/rte_port_in_action.h;279;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_port_in_action_profile_action_register;lib/librte_pipeline/rte_port_in_action.h;206;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_port_in_action_profile_create;lib/librte_pipeline/rte_port_in_action.h;175;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_port_in_action_profile_free;lib/librte_pipeline/rte_port_in_action.h;187;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_port_in_action_profile_freeze;lib/librte_pipeline/rte_port_in_action.h;229;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_power_empty_poll_stat_fetch;lib/librte_power/rte_power_empty_poll.h;197;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_power_empty_poll_stat_free;lib/librte_power/rte_power_empty_poll.h;153;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_power_empty_poll_stat_init;lib/librte_power/rte_power_empty_poll.h;145;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_power_empty_poll_stat_update;lib/librte_power/rte_power_empty_poll.h;168;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_power_poll_stat_fetch;lib/librte_power/rte_power_empty_poll.h;210;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_power_poll_stat_update;lib/librte_power/rte_power_empty_poll.h;184;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_rand_max;lib/librte_eal/include/rte_random.h;65;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_rcu_qsbr_check;lib/librte_rcu/rte_rcu_qsbr.h;719;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_rcu_qsbr_dump;lib/librte_rcu/rte_rcu_qsbr.h;785;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_rcu_qsbr_get_memsize;lib/librte_rcu/rte_rcu_qsbr.h;218;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_rcu_qsbr_init;lib/librte_rcu/rte_rcu_qsbr.h;240;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_rcu_qsbr_lock;lib/librte_rcu/rte_rcu_qsbr.h;424;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_rcu_qsbr_quiescent;lib/librte_rcu/rte_rcu_qsbr.h;528;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_rcu_qsbr_start;lib/librte_rcu/rte_rcu_qsbr.h;495;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_rcu_qsbr_synchronize;lib/librte_rcu/rte_rcu_qsbr.h;763;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_rcu_qsbr_thread_offline;lib/librte_rcu/rte_rcu_qsbr.h;383;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_rcu_qsbr_thread_online;lib/librte_rcu/rte_rcu_qsbr.h;321;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_rcu_qsbr_thread_register;lib/librte_rcu/rte_rcu_qsbr.h;267;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_rcu_qsbr_thread_unregister;lib/librte_rcu/rte_rcu_qsbr.h;289;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_rcu_qsbr_unlock;lib/librte_rcu/rte_rcu_qsbr.h;461;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_realloc_socket;lib/librte_eal/include/rte_malloc.h;156;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_rwlock_read_trylock;lib/librte_eal/include/generic/rte_rwlock.h;91;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_rwlock_write_trylock;lib/librte_eal/include/generic/rte_rwlock.h;135;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_sched_subport_pipe_profile_add;lib/librte_sched/rte_sched.h;307;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_security_get_userdata;lib/librte_security/rte_security.h;479;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_security_session_stats_get;lib/librte_security/rte_security.h;581;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_security_session_update;lib/librte_security/rte_security.h;408;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_stack_count;lib/librte_stack/rte_stack.h;170;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_stack_create;lib/librte_stack/rte_stack.h;232;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_stack_free_count;lib/librte_stack/rte_stack.h;193;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_stack_free;lib/librte_stack/rte_stack.h;246;18218713bf;<david.marchand@redhat.com>
2019-06-29;__rte_stack_lf_pop;lib/librte_stack/rte_stack_lf.h;69;18218713bf;<david.marchand@redhat.com>
2019-06-29;__rte_stack_lf_push;lib/librte_stack/rte_stack_lf.h;30;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_stack_lookup;lib/librte_stack/rte_stack.h;264;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_stack_pop;lib/librte_stack/rte_stack.h;146;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_stack_push;lib/librte_stack/rte_stack.h;118;18218713bf;<david.marchand@redhat.com>
2019-06-29;__rte_stack_std_count;lib/librte_stack/rte_stack_std.h;97;18218713bf;<david.marchand@redhat.com>
2019-06-29;__rte_stack_std_pop;lib/librte_stack/rte_stack_std.h;62;18218713bf;<david.marchand@redhat.com>
2019-06-29;__rte_stack_std_push;lib/librte_stack/rte_stack_std.h;22;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_action_apply;lib/librte_pipeline/rte_table_action.h;952;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_action_create;lib/librte_pipeline/rte_table_action.h;902;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_action_crypto_sym_session_get;lib/librte_pipeline/rte_table_action.h;1131;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_action_dscp_table_update;lib/librte_pipeline/rte_table_action.h;972;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_action_free;lib/librte_pipeline/rte_table_action.h;915;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_action_meter_profile_add;lib/librte_pipeline/rte_table_action.h;992;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_action_meter_profile_delete;lib/librte_pipeline/rte_table_action.h;1009;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_action_meter_read;lib/librte_pipeline/rte_table_action.h;1041;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_action_profile_action_register;lib/librte_pipeline/rte_table_action.h;857;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_action_profile_create;lib/librte_pipeline/rte_table_action.h;826;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_action_profile_free;lib/librte_pipeline/rte_table_action.h;838;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_action_profile_freeze;lib/librte_pipeline/rte_table_action.h;878;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_action_stats_read;lib/librte_pipeline/rte_table_action.h;1094;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_action_table_params_get;lib/librte_pipeline/rte_table_action.h;929;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_action_time_read;lib/librte_pipeline/rte_table_action.h;1115;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_action_ttl_read;lib/librte_pipeline/rte_table_action.h;1068;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_hash_crc_key16;lib/librte_table/rte_table_hash_func.h;70;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_hash_crc_key24;lib/librte_table/rte_table_hash_func.h;89;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_hash_crc_key32;lib/librte_table/rte_table_hash_func.h;111;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_hash_crc_key40;lib/librte_table/rte_table_hash_func.h;137;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_hash_crc_key48;lib/librte_table/rte_table_hash_func.h;163;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_hash_crc_key56;lib/librte_table/rte_table_hash_func.h;190;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_hash_crc_key64;lib/librte_table/rte_table_hash_func.h;220;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_table_hash_crc_key8;lib/librte_table/rte_table_hash_func.h;56;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_ticketlock_init;lib/librte_eal/include/generic/rte_ticketlock.h;51;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_ticketlock_is_locked;lib/librte_eal/include/generic/rte_ticketlock.h;119;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_ticketlock_lock;lib/librte_eal/include/generic/rte_ticketlock.h;64;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_ticketlock_recursive_init;lib/librte_eal/include/generic/rte_ticketlock.h;151;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_ticketlock_recursive_lock;lib/librte_eal/include/generic/rte_ticketlock.h;166;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_ticketlock_recursive_trylock;lib/librte_eal/include/generic/rte_ticketlock.h;204;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_ticketlock_recursive_unlock;lib/librte_eal/include/generic/rte_ticketlock.h;185;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_ticketlock_trylock;lib/librte_eal/include/generic/rte_ticketlock.h;94;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_ticketlock_unlock;lib/librte_eal/include/generic/rte_ticketlock.h;78;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_timer_alt_dump_stats;lib/librte_timer/rte_timer.h;535;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_timer_alt_manage;lib/librte_timer/rte_timer.h;479;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_timer_alt_reset;lib/librte_timer/rte_timer.h;416;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_timer_alt_stop;lib/librte_timer/rte_timer.h;442;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_timer_data_alloc;lib/librte_timer/rte_timer.h;150;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_timer_data_dealloc;lib/librte_timer/rte_timer.h;166;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_timer_stop_all;lib/librte_timer/rte_timer.h;512;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_timer_subsystem_finalize;lib/librte_timer/rte_timer.h;191;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_vhost_crypto_create;lib/librte_vhost/rte_vhost_crypto.h;38;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_vhost_crypto_fetch_requests;lib/librte_vhost/rte_vhost_crypto.h;90;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_vhost_crypto_finalize_requests;lib/librte_vhost/rte_vhost_crypto.h;112;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_vhost_crypto_free;lib/librte_vhost/rte_vhost_crypto.h;54;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_vhost_crypto_set_zero_copy;lib/librte_vhost/rte_vhost_crypto.h;69;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_vhost_driver_attach_vdpa_device;lib/librte_vhost/rte_vhost.h;433;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_vhost_driver_detach_vdpa_device;lib/librte_vhost/rte_vhost.h;446;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_vhost_driver_get_protocol_features;lib/librte_vhost/rte_vhost.h;542;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_vhost_driver_get_queue_num;lib/librte_vhost/rte_vhost.h;557;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_vhost_driver_get_vdpa_device;lib/librte_vhost/rte_vhost.h;458;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_vhost_driver_set_protocol_features;lib/librte_vhost/rte_vhost.h;527;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_vhost_extern_callback_register;lib/librte_vhost/rte_vhost.h;993;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_vhost_get_log_base;lib/librte_vhost/rte_vhost.h;916;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_vhost_get_vdpa_device;lib/librte_vhost/rte_vhost.h;1006;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_vhost_get_vring_base;lib/librte_vhost/rte_vhost.h;934;18218713bf;<david.marchand@redhat.com>
2019-06-29;rte_vhost_set_vring_base;lib/librte_vhost/rte_vhost.h;976;18218713bf;<david.marchand@redhat.com>
2019-07-03;rte_bbdev_dequeue_ldpc_dec_ops;lib/librte_bbdev/rte_bbdev.h;717;b443f318c6;<nicolas.chautru@intel.com>
2019-07-03;rte_bbdev_dequeue_ldpc_enc_ops;lib/librte_bbdev/rte_bbdev.h;686;b443f318c6;<nicolas.chautru@intel.com>
2019-07-03;rte_bbdev_enqueue_ldpc_dec_ops;lib/librte_bbdev/rte_bbdev.h;588;b443f318c6;<nicolas.chautru@intel.com>
2019-07-03;rte_bbdev_enqueue_ldpc_enc_ops;lib/librte_bbdev/rte_bbdev.h;557;b443f318c6;<nicolas.chautru@intel.com>
2019-07-05;rte_ether_unformat_addr;lib/librte_net/rte_ether.h;264;596d31092d;<stephen@networkplumber.org>
2019-07-05;rte_mcfg_timer_lock;lib/librte_eal/include/rte_eal_memconfig.h;100;f9d6cd8bfe;<anatoly.burakov@intel.com>
2019-07-05;rte_mcfg_timer_unlock;lib/librte_eal/include/rte_eal_memconfig.h;110;f9d6cd8bfe;<anatoly.burakov@intel.com>
2019-07-05;rte_mcslock_is_locked;lib/librte_eal/include/generic/rte_mcslock.h;172;2173f3333b;<phil.yang@arm.com>
2019-07-05;rte_mcslock_lock;lib/librte_eal/include/generic/rte_mcslock.h;48;2173f3333b;<phil.yang@arm.com>
2019-07-05;rte_mcslock_trylock;lib/librte_eal/include/generic/rte_mcslock.h;141;2173f3333b;<phil.yang@arm.com>
2019-07-05;rte_mcslock_unlock;lib/librte_eal/include/generic/rte_mcslock.h;98;2173f3333b;<phil.yang@arm.com>
2019-07-11;rte_metrics_deinit;lib/librte_metrics/rte_metrics.h;99;44dc7c0a26;<hkalra@marvell.com>
2019-07-15;rte_fslmc_vfio_dmamap;drivers/bus/fslmc/fslmc_vfio.h;61;2b5fa25708;<sachin.saxena@nxp.com>
2019-07-23;rte_intr_ack;lib/librte_eal/include/rte_interrupts.h;138;a159730c2f;<ndabilpuram@marvell.com>
2019-09-24;rte_vhost_va_from_guest_pa;lib/librte_vhost/rte_vhost.h;344;61af1713d3;<james.r.harris@intel.com>
2019-09-27;rte_power_guest_channel_receive_msg;lib/librte_power/guest_channel.h;124;9dc843eb27;<marcinx.hajkowski@intel.com>
2019-10-04;fpga_lte_fec_configure;drivers/baseband/fpga_lte_fec/fpga_lte_fec.h;65;44f45300cb;<bruce.richardson@intel.com>
2019-10-08;rte_pktmbuf_copy;lib/librte_mbuf/rte_mbuf.h;1470;c3a90c381d;<stephen@networkplumber.org>
2019-10-09;rte_vhost_clr_inflight_desc_packed;lib/librte_vhost/rte_vhost.h;874;bb0c2de960;<jin.yu@intel.com>
2019-10-09;rte_vhost_clr_inflight_desc_split;lib/librte_vhost/rte_vhost.h;857;bb0c2de960;<jin.yu@intel.com>
2019-10-09;rte_vhost_get_vhost_ring_inflight;lib/librte_vhost/rte_vhost.h;758;4d891f77dd;<jin.yu@intel.com>
2019-10-09;rte_vhost_get_vring_base_from_inflight;lib/librte_vhost/rte_vhost.h;957;4d891f77dd;<jin.yu@intel.com>
2019-10-09;rte_vhost_set_inflight_desc_packed;lib/librte_vhost/rte_vhost.h;801;bb0c2de960;<jin.yu@intel.com>
2019-10-09;rte_vhost_set_inflight_desc_split;lib/librte_vhost/rte_vhost.h;778;bb0c2de960;<jin.yu@intel.com>
2019-10-09;rte_vhost_set_last_inflight_io_packed;lib/librte_vhost/rte_vhost.h;838;bb0c2de960;<jin.yu@intel.com>
2019-10-09;rte_vhost_set_last_inflight_io_split;lib/librte_vhost/rte_vhost.h;818;bb0c2de960;<jin.yu@intel.com>
2019-10-15;rte_eth_rx_burst_mode_get;lib/librte_ethdev/rte_ethdev.h;3929;eb5902504a;<haiyue.wang@intel.com>
2019-10-15;rte_eth_tx_burst_mode_get;lib/librte_ethdev/rte_ethdev.h;3950;eb5902504a;<haiyue.wang@intel.com>
2019-10-18;rte_atomic128_cmp_exchange;lib/librte_eal/arm/include/rte_atomic_64.h;87;7e2c3e17fe;<phil.yang@arm.com>
2019-10-21;rte_ipsec_sad_add;lib/librte_ipsec/rte_ipsec_sad.h;85;401633d9c1;<vladimir.medvedkin@intel.com>
2019-10-21;rte_ipsec_sad_create;lib/librte_ipsec/rte_ipsec_sad.h;122;401633d9c1;<vladimir.medvedkin@intel.com>
2019-10-21;rte_ipsec_sad_del;lib/librte_ipsec/rte_ipsec_sad.h;106;401633d9c1;<vladimir.medvedkin@intel.com>
2019-10-21;rte_ipsec_sad_destroy;lib/librte_ipsec/rte_ipsec_sad.h;148;401633d9c1;<vladimir.medvedkin@intel.com>
2019-10-21;rte_ipsec_sad_find_existing;lib/librte_ipsec/rte_ipsec_sad.h;136;401633d9c1;<vladimir.medvedkin@intel.com>
2019-10-21;rte_ipsec_sad_lookup;lib/librte_ipsec/rte_ipsec_sad.h;168;401633d9c1;<vladimir.medvedkin@intel.com>
2019-10-23;rte_pktmbuf_free_bulk;lib/librte_mbuf/rte_mbuf.h;1426;0f824df6f8;<mb@smartsharesystems.com>
2019-10-25;rte_log_get_stream;lib/librte_eal/include/rte_log.h;115;b5fedaedfc;<david.marchand@redhat.com>
2019-10-26;rte_mbuf_dyn_dump;lib/librte_mbuf/rte_mbuf_dyn.h;234;4958ca3a44;<olivier.matz@6wind.com>
2019-10-26;rte_mbuf_dynfield_lookup;lib/librte_mbuf/rte_mbuf_dyn.h;154;4958ca3a44;<olivier.matz@6wind.com>
2019-10-26;rte_mbuf_dynfield_register;lib/librte_mbuf/rte_mbuf_dyn.h;112;4958ca3a44;<olivier.matz@6wind.com>
2019-10-26;rte_mbuf_dynfield_register_offset;lib/librte_mbuf/rte_mbuf_dyn.h;137;4958ca3a44;<olivier.matz@6wind.com>
2019-10-26;rte_mbuf_dynflag_lookup;lib/librte_mbuf/rte_mbuf_dyn.h;219;4958ca3a44;<olivier.matz@6wind.com>
2019-10-26;rte_mbuf_dynflag_register_bitnum;lib/librte_mbuf/rte_mbuf_dyn.h;202;4958ca3a44;<olivier.matz@6wind.com>
2019-10-26;rte_mbuf_dynflag_register;lib/librte_mbuf/rte_mbuf_dyn.h;177;4958ca3a44;<olivier.matz@6wind.com>
2019-10-31;rte_eth_dev_hairpin_capability_get;lib/librte_ethdev/rte_ethdev.h;4405;cf5516696d;<orika@mellanox.com>
2019-10-31;rte_eth_rx_hairpin_queue_setup;lib/librte_ethdev/rte_ethdev.h;2017;cf5516696d;<orika@mellanox.com>
2019-10-31;rte_eth_tx_hairpin_queue_setup;lib/librte_ethdev/rte_ethdev.h;2098;cf5516696d;<orika@mellanox.com>
2019-11-01;rte_fib6_add;lib/librte_fib/rte_fib6.h;133;40d41a8a7b;<vladimir.medvedkin@intel.com>
2019-11-01;rte_fib6_create;lib/librte_fib/rte_fib6.h;89;40d41a8a7b;<vladimir.medvedkin@intel.com>
2019-11-01;rte_fib6_delete;lib/librte_fib/rte_fib6.h;150;40d41a8a7b;<vladimir.medvedkin@intel.com>
2019-11-01;rte_fib6_find_existing;lib/librte_fib/rte_fib6.h;103;40d41a8a7b;<vladimir.medvedkin@intel.com>
2019-11-01;rte_fib6_free;lib/librte_fib/rte_fib6.h;115;40d41a8a7b;<vladimir.medvedkin@intel.com>
2019-11-01;rte_fib6_get_dp;lib/librte_fib/rte_fib6.h;187;40d41a8a7b;<vladimir.medvedkin@intel.com>
2019-11-01;rte_fib6_get_rib;lib/librte_fib/rte_fib6.h;200;40d41a8a7b;<vladimir.medvedkin@intel.com>
2019-11-01;rte_fib6_lookup_bulk;lib/librte_fib/rte_fib6.h;172;40d41a8a7b;<vladimir.medvedkin@intel.com>
2019-11-01;rte_fib_add;lib/librte_fib/rte_fib.h;132;39e9272484;<vladimir.medvedkin@intel.com>
2019-11-01;rte_fib_create;lib/librte_fib/rte_fib.h;88;39e9272484;<vladimir.medvedkin@intel.com>
2019-11-01;rte_fib_delete;lib/librte_fib/rte_fib.h;148;39e9272484;<vladimir.medvedkin@intel.com>
2019-11-01;rte_fib_find_existing;lib/librte_fib/rte_fib.h;102;39e9272484;<vladimir.medvedkin@intel.com>
2019-11-01;rte_fib_free;lib/librte_fib/rte_fib.h;114;39e9272484;<vladimir.medvedkin@intel.com>
2019-11-01;rte_fib_get_dp;lib/librte_fib/rte_fib.h;182;39e9272484;<vladimir.medvedkin@intel.com>
2019-11-01;rte_fib_get_rib;lib/librte_fib/rte_fib.h;195;39e9272484;<vladimir.medvedkin@intel.com>
2019-11-01;rte_fib_lookup_bulk;lib/librte_fib/rte_fib.h;169;39e9272484;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib6_create;lib/librte_rib/rte_rib6.h;316;f7e861e21c;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib6_find_existing;lib/librte_rib/rte_rib6.h;330;f7e861e21c;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib6_free;lib/librte_rib/rte_rib6.h;342;f7e861e21c;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib6_get_depth;lib/librte_rib/rte_rib6.h;255;f7e861e21c;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib6_get_ext;lib/librte_rib/rte_rib6.h;269;f7e861e21c;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib6_get_ip;lib/librte_rib/rte_rib6.h;239;f7e861e21c;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib6_get_nh;lib/librte_rib/rte_rib6.h;284;f7e861e21c;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib6_get_nxt;lib/librte_rib/rte_rib6.h;189;f7e861e21c;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib6_insert;lib/librte_rib/rte_rib6.h;223;f7e861e21c;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib6_lookup_exact;lib/librte_rib/rte_rib6.h;161;f7e861e21c;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib6_lookup;lib/librte_rib/rte_rib6.h;129;f7e861e21c;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib6_lookup_parent;lib/librte_rib/rte_rib6.h;144;f7e861e21c;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib6_remove;lib/librte_rib/rte_rib6.h;205;f7e861e21c;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib6_set_nh;lib/librte_rib/rte_rib6.h;299;f7e861e21c;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib_create;lib/librte_rib/rte_rib.h;259;5a5793a5ff;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib_find_existing;lib/librte_rib/rte_rib.h;273;5a5793a5ff;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib_free;lib/librte_rib/rte_rib.h;285;5a5793a5ff;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib_get_depth;lib/librte_rib/rte_rib.h;198;5a5793a5ff;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib_get_ext;lib/librte_rib/rte_rib.h;212;5a5793a5ff;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib_get_ip;lib/librte_rib/rte_rib.h;183;5a5793a5ff;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib_get_nh;lib/librte_rib/rte_rib.h;227;5a5793a5ff;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib_get_nxt;lib/librte_rib/rte_rib.h;136;5a5793a5ff;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib_insert;lib/librte_rib/rte_rib.h;168;5a5793a5ff;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib_lookup_exact;lib/librte_rib/rte_rib.h;109;5a5793a5ff;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib_lookup;lib/librte_rib/rte_rib.h;78;5a5793a5ff;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib_lookup_parent;lib/librte_rib/rte_rib.h;92;5a5793a5ff;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib_remove;lib/librte_rib/rte_rib.h;151;5a5793a5ff;<vladimir.medvedkin@intel.com>
2019-11-01;rte_rib_set_nh;lib/librte_rib/rte_rib.h;242;5a5793a5ff;<vladimir.medvedkin@intel.com>
2019-11-04;rte_mcfg_get_single_file_segments;lib/librte_eal/include/rte_eal_memconfig.h;121;43b815d881;<jgrajcia@cisco.com>
2019-11-05;rte_flow_dynf_metadata_avail;lib/librte_ethdev/rte_flow.h;2983;e02ecc1324;<viacheslavo@mellanox.com>
2019-11-05;rte_flow_dynf_metadata_get;lib/librte_ethdev/rte_flow.h;2710;e02ecc1324;<viacheslavo@mellanox.com>
2019-11-05;rte_flow_dynf_metadata_register;lib/librte_ethdev/rte_flow.h;3000;e02ecc1324;<viacheslavo@mellanox.com>
2019-11-05;rte_flow_dynf_metadata_set;lib/librte_ethdev/rte_flow.h;2717;e02ecc1324;<viacheslavo@mellanox.com>
2019-11-05;rte_mempool_get_page_size;lib/librte_mempool/rte_mempool.h;1804;b291e69423;<olivier.matz@6wind.com>
2019-11-05;rte_mempool_op_calc_mem_size_helper;lib/librte_mempool/rte_mempool.h;511;23bdcedcd8;<olivier.matz@6wind.com>
2019-11-05;rte_mempool_op_populate_helper;lib/librte_mempool/rte_mempool.h;615;23bdcedcd8;<olivier.matz@6wind.com>
2019-11-07;rte_wait_until_equal_16;lib/librte_eal/include/generic/rte_pause.h;47;1be7855d77;<gavin.hu@arm.com>
2019-11-07;rte_wait_until_equal_32;lib/librte_eal/include/generic/rte_pause.h;69;1be7855d77;<gavin.hu@arm.com>
2019-11-07;rte_wait_until_equal_64;lib/librte_eal/include/generic/rte_pause.h;91;1be7855d77;<gavin.hu@arm.com>
2019-11-08;rte_net_ice_dump_proto_xtr_metadata;drivers/net/ice/rte_pmd_ice.h;170;efc1b2799f;<haiyue.wang@intel.com>
2019-11-08;rte_net_ice_dynf_proto_xtr_metadata_avail;drivers/net/ice/rte_pmd_ice.h;142;efc1b2799f;<haiyue.wang@intel.com>
2019-11-08;rte_net_ice_dynf_proto_xtr_metadata_get;drivers/net/ice/rte_pmd_ice.h;157;efc1b2799f;<haiyue.wang@intel.com>
2019-11-11;rte_eth_dev_set_ptypes;lib/librte_ethdev/rte_ethdev.h;2789;5d4813acda;<pbhagavatula@marvell.com>
2019-11-14;rte_pmd_i40e_set_switch_dev;drivers/net/i40e/rte_pmd_i40e.h;1129;ec26c81df7;<andy.pei@intel.com>
2019-11-26;rte_hash_max_key_id;lib/librte_hash/rte_hash.h;178;f6320e3c11;<kumar.amber@intel.com>
2019-12-17;rte_timer_next_ticks;lib/librte_timer/rte_timer.h;347;cd7c59dc04;<stephen@networkplumber.org>
2019-12-20;rte_vhost_slave_config_change;lib/librte_vhost/rte_vhost.h;1020;109c38b2e9;<fengli@smartx.com>
2020-01-14;rte_thread_is_intr;lib/librte_eal/include/rte_eal_interrupts.h;234;9058afaa26;<hkalra@marvell.com>
2020-01-15;cpt_fpm_clear;drivers/common/cpt/cpt_pmd_ops_helper.h;59;aa2cbd32e9;<ssahu@marvell.com>
2020-01-15;cpt_fpm_init;drivers/common/cpt/cpt_pmd_ops_helper.h;53;aa2cbd32e9;<ssahu@marvell.com>
2020-01-17;rte_flow_dev_dump;lib/librte_ethdev/rte_flow.h;2973;12e6e3e78f;<jackmin@mellanox.com>
2020-01-20;rte_pktmbuf_pool_create_extbuf;lib/librte_mbuf/rte_mbuf.h;790;6c8e50c2e5;<viacheslavo@mellanox.com>
2020-01-29;rte_pmd_mlx5_get_dyn_flag_names;drivers/net/mlx5/rte_pmd_mlx5.h;32;efa79e68c8;<orika@mellanox.com>
2020-02-04;rte_cryptodev_sym_cpu_crypto_process;lib/librte_cryptodev/rte_cryptodev.h;1348;7adf992fb9;<marcinx.smoczynski@intel.com>
2020-02-04;rte_crypto_mbuf_to_vec;lib/librte_cryptodev/rte_crypto_sym.h;897;7adf992fb9;<marcinx.smoczynski@intel.com>
2020-02-04;rte_ipsec_pkt_cpu_prepare;lib/librte_ipsec/rte_ipsec.h;130;957394f726;<marcinx.smoczynski@intel.com>
2020-03-13;rte_log_can_log;lib/librte_eal/include/rte_log.h;157;241e67bfec;<ferruh.yigit@intel.com>
2020-04-10;__rte_bitmap_clear_slab_overhead_bits;lib/librte_eal/include/rte_bitmap.h;219;fc202a6f2a;<suanmingm@mellanox.com>
2020-04-10;rte_bitmap_init_with_all_set;lib/librte_eal/include/rte_bitmap.h;253;fc202a6f2a;<suanmingm@mellanox.com>
2020-04-11;rte_graph_cluster_stats_create;lib/librte_graph/rte_graph.h;388;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_graph_cluster_stats_destroy;lib/librte_graph/rte_graph.h;398;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_graph_cluster_stats_get;lib/librte_graph/rte_graph.h;409;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_graph_cluster_stats_reset;lib/librte_graph/rte_graph.h;419;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_graph_create;lib/librte_graph/rte_graph.h;228;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_graph_destroy;lib/librte_graph/rte_graph.h;242;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_graph_dump;lib/librte_graph/rte_graph.h;317;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_graph_export;lib/librte_graph/rte_graph.h;280;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_graph_from_name;lib/librte_graph/rte_graph.h;254;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_graph_id_to_name;lib/librte_graph/rte_graph.h;266;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_graph_list_dump;lib/librte_graph/rte_graph.h;326;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_graph_lookup;lib/librte_graph/rte_graph.h;297;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_graph_max_count;lib/librte_graph/rte_graph.h;306;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_graph_node_get_by_name;lib/librte_graph/rte_graph.h;374;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_graph_node_get;lib/librte_graph/rte_graph.h;360;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_graph_obj_dump;lib/librte_graph/rte_graph.h;339;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_graph_walk;lib/librte_graph/rte_graph_worker.h;130;40d4f51403;<jerinj@marvell.com>
2020-04-11;rte_node_clone;lib/librte_graph/rte_graph.h;485;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_node_dump;lib/librte_graph/rte_graph.h;592;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_node_edge_count;lib/librte_graph/rte_graph.h;522;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_node_edge_get;lib/librte_graph/rte_graph.h;572;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_node_edge_shrink;lib/librte_graph/rte_graph.h;556;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_node_edge_update;lib/librte_graph/rte_graph.h;541;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_node_enqueue;lib/librte_graph/rte_graph_worker.h;269;40d4f51403;<jerinj@marvell.com>
2020-04-11;rte_node_enqueue_next;lib/librte_graph/rte_graph_worker.h;395;40d4f51403;<jerinj@marvell.com>
2020-04-11;rte_node_enqueue_x1;lib/librte_graph/rte_graph_worker.h;296;40d4f51403;<jerinj@marvell.com>
2020-04-11;rte_node_enqueue_x2;lib/librte_graph/rte_graph_worker.h;326;40d4f51403;<jerinj@marvell.com>
2020-04-11;rte_node_enqueue_x4;lib/librte_graph/rte_graph_worker.h;361;40d4f51403;<jerinj@marvell.com>
2020-04-11;rte_node_eth_config;lib/librte_node/rte_node_eth_api.h;58;947d7f682f;<ndabilpuram@marvell.com>
2020-04-11;rte_node_from_name;lib/librte_graph/rte_graph.h;498;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_node_id_to_name;lib/librte_graph/rte_graph.h;510;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_node_ip4_rewrite_add;lib/librte_node/rte_node_ip4_api.h;71;f00708c2aa;<ndabilpuram@marvell.com>
2020-04-11;rte_node_ip4_route_add;lib/librte_node/rte_node_ip4_api.h;52;f00708c2aa;<ndabilpuram@marvell.com>
2020-04-11;rte_node_list_dump;lib/librte_graph/rte_graph.h;601;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_node_max_count;lib/librte_graph/rte_graph.h;581;a2da742768;<jerinj@marvell.com>
2020-04-11;rte_node_next_stream_get;lib/librte_graph/rte_graph_worker.h;425;40d4f51403;<jerinj@marvell.com>
2020-04-11;rte_node_next_stream_move;lib/librte_graph/rte_graph_worker.h;485;40d4f51403;<jerinj@marvell.com>
2020-04-11;rte_node_next_stream_put;lib/librte_graph/rte_graph_worker.h;456;40d4f51403;<jerinj@marvell.com>
2020-04-11;__rte_node_register;lib/librte_graph/rte_graph.h;453;a2da742768;<jerinj@marvell.com>
2020-04-11;__rte_node_stream_alloc;lib/librte_graph/rte_graph_worker.h;100;d6bba625cd;<jerinj@marvell.com>
2020-04-11;__rte_node_stream_alloc_size;lib/librte_graph/rte_graph_worker.h;117;40d4f51403;<jerinj@marvell.com>
2020-04-16;rte_hash_lookup_with_hash_bulk_data;lib/librte_hash/rte_hash.h;576;14b8ab5762;<vladimir.medvedkin@intel.com>
2020-04-16;rte_hash_lookup_with_hash_bulk;lib/librte_hash/rte_hash.h;547;14b8ab5762;<vladimir.medvedkin@intel.com>
2020-04-19;fpga_5gnr_fec_configure;drivers/baseband/fpga_5gnr_fec/rte_pmd_fpga_5gnr_fec.h;65;2d4306438c;<nicolas.chautru@intel.com>
2020-04-20;rte_ring_dequeue_bulk_elem_start;lib/librte_ring/rte_ring_peek.h;309;664ff4b172;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_dequeue_bulk_start;lib/librte_ring/rte_ring_peek.h;335;664ff4b172;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_dequeue_burst_elem_start;lib/librte_ring/rte_ring_peek.h;365;664ff4b172;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_dequeue_burst_start;lib/librte_ring/rte_ring_peek.h;391;664ff4b172;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_dequeue_elem_finish;lib/librte_ring/rte_ring_peek.h;410;664ff4b172;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_dequeue_finish;lib/librte_ring/rte_ring_peek.h;443;664ff4b172;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_enqueue_bulk_elem_start;lib/librte_ring/rte_ring_peek.h;102;664ff4b172;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_enqueue_bulk_start;lib/librte_ring/rte_ring_peek.h;128;664ff4b172;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_enqueue_burst_elem_start;lib/librte_ring/rte_ring_peek.h;153;664ff4b172;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_enqueue_burst_start;lib/librte_ring/rte_ring_peek.h;179;664ff4b172;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_enqueue_elem_finish;lib/librte_ring/rte_ring_peek.h;203;664ff4b172;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_enqueue_finish;lib/librte_ring/rte_ring_peek.h;243;664ff4b172;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_get_cons_htd_max;lib/librte_ring/rte_ring_rts.h;404;e6ba4731c0;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_get_prod_htd_max;lib/librte_ring/rte_ring_rts.h;364;e6ba4731c0;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_mc_hts_dequeue_bulk_elem;lib/librte_ring/rte_ring_hts.h;163;1cc363b8ce;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_mc_hts_dequeue_bulk;lib/librte_ring/rte_ring_hts.h;269;1cc363b8ce;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_mc_hts_dequeue_burst_elem;lib/librte_ring/rte_ring_hts.h;221;1cc363b8ce;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_mc_hts_dequeue_burst;lib/librte_ring/rte_ring_hts.h;319;1cc363b8ce;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_mc_rts_dequeue_bulk_elem;lib/librte_ring/rte_ring_rts.h;190;e6ba4731c0;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_mc_rts_dequeue_bulk;lib/librte_ring/rte_ring_rts.h;296;e6ba4731c0;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_mc_rts_dequeue_burst_elem;lib/librte_ring/rte_ring_rts.h;248;e6ba4731c0;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_mc_rts_dequeue_burst;lib/librte_ring/rte_ring_rts.h;346;e6ba4731c0;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_mp_hts_enqueue_bulk_elem;lib/librte_ring/rte_ring_hts.h;135;1cc363b8ce;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_mp_hts_enqueue_bulk;lib/librte_ring/rte_ring_hts.h;245;1cc363b8ce;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_mp_hts_enqueue_burst_elem;lib/librte_ring/rte_ring_hts.h;191;1cc363b8ce;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_mp_hts_enqueue_burst;lib/librte_ring/rte_ring_hts.h;293;1cc363b8ce;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_mp_rts_enqueue_bulk_elem;lib/librte_ring/rte_ring_rts.h;162;e6ba4731c0;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_mp_rts_enqueue_bulk;lib/librte_ring/rte_ring_rts.h;272;e6ba4731c0;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_mp_rts_enqueue_burst_elem;lib/librte_ring/rte_ring_rts.h;218;e6ba4731c0;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_mp_rts_enqueue_burst;lib/librte_ring/rte_ring_rts.h;320;e6ba4731c0;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_set_cons_htd_max;lib/librte_ring/rte_ring_rts.h;424;e6ba4731c0;<konstantin.ananyev@intel.com>
2020-04-20;rte_ring_set_prod_htd_max;lib/librte_ring/rte_ring_rts.h;384;e6ba4731c0;<konstantin.ananyev@intel.com>
2020-04-21;rte_flow_get_aged_flows;lib/librte_ethdev/rte_flow.h;3355;44bf3c796b;<dongz@mellanox.com>
2020-04-22;rte_rcu_qsbr_dq_create;lib/librte_rcu/rte_rcu_qsbr.h;805;706d306ea3;<honnappa.nagarahalli@arm.com>
2020-04-22;rte_rcu_qsbr_dq_delete;lib/librte_rcu/rte_rcu_qsbr.h;895;706d306ea3;<honnappa.nagarahalli@arm.com>
2020-04-22;rte_rcu_qsbr_dq_enqueue;lib/librte_rcu/rte_rcu_qsbr.h;840;706d306ea3;<honnappa.nagarahalli@arm.com>
2020-04-22;rte_rcu_qsbr_dq_reclaim;lib/librte_rcu/rte_rcu_qsbr.h;869;706d306ea3;<honnappa.nagarahalli@arm.com>
2020-04-22;rte_thread_getname;lib/librte_eal/include/rte_lcore.h;394;d0cfb06468;<jerinj@marvell.com>
2020-04-22;rte_trace_dump;lib/librte_eal/include/rte_trace.h;134;27db82c709;<jerinj@marvell.com>
2020-04-22;rte_trace_is_enabled;lib/librte_eal/include/rte_trace.h;35;27db82c709;<jerinj@marvell.com>
2020-04-22;__rte_trace_mem_per_thread_alloc;lib/librte_eal/include/rte_trace_point.h;226;29d985cad8;<jerinj@marvell.com>
2020-04-22;rte_trace_metadata_dump;lib/librte_eal/include/rte_trace.h;125;27db82c709;<jerinj@marvell.com>
2020-04-22;rte_trace_mode_get;lib/librte_eal/include/rte_trace.h;69;27db82c709;<jerinj@marvell.com>
2020-04-22;rte_trace_mode_set;lib/librte_eal/include/rte_trace.h;60;27db82c709;<jerinj@marvell.com>
2020-04-22;rte_trace_pattern;lib/librte_eal/include/rte_trace.h;84;27db82c709;<jerinj@marvell.com>
2020-04-22;rte_trace_point_disable;lib/librte_eal/include/rte_trace_point.h;176;27db82c709;<jerinj@marvell.com>
2020-04-22;__rte_trace_point_emit_field;lib/librte_eal/include/rte_trace_point.h;244;0cd4ea043f;<jerinj@marvell.com>
2020-04-22;rte_trace_point_enable;lib/librte_eal/include/rte_trace_point.h;164;27db82c709;<jerinj@marvell.com>
2020-04-22;__rte_trace_point_fp_is_enabled;lib/librte_eal/include/rte_trace_point.h;209;27db82c709;<jerinj@marvell.com>
2020-04-22;rte_trace_point_is_enabled;lib/librte_eal/include/rte_trace_point.h;187;27db82c709;<jerinj@marvell.com>
2020-04-22;rte_trace_point_lookup;lib/librte_eal/include/rte_trace_point.h;198;27db82c709;<jerinj@marvell.com>
2020-04-22;__rte_trace_point_register;lib/librte_eal/include/rte_trace_point.h;264;f58880682c;<jerinj@marvell.com>
2020-04-22;rte_trace_regexp;lib/librte_eal/include/rte_trace.h;100;27db82c709;<jerinj@marvell.com>
2020-04-22;rte_trace_save;lib/librte_eal/include/rte_trace.h;113;27db82c709;<jerinj@marvell.com>
2020-04-27;rte_bit_relaxed_clear32;lib/librte_eal/include/rte_bitops.h;93;7f3aa08639;<joyce.kong@arm.com>
2020-04-27;rte_bit_relaxed_clear64;lib/librte_eal/include/rte_bitops.h;212;7f3aa08639;<joyce.kong@arm.com>
2020-04-27;rte_bit_relaxed_get32;lib/librte_eal/include/rte_bitops.h;51;7f3aa08639;<joyce.kong@arm.com>
2020-04-27;rte_bit_relaxed_get64;lib/librte_eal/include/rte_bitops.h;170;7f3aa08639;<joyce.kong@arm.com>
2020-04-27;rte_bit_relaxed_set32;lib/librte_eal/include/rte_bitops.h;72;7f3aa08639;<joyce.kong@arm.com>
2020-04-27;rte_bit_relaxed_set64;lib/librte_eal/include/rte_bitops.h;191;7f3aa08639;<joyce.kong@arm.com>
2020-04-27;rte_bit_relaxed_test_and_clear32;lib/librte_eal/include/rte_bitops.h;143;7f3aa08639;<joyce.kong@arm.com>
2020-04-27;rte_bit_relaxed_test_and_clear64;lib/librte_eal/include/rte_bitops.h;262;7f3aa08639;<joyce.kong@arm.com>
2020-04-27;rte_bit_relaxed_test_and_set32;lib/librte_eal/include/rte_bitops.h;117;7f3aa08639;<joyce.kong@arm.com>
2020-04-27;rte_bit_relaxed_test_and_set64;lib/librte_eal/include/rte_bitops.h;236;7f3aa08639;<joyce.kong@arm.com>
2020-04-30;rte_metrics_tel_encode_json_format;lib/librte_metrics/rte_metrics_telemetry.h;43;c5b7197f66;<ciara.power@intel.com>
2020-04-30;rte_metrics_tel_extract_data;lib/librte_metrics/rte_metrics_telemetry.h;61;c5b7197f66;<ciara.power@intel.com>
2020-04-30;rte_metrics_tel_get_global_stats;lib/librte_metrics/rte_metrics_telemetry.h;48;c5b7197f66;<ciara.power@intel.com>
2020-04-30;rte_metrics_tel_get_ports_stats_json;lib/librte_metrics/rte_metrics_telemetry.h;56;c5b7197f66;<ciara.power@intel.com>
2020-04-30;rte_metrics_tel_get_port_stats_ids;lib/librte_metrics/rte_metrics_telemetry.h;52;c5b7197f66;<ciara.power@intel.com>
2020-04-30;rte_metrics_tel_reg_all_ethdev;lib/librte_metrics/rte_metrics_telemetry.h;39;c5b7197f66;<ciara.power@intel.com>
2020-04-30;rte_tel_data_add_array_int;lib/librte_telemetry/rte_telemetry.h;119;ed1bfad7d3;<bruce.richardson@intel.com>
2020-04-30;rte_tel_data_add_array_string;lib/librte_telemetry/rte_telemetry.h;103;ed1bfad7d3;<bruce.richardson@intel.com>
2020-04-30;rte_tel_data_add_array_u64;lib/librte_telemetry/rte_telemetry.h;135;ed1bfad7d3;<bruce.richardson@intel.com>
2020-04-30;rte_tel_data_add_dict_int;lib/librte_telemetry/rte_telemetry.h;171;ed1bfad7d3;<bruce.richardson@intel.com>
2020-04-30;rte_tel_data_add_dict_string;lib/librte_telemetry/rte_telemetry.h;153;ed1bfad7d3;<bruce.richardson@intel.com>
2020-04-30;rte_tel_data_add_dict_u64;lib/librte_telemetry/rte_telemetry.h;188;ed1bfad7d3;<bruce.richardson@intel.com>
2020-04-30;rte_tel_data_start_array;lib/librte_telemetry/rte_telemetry.h;61;ed1bfad7d3;<bruce.richardson@intel.com>
2020-04-30;rte_tel_data_start_dict;lib/librte_telemetry/rte_telemetry.h;73;ed1bfad7d3;<bruce.richardson@intel.com>
2020-04-30;rte_tel_data_string;lib/librte_telemetry/rte_telemetry.h;87;ed1bfad7d3;<bruce.richardson@intel.com>
2020-04-30;rte_telemetry_init;lib/librte_telemetry/rte_telemetry.h;262;6dd571fd07;<bruce.richardson@intel.com>
2020-04-30;rte_telemetry_legacy_register;lib/librte_telemetry/rte_telemetry_legacy.h;81;b80fe1805e;<ciara.power@intel.com>
2020-04-30;rte_telemetry_register_cmd;lib/librte_telemetry/rte_telemetry.h;241;6dd571fd07;<bruce.richardson@intel.com>
2020-06-18;rte_vdpa_get_stats;lib/librte_vhost/rte_vdpa.h;200;1cb4415751;<matan@mellanox.com>
2020-06-18;rte_vdpa_get_stats_names;lib/librte_vhost/rte_vdpa.h;169;1cb4415751;<matan@mellanox.com>
2020-06-18;rte_vdpa_reset_stats;lib/librte_vhost/rte_vdpa.h;217;1cb4415751;<matan@mellanox.com>
2020-06-19;rte_power_check_env_supported;lib/librte_power/rte_power.h;41;20ab67608a;<anatoly.burakov@intel.com>
2020-06-24;rte_cryptodev_get_qp_status;lib/librte_cryptodev/rte_cryptodev.h;742;21b6a35171;<fiona.trahe@intel.com>
2020-06-26;rte_vdpa_find_device_by_name;lib/librte_vhost/rte_vdpa.h;55;38f8ab0bbc;<maxime.coquelin@redhat.com>
2020-06-26;rte_vdpa_get_features;lib/librte_vhost/rte_vdpa.h;104;8d44fc3a81;<maxime.coquelin@redhat.com>
2020-06-26;rte_vdpa_get_protocol_features;lib/librte_vhost/rte_vdpa.h;121;8d44fc3a81;<maxime.coquelin@redhat.com>
2020-06-26;rte_vdpa_get_queue_num;lib/librte_vhost/rte_vdpa.h;87;8d44fc3a81;<maxime.coquelin@redhat.com>
2020-06-26;rte_vdpa_get_rte_device;lib/librte_vhost/rte_vdpa.h;70;0f700f90ad;<maxime.coquelin@redhat.com>
2020-06-26;rte_vdpa_register_device;lib/librte_vhost/rte_vdpa_dev.h;93;a49f758d11;<maxime.coquelin@redhat.com>
2020-06-26;rte_vdpa_relay_vring_used;lib/librte_vhost/rte_vdpa_dev.h;149;a49f758d11;<maxime.coquelin@redhat.com>
2020-06-26;rte_vdpa_relay_vring_used;lib/librte_vhost/rte_vdpa.h;142;8d44fc3a81;<maxime.coquelin@redhat.com>
2020-06-26;rte_vdpa_unregister_device;lib/librte_vhost/rte_vdpa_dev.h;109;a49f758d11;<maxime.coquelin@redhat.com>
2020-06-26;rte_vhost_host_notifier_ctrl;lib/librte_vhost/rte_vdpa_dev.h;128;a49f758d11;<maxime.coquelin@redhat.com>
2020-07-03;rte_eal_vfio_get_vf_token;lib/librte_eal/include/rte_eal.h;457;598be72395;<haiyue.wang@intel.com>
2020-07-06;rte_lcore_callback_register;lib/librte_eal/include/rte_lcore.h;283;61bb531295;<david.marchand@redhat.com>
2020-07-06;rte_lcore_callback_unregister;lib/librte_eal/include/rte_lcore.h;298;61bb531295;<david.marchand@redhat.com>
2020-07-06;rte_lcore_dump;lib/librte_eal/include/rte_lcore.h;341;b41befd3af;<david.marchand@redhat.com>
2020-07-06;rte_lcore_iterate;lib/librte_eal/include/rte_lcore.h;331;b41befd3af;<david.marchand@redhat.com>
2020-07-06;rte_mp_disable;lib/librte_eal/include/rte_eal.h;166;d2fd16c8b0;<david.marchand@redhat.com>
2020-07-06;rte_regexdev_attr_get;lib/librte_regexdev/rte_regexdev.h;905;bab9497ef7;<jerinj@marvell.com>
2020-07-06;rte_regexdev_attr_set;lib/librte_regexdev/rte_regexdev.h;929;bab9497ef7;<jerinj@marvell.com>
2020-07-06;rte_regexdev_close;lib/librte_regexdev/rte_regexdev.h;851;bab9497ef7;<jerinj@marvell.com>
2020-07-06;rte_regexdev_configure;lib/librte_regexdev/rte_regexdev.h;733;bab9497ef7;<jerinj@marvell.com>
2020-07-06;rte_regexdev_count;lib/librte_regexdev/rte_regexdev.h;252;bab9497ef7;<jerinj@marvell.com>
2020-07-06;rte_regexdev_dequeue_burst;lib/librte_regexdev/rte_regexdev.h;1512;bab9497ef7;<jerinj@marvell.com>
2020-07-06;rte_regexdev_dump;lib/librte_regexdev/rte_regexdev.h;1224;bab9497ef7;<jerinj@marvell.com>
2020-07-06;rte_regexdev_enqueue_burst;lib/librte_regexdev/rte_regexdev.h;1453;bab9497ef7;<jerinj@marvell.com>
2020-07-06;rte_regexdev_get_dev_id;lib/librte_regexdev/rte_regexdev.h;269;bab9497ef7;<jerinj@marvell.com>
2020-07-06;rte_regexdev_info_get;lib/librte_regexdev/rte_regexdev.h;634;bab9497ef7;<jerinj@marvell.com>
2020-07-06;rte_regexdev_queue_pair_setup;lib/librte_regexdev/rte_regexdev.h;789;bab9497ef7;<jerinj@marvell.com>
2020-07-06;rte_regexdev_rule_db_compile_activate;lib/librte_regexdev/rte_regexdev.h;1020;bab9497ef7;<jerinj@marvell.com>
2020-07-06;rte_regexdev_rule_db_export;lib/librte_regexdev/rte_regexdev.h;1070;bab9497ef7;<jerinj@marvell.com>
2020-07-06;rte_regexdev_rule_db_import;lib/librte_regexdev/rte_regexdev.h;1045;bab9497ef7;<jerinj@marvell.com>
2020-07-06;rte_regexdev_rule_db_update;lib/librte_regexdev/rte_regexdev.h;998;bab9497ef7;<jerinj@marvell.com>
2020-07-06;rte_regexdev_selftest;lib/librte_regexdev/rte_regexdev.h;1206;bab9497ef7;<jerinj@marvell.com>
2020-07-06;rte_regexdev_start;lib/librte_regexdev/rte_regexdev.h;812;bab9497ef7;<jerinj@marvell.com>
2020-07-06;rte_regexdev_stop;lib/librte_regexdev/rte_regexdev.h;835;bab9497ef7;<jerinj@marvell.com>
2020-07-06;rte_regexdev_xstats_by_name_get;lib/librte_regexdev/rte_regexdev.h;1164;bab9497ef7;<jerinj@marvell.com>
2020-07-06;rte_regexdev_xstats_get;lib/librte_regexdev/rte_regexdev.h;1137;bab9497ef7;<jerinj@marvell.com>
2020-07-06;rte_regexdev_xstats_names_get;lib/librte_regexdev/rte_regexdev.h;1110;bab9497ef7;<jerinj@marvell.com>
2020-07-06;rte_regexdev_xstats_reset;lib/librte_regexdev/rte_regexdev.h;1188;bab9497ef7;<jerinj@marvell.com>
2020-07-06;rte_thread_register;lib/librte_eal/include/rte_lcore.h;410;5c307ba2a5;<david.marchand@redhat.com>
2020-07-06;rte_thread_unregister;lib/librte_eal/include/rte_lcore.h;417;5c307ba2a5;<david.marchand@redhat.com>
2020-07-07;rte_vhost_async_channel_register;lib/librte_vhost/rte_vhost_async.h;119;78639d5456;<patrick.fu@intel.com>
2020-07-07;rte_vhost_async_channel_unregister;lib/librte_vhost/rte_vhost_async.h;133;78639d5456;<patrick.fu@intel.com>
2020-07-07;rte_vhost_poll_enqueue_completed;lib/librte_vhost/rte_vhost_async.h;172;cd6760da10;<patrick.fu@intel.com>
2020-07-07;rte_vhost_submit_enqueue_burst;lib/librte_vhost/rte_vhost_async.h;152;cd6760da10;<patrick.fu@intel.com>
2020-07-08;rte_pmd_i40e_get_fdir_info;drivers/net/i40e/rte_pmd_i40e.h;1078;5aeb286fe5;<chenxux.di@intel.com>
2020-07-08;rte_pmd_i40e_get_fdir_stats;drivers/net/i40e/rte_pmd_i40e.h;1094;5aeb286fe5;<chenxux.di@intel.com>
2020-07-08;rte_pmd_i40e_set_gre_key_len;drivers/net/i40e/rte_pmd_i40e.h;1111;5aeb286fe5;<chenxux.di@intel.com>
2020-07-08;rte_pmd_ixgbe_get_fdir_info;drivers/net/ixgbe/rte_pmd_ixgbe.h;744;baa949306d;<chenxux.di@intel.com>
2020-07-08;rte_pmd_ixgbe_get_fdir_stats;drivers/net/ixgbe/rte_pmd_ixgbe.h;760;baa949306d;<chenxux.di@intel.com>
2020-07-10;rte_lpm_rcu_qsbr_add;lib/librte_lpm/rte_lpm.h;229;8a9f8564e9;<ruifeng.wang@arm.com>

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH] drivers/common: mark symbols as internal
  2020-09-02  9:59  3% [dpdk-dev] [PATCH] drivers/common: mark symbols as internal David Marchand
  2020-09-02 10:10  0% ` [dpdk-dev] [EXT] " Anoob Joseph
@ 2020-09-02 14:34  0% ` Ferruh Yigit
  1 sibling, 0 replies; 200+ results
From: Ferruh Yigit @ 2020-09-02 14:34 UTC (permalink / raw)
  To: David Marchand, dev
  Cc: haiyue.wang, Anoob Joseph, Ray Kinsella, Neil Horman,
	Jingjing Wu, Beilei Xing, Liron Himi, Harman Kalra

On 9/2/2020 10:59 AM, David Marchand wrote:
> Now that we have the internal tag, let's avoid confusion with exported
> symbols in common drivers that were using the experimental tag as a
> workaround.
> There is also no need to put internal API symbols in the public stable
> ABI.
> 
> Signed-off-by: David Marchand <david.marchand@redhat.com>
> ---
> Note: I noticed a patch from Haiyue for iavf.
> I am fine with reposting per driver, but it seems worth a tree-wide
> change from my pov.
> 
> ---
>  drivers/common/cpt/cpt_pmd_ops_helper.h             |  8 +++++---
>  drivers/common/cpt/rte_common_cpt_version.map       | 13 +++----------
>  drivers/common/iavf/iavf_prototype.h                |  8 ++++++++
>  drivers/common/iavf/rte_common_iavf_version.map     |  2 +-

iavf one sent as separate patch [1] and applied to next-net [2].


[1]
https://patches.dpdk.org/patch/75564/

[2]
https://git.dpdk.org/next/dpdk-next-net/commit/?h=main&id=f59221bda2ad1f7aa118dc41d6bac4bd3a3d4654

>  drivers/common/mvep/rte_common_mvep_version.map     |  2 +-
>  drivers/common/mvep/rte_mvep_common.h               |  3 +++
>  drivers/common/octeontx/octeontx_mbox.h             |  5 +++++
>  .../common/octeontx/rte_common_octeontx_version.map |  2 +-
>  8 files changed, 27 insertions(+), 16 deletions(-)

<...>


^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH v2 0/7] Enhance rawdev APIs
      @ 2020-09-02 11:21  0%   ` Nipun Gupta
  2 siblings, 0 replies; 200+ results
From: Nipun Gupta @ 2020-09-02 11:21 UTC (permalink / raw)
  To: Bruce Richardson, Hemant Agrawal; +Cc: dev

Series
Acked-by: Nipun Gupta <nipun.gupta@nxp.com>

> -----Original Message-----
> From: Bruce Richardson <bruce.richardson@intel.com>
> Sent: Thursday, August 13, 2020 4:58 PM
> To: Nipun Gupta <nipun.gupta@nxp.com>; Hemant Agrawal
> <hemant.agrawal@nxp.com>
> Cc: dev@dpdk.org; Bruce Richardson <bruce.richardson@intel.com>
> Subject: [PATCH v2 0/7] Enhance rawdev APIs
> 
> This patchset proposes some internal and externally-visible changes to the
> rawdev API, the ABI change of which were previously announced.
> 
> The changes are in two main areas:
> * For any APIs which take a void * parameter for driver-specific structs,
>   add an additional parameter to provide the struct length. This allows
>   some runtime type-checking, as well as possible ABI-compatibility support
>   in the future as structure change generally involve a change in the size
>   of the structure.
> * Ensure all APIs which can return error values have int type, rather than
>   void. Since functions like info_get and queue_default_get can now do some
>   typechecking, they need to be modified to allow them to return error
>   codes on failure.
> 
> V2:
>   - add additional patch to make start/stop functions optional
>   - remove deprecation notice once changes applied
> 
> Bruce Richardson (7):
>   rawdev: add private data length parameter to info fn
>   rawdev: allow drivers to return error from info function
>   rawdev: add private data length parameter to config fn
>   rawdev: add private data length parameter to queue fns
>   rawdev: allow queue default config query to return error
>   rawdev: mark start and stop functions optional
>   doc: remove rawdev deprecation notice
> 
>  app/test/test_rawdev.c                      |  2 +-
>  doc/guides/rawdevs/ioat.rst                 |  4 +-
>  doc/guides/rawdevs/octeontx2_dma.rst        |  2 +-
>  doc/guides/rawdevs/octeontx2_ep.rst         |  3 +-
>  doc/guides/rel_notes/deprecation.rst        |  7 ---
>  doc/guides/sample_app_ug/ioat.rst           |  4 +-
>  drivers/bus/ifpga/ifpga_bus.c               |  2 +-
>  drivers/raw/ifpga/ifpga_rawdev.c            | 23 +++++-----
>  drivers/raw/ioat/ioat_rawdev.c              | 17 ++++---
>  drivers/raw/ioat/ioat_rawdev_test.c         |  6 +--
>  drivers/raw/ntb/ntb.c                       | 49 ++++++++++++++++-----
>  drivers/raw/octeontx2_dma/otx2_dpi_rawdev.c |  7 +--
>  drivers/raw/octeontx2_dma/otx2_dpi_test.c   |  3 +-
>  drivers/raw/octeontx2_ep/otx2_ep_rawdev.c   |  7 +--
>  drivers/raw/octeontx2_ep/otx2_ep_test.c     |  2 +-
>  drivers/raw/skeleton/skeleton_rawdev.c      | 36 +++++++++------
>  drivers/raw/skeleton/skeleton_rawdev_test.c | 32 ++++++++------
>  examples/ioat/ioatfwd.c                     |  4 +-
>  examples/ntb/ntb_fwd.c                      |  7 +--
>  lib/librte_rawdev/rte_rawdev.c              | 47 +++++++++++++-------
>  lib/librte_rawdev/rte_rawdev.h              | 27 ++++++++++--
>  lib/librte_rawdev/rte_rawdev_pmd.h          | 22 ++++++---
>  22 files changed, 201 insertions(+), 112 deletions(-)
> 
> --
> 2.25.1


^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [EXT] [PATCH] drivers/common: mark symbols as internal
  2020-09-02  9:59  3% [dpdk-dev] [PATCH] drivers/common: mark symbols as internal David Marchand
@ 2020-09-02 10:10  0% ` Anoob Joseph
  2020-09-02 14:34  0% ` [dpdk-dev] " Ferruh Yigit
  1 sibling, 0 replies; 200+ results
From: Anoob Joseph @ 2020-09-02 10:10 UTC (permalink / raw)
  To: David Marchand, dev
  Cc: ferruh.yigit, haiyue.wang, Ray Kinsella, Neil Horman,
	Jingjing Wu, Beilei Xing, Liron Himi, Harman Kalra,
	Ankur Dwivedi

> ----------------------------------------------------------------------
> Now that we have the internal tag, let's avoid confusion with exported
> symbols in common drivers that were using the experimental tag as a
> workaround.
> There is also no need to put internal API symbols in the public stable ABI.
> 
> Signed-off-by: David Marchand <david.marchand@redhat.com>
> ---
> Note: I noticed a patch from Haiyue for iavf.
> I am fine with reposting per driver, but it seems worth a tree-wide change
> from my pov.
> 
Acked-by: Anoob Joseph <anoobj@marvell.com>

^ permalink raw reply	[relevance 0%]

* [dpdk-dev] [PATCH] drivers/common: mark symbols as internal
@ 2020-09-02  9:59  3% David Marchand
  2020-09-02 10:10  0% ` [dpdk-dev] [EXT] " Anoob Joseph
  2020-09-02 14:34  0% ` [dpdk-dev] " Ferruh Yigit
  0 siblings, 2 replies; 200+ results
From: David Marchand @ 2020-09-02  9:59 UTC (permalink / raw)
  To: dev
  Cc: ferruh.yigit, haiyue.wang, Anoob Joseph, Ray Kinsella,
	Neil Horman, Jingjing Wu, Beilei Xing, Liron Himi, Harman Kalra

Now that we have the internal tag, let's avoid confusion with exported
symbols in common drivers that were using the experimental tag as a
workaround.
There is also no need to put internal API symbols in the public stable
ABI.

Signed-off-by: David Marchand <david.marchand@redhat.com>
---
Note: I noticed a patch from Haiyue for iavf.
I am fine with reposting per driver, but it seems worth a tree-wide
change from my pov.

---
 drivers/common/cpt/cpt_pmd_ops_helper.h             |  8 +++++---
 drivers/common/cpt/rte_common_cpt_version.map       | 13 +++----------
 drivers/common/iavf/iavf_prototype.h                |  8 ++++++++
 drivers/common/iavf/rte_common_iavf_version.map     |  2 +-
 drivers/common/mvep/rte_common_mvep_version.map     |  2 +-
 drivers/common/mvep/rte_mvep_common.h               |  3 +++
 drivers/common/octeontx/octeontx_mbox.h             |  5 +++++
 .../common/octeontx/rte_common_octeontx_version.map |  2 +-
 8 files changed, 27 insertions(+), 16 deletions(-)

diff --git a/drivers/common/cpt/cpt_pmd_ops_helper.h b/drivers/common/cpt/cpt_pmd_ops_helper.h
index 716ae94c8e..413ca50edd 100644
--- a/drivers/common/cpt/cpt_pmd_ops_helper.h
+++ b/drivers/common/cpt/cpt_pmd_ops_helper.h
@@ -18,7 +18,7 @@
  * @return
  *   - length
  */
-
+__rte_internal
 int32_t
 cpt_pmd_ops_helper_get_mlen_direct_mode(void);
 
@@ -29,6 +29,7 @@ cpt_pmd_ops_helper_get_mlen_direct_mode(void);
  * @return
  *   - length
  */
+__rte_internal
 int
 cpt_pmd_ops_helper_get_mlen_sg_mode(void);
 
@@ -38,6 +39,7 @@ cpt_pmd_ops_helper_get_mlen_sg_mode(void);
  * @return
  *  - length
  */
+__rte_internal
 int
 cpt_pmd_ops_helper_asym_get_mlen(void);
 
@@ -50,13 +52,13 @@ cpt_pmd_ops_helper_asym_get_mlen(void);
  * @return
  *  - 0 on success, negative on error
  */
-__rte_experimental
+__rte_internal
 int cpt_fpm_init(uint64_t *fpm_table_iova);
 
 /*
  * Clear ECC FMUL precomputed table
  */
-__rte_experimental
+__rte_internal
 void cpt_fpm_clear(void);
 
 #endif /* _CPT_PMD_OPS_HELPER_H_ */
diff --git a/drivers/common/cpt/rte_common_cpt_version.map b/drivers/common/cpt/rte_common_cpt_version.map
index 4d85021a87..b4080e0f8c 100644
--- a/drivers/common/cpt/rte_common_cpt_version.map
+++ b/drivers/common/cpt/rte_common_cpt_version.map
@@ -1,18 +1,11 @@
-DPDK_21 {
+INTERNAL {
 	global:
 
+	cpt_fpm_clear;
+	cpt_fpm_init;
 	cpt_pmd_ops_helper_asym_get_mlen;
 	cpt_pmd_ops_helper_get_mlen_direct_mode;
 	cpt_pmd_ops_helper_get_mlen_sg_mode;
 
 	local: *;
 };
-
-EXPERIMENTAL {
-	global:
-
-	cpt_fpm_clear;
-	cpt_fpm_init;
-
-	local: *;
-};
diff --git a/drivers/common/iavf/iavf_prototype.h b/drivers/common/iavf/iavf_prototype.h
index 31ce2af494..1b72127092 100644
--- a/drivers/common/iavf/iavf_prototype.h
+++ b/drivers/common/iavf/iavf_prototype.h
@@ -5,6 +5,8 @@
 #ifndef _IAVF_PROTOTYPE_H_
 #define _IAVF_PROTOTYPE_H_
 
+#include <rte_compat.h>
+
 #include "iavf_type.h"
 #include "iavf_alloc.h"
 #include "virtchnl.h"
@@ -17,7 +19,9 @@
  */
 
 /* adminq functions */
+__rte_internal
 enum iavf_status iavf_init_adminq(struct iavf_hw *hw);
+__rte_internal
 enum iavf_status iavf_shutdown_adminq(struct iavf_hw *hw);
 enum iavf_status iavf_init_asq(struct iavf_hw *hw);
 enum iavf_status iavf_init_arq(struct iavf_hw *hw);
@@ -30,6 +34,7 @@ void iavf_free_adminq_asq(struct iavf_hw *hw);
 void iavf_free_adminq_arq(struct iavf_hw *hw);
 enum iavf_status iavf_validate_mac_addr(u8 *mac_addr);
 void iavf_adminq_init_ring_data(struct iavf_hw *hw);
+__rte_internal
 enum iavf_status iavf_clean_arq_element(struct iavf_hw *hw,
 					struct iavf_arq_event_info *e,
 					u16 *events_pending);
@@ -61,6 +66,7 @@ enum iavf_status iavf_aq_set_rss_key(struct iavf_hw *hw,
 const char *iavf_aq_str(struct iavf_hw *hw, enum iavf_admin_queue_err aq_err);
 const char *iavf_stat_str(struct iavf_hw *hw, enum iavf_status stat_err);
 
+__rte_internal
 enum iavf_status iavf_set_mac_type(struct iavf_hw *hw);
 
 extern struct iavf_rx_ptype_decoded iavf_ptype_lookup[];
@@ -76,9 +82,11 @@ void iavf_acquire_spinlock(struct iavf_spinlock *sp);
 void iavf_release_spinlock(struct iavf_spinlock *sp);
 void iavf_destroy_spinlock(struct iavf_spinlock *sp);
 
+__rte_internal
 void iavf_vf_parse_hw_config(struct iavf_hw *hw,
 			     struct virtchnl_vf_resource *msg);
 enum iavf_status iavf_vf_reset(struct iavf_hw *hw);
+__rte_internal
 enum iavf_status iavf_aq_send_msg_to_pf(struct iavf_hw *hw,
 				enum virtchnl_ops v_opcode,
 				enum iavf_status v_retval,
diff --git a/drivers/common/iavf/rte_common_iavf_version.map b/drivers/common/iavf/rte_common_iavf_version.map
index 44142499e0..e0f117197c 100644
--- a/drivers/common/iavf/rte_common_iavf_version.map
+++ b/drivers/common/iavf/rte_common_iavf_version.map
@@ -1,4 +1,4 @@
-DPDK_21 {
+INTERNAL {
 	global:
 
 	iavf_aq_send_msg_to_pf;
diff --git a/drivers/common/mvep/rte_common_mvep_version.map b/drivers/common/mvep/rte_common_mvep_version.map
index e5af82c61d..cbac7bfa8d 100644
--- a/drivers/common/mvep/rte_common_mvep_version.map
+++ b/drivers/common/mvep/rte_common_mvep_version.map
@@ -1,4 +1,4 @@
-DPDK_21 {
+INTERNAL {
 	global:
 
 	rte_mvep_deinit;
diff --git a/drivers/common/mvep/rte_mvep_common.h b/drivers/common/mvep/rte_mvep_common.h
index 0593cefcd2..b10540316b 100644
--- a/drivers/common/mvep/rte_mvep_common.h
+++ b/drivers/common/mvep/rte_mvep_common.h
@@ -5,6 +5,7 @@
 #ifndef __RTE_MVEP_COMMON_H__
 #define __RTE_MVEP_COMMON_H__
 
+#include <rte_compat.h>
 #include <rte_kvargs.h>
 
 enum mvep_module_type {
@@ -15,7 +16,9 @@ enum mvep_module_type {
 	MVEP_MOD_T_LAST
 };
 
+__rte_internal
 int rte_mvep_init(enum mvep_module_type module, struct rte_kvargs *kvlist);
+__rte_internal
 int rte_mvep_deinit(enum mvep_module_type module);
 
 #endif /* __RTE_MVEP_COMMON_H__ */
diff --git a/drivers/common/octeontx/octeontx_mbox.h b/drivers/common/octeontx/octeontx_mbox.h
index e56719cb85..706b198f6e 100644
--- a/drivers/common/octeontx/octeontx_mbox.h
+++ b/drivers/common/octeontx/octeontx_mbox.h
@@ -35,11 +35,16 @@ struct octeontx_mbox_hdr {
 	uint8_t res_code; /* Functional layer response code */
 };
 
+__rte_internal
 int octeontx_mbox_init(void);
 void octeontx_set_global_domain(uint16_t global_domain);
+__rte_internal
 uint16_t octeontx_get_global_domain(void);
+__rte_internal
 int octeontx_mbox_set_ram_mbox_base(uint8_t *ram_mbox_base, uint16_t domain);
+__rte_internal
 int octeontx_mbox_set_reg(uint8_t *reg, uint16_t domain);
+__rte_internal
 int octeontx_mbox_send(struct octeontx_mbox_hdr *hdr,
 		void *txdata, uint16_t txlen, void *rxdata, uint16_t rxlen);
 
diff --git a/drivers/common/octeontx/rte_common_octeontx_version.map b/drivers/common/octeontx/rte_common_octeontx_version.map
index 30f3fa65e0..049f66b331 100644
--- a/drivers/common/octeontx/rte_common_octeontx_version.map
+++ b/drivers/common/octeontx/rte_common_octeontx_version.map
@@ -1,4 +1,4 @@
-DPDK_21 {
+INTERNAL {
 	global:
 
 	octeontx_get_global_domain;
-- 
2.23.0


^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] [PATCH] rte_log: make rte_logs private
  2020-08-27 22:54  9% [dpdk-dev] [PATCH] rte_log: make rte_logs private Stephen Hemminger
@ 2020-09-02  8:40  0% ` David Marchand
    1 sibling, 0 replies; 200+ results
From: David Marchand @ 2020-09-02  8:40 UTC (permalink / raw)
  To: Stephen Hemminger
  Cc: Ray Kinsella, Neil Horman, John McNamara, Marko Kovacevic, dev

On Fri, Aug 28, 2020 at 12:54 AM Stephen Hemminger
<stephen@networkplumber.org> wrote:
>
> As announced in earlier releases, rte_logs can now be made
> internal to eal_common_log.

I had prepared this cleanup before my PTO and was about to send it.
Just to avoid duplicate work, do you intend to work on other cleanups ?


Hiding this symbol is fine, but we must remove the experimental tag on
rte_log_get_stream since it becomes the only way to access the log
stream.

More comments below.
Thanks.


>
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
> ---
>  doc/guides/rel_notes/deprecation.rst   |  4 ----
>  doc/guides/rel_notes/release_20_11.rst |  2 ++
>  lib/librte_eal/common/eal_common_log.c | 11 ++++++++---
>  lib/librte_eal/include/rte_log.h       | 16 ++--------------
>  lib/librte_eal/rte_eal_version.map     |  1 -
>  5 files changed, 12 insertions(+), 22 deletions(-)
>
> diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
> index 345c38d5b630..5445a4f0a061 100644
> --- a/doc/guides/rel_notes/deprecation.rst
> +++ b/doc/guides/rel_notes/deprecation.rst
> @@ -77,10 +77,6 @@ Deprecation Notices
>  * eal: The function ``rte_eal_remote_launch`` will return new error codes
>    after read or write error on the pipe, instead of calling ``rte_panic``.
>
> -* eal: The ``rte_logs`` struct and global symbol will be made private to
> -  remove it from the externally visible ABI and allow it to be updated in the
> -  future.
> -
>  * eal: The ``rte_dev_event`` structure will be made private to the EAL as no
>    public API makes use of it.
>
> diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
> index df227a1773b8..e422ac790912 100644
> --- a/doc/guides/rel_notes/release_20_11.rst
> +++ b/doc/guides/rel_notes/release_20_11.rst
> @@ -84,6 +84,8 @@ API Changes
>     Also, make sure to start the actual text at the margin.
>     =======================================================
>
> +* eal: The ``rte_logs`` struct and global symbol was made private
> +  and is no longer part of the API.

Missing double empty line.


>
>  ABI Changes
>  -----------
> diff --git a/lib/librte_eal/common/eal_common_log.c b/lib/librte_eal/common/eal_common_log.c
> index 8835c8fff897..a25766de181a 100644
> --- a/lib/librte_eal/common/eal_common_log.c
> +++ b/lib/librte_eal/common/eal_common_log.c
> @@ -17,11 +17,16 @@
>
>  #include "eal_private.h"
>
> -/* global log structure */
> -struct rte_logs rte_logs = {
> +/** The rte_log structure. */
> +static struct rte_logs {
> +       uint32_t type;  /**< Bitfield with enabled logs. */
> +       uint32_t level; /**< Log level. */
> +       FILE *file;     /**< Output file set by rte_openlog_stream, or NULL. */
> +       size_t dynamic_types_len;
> +       struct rte_log_dynamic_type *dynamic_types;
> +} rte_logs = {
>         .type = ~0,
>         .level = RTE_LOG_DEBUG,
> -       .file = NULL,
>  };
>
>  struct rte_eal_opt_loglevel {
> diff --git a/lib/librte_eal/include/rte_log.h b/lib/librte_eal/include/rte_log.h
> index eaf66e4f61de..655c3b39c29e 100644
> --- a/lib/librte_eal/include/rte_log.h
> +++ b/lib/librte_eal/include/rte_log.h
> @@ -29,18 +29,6 @@ extern "C" {
>
>  struct rte_log_dynamic_type;

No need for rte_log_dynamic_type forward declaration anymore if you
simply move rte_logs or this type declaration in eal_common_log.c.


>
> -/** The rte_log structure. */
> -struct rte_logs {
> -       uint32_t type;  /**< Bitfield with enabled logs. */
> -       uint32_t level; /**< Log level. */
> -       FILE *file;     /**< Output file set by rte_openlog_stream, or NULL. */
> -       size_t dynamic_types_len;
> -       struct rte_log_dynamic_type *dynamic_types;
> -};
> -
> -/** Global log information */
> -extern struct rte_logs rte_logs;
> -
>  /* SDK log type */
>  #define RTE_LOGTYPE_EAL        0 /**< Log related to eal. */
>  #define RTE_LOGTYPE_MALLOC     1 /**< Log related to malloc. */
> @@ -274,7 +262,7 @@ void rte_log_dump(FILE *f);
>   * to rte_openlog_stream().
>   *
>   * The level argument determines if the log should be displayed or
> - * not, depending on the global rte_logs variable.
> + * not, depending on the loglevel settings.
>   *
>   * The preferred alternative is the RTE_LOG() because it adds the
>   * level and type in the logged string.
> @@ -305,7 +293,7 @@ int rte_log(uint32_t level, uint32_t logtype, const char *format, ...)
>   * to rte_openlog_stream().
>   *
>   * The level argument determines if the log should be displayed or
> - * not, depending on the global rte_logs variable. A trailing
> + * not, depending on the loglevel settings. A trailing
>   * newline may be added if needed.
>   *
>   * The preferred alternative is the RTE_LOG() because it adds the
> diff --git a/lib/librte_eal/rte_eal_version.map b/lib/librte_eal/rte_eal_version.map
> index 0b18e2ef85f9..6b0dfdd9667c 100644
> --- a/lib/librte_eal/rte_eal_version.map
> +++ b/lib/librte_eal/rte_eal_version.map
> @@ -114,7 +114,6 @@ DPDK_21 {
>         rte_log_set_level;
>         rte_log_set_level_pattern;
>         rte_log_set_level_regexp;
> -       rte_logs;
>         rte_malloc;
>         rte_malloc_dump_stats;
>         rte_malloc_get_socket_stats;
> --
> 2.27.0
>



-- 
David Marchand


^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [EXT] Re: [PATCH v7 1/3] ethdev: add level support for RSS offload types
  @ 2020-09-01 17:11  3%       ` Ajit Khaparde
  2020-09-03 10:11  3%         ` Kiran Kumar Kokkilagadda
  0 siblings, 1 reply; 200+ results
From: Ajit Khaparde @ 2020-09-01 17:11 UTC (permalink / raw)
  To: Kiran Kumar Kokkilagadda
  Cc: Ferruh Yigit, Thomas Monjalon, Andrew Rybchenko, dev,
	Jerin Jacob Kollanukkaran, orika, xuanziyang2, cloud.wangxiaoyun,
	zhouguoyang, rosen.xu, beilei.xing, jia.guo, Rasesh Mody,
	Shahed Shaikh, Nithin Kumar Dabilpuram, qiming.yang, qi.z.zhang,
	keith.wiles, hemant.agrawal, sachin.saxena, wei.zhao1, johndale,
	hyonkim, chas3, matan, shahafs, viacheslavo, rahul.lakkireddy,
	grive, Liron Himi, jingjing.wu, xavier.huwei, humin29,
	yisen.zhuang, somnath.kotur, jasvinder.singh,
	cristian.dumitrescu

On Tue, Sep 1, 2020 at 7:27 AM Kiran Kumar Kokkilagadda <
kirankumark@marvell.com> wrote:

>
>
> > -----Original Message-----
> > From: Ferruh Yigit <ferruh.yigit@intel.com>
> > Sent: Tuesday, September 1, 2020 7:08 PM
> > To: Kiran Kumar Kokkilagadda <kirankumark@marvell.com>; Thomas Monjalon
> > <thomas@monjalon.net>; Andrew Rybchenko <arybchenko@solarflare.com>
> > Cc: dev@dpdk.org; Jerin Jacob Kollanukkaran <jerinj@marvell.com>;
> > orika@mellanox.com; xuanziyang2@huawei.com;
> > cloud.wangxiaoyun@huawei.com; zhouguoyang@huawei.com;
> > rosen.xu@intel.com; beilei.xing@intel.com; jia.guo@intel.com; Rasesh
> Mody
> > <rmody@marvell.com>; Shahed Shaikh <shshaikh@marvell.com>; Nithin Kumar
> > Dabilpuram <ndabilpuram@marvell.com>; qiming.yang@intel.com;
> > qi.z.zhang@intel.com; keith.wiles@intel.com; hemant.agrawal@nxp.com;
> > sachin.saxena@nxp.com; wei.zhao1@intel.com; johndale@cisco.com;
> > hyonkim@cisco.com; chas3@att.com; matan@mellanox.com;
> > shahafs@mellanox.com; viacheslavo@mellanox.com;
> > rahul.lakkireddy@chelsio.com; grive@u256.net; Liron Himi
> > <lironh@marvell.com>; jingjing.wu@intel.com; xavier.huwei@huawei.com;
> > humin29@huawei.com; yisen.zhuang@huawei.com;
> > ajit.khaparde@broadcom.com; somnath.kotur@broadcom.com;
> > jasvinder.singh@intel.com; cristian.dumitrescu@intel.com
> > Subject: [EXT] Re: [dpdk-dev][PATCH v7 1/3] ethdev: add level support
> for RSS
> > offload types
> >
> > External Email
> >
> > ----------------------------------------------------------------------
> > On 9/1/2020 4:27 AM, kirankumark@marvell.com wrote:
> > > From: Kiran Kumar K <kirankumark@marvell.com>
> > >
> > > This patch reserves 2 bits as input selection to select Inner and
> > > outer encapsulation level for RSS computation. It is combined with
> > > existing
> > > ETH_RSS_* to choose Inner or outer layers.
> > > This functionality already exists in rte_flow through level parameter
> > > in RSS action configuration rte_flow_action_rss.
> > >
> > > Signed-off-by: Kiran Kumar K <kirankumark@marvell.com>
> > > ---
> > > V7 Changes:
> > > * Re-worked to keep it in sync with rte_flow_action_rss and support
> > > upto
> > > 3 levels.
> > > * Addressed testpmd review comments.
> > >
> > >   lib/librte_ethdev/rte_ethdev.h | 27 +++++++++++++++++++++++++++
> > >   1 file changed, 27 insertions(+)
> > >
> > > diff --git a/lib/librte_ethdev/rte_ethdev.h
> > > b/lib/librte_ethdev/rte_ethdev.h index 70295d7ab..13e49bbd7 100644
> > > --- a/lib/librte_ethdev/rte_ethdev.h
> > > +++ b/lib/librte_ethdev/rte_ethdev.h
> > > @@ -552,6 +552,33 @@ struct rte_eth_rss_conf {
> > >   #define RTE_ETH_RSS_L3_PRE64         (1ULL << 53)
> > >   #define RTE_ETH_RSS_L3_PRE96         (1ULL << 52)
> > >
> > > +/*
> > > + * We use the following macros to combine with the above layers to
> > > +choose
> > > + * inner and outer layers or both for RSS computation.
> > > + * bit 50 and 51 are reserved for this.
> > > + */
> > > +
> > > +/** level 0, requests the default behavior. Depending on the packet
> > > + * type, it can mean outermost, innermost, anything in between or
> even no
> > RSS.
> > > + * It basically stands for the innermost encapsulation level RSS
> > > + * can be performed on according to PMD and device capabilities.
> > > + */
> > > +#define ETH_RSS_LEVEL_0         (0ULL << 50)
> >
> > I can see from history how this is involved, but the 'ETH_RSS_LEVEL_0'
> naming is
> > not really clear what it is, the naming in v6 is more clear.
> >
> > What about following one:
> > 0 -> LEVEL_PMD_DEFAULT
> > 1 -> LEVEL_OUTER
> > 2 -> LEVEL_INNER
> > 3 -> LEVEL_INNER_OUTER
> >
> > This doesn't exactly match to rte_flow one, but closer than v6 one. This
> ends
> > with max level 2. And defines a way to say both inner and outer.
>
> This one looks good to me. If everyone is ok with the proposed changes, I
> will send V8.
>


How about following one:
0 -> LEVEL_PMD_DEFAULT
1 -> LEVEL_OUTERMOST
2 -> LEVEL_INNERMOST
This way we can avoid any ambiguity especially if stacked tunnel headers
become real.

3 -> LEVEL_INNER_OUTER
But I am not sure if INNER_OUTER has a use case.

Alternatively,
why not just add uint32_t level;
just like in case of rte_flow_action_rss?

It will break ABI but its 20.11.

Thanks
-Ajit



>
> >
> > > +
> > > +/** level 1,  requests RSS to be performed on the outermost packet
> > > + * encapsulation level.
> > > + */
> > > +#define ETH_RSS_LEVEL_1         (1ULL << 50)
> > > +
> > > +/** level 2,  requests RSS to be performed on the
> > > + * specified inner packet encapsulation level, from outermost to
> > > + * innermost (lower to higher values).
> > > + */
> > > +#define ETH_RSS_LEVEL_2            (2ULL << 50)
> >
> > I can see you are trying to copy rte_flow usage, but this doesn't really
> makes
> > sense here. Where the value of the level is defined in this case? If not
> defined
> > how the PMD knows which level to use?
> >
> > > +#define ETH_RSS_LEVEL_MASK (3ULL << 50)
> > > +
> > > +#define ETH_RSS_LEVEL(rss_hf) ((rss_hf & ETH_RSS_LEVEL_MASK) >> 50)
> > > +
> > >   /**
> > >    * For input set change of hash filter, if SRC_ONLY and DST_ONLY of
> > >    * the same level are used simultaneously, it is the same case as
> > > --
> > > 2.25.1
> > >
>
>

^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] [PATCH 0/4] ethdev: change the queue ID type
    2020-09-01 11:52  5%   ` [dpdk-dev] [PATCH 3/4] doc: announce modified field in DCB TC queue mapping Min Hu (Connor)
  2020-09-01 11:52  4%   ` [dpdk-dev] [PATCH 4/4] doc: announce modified field in ethdev API Min Hu (Connor)
@ 2020-09-01 16:14  4%   ` Ferruh Yigit
  2 siblings, 0 replies; 200+ results
From: Ferruh Yigit @ 2020-09-01 16:14 UTC (permalink / raw)
  To: Min Hu (Connor), dev
  Cc: stephen, bruce.richardson, jerin.jacob, Thomas Monjalon,
	Andrew Rybchenko, Kinsella, Ray

On 9/1/2020 12:52 PM, Min Hu (Connor) wrote:
> This series are minor change the queue ID type from
> uint8_t to uint16_t.
> 
> Huisong Li (2):
>   ethdev: change data type in TC rxq and TC txq
>   ethdev: fix compiling errors for per-queue statistics
> 
> Min Hu (Connor) (2):
>   doc: announce modified field in DCB TC queue mapping
>   doc: announce modified field in ethdev API

Hi Min, Huisong,

deprecation notices are part of the process and it should be prepared one
release before current release, it is good for two things:
- requiring three ack ensures ABI/API breakage is really necessary and approved
by multiple parties
- it notifies the breakage to the users at least one release in advance to give
them time to prepare for it.

It doesn't really have a benefit to add and remove the deprecation notice in the
same release.


For the patches above both are ABI breakages and normally requires deprecation
notice to be announced from previous release to be able to change them in this
release.

BUT, both are fixes and and I guess there is nothing controversial to update
them, also if they are not fixed in this release they will need to wait for at
least a year, so I am for getting them without deprecation notice in place.

Unless there is a strong objection to it, lets continue without deprecation
notices, and you can drop those patches from the set.


> 
>  app/test-pmd/cmdline.c                 |  2 +-
>  app/test-pmd/config.c                  |  4 ++--
>  app/test-pmd/testpmd.c                 |  2 +-
>  app/test-pmd/testpmd.h                 |  5 +++--
>  doc/guides/rel_notes/release_20_11.rst |  7 +++++++
>  drivers/net/igc/igc_ethdev.c           |  4 ++--
>  drivers/net/ixgbe/ixgbe_ethdev.c       |  4 ++--
>  drivers/net/memif/rte_eth_memif.c      |  2 +-
>  drivers/net/octeontx2/otx2_ethdev.h    |  2 +-
>  drivers/net/octeontx2/otx2_stats.c     |  2 +-
>  drivers/net/virtio/virtio_ethdev.c     |  4 ++--
>  lib/librte_ethdev/rte_ethdev.c         |  6 +++---
>  lib/librte_ethdev/rte_ethdev.h         | 12 ++++++------
>  lib/librte_ethdev/rte_ethdev_core.h    |  2 +-
>  14 files changed, 33 insertions(+), 25 deletions(-)
> 


^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] DPDK Experimental Functions
  2020-08-27 13:00  4% [dpdk-dev] DPDK Experimental Functions Kinsella, Ray
@ 2020-09-01 13:39  0% ` Thomas Monjalon
  2020-09-03 10:01  0%   ` Lukasz Wojciechowski
  2020-09-03 10:07  0%   ` Lukasz Wojciechowski
  2020-09-04  4:48  0% ` Honnappa Nagarahalli
  1 sibling, 2 replies; 200+ results
From: Thomas Monjalon @ 2020-09-01 13:39 UTC (permalink / raw)
  To: Walsh, Conor, Richardson, Bruce, Kinsella, Ray
  Cc: dpdk-dev, David Marchand, Andrew Rybchenko, Yigit, Ferruh,
	Maxime Coquelin, Zhihong Wang, Chenbo Xia, Jerin Jacob,
	Kiran Kumar K, Fiona Trahe, Ashish Gupta, Vladimir Medvedkin,
	Cristian Dumitrescu, Ori Kam, Declan Doherty, Vladimir Medvedkin,
	Konstantin Ananyev, Iremonger, Bernard, Kevin Laatz,
	Olivier Matz, Honnappa Nagarahalli, Jerin Jacob, Ruifeng Wang

27/08/2020 15:00, Kinsella, Ray:
> Hi All,
> 
> During recent work on the DPDK ABI, where we are looking to develop a nightly ABI regression test. 
> 
> We found a large number of experimental functions currently in DPDK API.
> Currently, there are 537 experimental APIs out of a total of roughly ~1800 API, 30%-ish. 
> 
> While there is no correct number, as a percentage of the total, this appears to be very high.
> I would question if all these API are really "new" and warrant the status?
> 
> There are currently 38 libraries and drivers with experimental functions.
> And to be fair there are number of recently added libraries in list, shown below.
> However there are also a number of libraries that have been around a very long time.
> 
> The following libraries and drivers have 10 or more experimental functions:
> 
> 1.	rte_eal: 119
> 2.	rte_ethdev: 43
> 3.	rte_vhost: 42
> 4.	rte_graph: 35 (EXPERIMENTAL)
> 5.	rte_compressdev: 34
> 6.	rte_rib: 28 (EXPERIMENTAL)
> 7.	rte_pipeline: 24
> 8.	rte_regexdev: 22 (EXPERIMENTAL)
> 9.	rte_cryptodev: 18
> 10.	rte_fib: 16 (EXPERIMENTAL)
> 11.	rte_ipsec: 15 (EXPERIMENTAL)
> 12.	rte_telemetry: 12 (EXPERIMENTAL)
> 13.	rte_mbuf: 11
> 14.	rte_rcu: 11 (EXPERIMENTAL)
> 15.	rte_bus_fslmc: 11
> 16.	rte_bpf: 10 (EXPERIMENTAL)
> 
> Do the maintainers of these libraries and drivers, 
> A. Feel that experimental status continues to be warranted against these API?
> B. Have plans in place to move all/some of these functions to stable in the 20.11 timeframe?
> 
> Kudos to Conor Walsh for pulling this data together. 

Do you have a tool to sort experimental functions per age?



^ permalink raw reply	[relevance 0%]

* [dpdk-dev] [PATCH 4/4] doc: announce modified field in ethdev API
    2020-09-01 11:52  5%   ` [dpdk-dev] [PATCH 3/4] doc: announce modified field in DCB TC queue mapping Min Hu (Connor)
@ 2020-09-01 11:52  4%   ` Min Hu (Connor)
  2020-09-01 16:14  4%   ` [dpdk-dev] [PATCH 0/4] ethdev: change the queue ID type Ferruh Yigit
  2 siblings, 0 replies; 200+ results
From: Min Hu (Connor) @ 2020-09-01 11:52 UTC (permalink / raw)
  To: dev; +Cc: ferruh.yigit, stephen, bruce.richardson, jerin.jacob

Field type of stat_idx will be modified, from uint8_t to uint16_t in
"set_queue_stats_mapping", "rte_eth_dev_set_tx_queue_stats_mapping",
"rte_eth_dev_set_rx_queue_stats_mapping" for meeting the needs use 256
or more than 256 queues and display all statistics of rx/tx queue.

Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
Reviewed-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
---
 doc/guides/rel_notes/release_20_11.rst | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index e9c87c3..8e24d46 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -84,6 +84,10 @@ API Changes
    Also, make sure to start the actual text at the margin.
    =======================================================
 
+* ethdev: Modified field type of stat_idx, from uint8_t to uint16_t  in
+  ``set_queue_stats_mapping``, ``rte_eth_dev_set_tx_queue_stats_mapping``,
+  ``rte_eth_dev_set_rx_queue_stats_mapping`` for meeting the needs use 256
+  or more than 256 queues and display all statistics of rx/tx queue.
 
 ABI Changes
 -----------
-- 
2.7.4


^ permalink raw reply	[relevance 4%]

* [dpdk-dev] [PATCH 3/4] doc: announce modified field in DCB TC queue mapping
  @ 2020-09-01 11:52  5%   ` Min Hu (Connor)
  2020-09-01 11:52  4%   ` [dpdk-dev] [PATCH 4/4] doc: announce modified field in ethdev API Min Hu (Connor)
  2020-09-01 16:14  4%   ` [dpdk-dev] [PATCH 0/4] ethdev: change the queue ID type Ferruh Yigit
  2 siblings, 0 replies; 200+ results
From: Min Hu (Connor) @ 2020-09-01 11:52 UTC (permalink / raw)
  To: dev; +Cc: ferruh.yigit, stephen, bruce.richardson, jerin.jacob

Field type of base and nb_queue will be modified, from uint8_t
to uint16_t  in struct ``rte_eth_dcb_tc_queue_mapping``.As the
data of uint8_t will be truncated when queue number under a TC
is greater than 256.

Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
Reviewed-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
---
 doc/guides/rel_notes/release_20_11.rst | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index df227a1..e9c87c3 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -100,6 +100,9 @@ ABI Changes
    Also, make sure to start the actual text at the margin.
    =======================================================
 
+* ethdev: Modified field type of base and nb_queue, from uint8_t to uint16_t  in
+  struct ``rte_eth_dcb_tc_queue_mapping``.As the data of uint8_t will be truncated when
+  queue number under a TC is greater than 256.
 
 Known Issues
 ------------
-- 
2.7.4


^ permalink raw reply	[relevance 5%]

* Re: [dpdk-dev] [PATCH 2/7] ethdev: move inline device operations
  2020-08-29 11:57  0%   ` Andrew Rybchenko
@ 2020-08-31 12:25  0%     ` Ferruh Yigit
  0 siblings, 0 replies; 200+ results
From: Ferruh Yigit @ 2020-08-31 12:25 UTC (permalink / raw)
  To: Andrew Rybchenko, dev, Shepard Siegel, Ed Czeck, John Miller,
	Igor Russkikh, Pavel Belous, Somalapuram Amaranath,
	Ajit Khaparde, Somnath Kotur, Hemant Agrawal, Sachin Saxena,
	Wei Zhao, Jeff Guo, John Daley, Hyong Youb Kim, Qi Zhang,
	Xiao Wang, Beilei Xing, Jingjing Wu, Qiming Yang, Matan Azrad,
	Shahaf Shuler, Viacheslav Ovsiienko, Stephen Hemminger,
	K. Y. Srinivasan, Haiyang Zhang, Long Li, Heinrich Kuhn,
	Jerin Jacob, Nithin Dabilpuram, Kiran Kumar K, Rasesh Mody,
	Shahed Shaikh, Maciej Czekaj, Maxime Coquelin, Chenbo Xia,
	Zhihong Wang, Thomas Monjalon

On 8/29/2020 12:57 PM, Andrew Rybchenko wrote:
> On 8/24/20 12:40 PM, Ferruh Yigit wrote:
>> This patch is a preparation to hide the 'struct eth_dev_ops' from
>> applications by moving some device operations from 'struct eth_dev_ops'
>> to 'struct rte_eth_dev'.
>>
>> Mentioned ethdev APIs are in the data path and implemented as inline
>> because of performance reasons.
>>
>> Exposing 'struct eth_dev_ops' to applications is bad because it is a
>> contract between ethdev and PMDs, not really needs to be known by
>> applications, also changes in the struct causing ABI breakages which
>> shouldn't.
>>
>> To be able to both keep APIs inline and hide the 'struct eth_dev_ops',
>> moving device operations used in ethdev inline APIs to 'struct
>> rte_eth_dev' to the same level with Rx/Tx burst functions.
>>
>> The list of dev_ops moved:
>> eth_rx_queue_count_t       rx_queue_count;
>> eth_rx_descriptor_status_t rx_descriptor_status;
>> eth_tx_descriptor_status_t tx_descriptor_status;
>>
>> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
> 
> Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com>
> 
> doc/guides/nics/features.rst should be updated since it says
> that status callbacks live in eth_dev_ops.
> 

Yep, I will fix in v2, thanks for review.

> plus an net/sfc-related nit below:
> 
> [snip]
> 
>> diff --git a/drivers/net/sfc/sfc_ethdev.c b/drivers/net/sfc/sfc_ethdev.c
>> index 65e0ff7d48..0b06bf91a0 100644
>> --- a/drivers/net/sfc/sfc_ethdev.c
>> +++ b/drivers/net/sfc/sfc_ethdev.c
> 
> [snip]
> 
>> @@ -1962,6 +1959,9 @@ sfc_eth_dev_set_ops(struct rte_eth_dev *dev)
>>   	dev->tx_pkt_burst = dp_tx->pkt_burst;
>>   
>>   	dev->dev_ops = &sfc_eth_dev_ops;
>> +	dev->rx_queue_count = sfc_rx_queue_count;
>> +	dev->rx_descriptor_status = sfc_rx_descriptor_status;
>> +	dev->tx_descriptor_status = sfc_tx_descriptor_status;
> 
> May I ask to put it just after dev->tx_pkt_burst = ... line
> since these callbacks go before dev_ops in the structure.
> 

ok

>>   
>>   	return 0;
>>   
>> @@ -2001,9 +2001,6 @@ sfc_eth_dev_clear_ops(struct rte_eth_dev *dev)
>>   
>>   static const struct eth_dev_ops sfc_eth_dev_secondary_ops = {
>>   	.dev_supported_ptypes_get	= sfc_dev_supported_ptypes_get,
>> -	.rx_queue_count			= sfc_rx_queue_count,
>> -	.rx_descriptor_status		= sfc_rx_descriptor_status,
>> -	.tx_descriptor_status		= sfc_tx_descriptor_status,
>>   	.reta_query			= sfc_dev_rss_reta_query,
>>   	.rss_hash_conf_get		= sfc_dev_rss_hash_conf_get,
>>   	.rxq_info_get			= sfc_rx_queue_info_get,
>> @@ -2069,6 +2066,9 @@ sfc_eth_dev_secondary_init(struct rte_eth_dev *dev, uint32_t logtype_main)
>>   	dev->tx_pkt_prepare = dp_tx->pkt_prepare;
>>   	dev->tx_pkt_burst = dp_tx->pkt_burst;
>>   	dev->dev_ops = &sfc_eth_dev_secondary_ops;
>> +	dev->rx_queue_count = sfc_rx_queue_count;
>> +	dev->rx_descriptor_status = sfc_rx_descriptor_status;
>> +	dev->tx_descriptor_status = sfc_tx_descriptor_status;
> 
> Same here.
> 

ok


^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH v2] common/iavf: mark internal symbols
  2020-08-18 15:48  0%     ` Ferruh Yigit
@ 2020-08-31  4:14  0%       ` Zhang, Qi Z
  0 siblings, 0 replies; 200+ results
From: Zhang, Qi Z @ 2020-08-31  4:14 UTC (permalink / raw)
  To: Yigit, Ferruh, Xing, Beilei, Wang, Haiyue, dev
  Cc: Yang, Qiming, Wu, Jingjing, Ray Kinsella, Neil Horman



> -----Original Message-----
> From: Ferruh Yigit <ferruh.yigit@intel.com>
> Sent: Tuesday, August 18, 2020 11:48 PM
> To: Xing, Beilei <beilei.xing@intel.com>; Wang, Haiyue
> <haiyue.wang@intel.com>; dev@dpdk.org
> Cc: Zhang, Qi Z <qi.z.zhang@intel.com>; Yang, Qiming
> <qiming.yang@intel.com>; Wu, Jingjing <jingjing.wu@intel.com>; Ray Kinsella
> <mdr@ashroe.eu>; Neil Horman <nhorman@tuxdriver.com>
> Subject: Re: [dpdk-dev] [PATCH v2] common/iavf: mark internal symbols
> 
> On 8/17/2020 4:08 AM, Xing, Beilei wrote:
> >
> >
> >> -----Original Message-----
> >> From: Wang, Haiyue <haiyue.wang@intel.com>
> >> Sent: Saturday, August 15, 2020 12:31 AM
> >> To: dev@dpdk.org
> >> Cc: Zhang, Qi Z <qi.z.zhang@intel.com>; Yang, Qiming
> >> <qiming.yang@intel.com>; Wang, Haiyue <haiyue.wang@intel.com>; Wu,
> >> Jingjing <jingjing.wu@intel.com>; Xing, Beilei
> >> <beilei.xing@intel.com>; Ray Kinsella <mdr@ashroe.eu>; Neil Horman
> >> <nhorman@tuxdriver.com>
> >> Subject: [PATCH v2] common/iavf: mark internal symbols
> >>
> >> According to ABI policy, the internal functions should have the new
> >> tag __rte_internal and linked into INTERNAL sessions.
> >>
> >> Signed-off-by: Haiyue Wang <haiyue.wang@intel.com>
> >
> > Acked-by: Beilei Xing <beilei.xing@intel.com>
> >
> 
> Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>

Applied to dpdk-next-net-intel.

Thanks
Qi

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH 2/7] ethdev: move inline device operations
  2020-08-24  9:40  4% ` [dpdk-dev] [PATCH 2/7] ethdev: move inline device operations Ferruh Yigit
@ 2020-08-29 11:57  0%   ` Andrew Rybchenko
  2020-08-31 12:25  0%     ` Ferruh Yigit
  0 siblings, 1 reply; 200+ results
From: Andrew Rybchenko @ 2020-08-29 11:57 UTC (permalink / raw)
  To: Ferruh Yigit, dev, Shepard Siegel, Ed Czeck, John Miller,
	Igor Russkikh, Pavel Belous, Somalapuram Amaranath,
	Ajit Khaparde, Somnath Kotur, Hemant Agrawal, Sachin Saxena,
	Wei Zhao, Jeff Guo, John Daley, Hyong Youb Kim, Qi Zhang,
	Xiao Wang, Beilei Xing, Jingjing Wu, Qiming Yang, Matan Azrad,
	Shahaf Shuler, Viacheslav Ovsiienko, Stephen Hemminger,
	K. Y. Srinivasan, Haiyang Zhang, Long Li, Heinrich Kuhn,
	Jerin Jacob, Nithin Dabilpuram, Kiran Kumar K, Rasesh Mody,
	Shahed Shaikh, Maciej Czekaj, Maxime Coquelin, Chenbo Xia,
	Zhihong Wang, Thomas Monjalon

On 8/24/20 12:40 PM, Ferruh Yigit wrote:
> This patch is a preparation to hide the 'struct eth_dev_ops' from
> applications by moving some device operations from 'struct eth_dev_ops'
> to 'struct rte_eth_dev'.
> 
> Mentioned ethdev APIs are in the data path and implemented as inline
> because of performance reasons.
> 
> Exposing 'struct eth_dev_ops' to applications is bad because it is a
> contract between ethdev and PMDs, not really needs to be known by
> applications, also changes in the struct causing ABI breakages which
> shouldn't.
> 
> To be able to both keep APIs inline and hide the 'struct eth_dev_ops',
> moving device operations used in ethdev inline APIs to 'struct
> rte_eth_dev' to the same level with Rx/Tx burst functions.
> 
> The list of dev_ops moved:
> eth_rx_queue_count_t       rx_queue_count;
> eth_rx_descriptor_status_t rx_descriptor_status;
> eth_tx_descriptor_status_t tx_descriptor_status;
> 
> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>

Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com>

doc/guides/nics/features.rst should be updated since it says
that status callbacks live in eth_dev_ops.

plus an net/sfc-related nit below:

[snip]

> diff --git a/drivers/net/sfc/sfc_ethdev.c b/drivers/net/sfc/sfc_ethdev.c
> index 65e0ff7d48..0b06bf91a0 100644
> --- a/drivers/net/sfc/sfc_ethdev.c
> +++ b/drivers/net/sfc/sfc_ethdev.c

[snip]

> @@ -1962,6 +1959,9 @@ sfc_eth_dev_set_ops(struct rte_eth_dev *dev)
>  	dev->tx_pkt_burst = dp_tx->pkt_burst;
>  
>  	dev->dev_ops = &sfc_eth_dev_ops;
> +	dev->rx_queue_count = sfc_rx_queue_count;
> +	dev->rx_descriptor_status = sfc_rx_descriptor_status;
> +	dev->tx_descriptor_status = sfc_tx_descriptor_status;

May I ask to put it just after dev->tx_pkt_burst = ... line
since these callbacks go before dev_ops in the structure.

>  
>  	return 0;
>  
> @@ -2001,9 +2001,6 @@ sfc_eth_dev_clear_ops(struct rte_eth_dev *dev)
>  
>  static const struct eth_dev_ops sfc_eth_dev_secondary_ops = {
>  	.dev_supported_ptypes_get	= sfc_dev_supported_ptypes_get,
> -	.rx_queue_count			= sfc_rx_queue_count,
> -	.rx_descriptor_status		= sfc_rx_descriptor_status,
> -	.tx_descriptor_status		= sfc_tx_descriptor_status,
>  	.reta_query			= sfc_dev_rss_reta_query,
>  	.rss_hash_conf_get		= sfc_dev_rss_hash_conf_get,
>  	.rxq_info_get			= sfc_rx_queue_info_get,
> @@ -2069,6 +2066,9 @@ sfc_eth_dev_secondary_init(struct rte_eth_dev *dev, uint32_t logtype_main)
>  	dev->tx_pkt_prepare = dp_tx->pkt_prepare;
>  	dev->tx_pkt_burst = dp_tx->pkt_burst;
>  	dev->dev_ops = &sfc_eth_dev_secondary_ops;
> +	dev->rx_queue_count = sfc_rx_queue_count;
> +	dev->rx_descriptor_status = sfc_rx_descriptor_status;
> +	dev->tx_descriptor_status = sfc_tx_descriptor_status;

Same here.

[snip]

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH 1/7] ethdev: remove legacy descriptor status check API
  2020-08-24  9:40  1% [dpdk-dev] [PATCH 1/7] ethdev: remove legacy descriptor status check API Ferruh Yigit
                   ` (2 preceding siblings ...)
  2020-08-24  9:40  8% ` [dpdk-dev] [PATCH 4/7] ethdev: mark internal functions Ferruh Yigit
@ 2020-08-29 11:47  0% ` Andrew Rybchenko
  2020-09-03 21:09  1% ` [dpdk-dev] [PATCH v2 " Ferruh Yigit
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 200+ results
From: Andrew Rybchenko @ 2020-08-29 11:47 UTC (permalink / raw)
  To: Ferruh Yigit, dev, John McNamara, Marko Kovacevic, Ray Kinsella,
	Neil Horman, Wei Zhao, Jeff Guo, John Daley, Hyong Youb Kim,
	Qi Zhang, Xiao Wang, Beilei Xing, Jerin Jacob, Nithin Dabilpuram,
	Kiran Kumar K, Maxime Coquelin, Chenbo Xia, Zhihong Wang,
	Thomas Monjalon

On 8/24/20 12:40 PM, Ferruh Yigit wrote:
> Removing 'rte_eth_rx_descriptor_done()' API and relevant
> 'rx_descriptor_done' function pointer from 'struct eth_dev_ops'.
> 
> Deprecation notice is to deprecate the API in 20.11 and remove one year
> later, this is useful to prevent new applications use the API but keep
> the support for old application. But since 20.11 have the ABI break and
> most of the applications need to re-compile anyway will prevent them to
> use the API, the affect will be same as removing the API. So removing it
> in the 20.11 to reduce the churn.
> 
> 'rx_descriptor_done' implementations removed from PMDs.
> 
> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>

Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com>

Thanks for working on it.


^ permalink raw reply	[relevance 0%]

* [dpdk-dev] [PATCH] rte_log: make rte_logs private
@ 2020-08-27 22:54  9% Stephen Hemminger
  2020-09-02  8:40  0% ` David Marchand
    0 siblings, 2 replies; 200+ results
From: Stephen Hemminger @ 2020-08-27 22:54 UTC (permalink / raw)
  To: Ray Kinsella, Neil Horman, John McNamara, Marko Kovacevic
  Cc: dev, Stephen Hemminger

As announced in earlier releases, rte_logs can now be made
internal to eal_common_log.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 doc/guides/rel_notes/deprecation.rst   |  4 ----
 doc/guides/rel_notes/release_20_11.rst |  2 ++
 lib/librte_eal/common/eal_common_log.c | 11 ++++++++---
 lib/librte_eal/include/rte_log.h       | 16 ++--------------
 lib/librte_eal/rte_eal_version.map     |  1 -
 5 files changed, 12 insertions(+), 22 deletions(-)

diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 345c38d5b630..5445a4f0a061 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -77,10 +77,6 @@ Deprecation Notices
 * eal: The function ``rte_eal_remote_launch`` will return new error codes
   after read or write error on the pipe, instead of calling ``rte_panic``.
 
-* eal: The ``rte_logs`` struct and global symbol will be made private to
-  remove it from the externally visible ABI and allow it to be updated in the
-  future.
-
 * eal: The ``rte_dev_event`` structure will be made private to the EAL as no
   public API makes use of it.
 
diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index df227a1773b8..e422ac790912 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -84,6 +84,8 @@ API Changes
    Also, make sure to start the actual text at the margin.
    =======================================================
 
+* eal: The ``rte_logs`` struct and global symbol was made private
+  and is no longer part of the API.
 
 ABI Changes
 -----------
diff --git a/lib/librte_eal/common/eal_common_log.c b/lib/librte_eal/common/eal_common_log.c
index 8835c8fff897..a25766de181a 100644
--- a/lib/librte_eal/common/eal_common_log.c
+++ b/lib/librte_eal/common/eal_common_log.c
@@ -17,11 +17,16 @@
 
 #include "eal_private.h"
 
-/* global log structure */
-struct rte_logs rte_logs = {
+/** The rte_log structure. */
+static struct rte_logs {
+	uint32_t type;  /**< Bitfield with enabled logs. */
+	uint32_t level; /**< Log level. */
+	FILE *file;     /**< Output file set by rte_openlog_stream, or NULL. */
+	size_t dynamic_types_len;
+	struct rte_log_dynamic_type *dynamic_types;
+} rte_logs = {
 	.type = ~0,
 	.level = RTE_LOG_DEBUG,
-	.file = NULL,
 };
 
 struct rte_eal_opt_loglevel {
diff --git a/lib/librte_eal/include/rte_log.h b/lib/librte_eal/include/rte_log.h
index eaf66e4f61de..655c3b39c29e 100644
--- a/lib/librte_eal/include/rte_log.h
+++ b/lib/librte_eal/include/rte_log.h
@@ -29,18 +29,6 @@ extern "C" {
 
 struct rte_log_dynamic_type;
 
-/** The rte_log structure. */
-struct rte_logs {
-	uint32_t type;  /**< Bitfield with enabled logs. */
-	uint32_t level; /**< Log level. */
-	FILE *file;     /**< Output file set by rte_openlog_stream, or NULL. */
-	size_t dynamic_types_len;
-	struct rte_log_dynamic_type *dynamic_types;
-};
-
-/** Global log information */
-extern struct rte_logs rte_logs;
-
 /* SDK log type */
 #define RTE_LOGTYPE_EAL        0 /**< Log related to eal. */
 #define RTE_LOGTYPE_MALLOC     1 /**< Log related to malloc. */
@@ -274,7 +262,7 @@ void rte_log_dump(FILE *f);
  * to rte_openlog_stream().
  *
  * The level argument determines if the log should be displayed or
- * not, depending on the global rte_logs variable.
+ * not, depending on the loglevel settings.
  *
  * The preferred alternative is the RTE_LOG() because it adds the
  * level and type in the logged string.
@@ -305,7 +293,7 @@ int rte_log(uint32_t level, uint32_t logtype, const char *format, ...)
  * to rte_openlog_stream().
  *
  * The level argument determines if the log should be displayed or
- * not, depending on the global rte_logs variable. A trailing
+ * not, depending on the loglevel settings. A trailing
  * newline may be added if needed.
  *
  * The preferred alternative is the RTE_LOG() because it adds the
diff --git a/lib/librte_eal/rte_eal_version.map b/lib/librte_eal/rte_eal_version.map
index 0b18e2ef85f9..6b0dfdd9667c 100644
--- a/lib/librte_eal/rte_eal_version.map
+++ b/lib/librte_eal/rte_eal_version.map
@@ -114,7 +114,6 @@ DPDK_21 {
 	rte_log_set_level;
 	rte_log_set_level_pattern;
 	rte_log_set_level_regexp;
-	rte_logs;
 	rte_malloc;
 	rte_malloc_dump_stats;
 	rte_malloc_get_socket_stats;
-- 
2.27.0


^ permalink raw reply	[relevance 9%]

* [dpdk-dev] DPDK Experimental Functions
@ 2020-08-27 13:00  4% Kinsella, Ray
  2020-09-01 13:39  0% ` Thomas Monjalon
  2020-09-04  4:48  0% ` Honnappa Nagarahalli
  0 siblings, 2 replies; 200+ results
From: Kinsella, Ray @ 2020-08-27 13:00 UTC (permalink / raw)
  To: dpdk-dev, Walsh, Conor, Richardson, Bruce
  Cc: David Marchand, Thomas Monjalon, Andrew Rybchenko, Yigit, Ferruh,
	Maxime Coquelin, Zhihong Wang, Chenbo Xia, Jerin Jacob,
	Kiran Kumar K, Fiona Trahe, Ashish Gupta, Vladimir Medvedkin,
	Cristian Dumitrescu, Ori Kam, Declan Doherty, Vladimir Medvedkin,
	Konstantin Ananyev, Iremonger, Bernard, Kevin Laatz,
	Olivier Matz, Honnappa Nagarahalli, Jerin Jacob, Ruifeng Wang

Hi All,

During recent work on the DPDK ABI, where we are looking to develop a nightly ABI regression test. 

We found a large number of experimental functions currently in DPDK API.
Currently, there are 537 experimental APIs out of a total of roughly ~1800 API, 30%-ish. 

While there is no correct number, as a percentage of the total, this appears to be very high.
I would question if all these API are really "new" and warrant the status?

There are currently 38 libraries and drivers with experimental functions.
And to be fair there are number of recently added libraries in list, shown below.
However there are also a number of libraries that have been around a very long time.

The following libraries and drivers have 10 or more experimental functions:

1.	rte_eal: 119
2.	rte_ethdev: 43
3.	rte_vhost: 42
4.	rte_graph: 35 (EXPERIMENTAL)
5.	rte_compressdev: 34
6.	rte_rib: 28 (EXPERIMENTAL)
7.	rte_pipeline: 24
8.	rte_regexdev: 22 (EXPERIMENTAL)
9.	rte_cryptodev: 18
10.	rte_fib: 16 (EXPERIMENTAL)
11.	rte_ipsec: 15 (EXPERIMENTAL)
12.	rte_telemetry: 12 (EXPERIMENTAL)
13.	rte_mbuf: 11
14.	rte_rcu: 11 (EXPERIMENTAL)
15.	rte_bus_fslmc: 11
16.	rte_bpf: 10 (EXPERIMENTAL)

Do the maintainers of these libraries and drivers, 
A. Feel that experimental status continues to be warranted against these API?
B. Have plans in place to move all/some of these functions to stable in the 20.11 timeframe?

Kudos to Conor Walsh for pulling this data together. 

Thanks,

Ray K

^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] 19.11.3 patches review and test
@ 2020-08-26  2:26  0% Chen, BoX C
  0 siblings, 0 replies; 200+ results
From: Chen, BoX C @ 2020-08-26  2:26 UTC (permalink / raw)
  To: luca.boccassi, stable
  Cc: dev, Abhishek Marathe, Akhil Goyal, Ali Alnubani, Walker,
	Benjamin, David Christensen, Hemant Agrawal, Stokes, Ian,
	Jerin Jacob, Mcnamara, John, Ju-Hyoung Lee, Kevin Traynor,
	Pei Zhang, Xu, Qian Q, Raslan Darawsheh, Thomas Monjalon, Peng,
	Yuan, Chen, Zhaoyan, Yu, PingX

Hi Luca,
Update LTS 19.11.4 test result for Intel part. No new issue is found except known issues.  

* Intel(R) Testing

# Basic Intel(R) NIC testing
 * PF(i40e):Passed
    - Exception message when starting testpmd for testing external memory. It has been fixed on 20.05.patch link: http://patches.dpdk.org/patch/66041/
 * PF(ixgbe):Passed
 * PF(ice):Passed
    - The MD5 is not same between kernel ethtool and dpdk ethtool when testing userspace_ethtool/retrieve_eeprom. It has been fixed on 20.08.patch link: http://patches.dpdk.org/patch/72354/
    - With latest ice driver and firmware package exception found when port reset vf of testpmd. It is also found on latest dpdk version, dev is debugging.
 * VF(i40e):Passed
 * VF(ixgbe):Passed
 * VF(ice):Passed
 * Build or compile: Passed
 * Intel NIC single core/NIC performance: Passed
 
#Basic cryptodev and virtio testing
 * vhost/virtio basic loopback, PVP and performance test: Passed. 
    - udp-fragmentation-offload can't be setup on vm Ubuntu1910.it is kernel issue, tracked on: https://bugzilla.kernel.org/show_bug.cgi?id=207075
    - l3fwd-power can wake up lcore but can not sleep again. It is also found on 20.08, dev is debugging.
 * cryptodev Function: Passed. 
    - fips_cryptodev test failed for TDES. It is also found on 20.08, dev is debugging. https://bugs.dpdk.org/show_bug.cgi?id=512
 * cryptodev Performance: Passed. 
    - known unstable issue of test case 1c1t 3CPM. not effect LTS release.

Thanks.

Regards,
Chen Bo

> -----Original Message-----
> From: Yu, PingX <pingx.yu@intel.com>
> Sent: June 10, 2020 15:20
> To: luca.boccassi@gmail.com; stable@dpdk.org
> Cc: dev@dpdk.org; Abhishek Marathe <Abhishek.Marathe@microsoft.com>;
> Akhil Goyal <akhil.goyal@nxp.com>; Ali Alnubani <alialnu@mellanox.com>;
> Walker, Benjamin <benjamin.walker@intel.com>; David Christensen
> <drc@linux.vnet.ibm.com>; Hemant Agrawal <hemant.agrawal@nxp.com>;
> Stokes, Ian <ian.stokes@intel.com>; Jerin Jacob <jerinj@marvell.com>;
> Mcnamara, John <john.mcnamara@intel.com>; Ju-Hyoung Lee
> <juhlee@microsoft.com>; Kevin Traynor <ktraynor@redhat.com>; Pei Zhang
> <pezhang@redhat.com>; Xu, Qian Q <qian.q.xu@intel.com>; Raslan
> Darawsheh <rasland@mellanox.com>; Thomas Monjalon
> <thomas@monjalon.net>; Peng, Yuan <yuan.peng@intel.com>; Chen,
> Zhaoyan <zhaoyan.chen@intel.com>
> Subject: RE: 19.11.3 patches review and test
> 
> Hi Luca,
> Update LTS 19.11.3 test result for Intel part.  All passed and no new issue is
> found.
> 
> * Intel(R) Testing
> 
> # Basic Intel(R) NIC testing
>  * PF(i40e):Passed
>  * PF(ixgbe):Passed
>  * PF(ice):Passed
>  * VF(i40e):Passed
>  * VF(ixgbe):Passed
>  * VF(ice):Passed
>  * Build or compile: Passed
>  * Intel NIC single core/NIC performance: Passed
> 
> #Basic cryptodev and virtio testing
>  * vhost/virtio basic loopback, PVP and performance test: Passed.
>     known issue: https://bugzilla.kernel.org/show_bug.cgi?id=207075
>  * cryptodev Function: Passed.
>  * cryptodev Performance: Passed.
>     known unstable issue of test case 1c1t 3CPM. not effect LTS release.
> 
> Thanks.
> Regards,
> Yu Ping
> 
> > -----Original Message-----
> > From: luca.boccassi@gmail.com <luca.boccassi@gmail.com>
> > Sent: Thursday, June 4, 2020 3:44 AM
> > To: stable@dpdk.org
> > Cc: dev@dpdk.org; Abhishek Marathe
> > <Abhishek.Marathe@microsoft.com>; Akhil Goyal <akhil.goyal@nxp.com>;
> > Ali Alnubani <alialnu@mellanox.com>; Walker, Benjamin
> > <benjamin.walker@intel.com>; David Christensen
> > <drc@linux.vnet.ibm.com>; Hemant Agrawal <hemant.agrawal@nxp.com>;
> > Stokes, Ian <ian.stokes@intel.com>; Jerin Jacob <jerinj@marvell.com>;
> > Mcnamara, John <john.mcnamara@intel.com>; Ju-Hyoung Lee
> > <juhlee@microsoft.com>; Kevin Traynor <ktraynor@redhat.com>; Pei
> Zhang
> > <pezhang@redhat.com>; Yu, PingX <pingx.yu@intel.com>; Xu, Qian Q
> > <qian.q.xu@intel.com>; Raslan Darawsheh <rasland@mellanox.com>;
> Thomas
> > Monjalon <thomas@monjalon.net>; Peng, Yuan <yuan.peng@intel.com>;
> > Chen, Zhaoyan <zhaoyan.chen@intel.com>
> > Subject: 19.11.3 patches review and test
> >
> > Hi all,
> >
> > Here is a list of patches targeted for stable release 19.11.3.
> >
> > The planned date for the final release is the 17th of June.
> >
> > Please help with testing and validation of your use cases and report
> > any issues/results with reply-all to this mail. For the final release
> > the fixes and reported validations will be added to the release notes.
> >
> > A release candidate tarball can be found at:
> >
> >     https://dpdk.org/browse/dpdk-stable/tag/?id=v19.11.3-rc1
> >
> > These patches are located at branch 19.11 of dpdk-stable repo:
> >     https://dpdk.org/browse/dpdk-stable/
> >
> > Thanks.
> >
> > Luca Boccassi
> >
> > ---
> > Adam Dybkowski (5):
> >       cryptodev: fix missing device id range checking
> >       common/qat: fix GEN3 marketing name
> >       app/crypto-perf: fix display of sample test vector
> >       crypto/qat: support plain SHA1..SHA512 hashes
> >       cryptodev: fix SHA-1 digest enum comment
> >
> > Ajit Khaparde (3):
> >       net/bnxt: fix FW version query
> >       net/bnxt: fix error log for command timeout
> >       net/bnxt: fix using RSS config struct
> >
> > Akhil Goyal (1):
> >       ipsec: fix build dependency on hash lib
> >
> > Alex Kiselev (1):
> >       lpm6: fix size of tbl8 group
> >
> > Alex Marginean (1):
> >       net/enetc: fix Rx lock-up
> >
> > Alexander Kozyrev (8):
> >       net/mlx5: reduce Tx completion index memory loads
> >       net/mlx5: add device parameter for MPRQ stride size
> >       net/mlx5: enable MPRQ multi-stride operations
> >       net/mlx5: add multi-segment packets in MPRQ mode
> >       net/mlx5: set dynamic flow metadata in Rx queues
> >       net/mlx5: improve logging of MPRQ selection
> >       net/mlx5: fix assert in dynamic metadata handling
> >       net/mlx5: fix Tx queue release debug log timing
> >
> > Alvin Zhang (2):
> >       net/iavf: fix link speed
> >       net/e1000: fix port hotplug for multi-process
> >
> > Amit Gupta (1):
> >       net/octeontx: fix meson build for disabled drivers
> >
> > Anatoly Burakov (1):
> >       mem: preallocate VA space in no-huge mode
> >
> > Andrew Rybchenko (4):
> >       net/sfc: fix reported promiscuous/multicast mode
> >       net/sfc/base: use simpler EF10 family conditional check
> >       net/sfc/base: use simpler EF10 family run-time checks
> >       net/sfc/base: fix build when EVB is enabled
> >
> > Andy Pei (1):
> >       net/ipn3ke: use control thread to check link status
> >
> > Ankur Dwivedi (1):
> >       net/octeontx2: fix buffer size assignment
> >
> > Apeksha Gupta (2):
> >       bus/fslmc: fix dereferencing null pointer
> >       test/crypto: fix statistics case
> >
> > Archana Muniganti (1):
> >       examples/fips_validation: fix parsing of algorithms
> >
> > Arek Kusztal (1):
> >       crypto/qat: fix cipher descriptor for ZUC and SNOW
> >
> > Asaf Penso (2):
> >       net/mlx5: fix call to modify action without init item
> >       net/mlx5: fix assert in doorbell lookup
> >
> > Ashish Gupta (1):
> >       net/octeontx2: fix link information for loopback port
> >
> > Asim Jamshed (1):
> >       fib: fix headers for C++ support
> >
> > Bernard Iremonger (1):
> >       net/i40e: fix flow director initialisation
> >
> > Bing Zhao (6):
> >       net/mlx5: fix header modify action validation
> >       net/mlx5: fix actions validation on root table
> >       net/mlx5: fix assert in modify converting
> >       mk: fix static linkage of mlx dependency
> >       mem: fix overflow on allocation
> >       net/mlx5: fix doorbell bitmap management offsets
> >
> > Bruce Richardson (3):
> >       pci: remove unneeded includes in public header file
> >       pci: fix build on FreeBSD
> >       drivers: fix log type variables for -fno-common
> >
> > Cheng Peng (1):
> >       net/iavf: fix stats query error code
> >
> > Chengchang Tang (3):
> >       net/hns3: fix promiscuous mode for PF
> >       net/hns3: fix default VLAN filter configuration for PF
> >       net/hns3: fix VLAN filter when setting promisucous mode
> >
> > Chengwen Feng (7):
> >       net/hns3: fix packets offload features flags in Rx
> >       net/hns3: fix default error code of command interface
> >       net/hns3: fix crash when flushing RSS flow rules with FLR
> >       net/hns3: fix return value of setting VLAN offload
> >       net/hns3: clear residual flow rules on init
> >       net/hns3: fix Rx interrupt after reset
> >       net/hns3: replace memory barrier with data dependency order
> >
> > Ciara Power (1):
> >       telemetry: fix port stats retrieval
> >
> > Darek Stojaczyk (1):
> >       pci: accept 32-bit domain numbers
> >
> > David Christensen (2):
> >       pci: fix build on ppc
> >       eal/ppc: fix build with gcc 9.3
> >
> > David Marchand (5):
> >       mem: mark pages as not accessed when reserving VA
> >       test: load drivers when required
> >       eal: fix typo in endian conversion macros
> >       remove references to private PCI probe function
> >       doc: prefer https when pointing to dpdk.org
> >
> > Dekel Peled (7):
> >       net/mlx5: fix mask used for IPv6 item validation
> >       net/mlx5: fix CVLAN tag set in IP item translation
> >       net/mlx5: update VLAN and encap actions validation
> >       net/mlx5: fix match on empty VLAN item in DV mode
> >       common/mlx5: fix umem buffer alignment
> >       net/mlx5: fix VLAN flow action with wildcard VLAN item
> >       net/mlx5: fix RSS key copy to TIR context
> >
> > Dmitry Kozlyuk (2):
> >       build: fix linker warnings with clang on Windows
> >       build: support MinGW-w64 with Meson
> >
> > Eduard Serra (1):
> >       net/vmxnet3: fix RSS setting on v4
> >
> > Eugeny Parshutin (1):
> >       ethdev: fix build when vtune profiling is on
> >
> > Fady Bader (1):
> >       mempool: remove inline functions from export list
> >
> > Fan Zhang (1):
> >       vhost/crypto: add missing user protocol flag
> >
> > Ferruh Yigit (7):
> >       net/nfp: fix log format specifiers
> >       net/null: fix secondary burst function selection
> >       net/null: remove redundant check
> >       mempool/octeontx2: fix build for gcc O1 optimization
> >       net/ena: fix build for O1 optimization
> >       event/octeontx2: fix build for O1 optimization
> >       examples/kni: fix crash during MTU set
> >
> > Gaetan Rivet (5):
> >       doc: fix number of failsafe sub-devices
> >       net/ring: fix device pointer on allocation
> >       pci: reject negative values in PCI id
> >       doc: fix typos in ABI policy
> >       kvargs: fix strcmp helper documentation
> >
> > Gavin Hu (2):
> >       net/i40e: relax barrier in Tx
> >       net/i40e: relax barrier in Tx for NEON
> >
> > Guinan Sun (2):
> >       net/ixgbe: fix statistics in flow control mode
> >       net/ixgbe: check driver type in MACsec API
> >
> > Haifeng Lin (1):
> >       eal/arm64: fix precise TSC
> >
> > Haiyue Wang (1):
> >       net/ice/base: check memory pointer before copying
> >
> > Hao Chen (1):
> >       net/hns3: support Rx interrupt
> >
> > Harry van Haaren (3):
> >       service: fix crash on exit
> >       examples/eventdev: fix crash on exit
> >       test/flow_classify: enable multi-sockets system
> >
> > Hemant Agrawal (3):
> >       drivers: add crypto as dependency for event drivers
> >       bus/fslmc: fix size of qman fq descriptor
> >       mempool/dpaa2: install missing header with meson
> >
> > Honnappa Nagarahalli (3):
> >       timer: protect initialization with lock
> >       service: fix race condition for MT unsafe service
> >       service: fix identification of service running on other lcore
> >
> > Hyong Youb Kim (1):
> >       net/enic: fix flow action reordering
> >
> > Igor Chauskin (2):
> >       net/ena/base: make allocation macros thread-safe
> >       net/ena/base: prevent allocation of zero sized memory
> >
> > Igor Romanov (9):
> >       net/sfc: fix initialization error path
> >       net/sfc: fix Rx queue start failure path
> >       net/sfc: fix promiscuous and allmulticast toggles errors
> >       net/sfc: set priority of created filters to manual
> >       net/sfc/base: reduce filter priorities to implemented only
> >       net/sfc/base: reject automatic filter creation by users
> >       net/sfc/base: refactor filter lookup loop in EF10
> >       net/sfc/base: handle manual and auto filter clashes in EF10
> >       net/sfc/base: fix manual filter delete in EF10
> >
> > Itsuro Oda (2):
> >       net/vhost: fix potential memory leak on close
> >       vhost: make IOTLB cache name unique among processes
> >
> > Ivan Dyukov (3):
> >       net/virtio-user: fix devargs parsing
> >       app: remove extra new line after link duplex
> >       examples: remove extra new line after link duplex
> >
> > Jasvinder Singh (3):
> >       net/softnic: fix memory leak for thread
> >       net/softnic: fix resource leak for pipeline
> >       examples/ip_pipeline: remove check of null response
> >
> > Jeff Guo (3):
> >       net/i40e: fix setting L2TAG
> >       net/iavf: fix setting L2TAG
> >       net/ice: fix setting L2TAG
> >
> > Jiawei Wang (1):
> >       net/mlx5: fix imissed counter overflow
> >
> > Jim Harris (1):
> >       contigmem: cleanup properly when load fails
> >
> > Jun Yang (1):
> >       net/dpaa2: fix congestion ID for multiple traffic classes
> >
> > Junyu Jiang (4):
> >       examples/vmdq: fix output of pools/queues
> >       examples/vmdq: fix RSS configuration
> >       net/ice: fix RSS advanced rule
> >       net/ice: fix crash in switch filter
> >
> > Juraj Linkeš (1):
> >       ci: fix telemetry dependency in Travis
> >
> > Július Milan (1):
> >       net/memif: fix init when already connected
> >
> > Kalesh AP (9):
> >       net/bnxt: fix HWRM command during FW reset
> >       net/bnxt: use true/false for bool types
> >       net/bnxt: fix port start failure handling
> >       net/bnxt: fix VLAN add when port is stopped
> >       net/bnxt: fix VNIC Rx queue count on VNIC free
> >       net/bnxt: fix number of TQM ring
> >       net/bnxt: fix TQM ring context memory size
> >       app/testpmd: fix memory failure handling for i40e DDP
> >       net/bnxt: fix storing MAC address twice
> >
> > Kevin Traynor (9):
> >       net/hinic: fix snprintf length of cable info
> >       net/hinic: fix repeating cable log and length check
> >       net/avp: fix gcc 10 maybe-uninitialized warning
> >       examples/ipsec-gw: fix gcc 10 maybe-uninitialized warning
> >       eal/x86: ignore gcc 10 stringop-overflow warnings
> >       net/mlx5: fix gcc 10 enum-conversion warning
> >       crypto/kasumi: fix extern declaration
> >       drivers/crypto: disable gcc 10 no-common errors
> >       build: disable gcc 10 zero-length-bounds warning
> >
> > Konstantin Ananyev (1):
> >       security: fix crash at accessing non-implemented ops
> >
> > Lijun Ou (4):
> >       net/hns3: fix configuring RSS hash when rules are flushed
> >       net/hns3: add RSS hash offload to capabilities
> >       net/hns3: fix RSS key length
> >       net/hns3: fix RSS indirection table configuration
> >
> > Linsi Yuan (1):
> >       net/bnxt: fix possible stack smashing
> >
> > Louise Kilheeney (1):
> >       examples/l2fwd-keepalive: fix mbuf pool size
> >
> > Luca Boccassi (4):
> >       fix various typos found by Lintian
> >       usertools: check for pci.ids in /usr/share/misc
> >       Revert "net/bnxt: fix TQM ring context memory size"
> >       Revert "net/bnxt: fix number of TQM ring"
> >
> > Lukasz Bartosik (1):
> >       event/octeontx2: fix queue removal from Rx adapter
> >
> > Lukasz Wojciechowski (5):
> >       drivers/crypto: fix log type variables for -fno-common
> >       security: fix verification of parameters
> >       security: fix return types in documentation
> >       security: fix session counter
> >       test: remove redundant macro
> >
> > Marvin Liu (5):
> >       vhost: fix packed ring zero-copy
> >       vhost: fix shadow update
> >       vhost: fix shadowed descriptors not flushed
> >       net/virtio: fix crash when device reconnecting
> >       net/virtio: fix unexpected event after reconnect
> >
> > Matteo Croce (1):
> >       doc: fix LTO config option
> >
> > Mattias Rönnblom (3):
> >       event/dsw: remove redundant control ring poll
> >       event/dsw: remove unnecessary read barrier
> >       event/dsw: avoid reusing previously recorded events
> >
> > Michael Baum (2):
> >       net/mlx5: fix meter color register consideration
> >       net/mlx4: fix drop queue error handling
> >
> > Michael Haeuptle (1):
> >       vfio: fix race condition with sysfs
> >
> > Michal Krawczyk (5):
> >       net/ena/base: fix documentation of functions
> >       net/ena/base: fix indentation in CQ polling
> >       net/ena/base: fix indentation of multiple defines
> >       net/ena: set IO ring size to valid value
> >       net/ena/base: fix testing for supported hash function
> >
> > Min Hu (Connor) (3):
> >       net/hns3: fix configuring illegal VLAN PVID
> >       net/hns3: fix mailbox opcode data type
> >       net/hns3: fix VLAN PVID when configuring device
> >
> > Mit Matelske (1):
> >       eal/freebsd: fix queuing duplicate alarm callbacks
> >
> > Mohsin Shaikh (1):
> >       net/mlx5: use open/read/close for ib stats query
> >
> > Muhammad Bilal (2):
> >       fix same typo in multiple places
> >       doc: fix typo in contributors guide
> >
> > Nagadheeraj Rottela (2):
> >       crypto/nitrox: fix CSR register address generation
> >       crypto/nitrox: fix oversized device name
> >
> > Nicolas Chautru (2):
> >       baseband/turbo_sw: fix exposed LLR decimals assumption
> >       bbdev: fix doxygen comments
> >
> > Nithin Dabilpuram (2):
> >       devtools: fix symbol map change check
> >       net/octeontx2: disable unnecessary error interrupts
> >
> > Olivier Matz (3):
> >       test/kvargs: fix to consider empty elements as valid
> >       test/kvargs: fix invalid cases check
> >       kvargs: fix invalid token parsing on FreeBSD
> >
> > Ophir Munk (1):
> >       net/mlx5: fix VLAN PCP item calculation
> >
> > Ori Kam (1):
> >       eal/ppc: fix bool type after altivec include
> >
> > Pablo de Lara (4):
> >       cryptodev: add asymmetric session-less feature name
> >       test/crypto: fix flag check
> >       crypto/openssl: fix out-of-place encryption
> >       doc: add NASM installation steps
> >
> > Pavan Nikhilesh (4):
> >       net/octeontx2: fix device configuration sequence
> >       eventdev: fix probe and remove for secondary process
> >       common/octeontx: fix gcc 9.1 ABI break
> >       app/eventdev: check Tx adapter service ID
> >
> > Phil Yang (2):
> >       service: remove rte prefix from static functions
> >       net/ixgbe: fix link state timing on fiber ports
> >
> > Qi Zhang (10):
> >       net/ice: remove unnecessary variable
> >       net/ice: remove bulk alloc option
> >       net/ice/base: fix uninitialized stack variables
> >       net/ice/base: read PSM clock frequency from register
> >       net/ice/base: minor fixes
> >       net/ice/base: fix MAC write command
> >       net/ice/base: fix binary order for GTPU filter
> >       net/ice/base: remove unused code in switch rule
> >       net/ice: fix variable initialization
> >       net/ice: fix RSS for GTPU
> >
> > Qiming Yang (3):
> >       net/i40e: fix X722 performance
> >       doc: fix multicast filter feature announcement
> >       net/i40e: fix queue related exception handling
> >
> > Rahul Gupta (2):
> >       net/bnxt: fix memory leak during queue restart
> >       net/bnxt: fix Rx ring producer index
> >
> > Rasesh Mody (3):
> >       net/qede: fix link state configuration
> >       net/qede: fix port reconfiguration
> >       examples/kni: fix MTU change to setup Tx queue
> >
> > Raslan Darawsheh (4):
> >       net/mlx5: fix validation of VXLAN/VXLAN-GPE specs
> >       app/testpmd: add parsing for QinQ VLAN headers
> >       net/mlx5: fix matching for UDP tunnels with Verbs
> >       doc: fix build issue in ABI guide
> >
> > Ray Kinsella (1):
> >       doc: fix default symbol binding in ABI guide
> >
> > Rohit Raj (1):
> >       net/dpaa2: fix 10G port negotiation
> >
> > Roland Qi (1):
> >       vhost: fix peer close check
> >
> > Ruifeng Wang (2):
> >       test: skip some subtests in no-huge mode
> >       test/ipsec: fix crash in session destroy
> >
> > Sarosh Arif (1):
> >       doc: fix typo in contributors guide
> >
> > Shougang Wang (2):
> >       net/ixgbe: fix link status after port reset
> >       net/i40e: fix queue region in RSS flow
> >
> > Simei Su (1):
> >       net/ice: support mark only action for flow director
> >
> > Sivaprasad Tummala (1):
> >       vhost: handle mbuf allocation failure
> >
> > Somnath Kotur (2):
> >       bus/pci: fix devargs on probing again
> >       net/bnxt: fix max ring count
> >
> > Stephen Hemminger (24):
> >       ethdev: fix spelling
> >       net/mvneta: do not use PMD log type
> >       net/virtio: do not use PMD log type
> >       net/tap: do not use PMD log type
> >       net/pfe: do not use PMD log type
> >       net/bnxt: do not use PMD log type
> >       net/dpaa: use dynamic log type
> >       net/thunderx: use dynamic log type
> >       net/netvsc: propagate descriptor limits from VF
> >       net/netvsc: handle Rx packets during multi-channel setup
> >       net/netvsc: split send buffers from Tx descriptors
> >       net/netvsc: fix memory free on device close
> >       net/netvsc: remove process event optimization
> >       net/netvsc: handle Tx completions based on burst size
> >       net/netvsc: avoid possible live lock
> >       lpm6: fix comments spelling
> >       eal: fix comments spelling
> >       net/netvsc: fix comment spelling
> >       bus/vmbus: fix comment spelling
> >       net/netvsc: do RSS across Rx queue only
> >       net/netvsc: do not configure RSS if disabled
> >       net/tap: fix crash in flow destroy
> >       eal: fix C++17 compilation
> >       net/vmxnet3: handle bad host framing
> >
> > Suanming Mou (3):
> >       net/mlx5: fix counter container usage
> >       net/mlx5: fix meter suffix table leak
> >       net/mlx5: fix jump table leak
> >
> > Sunil Kumar Kori (1):
> >       eal: fix log message print for regex
> >
> > Tao Zhu (3):
> >       net/ice: fix hash flow crash
> >       net/ixgbe: fix link status inconsistencies
> >       net/ixgbe: fix resource leak after thread exits normally
> >
> > Thomas Monjalon (13):
> >       drivers/crypto: fix build with make 4.3
> >       doc: fix sphinx compatibility
> >       log: fix level picked with globbing on type register
> >       doc: fix matrix CSS for recent sphinx
> >       common/mlx5: fix build with -fno-common
> >       net/mlx4: fix build with -fno-common
> >       common/mlx5: fix build with rdma-core 21
> >       app: fix usage help of options separated by dashes
> >       net/mvpp2: fix build with gcc 10
> >       examples/vm_power: fix build with -fno-common
> >       examples/vm_power: drop Unix path limit redefinition
> >       doc: fix build with doxygen 1.8.18
> >       doc: fix API index
> >
> > Timothy Redaelli (6):
> >       crypto/octeontx2: fix build with gcc 10
> >       test: fix build with gcc 10
> >       app/pipeline: fix build with gcc 10
> >       examples/vhost_blk: fix build with gcc 10
> >       examples/eventdev: fix build with gcc 10
> >       examples/qos_sched: fix build with gcc 10
> >
> > Ting Xu (1):
> >       app/testpmd: fix DCB set
> >
> > Tonghao Zhang (2):
> >       eal: fix PRNG init with HPET enabled
> >       net/mlx5: fix crash when releasing meter table
> >
> > Vadim Podovinnikov (1):
> >       net/memif: fix resource leak
> >
> > Vamsi Attunuru (1):
> >       net/octeontx2: enable error and RAS interrupt in configure
> >
> > Viacheslav Ovsiienko (2):
> >       net/mlx5: fix metadata for compressed Rx CQEs
> >       common/mlx5: fix netlink buffer allocation from stack
> >
> > Vijaya Mohan Guvva (1):
> >       bus/pci: fix UIO resource access from secondary process
> >
> > Vladimir Medvedkin (1):
> >       ipsec: check SAD lookup error
> >
> > Wei Hu (Xavier) (10):
> >       vfio: fix use after free with multiprocess
> >       net/hns3: fix status after repeated resets
> >       net/hns3: fix return value when clearing statistics
> >       app/testpmd: fix statistics after reset
> >       net/hns3: support different numbers of Rx and Tx queues
> >       net/hns3: fix Tx interrupt when enabling Rx interrupt
> >       net/hns3: fix MSI-X interrupt during initialization
> >       net/hns3: remove unnecessary assignments in Tx
> >       net/hns3: remove one IO barrier in Rx
> >       net/hns3: add free threshold in Rx
> >
> > Wei Zhao (8):
> >       net/ice: change default tunnel type
> >       net/ice: add action number check for switch
> >       net/ice: fix input set of VLAN item
> >       net/i40e: fix flow director for ARP packets
> >       doc: add i40e limitation for flow director
> >       net/i40e: fix flush of flow director filter
> >       net/i40e: fix wild pointer
> >       net/i40e: fix flow director enabling
> >
> > Wisam Jaddo (3):
> >       net/mlx5: fix zero metadata action
> >       net/mlx5: fix zero value validation for metadata
> >       net/mlx5: fix VLAN ID check
> >
> > Xiao Zhang (1):
> >       app/testpmd: fix PPPoE flow command
> >
> > Xiaolong Ye (3):
> >       net/virtio: fix outdated comment
> >       vhost: remove unused variable
> >       doc: fix log level example in Linux guide
> >
> > Xiaoyu Min (3):
> >       net/mlx5: fix push VLAN action to use item info
> >       net/mlx5: fix validation of push VLAN without full mask
> >       net/mlx5: fix RSS enablement
> >
> > Xiaoyun Li (4):
> >       net/ixgbe/base: update copyright
> >       net/i40e/base: update copyright
> >       common/iavf: update copyright
> >       net/ice/base: update copyright
> >
> > Xiaoyun Wang (7):
> >       net/hinic: allocate IO memory with socket id
> >       net/hinic: fix LRO
> >       net/hinic/base: fix port start during FW hot update
> >       net/hinic/base: fix PF firmware hot-active problem
> >       net/hinic: fix queues resource free
> >       net/hinic: fix Tx mbuf length while copying
> >       net/hinic: fix TSO
> >
> > Xuan Ding (2):
> >       vhost: prevent zero-copy with incompatible client mode
> >       vhost: fix zero-copy server mode
> >
> > Yisen Zhuang (1):
> >       net/hns3: reduce judgements of free Tx ring space
> >
> > Yunjian Wang (16):
> >       kvargs: fix buffer overflow when parsing list
> >       net/tap: remove unused assert
> >       net/nfp: fix dangling pointer on probe failure
> >       net/pfe: fix double free of MAC address
> >       net/tap: fix mbuf double free when writev fails
> >       net/tap: fix mbuf and mem leak during queue release
> >       net/tap: fix check for mbuf number of segment
> >       net/tap: fix file close on remove
> >       net/tap: fix fd leak on creation failure
> >       net/tap: fix unexpected link handler
> >       net/tap: fix queues fd check before close
> >       net/octeontx: fix dangling pointer on init failure
> >       crypto/ccp: fix fd leak on probe failure
> >       net/failsafe: fix fd leak
> >       crypto/caam_jr: fix check of file descriptors
> >       crypto/caam_jr: fix IRQ functions return type
> >
> > Yuri Chipchev (1):
> >       event/dsw: fix enqueue burst return value
> >
> > Zhihong Peng (1):
> >       net/ixgbe: fix link status synchronization on BSD

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [EXT] Re: [PATCH v4 1/4] ethdev: add tm support for shaper config in pkt mode
  @ 2020-08-25 16:59  0%               ` Ferruh Yigit
  2020-09-07 11:12  0%                 ` Nithin Dabilpuram
  0 siblings, 1 reply; 200+ results
From: Ferruh Yigit @ 2020-08-25 16:59 UTC (permalink / raw)
  To: Nithin Dabilpuram, Dumitrescu, Cristian, jerinj
  Cc: Bruce Richardson, Thomas Monjalon, Jerin Jacob, Luca Boccassi,
	Nithin Dabilpuram, Singh, Jasvinder, Andrew Rybchenko, dev,
	kkanas, Kinsella, Ray, Neil Horman, Kevin Traynor,
	David Marchand

On 5/1/2020 2:16 PM, Nithin Dabilpuram wrote:
> On Fri, May 01, 2020 at 11:27:02AM +0100, Ferruh Yigit wrote:
>> External Email
>>
>> ----------------------------------------------------------------------
>> On 4/29/2020 10:03 AM, Bruce Richardson wrote:
>>> On Wed, Apr 29, 2020 at 09:45:44AM +0100, Dumitrescu, Cristian wrote:
>>>>
>>>>
>>>>> -----Original Message-----
>>>>> From: Thomas Monjalon <thomas@monjalon.net>
>>>>> Sent: Tuesday, April 28, 2020 4:54 PM
>>>>> To: Jerin Jacob <jerinjacobk@gmail.com>; Dumitrescu, Cristian
>>>>> <cristian.dumitrescu@intel.com>
>>>>> Cc: Richardson, Bruce <bruce.richardson@intel.com>; Yigit, Ferruh
>>>>> <ferruh.yigit@intel.com>; Luca Boccassi <bluca@debian.org>; Nithin
>>>>> Dabilpuram <nithind1988@gmail.com>; Singh, Jasvinder
>>>>> <jasvinder.singh@intel.com>; Andrew Rybchenko
>>>>> <arybchenko@solarflare.com>; dev@dpdk.org; jerinj@marvell.com;
>>>>> kkanas@marvell.com; Nithin Dabilpuram <ndabilpuram@marvell.com>;
>>>>> Kinsella, Ray <ray.kinsella@intel.com>; Neil Horman
>>>>> <nhorman@tuxdriver.com>; Kevin Traynor <ktraynor@redhat.com>; David
>>>>> Marchand <david.marchand@redhat.com>
>>>>> Subject: Re: [dpdk-dev] [PATCH v4 1/4] ethdev: add tm support for shaper
>>>>> config in pkt mode
>>>>>
>>>>> 28/04/2020 17:04, Luca Boccassi:
>>>>>> On Tue, 2020-04-28 at 15:45 +0100, Bruce Richardson wrote:
>>>>>>> On Tue, Apr 28, 2020 at 03:06:20PM +0100, Ferruh Yigit wrote:
>>>>>>>> On 4/27/2020 5:59 PM, Jerin Jacob wrote:
>>>>>>>>> On Mon, Apr 27, 2020 at 10:19 PM Ferruh Yigit
>>>>> <ferruh.yigit@intel.com> wrote:
>>>>>>>>>> On 4/27/2020 5:29 PM, Jerin Jacob wrote:
>>>>>>>>>>> On Mon, Apr 27, 2020 at 9:42 PM Ferruh Yigit
>>>>> <ferruh.yigit@intel.com> wrote:
>>>>>>>>>>>> On 4/27/2020 10:19 AM, Dumitrescu, Cristian wrote:
>>>>>>>>>>>>> From: Yigit, Ferruh <ferruh.yigit@intel.com>
>>>>>>>>>>>>>> On 4/24/2020 11:28 AM, Dumitrescu, Cristian wrote:
>>>>>>>>>>>>>>> From: Nithin Dabilpuram <nithind1988@gmail.com>
>>>>>>>>>>>>>>>> This patch also updates tm port/level/node capability
>>>>> structures with
>>>>>>>>>>>>>>>> exiting features of scheduler wfq packet mode,
>>>>> scheduler wfq byte mode
>>>>>>>>>>>>>>>> and private/shared shaper byte mode.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> SoftNIC PMD is also updated with new capabilities.
>>>>> [...]
>>>>>>>>>>>>>> Hi Nithin,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> It looks like patch is causing ABI break, I am getting following
>>>>> warning [1],
>>>>>>>>>>>>>> can you please check?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> [1]
>>>>>>>>>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__pastebin.com_XYNFg14u&d=DwIDaQ&c=nKjWec2b6R0mOyPaz7xtfQ&r=FZ_tPCbgFOh18zwRPO9H0yDx8VW38vuapifdDfc8SFQ&m=ej5sP3-cEhEoCTZOia-QivXqgljtzBcMLtZGs-5c-Uc&s=B8z_5mQ2xO3C1izjmRe2zBApMrCUcW6KcAN-adglhJQ&e= 
>>>>>>>>>>>>>
>>>>>>>>>>>>> Hi Ferruh,
>>>>>>>>>>>>>
>>>>>>>>>>>>> The RTE_TM API is marked as experimental,
>>>>>>>>>>>>> but it looks that this was not correctly marked
>>>>>>>>>>>>> when __rte_experimental ABI checker was introduced.
>>>>>>>>>>>>>
>>>>>>>>>>>>> It is marked as experimental at the top of the rte_tm.h,
>>>>>>>>>>>>> similarly to other APIs introduced around same time,
>>>>>>>>>>>>> but it was not correctly picked up by the ABI check procedure
>>>>>>>>>>>>> when later introduced, so __rte_experimental was not added
>>>>> to every function.
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> :(
>>>>>>>>>>>>
>>>>>>>>>>>> Is it time to mature them?
>>>>>>>>>>>>
>>>>>>>>>>>> As you said they are not marked as experimental both in header
>>>>> file (function
>>>>>>>>>>>> declarations) and .map file.
>>>>>>>>>>>>
>>>>>>>>>>>> The problem is, they are not marked as experimental in
>>>>> DPDK_20.0 ABI (v19.11),
>>>>>>>>>>>> so marking them as experimental now will break the ABI. Not
>>>>> sure what to do,
>>>>>>>>>>>> cc'ed a few ABI related names for comment.
>>>>>>>>>>>>
>>>>>>>>>>>> For me, we need to proceed as the experimental tag removed
>>>>> and APIs become
>>>>>>>>>>>> mature starting from v19.11, since this is what happened in
>>>>> practice, and remove
>>>>>>>>>>>> a few existing being experimental references in the doxygen
>>>>> comments.
>>>>>>>>>>>
>>>>>>>>>>> I think, accidentally we can not make a library as NON-
>>>>> experimental.
>>>>>>>>>>> TM never went through experimental to mature transition(see git
>>>>> log
>>>>>>>>>>> lib/librte_ethdev/rte_tm.h)
>>>>>>>>>>> It was a bug to not mark as experimental in each function in the
>>>>> ABI process.
>>>>>>>>>>> Some of the features like packet marking are not even
>>>>> implemented by any HW.
>>>>>>>>>>> I think, we can make API stable only all the features are
>>>>> implemented
>>>>>>>>>>> by one or two HW.
>>>>>
>>>>> Yes this is what was decided one or two years ago I think.
>>>>> But rte_tm API was introduced 3 years ago and is implemented by 6 PMDs.
>>>>>
>>>>>
>>>>>
>>>>>>>>>> Fair enough, specially if the API is not ready yet.
>>>>>>>>>>
>>>>>>>>>> But they were part of stable ABI, and marking them as experimental
>>>>> now will
>>>>>>>>>> break the old applications using these APIs.
>>>>>>>>>
>>>>>>>>> it is still marked as EXPERIMENTAL everywhere and API is not ready
>>>>> yet.
>>>>>
>>>>> rte_tm is implemented in 6 PMDs.
>>>>>
>>>>>
>>>>>>>> Existing experimental marks are text only for human parsing.
>>>>>>>>
>>>>>>>> The compiler attribute and build time checks are missing, and the
>>>>> symbol in the
>>>>>>>> binary doesn't have experimental tag. Our scripts and automated
>>>>> checks won't
>>>>>>>> detect it as experimental.
>>>>>>>>
>>>>>>>> My point is just having experimental comment in header file is not
>>>>> enough to
>>>>>>>> qualify the APIs as experimental.
>>>>>>>>
>>>>>>>>> Anyway, we need to break the ABI to make it work on various HW.
>>>>>
>>>>> Yes this is why I was asking in 19.11 to check our API,
>>>>> in order to avoid such situation.
>>>>>
>>>>>
>>>>>>>>> I am not sure what to do?
>>>>>
>>>>> Either manage ABI versioning, or wait 20.11.
>>>>>
>>>>>
>>>>>>>>> IMO, We need to send a patch as Fixes: for the bug of not adding
>>>>>>>>> __rte_experimental in each function.
>>>>>
>>>>> No, this is wrong.
>>>>>
>>>>
>>>> Why exactly is this wrong? This is the gap that caused the current discussion, right?
>>>>
>>> It's wrong for this release, since we can't change things from stable back
>>> to experimental. Any such patch will have to wait for 20.11, as agreed in
>>> the discussion.
>>>
>>
>> Deferring the patchet for this release.
>>
>> Reminder that if the option "to mark rte_tm_* as experimental in v20.11"
>> selected, requires deprecation notice before v20.11.
> 
> Thanks Ferruh for reminder. I'll send a deprecation notice patch for the same.
> 

Hi Nithin Kumar, Cristian, Jerin,

Who is working on updating APIs as experimental? We need that patch to proceed
with this one.

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH] cryptodev: revert ABI compatibility for ChaCha20-Poly1305
  @ 2020-08-25  8:18  9% ` Kusztal, ArkadiuszX
  0 siblings, 0 replies; 200+ results
From: Kusztal, ArkadiuszX @ 2020-08-25  8:18 UTC (permalink / raw)
  To: Dybkowski, AdamX, dev, Trahe, Fiona, akhil.goyal



-----Original Message-----
From: Dybkowski, AdamX <adamx.dybkowski@intel.com> 
Sent: piątek, 14 sierpnia 2020 12:00
To: dev@dpdk.org; Trahe, Fiona <fiona.trahe@intel.com>; akhil.goyal@nxp.com
Cc: Dybkowski, AdamX <adamx.dybkowski@intel.com>; Kusztal, ArkadiuszX <arkadiuszx.kusztal@intel.com>
Subject: [PATCH] cryptodev: revert ABI compatibility for ChaCha20-Poly1305

This reverts commit a0f0de06d457753c94688d551a6e8659b4d4e041 as the rte_cryptodev_info_get function versioning was a temporary solution to maintain ABI compatibility for ChaCha20-Poly1305 and is not needed in 20.11.

Fixes: a0f0de06d457 ("cryptodev: fix ABI compatibility for ChaCha20-Poly1305")

Signed-off-by: Adam Dybkowski <adamx.dybkowski@intel.com>
Reviewed-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>
---
 lib/librte_cryptodev/meson.build              |   1 -
 lib/librte_cryptodev/rte_cryptodev.c          | 147 +-----------------
 lib/librte_cryptodev/rte_cryptodev.h          |  34 +---
 .../rte_cryptodev_version.map                 |   6 -
 4 files changed, 6 insertions(+), 182 deletions(-)

Acked-by: Arek Kusztal <arkadiuszx.kusztal@intel.com>

^ permalink raw reply	[relevance 9%]

* [dpdk-dev] [PATCH 4/7] ethdev: mark internal functions
  2020-08-24  9:40  1% [dpdk-dev] [PATCH 1/7] ethdev: remove legacy descriptor status check API Ferruh Yigit
  2020-08-24  9:40  4% ` [dpdk-dev] [PATCH 2/7] ethdev: move inline device operations Ferruh Yigit
  2020-08-24  9:40  1% ` [dpdk-dev] [PATCH 3/7] ethdev: make device operations struct private Ferruh Yigit
@ 2020-08-24  9:40  8% ` Ferruh Yigit
  2020-08-29 11:47  0% ` [dpdk-dev] [PATCH 1/7] ethdev: remove legacy descriptor status check API Andrew Rybchenko
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 200+ results
From: Ferruh Yigit @ 2020-08-24  9:40 UTC (permalink / raw)
  To: dev, Ray Kinsella, Neil Horman, John McNamara, Marko Kovacevic,
	Thomas Monjalon, Andrew Rybchenko, Ori Kam
  Cc: Ferruh Yigit

Some ethdev functions are for drivers only, not for applications.

Since we have '__rte_internal' tag available now, marking internal
functions with it and moving functions to INTERNAL section in linker
script.
This is also good for documenting the internal functions.

Some internal APIs seems marked as experimental, but it doesn't make
sense to have internals APIs as experimental, updating their tag and
doxygen comments.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 doc/guides/rel_notes/deprecation.rst     |  6 -----
 lib/librte_ethdev/rte_ethdev.h           |  3 +--
 lib/librte_ethdev/rte_ethdev_driver.h    | 33 ++++++++++--------------
 lib/librte_ethdev/rte_ethdev_version.map | 30 ++++++++++-----------
 lib/librte_ethdev/rte_flow_driver.h      |  4 +--
 5 files changed, 29 insertions(+), 47 deletions(-)

diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index d40b95bfa9..35c06d30ef 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -227,12 +227,6 @@ Deprecation Notices
   following the IPv6 header, as proposed in RFC
   https://mails.dpdk.org/archives/dev/2020-August/177257.html.
 
-* ethdev: Some internal APIs for driver usage are exported in the .map file.
-  Now DPDK has ``__rte_internal`` marker so we can mark internal APIs and move
-  them to the INTERNAL block in .map. Although these APIs are internal it will
-  break the ABI checks, that is why change is planned for 20.11.
-  The list of internal APIs are mainly ones listed in ``rte_ethdev_driver.h``.
-
 * traffic manager: All traffic manager API's in ``rte_tm.h`` were mistakenly made
   ABI stable in the v19.11 release. The TM maintainer and other contributors have
   agreed to keep the TM APIs as experimental in expectation of additional spec
diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
index 2ce186610b..ce2e0ec0e4 100644
--- a/lib/librte_ethdev/rte_ethdev.h
+++ b/lib/librte_ethdev/rte_ethdev.h
@@ -1723,8 +1723,7 @@ rte_eth_find_next_of(uint16_t port_id_start,
  */
 __rte_experimental
 uint16_t
-rte_eth_find_next_sibling(uint16_t port_id_start,
-		uint16_t ref_port_id);
+rte_eth_find_next_sibling(uint16_t port_id_start, uint16_t ref_port_id);
 
 /**
  * Macro to iterate over all ethdev ports sharing the same rte_device
diff --git a/lib/librte_ethdev/rte_ethdev_driver.h b/lib/librte_ethdev/rte_ethdev_driver.h
index b006cbbe92..3d1bc33272 100644
--- a/lib/librte_ethdev/rte_ethdev_driver.h
+++ b/lib/librte_ethdev/rte_ethdev_driver.h
@@ -759,6 +759,7 @@ int rte_eth_dev_is_tx_hairpin_queue(struct rte_eth_dev *dev, uint16_t queue_id);
  * @return
  *   - The pointer to the ethdev slot, on success. NULL on error
  */
+__rte_internal
 struct rte_eth_dev *rte_eth_dev_allocated(const char *name);
 
 /**
@@ -770,6 +771,7 @@ struct rte_eth_dev *rte_eth_dev_allocated(const char *name);
  * @return
  *   - Slot in the rte_dev_devices array for a new device;
  */
+__rte_internal
 struct rte_eth_dev *rte_eth_dev_allocate(const char *name);
 
 /**
@@ -783,6 +785,7 @@ struct rte_eth_dev *rte_eth_dev_allocate(const char *name);
  *        device.
  *   - Error: Null pointer.
  */
+__rte_internal
 struct rte_eth_dev *rte_eth_dev_attach_secondary(const char *name);
 
 /**
@@ -801,6 +804,7 @@ struct rte_eth_dev *rte_eth_dev_attach_secondary(const char *name);
  * @return
  *   - 0 on success, negative on error
  */
+__rte_internal
 int rte_eth_dev_release_port(struct rte_eth_dev *eth_dev);
 
 /**
@@ -814,6 +818,7 @@ int rte_eth_dev_release_port(struct rte_eth_dev *eth_dev);
  * @return
  *  void
  */
+__rte_internal
 void _rte_eth_dev_reset(struct rte_eth_dev *dev);
 
 /**
@@ -833,6 +838,7 @@ void _rte_eth_dev_reset(struct rte_eth_dev *dev);
  * @return
  *  int
  */
+__rte_internal
 int _rte_eth_dev_callback_process(struct rte_eth_dev *dev,
 		enum rte_eth_event_type event, void *ret_param);
 
@@ -848,6 +854,7 @@ int _rte_eth_dev_callback_process(struct rte_eth_dev *dev,
  * @param dev
  *  New ethdev port.
  */
+__rte_internal
 void rte_eth_dev_probing_finish(struct rte_eth_dev *dev);
 
 /**
@@ -869,6 +876,7 @@ void rte_eth_dev_probing_finish(struct rte_eth_dev *dev);
  * @param socket_id
  *   The *socket_id* argument is the socket identifier in case of NUMA.
  */
+__rte_internal
 const struct rte_memzone *
 rte_eth_dma_zone_reserve(const struct rte_eth_dev *eth_dev, const char *name,
 			 uint16_t queue_id, size_t size,
@@ -955,9 +963,6 @@ rte_eth_linkstatus_get(const struct rte_eth_dev *dev,
 }
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
  * Allocate an unique switch domain identifier.
  *
  * A pool of switch domain identifiers which can be allocated on request. This
@@ -971,14 +976,11 @@ rte_eth_linkstatus_get(const struct rte_eth_dev *dev,
  * @return
  *   Negative errno value on error, 0 on success.
  */
-__rte_experimental
+__rte_internal
 int
 rte_eth_switch_domain_alloc(uint16_t *domain_id);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
  * Free switch domain.
  *
  * Return a switch domain identifier to the pool of free identifiers after it is
@@ -990,7 +992,7 @@ rte_eth_switch_domain_alloc(uint16_t *domain_id);
  * @return
  *   Negative errno value on error, 0 on success.
  */
-__rte_experimental
+__rte_internal
 int
 rte_eth_switch_domain_free(uint16_t domain_id);
 
@@ -1007,9 +1009,6 @@ struct rte_eth_devargs {
 };
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
  * PMD helper function to parse ethdev arguments
  *
  * @param devargs
@@ -1020,7 +1019,7 @@ struct rte_eth_devargs {
  * @return
  *   Negative errno value on error, 0 on success.
  */
-__rte_experimental
+__rte_internal
 int
 rte_eth_devargs_parse(const char *devargs, struct rte_eth_devargs *eth_devargs);
 
@@ -1030,9 +1029,6 @@ typedef int (*ethdev_bus_specific_init)(struct rte_eth_dev *ethdev,
 	void *bus_specific_init_params);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
  * PMD helper function for the creation of a new ethdev ports.
  *
  * @param device
@@ -1053,7 +1049,7 @@ typedef int (*ethdev_bus_specific_init)(struct rte_eth_dev *ethdev,
  * @return
  *   Negative errno value on error, 0 on success.
  */
-__rte_experimental
+__rte_internal
 int
 rte_eth_dev_create(struct rte_device *device, const char *name,
 	size_t priv_data_size,
@@ -1064,9 +1060,6 @@ rte_eth_dev_create(struct rte_device *device, const char *name,
 typedef int (*ethdev_uninit_t)(struct rte_eth_dev *ethdev);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
  * PMD helper function for cleaning up the resources of a ethdev port on it's
  * destruction.
  *
@@ -1078,7 +1071,7 @@ typedef int (*ethdev_uninit_t)(struct rte_eth_dev *ethdev);
  * @return
  *   Negative errno value on error, 0 on success.
  */
-__rte_experimental
+__rte_internal
 int
 rte_eth_dev_destroy(struct rte_eth_dev *ethdev, ethdev_uninit_t ethdev_uninit);
 
diff --git a/lib/librte_ethdev/rte_ethdev_version.map b/lib/librte_ethdev/rte_ethdev_version.map
index 8d9d6b1c67..6a84f3d76d 100644
--- a/lib/librte_ethdev/rte_ethdev_version.map
+++ b/lib/librte_ethdev/rte_ethdev_version.map
@@ -1,8 +1,6 @@
 DPDK_21 {
 	global:
 
-	_rte_eth_dev_callback_process;
-	_rte_eth_dev_reset;
 	rte_eth_add_first_rx_callback;
 	rte_eth_add_rx_callback;
 	rte_eth_add_tx_callback;
@@ -10,9 +8,6 @@ DPDK_21 {
 	rte_eth_allmulticast_enable;
 	rte_eth_allmulticast_get;
 	rte_eth_dev_adjust_nb_rx_tx_desc;
-	rte_eth_dev_allocate;
-	rte_eth_dev_allocated;
-	rte_eth_dev_attach_secondary;
 	rte_eth_dev_callback_register;
 	rte_eth_dev_callback_unregister;
 	rte_eth_dev_close;
@@ -44,8 +39,6 @@ DPDK_21 {
 	rte_eth_dev_mac_addr_remove;
 	rte_eth_dev_pool_ops_supported;
 	rte_eth_dev_priority_flow_ctrl_set;
-	rte_eth_dev_probing_finish;
-	rte_eth_dev_release_port;
 	rte_eth_dev_reset;
 	rte_eth_dev_rss_hash_conf_get;
 	rte_eth_dev_rss_hash_update;
@@ -81,7 +74,6 @@ DPDK_21 {
 	rte_eth_dev_udp_tunnel_port_delete;
 	rte_eth_dev_vlan_filter;
 	rte_eth_devices;
-	rte_eth_dma_zone_reserve;
 	rte_eth_find_next;
 	rte_eth_find_next_owned_by;
 	rte_eth_iterator_cleanup;
@@ -195,16 +187,8 @@ EXPERIMENTAL {
 	rte_eth_dev_owner_unset;
 
 	# added in 18.05
-	rte_eth_dev_create;
-	rte_eth_dev_destroy;
 	rte_eth_dev_get_module_eeprom;
 	rte_eth_dev_get_module_info;
-	rte_eth_devargs_parse;
-	rte_eth_switch_domain_alloc;
-	rte_eth_switch_domain_free;
-
-	# added in 18.08
-	rte_flow_expand_rss;
 
 	# added in 18.11
 	rte_eth_dev_rx_intr_ctl_q_get_fd;
@@ -246,5 +230,19 @@ EXPERIMENTAL {
 INTERNAL {
 	global:
 
+	_rte_eth_dev_callback_process;
+	_rte_eth_dev_reset;
+	rte_eth_dev_allocate;
+	rte_eth_dev_allocated;
+	rte_eth_dev_attach_secondary;
+	rte_eth_dev_create;
+	rte_eth_dev_destroy;
+	rte_eth_dev_probing_finish;
+	rte_eth_dev_release_port;
+	rte_eth_devargs_parse;
 	rte_eth_dma_zone_free;
+	rte_eth_dma_zone_reserve;
+	rte_eth_switch_domain_alloc;
+	rte_eth_switch_domain_free;
+	rte_flow_expand_rss;
 };
diff --git a/lib/librte_ethdev/rte_flow_driver.h b/lib/librte_ethdev/rte_flow_driver.h
index 997598db11..3ee871d3eb 100644
--- a/lib/librte_ethdev/rte_flow_driver.h
+++ b/lib/librte_ethdev/rte_flow_driver.h
@@ -161,8 +161,6 @@ struct rte_flow_expand_rss {
  * Expand RSS flows into several possible flows according to the RSS hash
  * fields requested and the driver capabilities.
  *
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * @param[out] buf
  *   Buffer to store the result expansion.
  * @param[in] size
@@ -183,7 +181,7 @@ struct rte_flow_expand_rss {
  *
  *   -E2BIG: graph-depth @p graph is too deep.
  */
-__rte_experimental
+__rte_internal
 int
 rte_flow_expand_rss(struct rte_flow_expand_rss *buf, size_t size,
 		    const struct rte_flow_item *pattern, uint64_t types,
-- 
2.25.4


^ permalink raw reply	[relevance 8%]

* [dpdk-dev] [PATCH 3/7] ethdev: make device operations struct private
  2020-08-24  9:40  1% [dpdk-dev] [PATCH 1/7] ethdev: remove legacy descriptor status check API Ferruh Yigit
  2020-08-24  9:40  4% ` [dpdk-dev] [PATCH 2/7] ethdev: move inline device operations Ferruh Yigit
@ 2020-08-24  9:40  1% ` Ferruh Yigit
  2020-08-24  9:40  8% ` [dpdk-dev] [PATCH 4/7] ethdev: mark internal functions Ferruh Yigit
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 200+ results
From: Ferruh Yigit @ 2020-08-24  9:40 UTC (permalink / raw)
  To: dev, Ray Kinsella, Neil Horman, John McNamara, Marko Kovacevic,
	Beilei Xing, Jeff Guo, Wei Zhao, Thomas Monjalon,
	Andrew Rybchenko, Ori Kam, Cristian Dumitrescu
  Cc: Ferruh Yigit

Hiding the 'struct eth_dev_ops' from applications.

Removing relevant deprecation notice.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 doc/guides/rel_notes/deprecation.rst     |   9 -
 drivers/net/i40e/i40e_vf_representor.c   |   1 +
 drivers/net/ixgbe/ixgbe_vf_representor.c |   1 +
 lib/librte_ethdev/rte_ethdev_core.h      | 708 +----------------------
 lib/librte_ethdev/rte_ethdev_driver.h    | 694 ++++++++++++++++++++++
 lib/librte_ethdev/rte_flow_driver.h      |   1 +
 lib/librte_ethdev/rte_mtr_driver.h       |   1 +
 lib/librte_ethdev/rte_tm_driver.h        |   1 +
 8 files changed, 706 insertions(+), 710 deletions(-)

diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 811eaad6ce..d40b95bfa9 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -163,15 +163,6 @@ Deprecation Notices
   Due to adoption of C11 atomic builtins, the field ``refcnt_atomic``
   will be replaced with ``refcnt`` of type ``uint16_t`` in DPDK 20.11.
 
-* ethdev: Split the ``struct eth_dev_ops`` struct to hide it as much as possible
-  will be done in 20.11.
-  Currently the ``struct eth_dev_ops`` struct is accessible by the application
-  because some inline functions, like ``rte_eth_tx_descriptor_status()``,
-  access the struct directly.
-  The struct will be separate in two, the ops used by inline functions will be
-  moved next to Rx/Tx burst functions, rest of the ``struct eth_dev_ops`` struct
-  will be moved to header file for drivers to hide it from applications.
-
 * ethdev: the legacy filter API, including
   ``rte_eth_dev_filter_supported()``, ``rte_eth_dev_filter_ctrl()`` as well
   as filter types MACVLAN, ETHERTYPE, FLEXIBLE, SYN, NTUPLE, TUNNEL, FDIR,
diff --git a/drivers/net/i40e/i40e_vf_representor.c b/drivers/net/i40e/i40e_vf_representor.c
index 083bc1a5f3..f09d4d8798 100644
--- a/drivers/net/i40e/i40e_vf_representor.c
+++ b/drivers/net/i40e/i40e_vf_representor.c
@@ -7,6 +7,7 @@
 #include <rte_pci.h>
 #include <rte_malloc.h>
 
+#include "rte_ethdev_driver.h"
 #include "base/i40e_type.h"
 #include "base/virtchnl.h"
 #include "i40e_ethdev.h"
diff --git a/drivers/net/ixgbe/ixgbe_vf_representor.c b/drivers/net/ixgbe/ixgbe_vf_representor.c
index dbbef294ae..edb5d43846 100644
--- a/drivers/net/ixgbe/ixgbe_vf_representor.c
+++ b/drivers/net/ixgbe/ixgbe_vf_representor.c
@@ -6,6 +6,7 @@
 #include <rte_pci.h>
 #include <rte_malloc.h>
 
+#include "rte_ethdev_driver.h"
 #include "base/ixgbe_type.h"
 #include "base/ixgbe_vf.h"
 #include "ixgbe_ethdev.h"
diff --git a/lib/librte_ethdev/rte_ethdev_core.h b/lib/librte_ethdev/rte_ethdev_core.h
index 275d51006b..0a2a43803f 100644
--- a/lib/librte_ethdev/rte_ethdev_core.h
+++ b/lib/librte_ethdev/rte_ethdev_core.h
@@ -21,319 +21,8 @@ struct rte_eth_dev_callback;
 /** @internal Structure to keep track of registered callbacks */
 TAILQ_HEAD(rte_eth_dev_cb_list, rte_eth_dev_callback);
 
-/*
- * Definitions of all functions exported by an Ethernet driver through the
- * the generic structure of type *eth_dev_ops* supplied in the *rte_eth_dev*
- * structure associated with an Ethernet device.
- */
 struct rte_eth_dev;
 
-typedef int  (*eth_dev_configure_t)(struct rte_eth_dev *dev);
-/**< @internal Ethernet device configuration. */
-
-typedef int  (*eth_dev_start_t)(struct rte_eth_dev *dev);
-/**< @internal Function used to start a configured Ethernet device. */
-
-typedef void (*eth_dev_stop_t)(struct rte_eth_dev *dev);
-/**< @internal Function used to stop a configured Ethernet device. */
-
-typedef int  (*eth_dev_set_link_up_t)(struct rte_eth_dev *dev);
-/**< @internal Function used to link up a configured Ethernet device. */
-
-typedef int  (*eth_dev_set_link_down_t)(struct rte_eth_dev *dev);
-/**< @internal Function used to link down a configured Ethernet device. */
-
-typedef void (*eth_dev_close_t)(struct rte_eth_dev *dev);
-/**< @internal Function used to close a configured Ethernet device. */
-
-typedef int (*eth_dev_reset_t)(struct rte_eth_dev *dev);
-/** <@internal Function used to reset a configured Ethernet device. */
-
-typedef int (*eth_is_removed_t)(struct rte_eth_dev *dev);
-/**< @internal Function used to detect an Ethernet device removal. */
-
-/**
- * @internal
- * Function used to enable the Rx promiscuous mode of an Ethernet device.
- *
- * @param dev
- *   ethdev handle of port.
- *
- * @return
- *   Negative errno value on error, 0 on success.
- *
- * @retval 0
- *   Success, promiscuous mode is enabled.
- * @retval -ENOTSUP
- *   Promiscuous mode is not supported.
- * @retval -ENODEV
- *   Device is gone.
- * @retval -E_RTE_SECONDARY
- *   Function was called from a secondary process instance and not supported.
- * @retval -ETIMEDOUT
- *   Attempt to enable promiscuos mode failed because of timeout.
- * @retval -EAGAIN
- *   Failed to enable promiscuous mode.
- */
-typedef int (*eth_promiscuous_enable_t)(struct rte_eth_dev *dev);
-
-/**
- * @internal
- * Function used to disable the Rx promiscuous mode of an Ethernet device.
- *
- * @param dev
- *   ethdev handle of port.
- *
- * @return
- *   Negative errno value on error, 0 on success.
- *
- * @retval 0
- *   Success, promiscuous mode is disabled.
- * @retval -ENOTSUP
- *   Promiscuous mode disabling is not supported.
- * @retval -ENODEV
- *   Device is gone.
- * @retval -E_RTE_SECONDARY
- *   Function was called from a secondary process instance and not supported.
- * @retval -ETIMEDOUT
- *   Attempt to disable promiscuos mode failed because of timeout.
- * @retval -EAGAIN
- *   Failed to disable promiscuous mode.
- */
-typedef int (*eth_promiscuous_disable_t)(struct rte_eth_dev *dev);
-
-/**
- * @internal
- * Enable the receipt of all multicast packets by an Ethernet device.
- *
- * @param dev
- *   ethdev handle of port.
- *
- * @return
- *   Negative errno value on error, 0 on success.
- *
- * @retval 0
- *   Success, all-multicast mode is enabled.
- * @retval -ENOTSUP
- *   All-multicast mode is not supported.
- * @retval -ENODEV
- *   Device is gone.
- * @retval -E_RTE_SECONDARY
- *   Function was called from a secondary process instance and not supported.
- * @retval -ETIMEDOUT
- *   Attempt to enable all-multicast mode failed because of timeout.
- * @retval -EAGAIN
- *   Failed to enable all-multicast mode.
- */
-typedef int (*eth_allmulticast_enable_t)(struct rte_eth_dev *dev);
-
-/**
- * @internal
- * Disable the receipt of all multicast packets by an Ethernet device.
- *
- * @param dev
- *   ethdev handle of port.
- *
- * @return
- *   Negative errno value on error, 0 on success.
- *
- * @retval 0
- *   Success, all-multicast mode is disabled.
- * @retval -ENOTSUP
- *   All-multicast mode disabling is not supported.
- * @retval -ENODEV
- *   Device is gone.
- * @retval -E_RTE_SECONDARY
- *   Function was called from a secondary process instance and not supported.
- * @retval -ETIMEDOUT
- *   Attempt to disable all-multicast mode failed because of timeout.
- * @retval -EAGAIN
- *   Failed to disable all-multicast mode.
- */
-typedef int (*eth_allmulticast_disable_t)(struct rte_eth_dev *dev);
-
-typedef int (*eth_link_update_t)(struct rte_eth_dev *dev,
-				int wait_to_complete);
-/**< @internal Get link speed, duplex mode and state (up/down) of an Ethernet device. */
-
-typedef int (*eth_stats_get_t)(struct rte_eth_dev *dev,
-				struct rte_eth_stats *igb_stats);
-/**< @internal Get global I/O statistics of an Ethernet device. */
-
-/**
- * @internal
- * Reset global I/O statistics of an Ethernet device to 0.
- *
- * @param dev
- *   ethdev handle of port.
- *
- * @return
- *   Negative errno value on error, 0 on success.
- *
- * @retval 0
- *   Success, statistics has been reset.
- * @retval -ENOTSUP
- *   Resetting statistics is not supported.
- * @retval -EINVAL
- *   Resetting statistics is not valid.
- * @retval -ENOMEM
- *   Not enough memory to get the stats.
- */
-typedef int (*eth_stats_reset_t)(struct rte_eth_dev *dev);
-
-typedef int (*eth_xstats_get_t)(struct rte_eth_dev *dev,
-	struct rte_eth_xstat *stats, unsigned n);
-/**< @internal Get extended stats of an Ethernet device. */
-
-typedef int (*eth_xstats_get_by_id_t)(struct rte_eth_dev *dev,
-				      const uint64_t *ids,
-				      uint64_t *values,
-				      unsigned int n);
-/**< @internal Get extended stats of an Ethernet device. */
-
-/**
- * @internal
- * Reset extended stats of an Ethernet device.
- *
- * @param dev
- *   ethdev handle of port.
- *
- * @return
- *   Negative errno value on error, 0 on success.
- *
- * @retval 0
- *   Success, statistics has been reset.
- * @retval -ENOTSUP
- *   Resetting statistics is not supported.
- * @retval -EINVAL
- *   Resetting statistics is not valid.
- * @retval -ENOMEM
- *   Not enough memory to get the stats.
- */
-typedef int (*eth_xstats_reset_t)(struct rte_eth_dev *dev);
-
-typedef int (*eth_xstats_get_names_t)(struct rte_eth_dev *dev,
-	struct rte_eth_xstat_name *xstats_names, unsigned size);
-/**< @internal Get names of extended stats of an Ethernet device. */
-
-typedef int (*eth_xstats_get_names_by_id_t)(struct rte_eth_dev *dev,
-	struct rte_eth_xstat_name *xstats_names, const uint64_t *ids,
-	unsigned int size);
-/**< @internal Get names of extended stats of an Ethernet device. */
-
-typedef int (*eth_queue_stats_mapping_set_t)(struct rte_eth_dev *dev,
-					     uint16_t queue_id,
-					     uint8_t stat_idx,
-					     uint8_t is_rx);
-/**< @internal Set a queue statistics mapping for a tx/rx queue of an Ethernet device. */
-
-typedef int (*eth_dev_infos_get_t)(struct rte_eth_dev *dev,
-				   struct rte_eth_dev_info *dev_info);
-/**< @internal Get specific information of an Ethernet device. */
-
-typedef const uint32_t *(*eth_dev_supported_ptypes_get_t)(struct rte_eth_dev *dev);
-/**< @internal Get supported ptypes of an Ethernet device. */
-
-/**
- * @internal
- * Inform Ethernet device about reduced range of packet types to handle.
- *
- * @param dev
- *   The Ethernet device identifier.
- * @param ptype_mask
- *   The ptype family that application is interested in should be bitwise OR of
- *   RTE_PTYPE_*_MASK or 0.
- * @return
- *   - (0) if Success.
- */
-typedef int (*eth_dev_ptypes_set_t)(struct rte_eth_dev *dev,
-				     uint32_t ptype_mask);
-
-typedef int (*eth_queue_start_t)(struct rte_eth_dev *dev,
-				    uint16_t queue_id);
-/**< @internal Start rx and tx of a queue of an Ethernet device. */
-
-typedef int (*eth_queue_stop_t)(struct rte_eth_dev *dev,
-				    uint16_t queue_id);
-/**< @internal Stop rx and tx of a queue of an Ethernet device. */
-
-typedef int (*eth_rx_queue_setup_t)(struct rte_eth_dev *dev,
-				    uint16_t rx_queue_id,
-				    uint16_t nb_rx_desc,
-				    unsigned int socket_id,
-				    const struct rte_eth_rxconf *rx_conf,
-				    struct rte_mempool *mb_pool);
-/**< @internal Set up a receive queue of an Ethernet device. */
-
-typedef int (*eth_tx_queue_setup_t)(struct rte_eth_dev *dev,
-				    uint16_t tx_queue_id,
-				    uint16_t nb_tx_desc,
-				    unsigned int socket_id,
-				    const struct rte_eth_txconf *tx_conf);
-/**< @internal Setup a transmit queue of an Ethernet device. */
-
-typedef int (*eth_rx_enable_intr_t)(struct rte_eth_dev *dev,
-				    uint16_t rx_queue_id);
-/**< @internal Enable interrupt of a receive queue of an Ethernet device. */
-
-typedef int (*eth_rx_disable_intr_t)(struct rte_eth_dev *dev,
-				    uint16_t rx_queue_id);
-/**< @internal Disable interrupt of a receive queue of an Ethernet device. */
-
-typedef void (*eth_queue_release_t)(void *queue);
-/**< @internal Release memory resources allocated by given RX/TX queue. */
-
-typedef uint32_t (*eth_rx_queue_count_t)(struct rte_eth_dev *dev,
-					 uint16_t rx_queue_id);
-/**< @internal Get number of used descriptors on a receive queue. */
-
-typedef int (*eth_rx_descriptor_status_t)(void *rxq, uint16_t offset);
-/**< @internal Check the status of a Rx descriptor */
-
-typedef int (*eth_tx_descriptor_status_t)(void *txq, uint16_t offset);
-/**< @internal Check the status of a Tx descriptor */
-
-typedef int (*eth_fw_version_get_t)(struct rte_eth_dev *dev,
-				     char *fw_version, size_t fw_size);
-/**< @internal Get firmware information of an Ethernet device. */
-
-typedef int (*eth_tx_done_cleanup_t)(void *txq, uint32_t free_cnt);
-/**< @internal Force mbufs to be from TX ring. */
-
-typedef void (*eth_rxq_info_get_t)(struct rte_eth_dev *dev,
-	uint16_t rx_queue_id, struct rte_eth_rxq_info *qinfo);
-
-typedef void (*eth_txq_info_get_t)(struct rte_eth_dev *dev,
-	uint16_t tx_queue_id, struct rte_eth_txq_info *qinfo);
-
-typedef int (*eth_burst_mode_get_t)(struct rte_eth_dev *dev,
-	uint16_t queue_id, struct rte_eth_burst_mode *mode);
-
-typedef int (*mtu_set_t)(struct rte_eth_dev *dev, uint16_t mtu);
-/**< @internal Set MTU. */
-
-typedef int (*vlan_filter_set_t)(struct rte_eth_dev *dev,
-				  uint16_t vlan_id,
-				  int on);
-/**< @internal filtering of a VLAN Tag Identifier by an Ethernet device. */
-
-typedef int (*vlan_tpid_set_t)(struct rte_eth_dev *dev,
-			       enum rte_vlan_type type, uint16_t tpid);
-/**< @internal set the outer/inner VLAN-TPID by an Ethernet device. */
-
-typedef int (*vlan_offload_set_t)(struct rte_eth_dev *dev, int mask);
-/**< @internal set VLAN offload function by an Ethernet device. */
-
-typedef int (*vlan_pvid_set_t)(struct rte_eth_dev *dev,
-			       uint16_t vlan_id,
-			       int on);
-/**< @internal set port based TX VLAN insertion by an Ethernet device. */
-
-typedef void (*vlan_strip_queue_set_t)(struct rte_eth_dev *dev,
-				  uint16_t rx_queue_id,
-				  int on);
-/**< @internal VLAN stripping enable/disable by an queue of Ethernet device. */
-
 typedef uint16_t (*eth_rx_burst_t)(void *rxq,
 				   struct rte_mbuf **rx_pkts,
 				   uint16_t nb_pkts);
@@ -349,400 +38,17 @@ typedef uint16_t (*eth_tx_prep_t)(void *txq,
 				   uint16_t nb_pkts);
 /**< @internal Prepare output packets on a transmit queue of an Ethernet device. */
 
-typedef int (*flow_ctrl_get_t)(struct rte_eth_dev *dev,
-			       struct rte_eth_fc_conf *fc_conf);
-/**< @internal Get current flow control parameter on an Ethernet device */
 
-typedef int (*flow_ctrl_set_t)(struct rte_eth_dev *dev,
-			       struct rte_eth_fc_conf *fc_conf);
-/**< @internal Setup flow control parameter on an Ethernet device */
-
-typedef int (*priority_flow_ctrl_set_t)(struct rte_eth_dev *dev,
-				struct rte_eth_pfc_conf *pfc_conf);
-/**< @internal Setup priority flow control parameter on an Ethernet device */
-
-typedef int (*reta_update_t)(struct rte_eth_dev *dev,
-			     struct rte_eth_rss_reta_entry64 *reta_conf,
-			     uint16_t reta_size);
-/**< @internal Update RSS redirection table on an Ethernet device */
-
-typedef int (*reta_query_t)(struct rte_eth_dev *dev,
-			    struct rte_eth_rss_reta_entry64 *reta_conf,
-			    uint16_t reta_size);
-/**< @internal Query RSS redirection table on an Ethernet device */
-
-typedef int (*rss_hash_update_t)(struct rte_eth_dev *dev,
-				 struct rte_eth_rss_conf *rss_conf);
-/**< @internal Update RSS hash configuration of an Ethernet device */
-
-typedef int (*rss_hash_conf_get_t)(struct rte_eth_dev *dev,
-				   struct rte_eth_rss_conf *rss_conf);
-/**< @internal Get current RSS hash configuration of an Ethernet device */
-
-typedef int (*eth_dev_led_on_t)(struct rte_eth_dev *dev);
-/**< @internal Turn on SW controllable LED on an Ethernet device */
-
-typedef int (*eth_dev_led_off_t)(struct rte_eth_dev *dev);
-/**< @internal Turn off SW controllable LED on an Ethernet device */
-
-typedef void (*eth_mac_addr_remove_t)(struct rte_eth_dev *dev, uint32_t index);
-/**< @internal Remove MAC address from receive address register */
-
-typedef int (*eth_mac_addr_add_t)(struct rte_eth_dev *dev,
-				  struct rte_ether_addr *mac_addr,
-				  uint32_t index,
-				  uint32_t vmdq);
-/**< @internal Set a MAC address into Receive Address Address Register */
-
-typedef int (*eth_mac_addr_set_t)(struct rte_eth_dev *dev,
-				  struct rte_ether_addr *mac_addr);
-/**< @internal Set a MAC address into Receive Address Address Register */
-
-typedef int (*eth_uc_hash_table_set_t)(struct rte_eth_dev *dev,
-				  struct rte_ether_addr *mac_addr,
-				  uint8_t on);
-/**< @internal Set a Unicast Hash bitmap */
-
-typedef int (*eth_uc_all_hash_table_set_t)(struct rte_eth_dev *dev,
-				  uint8_t on);
-/**< @internal Set all Unicast Hash bitmap */
-
-typedef int (*eth_set_queue_rate_limit_t)(struct rte_eth_dev *dev,
-				uint16_t queue_idx,
-				uint16_t tx_rate);
-/**< @internal Set queue TX rate */
-
-typedef int (*eth_mirror_rule_set_t)(struct rte_eth_dev *dev,
-				  struct rte_eth_mirror_conf *mirror_conf,
-				  uint8_t rule_id,
-				  uint8_t on);
-/**< @internal Add a traffic mirroring rule on an Ethernet device */
-
-typedef int (*eth_mirror_rule_reset_t)(struct rte_eth_dev *dev,
-				  uint8_t rule_id);
-/**< @internal Remove a traffic mirroring rule on an Ethernet device */
-
-typedef int (*eth_udp_tunnel_port_add_t)(struct rte_eth_dev *dev,
-					 struct rte_eth_udp_tunnel *tunnel_udp);
-/**< @internal Add tunneling UDP port */
-
-typedef int (*eth_udp_tunnel_port_del_t)(struct rte_eth_dev *dev,
-					 struct rte_eth_udp_tunnel *tunnel_udp);
-/**< @internal Delete tunneling UDP port */
-
-typedef int (*eth_set_mc_addr_list_t)(struct rte_eth_dev *dev,
-				      struct rte_ether_addr *mc_addr_set,
-				      uint32_t nb_mc_addr);
-/**< @internal set the list of multicast addresses on an Ethernet device */
-
-typedef int (*eth_timesync_enable_t)(struct rte_eth_dev *dev);
-/**< @internal Function used to enable IEEE1588/802.1AS timestamping. */
-
-typedef int (*eth_timesync_disable_t)(struct rte_eth_dev *dev);
-/**< @internal Function used to disable IEEE1588/802.1AS timestamping. */
-
-typedef int (*eth_timesync_read_rx_timestamp_t)(struct rte_eth_dev *dev,
-						struct timespec *timestamp,
-						uint32_t flags);
-/**< @internal Function used to read an RX IEEE1588/802.1AS timestamp. */
-
-typedef int (*eth_timesync_read_tx_timestamp_t)(struct rte_eth_dev *dev,
-						struct timespec *timestamp);
-/**< @internal Function used to read a TX IEEE1588/802.1AS timestamp. */
-
-typedef int (*eth_timesync_adjust_time)(struct rte_eth_dev *dev, int64_t);
-/**< @internal Function used to adjust the device clock */
-
-typedef int (*eth_timesync_read_time)(struct rte_eth_dev *dev,
-				      struct timespec *timestamp);
-/**< @internal Function used to get time from the device clock. */
-
-typedef int (*eth_timesync_write_time)(struct rte_eth_dev *dev,
-				       const struct timespec *timestamp);
-/**< @internal Function used to get time from the device clock */
-
-typedef int (*eth_read_clock)(struct rte_eth_dev *dev,
-				      uint64_t *timestamp);
-/**< @internal Function used to get the current value of the device clock. */
-
-typedef int (*eth_get_reg_t)(struct rte_eth_dev *dev,
-				struct rte_dev_reg_info *info);
-/**< @internal Retrieve registers  */
-
-typedef int (*eth_get_eeprom_length_t)(struct rte_eth_dev *dev);
-/**< @internal Retrieve eeprom size  */
-
-typedef int (*eth_get_eeprom_t)(struct rte_eth_dev *dev,
-				struct rte_dev_eeprom_info *info);
-/**< @internal Retrieve eeprom data  */
-
-typedef int (*eth_set_eeprom_t)(struct rte_eth_dev *dev,
-				struct rte_dev_eeprom_info *info);
-/**< @internal Program eeprom data  */
-
-typedef int (*eth_get_module_info_t)(struct rte_eth_dev *dev,
-				     struct rte_eth_dev_module_info *modinfo);
-/**< @internal Retrieve type and size of plugin module eeprom */
-
-typedef int (*eth_get_module_eeprom_t)(struct rte_eth_dev *dev,
-				       struct rte_dev_eeprom_info *info);
-/**< @internal Retrieve plugin module eeprom data */
-
-typedef int (*eth_l2_tunnel_eth_type_conf_t)
-	(struct rte_eth_dev *dev, struct rte_eth_l2_tunnel_conf *l2_tunnel);
-/**< @internal config l2 tunnel ether type */
-
-typedef int (*eth_l2_tunnel_offload_set_t)
-	(struct rte_eth_dev *dev,
-	 struct rte_eth_l2_tunnel_conf *l2_tunnel,
-	 uint32_t mask,
-	 uint8_t en);
-/**< @internal enable/disable the l2 tunnel offload functions */
-
-
-typedef int (*eth_filter_ctrl_t)(struct rte_eth_dev *dev,
-				 enum rte_filter_type filter_type,
-				 enum rte_filter_op filter_op,
-				 void *arg);
-/**< @internal Take operations to assigned filter type on an Ethernet device */
-
-typedef int (*eth_tm_ops_get_t)(struct rte_eth_dev *dev, void *ops);
-/**< @internal Get Traffic Management (TM) operations on an Ethernet device */
-
-typedef int (*eth_mtr_ops_get_t)(struct rte_eth_dev *dev, void *ops);
-/**< @internal Get Traffic Metering and Policing (MTR) operations */
-
-typedef int (*eth_get_dcb_info)(struct rte_eth_dev *dev,
-				 struct rte_eth_dcb_info *dcb_info);
-/**< @internal Get dcb information on an Ethernet device */
-
-typedef int (*eth_pool_ops_supported_t)(struct rte_eth_dev *dev,
-						const char *pool);
-/**< @internal Test if a port supports specific mempool ops */
-
-/**
- * @internal
- * Get the hairpin capabilities.
- *
- * @param dev
- *   ethdev handle of port.
- * @param cap
- *   returns the hairpin capabilities from the device.
- *
- * @return
- *   Negative errno value on error, 0 on success.
- *
- * @retval 0
- *   Success, hairpin is supported.
- * @retval -ENOTSUP
- *   Hairpin is not supported.
- */
-typedef int (*eth_hairpin_cap_get_t)(struct rte_eth_dev *dev,
-				     struct rte_eth_hairpin_cap *cap);
-
-/**
- * @internal
- * Setup RX hairpin queue.
- *
- * @param dev
- *   ethdev handle of port.
- * @param rx_queue_id
- *   the selected RX queue index.
- * @param nb_rx_desc
- *   the requested number of descriptors for this queue. 0 - use PMD default.
- * @param conf
- *   the RX hairpin configuration structure.
- *
- * @return
- *   Negative errno value on error, 0 on success.
- *
- * @retval 0
- *   Success, hairpin is supported.
- * @retval -ENOTSUP
- *   Hairpin is not supported.
- * @retval -EINVAL
- *   One of the parameters is invalid.
- * @retval -ENOMEM
- *   Unable to allocate resources.
- */
-typedef int (*eth_rx_hairpin_queue_setup_t)
-	(struct rte_eth_dev *dev, uint16_t rx_queue_id,
-	 uint16_t nb_rx_desc,
-	 const struct rte_eth_hairpin_conf *conf);
-
-/**
- * @internal
- * Setup TX hairpin queue.
- *
- * @param dev
- *   ethdev handle of port.
- * @param tx_queue_id
- *   the selected TX queue index.
- * @param nb_tx_desc
- *   the requested number of descriptors for this queue. 0 - use PMD default.
- * @param conf
- *   the TX hairpin configuration structure.
- *
- * @return
- *   Negative errno value on error, 0 on success.
- *
- * @retval 0
- *   Success, hairpin is supported.
- * @retval -ENOTSUP
- *   Hairpin is not supported.
- * @retval -EINVAL
- *   One of the parameters is invalid.
- * @retval -ENOMEM
- *   Unable to allocate resources.
- */
-typedef int (*eth_tx_hairpin_queue_setup_t)
-	(struct rte_eth_dev *dev, uint16_t tx_queue_id,
-	 uint16_t nb_tx_desc,
-	 const struct rte_eth_hairpin_conf *hairpin_conf);
-
-/**
- * @internal A structure containing the functions exported by an Ethernet driver.
- */
-struct eth_dev_ops {
-	eth_dev_configure_t        dev_configure; /**< Configure device. */
-	eth_dev_start_t            dev_start;     /**< Start device. */
-	eth_dev_stop_t             dev_stop;      /**< Stop device. */
-	eth_dev_set_link_up_t      dev_set_link_up;   /**< Device link up. */
-	eth_dev_set_link_down_t    dev_set_link_down; /**< Device link down. */
-	eth_dev_close_t            dev_close;     /**< Close device. */
-	eth_dev_reset_t		   dev_reset;	  /**< Reset device. */
-	eth_link_update_t          link_update;   /**< Get device link state. */
-	eth_is_removed_t           is_removed;
-	/**< Check if the device was physically removed. */
-
-	eth_promiscuous_enable_t   promiscuous_enable; /**< Promiscuous ON. */
-	eth_promiscuous_disable_t  promiscuous_disable;/**< Promiscuous OFF. */
-	eth_allmulticast_enable_t  allmulticast_enable;/**< RX multicast ON. */
-	eth_allmulticast_disable_t allmulticast_disable;/**< RX multicast OFF. */
-	eth_mac_addr_remove_t      mac_addr_remove; /**< Remove MAC address. */
-	eth_mac_addr_add_t         mac_addr_add;  /**< Add a MAC address. */
-	eth_mac_addr_set_t         mac_addr_set;  /**< Set a MAC address. */
-	eth_set_mc_addr_list_t     set_mc_addr_list; /**< set list of mcast addrs. */
-	mtu_set_t                  mtu_set;       /**< Set MTU. */
-
-	eth_stats_get_t            stats_get;     /**< Get generic device statistics. */
-	eth_stats_reset_t          stats_reset;   /**< Reset generic device statistics. */
-	eth_xstats_get_t           xstats_get;    /**< Get extended device statistics. */
-	eth_xstats_reset_t         xstats_reset;  /**< Reset extended device statistics. */
-	eth_xstats_get_names_t     xstats_get_names;
-	/**< Get names of extended statistics. */
-	eth_queue_stats_mapping_set_t queue_stats_mapping_set;
-	/**< Configure per queue stat counter mapping. */
-
-	eth_dev_infos_get_t        dev_infos_get; /**< Get device info. */
-	eth_rxq_info_get_t         rxq_info_get; /**< retrieve RX queue information. */
-	eth_txq_info_get_t         txq_info_get; /**< retrieve TX queue information. */
-	eth_burst_mode_get_t       rx_burst_mode_get; /**< Get RX burst mode */
-	eth_burst_mode_get_t       tx_burst_mode_get; /**< Get TX burst mode */
-	eth_fw_version_get_t       fw_version_get; /**< Get firmware version. */
-	eth_dev_supported_ptypes_get_t dev_supported_ptypes_get;
-	/**< Get packet types supported and identified by device. */
-	eth_dev_ptypes_set_t dev_ptypes_set;
-	/**< Inform Ethernet device about reduced range of packet types to handle. */
-
-	vlan_filter_set_t          vlan_filter_set; /**< Filter VLAN Setup. */
-	vlan_tpid_set_t            vlan_tpid_set; /**< Outer/Inner VLAN TPID Setup. */
-	vlan_strip_queue_set_t     vlan_strip_queue_set; /**< VLAN Stripping on queue. */
-	vlan_offload_set_t         vlan_offload_set; /**< Set VLAN Offload. */
-	vlan_pvid_set_t            vlan_pvid_set; /**< Set port based TX VLAN insertion. */
-
-	eth_queue_start_t          rx_queue_start;/**< Start RX for a queue. */
-	eth_queue_stop_t           rx_queue_stop; /**< Stop RX for a queue. */
-	eth_queue_start_t          tx_queue_start;/**< Start TX for a queue. */
-	eth_queue_stop_t           tx_queue_stop; /**< Stop TX for a queue. */
-	eth_rx_queue_setup_t       rx_queue_setup;/**< Set up device RX queue. */
-	eth_queue_release_t        rx_queue_release; /**< Release RX queue. */
-	/*
-	 * Static inline functions use functions ABOVE this comment.
-	 * New dev_ops functions should be added BELOW to avoid breaking ABI.
-	 */
-	eth_rx_enable_intr_t       rx_queue_intr_enable;  /**< Enable Rx queue interrupt. */
-	eth_rx_disable_intr_t      rx_queue_intr_disable; /**< Disable Rx queue interrupt. */
-	eth_tx_queue_setup_t       tx_queue_setup;/**< Set up device TX queue. */
-	eth_queue_release_t        tx_queue_release; /**< Release TX queue. */
-	eth_tx_done_cleanup_t      tx_done_cleanup;/**< Free tx ring mbufs */
-
-	eth_dev_led_on_t           dev_led_on;    /**< Turn on LED. */
-	eth_dev_led_off_t          dev_led_off;   /**< Turn off LED. */
-
-	flow_ctrl_get_t            flow_ctrl_get; /**< Get flow control. */
-	flow_ctrl_set_t            flow_ctrl_set; /**< Setup flow control. */
-	priority_flow_ctrl_set_t   priority_flow_ctrl_set; /**< Setup priority flow control. */
-
-	eth_uc_hash_table_set_t    uc_hash_table_set; /**< Set Unicast Table Array. */
-	eth_uc_all_hash_table_set_t uc_all_hash_table_set; /**< Set Unicast hash bitmap. */
-
-	eth_mirror_rule_set_t	   mirror_rule_set; /**< Add a traffic mirror rule. */
-	eth_mirror_rule_reset_t	   mirror_rule_reset; /**< reset a traffic mirror rule. */
-
-	eth_udp_tunnel_port_add_t  udp_tunnel_port_add; /** Add UDP tunnel port. */
-	eth_udp_tunnel_port_del_t  udp_tunnel_port_del; /** Del UDP tunnel port. */
-	eth_l2_tunnel_eth_type_conf_t l2_tunnel_eth_type_conf;
-	/** Config ether type of l2 tunnel. */
-	eth_l2_tunnel_offload_set_t   l2_tunnel_offload_set;
-	/** Enable/disable l2 tunnel offload functions. */
-
-	eth_set_queue_rate_limit_t set_queue_rate_limit; /**< Set queue rate limit. */
-
-	rss_hash_update_t          rss_hash_update; /** Configure RSS hash protocols. */
-	rss_hash_conf_get_t        rss_hash_conf_get; /** Get current RSS hash configuration. */
-	reta_update_t              reta_update;   /** Update redirection table. */
-	reta_query_t               reta_query;    /** Query redirection table. */
-
-	eth_get_reg_t              get_reg;           /**< Get registers. */
-	eth_get_eeprom_length_t    get_eeprom_length; /**< Get eeprom length. */
-	eth_get_eeprom_t           get_eeprom;        /**< Get eeprom data. */
-	eth_set_eeprom_t           set_eeprom;        /**< Set eeprom. */
-
-	eth_get_module_info_t      get_module_info;
-	/** Get plugin module eeprom attribute. */
-	eth_get_module_eeprom_t    get_module_eeprom;
-	/** Get plugin module eeprom data. */
-
-	eth_filter_ctrl_t          filter_ctrl; /**< common filter control. */
-
-	eth_get_dcb_info           get_dcb_info; /** Get DCB information. */
-
-	eth_timesync_enable_t      timesync_enable;
-	/** Turn IEEE1588/802.1AS timestamping on. */
-	eth_timesync_disable_t     timesync_disable;
-	/** Turn IEEE1588/802.1AS timestamping off. */
-	eth_timesync_read_rx_timestamp_t timesync_read_rx_timestamp;
-	/** Read the IEEE1588/802.1AS RX timestamp. */
-	eth_timesync_read_tx_timestamp_t timesync_read_tx_timestamp;
-	/** Read the IEEE1588/802.1AS TX timestamp. */
-	eth_timesync_adjust_time   timesync_adjust_time; /** Adjust the device clock. */
-	eth_timesync_read_time     timesync_read_time; /** Get the device clock time. */
-	eth_timesync_write_time    timesync_write_time; /** Set the device clock time. */
-
-	eth_read_clock             read_clock;
-
-	eth_xstats_get_by_id_t     xstats_get_by_id;
-	/**< Get extended device statistic values by ID. */
-	eth_xstats_get_names_by_id_t xstats_get_names_by_id;
-	/**< Get name of extended device statistics by ID. */
-
-	eth_tm_ops_get_t tm_ops_get;
-	/**< Get Traffic Management (TM) operations. */
+typedef uint32_t (*eth_rx_queue_count_t)(struct rte_eth_dev *dev,
+					 uint16_t rx_queue_id);
+/**< @internal Get number of used descriptors on a receive queue. */
 
-	eth_mtr_ops_get_t mtr_ops_get;
-	/**< Get Traffic Metering and Policing (MTR) operations. */
+typedef int (*eth_rx_descriptor_status_t)(void *rxq, uint16_t offset);
+/**< @internal Check the status of a Rx descriptor */
 
-	eth_pool_ops_supported_t pool_ops_supported;
-	/**< Test if a port supports specific mempool ops */
+typedef int (*eth_tx_descriptor_status_t)(void *txq, uint16_t offset);
+/**< @internal Check the status of a Tx descriptor */
 
-	eth_hairpin_cap_get_t hairpin_cap_get;
-	/**< Returns the hairpin capabilities. */
-	eth_rx_hairpin_queue_setup_t rx_hairpin_queue_setup;
-	/**< Set up device RX hairpin queue. */
-	eth_tx_hairpin_queue_setup_t tx_hairpin_queue_setup;
-	/**< Set up device TX hairpin queue. */
-};
 
 /**
  * @internal
diff --git a/lib/librte_ethdev/rte_ethdev_driver.h b/lib/librte_ethdev/rte_ethdev_driver.h
index 13fd049c0d..b006cbbe92 100644
--- a/lib/librte_ethdev/rte_ethdev_driver.h
+++ b/lib/librte_ethdev/rte_ethdev_driver.h
@@ -21,6 +21,700 @@
 extern "C" {
 #endif
 
+/*
+ * Definitions of all functions exported by an Ethernet driver through the
+ * generic structure of type *eth_dev_ops* supplied in the *rte_eth_dev*
+ * structure associated with an Ethernet device.
+ */
+
+typedef int  (*eth_dev_configure_t)(struct rte_eth_dev *dev);
+/**< @internal Ethernet device configuration. */
+
+typedef int  (*eth_dev_start_t)(struct rte_eth_dev *dev);
+/**< @internal Function used to start a configured Ethernet device. */
+
+typedef void (*eth_dev_stop_t)(struct rte_eth_dev *dev);
+/**< @internal Function used to stop a configured Ethernet device. */
+
+typedef int  (*eth_dev_set_link_up_t)(struct rte_eth_dev *dev);
+/**< @internal Function used to link up a configured Ethernet device. */
+
+typedef int  (*eth_dev_set_link_down_t)(struct rte_eth_dev *dev);
+/**< @internal Function used to link down a configured Ethernet device. */
+
+typedef void (*eth_dev_close_t)(struct rte_eth_dev *dev);
+/**< @internal Function used to close a configured Ethernet device. */
+
+typedef int (*eth_dev_reset_t)(struct rte_eth_dev *dev);
+/** <@internal Function used to reset a configured Ethernet device. */
+
+typedef int (*eth_is_removed_t)(struct rte_eth_dev *dev);
+/**< @internal Function used to detect an Ethernet device removal. */
+
+/**
+ * @internal
+ * Function used to enable the Rx promiscuous mode of an Ethernet device.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, promiscuous mode is enabled.
+ * @retval -ENOTSUP
+ *   Promiscuous mode is not supported.
+ * @retval -ENODEV
+ *   Device is gone.
+ * @retval -E_RTE_SECONDARY
+ *   Function was called from a secondary process instance and not supported.
+ * @retval -ETIMEDOUT
+ *   Attempt to enable promiscuos mode failed because of timeout.
+ * @retval -EAGAIN
+ *   Failed to enable promiscuous mode.
+ */
+typedef int (*eth_promiscuous_enable_t)(struct rte_eth_dev *dev);
+
+/**
+ * @internal
+ * Function used to disable the Rx promiscuous mode of an Ethernet device.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, promiscuous mode is disabled.
+ * @retval -ENOTSUP
+ *   Promiscuous mode disabling is not supported.
+ * @retval -ENODEV
+ *   Device is gone.
+ * @retval -E_RTE_SECONDARY
+ *   Function was called from a secondary process instance and not supported.
+ * @retval -ETIMEDOUT
+ *   Attempt to disable promiscuos mode failed because of timeout.
+ * @retval -EAGAIN
+ *   Failed to disable promiscuous mode.
+ */
+typedef int (*eth_promiscuous_disable_t)(struct rte_eth_dev *dev);
+
+/**
+ * @internal
+ * Enable the receipt of all multicast packets by an Ethernet device.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, all-multicast mode is enabled.
+ * @retval -ENOTSUP
+ *   All-multicast mode is not supported.
+ * @retval -ENODEV
+ *   Device is gone.
+ * @retval -E_RTE_SECONDARY
+ *   Function was called from a secondary process instance and not supported.
+ * @retval -ETIMEDOUT
+ *   Attempt to enable all-multicast mode failed because of timeout.
+ * @retval -EAGAIN
+ *   Failed to enable all-multicast mode.
+ */
+typedef int (*eth_allmulticast_enable_t)(struct rte_eth_dev *dev);
+
+/**
+ * @internal
+ * Disable the receipt of all multicast packets by an Ethernet device.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, all-multicast mode is disabled.
+ * @retval -ENOTSUP
+ *   All-multicast mode disabling is not supported.
+ * @retval -ENODEV
+ *   Device is gone.
+ * @retval -E_RTE_SECONDARY
+ *   Function was called from a secondary process instance and not supported.
+ * @retval -ETIMEDOUT
+ *   Attempt to disable all-multicast mode failed because of timeout.
+ * @retval -EAGAIN
+ *   Failed to disable all-multicast mode.
+ */
+typedef int (*eth_allmulticast_disable_t)(struct rte_eth_dev *dev);
+
+typedef int (*eth_link_update_t)(struct rte_eth_dev *dev,
+				int wait_to_complete);
+/**< @internal Get link speed, duplex mode and state (up/down) of an Ethernet device. */
+
+typedef int (*eth_stats_get_t)(struct rte_eth_dev *dev,
+				struct rte_eth_stats *igb_stats);
+/**< @internal Get global I/O statistics of an Ethernet device. */
+
+/**
+ * @internal
+ * Reset global I/O statistics of an Ethernet device to 0.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, statistics has been reset.
+ * @retval -ENOTSUP
+ *   Resetting statistics is not supported.
+ * @retval -EINVAL
+ *   Resetting statistics is not valid.
+ * @retval -ENOMEM
+ *   Not enough memory to get the stats.
+ */
+typedef int (*eth_stats_reset_t)(struct rte_eth_dev *dev);
+
+typedef int (*eth_xstats_get_t)(struct rte_eth_dev *dev,
+	struct rte_eth_xstat *stats, unsigned int n);
+/**< @internal Get extended stats of an Ethernet device. */
+
+typedef int (*eth_xstats_get_by_id_t)(struct rte_eth_dev *dev,
+				      const uint64_t *ids,
+				      uint64_t *values,
+				      unsigned int n);
+/**< @internal Get extended stats of an Ethernet device. */
+
+/**
+ * @internal
+ * Reset extended stats of an Ethernet device.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, statistics has been reset.
+ * @retval -ENOTSUP
+ *   Resetting statistics is not supported.
+ * @retval -EINVAL
+ *   Resetting statistics is not valid.
+ * @retval -ENOMEM
+ *   Not enough memory to get the stats.
+ */
+typedef int (*eth_xstats_reset_t)(struct rte_eth_dev *dev);
+
+typedef int (*eth_xstats_get_names_t)(struct rte_eth_dev *dev,
+	struct rte_eth_xstat_name *xstats_names, unsigned int size);
+/**< @internal Get names of extended stats of an Ethernet device. */
+
+typedef int (*eth_xstats_get_names_by_id_t)(struct rte_eth_dev *dev,
+	struct rte_eth_xstat_name *xstats_names, const uint64_t *ids,
+	unsigned int size);
+/**< @internal Get names of extended stats of an Ethernet device. */
+
+typedef int (*eth_queue_stats_mapping_set_t)(struct rte_eth_dev *dev,
+					     uint16_t queue_id,
+					     uint8_t stat_idx,
+					     uint8_t is_rx);
+/**< @internal Set a queue statistics mapping for a tx/rx queue of an Ethernet device. */
+
+typedef int (*eth_dev_infos_get_t)(struct rte_eth_dev *dev,
+				   struct rte_eth_dev_info *dev_info);
+/**< @internal Get specific information of an Ethernet device. */
+
+typedef const uint32_t *(*eth_dev_supported_ptypes_get_t)(struct rte_eth_dev *dev);
+/**< @internal Get supported ptypes of an Ethernet device. */
+
+/**
+ * @internal
+ * Inform Ethernet device about reduced range of packet types to handle.
+ *
+ * @param dev
+ *   The Ethernet device identifier.
+ * @param ptype_mask
+ *   The ptype family that application is interested in should be bitwise OR of
+ *   RTE_PTYPE_*_MASK or 0.
+ * @return
+ *   - (0) if Success.
+ */
+typedef int (*eth_dev_ptypes_set_t)(struct rte_eth_dev *dev,
+				     uint32_t ptype_mask);
+
+typedef int (*eth_queue_start_t)(struct rte_eth_dev *dev,
+				    uint16_t queue_id);
+/**< @internal Start rx and tx of a queue of an Ethernet device. */
+
+typedef int (*eth_queue_stop_t)(struct rte_eth_dev *dev,
+				    uint16_t queue_id);
+/**< @internal Stop rx and tx of a queue of an Ethernet device. */
+
+typedef int (*eth_rx_queue_setup_t)(struct rte_eth_dev *dev,
+				    uint16_t rx_queue_id,
+				    uint16_t nb_rx_desc,
+				    unsigned int socket_id,
+				    const struct rte_eth_rxconf *rx_conf,
+				    struct rte_mempool *mb_pool);
+/**< @internal Set up a receive queue of an Ethernet device. */
+
+typedef int (*eth_tx_queue_setup_t)(struct rte_eth_dev *dev,
+				    uint16_t tx_queue_id,
+				    uint16_t nb_tx_desc,
+				    unsigned int socket_id,
+				    const struct rte_eth_txconf *tx_conf);
+/**< @internal Setup a transmit queue of an Ethernet device. */
+
+typedef int (*eth_rx_enable_intr_t)(struct rte_eth_dev *dev,
+				    uint16_t rx_queue_id);
+/**< @internal Enable interrupt of a receive queue of an Ethernet device. */
+
+typedef int (*eth_rx_disable_intr_t)(struct rte_eth_dev *dev,
+				    uint16_t rx_queue_id);
+/**< @internal Disable interrupt of a receive queue of an Ethernet device. */
+
+typedef void (*eth_queue_release_t)(void *queue);
+/**< @internal Release memory resources allocated by given RX/TX queue. */
+
+typedef int (*eth_fw_version_get_t)(struct rte_eth_dev *dev,
+				     char *fw_version, size_t fw_size);
+/**< @internal Get firmware information of an Ethernet device. */
+
+typedef int (*eth_tx_done_cleanup_t)(void *txq, uint32_t free_cnt);
+/**< @internal Force mbufs to be from TX ring. */
+
+typedef void (*eth_rxq_info_get_t)(struct rte_eth_dev *dev,
+	uint16_t rx_queue_id, struct rte_eth_rxq_info *qinfo);
+
+typedef void (*eth_txq_info_get_t)(struct rte_eth_dev *dev,
+	uint16_t tx_queue_id, struct rte_eth_txq_info *qinfo);
+
+typedef int (*eth_burst_mode_get_t)(struct rte_eth_dev *dev,
+	uint16_t queue_id, struct rte_eth_burst_mode *mode);
+
+typedef int (*mtu_set_t)(struct rte_eth_dev *dev, uint16_t mtu);
+/**< @internal Set MTU. */
+
+typedef int (*vlan_filter_set_t)(struct rte_eth_dev *dev,
+				  uint16_t vlan_id,
+				  int on);
+/**< @internal filtering of a VLAN Tag Identifier by an Ethernet device. */
+
+typedef int (*vlan_tpid_set_t)(struct rte_eth_dev *dev,
+			       enum rte_vlan_type type, uint16_t tpid);
+/**< @internal set the outer/inner VLAN-TPID by an Ethernet device. */
+
+typedef int (*vlan_offload_set_t)(struct rte_eth_dev *dev, int mask);
+/**< @internal set VLAN offload function by an Ethernet device. */
+
+typedef int (*vlan_pvid_set_t)(struct rte_eth_dev *dev,
+			       uint16_t vlan_id,
+			       int on);
+/**< @internal set port based TX VLAN insertion by an Ethernet device. */
+
+typedef void (*vlan_strip_queue_set_t)(struct rte_eth_dev *dev,
+				  uint16_t rx_queue_id,
+				  int on);
+/**< @internal VLAN stripping enable/disable by an queue of Ethernet device. */
+
+typedef int (*flow_ctrl_get_t)(struct rte_eth_dev *dev,
+			       struct rte_eth_fc_conf *fc_conf);
+/**< @internal Get current flow control parameter on an Ethernet device */
+
+typedef int (*flow_ctrl_set_t)(struct rte_eth_dev *dev,
+			       struct rte_eth_fc_conf *fc_conf);
+/**< @internal Setup flow control parameter on an Ethernet device */
+
+typedef int (*priority_flow_ctrl_set_t)(struct rte_eth_dev *dev,
+				struct rte_eth_pfc_conf *pfc_conf);
+/**< @internal Setup priority flow control parameter on an Ethernet device */
+
+typedef int (*reta_update_t)(struct rte_eth_dev *dev,
+			     struct rte_eth_rss_reta_entry64 *reta_conf,
+			     uint16_t reta_size);
+/**< @internal Update RSS redirection table on an Ethernet device */
+
+typedef int (*reta_query_t)(struct rte_eth_dev *dev,
+			    struct rte_eth_rss_reta_entry64 *reta_conf,
+			    uint16_t reta_size);
+/**< @internal Query RSS redirection table on an Ethernet device */
+
+typedef int (*rss_hash_update_t)(struct rte_eth_dev *dev,
+				 struct rte_eth_rss_conf *rss_conf);
+/**< @internal Update RSS hash configuration of an Ethernet device */
+
+typedef int (*rss_hash_conf_get_t)(struct rte_eth_dev *dev,
+				   struct rte_eth_rss_conf *rss_conf);
+/**< @internal Get current RSS hash configuration of an Ethernet device */
+
+typedef int (*eth_dev_led_on_t)(struct rte_eth_dev *dev);
+/**< @internal Turn on SW controllable LED on an Ethernet device */
+
+typedef int (*eth_dev_led_off_t)(struct rte_eth_dev *dev);
+/**< @internal Turn off SW controllable LED on an Ethernet device */
+
+typedef void (*eth_mac_addr_remove_t)(struct rte_eth_dev *dev, uint32_t index);
+/**< @internal Remove MAC address from receive address register */
+
+typedef int (*eth_mac_addr_add_t)(struct rte_eth_dev *dev,
+				  struct rte_ether_addr *mac_addr,
+				  uint32_t index,
+				  uint32_t vmdq);
+/**< @internal Set a MAC address into Receive Address Register */
+
+typedef int (*eth_mac_addr_set_t)(struct rte_eth_dev *dev,
+				  struct rte_ether_addr *mac_addr);
+/**< @internal Set a MAC address into Receive Address Register */
+
+typedef int (*eth_uc_hash_table_set_t)(struct rte_eth_dev *dev,
+				  struct rte_ether_addr *mac_addr,
+				  uint8_t on);
+/**< @internal Set a Unicast Hash bitmap */
+
+typedef int (*eth_uc_all_hash_table_set_t)(struct rte_eth_dev *dev,
+				  uint8_t on);
+/**< @internal Set all Unicast Hash bitmap */
+
+typedef int (*eth_set_queue_rate_limit_t)(struct rte_eth_dev *dev,
+				uint16_t queue_idx,
+				uint16_t tx_rate);
+/**< @internal Set queue TX rate */
+
+typedef int (*eth_mirror_rule_set_t)(struct rte_eth_dev *dev,
+				  struct rte_eth_mirror_conf *mirror_conf,
+				  uint8_t rule_id,
+				  uint8_t on);
+/**< @internal Add a traffic mirroring rule on an Ethernet device */
+
+typedef int (*eth_mirror_rule_reset_t)(struct rte_eth_dev *dev,
+				  uint8_t rule_id);
+/**< @internal Remove a traffic mirroring rule on an Ethernet device */
+
+typedef int (*eth_udp_tunnel_port_add_t)(struct rte_eth_dev *dev,
+					 struct rte_eth_udp_tunnel *tunnel_udp);
+/**< @internal Add tunneling UDP port */
+
+typedef int (*eth_udp_tunnel_port_del_t)(struct rte_eth_dev *dev,
+					 struct rte_eth_udp_tunnel *tunnel_udp);
+/**< @internal Delete tunneling UDP port */
+
+typedef int (*eth_set_mc_addr_list_t)(struct rte_eth_dev *dev,
+				      struct rte_ether_addr *mc_addr_set,
+				      uint32_t nb_mc_addr);
+/**< @internal set the list of multicast addresses on an Ethernet device */
+
+typedef int (*eth_timesync_enable_t)(struct rte_eth_dev *dev);
+/**< @internal Function used to enable IEEE1588/802.1AS timestamping. */
+
+typedef int (*eth_timesync_disable_t)(struct rte_eth_dev *dev);
+/**< @internal Function used to disable IEEE1588/802.1AS timestamping. */
+
+typedef int (*eth_timesync_read_rx_timestamp_t)(struct rte_eth_dev *dev,
+						struct timespec *timestamp,
+						uint32_t flags);
+/**< @internal Function used to read an RX IEEE1588/802.1AS timestamp. */
+
+typedef int (*eth_timesync_read_tx_timestamp_t)(struct rte_eth_dev *dev,
+						struct timespec *timestamp);
+/**< @internal Function used to read a TX IEEE1588/802.1AS timestamp. */
+
+typedef int (*eth_timesync_adjust_time)(struct rte_eth_dev *dev, int64_t);
+/**< @internal Function used to adjust the device clock */
+
+typedef int (*eth_timesync_read_time)(struct rte_eth_dev *dev,
+				      struct timespec *timestamp);
+/**< @internal Function used to get time from the device clock. */
+
+typedef int (*eth_timesync_write_time)(struct rte_eth_dev *dev,
+				       const struct timespec *timestamp);
+/**< @internal Function used to get time from the device clock */
+
+typedef int (*eth_read_clock)(struct rte_eth_dev *dev,
+				      uint64_t *timestamp);
+/**< @internal Function used to get the current value of the device clock. */
+
+typedef int (*eth_get_reg_t)(struct rte_eth_dev *dev,
+				struct rte_dev_reg_info *info);
+/**< @internal Retrieve registers  */
+
+typedef int (*eth_get_eeprom_length_t)(struct rte_eth_dev *dev);
+/**< @internal Retrieve eeprom size  */
+
+typedef int (*eth_get_eeprom_t)(struct rte_eth_dev *dev,
+				struct rte_dev_eeprom_info *info);
+/**< @internal Retrieve eeprom data  */
+
+typedef int (*eth_set_eeprom_t)(struct rte_eth_dev *dev,
+				struct rte_dev_eeprom_info *info);
+/**< @internal Program eeprom data  */
+
+typedef int (*eth_get_module_info_t)(struct rte_eth_dev *dev,
+				     struct rte_eth_dev_module_info *modinfo);
+/**< @internal Retrieve type and size of plugin module eeprom */
+
+typedef int (*eth_get_module_eeprom_t)(struct rte_eth_dev *dev,
+				       struct rte_dev_eeprom_info *info);
+/**< @internal Retrieve plugin module eeprom data */
+
+typedef int (*eth_l2_tunnel_eth_type_conf_t)
+	(struct rte_eth_dev *dev, struct rte_eth_l2_tunnel_conf *l2_tunnel);
+/**< @internal config l2 tunnel ether type */
+
+typedef int (*eth_l2_tunnel_offload_set_t)
+	(struct rte_eth_dev *dev,
+	 struct rte_eth_l2_tunnel_conf *l2_tunnel,
+	 uint32_t mask,
+	 uint8_t en);
+/**< @internal enable/disable the l2 tunnel offload functions */
+
+
+typedef int (*eth_filter_ctrl_t)(struct rte_eth_dev *dev,
+				 enum rte_filter_type filter_type,
+				 enum rte_filter_op filter_op,
+				 void *arg);
+/**< @internal Take operations to assigned filter type on an Ethernet device */
+
+typedef int (*eth_tm_ops_get_t)(struct rte_eth_dev *dev, void *ops);
+/**< @internal Get Traffic Management (TM) operations on an Ethernet device */
+
+typedef int (*eth_mtr_ops_get_t)(struct rte_eth_dev *dev, void *ops);
+/**< @internal Get Traffic Metering and Policing (MTR) operations */
+
+typedef int (*eth_get_dcb_info)(struct rte_eth_dev *dev,
+				 struct rte_eth_dcb_info *dcb_info);
+/**< @internal Get dcb information on an Ethernet device */
+
+typedef int (*eth_pool_ops_supported_t)(struct rte_eth_dev *dev,
+						const char *pool);
+/**< @internal Test if a port supports specific mempool ops */
+
+/**
+ * @internal
+ * Get the hairpin capabilities.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ * @param cap
+ *   returns the hairpin capabilities from the device.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, hairpin is supported.
+ * @retval -ENOTSUP
+ *   Hairpin is not supported.
+ */
+typedef int (*eth_hairpin_cap_get_t)(struct rte_eth_dev *dev,
+				     struct rte_eth_hairpin_cap *cap);
+
+/**
+ * @internal
+ * Setup RX hairpin queue.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ * @param rx_queue_id
+ *   the selected RX queue index.
+ * @param nb_rx_desc
+ *   the requested number of descriptors for this queue. 0 - use PMD default.
+ * @param conf
+ *   the RX hairpin configuration structure.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, hairpin is supported.
+ * @retval -ENOTSUP
+ *   Hairpin is not supported.
+ * @retval -EINVAL
+ *   One of the parameters is invalid.
+ * @retval -ENOMEM
+ *   Unable to allocate resources.
+ */
+typedef int (*eth_rx_hairpin_queue_setup_t)
+	(struct rte_eth_dev *dev, uint16_t rx_queue_id,
+	 uint16_t nb_rx_desc,
+	 const struct rte_eth_hairpin_conf *conf);
+
+/**
+ * @internal
+ * Setup TX hairpin queue.
+ *
+ * @param dev
+ *   ethdev handle of port.
+ * @param tx_queue_id
+ *   the selected TX queue index.
+ * @param nb_tx_desc
+ *   the requested number of descriptors for this queue. 0 - use PMD default.
+ * @param conf
+ *   the TX hairpin configuration structure.
+ *
+ * @return
+ *   Negative errno value on error, 0 on success.
+ *
+ * @retval 0
+ *   Success, hairpin is supported.
+ * @retval -ENOTSUP
+ *   Hairpin is not supported.
+ * @retval -EINVAL
+ *   One of the parameters is invalid.
+ * @retval -ENOMEM
+ *   Unable to allocate resources.
+ */
+typedef int (*eth_tx_hairpin_queue_setup_t)
+	(struct rte_eth_dev *dev, uint16_t tx_queue_id,
+	 uint16_t nb_tx_desc,
+	 const struct rte_eth_hairpin_conf *hairpin_conf);
+
+/**
+ * @internal A structure containing the functions exported by an Ethernet driver.
+ */
+struct eth_dev_ops {
+	eth_dev_configure_t        dev_configure; /**< Configure device. */
+	eth_dev_start_t            dev_start;     /**< Start device. */
+	eth_dev_stop_t             dev_stop;      /**< Stop device. */
+	eth_dev_set_link_up_t      dev_set_link_up;   /**< Device link up. */
+	eth_dev_set_link_down_t    dev_set_link_down; /**< Device link down. */
+	eth_dev_close_t            dev_close;     /**< Close device. */
+	eth_dev_reset_t		   dev_reset;	  /**< Reset device. */
+	eth_link_update_t          link_update;   /**< Get device link state. */
+	eth_is_removed_t           is_removed;
+	/**< Check if the device was physically removed. */
+
+	eth_promiscuous_enable_t   promiscuous_enable; /**< Promiscuous ON. */
+	eth_promiscuous_disable_t  promiscuous_disable;/**< Promiscuous OFF. */
+	eth_allmulticast_enable_t  allmulticast_enable;/**< RX multicast ON. */
+	eth_allmulticast_disable_t allmulticast_disable;/**< RX multicast OFF. */
+	eth_mac_addr_remove_t      mac_addr_remove; /**< Remove MAC address. */
+	eth_mac_addr_add_t         mac_addr_add;  /**< Add a MAC address. */
+	eth_mac_addr_set_t         mac_addr_set;  /**< Set a MAC address. */
+	eth_set_mc_addr_list_t     set_mc_addr_list; /**< set list of mcast addrs. */
+	mtu_set_t                  mtu_set;       /**< Set MTU. */
+
+	eth_stats_get_t            stats_get;     /**< Get generic device statistics. */
+	eth_stats_reset_t          stats_reset;   /**< Reset generic device statistics. */
+	eth_xstats_get_t           xstats_get;    /**< Get extended device statistics. */
+	eth_xstats_reset_t         xstats_reset;  /**< Reset extended device statistics. */
+	eth_xstats_get_names_t     xstats_get_names;
+	/**< Get names of extended statistics. */
+	eth_queue_stats_mapping_set_t queue_stats_mapping_set;
+	/**< Configure per queue stat counter mapping. */
+
+	eth_dev_infos_get_t        dev_infos_get; /**< Get device info. */
+	eth_rxq_info_get_t         rxq_info_get; /**< retrieve RX queue information. */
+	eth_txq_info_get_t         txq_info_get; /**< retrieve TX queue information. */
+	eth_burst_mode_get_t       rx_burst_mode_get; /**< Get RX burst mode */
+	eth_burst_mode_get_t       tx_burst_mode_get; /**< Get TX burst mode */
+	eth_fw_version_get_t       fw_version_get; /**< Get firmware version. */
+	eth_dev_supported_ptypes_get_t dev_supported_ptypes_get;
+	/**< Get packet types supported and identified by device. */
+	eth_dev_ptypes_set_t dev_ptypes_set;
+	/**< Inform Ethernet device about reduced range of packet types to handle. */
+
+	vlan_filter_set_t          vlan_filter_set; /**< Filter VLAN Setup. */
+	vlan_tpid_set_t            vlan_tpid_set; /**< Outer/Inner VLAN TPID Setup. */
+	vlan_strip_queue_set_t     vlan_strip_queue_set; /**< VLAN Stripping on queue. */
+	vlan_offload_set_t         vlan_offload_set; /**< Set VLAN Offload. */
+	vlan_pvid_set_t            vlan_pvid_set; /**< Set port based TX VLAN insertion. */
+
+	eth_queue_start_t          rx_queue_start;/**< Start RX for a queue. */
+	eth_queue_stop_t           rx_queue_stop; /**< Stop RX for a queue. */
+	eth_queue_start_t          tx_queue_start;/**< Start TX for a queue. */
+	eth_queue_stop_t           tx_queue_stop; /**< Stop TX for a queue. */
+	eth_rx_queue_setup_t       rx_queue_setup;/**< Set up device RX queue. */
+	eth_queue_release_t        rx_queue_release; /**< Release RX queue. */
+
+	eth_rx_enable_intr_t       rx_queue_intr_enable;  /**< Enable Rx queue interrupt. */
+	eth_rx_disable_intr_t      rx_queue_intr_disable; /**< Disable Rx queue interrupt. */
+	eth_tx_queue_setup_t       tx_queue_setup;/**< Set up device TX queue. */
+	eth_queue_release_t        tx_queue_release; /**< Release TX queue. */
+	eth_tx_done_cleanup_t      tx_done_cleanup;/**< Free tx ring mbufs */
+
+	eth_dev_led_on_t           dev_led_on;    /**< Turn on LED. */
+	eth_dev_led_off_t          dev_led_off;   /**< Turn off LED. */
+
+	flow_ctrl_get_t            flow_ctrl_get; /**< Get flow control. */
+	flow_ctrl_set_t            flow_ctrl_set; /**< Setup flow control. */
+	priority_flow_ctrl_set_t   priority_flow_ctrl_set; /**< Setup priority flow control. */
+
+	eth_uc_hash_table_set_t    uc_hash_table_set; /**< Set Unicast Table Array. */
+	eth_uc_all_hash_table_set_t uc_all_hash_table_set; /**< Set Unicast hash bitmap. */
+
+	eth_mirror_rule_set_t	   mirror_rule_set; /**< Add a traffic mirror rule. */
+	eth_mirror_rule_reset_t	   mirror_rule_reset; /**< reset a traffic mirror rule. */
+
+	eth_udp_tunnel_port_add_t  udp_tunnel_port_add; /** Add UDP tunnel port. */
+	eth_udp_tunnel_port_del_t  udp_tunnel_port_del; /** Del UDP tunnel port. */
+	eth_l2_tunnel_eth_type_conf_t l2_tunnel_eth_type_conf;
+	/** Config ether type of l2 tunnel. */
+	eth_l2_tunnel_offload_set_t   l2_tunnel_offload_set;
+	/** Enable/disable l2 tunnel offload functions. */
+
+	eth_set_queue_rate_limit_t set_queue_rate_limit; /**< Set queue rate limit. */
+
+	rss_hash_update_t          rss_hash_update; /** Configure RSS hash protocols. */
+	rss_hash_conf_get_t        rss_hash_conf_get; /** Get current RSS hash configuration. */
+	reta_update_t              reta_update;   /** Update redirection table. */
+	reta_query_t               reta_query;    /** Query redirection table. */
+
+	eth_get_reg_t              get_reg;           /**< Get registers. */
+	eth_get_eeprom_length_t    get_eeprom_length; /**< Get eeprom length. */
+	eth_get_eeprom_t           get_eeprom;        /**< Get eeprom data. */
+	eth_set_eeprom_t           set_eeprom;        /**< Set eeprom. */
+
+	eth_get_module_info_t      get_module_info;
+	/** Get plugin module eeprom attribute. */
+	eth_get_module_eeprom_t    get_module_eeprom;
+	/** Get plugin module eeprom data. */
+
+	eth_filter_ctrl_t          filter_ctrl; /**< common filter control. */
+
+	eth_get_dcb_info           get_dcb_info; /** Get DCB information. */
+
+	eth_timesync_enable_t      timesync_enable;
+	/** Turn IEEE1588/802.1AS timestamping on. */
+	eth_timesync_disable_t     timesync_disable;
+	/** Turn IEEE1588/802.1AS timestamping off. */
+	eth_timesync_read_rx_timestamp_t timesync_read_rx_timestamp;
+	/** Read the IEEE1588/802.1AS RX timestamp. */
+	eth_timesync_read_tx_timestamp_t timesync_read_tx_timestamp;
+	/** Read the IEEE1588/802.1AS TX timestamp. */
+	eth_timesync_adjust_time   timesync_adjust_time; /** Adjust the device clock. */
+	eth_timesync_read_time     timesync_read_time; /** Get the device clock time. */
+	eth_timesync_write_time    timesync_write_time; /** Set the device clock time. */
+
+	eth_read_clock             read_clock;
+
+	eth_xstats_get_by_id_t     xstats_get_by_id;
+	/**< Get extended device statistic values by ID. */
+	eth_xstats_get_names_by_id_t xstats_get_names_by_id;
+	/**< Get name of extended device statistics by ID. */
+
+	eth_tm_ops_get_t tm_ops_get;
+	/**< Get Traffic Management (TM) operations. */
+
+	eth_mtr_ops_get_t mtr_ops_get;
+	/**< Get Traffic Metering and Policing (MTR) operations. */
+
+	eth_pool_ops_supported_t pool_ops_supported;
+	/**< Test if a port supports specific mempool ops */
+
+	eth_hairpin_cap_get_t hairpin_cap_get;
+	/**< Returns the hairpin capabilities. */
+	eth_rx_hairpin_queue_setup_t rx_hairpin_queue_setup;
+	/**< Set up device RX hairpin queue. */
+	eth_tx_hairpin_queue_setup_t tx_hairpin_queue_setup;
+	/**< Set up device TX hairpin queue. */
+};
+
 /**
  * RX/TX queue states
  */
diff --git a/lib/librte_ethdev/rte_flow_driver.h b/lib/librte_ethdev/rte_flow_driver.h
index 881cc469b7..997598db11 100644
--- a/lib/librte_ethdev/rte_flow_driver.h
+++ b/lib/librte_ethdev/rte_flow_driver.h
@@ -18,6 +18,7 @@
 #include <stdint.h>
 
 #include "rte_ethdev.h"
+#include "rte_ethdev_driver.h"
 #include "rte_flow.h"
 
 #ifdef __cplusplus
diff --git a/lib/librte_ethdev/rte_mtr_driver.h b/lib/librte_ethdev/rte_mtr_driver.h
index 3ec7ffa2a5..3b39532935 100644
--- a/lib/librte_ethdev/rte_mtr_driver.h
+++ b/lib/librte_ethdev/rte_mtr_driver.h
@@ -18,6 +18,7 @@
 
 #include <rte_errno.h>
 #include "rte_ethdev.h"
+#include "rte_ethdev_driver.h"
 #include "rte_mtr.h"
 
 #ifdef __cplusplus
diff --git a/lib/librte_ethdev/rte_tm_driver.h b/lib/librte_ethdev/rte_tm_driver.h
index 90114ff53e..b86ed89c00 100644
--- a/lib/librte_ethdev/rte_tm_driver.h
+++ b/lib/librte_ethdev/rte_tm_driver.h
@@ -18,6 +18,7 @@
 
 #include <rte_errno.h>
 #include "rte_ethdev.h"
+#include "rte_ethdev_driver.h"
 #include "rte_tm.h"
 
 #ifdef __cplusplus
-- 
2.25.4


^ permalink raw reply	[relevance 1%]

* [dpdk-dev] [PATCH 2/7] ethdev: move inline device operations
  2020-08-24  9:40  1% [dpdk-dev] [PATCH 1/7] ethdev: remove legacy descriptor status check API Ferruh Yigit
@ 2020-08-24  9:40  4% ` Ferruh Yigit
  2020-08-29 11:57  0%   ` Andrew Rybchenko
  2020-08-24  9:40  1% ` [dpdk-dev] [PATCH 3/7] ethdev: make device operations struct private Ferruh Yigit
                   ` (5 subsequent siblings)
  6 siblings, 1 reply; 200+ results
From: Ferruh Yigit @ 2020-08-24  9:40 UTC (permalink / raw)
  To: dev, Shepard Siegel, Ed Czeck, John Miller, Igor Russkikh,
	Pavel Belous, Somalapuram Amaranath, Ajit Khaparde,
	Somnath Kotur, Hemant Agrawal, Sachin Saxena, Wei Zhao, Jeff Guo,
	John Daley, Hyong Youb Kim, Qi Zhang, Xiao Wang, Beilei Xing,
	Jingjing Wu, Qiming Yang, Matan Azrad, Shahaf Shuler,
	Viacheslav Ovsiienko, Stephen Hemminger, K. Y. Srinivasan,
	Haiyang Zhang, Long Li, Heinrich Kuhn, Jerin Jacob,
	Nithin Dabilpuram, Kiran Kumar K, Rasesh Mody, Shahed Shaikh,
	Andrew Rybchenko, Maciej Czekaj, Maxime Coquelin, Chenbo Xia,
	Zhihong Wang, Thomas Monjalon
  Cc: Ferruh Yigit

This patch is a preparation to hide the 'struct eth_dev_ops' from
applications by moving some device operations from 'struct eth_dev_ops'
to 'struct rte_eth_dev'.

Mentioned ethdev APIs are in the data path and implemented as inline
because of performance reasons.

Exposing 'struct eth_dev_ops' to applications is bad because it is a
contract between ethdev and PMDs, not really needs to be known by
applications, also changes in the struct causing ABI breakages which
shouldn't.

To be able to both keep APIs inline and hide the 'struct eth_dev_ops',
moving device operations used in ethdev inline APIs to 'struct
rte_eth_dev' to the same level with Rx/Tx burst functions.

The list of dev_ops moved:
eth_rx_queue_count_t       rx_queue_count;
eth_rx_descriptor_status_t rx_descriptor_status;
eth_tx_descriptor_status_t tx_descriptor_status;

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 drivers/net/ark/ark_ethdev.c        |  2 +-
 drivers/net/atlantic/atl_ethdev.c   |  9 +++++----
 drivers/net/axgbe/axgbe_ethdev.c    |  5 +++--
 drivers/net/bnxt/bnxt_ethdev.c      |  6 +++---
 drivers/net/dpaa/dpaa_ethdev.c      |  2 +-
 drivers/net/dpaa2/dpaa2_ethdev.c    |  2 +-
 drivers/net/e1000/em_ethdev.c       |  6 +++---
 drivers/net/e1000/igb_ethdev.c      | 10 +++++-----
 drivers/net/enic/enic_ethdev.c      |  2 +-
 drivers/net/fm10k/fm10k_ethdev.c    |  6 +++---
 drivers/net/i40e/i40e_ethdev.c      |  6 +++---
 drivers/net/i40e/i40e_ethdev_vf.c   |  6 +++---
 drivers/net/iavf/iavf_ethdev.c      |  6 +++---
 drivers/net/ice/ice_ethdev.c        |  6 +++---
 drivers/net/igc/igc_ethdev.c        |  6 +++---
 drivers/net/ixgbe/ixgbe_ethdev.c    | 10 +++++-----
 drivers/net/mlx5/linux/mlx5_os.c    | 12 +++++-------
 drivers/net/mlx5/mlx5_flow.c        |  4 ++++
 drivers/net/netvsc/hn_ethdev.c      |  6 +++---
 drivers/net/nfp/nfp_net.c           |  2 +-
 drivers/net/octeontx2/otx2_ethdev.c |  6 +++---
 drivers/net/qede/qede_ethdev.c      |  3 +--
 drivers/net/sfc/sfc_ethdev.c        | 12 ++++++------
 drivers/net/thunderx/nicvf_ethdev.c |  2 +-
 drivers/net/vhost/rte_eth_vhost.c   |  2 +-
 lib/librte_ethdev/rte_ethdev.h      | 12 ++++++------
 lib/librte_ethdev/rte_ethdev_core.h | 11 +++++------
 27 files changed, 82 insertions(+), 80 deletions(-)

diff --git a/drivers/net/ark/ark_ethdev.c b/drivers/net/ark/ark_ethdev.c
index b32ccd8677..ce7f6e4803 100644
--- a/drivers/net/ark/ark_ethdev.c
+++ b/drivers/net/ark/ark_ethdev.c
@@ -132,7 +132,6 @@ static const struct eth_dev_ops ark_eth_dev_ops = {
 	.dev_infos_get = eth_ark_dev_info_get,
 
 	.rx_queue_setup = eth_ark_dev_rx_queue_setup,
-	.rx_queue_count = eth_ark_dev_rx_queue_count,
 	.tx_queue_setup = eth_ark_tx_queue_setup,
 
 	.link_update = eth_ark_dev_link_update,
@@ -318,6 +317,7 @@ eth_ark_dev_init(struct rte_eth_dev *dev)
 		return -1;
 
 	dev->dev_ops = &ark_eth_dev_ops;
+	dev->rx_queue_count = eth_ark_dev_rx_queue_count;
 
 	dev->data->mac_addrs = rte_zmalloc("ark", RTE_ETHER_ADDR_LEN, 0);
 	if (!dev->data->mac_addrs) {
diff --git a/drivers/net/atlantic/atl_ethdev.c b/drivers/net/atlantic/atl_ethdev.c
index d3b00ab295..540b106045 100644
--- a/drivers/net/atlantic/atl_ethdev.c
+++ b/drivers/net/atlantic/atl_ethdev.c
@@ -313,10 +313,6 @@ static const struct eth_dev_ops atl_eth_dev_ops = {
 	.rx_queue_intr_enable = atl_dev_rx_queue_intr_enable,
 	.rx_queue_intr_disable = atl_dev_rx_queue_intr_disable,
 
-	.rx_queue_count       = atl_rx_queue_count,
-	.rx_descriptor_status = atl_dev_rx_descriptor_status,
-	.tx_descriptor_status = atl_dev_tx_descriptor_status,
-
 	/* EEPROM */
 	.get_eeprom_length    = atl_dev_get_eeprom_length,
 	.get_eeprom           = atl_dev_get_eeprom,
@@ -373,6 +369,11 @@ eth_atl_dev_init(struct rte_eth_dev *eth_dev)
 	PMD_INIT_FUNC_TRACE();
 
 	eth_dev->dev_ops = &atl_eth_dev_ops;
+
+	eth_dev->rx_queue_count       = atl_rx_queue_count;
+	eth_dev->rx_descriptor_status = atl_dev_rx_descriptor_status;
+	eth_dev->tx_descriptor_status = atl_dev_tx_descriptor_status;
+
 	eth_dev->rx_pkt_burst = &atl_recv_pkts;
 	eth_dev->tx_pkt_burst = &atl_xmit_pkts;
 	eth_dev->tx_pkt_prepare = &atl_prep_pkts;
diff --git a/drivers/net/axgbe/axgbe_ethdev.c b/drivers/net/axgbe/axgbe_ethdev.c
index 0c25739f82..02ceb95754 100644
--- a/drivers/net/axgbe/axgbe_ethdev.c
+++ b/drivers/net/axgbe/axgbe_ethdev.c
@@ -224,8 +224,6 @@ static const struct eth_dev_ops axgbe_eth_dev_ops = {
 	.rxq_info_get                 = axgbe_rxq_info_get,
 	.txq_info_get                 = axgbe_txq_info_get,
 	.dev_supported_ptypes_get     = axgbe_dev_supported_ptypes_get,
-	.rx_descriptor_status         = axgbe_dev_rx_descriptor_status,
-	.tx_descriptor_status         = axgbe_dev_tx_descriptor_status,
 	.mtu_set		= axgb_mtu_set,
 };
 
@@ -1632,6 +1630,9 @@ eth_axgbe_dev_init(struct rte_eth_dev *eth_dev)
 
 	eth_dev->dev_ops = &axgbe_eth_dev_ops;
 
+	eth_dev->rx_descriptor_status = axgbe_dev_rx_descriptor_status;
+	eth_dev->tx_descriptor_status = axgbe_dev_tx_descriptor_status;
+
 	/*
 	 * For secondary processes, we don't initialise any further as primary
 	 * has already done this work.
diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index 510a0d9e0a..f94dd88b8c 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -4233,9 +4233,6 @@ static const struct eth_dev_ops bnxt_dev_ops = {
 	.dev_led_off = bnxt_dev_led_off_op,
 	.xstats_get_by_id = bnxt_dev_xstats_get_by_id_op,
 	.xstats_get_names_by_id = bnxt_dev_xstats_get_names_by_id_op,
-	.rx_queue_count = bnxt_rx_queue_count_op,
-	.rx_descriptor_status = bnxt_rx_descriptor_status_op,
-	.tx_descriptor_status = bnxt_tx_descriptor_status_op,
 	.rx_queue_start = bnxt_rx_queue_start,
 	.rx_queue_stop = bnxt_rx_queue_stop,
 	.tx_queue_start = bnxt_tx_queue_start,
@@ -5668,6 +5665,9 @@ bnxt_dev_init(struct rte_eth_dev *eth_dev, void *params __rte_unused)
 		PMD_DRV_LOG(INFO, "%s\n", bnxt_version);
 
 	eth_dev->dev_ops = &bnxt_dev_ops;
+	eth_dev->rx_queue_count = bnxt_rx_queue_count_op;
+	eth_dev->rx_descriptor_status = bnxt_rx_descriptor_status_op;
+	eth_dev->tx_descriptor_status = bnxt_tx_descriptor_status_op;
 	eth_dev->rx_pkt_burst = &bnxt_recv_pkts;
 	eth_dev->tx_pkt_burst = &bnxt_xmit_pkts;
 
diff --git a/drivers/net/dpaa/dpaa_ethdev.c b/drivers/net/dpaa/dpaa_ethdev.c
index c15e2b5462..bfc6504139 100644
--- a/drivers/net/dpaa/dpaa_ethdev.c
+++ b/drivers/net/dpaa/dpaa_ethdev.c
@@ -1303,7 +1303,6 @@ static struct eth_dev_ops dpaa_devops = {
 	.tx_queue_setup		  = dpaa_eth_tx_queue_setup,
 	.rx_queue_release	  = dpaa_eth_rx_queue_release,
 	.tx_queue_release	  = dpaa_eth_tx_queue_release,
-	.rx_queue_count		  = dpaa_dev_rx_queue_count,
 	.rx_burst_mode_get	  = dpaa_dev_rx_burst_mode_get,
 	.tx_burst_mode_get	  = dpaa_dev_tx_burst_mode_get,
 	.rxq_info_get		  = dpaa_rxq_info_get,
@@ -1766,6 +1765,7 @@ dpaa_dev_init(struct rte_eth_dev *eth_dev)
 
 	/* Populate ethdev structure */
 	eth_dev->dev_ops = &dpaa_devops;
+	eth_dev->rx_queue_count = dpaa_dev_rx_queue_count;
 	eth_dev->rx_pkt_burst = dpaa_eth_queue_rx;
 	eth_dev->tx_pkt_burst = dpaa_eth_tx_drop_all;
 
diff --git a/drivers/net/dpaa2/dpaa2_ethdev.c b/drivers/net/dpaa2/dpaa2_ethdev.c
index 02c254846c..38cf0ab71c 100644
--- a/drivers/net/dpaa2/dpaa2_ethdev.c
+++ b/drivers/net/dpaa2/dpaa2_ethdev.c
@@ -2331,7 +2331,6 @@ static struct eth_dev_ops dpaa2_ethdev_ops = {
 	.tx_queue_release  = dpaa2_dev_tx_queue_release,
 	.rx_burst_mode_get = dpaa2_dev_rx_burst_mode_get,
 	.tx_burst_mode_get = dpaa2_dev_tx_burst_mode_get,
-	.rx_queue_count       = dpaa2_dev_rx_queue_count,
 	.flow_ctrl_get	      = dpaa2_flow_ctrl_get,
 	.flow_ctrl_set	      = dpaa2_flow_ctrl_set,
 	.mac_addr_add         = dpaa2_dev_add_mac_addr,
@@ -2486,6 +2485,7 @@ dpaa2_dev_init(struct rte_eth_dev *eth_dev)
 		 * plugged.
 		 */
 		eth_dev->dev_ops = &dpaa2_ethdev_ops;
+		eth_dev->rx_queue_count = dpaa2_dev_rx_queue_count;
 		if (dpaa2_get_devargs(dev->devargs, DRIVER_LOOPBACK_MODE))
 			eth_dev->rx_pkt_burst = dpaa2_dev_loopback_rx;
 		else if (dpaa2_get_devargs(dev->devargs,
diff --git a/drivers/net/e1000/em_ethdev.c b/drivers/net/e1000/em_ethdev.c
index 32872db9c2..66c5022bb7 100644
--- a/drivers/net/e1000/em_ethdev.c
+++ b/drivers/net/e1000/em_ethdev.c
@@ -176,9 +176,6 @@ static const struct eth_dev_ops eth_em_ops = {
 	.vlan_offload_set     = eth_em_vlan_offload_set,
 	.rx_queue_setup       = eth_em_rx_queue_setup,
 	.rx_queue_release     = eth_em_rx_queue_release,
-	.rx_queue_count       = eth_em_rx_queue_count,
-	.rx_descriptor_status = eth_em_rx_descriptor_status,
-	.tx_descriptor_status = eth_em_tx_descriptor_status,
 	.tx_queue_setup       = eth_em_tx_queue_setup,
 	.tx_queue_release     = eth_em_tx_queue_release,
 	.rx_queue_intr_enable = eth_em_rx_queue_intr_enable,
@@ -249,6 +246,9 @@ eth_em_dev_init(struct rte_eth_dev *eth_dev)
 		E1000_DEV_PRIVATE_TO_VFTA(eth_dev->data->dev_private);
 
 	eth_dev->dev_ops = &eth_em_ops;
+	eth_dev->rx_queue_count = eth_em_rx_queue_count;
+	eth_dev->rx_descriptor_status = eth_em_rx_descriptor_status;
+	eth_dev->tx_descriptor_status = eth_em_tx_descriptor_status;
 	eth_dev->rx_pkt_burst = (eth_rx_burst_t)&eth_em_recv_pkts;
 	eth_dev->tx_pkt_burst = (eth_tx_burst_t)&eth_em_xmit_pkts;
 	eth_dev->tx_pkt_prepare = (eth_tx_prep_t)&eth_em_prep_pkts;
diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c
index aec79c6ceb..2db04fa88c 100644
--- a/drivers/net/e1000/igb_ethdev.c
+++ b/drivers/net/e1000/igb_ethdev.c
@@ -380,9 +380,6 @@ static const struct eth_dev_ops eth_igb_ops = {
 	.rx_queue_intr_enable = eth_igb_rx_queue_intr_enable,
 	.rx_queue_intr_disable = eth_igb_rx_queue_intr_disable,
 	.rx_queue_release     = eth_igb_rx_queue_release,
-	.rx_queue_count       = eth_igb_rx_queue_count,
-	.rx_descriptor_status = eth_igb_rx_descriptor_status,
-	.tx_descriptor_status = eth_igb_tx_descriptor_status,
 	.tx_queue_setup       = eth_igb_tx_queue_setup,
 	.tx_queue_release     = eth_igb_tx_queue_release,
 	.tx_done_cleanup      = eth_igb_tx_done_cleanup,
@@ -440,8 +437,6 @@ static const struct eth_dev_ops igbvf_eth_dev_ops = {
 	.dev_supported_ptypes_get = eth_igb_supported_ptypes_get,
 	.rx_queue_setup       = eth_igb_rx_queue_setup,
 	.rx_queue_release     = eth_igb_rx_queue_release,
-	.rx_descriptor_status = eth_igb_rx_descriptor_status,
-	.tx_descriptor_status = eth_igb_tx_descriptor_status,
 	.tx_queue_setup       = eth_igb_tx_queue_setup,
 	.tx_queue_release     = eth_igb_tx_queue_release,
 	.tx_done_cleanup      = eth_igb_tx_done_cleanup,
@@ -752,6 +747,9 @@ eth_igb_dev_init(struct rte_eth_dev *eth_dev)
 	uint32_t ctrl_ext;
 
 	eth_dev->dev_ops = &eth_igb_ops;
+	eth_dev->rx_queue_count = eth_igb_rx_queue_count;
+	eth_dev->rx_descriptor_status = eth_igb_rx_descriptor_status;
+	eth_dev->tx_descriptor_status = eth_igb_tx_descriptor_status;
 	eth_dev->rx_pkt_burst = &eth_igb_recv_pkts;
 	eth_dev->tx_pkt_burst = &eth_igb_xmit_pkts;
 	eth_dev->tx_pkt_prepare = &eth_igb_prep_pkts;
@@ -947,6 +945,8 @@ eth_igbvf_dev_init(struct rte_eth_dev *eth_dev)
 	PMD_INIT_FUNC_TRACE();
 
 	eth_dev->dev_ops = &igbvf_eth_dev_ops;
+	eth_dev->rx_descriptor_status = eth_igb_rx_descriptor_status;
+	eth_dev->tx_descriptor_status = eth_igb_tx_descriptor_status;
 	eth_dev->rx_pkt_burst = &eth_igb_recv_pkts;
 	eth_dev->tx_pkt_burst = &eth_igb_xmit_pkts;
 	eth_dev->tx_pkt_prepare = &eth_igb_prep_pkts;
diff --git a/drivers/net/enic/enic_ethdev.c b/drivers/net/enic/enic_ethdev.c
index 1316c5c739..2cffa3aa2d 100644
--- a/drivers/net/enic/enic_ethdev.c
+++ b/drivers/net/enic/enic_ethdev.c
@@ -1141,7 +1141,6 @@ static const struct eth_dev_ops enicpmd_eth_dev_ops = {
 	.tx_queue_stop        = enicpmd_dev_tx_queue_stop,
 	.rx_queue_setup       = enicpmd_dev_rx_queue_setup,
 	.rx_queue_release     = enicpmd_dev_rx_queue_release,
-	.rx_queue_count       = enicpmd_dev_rx_queue_count,
 	.tx_queue_setup       = enicpmd_dev_tx_queue_setup,
 	.tx_queue_release     = enicpmd_dev_tx_queue_release,
 	.rx_queue_intr_enable = enicpmd_dev_rx_queue_intr_enable,
@@ -1278,6 +1277,7 @@ static int eth_enicpmd_dev_init(struct rte_eth_dev *eth_dev)
 	ENICPMD_FUNC_TRACE();
 
 	eth_dev->dev_ops = &enicpmd_eth_dev_ops;
+	eth_dev->rx_queue_count = enicpmd_dev_rx_queue_count;
 	eth_dev->rx_pkt_burst = &enic_recv_pkts;
 	eth_dev->tx_pkt_burst = &enic_xmit_pkts;
 	eth_dev->tx_pkt_prepare = &enic_prep_pkts;
diff --git a/drivers/net/fm10k/fm10k_ethdev.c b/drivers/net/fm10k/fm10k_ethdev.c
index 092eade547..20d48c30ea 100644
--- a/drivers/net/fm10k/fm10k_ethdev.c
+++ b/drivers/net/fm10k/fm10k_ethdev.c
@@ -2855,9 +2855,6 @@ static const struct eth_dev_ops fm10k_eth_dev_ops = {
 	.rx_queue_release	= fm10k_rx_queue_release,
 	.tx_queue_setup		= fm10k_tx_queue_setup,
 	.tx_queue_release	= fm10k_tx_queue_release,
-	.rx_queue_count		= fm10k_dev_rx_queue_count,
-	.rx_descriptor_status = fm10k_dev_rx_descriptor_status,
-	.tx_descriptor_status = fm10k_dev_tx_descriptor_status,
 	.rx_queue_intr_enable	= fm10k_dev_rx_queue_intr_enable,
 	.rx_queue_intr_disable	= fm10k_dev_rx_queue_intr_disable,
 	.reta_update		= fm10k_reta_update,
@@ -3054,6 +3051,9 @@ eth_fm10k_dev_init(struct rte_eth_dev *dev)
 	PMD_INIT_FUNC_TRACE();
 
 	dev->dev_ops = &fm10k_eth_dev_ops;
+	dev->rx_queue_count = fm10k_dev_rx_queue_count;
+	dev->rx_descriptor_status = fm10k_dev_rx_descriptor_status;
+	dev->tx_descriptor_status = fm10k_dev_tx_descriptor_status;
 	dev->rx_pkt_burst = &fm10k_recv_pkts;
 	dev->tx_pkt_burst = &fm10k_xmit_pkts;
 	dev->tx_pkt_prepare = &fm10k_prep_pkts;
diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index f8ed4a0b36..ad5a536d73 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -474,9 +474,6 @@ static const struct eth_dev_ops i40e_eth_dev_ops = {
 	.rx_queue_intr_enable         = i40e_dev_rx_queue_intr_enable,
 	.rx_queue_intr_disable        = i40e_dev_rx_queue_intr_disable,
 	.rx_queue_release             = i40e_dev_rx_queue_release,
-	.rx_queue_count               = i40e_dev_rx_queue_count,
-	.rx_descriptor_status         = i40e_dev_rx_descriptor_status,
-	.tx_descriptor_status         = i40e_dev_tx_descriptor_status,
 	.tx_queue_setup               = i40e_dev_tx_queue_setup,
 	.tx_queue_release             = i40e_dev_tx_queue_release,
 	.dev_led_on                   = i40e_dev_led_on,
@@ -1447,6 +1444,9 @@ eth_i40e_dev_init(struct rte_eth_dev *dev, void *init_params __rte_unused)
 	PMD_INIT_FUNC_TRACE();
 
 	dev->dev_ops = &i40e_eth_dev_ops;
+	dev->rx_queue_count = i40e_dev_rx_queue_count;
+	dev->rx_descriptor_status = i40e_dev_rx_descriptor_status;
+	dev->tx_descriptor_status = i40e_dev_tx_descriptor_status;
 	dev->rx_pkt_burst = i40e_recv_pkts;
 	dev->tx_pkt_burst = i40e_xmit_pkts;
 	dev->tx_pkt_prepare = i40e_prep_pkts;
diff --git a/drivers/net/i40e/i40e_ethdev_vf.c b/drivers/net/i40e/i40e_ethdev_vf.c
index a3d19fc1d7..1b4ffaa383 100644
--- a/drivers/net/i40e/i40e_ethdev_vf.c
+++ b/drivers/net/i40e/i40e_ethdev_vf.c
@@ -199,11 +199,8 @@ static const struct eth_dev_ops i40evf_eth_dev_ops = {
 	.rx_queue_release     = i40e_dev_rx_queue_release,
 	.rx_queue_intr_enable = i40evf_dev_rx_queue_intr_enable,
 	.rx_queue_intr_disable = i40evf_dev_rx_queue_intr_disable,
-	.rx_descriptor_status = i40e_dev_rx_descriptor_status,
-	.tx_descriptor_status = i40e_dev_tx_descriptor_status,
 	.tx_queue_setup       = i40e_dev_tx_queue_setup,
 	.tx_queue_release     = i40e_dev_tx_queue_release,
-	.rx_queue_count       = i40e_dev_rx_queue_count,
 	.rxq_info_get         = i40e_rxq_info_get,
 	.txq_info_get         = i40e_txq_info_get,
 	.mac_addr_add	      = i40evf_add_mac_addr,
@@ -1517,6 +1514,9 @@ i40evf_dev_init(struct rte_eth_dev *eth_dev)
 
 	/* assign ops func pointer */
 	eth_dev->dev_ops = &i40evf_eth_dev_ops;
+	eth_dev->rx_queue_count       = i40e_dev_rx_queue_count;
+	eth_dev->rx_descriptor_status = i40e_dev_rx_descriptor_status;
+	eth_dev->tx_descriptor_status = i40e_dev_tx_descriptor_status;
 	eth_dev->rx_pkt_burst = &i40e_recv_pkts;
 	eth_dev->tx_pkt_burst = &i40e_xmit_pkts;
 
diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c
index c3aa4cd725..e7e8cccd85 100644
--- a/drivers/net/iavf/iavf_ethdev.c
+++ b/drivers/net/iavf/iavf_ethdev.c
@@ -113,9 +113,6 @@ static const struct eth_dev_ops iavf_eth_dev_ops = {
 	.rss_hash_conf_get          = iavf_dev_rss_hash_conf_get,
 	.rxq_info_get               = iavf_dev_rxq_info_get,
 	.txq_info_get               = iavf_dev_txq_info_get,
-	.rx_queue_count             = iavf_dev_rxq_count,
-	.rx_descriptor_status       = iavf_dev_rx_desc_status,
-	.tx_descriptor_status       = iavf_dev_tx_desc_status,
 	.mtu_set                    = iavf_dev_mtu_set,
 	.rx_queue_intr_enable       = iavf_dev_rx_queue_intr_enable,
 	.rx_queue_intr_disable      = iavf_dev_rx_queue_intr_disable,
@@ -1335,6 +1332,9 @@ iavf_dev_init(struct rte_eth_dev *eth_dev)
 
 	/* assign ops func pointer */
 	eth_dev->dev_ops = &iavf_eth_dev_ops;
+	eth_dev->rx_queue_count = iavf_dev_rxq_count;
+	eth_dev->rx_descriptor_status = iavf_dev_rx_desc_status;
+	eth_dev->tx_descriptor_status = iavf_dev_tx_desc_status;
 	eth_dev->rx_pkt_burst = &iavf_recv_pkts;
 	eth_dev->tx_pkt_burst = &iavf_xmit_pkts;
 	eth_dev->tx_pkt_prepare = &iavf_prep_pkts;
diff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c
index 8d435e8892..613b6638ad 100644
--- a/drivers/net/ice/ice_ethdev.c
+++ b/drivers/net/ice/ice_ethdev.c
@@ -200,9 +200,6 @@ static const struct eth_dev_ops ice_eth_dev_ops = {
 	.tx_burst_mode_get            = ice_tx_burst_mode_get,
 	.get_eeprom_length            = ice_get_eeprom_length,
 	.get_eeprom                   = ice_get_eeprom,
-	.rx_queue_count               = ice_rx_queue_count,
-	.rx_descriptor_status         = ice_rx_descriptor_status,
-	.tx_descriptor_status         = ice_tx_descriptor_status,
 	.stats_get                    = ice_stats_get,
 	.stats_reset                  = ice_stats_reset,
 	.xstats_get                   = ice_xstats_get,
@@ -2139,6 +2136,9 @@ ice_dev_init(struct rte_eth_dev *dev)
 	int ret;
 
 	dev->dev_ops = &ice_eth_dev_ops;
+	dev->rx_queue_count = ice_rx_queue_count;
+	dev->rx_descriptor_status = ice_rx_descriptor_status;
+	dev->tx_descriptor_status = ice_tx_descriptor_status;
 	dev->rx_pkt_burst = ice_recv_pkts;
 	dev->tx_pkt_burst = ice_xmit_pkts;
 	dev->tx_pkt_prepare = ice_prep_pkts;
diff --git a/drivers/net/igc/igc_ethdev.c b/drivers/net/igc/igc_ethdev.c
index ace6b3fb3d..1fdbfcb60d 100644
--- a/drivers/net/igc/igc_ethdev.c
+++ b/drivers/net/igc/igc_ethdev.c
@@ -272,9 +272,6 @@ static const struct eth_dev_ops eth_igc_ops = {
 
 	.rx_queue_setup		= eth_igc_rx_queue_setup,
 	.rx_queue_release	= eth_igc_rx_queue_release,
-	.rx_queue_count		= eth_igc_rx_queue_count,
-	.rx_descriptor_status	= eth_igc_rx_descriptor_status,
-	.tx_descriptor_status	= eth_igc_tx_descriptor_status,
 	.tx_queue_setup		= eth_igc_tx_queue_setup,
 	.tx_queue_release	= eth_igc_tx_queue_release,
 	.tx_done_cleanup	= eth_igc_tx_done_cleanup,
@@ -1226,6 +1223,9 @@ eth_igc_dev_init(struct rte_eth_dev *dev)
 
 	PMD_INIT_FUNC_TRACE();
 	dev->dev_ops = &eth_igc_ops;
+	dev->rx_queue_count = eth_igc_rx_queue_count;
+	dev->rx_descriptor_status = eth_igc_rx_descriptor_status;
+	dev->tx_descriptor_status = eth_igc_tx_descriptor_status;
 
 	/*
 	 * for secondary processes, we don't initialize any further as primary
diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index f536ca61cf..ac1dc7841d 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -545,9 +545,6 @@ static const struct eth_dev_ops ixgbe_eth_dev_ops = {
 	.rx_queue_intr_enable = ixgbe_dev_rx_queue_intr_enable,
 	.rx_queue_intr_disable = ixgbe_dev_rx_queue_intr_disable,
 	.rx_queue_release     = ixgbe_dev_rx_queue_release,
-	.rx_queue_count       = ixgbe_dev_rx_queue_count,
-	.rx_descriptor_status = ixgbe_dev_rx_descriptor_status,
-	.tx_descriptor_status = ixgbe_dev_tx_descriptor_status,
 	.tx_queue_setup       = ixgbe_dev_tx_queue_setup,
 	.tx_queue_release     = ixgbe_dev_tx_queue_release,
 	.dev_led_on           = ixgbe_dev_led_on,
@@ -621,8 +618,6 @@ static const struct eth_dev_ops ixgbevf_eth_dev_ops = {
 	.vlan_offload_set     = ixgbevf_vlan_offload_set,
 	.rx_queue_setup       = ixgbe_dev_rx_queue_setup,
 	.rx_queue_release     = ixgbe_dev_rx_queue_release,
-	.rx_descriptor_status = ixgbe_dev_rx_descriptor_status,
-	.tx_descriptor_status = ixgbe_dev_tx_descriptor_status,
 	.tx_queue_setup       = ixgbe_dev_tx_queue_setup,
 	.tx_queue_release     = ixgbe_dev_tx_queue_release,
 	.rx_queue_intr_enable = ixgbevf_dev_rx_queue_intr_enable,
@@ -1089,6 +1084,9 @@ eth_ixgbe_dev_init(struct rte_eth_dev *eth_dev, void *init_params __rte_unused)
 	ixgbe_dev_macsec_setting_reset(eth_dev);
 
 	eth_dev->dev_ops = &ixgbe_eth_dev_ops;
+	eth_dev->rx_descriptor_status = ixgbe_dev_rx_descriptor_status;
+	eth_dev->tx_descriptor_status = ixgbe_dev_tx_descriptor_status;
+	eth_dev->rx_queue_count       = ixgbe_dev_rx_queue_count;
 	eth_dev->rx_pkt_burst = &ixgbe_recv_pkts;
 	eth_dev->tx_pkt_burst = &ixgbe_xmit_pkts;
 	eth_dev->tx_pkt_prepare = &ixgbe_prep_pkts;
@@ -1568,6 +1566,8 @@ eth_ixgbevf_dev_init(struct rte_eth_dev *eth_dev)
 	PMD_INIT_FUNC_TRACE();
 
 	eth_dev->dev_ops = &ixgbevf_eth_dev_ops;
+	eth_dev->rx_descriptor_status = ixgbe_dev_rx_descriptor_status;
+	eth_dev->tx_descriptor_status = ixgbe_dev_tx_descriptor_status;
 	eth_dev->rx_pkt_burst = &ixgbe_recv_pkts;
 	eth_dev->tx_pkt_burst = &ixgbe_xmit_pkts;
 
diff --git a/drivers/net/mlx5/linux/mlx5_os.c b/drivers/net/mlx5/linux/mlx5_os.c
index 69123e12c3..d07f55cb49 100644
--- a/drivers/net/mlx5/linux/mlx5_os.c
+++ b/drivers/net/mlx5/linux/mlx5_os.c
@@ -585,6 +585,8 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev,
 		}
 		eth_dev->device = dpdk_dev;
 		eth_dev->dev_ops = &mlx5_os_dev_sec_ops;
+		eth_dev->rx_descriptor_status = mlx5_rx_descriptor_status;
+		eth_dev->tx_descriptor_status = mlx5_tx_descriptor_status;
 		err = mlx5_proc_priv_init(eth_dev);
 		if (err)
 			return NULL;
@@ -1192,6 +1194,9 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev,
 	eth_dev->rx_pkt_burst = removed_rx_burst;
 	eth_dev->tx_pkt_burst = removed_tx_burst;
 	eth_dev->dev_ops = &mlx5_os_dev_ops;
+	eth_dev->rx_descriptor_status = mlx5_rx_descriptor_status;
+	eth_dev->tx_descriptor_status = mlx5_tx_descriptor_status;
+	eth_dev->rx_queue_count = mlx5_rx_queue_count;
 	/* Register MAC address. */
 	claim_zero(mlx5_mac_addr_add(eth_dev, &mac, 0, 0));
 	if (config->vf && config->vf_nl_en)
@@ -2363,13 +2368,10 @@ const struct eth_dev_ops mlx5_os_dev_ops = {
 	.rss_hash_update = mlx5_rss_hash_update,
 	.rss_hash_conf_get = mlx5_rss_hash_conf_get,
 	.filter_ctrl = mlx5_dev_filter_ctrl,
-	.rx_descriptor_status = mlx5_rx_descriptor_status,
-	.tx_descriptor_status = mlx5_tx_descriptor_status,
 	.rxq_info_get = mlx5_rxq_info_get,
 	.txq_info_get = mlx5_txq_info_get,
 	.rx_burst_mode_get = mlx5_rx_burst_mode_get,
 	.tx_burst_mode_get = mlx5_tx_burst_mode_get,
-	.rx_queue_count = mlx5_rx_queue_count,
 	.rx_queue_intr_enable = mlx5_rx_intr_enable,
 	.rx_queue_intr_disable = mlx5_rx_intr_disable,
 	.is_removed = mlx5_is_removed,
@@ -2394,8 +2396,6 @@ const struct eth_dev_ops mlx5_os_dev_sec_ops = {
 	.rx_queue_stop = mlx5_rx_queue_stop,
 	.tx_queue_start = mlx5_tx_queue_start,
 	.tx_queue_stop = mlx5_tx_queue_stop,
-	.rx_descriptor_status = mlx5_rx_descriptor_status,
-	.tx_descriptor_status = mlx5_tx_descriptor_status,
 	.rxq_info_get = mlx5_rxq_info_get,
 	.txq_info_get = mlx5_txq_info_get,
 	.rx_burst_mode_get = mlx5_rx_burst_mode_get,
@@ -2447,8 +2447,6 @@ const struct eth_dev_ops mlx5_os_dev_ops_isolate = {
 	.vlan_strip_queue_set = mlx5_vlan_strip_queue_set,
 	.vlan_offload_set = mlx5_vlan_offload_set,
 	.filter_ctrl = mlx5_dev_filter_ctrl,
-	.rx_descriptor_status = mlx5_rx_descriptor_status,
-	.tx_descriptor_status = mlx5_tx_descriptor_status,
 	.rxq_info_get = mlx5_rxq_info_get,
 	.txq_info_get = mlx5_txq_info_get,
 	.rx_burst_mode_get = mlx5_rx_burst_mode_get,
diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
index 71501730b5..226b7bfd23 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -5131,6 +5131,10 @@ mlx5_flow_isolate(struct rte_eth_dev *dev,
 		dev->dev_ops = &mlx5_os_dev_ops_isolate;
 	else
 		dev->dev_ops = &mlx5_os_dev_ops;
+
+	dev->rx_descriptor_status = mlx5_rx_descriptor_status;
+	dev->tx_descriptor_status = mlx5_tx_descriptor_status;
+
 	return 0;
 }
 
diff --git a/drivers/net/netvsc/hn_ethdev.c b/drivers/net/netvsc/hn_ethdev.c
index fd91c0e491..229c1b9149 100644
--- a/drivers/net/netvsc/hn_ethdev.c
+++ b/drivers/net/netvsc/hn_ethdev.c
@@ -871,11 +871,8 @@ static const struct eth_dev_ops hn_eth_dev_ops = {
 	.tx_queue_setup		= hn_dev_tx_queue_setup,
 	.tx_queue_release	= hn_dev_tx_queue_release,
 	.tx_done_cleanup        = hn_dev_tx_done_cleanup,
-	.tx_descriptor_status	= hn_dev_tx_descriptor_status,
 	.rx_queue_setup		= hn_dev_rx_queue_setup,
 	.rx_queue_release	= hn_dev_rx_queue_release,
-	.rx_queue_count		= hn_dev_rx_queue_count,
-	.rx_descriptor_status   = hn_dev_rx_queue_status,
 	.link_update		= hn_dev_link_update,
 	.stats_get		= hn_dev_stats_get,
 	.stats_reset            = hn_dev_stats_reset,
@@ -936,6 +933,9 @@ eth_hn_dev_init(struct rte_eth_dev *eth_dev)
 
 	vmbus = container_of(device, struct rte_vmbus_device, device);
 	eth_dev->dev_ops = &hn_eth_dev_ops;
+	eth_dev->rx_queue_count = hn_dev_rx_queue_count;
+	eth_dev->rx_descriptor_status = hn_dev_rx_queue_status;
+	eth_dev->tx_descriptor_status = hn_dev_tx_descriptor_status;
 	eth_dev->tx_pkt_burst = &hn_xmit_pkts;
 	eth_dev->rx_pkt_burst = &hn_recv_pkts;
 
diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c
index 99946279db..c556dedab6 100644
--- a/drivers/net/nfp/nfp_net.c
+++ b/drivers/net/nfp/nfp_net.c
@@ -2701,7 +2701,6 @@ static const struct eth_dev_ops nfp_net_eth_dev_ops = {
 	.rss_hash_conf_get	= nfp_net_rss_hash_conf_get,
 	.rx_queue_setup		= nfp_net_rx_queue_setup,
 	.rx_queue_release	= nfp_net_rx_queue_release,
-	.rx_queue_count		= nfp_net_rx_queue_count,
 	.tx_queue_setup		= nfp_net_tx_queue_setup,
 	.tx_queue_release	= nfp_net_tx_queue_release,
 	.rx_queue_intr_enable   = nfp_rx_queue_intr_enable,
@@ -2785,6 +2784,7 @@ nfp_net_init(struct rte_eth_dev *eth_dev)
 	}
 
 	eth_dev->dev_ops = &nfp_net_eth_dev_ops;
+	eth_dev->rx_queue_count = nfp_net_rx_queue_count;
 	eth_dev->rx_pkt_burst = &nfp_net_recv_pkts;
 	eth_dev->tx_pkt_burst = &nfp_net_xmit_pkts;
 
diff --git a/drivers/net/octeontx2/otx2_ethdev.c b/drivers/net/octeontx2/otx2_ethdev.c
index b5d25fe68e..98f360f1b4 100644
--- a/drivers/net/octeontx2/otx2_ethdev.c
+++ b/drivers/net/octeontx2/otx2_ethdev.c
@@ -2272,9 +2272,6 @@ static const struct eth_dev_ops otx2_eth_dev_ops = {
 	.txq_info_get             = otx2_nix_txq_info_get,
 	.rx_burst_mode_get        = otx2_rx_burst_mode_get,
 	.tx_burst_mode_get        = otx2_tx_burst_mode_get,
-	.rx_queue_count           = otx2_nix_rx_queue_count,
-	.rx_descriptor_status     = otx2_nix_rx_descriptor_status,
-	.tx_descriptor_status     = otx2_nix_tx_descriptor_status,
 	.tx_done_cleanup          = otx2_nix_tx_done_cleanup,
 	.set_queue_rate_limit     = otx2_nix_tm_set_queue_rate_limit,
 	.pool_ops_supported       = otx2_nix_pool_ops_supported,
@@ -2381,6 +2378,9 @@ otx2_eth_dev_init(struct rte_eth_dev *eth_dev)
 	int rc, max_entries;
 
 	eth_dev->dev_ops = &otx2_eth_dev_ops;
+	eth_dev->rx_queue_count = otx2_nix_rx_queue_count;
+	eth_dev->rx_descriptor_status = otx2_nix_rx_descriptor_status;
+	eth_dev->tx_descriptor_status = otx2_nix_tx_descriptor_status;
 
 	/* For secondary processes, the primary has done all the work */
 	if (rte_eal_process_type() != RTE_PROC_PRIMARY) {
diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c
index 70d48e48ef..59f1746ee9 100644
--- a/drivers/net/qede/qede_ethdev.c
+++ b/drivers/net/qede/qede_ethdev.c
@@ -2386,7 +2386,6 @@ static const struct eth_dev_ops qede_eth_dev_ops = {
 	.dev_infos_get = qede_dev_info_get,
 	.rx_queue_setup = qede_rx_queue_setup,
 	.rx_queue_release = qede_rx_queue_release,
-	.rx_descriptor_status = qede_rx_descriptor_status,
 	.tx_queue_setup = qede_tx_queue_setup,
 	.tx_queue_release = qede_tx_queue_release,
 	.dev_start = qede_dev_start,
@@ -2431,7 +2430,6 @@ static const struct eth_dev_ops qede_eth_vf_dev_ops = {
 	.dev_infos_get = qede_dev_info_get,
 	.rx_queue_setup = qede_rx_queue_setup,
 	.rx_queue_release = qede_rx_queue_release,
-	.rx_descriptor_status = qede_rx_descriptor_status,
 	.tx_queue_setup = qede_tx_queue_setup,
 	.tx_queue_release = qede_tx_queue_release,
 	.dev_start = qede_dev_start,
@@ -2670,6 +2668,7 @@ static int qede_common_dev_init(struct rte_eth_dev *eth_dev, bool is_vf)
 	}
 
 	eth_dev->dev_ops = (is_vf) ? &qede_eth_vf_dev_ops : &qede_eth_dev_ops;
+	eth_dev->rx_descriptor_status = qede_rx_descriptor_status;
 
 	adapter->num_tx_queues = 0;
 	adapter->num_rx_queues = 0;
diff --git a/drivers/net/sfc/sfc_ethdev.c b/drivers/net/sfc/sfc_ethdev.c
index 65e0ff7d48..0b06bf91a0 100644
--- a/drivers/net/sfc/sfc_ethdev.c
+++ b/drivers/net/sfc/sfc_ethdev.c
@@ -1804,9 +1804,6 @@ static const struct eth_dev_ops sfc_eth_dev_ops = {
 	.tx_queue_stop			= sfc_tx_queue_stop,
 	.rx_queue_setup			= sfc_rx_queue_setup,
 	.rx_queue_release		= sfc_rx_queue_release,
-	.rx_queue_count			= sfc_rx_queue_count,
-	.rx_descriptor_status		= sfc_rx_descriptor_status,
-	.tx_descriptor_status		= sfc_tx_descriptor_status,
 	.rx_queue_intr_enable		= sfc_rx_queue_intr_enable,
 	.rx_queue_intr_disable		= sfc_rx_queue_intr_disable,
 	.tx_queue_setup			= sfc_tx_queue_setup,
@@ -1962,6 +1959,9 @@ sfc_eth_dev_set_ops(struct rte_eth_dev *dev)
 	dev->tx_pkt_burst = dp_tx->pkt_burst;
 
 	dev->dev_ops = &sfc_eth_dev_ops;
+	dev->rx_queue_count = sfc_rx_queue_count;
+	dev->rx_descriptor_status = sfc_rx_descriptor_status;
+	dev->tx_descriptor_status = sfc_tx_descriptor_status;
 
 	return 0;
 
@@ -2001,9 +2001,6 @@ sfc_eth_dev_clear_ops(struct rte_eth_dev *dev)
 
 static const struct eth_dev_ops sfc_eth_dev_secondary_ops = {
 	.dev_supported_ptypes_get	= sfc_dev_supported_ptypes_get,
-	.rx_queue_count			= sfc_rx_queue_count,
-	.rx_descriptor_status		= sfc_rx_descriptor_status,
-	.tx_descriptor_status		= sfc_tx_descriptor_status,
 	.reta_query			= sfc_dev_rss_reta_query,
 	.rss_hash_conf_get		= sfc_dev_rss_hash_conf_get,
 	.rxq_info_get			= sfc_rx_queue_info_get,
@@ -2069,6 +2066,9 @@ sfc_eth_dev_secondary_init(struct rte_eth_dev *dev, uint32_t logtype_main)
 	dev->tx_pkt_prepare = dp_tx->pkt_prepare;
 	dev->tx_pkt_burst = dp_tx->pkt_burst;
 	dev->dev_ops = &sfc_eth_dev_secondary_ops;
+	dev->rx_queue_count = sfc_rx_queue_count;
+	dev->rx_descriptor_status = sfc_rx_descriptor_status;
+	dev->tx_descriptor_status = sfc_tx_descriptor_status;
 
 	return 0;
 
diff --git a/drivers/net/thunderx/nicvf_ethdev.c b/drivers/net/thunderx/nicvf_ethdev.c
index d955a7ee23..959c8e4ddc 100644
--- a/drivers/net/thunderx/nicvf_ethdev.c
+++ b/drivers/net/thunderx/nicvf_ethdev.c
@@ -2029,7 +2029,6 @@ static const struct eth_dev_ops nicvf_eth_dev_ops = {
 	.tx_queue_stop            = nicvf_dev_tx_queue_stop,
 	.rx_queue_setup           = nicvf_dev_rx_queue_setup,
 	.rx_queue_release         = nicvf_dev_rx_queue_release,
-	.rx_queue_count           = nicvf_dev_rx_queue_count,
 	.tx_queue_setup           = nicvf_dev_tx_queue_setup,
 	.tx_queue_release         = nicvf_dev_tx_queue_release,
 	.dev_set_link_up          = nicvf_dev_set_link_up,
@@ -2134,6 +2133,7 @@ nicvf_eth_dev_init(struct rte_eth_dev *eth_dev)
 	PMD_INIT_FUNC_TRACE();
 
 	eth_dev->dev_ops = &nicvf_eth_dev_ops;
+	eth_dev->rx_queue_count = nicvf_dev_rx_queue_count;
 
 	/* For secondary processes, the primary has done all the work */
 	if (rte_eal_process_type() != RTE_PROC_PRIMARY) {
diff --git a/drivers/net/vhost/rte_eth_vhost.c b/drivers/net/vhost/rte_eth_vhost.c
index e55278af69..fa365605ef 100644
--- a/drivers/net/vhost/rte_eth_vhost.c
+++ b/drivers/net/vhost/rte_eth_vhost.c
@@ -1385,7 +1385,6 @@ static const struct eth_dev_ops ops = {
 	.rx_queue_release = eth_queue_release,
 	.tx_queue_release = eth_queue_release,
 	.tx_done_cleanup = eth_tx_done_cleanup,
-	.rx_queue_count = eth_rx_queue_count,
 	.link_update = eth_link_update,
 	.stats_get = eth_stats_get,
 	.stats_reset = eth_stats_reset,
@@ -1447,6 +1446,7 @@ eth_dev_vhost_create(struct rte_vdev_device *dev, char *iface_name,
 	data->all_multicast = 1;
 
 	eth_dev->dev_ops = &ops;
+	eth_dev->rx_queue_count = eth_rx_queue_count;
 
 	/* finally assign rx and tx ops */
 	eth_dev->rx_pkt_burst = eth_vhost_rx;
diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
index b52b04f7e0..2ce186610b 100644
--- a/lib/librte_ethdev/rte_ethdev.h
+++ b/lib/librte_ethdev/rte_ethdev.h
@@ -4545,11 +4545,11 @@ rte_eth_rx_queue_count(uint16_t port_id, uint16_t queue_id)
 
 	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -EINVAL);
 	dev = &rte_eth_devices[port_id];
-	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->rx_queue_count, -ENOTSUP);
+	RTE_FUNC_PTR_OR_ERR_RET(*dev->rx_queue_count, -ENOTSUP);
 	if (queue_id >= dev->data->nb_rx_queues)
 		return -EINVAL;
 
-	return (int)(*dev->dev_ops->rx_queue_count)(dev, queue_id);
+	return (int)(*dev->rx_queue_count)(dev, queue_id);
 }
 
 #define RTE_ETH_RX_DESC_AVAIL    0 /**< Desc available for hw. */
@@ -4604,10 +4604,10 @@ rte_eth_rx_descriptor_status(uint16_t port_id, uint16_t queue_id,
 	if (queue_id >= dev->data->nb_rx_queues)
 		return -ENODEV;
 #endif
-	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->rx_descriptor_status, -ENOTSUP);
+	RTE_FUNC_PTR_OR_ERR_RET(*dev->rx_descriptor_status, -ENOTSUP);
 	rxq = dev->data->rx_queues[queue_id];
 
-	return (*dev->dev_ops->rx_descriptor_status)(rxq, offset);
+	return (*dev->rx_descriptor_status)(rxq, offset);
 }
 
 #define RTE_ETH_TX_DESC_FULL    0 /**< Desc filled for hw, waiting xmit. */
@@ -4661,10 +4661,10 @@ static inline int rte_eth_tx_descriptor_status(uint16_t port_id,
 	if (queue_id >= dev->data->nb_tx_queues)
 		return -ENODEV;
 #endif
-	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->tx_descriptor_status, -ENOTSUP);
+	RTE_FUNC_PTR_OR_ERR_RET(*dev->tx_descriptor_status, -ENOTSUP);
 	txq = dev->data->tx_queues[queue_id];
 
-	return (*dev->dev_ops->tx_descriptor_status)(txq, offset);
+	return (*dev->tx_descriptor_status)(txq, offset);
 }
 
 /**
diff --git a/lib/librte_ethdev/rte_ethdev_core.h b/lib/librte_ethdev/rte_ethdev_core.h
index 292a6423c4..275d51006b 100644
--- a/lib/librte_ethdev/rte_ethdev_core.h
+++ b/lib/librte_ethdev/rte_ethdev_core.h
@@ -657,12 +657,6 @@ struct eth_dev_ops {
 	eth_queue_stop_t           tx_queue_stop; /**< Stop TX for a queue. */
 	eth_rx_queue_setup_t       rx_queue_setup;/**< Set up device RX queue. */
 	eth_queue_release_t        rx_queue_release; /**< Release RX queue. */
-	eth_rx_queue_count_t       rx_queue_count;
-	/**< Get the number of used RX descriptors. */
-	eth_rx_descriptor_status_t rx_descriptor_status;
-	/**< Check the status of a Rx descriptor. */
-	eth_tx_descriptor_status_t tx_descriptor_status;
-	/**< Check the status of a Tx descriptor. */
 	/*
 	 * Static inline functions use functions ABOVE this comment.
 	 * New dev_ops functions should be added BELOW to avoid breaking ABI.
@@ -778,6 +772,11 @@ struct rte_eth_dev {
 	eth_rx_burst_t rx_pkt_burst; /**< Pointer to PMD receive function. */
 	eth_tx_burst_t tx_pkt_burst; /**< Pointer to PMD transmit function. */
 	eth_tx_prep_t tx_pkt_prepare; /**< Pointer to PMD transmit prepare function. */
+
+	eth_rx_queue_count_t       rx_queue_count; /**< Get the number of used RX descriptors. */
+	eth_rx_descriptor_status_t rx_descriptor_status; /**< Check the status of a Rx descriptor. */
+	eth_tx_descriptor_status_t tx_descriptor_status; /**< Check the status of a Tx descriptor. */
+
 	/**
 	 * Next two fields are per-device data but *data is shared between
 	 * primary and secondary processes and *process_private is per-process
-- 
2.25.4


^ permalink raw reply	[relevance 4%]

* [dpdk-dev] [PATCH 1/7] ethdev: remove legacy descriptor status check API
@ 2020-08-24  9:40  1% Ferruh Yigit
  2020-08-24  9:40  4% ` [dpdk-dev] [PATCH 2/7] ethdev: move inline device operations Ferruh Yigit
                   ` (6 more replies)
  0 siblings, 7 replies; 200+ results
From: Ferruh Yigit @ 2020-08-24  9:40 UTC (permalink / raw)
  To: dev, John McNamara, Marko Kovacevic, Ray Kinsella, Neil Horman,
	Wei Zhao, Jeff Guo, John Daley, Hyong Youb Kim, Qi Zhang,
	Xiao Wang, Beilei Xing, Jerin Jacob, Nithin Dabilpuram,
	Kiran Kumar K, Andrew Rybchenko, Maxime Coquelin, Chenbo Xia,
	Zhihong Wang, Thomas Monjalon
  Cc: Ferruh Yigit

Removing 'rte_eth_rx_descriptor_done()' API and relevant
'rx_descriptor_done' function pointer from 'struct eth_dev_ops'.

Deprecation notice is to deprecate the API in 20.11 and remove one year
later, this is useful to prevent new applications use the API but keep
the support for old application. But since 20.11 have the ABI break and
most of the applications need to re-compile anyway will prevent them to
use the API, the affect will be same as removing the API. So removing it
in the 20.11 to reduce the churn.

'rx_descriptor_done' implementations removed from PMDs.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 doc/guides/nics/features.rst            |  6 +-----
 doc/guides/rel_notes/deprecation.rst    |  5 -----
 drivers/net/e1000/e1000_ethdev.h        |  4 ----
 drivers/net/e1000/em_ethdev.c           |  1 -
 drivers/net/e1000/em_rxtx.c             | 17 ----------------
 drivers/net/e1000/igb_ethdev.c          |  2 --
 drivers/net/e1000/igb_rxtx.c            | 17 ----------------
 drivers/net/enic/enic_ethdev.c          |  1 -
 drivers/net/fm10k/fm10k.h               |  3 ---
 drivers/net/fm10k/fm10k_ethdev.c        |  1 -
 drivers/net/fm10k/fm10k_rxtx.c          | 25 ------------------------
 drivers/net/i40e/i40e_ethdev.c          |  1 -
 drivers/net/i40e/i40e_ethdev_vf.c       |  1 -
 drivers/net/i40e/i40e_rxtx.c            | 26 -------------------------
 drivers/net/i40e/i40e_rxtx.h            |  1 -
 drivers/net/igc/igc_ethdev.c            |  1 -
 drivers/net/igc/igc_txrx.c              | 18 -----------------
 drivers/net/igc/igc_txrx.h              |  2 --
 drivers/net/ixgbe/ixgbe_ethdev.c        |  2 --
 drivers/net/ixgbe/ixgbe_ethdev.h        |  2 --
 drivers/net/ixgbe/ixgbe_rxtx.c          | 18 -----------------
 drivers/net/octeontx2/otx2_ethdev.c     |  1 -
 drivers/net/octeontx2/otx2_ethdev.h     |  1 -
 drivers/net/octeontx2/otx2_ethdev_ops.c | 12 ------------
 drivers/net/sfc/sfc_ethdev.c            | 17 ----------------
 drivers/net/virtio/virtio_ethdev.c      |  1 -
 drivers/net/virtio/virtio_ethdev.h      |  2 --
 drivers/net/virtio/virtio_rxtx.c        |  9 ---------
 lib/librte_ethdev/rte_ethdev.h          | 25 ------------------------
 lib/librte_ethdev/rte_ethdev_core.h     |  4 ----
 30 files changed, 1 insertion(+), 225 deletions(-)

diff --git a/doc/guides/nics/features.rst b/doc/guides/nics/features.rst
index edd21c4d8e..701c592b26 100644
--- a/doc/guides/nics/features.rst
+++ b/doc/guides/nics/features.rst
@@ -642,14 +642,10 @@ Rx descriptor status
 --------------------
 
 Supports check the status of a Rx descriptor. When ``rx_descriptor_status`` is
-used, status can be "Available", "Done" or "Unavailable". When
-``rx_descriptor_done`` is used, status can be "DD bit is set" or "DD bit is
-not set".
+used, status can be "Available", "Done" or "Unavailable".
 
 * **[implements] eth_dev_ops**: ``rx_descriptor_status``.
 * **[related]    API**: ``rte_eth_rx_descriptor_status()``.
-* **[implements] eth_dev_ops**: ``rx_descriptor_done``.
-* **[related]    API**: ``rte_eth_rx_descriptor_done()``.
 
 
 .. _nic_features_tx_descriptor_status:
diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 345c38d5b6..811eaad6ce 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -220,11 +220,6 @@ Deprecation Notices
   for HW. This change is planned for 20.11. For more details:
   https://mails.dpdk.org/archives/dev/2020-July/176135.html.
 
-* ethdev: ``rx_descriptor_done`` dev_ops and ``rte_eth_rx_descriptor_done``
-  will be deprecated in 20.11 and will be removed in 21.11.
-  Existing ``rte_eth_rx_descriptor_status`` and ``rte_eth_tx_descriptor_status``
-  APIs can be used as replacement.
-
 * ethdev: The port mirroring API can be replaced with a more fine grain flow API.
   The structs ``rte_eth_mirror_conf``, ``rte_eth_vlan_mirror`` and the functions
   ``rte_eth_mirror_rule_set``, ``rte_eth_mirror_rule_reset`` will be marked
diff --git a/drivers/net/e1000/e1000_ethdev.h b/drivers/net/e1000/e1000_ethdev.h
index 1e41ae9de1..dce365226b 100644
--- a/drivers/net/e1000/e1000_ethdev.h
+++ b/drivers/net/e1000/e1000_ethdev.h
@@ -384,8 +384,6 @@ int eth_igb_rx_queue_setup(struct rte_eth_dev *dev, uint16_t rx_queue_id,
 uint32_t eth_igb_rx_queue_count(struct rte_eth_dev *dev,
 		uint16_t rx_queue_id);
 
-int eth_igb_rx_descriptor_done(void *rx_queue, uint16_t offset);
-
 int eth_igb_rx_descriptor_status(void *rx_queue, uint16_t offset);
 int eth_igb_tx_descriptor_status(void *tx_queue, uint16_t offset);
 
@@ -461,8 +459,6 @@ int eth_em_rx_queue_setup(struct rte_eth_dev *dev, uint16_t rx_queue_id,
 uint32_t eth_em_rx_queue_count(struct rte_eth_dev *dev,
 		uint16_t rx_queue_id);
 
-int eth_em_rx_descriptor_done(void *rx_queue, uint16_t offset);
-
 int eth_em_rx_descriptor_status(void *rx_queue, uint16_t offset);
 int eth_em_tx_descriptor_status(void *tx_queue, uint16_t offset);
 
diff --git a/drivers/net/e1000/em_ethdev.c b/drivers/net/e1000/em_ethdev.c
index 902b1cdca0..32872db9c2 100644
--- a/drivers/net/e1000/em_ethdev.c
+++ b/drivers/net/e1000/em_ethdev.c
@@ -177,7 +177,6 @@ static const struct eth_dev_ops eth_em_ops = {
 	.rx_queue_setup       = eth_em_rx_queue_setup,
 	.rx_queue_release     = eth_em_rx_queue_release,
 	.rx_queue_count       = eth_em_rx_queue_count,
-	.rx_descriptor_done   = eth_em_rx_descriptor_done,
 	.rx_descriptor_status = eth_em_rx_descriptor_status,
 	.tx_descriptor_status = eth_em_tx_descriptor_status,
 	.tx_queue_setup       = eth_em_tx_queue_setup,
diff --git a/drivers/net/e1000/em_rxtx.c b/drivers/net/e1000/em_rxtx.c
index 67a271e8ce..2ffc31b41d 100644
--- a/drivers/net/e1000/em_rxtx.c
+++ b/drivers/net/e1000/em_rxtx.c
@@ -1511,23 +1511,6 @@ eth_em_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id)
 	return desc;
 }
 
-int
-eth_em_rx_descriptor_done(void *rx_queue, uint16_t offset)
-{
-	volatile struct e1000_rx_desc *rxdp;
-	struct em_rx_queue *rxq = rx_queue;
-	uint32_t desc;
-
-	if (unlikely(offset >= rxq->nb_rx_desc))
-		return 0;
-	desc = rxq->rx_tail + offset;
-	if (desc >= rxq->nb_rx_desc)
-		desc -= rxq->nb_rx_desc;
-
-	rxdp = &rxq->rx_ring[desc];
-	return !!(rxdp->status & E1000_RXD_STAT_DD);
-}
-
 int
 eth_em_rx_descriptor_status(void *rx_queue, uint16_t offset)
 {
diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c
index a5551e8175..aec79c6ceb 100644
--- a/drivers/net/e1000/igb_ethdev.c
+++ b/drivers/net/e1000/igb_ethdev.c
@@ -381,7 +381,6 @@ static const struct eth_dev_ops eth_igb_ops = {
 	.rx_queue_intr_disable = eth_igb_rx_queue_intr_disable,
 	.rx_queue_release     = eth_igb_rx_queue_release,
 	.rx_queue_count       = eth_igb_rx_queue_count,
-	.rx_descriptor_done   = eth_igb_rx_descriptor_done,
 	.rx_descriptor_status = eth_igb_rx_descriptor_status,
 	.tx_descriptor_status = eth_igb_tx_descriptor_status,
 	.tx_queue_setup       = eth_igb_tx_queue_setup,
@@ -441,7 +440,6 @@ static const struct eth_dev_ops igbvf_eth_dev_ops = {
 	.dev_supported_ptypes_get = eth_igb_supported_ptypes_get,
 	.rx_queue_setup       = eth_igb_rx_queue_setup,
 	.rx_queue_release     = eth_igb_rx_queue_release,
-	.rx_descriptor_done   = eth_igb_rx_descriptor_done,
 	.rx_descriptor_status = eth_igb_rx_descriptor_status,
 	.tx_descriptor_status = eth_igb_tx_descriptor_status,
 	.tx_queue_setup       = eth_igb_tx_queue_setup,
diff --git a/drivers/net/e1000/igb_rxtx.c b/drivers/net/e1000/igb_rxtx.c
index dd520cd82c..d313893c3a 100644
--- a/drivers/net/e1000/igb_rxtx.c
+++ b/drivers/net/e1000/igb_rxtx.c
@@ -1791,23 +1791,6 @@ eth_igb_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id)
 	return desc;
 }
 
-int
-eth_igb_rx_descriptor_done(void *rx_queue, uint16_t offset)
-{
-	volatile union e1000_adv_rx_desc *rxdp;
-	struct igb_rx_queue *rxq = rx_queue;
-	uint32_t desc;
-
-	if (unlikely(offset >= rxq->nb_rx_desc))
-		return 0;
-	desc = rxq->rx_tail + offset;
-	if (desc >= rxq->nb_rx_desc)
-		desc -= rxq->nb_rx_desc;
-
-	rxdp = &rxq->rx_ring[desc];
-	return !!(rxdp->wb.upper.status_error & E1000_RXD_STAT_DD);
-}
-
 int
 eth_igb_rx_descriptor_status(void *rx_queue, uint16_t offset)
 {
diff --git a/drivers/net/enic/enic_ethdev.c b/drivers/net/enic/enic_ethdev.c
index ca75919ee2..1316c5c739 100644
--- a/drivers/net/enic/enic_ethdev.c
+++ b/drivers/net/enic/enic_ethdev.c
@@ -1142,7 +1142,6 @@ static const struct eth_dev_ops enicpmd_eth_dev_ops = {
 	.rx_queue_setup       = enicpmd_dev_rx_queue_setup,
 	.rx_queue_release     = enicpmd_dev_rx_queue_release,
 	.rx_queue_count       = enicpmd_dev_rx_queue_count,
-	.rx_descriptor_done   = NULL,
 	.tx_queue_setup       = enicpmd_dev_tx_queue_setup,
 	.tx_queue_release     = enicpmd_dev_tx_queue_release,
 	.rx_queue_intr_enable = enicpmd_dev_rx_queue_intr_enable,
diff --git a/drivers/net/fm10k/fm10k.h b/drivers/net/fm10k/fm10k.h
index 916b856acc..2e47ada829 100644
--- a/drivers/net/fm10k/fm10k.h
+++ b/drivers/net/fm10k/fm10k.h
@@ -326,9 +326,6 @@ uint16_t fm10k_recv_scattered_pkts(void *rx_queue,
 uint32_t
 fm10k_dev_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id);
 
-int
-fm10k_dev_rx_descriptor_done(void *rx_queue, uint16_t offset);
-
 int
 fm10k_dev_rx_descriptor_status(void *rx_queue, uint16_t offset);
 
diff --git a/drivers/net/fm10k/fm10k_ethdev.c b/drivers/net/fm10k/fm10k_ethdev.c
index b574693bca..092eade547 100644
--- a/drivers/net/fm10k/fm10k_ethdev.c
+++ b/drivers/net/fm10k/fm10k_ethdev.c
@@ -2856,7 +2856,6 @@ static const struct eth_dev_ops fm10k_eth_dev_ops = {
 	.tx_queue_setup		= fm10k_tx_queue_setup,
 	.tx_queue_release	= fm10k_tx_queue_release,
 	.rx_queue_count		= fm10k_dev_rx_queue_count,
-	.rx_descriptor_done	= fm10k_dev_rx_descriptor_done,
 	.rx_descriptor_status = fm10k_dev_rx_descriptor_status,
 	.tx_descriptor_status = fm10k_dev_tx_descriptor_status,
 	.rx_queue_intr_enable	= fm10k_dev_rx_queue_intr_enable,
diff --git a/drivers/net/fm10k/fm10k_rxtx.c b/drivers/net/fm10k/fm10k_rxtx.c
index 4accaa2cd6..399bb3da19 100644
--- a/drivers/net/fm10k/fm10k_rxtx.c
+++ b/drivers/net/fm10k/fm10k_rxtx.c
@@ -393,31 +393,6 @@ fm10k_dev_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id)
 	return desc;
 }
 
-int
-fm10k_dev_rx_descriptor_done(void *rx_queue, uint16_t offset)
-{
-	volatile union fm10k_rx_desc *rxdp;
-	struct fm10k_rx_queue *rxq = rx_queue;
-	uint16_t desc;
-	int ret;
-
-	if (unlikely(offset >= rxq->nb_desc)) {
-		PMD_DRV_LOG(ERR, "Invalid RX descriptor offset %u", offset);
-		return 0;
-	}
-
-	desc = rxq->next_dd + offset;
-	if (desc >= rxq->nb_desc)
-		desc -= rxq->nb_desc;
-
-	rxdp = &rxq->hw_ring[desc];
-
-	ret = !!(rxdp->w.status &
-			rte_cpu_to_le_16(FM10K_RXD_STATUS_DD));
-
-	return ret;
-}
-
 int
 fm10k_dev_rx_descriptor_status(void *rx_queue, uint16_t offset)
 {
diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index 11c02b1888..f8ed4a0b36 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -475,7 +475,6 @@ static const struct eth_dev_ops i40e_eth_dev_ops = {
 	.rx_queue_intr_disable        = i40e_dev_rx_queue_intr_disable,
 	.rx_queue_release             = i40e_dev_rx_queue_release,
 	.rx_queue_count               = i40e_dev_rx_queue_count,
-	.rx_descriptor_done           = i40e_dev_rx_descriptor_done,
 	.rx_descriptor_status         = i40e_dev_rx_descriptor_status,
 	.tx_descriptor_status         = i40e_dev_tx_descriptor_status,
 	.tx_queue_setup               = i40e_dev_tx_queue_setup,
diff --git a/drivers/net/i40e/i40e_ethdev_vf.c b/drivers/net/i40e/i40e_ethdev_vf.c
index 69cab8e739..a3d19fc1d7 100644
--- a/drivers/net/i40e/i40e_ethdev_vf.c
+++ b/drivers/net/i40e/i40e_ethdev_vf.c
@@ -199,7 +199,6 @@ static const struct eth_dev_ops i40evf_eth_dev_ops = {
 	.rx_queue_release     = i40e_dev_rx_queue_release,
 	.rx_queue_intr_enable = i40evf_dev_rx_queue_intr_enable,
 	.rx_queue_intr_disable = i40evf_dev_rx_queue_intr_disable,
-	.rx_descriptor_done   = i40e_dev_rx_descriptor_done,
 	.rx_descriptor_status = i40e_dev_rx_descriptor_status,
 	.tx_descriptor_status = i40e_dev_tx_descriptor_status,
 	.tx_queue_setup       = i40e_dev_tx_queue_setup,
diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c
index fe7f9200c1..645fbf401c 100644
--- a/drivers/net/i40e/i40e_rxtx.c
+++ b/drivers/net/i40e/i40e_rxtx.c
@@ -2032,32 +2032,6 @@ i40e_dev_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id)
 	return desc;
 }
 
-int
-i40e_dev_rx_descriptor_done(void *rx_queue, uint16_t offset)
-{
-	volatile union i40e_rx_desc *rxdp;
-	struct i40e_rx_queue *rxq = rx_queue;
-	uint16_t desc;
-	int ret;
-
-	if (unlikely(offset >= rxq->nb_rx_desc)) {
-		PMD_DRV_LOG(ERR, "Invalid RX descriptor id %u", offset);
-		return 0;
-	}
-
-	desc = rxq->rx_tail + offset;
-	if (desc >= rxq->nb_rx_desc)
-		desc -= rxq->nb_rx_desc;
-
-	rxdp = &(rxq->rx_ring[desc]);
-
-	ret = !!(((rte_le_to_cpu_64(rxdp->wb.qword1.status_error_len) &
-		I40E_RXD_QW1_STATUS_MASK) >> I40E_RXD_QW1_STATUS_SHIFT) &
-				(1 << I40E_RX_DESC_STATUS_DD_SHIFT));
-
-	return ret;
-}
-
 int
 i40e_dev_rx_descriptor_status(void *rx_queue, uint16_t offset)
 {
diff --git a/drivers/net/i40e/i40e_rxtx.h b/drivers/net/i40e/i40e_rxtx.h
index 57d7b4160b..925f3d853d 100644
--- a/drivers/net/i40e/i40e_rxtx.h
+++ b/drivers/net/i40e/i40e_rxtx.h
@@ -221,7 +221,6 @@ void i40e_rx_queue_release_mbufs(struct i40e_rx_queue *rxq);
 
 uint32_t i40e_dev_rx_queue_count(struct rte_eth_dev *dev,
 				 uint16_t rx_queue_id);
-int i40e_dev_rx_descriptor_done(void *rx_queue, uint16_t offset);
 int i40e_dev_rx_descriptor_status(void *rx_queue, uint16_t offset);
 int i40e_dev_tx_descriptor_status(void *tx_queue, uint16_t offset);
 
diff --git a/drivers/net/igc/igc_ethdev.c b/drivers/net/igc/igc_ethdev.c
index 6ab3ee909d..ace6b3fb3d 100644
--- a/drivers/net/igc/igc_ethdev.c
+++ b/drivers/net/igc/igc_ethdev.c
@@ -273,7 +273,6 @@ static const struct eth_dev_ops eth_igc_ops = {
 	.rx_queue_setup		= eth_igc_rx_queue_setup,
 	.rx_queue_release	= eth_igc_rx_queue_release,
 	.rx_queue_count		= eth_igc_rx_queue_count,
-	.rx_descriptor_done	= eth_igc_rx_descriptor_done,
 	.rx_descriptor_status	= eth_igc_rx_descriptor_status,
 	.tx_descriptor_status	= eth_igc_tx_descriptor_status,
 	.tx_queue_setup		= eth_igc_tx_queue_setup,
diff --git a/drivers/net/igc/igc_txrx.c b/drivers/net/igc/igc_txrx.c
index 4654ec41f0..f3962533d5 100644
--- a/drivers/net/igc/igc_txrx.c
+++ b/drivers/net/igc/igc_txrx.c
@@ -756,24 +756,6 @@ uint32_t eth_igc_rx_queue_count(struct rte_eth_dev *dev,
 	return desc;
 }
 
-int eth_igc_rx_descriptor_done(void *rx_queue, uint16_t offset)
-{
-	volatile union igc_adv_rx_desc *rxdp;
-	struct igc_rx_queue *rxq = rx_queue;
-	uint32_t desc;
-
-	if (unlikely(!rxq || offset >= rxq->nb_rx_desc))
-		return 0;
-
-	desc = rxq->rx_tail + offset;
-	if (desc >= rxq->nb_rx_desc)
-		desc -= rxq->nb_rx_desc;
-
-	rxdp = &rxq->rx_ring[desc];
-	return !!(rxdp->wb.upper.status_error &
-			rte_cpu_to_le_32(IGC_RXD_STAT_DD));
-}
-
 int eth_igc_rx_descriptor_status(void *rx_queue, uint16_t offset)
 {
 	struct igc_rx_queue *rxq = rx_queue;
diff --git a/drivers/net/igc/igc_txrx.h b/drivers/net/igc/igc_txrx.h
index f2b2d75bbc..d6f3799639 100644
--- a/drivers/net/igc/igc_txrx.h
+++ b/drivers/net/igc/igc_txrx.h
@@ -25,8 +25,6 @@ int eth_igc_rx_queue_setup(struct rte_eth_dev *dev, uint16_t rx_queue_id,
 uint32_t eth_igc_rx_queue_count(struct rte_eth_dev *dev,
 		uint16_t rx_queue_id);
 
-int eth_igc_rx_descriptor_done(void *rx_queue, uint16_t offset);
-
 int eth_igc_rx_descriptor_status(void *rx_queue, uint16_t offset);
 
 int eth_igc_tx_descriptor_status(void *tx_queue, uint16_t offset);
diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index fd0cb9b0e2..f536ca61cf 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -546,7 +546,6 @@ static const struct eth_dev_ops ixgbe_eth_dev_ops = {
 	.rx_queue_intr_disable = ixgbe_dev_rx_queue_intr_disable,
 	.rx_queue_release     = ixgbe_dev_rx_queue_release,
 	.rx_queue_count       = ixgbe_dev_rx_queue_count,
-	.rx_descriptor_done   = ixgbe_dev_rx_descriptor_done,
 	.rx_descriptor_status = ixgbe_dev_rx_descriptor_status,
 	.tx_descriptor_status = ixgbe_dev_tx_descriptor_status,
 	.tx_queue_setup       = ixgbe_dev_tx_queue_setup,
@@ -622,7 +621,6 @@ static const struct eth_dev_ops ixgbevf_eth_dev_ops = {
 	.vlan_offload_set     = ixgbevf_vlan_offload_set,
 	.rx_queue_setup       = ixgbe_dev_rx_queue_setup,
 	.rx_queue_release     = ixgbe_dev_rx_queue_release,
-	.rx_descriptor_done   = ixgbe_dev_rx_descriptor_done,
 	.rx_descriptor_status = ixgbe_dev_rx_descriptor_status,
 	.tx_descriptor_status = ixgbe_dev_tx_descriptor_status,
 	.tx_queue_setup       = ixgbe_dev_tx_queue_setup,
diff --git a/drivers/net/ixgbe/ixgbe_ethdev.h b/drivers/net/ixgbe/ixgbe_ethdev.h
index 9bdef87fbd..b0e2b2452f 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.h
+++ b/drivers/net/ixgbe/ixgbe_ethdev.h
@@ -602,8 +602,6 @@ int  ixgbe_dev_tx_queue_setup(struct rte_eth_dev *dev, uint16_t tx_queue_id,
 uint32_t ixgbe_dev_rx_queue_count(struct rte_eth_dev *dev,
 		uint16_t rx_queue_id);
 
-int ixgbe_dev_rx_descriptor_done(void *rx_queue, uint16_t offset);
-
 int ixgbe_dev_rx_descriptor_status(void *rx_queue, uint16_t offset);
 int ixgbe_dev_tx_descriptor_status(void *tx_queue, uint16_t offset);
 
diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c
index 977ecf5137..5254fe3738 100644
--- a/drivers/net/ixgbe/ixgbe_rxtx.c
+++ b/drivers/net/ixgbe/ixgbe_rxtx.c
@@ -3216,24 +3216,6 @@ ixgbe_dev_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id)
 	return desc;
 }
 
-int
-ixgbe_dev_rx_descriptor_done(void *rx_queue, uint16_t offset)
-{
-	volatile union ixgbe_adv_rx_desc *rxdp;
-	struct ixgbe_rx_queue *rxq = rx_queue;
-	uint32_t desc;
-
-	if (unlikely(offset >= rxq->nb_rx_desc))
-		return 0;
-	desc = rxq->rx_tail + offset;
-	if (desc >= rxq->nb_rx_desc)
-		desc -= rxq->nb_rx_desc;
-
-	rxdp = &rxq->rx_ring[desc];
-	return !!(rxdp->wb.upper.status_error &
-			rte_cpu_to_le_32(IXGBE_RXDADV_STAT_DD));
-}
-
 int
 ixgbe_dev_rx_descriptor_status(void *rx_queue, uint16_t offset)
 {
diff --git a/drivers/net/octeontx2/otx2_ethdev.c b/drivers/net/octeontx2/otx2_ethdev.c
index 33b72bd4db..b5d25fe68e 100644
--- a/drivers/net/octeontx2/otx2_ethdev.c
+++ b/drivers/net/octeontx2/otx2_ethdev.c
@@ -2273,7 +2273,6 @@ static const struct eth_dev_ops otx2_eth_dev_ops = {
 	.rx_burst_mode_get        = otx2_rx_burst_mode_get,
 	.tx_burst_mode_get        = otx2_tx_burst_mode_get,
 	.rx_queue_count           = otx2_nix_rx_queue_count,
-	.rx_descriptor_done       = otx2_nix_rx_descriptor_done,
 	.rx_descriptor_status     = otx2_nix_rx_descriptor_status,
 	.tx_descriptor_status     = otx2_nix_tx_descriptor_status,
 	.tx_done_cleanup          = otx2_nix_tx_done_cleanup,
diff --git a/drivers/net/octeontx2/otx2_ethdev.h b/drivers/net/octeontx2/otx2_ethdev.h
index e9efe52bb0..10bcd1b6a4 100644
--- a/drivers/net/octeontx2/otx2_ethdev.h
+++ b/drivers/net/octeontx2/otx2_ethdev.h
@@ -412,7 +412,6 @@ int otx2_tx_burst_mode_get(struct rte_eth_dev *dev, uint16_t queue_id,
 			   struct rte_eth_burst_mode *mode);
 uint32_t otx2_nix_rx_queue_count(struct rte_eth_dev *eth_dev, uint16_t qidx);
 int otx2_nix_tx_done_cleanup(void *txq, uint32_t free_cnt);
-int otx2_nix_rx_descriptor_done(void *rxq, uint16_t offset);
 int otx2_nix_rx_descriptor_status(void *rx_queue, uint16_t offset);
 int otx2_nix_tx_descriptor_status(void *tx_queue, uint16_t offset);
 
diff --git a/drivers/net/octeontx2/otx2_ethdev_ops.c b/drivers/net/octeontx2/otx2_ethdev_ops.c
index faecf216c1..6c6a4f35e9 100644
--- a/drivers/net/octeontx2/otx2_ethdev_ops.c
+++ b/drivers/net/octeontx2/otx2_ethdev_ops.c
@@ -371,18 +371,6 @@ nix_offset_has_packet(uint32_t head, uint32_t tail, uint16_t offset)
 	return 0;
 }
 
-int
-otx2_nix_rx_descriptor_done(void *rx_queue, uint16_t offset)
-{
-	struct otx2_eth_rxq *rxq = rx_queue;
-	uint32_t head, tail;
-
-	nix_rx_head_tail_get(otx2_eth_pmd_priv(rxq->eth_dev),
-			     &head, &tail, rxq->rq);
-
-	return nix_offset_has_packet(head, tail, offset);
-}
-
 int
 otx2_nix_rx_descriptor_status(void *rx_queue, uint16_t offset)
 {
diff --git a/drivers/net/sfc/sfc_ethdev.c b/drivers/net/sfc/sfc_ethdev.c
index acee3e48e4..65e0ff7d48 100644
--- a/drivers/net/sfc/sfc_ethdev.c
+++ b/drivers/net/sfc/sfc_ethdev.c
@@ -1221,21 +1221,6 @@ sfc_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id)
 	return sap->dp_rx->qdesc_npending(rxq_info->dp);
 }
 
-/*
- * The function is used by the secondary process as well. It must not
- * use any process-local pointers from the adapter data.
- */
-static int
-sfc_rx_descriptor_done(void *queue, uint16_t offset)
-{
-	struct sfc_dp_rxq *dp_rxq = queue;
-	const struct sfc_dp_rx *dp_rx;
-
-	dp_rx = sfc_dp_rx_by_dp_rxq(dp_rxq);
-
-	return offset < dp_rx->qdesc_npending(dp_rxq);
-}
-
 /*
  * The function is used by the secondary process as well. It must not
  * use any process-local pointers from the adapter data.
@@ -1820,7 +1805,6 @@ static const struct eth_dev_ops sfc_eth_dev_ops = {
 	.rx_queue_setup			= sfc_rx_queue_setup,
 	.rx_queue_release		= sfc_rx_queue_release,
 	.rx_queue_count			= sfc_rx_queue_count,
-	.rx_descriptor_done		= sfc_rx_descriptor_done,
 	.rx_descriptor_status		= sfc_rx_descriptor_status,
 	.tx_descriptor_status		= sfc_tx_descriptor_status,
 	.rx_queue_intr_enable		= sfc_rx_queue_intr_enable,
@@ -2018,7 +2002,6 @@ sfc_eth_dev_clear_ops(struct rte_eth_dev *dev)
 static const struct eth_dev_ops sfc_eth_dev_secondary_ops = {
 	.dev_supported_ptypes_get	= sfc_dev_supported_ptypes_get,
 	.rx_queue_count			= sfc_rx_queue_count,
-	.rx_descriptor_done		= sfc_rx_descriptor_done,
 	.rx_descriptor_status		= sfc_rx_descriptor_status,
 	.tx_descriptor_status		= sfc_tx_descriptor_status,
 	.reta_query			= sfc_dev_rss_reta_query,
diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
index dc0093bdf0..8658b6f2f0 100644
--- a/drivers/net/virtio/virtio_ethdev.c
+++ b/drivers/net/virtio/virtio_ethdev.c
@@ -920,7 +920,6 @@ static const struct eth_dev_ops virtio_eth_dev_ops = {
 	.rx_queue_intr_enable    = virtio_dev_rx_queue_intr_enable,
 	.rx_queue_intr_disable   = virtio_dev_rx_queue_intr_disable,
 	.rx_queue_release        = virtio_dev_queue_release,
-	.rx_descriptor_done      = virtio_dev_rx_queue_done,
 	.tx_queue_setup          = virtio_dev_tx_queue_setup,
 	.tx_queue_release        = virtio_dev_queue_release,
 	/* collect stats per queue */
diff --git a/drivers/net/virtio/virtio_ethdev.h b/drivers/net/virtio/virtio_ethdev.h
index b7d52d497f..c93f320f83 100644
--- a/drivers/net/virtio/virtio_ethdev.h
+++ b/drivers/net/virtio/virtio_ethdev.h
@@ -60,8 +60,6 @@ void virtio_dev_cq_start(struct rte_eth_dev *dev);
  * RX/TX function prototypes
  */
 
-int virtio_dev_rx_queue_done(void *rxq, uint16_t offset);
-
 int  virtio_dev_rx_queue_setup(struct rte_eth_dev *dev, uint16_t rx_queue_id,
 		uint16_t nb_rx_desc, unsigned int socket_id,
 		const struct rte_eth_rxconf *rx_conf,
diff --git a/drivers/net/virtio/virtio_rxtx.c b/drivers/net/virtio/virtio_rxtx.c
index f915b8a2c9..043788876e 100644
--- a/drivers/net/virtio/virtio_rxtx.c
+++ b/drivers/net/virtio/virtio_rxtx.c
@@ -39,15 +39,6 @@
 #define  VIRTIO_DUMP_PACKET(m, len) do { } while (0)
 #endif
 
-int
-virtio_dev_rx_queue_done(void *rxq, uint16_t offset)
-{
-	struct virtnet_rx *rxvq = rxq;
-	struct virtqueue *vq = rxvq->vq;
-
-	return virtqueue_nused(vq) >= offset;
-}
-
 void
 vq_ring_free_inorder(struct virtqueue *vq, uint16_t desc_idx, uint16_t num)
 {
diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
index 70295d7ab7..b52b04f7e0 100644
--- a/lib/librte_ethdev/rte_ethdev.h
+++ b/lib/librte_ethdev/rte_ethdev.h
@@ -4552,31 +4552,6 @@ rte_eth_rx_queue_count(uint16_t port_id, uint16_t queue_id)
 	return (int)(*dev->dev_ops->rx_queue_count)(dev, queue_id);
 }
 
-/**
- * Check if the DD bit of the specific RX descriptor in the queue has been set
- *
- * @param port_id
- *  The port identifier of the Ethernet device.
- * @param queue_id
- *  The queue id on the specific port.
- * @param offset
- *  The offset of the descriptor ID from tail.
- * @return
- *  - (1) if the specific DD bit is set.
- *  - (0) if the specific DD bit is not set.
- *  - (-ENODEV) if *port_id* invalid.
- *  - (-ENOTSUP) if the device does not support this function
- */
-static inline int
-rte_eth_rx_descriptor_done(uint16_t port_id, uint16_t queue_id, uint16_t offset)
-{
-	struct rte_eth_dev *dev = &rte_eth_devices[port_id];
-	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
-	RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->rx_descriptor_done, -ENOTSUP);
-	return (*dev->dev_ops->rx_descriptor_done)( \
-		dev->data->rx_queues[queue_id], offset);
-}
-
 #define RTE_ETH_RX_DESC_AVAIL    0 /**< Desc available for hw. */
 #define RTE_ETH_RX_DESC_DONE     1 /**< Desc done, filled by hw. */
 #define RTE_ETH_RX_DESC_UNAVAIL  2 /**< Desc used by driver or hw. */
diff --git a/lib/librte_ethdev/rte_ethdev_core.h b/lib/librte_ethdev/rte_ethdev_core.h
index 32407dd418..292a6423c4 100644
--- a/lib/librte_ethdev/rte_ethdev_core.h
+++ b/lib/librte_ethdev/rte_ethdev_core.h
@@ -287,9 +287,6 @@ typedef uint32_t (*eth_rx_queue_count_t)(struct rte_eth_dev *dev,
 					 uint16_t rx_queue_id);
 /**< @internal Get number of used descriptors on a receive queue. */
 
-typedef int (*eth_rx_descriptor_done_t)(void *rxq, uint16_t offset);
-/**< @internal Check DD bit of specific RX descriptor */
-
 typedef int (*eth_rx_descriptor_status_t)(void *rxq, uint16_t offset);
 /**< @internal Check the status of a Rx descriptor */
 
@@ -662,7 +659,6 @@ struct eth_dev_ops {
 	eth_queue_release_t        rx_queue_release; /**< Release RX queue. */
 	eth_rx_queue_count_t       rx_queue_count;
 	/**< Get the number of used RX descriptors. */
-	eth_rx_descriptor_done_t   rx_descriptor_done; /**< Check rxd DD bit. */
 	eth_rx_descriptor_status_t rx_descriptor_status;
 	/**< Check the status of a Rx descriptor. */
 	eth_tx_descriptor_status_t tx_descriptor_status;
-- 
2.25.4


^ permalink raw reply	[relevance 1%]

* Re: [dpdk-dev] [PATCH v2] sched: fix port time rounding error
  2020-08-20 14:32  4%   ` Kevin Traynor
@ 2020-08-21 15:28  3%     ` Kinsella, Ray
  2020-09-07 10:09  0%       ` Kevin Traynor
  0 siblings, 1 reply; 200+ results
From: Kinsella, Ray @ 2020-08-21 15:28 UTC (permalink / raw)
  To: Kevin Traynor, alangordondewar, cristian.dumitrescu
  Cc: dev, Alan Dewar, David Marchand, Luca Boccassi, Jasvinder Singh



On 20/08/2020 15:32, Kevin Traynor wrote:
> Hi,
> 
> On 25/06/2020 10:59, alangordondewar@gmail.com wrote:
>> From: Alan Dewar <alan.dewar@att.com>
>>
>> The QoS scheduler works off port time that is computed from the number
>> of CPU cycles that have elapsed since the last time the port was
>> polled.   It divides the number of elapsed cycles to calculate how
>> many bytes can be sent, however this division can generate rounding
>> errors, where some fraction of a byte sent may be lost.
>>
>> Lose enough of these fractional bytes and the QoS scheduler
>> underperforms.  The problem is worse with low bandwidths.
>>
>> To compensate for this rounding error this fix doesn't advance the
>> port's time_cpu_cycles by the number of cycles that have elapsed,
>> but by multiplying the computed number of bytes that can be sent
>> (which has been rounded down) by number of cycles per byte.
>> This will mean that port's time_cpu_cycles will lag behind the CPU
>> cycles momentarily.  At the next poll, the lag will be taken into
>> account.
>>
>> v2:
>> If the cycles value wraps (100 year+) reset the port's cpu cycle back
>> to zero.
>>
>> Fixes: de3cfa2c98 ("sched: initial import")
>>
>> Signed-off-by: Alan Dewar <alan.dewar@att.com>
>> ---
>>  lib/librte_sched/rte_sched.c | 11 +++++++++--
>>  1 file changed, 9 insertions(+), 2 deletions(-)
>>
>> diff --git a/lib/librte_sched/rte_sched.c b/lib/librte_sched/rte_sched.c
>> index c0983ddda..7c022cd61 100644
>> --- a/lib/librte_sched/rte_sched.c
>> +++ b/lib/librte_sched/rte_sched.c
>> @@ -222,6 +222,7 @@ struct rte_sched_port {
>>  	uint64_t time_cpu_bytes;      /* Current CPU time measured in bytes */
>>  	uint64_t time;                /* Current NIC TX time measured in bytes */
>>  	struct rte_reciprocal inv_cycles_per_byte; /* CPU cycles per byte */
>> +	uint64_t cycles_per_byte;
>>  
> 
> I was backporting this patch to 18.11. The older ABI checker complains
> about this structure change.
> 
> "cycles_per_byte has been added at the middle position of this
> structural type."
> 
> Isn't this an ABI break? Dropping from 18.11 for time being.

So it looks like rte_sched_port * is an opaque pointers as it's contents are only
known to rte_sched.c and not outside. To everyone else it is an opaque data structure, 
so structural changes to it would not be an ABI breakage.

> 
>>  	/* Grinders */
>>  	struct rte_mbuf **pkts_out;
>> @@ -852,6 +853,7 @@ rte_sched_port_config(struct rte_sched_port_params *params)
>>  	cycles_per_byte = (rte_get_tsc_hz() << RTE_SCHED_TIME_SHIFT)
>>  		/ params->rate;
>>  	port->inv_cycles_per_byte = rte_reciprocal_value(cycles_per_byte);
>> +	port->cycles_per_byte = cycles_per_byte;
>>  
>>  	/* Grinders */
>>  	port->pkts_out = NULL;
>> @@ -2673,16 +2675,21 @@ static inline void
>>  rte_sched_port_time_resync(struct rte_sched_port *port)
>>  {
>>  	uint64_t cycles = rte_get_tsc_cycles();
>> -	uint64_t cycles_diff = cycles - port->time_cpu_cycles;
>> +	uint64_t cycles_diff;
>>  	uint64_t bytes_diff;
>>  	uint32_t i;
>>  
>> +	if (cycles < port->time_cpu_cycles)
>> +		port->time_cpu_cycles = 0;
>> +
>> +	cycles_diff = cycles - port->time_cpu_cycles;
>>  	/* Compute elapsed time in bytes */
>>  	bytes_diff = rte_reciprocal_divide(cycles_diff << RTE_SCHED_TIME_SHIFT,
>>  					   port->inv_cycles_per_byte);
>>  
>>  	/* Advance port time */
>> -	port->time_cpu_cycles = cycles;
>> +	port->time_cpu_cycles +=
>> +		(bytes_diff * port->cycles_per_byte) >> RTE_SCHED_TIME_SHIFT;
>>  	port->time_cpu_bytes += bytes_diff;
>>  	if (port->time < port->time_cpu_bytes)
>>  		port->time = port->time_cpu_bytes;
>>
> 

^ permalink raw reply	[relevance 3%]

* Re: [dpdk-dev] [PATCH v5 7/9] devtools: support python3 only
  2020-08-21  9:14  4%   ` [dpdk-dev] [PATCH v5 7/9] devtools: support python3 only Louise Kilheeney
@ 2020-08-21 12:42  0%     ` Neil Horman
  0 siblings, 0 replies; 200+ results
From: Neil Horman @ 2020-08-21 12:42 UTC (permalink / raw)
  To: Louise Kilheeney
  Cc: dev, robin.jarry, anatoly.burakov, bruce.richardson, Neil Horman,
	Ray Kinsella

On Fri, Aug 21, 2020 at 10:14:50AM +0100, Louise Kilheeney wrote:
> Changed script to explicitly use python3 only to avoid
> maintaining python 2 and removed deprecation notice.
> 
> Cc: Neil Horman <nhorman@tuxdriver.com>
> Cc: Ray Kinsella <mdr@ashroe.eu>
> 
> Signed-off-by: Louise Kilheeney <louise.kilheeney@intel.com>
> Acked-by: Ray Kinsella <mdr@ashroe.eu>
> ---
>  devtools/update_version_map_abi.py | 7 +------
>  1 file changed, 1 insertion(+), 6 deletions(-)
> 
> diff --git a/devtools/update_version_map_abi.py b/devtools/update_version_map_abi.py
> index 80a61641ed..830e6c58c8 100755
> --- a/devtools/update_version_map_abi.py
> +++ b/devtools/update_version_map_abi.py
> @@ -1,4 +1,4 @@
> -#!/usr/bin/env python
> +#!/usr/bin/env python3
>  # SPDX-License-Identifier: BSD-3-Clause
>  # Copyright(c) 2019 Intel Corporation
>  
> @@ -9,7 +9,6 @@
>  from the devtools/update-abi.sh utility.
>  """
>  
> -from __future__ import print_function
>  import argparse
>  import sys
>  import re
> @@ -160,10 +159,6 @@ def __generate_internal_abi(f_out, lines):
>      print("};", file=f_out)
>  
>  def __main():
> -    if sys.version_info.major < 3:
> -        print("WARNING: Python 2 is deprecated for use in DPDK, and will not work in future releases.", file=sys.stderr)
> -        print("Please use Python 3 instead", file=sys.stderr)
> -
>      arg_parser = argparse.ArgumentParser(
>          description='Merge versions in linker version script.')
>  
> -- 
> 2.17.1
> 
> 
Acked-by: Neil Horman <nhorman@tuxdriver.com>


^ permalink raw reply	[relevance 0%]

* [dpdk-dev] [PATCH v5 7/9] devtools: support python3 only
  @ 2020-08-21  9:14  4%   ` Louise Kilheeney
  2020-08-21 12:42  0%     ` Neil Horman
    1 sibling, 1 reply; 200+ results
From: Louise Kilheeney @ 2020-08-21  9:14 UTC (permalink / raw)
  To: dev
  Cc: robin.jarry, anatoly.burakov, bruce.richardson, Louise Kilheeney,
	Neil Horman, Ray Kinsella

Changed script to explicitly use python3 only to avoid
maintaining python 2 and removed deprecation notice.

Cc: Neil Horman <nhorman@tuxdriver.com>
Cc: Ray Kinsella <mdr@ashroe.eu>

Signed-off-by: Louise Kilheeney <louise.kilheeney@intel.com>
Acked-by: Ray Kinsella <mdr@ashroe.eu>
---
 devtools/update_version_map_abi.py | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/devtools/update_version_map_abi.py b/devtools/update_version_map_abi.py
index 80a61641ed..830e6c58c8 100755
--- a/devtools/update_version_map_abi.py
+++ b/devtools/update_version_map_abi.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2019 Intel Corporation
 
@@ -9,7 +9,6 @@
 from the devtools/update-abi.sh utility.
 """
 
-from __future__ import print_function
 import argparse
 import sys
 import re
@@ -160,10 +159,6 @@ def __generate_internal_abi(f_out, lines):
     print("};", file=f_out)
 
 def __main():
-    if sys.version_info.major < 3:
-        print("WARNING: Python 2 is deprecated for use in DPDK, and will not work in future releases.", file=sys.stderr)
-        print("Please use Python 3 instead", file=sys.stderr)
-
     arg_parser = argparse.ArgumentParser(
         description='Merge versions in linker version script.')
 
-- 
2.17.1


^ permalink raw reply	[relevance 4%]

* Re: [dpdk-dev] [PATCH v2] sched: fix port time rounding error
  @ 2020-08-20 14:32  4%   ` Kevin Traynor
  2020-08-21 15:28  3%     ` Kinsella, Ray
  0 siblings, 1 reply; 200+ results
From: Kevin Traynor @ 2020-08-20 14:32 UTC (permalink / raw)
  To: alangordondewar, cristian.dumitrescu
  Cc: dev, Alan Dewar, David Marchand, Ray Kinsella, Luca Boccassi,
	Jasvinder Singh

Hi,

On 25/06/2020 10:59, alangordondewar@gmail.com wrote:
> From: Alan Dewar <alan.dewar@att.com>
> 
> The QoS scheduler works off port time that is computed from the number
> of CPU cycles that have elapsed since the last time the port was
> polled.   It divides the number of elapsed cycles to calculate how
> many bytes can be sent, however this division can generate rounding
> errors, where some fraction of a byte sent may be lost.
> 
> Lose enough of these fractional bytes and the QoS scheduler
> underperforms.  The problem is worse with low bandwidths.
> 
> To compensate for this rounding error this fix doesn't advance the
> port's time_cpu_cycles by the number of cycles that have elapsed,
> but by multiplying the computed number of bytes that can be sent
> (which has been rounded down) by number of cycles per byte.
> This will mean that port's time_cpu_cycles will lag behind the CPU
> cycles momentarily.  At the next poll, the lag will be taken into
> account.
> 
> v2:
> If the cycles value wraps (100 year+) reset the port's cpu cycle back
> to zero.
> 
> Fixes: de3cfa2c98 ("sched: initial import")
> 
> Signed-off-by: Alan Dewar <alan.dewar@att.com>
> ---
>  lib/librte_sched/rte_sched.c | 11 +++++++++--
>  1 file changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/lib/librte_sched/rte_sched.c b/lib/librte_sched/rte_sched.c
> index c0983ddda..7c022cd61 100644
> --- a/lib/librte_sched/rte_sched.c
> +++ b/lib/librte_sched/rte_sched.c
> @@ -222,6 +222,7 @@ struct rte_sched_port {
>  	uint64_t time_cpu_bytes;      /* Current CPU time measured in bytes */
>  	uint64_t time;                /* Current NIC TX time measured in bytes */
>  	struct rte_reciprocal inv_cycles_per_byte; /* CPU cycles per byte */
> +	uint64_t cycles_per_byte;
>  

I was backporting this patch to 18.11. The older ABI checker complains
about this structure change.

"cycles_per_byte has been added at the middle position of this
structural type."

Isn't this an ABI break? Dropping from 18.11 for time being.

>  	/* Grinders */
>  	struct rte_mbuf **pkts_out;
> @@ -852,6 +853,7 @@ rte_sched_port_config(struct rte_sched_port_params *params)
>  	cycles_per_byte = (rte_get_tsc_hz() << RTE_SCHED_TIME_SHIFT)
>  		/ params->rate;
>  	port->inv_cycles_per_byte = rte_reciprocal_value(cycles_per_byte);
> +	port->cycles_per_byte = cycles_per_byte;
>  
>  	/* Grinders */
>  	port->pkts_out = NULL;
> @@ -2673,16 +2675,21 @@ static inline void
>  rte_sched_port_time_resync(struct rte_sched_port *port)
>  {
>  	uint64_t cycles = rte_get_tsc_cycles();
> -	uint64_t cycles_diff = cycles - port->time_cpu_cycles;
> +	uint64_t cycles_diff;
>  	uint64_t bytes_diff;
>  	uint32_t i;
>  
> +	if (cycles < port->time_cpu_cycles)
> +		port->time_cpu_cycles = 0;
> +
> +	cycles_diff = cycles - port->time_cpu_cycles;
>  	/* Compute elapsed time in bytes */
>  	bytes_diff = rte_reciprocal_divide(cycles_diff << RTE_SCHED_TIME_SHIFT,
>  					   port->inv_cycles_per_byte);
>  
>  	/* Advance port time */
> -	port->time_cpu_cycles = cycles;
> +	port->time_cpu_cycles +=
> +		(bytes_diff * port->cycles_per_byte) >> RTE_SCHED_TIME_SHIFT;
>  	port->time_cpu_bytes += bytes_diff;
>  	if (port->time < port->time_cpu_bytes)
>  		port->time = port->time_cpu_bytes;
> 


^ permalink raw reply	[relevance 4%]

* [dpdk-dev] [PATCH v2 22/37] doc: remove references to make in contributing guides
                       ` (2 preceding siblings ...)
  2020-08-20 12:41  4%   ` [dpdk-dev] [PATCH v2 14/37] devtools: remove use of make in scripts Ciara Power
@ 2020-08-20 12:41  5%   ` Ciara Power
  3 siblings, 0 replies; 200+ results
From: Ciara Power @ 2020-08-20 12:41 UTC (permalink / raw)
  To: dev; +Cc: Ciara Power, Louise Kilheeney, John McNamara, Marko Kovacevic

Make is no longer supported for compiling DPDK, references are now
removed in the documentation.

Signed-off-by: Ciara Power <ciara.power@intel.com>
Signed-off-by: Louise Kilheeney <louise.kilheeney@intel.com>
---
 doc/guides/contributing/coding_style.rst  |  46 +-------
 doc/guides/contributing/design.rst        | 127 ++--------------------
 doc/guides/contributing/documentation.rst |  31 +-----
 doc/guides/contributing/patches.rst       |  45 --------
 4 files changed, 18 insertions(+), 231 deletions(-)

diff --git a/doc/guides/contributing/coding_style.rst b/doc/guides/contributing/coding_style.rst
index b55075eaa2..dc352d03ca 100644
--- a/doc/guides/contributing/coding_style.rst
+++ b/doc/guides/contributing/coding_style.rst
@@ -773,52 +773,16 @@ The ``pep8`` tool can be used for testing compliance with the guidelines.
 Integrating with the Build System
 ---------------------------------
 
-DPDK supports being built in two different ways:
-
-* using ``make`` - or more specifically "GNU make", i.e. ``gmake`` on FreeBSD
-* using the tools ``meson`` and ``ninja``
+DPDK supports being built by using the tools ``meson`` and ``ninja``
 
 Any new library or driver to be integrated into DPDK should support being
-built with both systems. While building using ``make`` is a legacy approach, and
-most build-system enhancements are being done using ``meson`` and ``ninja``
-there are no plans at this time to deprecate the legacy ``make`` build system.
+built with this system.
 
-Therefore all new component additions should include both a ``Makefile`` and a
-``meson.build`` file, and should be added to the component lists in both the
-``Makefile`` and ``meson.build`` files in the relevant top-level directory:
+Therefore all new component additions should include a ``meson.build`` file,
+and should be added to the component lists in the ``meson.build`` files in the
+relevant top-level directory:
 either ``lib`` directory or a ``driver`` subdirectory.
 
-Makefile Contents
-~~~~~~~~~~~~~~~~~
-
-The ``Makefile`` for the component should be of the following format, where
-``<name>`` corresponds to the name of the library in question, e.g. hash,
-lpm, etc. For drivers, the same format of Makefile is used.
-
-.. code-block:: none
-
-	# pull in basic DPDK definitions, including whether library is to be
-	# built or not
-	include $(RTE_SDK)/mk/rte.vars.mk
-
-	# library name
-	LIB = librte_<name>.a
-
-	# any library cflags needed. Generally add "-O3 $(WERROR_FLAGS)"
-	CFLAGS += -O3
-	CFLAGS += $(WERROR_FLAGS)
-
-	# the symbol version information for the library
-	EXPORT_MAP := rte_<name>_version.map
-
-	# all source filenames are stored in SRCS-y
-	SRCS-$(CONFIG_RTE_LIBRTE_<NAME>) += rte_<name>.c
-
-	# install includes
-	SYMLINK-$(CONFIG_RTE_LIBRTE_<NAME>)-include += rte_<name>.h
-
-	# pull in rules to build the library
-	include $(RTE_SDK)/mk/rte.lib.mk
 
 Meson Build File Contents - Libraries
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/doc/guides/contributing/design.rst b/doc/guides/contributing/design.rst
index 5fe7f63942..6ce0de97ac 100644
--- a/doc/guides/contributing/design.rst
+++ b/doc/guides/contributing/design.rst
@@ -21,7 +21,7 @@ A file located in a subdir of "linux" is specific to this execution environment.
 
 When absolutely necessary, there are several ways to handle specific code:
 
-* Use a ``#ifdef`` with the CONFIG option in the C code.
+* Use a ``#ifdef`` with a build definition macro in the C code.
   This can be done when the differences are small and they can be embedded in the same C file:
 
   .. code-block:: c
@@ -32,30 +32,22 @@ When absolutely necessary, there are several ways to handle specific code:
      titi();
      #endif
 
-* Use the CONFIG option in the Makefile. This is done when the differences are more significant.
-  In this case, the code is split into two separate files that are architecture or environment specific.
-  This should only apply inside the EAL library.
-
-.. note::
-
-   As in the linux kernel, the ``CONFIG_`` prefix is not used in C code.
-   This is only needed in Makefiles or shell scripts.
 
 Per Architecture Sources
 ~~~~~~~~~~~~~~~~~~~~~~~~
 
-The following config options can be used:
+The following macro options can be used:
 
-* ``CONFIG_RTE_ARCH`` is a string that contains the name of the architecture.
-* ``CONFIG_RTE_ARCH_I686``, ``CONFIG_RTE_ARCH_X86_64``, ``CONFIG_RTE_ARCH_X86_64_32`` or ``CONFIG_RTE_ARCH_PPC_64`` are defined only if we are building for those architectures.
+* ``RTE_ARCH`` is a string that contains the name of the architecture.
+* ``RTE_ARCH_I686``, ``RTE_ARCH_X86_64``, ``RTE_ARCH_X86_64_32`` or ``RTE_ARCH_PPC_64`` are defined only if we are building for those architectures.
 
 Per Execution Environment Sources
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-The following config options can be used:
+The following macro options can be used:
 
-* ``CONFIG_RTE_EXEC_ENV`` is a string that contains the name of the executive environment.
-* ``CONFIG_RTE_EXEC_ENV_FREEBSD`` or ``CONFIG_RTE_EXEC_ENV_LINUX`` are defined only if we are building for this execution environment.
+* ``RTE_EXEC_ENV`` is a string that contains the name of the executive environment.
+* ``RTE_EXEC_ENV_FREEBSD`` or ``RTE_EXEC_ENV_LINUX`` are defined only if we are building for this execution environment.
 
 Mbuf features
 -------------
@@ -73,111 +65,6 @@ Adding a new static field or flag must be an exception matching many criteria
 like (non exhaustive): wide usage, performance, size.
 
 
-Library Statistics
-------------------
-
-Description
-~~~~~~~~~~~
-
-This document describes the guidelines for DPDK library-level statistics counter
-support. This includes guidelines for turning library statistics on and off and
-requirements for preventing ABI changes when implementing statistics.
-
-
-Mechanism to allow the application to turn library statistics on and off
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Each library that maintains statistics counters should provide a single build
-time flag that decides whether the statistics counter collection is enabled or
-not. This flag should be exposed as a variable within the DPDK configuration
-file. When this flag is set, all the counters supported by current library are
-collected for all the instances of every object type provided by the library.
-When this flag is cleared, none of the counters supported by the current library
-are collected for any instance of any object type provided by the library:
-
-.. code-block:: console
-
-   # DPDK file config/common_linux, config/common_freebsd, etc.
-   CONFIG_RTE_<LIBRARY_NAME>_STATS_COLLECT=y/n
-
-The default value for this DPDK configuration file variable (either "yes" or
-"no") is decided by each library.
-
-
-Prevention of ABI changes due to library statistics support
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The layout of data structures and prototype of functions that are part of the
-library API should not be affected by whether the collection of statistics
-counters is turned on or off for the current library. In practical terms, this
-means that space should always be allocated in the API data structures for
-statistics counters and the statistics related API functions are always built
-into the code, regardless of whether the statistics counter collection is turned
-on or off for the current library.
-
-When the collection of statistics counters for the current library is turned
-off, the counters retrieved through the statistics related API functions should
-have a default value of zero.
-
-
-Motivation to allow the application to turn library statistics on and off
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-It is highly recommended that each library provides statistics counters to allow
-an application to monitor the library-level run-time events. Typical counters
-are: number of packets received/dropped/transmitted, number of buffers
-allocated/freed, number of occurrences for specific events, etc.
-
-However, the resources consumed for library-level statistics counter collection
-have to be spent out of the application budget and the counters collected by
-some libraries might not be relevant to the current application. In order to
-avoid any unwanted waste of resources and/or performance impacts, the
-application should decide at build time whether the collection of library-level
-statistics counters should be turned on or off for each library individually.
-
-Library-level statistics counters can be relevant or not for specific
-applications:
-
-* For Application A, counters maintained by Library X are always relevant and
-  the application needs to use them to implement certain features, such as traffic
-  accounting, logging, application-level statistics, etc. In this case,
-  the application requires that collection of statistics counters for Library X is
-  always turned on.
-
-* For Application B, counters maintained by Library X are only useful during the
-  application debug stage and are not relevant once debug phase is over. In this
-  case, the application may decide to turn on the collection of Library X
-  statistics counters during the debug phase and at a later stage turn them off.
-
-* For Application C, counters maintained by Library X are not relevant at all.
-  It might be that the application maintains its own set of statistics counters
-  that monitor a different set of run-time events (e.g. number of connection
-  requests, number of active users, etc). It might also be that the application
-  uses multiple libraries (Library X, Library Y, etc) and it is interested in the
-  statistics counters of Library Y, but not in those of Library X. In this case,
-  the application may decide to turn the collection of statistics counters off for
-  Library X and on for Library Y.
-
-The statistics collection consumes a certain amount of CPU resources (cycles,
-cache bandwidth, memory bandwidth, etc) that depends on:
-
-* Number of libraries used by the current application that have statistics
-  counters collection turned on.
-
-* Number of statistics counters maintained by each library per object type
-  instance (e.g. per port, table, pipeline, thread, etc).
-
-* Number of instances created for each object type supported by each library.
-
-* Complexity of the statistics logic collection for each counter: when only
-  some occurrences of a specific event are valid, additional logic is typically
-  needed to decide whether the current occurrence of the event should be counted
-  or not. For example, in the event of packet reception, when only TCP packets
-  with destination port within a certain range should be recorded, conditional
-  branches are usually required. When processing a burst of packets that have been
-  validated for header integrity, counting the number of bits set in a bitmask
-  might be needed.
-
 PF and VF Considerations
 ------------------------
 
diff --git a/doc/guides/contributing/documentation.rst b/doc/guides/contributing/documentation.rst
index 375ea64ba8..768453126f 100644
--- a/doc/guides/contributing/documentation.rst
+++ b/doc/guides/contributing/documentation.rst
@@ -222,25 +222,14 @@ Build commands
 ~~~~~~~~~~~~~~
 
 The documentation is built using the standard DPDK build system.
-Some examples are shown below:
 
-* Generate all the documentation targets::
+To enable doc building::
 
-     make doc
+   meson configure -Denable_docs=true
 
-* Generate the Doxygen API documentation in Html::
+See :doc:`../linux_gsg/build_dpdk` for more detail on compiling DPDK with meson.
 
-     make doc-api-html
-
-* Generate the guides documentation in Html::
-
-     make doc-guides-html
-
-* Generate the guides documentation in Pdf::
-
-     make doc-guides-pdf
-
-The output of these commands is generated in the ``build`` directory::
+The output is generated in the ``build`` directory::
 
    build/doc
          |-- html
@@ -255,10 +244,6 @@ The output of these commands is generated in the ``build`` directory::
 
    Make sure to fix any Sphinx or Doxygen warnings when adding or updating documentation.
 
-The documentation output files can be removed as follows::
-
-   make doc-clean
-
 
 Document Guidelines
 -------------------
@@ -308,7 +293,7 @@ Line Length
   Long literal command lines can be shown wrapped with backslashes. For
   example::
 
-     testpmd -l 2-3 -n 4 \
+     dpdk-testpmd -l 2-3 -n 4 \
              --vdev=virtio_user0,path=/dev/vhost-net,queues=2,queue_size=1024 \
              -- -i --tx-offloads=0x0000002c --enable-lro --txq=2 --rxq=2 \
              --txd=1024 --rxd=1024
@@ -460,7 +445,7 @@ Code and Literal block sections
   For long literal lines that exceed that limit try to wrap the text at sensible locations.
   For example a long command line could be documented like this and still work if copied directly from the docs::
 
-     build/app/testpmd -l 0-2 -n3 --vdev=net_pcap0,iface=eth0     \
+     ./<build_dir>/app/dpdk-testpmd -l 0-2 -n3 --vdev=net_pcap0,iface=eth0    \
                                --vdev=net_pcap1,iface=eth1     \
                                -- -i --nb-cores=2 --nb-ports=2 \
                                   --total-num-mbufs=2048
@@ -743,9 +728,5 @@ The following are some guidelines for use of Doxygen in the DPDK API documentati
      /** Array of physical page addresses for the mempool buffer. */
      phys_addr_t elt_pa[MEMPOOL_PG_NUM_DEFAULT];
 
-* Check for Doxygen warnings in new code by checking the API documentation build::
-
-     make doc-api-html >/dev/null
-
 * Read the rendered section of the documentation that you have added for correctness, clarity and consistency
   with the surrounding text.
diff --git a/doc/guides/contributing/patches.rst b/doc/guides/contributing/patches.rst
index 425bb874f8..bafa95be59 100644
--- a/doc/guides/contributing/patches.rst
+++ b/doc/guides/contributing/patches.rst
@@ -464,51 +464,6 @@ and the -r option allows the user specify a ``git log`` range.
 Checking Compilation
 --------------------
 
-Makefile System
-~~~~~~~~~~~~~~~
-
-Compilation of patches and changes should be tested using the ``test-build.sh`` script in the ``devtools``
-directory of the DPDK repo::
-
-  devtools/test-build.sh x86_64-native-linux-gcc+next+shared
-
-The script usage is::
-
-   test-build.sh [-h] [-jX] [-s] [config1 [config2] ...]]
-
-Where:
-
-* ``-h``: help, usage.
-* ``-jX``: use X parallel jobs in "make".
-* ``-s``: short test with only first config and without examples/doc.
-* ``config``: default config name plus config switches delimited with a ``+`` sign.
-
-Examples of configs are::
-
-   x86_64-native-linux-gcc
-   x86_64-native-linux-gcc+next+shared
-   x86_64-native-linux-clang+shared
-
-The builds can be modified via the following environmental variables:
-
-* ``DPDK_BUILD_TEST_CONFIGS`` (target1+option1+option2 target2)
-* ``DPDK_BUILD_TEST_DIR``
-* ``DPDK_DEP_CFLAGS``
-* ``DPDK_DEP_LDFLAGS``
-* ``DPDK_DEP_PCAP`` (y/[n])
-* ``DPDK_NOTIFY`` (notify-send)
-
-These can be set from the command line or in the config files shown above in the :ref:`contrib_checkpatch`.
-
-The recommended configurations and options to test compilation prior to submitting patches are::
-
-   x86_64-native-linux-gcc+shared+next
-   x86_64-native-linux-clang+shared
-   i686-native-linux-gcc
-
-   export DPDK_DEP_ZLIB=y
-   export DPDK_DEP_PCAP=y
-   export DPDK_DEP_SSL=y
 
 Meson System
 ~~~~~~~~~~~~
-- 
2.17.1


^ permalink raw reply	[relevance 5%]

* [dpdk-dev] [PATCH v2 14/37] devtools: remove use of make in scripts
    2020-08-20 12:41  1%   ` [dpdk-dev] [PATCH v2 10/37] build: remove makefiles and mk directory Ciara Power
  2020-08-20 12:41  1%   ` [dpdk-dev] [PATCH v2 11/37] config: remove all config files used by make Ciara Power
@ 2020-08-20 12:41  4%   ` Ciara Power
  2020-08-20 12:41  5%   ` [dpdk-dev] [PATCH v2 22/37] doc: remove references to make in contributing guides Ciara Power
  3 siblings, 0 replies; 200+ results
From: Ciara Power @ 2020-08-20 12:41 UTC (permalink / raw)
  To: dev; +Cc: Ciara Power, Thomas Monjalon

Make is no longer supported, the test script for make builds is no
longer required. Uses of make in other tool scripts are replaced.

Signed-off-by: Ciara Power <ciara.power@intel.com>
---
 MAINTAINERS                |   1 -
 devtools/build-tags.sh     |  14 +-
 devtools/check-includes.sh |   3 +-
 devtools/git-log-fixes.sh  |   2 +-
 devtools/test-build.sh     | 315 -------------------------------------
 5 files changed, 4 insertions(+), 331 deletions(-)
 delete mode 100755 devtools/test-build.sh

diff --git a/MAINTAINERS b/MAINTAINERS
index 392150fc3b..0fec96558e 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -90,7 +90,6 @@ F: devtools/checkpatches.sh
 F: devtools/get-maintainer.sh
 F: devtools/git-log-fixes.sh
 F: devtools/load-devel-config
-F: devtools/test-build.sh
 F: devtools/test-meson-builds.sh
 F: devtools/words-case.txt
 F: license/
diff --git a/devtools/build-tags.sh b/devtools/build-tags.sh
index 276fff647b..614ce4c3a4 100755
--- a/devtools/build-tags.sh
+++ b/devtools/build-tags.sh
@@ -19,8 +19,8 @@ arm_64=true
 print_usage()
 {
 	echo "Usage: $(basename $0) [-h] [-v] tags|cscope|gtags|etags [config]"
-	echo "Valid configs are:"
-	make showconfigs | sed 's,^,\t,'
+	echo "Examples of valid configs are: "
+	echo "x86_64-native-linux-gcc, arm64-armv8a-linux-gcc, ppc_64-power8-linux-gcc"
 }
 
 # Move to the root of the git tree
@@ -125,17 +125,7 @@ ppc_64_sources()
 	find_sources "$source_dirs" '*altivec*.[chS]'
 }
 
-check_valid_target()
-{
-	if [ ! -f "config/defconfig_$1" ] ; then
-		echo "Invalid config: $1"
-		print_usage
-		exit 0
-	fi
-}
-
 if [ -n "$2" ]; then
-	check_valid_target $2
 
 	echo $2 | grep -q "linux" || linux=false
 	echo $2 | grep -q "bsd" || bsd=false
diff --git a/devtools/check-includes.sh b/devtools/check-includes.sh
index 749b9b26d2..15594f08a3 100755
--- a/devtools/check-includes.sh
+++ b/devtools/check-includes.sh
@@ -17,8 +17,7 @@
 #
 # SUMMARY=1 is the same as -s.
 #
-# CC, CPPFLAGS, CFLAGS, EXTRA_CPPFLAGS, EXTRA_CFLAGS, CXX, CXXFLAGS and
-# EXTRA_CXXFLAGS are taken into account.
+# CC, CPPFLAGS, CFLAGS, CXX, CXXFLAGS are taken into account.
 #
 # PEDANTIC_CFLAGS, PEDANTIC_CXXFLAGS and PEDANTIC_CPPFLAGS provide strict
 # C/C++ compilation flags.
diff --git a/devtools/git-log-fixes.sh b/devtools/git-log-fixes.sh
index 6d468d6731..210c8dcf25 100755
--- a/devtools/git-log-fixes.sh
+++ b/devtools/git-log-fixes.sh
@@ -50,7 +50,7 @@ commit_version () # <hash>
 		head -n1)
 	if [ -z "$tag" ] ; then
 		# before -rc1 tag of release in progress
-		make showversion | cut -d'.' -f-2
+		cat VERSION | cut -d'.' -f-2
 	else
 		echo $tag | sed 's,^v,,' | sed 's,-rc.*,,'
 	fi
diff --git a/devtools/test-build.sh b/devtools/test-build.sh
deleted file mode 100755
index f013656024..0000000000
--- a/devtools/test-build.sh
+++ /dev/null
@@ -1,315 +0,0 @@
-#! /bin/sh -e
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2015 6WIND S.A.
-
-default_path=$PATH
-
-# Load config options:
-# - ARMV8_CRYPTO_LIB_PATH
-# - DPDK_ABI_REF_DIR
-# - DPDK_ABI_REF_VERSION
-# - DPDK_BUILD_TEST_CONFIGS (defconfig1+option1+option2 defconfig2)
-# - DPDK_BUILD_TEST_DIR
-# - DPDK_DEP_ARCHIVE
-# - DPDK_DEP_BPF (y/[n])
-# - DPDK_DEP_CFLAGS
-# - DPDK_DEP_ELF (y/[n])
-# - DPDK_DEP_FDT (y/[n])
-# - DPDK_DEP_ISAL (y/[n])
-# - DPDK_DEP_JSON (y/[n])
-# - DPDK_DEP_LDFLAGS
-# - DPDK_DEP_MLX (y/[n])
-# - DPDK_DEP_NFB (y/[n])
-# - DPDK_DEP_NUMA ([y]/n)
-# - DPDK_DEP_PCAP (y/[n])
-# - DPDK_DEP_SSL (y/[n])
-# - DPDK_DEP_IPSEC_MB (y/[n])
-# - DPDK_DEP_SZE (y/[n])
-# - DPDK_DEP_ZLIB (y/[n])
-# - DPDK_MAKE_JOBS (int)
-# - DPDK_NOTIFY (notify-send)
-# - FLEXRAN_SDK
-# - LIBMUSDK_PATH
-devtools_dir=$(dirname $(readlink -f $0))
-. $devtools_dir/load-devel-config
-
-print_usage () {
-	echo "usage: $(basename $0) [-h] [-jX] [-s] [config1 [config2] ...]]"
-}
-
-print_help () {
-	echo 'Test building several targets with different options'
-	echo
-	print_usage
-	cat <<- END_OF_HELP
-
-	options:
-	        -h    this help
-	        -jX   use X parallel jobs in "make"
-	        -s    short test only first config without tests|examples|doc
-	        -v    verbose build
-
-	config: defconfig[[~][+]option1[[~][+]option2...]]
-	        Example: x86_64-native-linux-gcc+debug~RXTX_CALLBACKS
-	        The lowercase options are defined inside $(basename $0).
-	        The uppercase options can be the end of a defconfig option
-	        to enable if prefixed with '+' or to disable if prefixed with '~'.
-	        Default is to automatically enable most of the options.
-	        The external dependencies are setup with DPDK_DEP_* variables.
-	        If no config on command line, DPDK_BUILD_TEST_CONFIGS is used.
-	END_OF_HELP
-}
-
-[ -z $MAKE ] && command -v gmake > /dev/null && MAKE=gmake
-[ -z $MAKE ] && command -v make > /dev/null && MAKE=make
-[ -z $MAKE ] && echo "Cannot find make or gmake" && exit 1
-
-J=$DPDK_MAKE_JOBS
-builds_dir=${DPDK_BUILD_TEST_DIR:-.}
-short=false
-unset verbose
-while getopts hj:sv ARG ; do
-	case $ARG in
-		j ) J=$OPTARG ;;
-		s ) short=true ;;
-		v ) verbose='V=1' ;;
-		h ) print_help ; exit 0 ;;
-		? ) print_usage ; exit 1 ;;
-	esac
-done
-shift $(($OPTIND - 1))
-configs=${*:-$DPDK_BUILD_TEST_CONFIGS}
-
-success=false
-on_exit ()
-{
-	if $success ; then
-		[ "$DPDK_NOTIFY" != notify-send ] || \
-			notify-send -u low --icon=dialog-information 'DPDK build' 'finished'
-	elif [ -z "$signal" ] ; then
-		[ -z "$dir" ] || echo "failed to build $dir" >&2
-		[ "$DPDK_NOTIFY" != notify-send ] || \
-			notify-send -u low --icon=dialog-error 'DPDK build' 'failed'
-	fi
-}
-# catch manual interrupt to ignore notification
-trap "signal=INT ; trap - INT ; kill -INT $$" INT
-# notify result on exit
-trap on_exit EXIT
-
-cd $devtools_dir/..
-
-reset_env ()
-{
-	export PATH=$default_path
-	unset CROSS
-	unset DPDK_DEP_ARCHIVE
-	unset DPDK_DEP_BPF
-	unset DPDK_DEP_CFLAGS
-	unset DPDK_DEP_ELF
-	unset DPDK_DEP_FDT
-	unset DPDK_DEP_ISAL
-	unset DPDK_DEP_JSON
-	unset DPDK_DEP_LDFLAGS
-	unset DPDK_DEP_MLX
-	unset DPDK_DEP_NFB
-	unset DPDK_DEP_NUMA
-	unset DPDK_DEP_PCAP
-	unset DPDK_DEP_SSL
-	unset DPDK_DEP_IPSEC_MB
-	unset DPDK_DEP_SZE
-	unset DPDK_DEP_ZLIB
-	unset ARMV8_CRYPTO_LIB_PATH
-	unset FLEXRAN_SDK
-	unset LIBMUSDK_PATH
-	unset PQOS_INSTALL_PATH
-}
-
-config () # <directory> <target> <options>
-{
-	reconfig=false
-	if git rev-parse 2>&- && [ -n "$(git diff HEAD~ -- config)" ] ; then
-		echo 'Default config may have changed'
-		reconfig=true
-	fi
-	if [ ! -e $1/.config ] || $reconfig ; then
-		echo "================== Configure $1"
-		${MAKE} T=$2 O=$1 config
-
-		echo 'Customize configuration'
-		# Built-in options (lowercase)
-		! echo $3 | grep -q '+default' || \
-		sed -ri="" 's,(RTE_MACHINE=")native,\1default,' $1/.config
-		! echo $3 | grep -q '+kmods' || \
-		sed -ri="" 's,(IGB_UIO=|KNI_KMOD=)n,\1y,' $1/.config
-		echo $3 | grep -q '+next' || \
-		sed -ri=""           's,(NEXT_ABI=)y,\1n,' $1/.config
-		! echo $3 | grep -q '+shared' || \
-		sed -ri=""         's,(SHARED_LIB=)n,\1y,' $1/.config
-		! echo $3 | grep -q '+debug' || ( \
-		sed -ri=""  's,(RTE_LOG_DP_LEVEL=).*,\1RTE_LOG_DEBUG,' $1/.config
-		sed -ri=""           's,(_DEBUG.*=)n,\1y,' $1/.config
-		sed -ri=""  's,(_STAT)([S_].*=|=)n,\1\2y,' $1/.config
-		sed -ri="" 's,(TEST_PMD_RECORD_.*=)n,\1y,' $1/.config )
-
-		# Automatic configuration
-		! echo $2 | grep -q 'arm64' || \
-		sed -ri=""        's,(ARM_USE_WFE=)n,\1y,' $1/.config
-		test "$DPDK_DEP_NUMA" != n || \
-		sed -ri=""             's,(NUMA.*=)y,\1n,' $1/.config
-		sed -ri=""    's,(LIBRTE_IEEE1588=)n,\1y,' $1/.config
-		sed -ri=""             's,(BYPASS=)n,\1y,' $1/.config
-		test "$DPDK_DEP_ARCHIVE" != y || \
-		sed -ri=""       's,(RESOURCE_TAR=)n,\1y,' $1/.config
-		test "$DPDK_DEP_BPF" != y || \
-		sed -ri=""         's,(PMD_AF_XDP=)n,\1y,' $1/.config
-		test "$DPDK_DEP_FDT" != y || \
-		sed -ri=""   's,(PMD_IFPGA_RAWDEV=)n,\1y,' $1/.config
-		test "$DPDK_DEP_FDT" != y || \
-		sed -ri=""         's,(IPN3KE_PMD=)n,\1y,' $1/.config
-		test "$DPDK_DEP_ISAL" != y || \
-		sed -ri=""           's,(PMD_ISAL=)n,\1y,' $1/.config
-		test "$DPDK_DEP_MLX" != y || \
-		sed -ri=""          's,(MLX.*_PMD=)n,\1y,' $1/.config
-		test "$DPDK_DEP_NFB" != y || \
-		sed -ri=""            's,(NFB_PMD=)n,\1y,' $1/.config
-		test "$DPDK_DEP_SZE" != y || \
-		sed -ri=""       's,(PMD_SZEDATA2=)n,\1y,' $1/.config
-		test "$DPDK_DEP_ZLIB" != y || \
-		sed -ri=""          's,(BNX2X_PMD=)n,\1y,' $1/.config
-		test "$DPDK_DEP_ZLIB" != y || \
-		sed -ri=""           's,(PMD_ZLIB=)n,\1y,' $1/.config
-		test "$DPDK_DEP_ZLIB" != y || \
-		sed -ri=""   's,(COMPRESSDEV_TEST=)n,\1y,' $1/.config
-		test "$DPDK_DEP_PCAP" != y || \
-		sed -ri=""               's,(PCAP=)n,\1y,' $1/.config
-		test -z "$ARMV8_CRYPTO_LIB_PATH" || \
-		sed -ri=""   's,(PMD_ARMV8_CRYPTO=)n,\1y,' $1/.config
-		test "$DPDK_DEP_IPSEC_MB" != y || \
-		sed -ri=""       's,(PMD_AESNI_MB=)n,\1y,' $1/.config
-		test "$DPDK_DEP_IPSEC_MB" != y || \
-		sed -ri=""      's,(PMD_AESNI_GCM=)n,\1y,' $1/.config
-		test "$DPDK_DEP_IPSEC_MB" != y || \
-		sed -ri=""            's,(PMD_ZUC=)n,\1y,' $1/.config
-		test "$DPDK_DEP_IPSEC_MB" != y || \
-		sed -ri=""         's,(PMD_KASUMI=)n,\1y,' $1/.config
-		test "$DPDK_DEP_IPSEC_MB" != y || \
-		sed -ri=""         's,(PMD_SNOW3G=)n,\1y,' $1/.config
-		test "$DPDK_DEP_SSL" != y || \
-		sed -ri=""            's,(PMD_CCP=)n,\1y,' $1/.config
-		test "$DPDK_DEP_SSL" != y || \
-		sed -ri=""        's,(PMD_OPENSSL=)n,\1y,' $1/.config
-		test "$DPDK_DEP_SSL" != y || \
-		sed -ri=""            's,(QAT_SYM=)n,\1y,' $1/.config
-		test -z "$FLEXRAN_SDK" || \
-		sed -ri=""     's,(BBDEV_TURBO_SW=)n,\1y,' $1/.config
-		sed -ri=""           's,(SCHED_.*=)n,\1y,' $1/.config
-		test -z "$LIBMUSDK_PATH" || \
-		sed -ri=""   's,(PMD_MVSAM_CRYPTO=)n,\1y,' $1/.config
-		test -z "$LIBMUSDK_PATH" || \
-		sed -ri=""          's,(MVPP2_PMD=)n,\1y,' $1/.config
-		test -z "$LIBMUSDK_PATH" || \
-		sed -ri=""         's,(MVNETA_PMD=)n,\1y,' $1/.config
-		test "$DPDK_DEP_ELF" != y || \
-		sed -ri=""            's,(BPF_ELF=)n,\1y,' $1/.config
-		test "$DPDK_DEP_JSON" != y || \
-		sed -ri=""          's,(TELEMETRY=)n,\1y,' $1/.config
-		build_config_hook $1 $2 $3
-
-		# Explicit enabler/disabler (uppercase)
-		for option in $(echo $3 | sed 's,[~+], &,g') ; do
-			pattern=$(echo $option | cut -c2-)
-			if echo $option | grep -q '^~' ; then
-				sed -ri="" "s,($pattern=)y,\1n," $1/.config
-			elif echo $option | grep -q '^+' ; then
-				sed -ri="" "s,($pattern=)n,\1y," $1/.config
-			fi
-		done
-	fi
-}
-
-# default empty hook to override in devel config
-build_config_hook () # <directory> <target> <options>
-{
-	:
-}
-
-for conf in $configs ; do
-	target=$(echo $conf | sed 's,[~+].*,,')
-	# reload config with DPDK_TARGET set
-	DPDK_TARGET=$target
-	reset_env
-	. $devtools_dir/load-devel-config
-
-	options=$(echo $conf | sed 's,[^~+]*,,')
-	dir=$builds_dir/$conf
-	config $dir $target $options
-
-	echo "================== Build $conf"
-	${MAKE} -j$J EXTRA_CFLAGS="-Wfatal-errors -g $DPDK_DEP_CFLAGS" \
-		EXTRA_LDFLAGS="$DPDK_DEP_LDFLAGS" $verbose O=$dir
-	! $short || break
-	export RTE_TARGET=$target
-	rm -rf $dir/install
-	${MAKE} install O=$dir DESTDIR=$dir/install prefix=
-	echo "================== Build examples for $conf"
-	export RTE_SDK=$(readlink -f $dir)/install/share/dpdk
-	ln -sTf $(pwd)/lib $RTE_SDK/lib # workaround for vm_power_manager
-	grep -q 'SHARED_LIB=n' $dir/.config || # skip examples with static libs
-	${MAKE} -j$J -sC examples \
-		EXTRA_LDFLAGS="$DPDK_DEP_LDFLAGS" $verbose \
-		O=$(readlink -f $dir)/examples
-	unset RTE_TARGET
-	grep -q 'SHARED_LIB=n' $dir/.config || # skip ABI check with static libs
-	if [ -n "$DPDK_ABI_REF_VERSION" ]; then
-		abirefdir=${DPDK_ABI_REF_DIR:-reference}/$DPDK_ABI_REF_VERSION
-		if [ ! -d $abirefdir/$conf ]; then
-			# clone current sources
-			if [ ! -d $abirefdir/src ]; then
-				git clone --local --no-hardlinks \
-					--single-branch \
-					-b $DPDK_ABI_REF_VERSION \
-					$(pwd) $abirefdir/src
-			fi
-
-			cd $abirefdir/src
-
-			rm -rf $abirefdir/build
-			config $abirefdir/build $target $options
-
-			echo -n "================== Build $conf "
-			echo "($DPDK_ABI_REF_VERSION)"
-			${MAKE} -j$J \
-				EXTRA_CFLAGS="-Wno-error -g $DPDK_DEP_CFLAGS" \
-				EXTRA_LDFLAGS="$DPDK_DEP_LDFLAGS" $verbose \
-				O=$abirefdir/build
-			export RTE_TARGET=$target
-			${MAKE} install O=$abirefdir/build \
-				DESTDIR=$abirefdir/$conf \
-				prefix=
-			unset RTE_TARGET
-			$devtools_dir/gen-abi.sh $abirefdir/$conf
-
-			# back to current workdir
-			cd $devtools_dir/..
-		fi
-
-		echo "================== Check ABI $conf"
-		$devtools_dir/gen-abi.sh $dir/install
-		$devtools_dir/check-abi.sh $abirefdir/$conf $dir/install
-	fi
-	echo "################## $conf done."
-	unset dir
-done
-
-if ! $short ; then
-	mkdir -p .check
-	echo "================== Build doxygen HTML API"
-	${MAKE} doc-api-html >/dev/null 2>.check/doc.txt
-	echo "================== Build sphinx HTML guides"
-	${MAKE} doc-guides-html >/dev/null 2>>.check/doc.txt
-	echo "================== Check docs"
-	diff -u /dev/null .check/doc.txt
-fi
-
-success=true
-- 
2.17.1


^ permalink raw reply	[relevance 4%]

* [dpdk-dev] [PATCH v2 11/37] config: remove all config files used by make
    2020-08-20 12:41  1%   ` [dpdk-dev] [PATCH v2 10/37] build: remove makefiles and mk directory Ciara Power
@ 2020-08-20 12:41  1%   ` Ciara Power
  2020-08-20 12:41  4%   ` [dpdk-dev] [PATCH v2 14/37] devtools: remove use of make in scripts Ciara Power
  2020-08-20 12:41  5%   ` [dpdk-dev] [PATCH v2 22/37] doc: remove references to make in contributing guides Ciara Power
  3 siblings, 0 replies; 200+ results
From: Ciara Power @ 2020-08-20 12:41 UTC (permalink / raw)
  To: dev; +Cc: Ciara Power, Thomas Monjalon, Anatoly Burakov

Make is not supported for compiling DPDK, the config files are no
longer needed.

Signed-off-by: Ciara Power <ciara.power@intel.com>
---
 config/common_armv8a_linux                    |   43 -
 config/common_base                            | 1154 -----------------
 config/common_freebsd                         |   15 -
 config/common_linux                           |   68 -
 config/defconfig_arm-armv7a-linux-gcc         |    1 -
 config/defconfig_arm-armv7a-linuxapp-gcc      |   49 -
 config/defconfig_arm64-armada-linux-gcc       |    1 -
 config/defconfig_arm64-armada-linuxapp-gcc    |   41 -
 config/defconfig_arm64-armv8a-linux-clang     |    1 -
 config/defconfig_arm64-armv8a-linux-gcc       |    1 -
 config/defconfig_arm64-armv8a-linuxapp-clang  |    8 -
 config/defconfig_arm64-armv8a-linuxapp-gcc    |    9 -
 config/defconfig_arm64-bluefield-linux-gcc    |    1 -
 config/defconfig_arm64-bluefield-linuxapp-gcc |   18 -
 config/defconfig_arm64-dpaa-linux-gcc         |    1 -
 config/defconfig_arm64-dpaa-linuxapp-gcc      |   31 -
 config/defconfig_arm64-emag-linux-gcc         |    1 -
 config/defconfig_arm64-emag-linuxapp-gcc      |   11 -
 config/defconfig_arm64-n1sdp-linux-gcc        |    1 -
 config/defconfig_arm64-n1sdp-linuxapp-gcc     |   14 -
 config/defconfig_arm64-octeontx2-linux-gcc    |    1 -
 config/defconfig_arm64-octeontx2-linuxapp-gcc |   18 -
 config/defconfig_arm64-stingray-linux-gcc     |    1 -
 config/defconfig_arm64-stingray-linuxapp-gcc  |   14 -
 config/defconfig_arm64-thunderx-linux-gcc     |    1 -
 config/defconfig_arm64-thunderx-linuxapp-gcc  |   17 -
 config/defconfig_arm64-thunderx2-linux-gcc    |    1 -
 config/defconfig_arm64-thunderx2-linuxapp-gcc |   12 -
 config/defconfig_arm64-xgene1-linux-gcc       |    1 -
 config/defconfig_arm64-xgene1-linuxapp-gcc    |    8 -
 config/defconfig_i686-native-linux-gcc        |    1 -
 config/defconfig_i686-native-linux-icc        |    1 -
 config/defconfig_i686-native-linuxapp-gcc     |   66 -
 config/defconfig_i686-native-linuxapp-icc     |   66 -
 config/defconfig_ppc_64-power8-linux-gcc      |    1 -
 config/defconfig_ppc_64-power8-linuxapp-gcc   |   35 -
 config/defconfig_x86_64-native-bsdapp-clang   |   14 -
 config/defconfig_x86_64-native-bsdapp-gcc     |   14 -
 config/defconfig_x86_64-native-freebsd-clang  |    1 -
 config/defconfig_x86_64-native-freebsd-gcc    |    1 -
 config/defconfig_x86_64-native-linux-clang    |    1 -
 config/defconfig_x86_64-native-linux-gcc      |    1 -
 config/defconfig_x86_64-native-linux-icc      |    1 -
 config/defconfig_x86_64-native-linuxapp-clang |   14 -
 config/defconfig_x86_64-native-linuxapp-gcc   |   14 -
 config/defconfig_x86_64-native-linuxapp-icc   |   29 -
 config/defconfig_x86_x32-native-linux-gcc     |    1 -
 config/defconfig_x86_x32-native-linuxapp-gcc  |   46 -
 48 files changed, 1850 deletions(-)
 delete mode 100644 config/common_armv8a_linux
 delete mode 100644 config/common_base
 delete mode 100644 config/common_freebsd
 delete mode 100644 config/common_linux
 delete mode 120000 config/defconfig_arm-armv7a-linux-gcc
 delete mode 100644 config/defconfig_arm-armv7a-linuxapp-gcc
 delete mode 120000 config/defconfig_arm64-armada-linux-gcc
 delete mode 100644 config/defconfig_arm64-armada-linuxapp-gcc
 delete mode 120000 config/defconfig_arm64-armv8a-linux-clang
 delete mode 120000 config/defconfig_arm64-armv8a-linux-gcc
 delete mode 100644 config/defconfig_arm64-armv8a-linuxapp-clang
 delete mode 100644 config/defconfig_arm64-armv8a-linuxapp-gcc
 delete mode 120000 config/defconfig_arm64-bluefield-linux-gcc
 delete mode 100644 config/defconfig_arm64-bluefield-linuxapp-gcc
 delete mode 120000 config/defconfig_arm64-dpaa-linux-gcc
 delete mode 100644 config/defconfig_arm64-dpaa-linuxapp-gcc
 delete mode 120000 config/defconfig_arm64-emag-linux-gcc
 delete mode 100644 config/defconfig_arm64-emag-linuxapp-gcc
 delete mode 120000 config/defconfig_arm64-n1sdp-linux-gcc
 delete mode 100644 config/defconfig_arm64-n1sdp-linuxapp-gcc
 delete mode 120000 config/defconfig_arm64-octeontx2-linux-gcc
 delete mode 100644 config/defconfig_arm64-octeontx2-linuxapp-gcc
 delete mode 120000 config/defconfig_arm64-stingray-linux-gcc
 delete mode 100644 config/defconfig_arm64-stingray-linuxapp-gcc
 delete mode 120000 config/defconfig_arm64-thunderx-linux-gcc
 delete mode 100644 config/defconfig_arm64-thunderx-linuxapp-gcc
 delete mode 120000 config/defconfig_arm64-thunderx2-linux-gcc
 delete mode 100644 config/defconfig_arm64-thunderx2-linuxapp-gcc
 delete mode 120000 config/defconfig_arm64-xgene1-linux-gcc
 delete mode 100644 config/defconfig_arm64-xgene1-linuxapp-gcc
 delete mode 120000 config/defconfig_i686-native-linux-gcc
 delete mode 120000 config/defconfig_i686-native-linux-icc
 delete mode 100644 config/defconfig_i686-native-linuxapp-gcc
 delete mode 100644 config/defconfig_i686-native-linuxapp-icc
 delete mode 120000 config/defconfig_ppc_64-power8-linux-gcc
 delete mode 100644 config/defconfig_ppc_64-power8-linuxapp-gcc
 delete mode 100644 config/defconfig_x86_64-native-bsdapp-clang
 delete mode 100644 config/defconfig_x86_64-native-bsdapp-gcc
 delete mode 120000 config/defconfig_x86_64-native-freebsd-clang
 delete mode 120000 config/defconfig_x86_64-native-freebsd-gcc
 delete mode 120000 config/defconfig_x86_64-native-linux-clang
 delete mode 120000 config/defconfig_x86_64-native-linux-gcc
 delete mode 120000 config/defconfig_x86_64-native-linux-icc
 delete mode 100644 config/defconfig_x86_64-native-linuxapp-clang
 delete mode 100644 config/defconfig_x86_64-native-linuxapp-gcc
 delete mode 100644 config/defconfig_x86_64-native-linuxapp-icc
 delete mode 120000 config/defconfig_x86_x32-native-linux-gcc
 delete mode 100644 config/defconfig_x86_x32-native-linuxapp-gcc

diff --git a/config/common_armv8a_linux b/config/common_armv8a_linux
deleted file mode 100644
index e942657a0f..0000000000
--- a/config/common_armv8a_linux
+++ /dev/null
@@ -1,43 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Cavium, Inc
-#
-
-#include "common_linux"
-
-CONFIG_RTE_MACHINE="armv8a"
-
-CONFIG_RTE_ARCH="arm64"
-CONFIG_RTE_ARCH_ARM64=y
-CONFIG_RTE_ARCH_64=y
-
-CONFIG_RTE_FORCE_INTRINSICS=y
-
-# Maximum available cache line size in arm64 implementations.
-# Setting to maximum available cache line size in generic config
-# to address minimum DMA alignment across all arm64 implementations.
-CONFIG_RTE_CACHE_LINE_SIZE=128
-
-CONFIG_RTE_USE_C11_MEM_MODEL=y
-
-# Accelarate rte_memcpy. Be sure to run unit test (memcpy_perf_autotest)
-# to determine the best threshold in code. Refer to notes in source file
-# (lib/librte_eal/arm/include/rte_memcpy_64.h) for more info.
-CONFIG_RTE_ARCH_ARM64_MEMCPY=n
-#CONFIG_RTE_ARM64_MEMCPY_ALIGNED_THRESHOLD=2048
-#CONFIG_RTE_ARM64_MEMCPY_UNALIGNED_THRESHOLD=512
-# Leave below RTE_ARM64_MEMCPY_xxx options commented out, unless there're
-# strong reasons.
-#CONFIG_RTE_ARM64_MEMCPY_SKIP_GCC_VER_CHECK=n
-#CONFIG_RTE_ARM64_MEMCPY_ALIGN_MASK=0xF
-#CONFIG_RTE_ARM64_MEMCPY_STRICT_ALIGN=n
-
-CONFIG_RTE_LIBRTE_IONIC_PMD=n
-CONFIG_RTE_LIBRTE_FM10K_PMD=n
-CONFIG_RTE_LIBRTE_SFC_EFX_PMD=n
-CONFIG_RTE_LIBRTE_AVP_PMD=n
-CONFIG_RTE_LIBRTE_PMD_IOAT_RAWDEV=n
-
-#
-# NXP PFE PMD Driver
-#
-CONFIG_RTE_LIBRTE_PFE_PMD=y
diff --git a/config/common_base b/config/common_base
deleted file mode 100644
index fbf0ee70c8..0000000000
--- a/config/common_base
+++ /dev/null
@@ -1,1154 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2017 Intel Corporation
-
-#
-# String that appears before the version number
-#
-CONFIG_RTE_VER_PREFIX="DPDK"
-
-#
-# Version information completed when this file is processed for a build
-#
-CONFIG_RTE_VER_YEAR=__YEAR
-CONFIG_RTE_VER_MONTH=__MONTH
-CONFIG_RTE_VER_MINOR=__MINOR
-CONFIG_RTE_VER_SUFFIX=__SUFFIX
-CONFIG_RTE_VER_RELEASE=__RELEASE
-
-#
-# define executive environment
-# RTE_EXEC_ENV values are the directories in mk/exec-env/
-#
-CONFIG_RTE_EXEC_ENV=
-
-#
-# define the architecture we compile for.
-# RTE_ARCH values are the directories in mk/arch/
-#
-CONFIG_RTE_ARCH=
-
-#
-# machine can define specific variables or action for a specific board
-# RTE_MACHINE values are the directories in mk/machine/
-#
-CONFIG_RTE_MACHINE=
-
-#
-# The compiler we use.
-# RTE_TOOLCHAIN values are the directories in mk/toolchain/
-#
-CONFIG_RTE_TOOLCHAIN=
-
-#
-# Use intrinsics or assembly code for key routines
-#
-CONFIG_RTE_FORCE_INTRINSICS=n
-
-#
-# Machine forces strict alignment constraints.
-#
-CONFIG_RTE_ARCH_STRICT_ALIGN=n
-
-#
-# Enable link time optimization
-#
-CONFIG_RTE_ENABLE_LTO=n
-
-#
-# Compile to share library
-#
-CONFIG_RTE_BUILD_SHARED_LIB=n
-
-#
-# Use newest code breaking previous ABI
-#
-CONFIG_RTE_NEXT_ABI=y
-
-#
-# Machine's cache line size
-#
-CONFIG_RTE_CACHE_LINE_SIZE=64
-
-#
-# Memory model
-#
-CONFIG_RTE_USE_C11_MEM_MODEL=n
-
-#
-# Compile Environment Abstraction Layer
-#
-CONFIG_RTE_LIBRTE_EAL=y
-CONFIG_RTE_MAX_LCORE=128
-CONFIG_RTE_MAX_NUMA_NODES=8
-CONFIG_RTE_MAX_HEAPS=32
-CONFIG_RTE_MAX_MEMSEG_LISTS=64
-# each memseg list will be limited to either RTE_MAX_MEMSEG_PER_LIST pages
-# or RTE_MAX_MEM_MB_PER_LIST megabytes worth of memory, whichever is smaller
-CONFIG_RTE_MAX_MEMSEG_PER_LIST=8192
-CONFIG_RTE_MAX_MEM_MB_PER_LIST=32768
-# a "type" is a combination of page size and NUMA node. total number of memseg
-# lists per type will be limited to either RTE_MAX_MEMSEG_PER_TYPE pages (split
-# over multiple lists of RTE_MAX_MEMSEG_PER_LIST pages), or
-# RTE_MAX_MEM_MB_PER_TYPE megabytes of memory (split over multiple lists of
-# RTE_MAX_MEM_MB_PER_LIST), whichever is smaller
-CONFIG_RTE_MAX_MEMSEG_PER_TYPE=32768
-CONFIG_RTE_MAX_MEM_MB_PER_TYPE=131072
-# global maximum usable amount of VA, in megabytes
-CONFIG_RTE_MAX_MEM_MB=524288
-CONFIG_RTE_MAX_MEMZONE=2560
-CONFIG_RTE_MAX_TAILQ=32
-CONFIG_RTE_ENABLE_ASSERT=n
-CONFIG_RTE_LOG_DP_LEVEL=RTE_LOG_INFO
-CONFIG_RTE_ENABLE_TRACE_FP=n
-CONFIG_RTE_LOG_HISTORY=256
-CONFIG_RTE_BACKTRACE=y
-CONFIG_RTE_LIBEAL_USE_HPET=n
-CONFIG_RTE_EAL_ALWAYS_PANIC_ON_ERROR=n
-CONFIG_RTE_EAL_IGB_UIO=n
-CONFIG_RTE_EAL_VFIO=n
-CONFIG_RTE_MAX_VFIO_GROUPS=64
-CONFIG_RTE_MAX_VFIO_CONTAINERS=64
-CONFIG_RTE_MALLOC_DEBUG=n
-CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=n
-CONFIG_RTE_USE_LIBBSD=n
-# Use WFE instructions to implement the rte_wait_for_equal_xxx APIs,
-# calling these APIs put the cores in low power state while waiting
-# for the memory address to become equal to the expected value.
-# This is supported only by aarch64.
-CONFIG_RTE_ARM_USE_WFE=n
-
-#
-# Recognize/ignore the AVX/AVX512 CPU flags for performance/power testing.
-# AVX512 is marked as experimental for now, will enable it after enough
-# field test and possible optimization.
-#
-CONFIG_RTE_ENABLE_AVX=y
-CONFIG_RTE_ENABLE_AVX512=n
-
-# Use ARM LSE ATOMIC instructions
-CONFIG_RTE_ARM_FEATURE_ATOMICS=n
-
-# Default driver path (or "" to disable)
-CONFIG_RTE_EAL_PMD_PATH=""
-
-#
-# Compile Environment Abstraction Layer to support Vmware TSC map
-#
-CONFIG_RTE_LIBRTE_EAL_VMWARE_TSC_MAP_SUPPORT=y
-
-#
-# Compile the PCI library
-#
-CONFIG_RTE_LIBRTE_PCI=y
-
-#
-# Compile the argument parser library
-#
-CONFIG_RTE_LIBRTE_KVARGS=y
-
-#
-# Compile generic ethernet library
-#
-CONFIG_RTE_LIBRTE_ETHER=y
-CONFIG_RTE_LIBRTE_ETHDEV_DEBUG=n
-CONFIG_RTE_MAX_ETHPORTS=32
-CONFIG_RTE_MAX_QUEUES_PER_PORT=1024
-CONFIG_RTE_LIBRTE_IEEE1588=n
-CONFIG_RTE_ETHDEV_QUEUE_STAT_CNTRS=16
-CONFIG_RTE_ETHDEV_RXTX_CALLBACKS=y
-CONFIG_RTE_ETHDEV_PROFILE_WITH_VTUNE=n
-
-#
-# Turn off Tx preparation stage
-#
-# Warning: rte_eth_tx_prepare() can be safely disabled only if using a
-# driver which do not implement any Tx preparation.
-#
-CONFIG_RTE_ETHDEV_TX_PREPARE_NOOP=n
-
-#
-# Common libraries, before Bus/PMDs
-#
-CONFIG_RTE_LIBRTE_COMMON_DPAAX=n
-
-#
-# Compile the Intel FPGA bus
-#
-CONFIG_RTE_LIBRTE_IFPGA_BUS=y
-
-#
-# Compile PCI bus driver
-#
-CONFIG_RTE_LIBRTE_PCI_BUS=y
-
-#
-# Compile the vdev bus
-#
-CONFIG_RTE_LIBRTE_VDEV_BUS=y
-
-#
-# Compile ARK PMD
-#
-CONFIG_RTE_LIBRTE_ARK_PMD=y
-CONFIG_RTE_LIBRTE_ARK_PAD_TX=y
-CONFIG_RTE_LIBRTE_ARK_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_ARK_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_ARK_DEBUG_STATS=n
-CONFIG_RTE_LIBRTE_ARK_DEBUG_TRACE=n
-
-#
-# Compile Aquantia Atlantic PMD driver
-#
-CONFIG_RTE_LIBRTE_ATLANTIC_PMD=y
-
-#
-# Compile AMD PMD
-#
-CONFIG_RTE_LIBRTE_AXGBE_PMD=y
-CONFIG_RTE_LIBRTE_AXGBE_PMD_DEBUG=n
-
-#
-# Compile burst-oriented Broadcom PMD driver
-#
-CONFIG_RTE_LIBRTE_BNX2X_PMD=n
-CONFIG_RTE_LIBRTE_BNX2X_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_BNX2X_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_BNX2X_MF_SUPPORT=n
-CONFIG_RTE_LIBRTE_BNX2X_DEBUG_PERIODIC=n
-
-#
-# Compile burst-oriented Broadcom BNXT PMD driver
-#
-CONFIG_RTE_LIBRTE_BNXT_PMD=y
-
-#
-# Compile burst-oriented Chelsio Terminator (CXGBE) PMD
-#
-CONFIG_RTE_LIBRTE_CXGBE_PMD=y
-
-#
-# Compile burst-oriented NXP PFE PMD driver
-#
-CONFIG_RTE_LIBRTE_PFE_PMD=n
-
-# NXP DPAA Bus
-CONFIG_RTE_LIBRTE_DPAA_BUS=n
-CONFIG_RTE_LIBRTE_DPAA_MEMPOOL=n
-CONFIG_RTE_LIBRTE_DPAA_PMD=n
-CONFIG_RTE_LIBRTE_DPAA_HWDEBUG=n
-
-#
-# Compile NXP DPAA2 FSL-MC Bus
-#
-CONFIG_RTE_LIBRTE_FSLMC_BUS=n
-
-#
-# Compile Support Libraries for NXP DPAA2
-#
-CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL=n
-CONFIG_RTE_LIBRTE_DPAA2_USE_PHYS_IOVA=y
-
-#
-# Compile burst-oriented NXP DPAA2 PMD driver
-#
-CONFIG_RTE_LIBRTE_DPAA2_PMD=n
-CONFIG_RTE_LIBRTE_DPAA2_DEBUG_DRIVER=n
-
-#
-# Compile NXP ENETC PMD Driver
-#
-CONFIG_RTE_LIBRTE_ENETC_PMD=n
-
-#
-# Compile burst-oriented Amazon ENA PMD driver
-#
-CONFIG_RTE_LIBRTE_ENA_PMD=y
-CONFIG_RTE_LIBRTE_ENA_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_ENA_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_ENA_DEBUG_TX_FREE=n
-CONFIG_RTE_LIBRTE_ENA_COM_DEBUG=n
-
-#
-# Compile burst-oriented Cisco ENIC PMD driver
-#
-CONFIG_RTE_LIBRTE_ENIC_PMD=y
-
-#
-# Compile burst-oriented IGB & EM PMD drivers
-#
-CONFIG_RTE_LIBRTE_EM_PMD=y
-CONFIG_RTE_LIBRTE_IGB_PMD=y
-CONFIG_RTE_LIBRTE_E1000_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_E1000_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_E1000_DEBUG_TX_FREE=n
-CONFIG_RTE_LIBRTE_E1000_PF_DISABLE_STRIP_CRC=n
-
-#
-# Compile burst-oriented HINIC PMD driver
-#
-CONFIG_RTE_LIBRTE_HINIC_PMD=n
-
-#
-# Compile burst-oriented HNS3 PMD driver
-#
-CONFIG_RTE_LIBRTE_HNS3_PMD=n
-
-#
-# Compile Pensando IONIC PMD driver
-#
-CONFIG_RTE_LIBRTE_IONIC_PMD=y
-
-#
-# Compile burst-oriented IXGBE PMD driver
-#
-CONFIG_RTE_LIBRTE_IXGBE_PMD=y
-CONFIG_RTE_LIBRTE_IXGBE_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_IXGBE_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_IXGBE_DEBUG_TX_FREE=n
-CONFIG_RTE_LIBRTE_IXGBE_PF_DISABLE_STRIP_CRC=n
-CONFIG_RTE_LIBRTE_IXGBE_BYPASS=n
-
-#
-# Compile burst-oriented I40E PMD driver
-#
-CONFIG_RTE_LIBRTE_I40E_PMD=y
-CONFIG_RTE_LIBRTE_I40E_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_I40E_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_I40E_DEBUG_TX_FREE=n
-CONFIG_RTE_LIBRTE_I40E_RX_ALLOW_BULK_ALLOC=y
-CONFIG_RTE_LIBRTE_I40E_INC_VECTOR=y
-CONFIG_RTE_LIBRTE_I40E_16BYTE_RX_DESC=n
-CONFIG_RTE_LIBRTE_I40E_QUEUE_NUM_PER_PF=64
-CONFIG_RTE_LIBRTE_I40E_QUEUE_NUM_PER_VM=4
-
-#
-# Compile burst-oriented FM10K PMD
-#
-CONFIG_RTE_LIBRTE_FM10K_PMD=y
-CONFIG_RTE_LIBRTE_FM10K_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_FM10K_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_FM10K_DEBUG_TX_FREE=n
-CONFIG_RTE_LIBRTE_FM10K_RX_OLFLAGS_ENABLE=y
-CONFIG_RTE_LIBRTE_FM10K_INC_VECTOR=y
-
-#
-# Compile burst-oriented ICE PMD driver
-#
-CONFIG_RTE_LIBRTE_ICE_PMD=y
-CONFIG_RTE_LIBRTE_ICE_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_ICE_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_ICE_DEBUG_TX_FREE=n
-CONFIG_RTE_LIBRTE_ICE_16BYTE_RX_DESC=n
-
-# Compile burst-oriented IAVF PMD driver
-#
-CONFIG_RTE_LIBRTE_IAVF_PMD=y
-CONFIG_RTE_LIBRTE_IAVF_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_IAVF_DEBUG_TX_FREE=n
-CONFIG_RTE_LIBRTE_IAVF_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_IAVF_DEBUG_DUMP_DESC=n
-CONFIG_RTE_LIBRTE_IAVF_16BYTE_RX_DESC=n
-#
-# Compile burst-oriented IPN3KE PMD driver
-#
-CONFIG_RTE_LIBRTE_IPN3KE_PMD=n
-
-#
-# Compile burst-oriented IGC PMD drivers
-#
-CONFIG_RTE_LIBRTE_IGC_PMD=y
-CONFIG_RTE_LIBRTE_IGC_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_IGC_DEBUG_TX=n
-
-#
-# Compile burst-oriented Mellanox ConnectX-3 (MLX4) PMD
-#
-CONFIG_RTE_LIBRTE_MLX4_PMD=n
-CONFIG_RTE_LIBRTE_MLX4_DEBUG=n
-
-#
-# Compile burst-oriented Mellanox ConnectX-4, ConnectX-5,
-# ConnectX-6 & BlueField (MLX5) PMD
-#
-CONFIG_RTE_LIBRTE_MLX5_PMD=n
-CONFIG_RTE_LIBRTE_MLX5_DEBUG=n
-
-#
-# Compile regex-oriented Mellanox PMD
-#
-CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD=n
-
-#
-# Compile vdpa-oriented Mellanox ConnectX-6 & BlueField (MLX5) PMD
-#
-CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD=n
-
-# Linking method for mlx4/5 dependency on ibverbs and related libraries
-# Default linking is dynamic by linker.
-# Other options are: dynamic by dlopen at run-time, or statically embedded.
-CONFIG_RTE_IBVERBS_LINK_DLOPEN=n
-CONFIG_RTE_IBVERBS_LINK_STATIC=n
-
-#
-# Compile burst-oriented Netronome NFP PMD driver
-#
-CONFIG_RTE_LIBRTE_NFP_PMD=n
-CONFIG_RTE_LIBRTE_NFP_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_NFP_DEBUG_RX=n
-
-# QLogic 10G/25G/40G/50G/100G PMD
-#
-CONFIG_RTE_LIBRTE_QEDE_PMD=y
-CONFIG_RTE_LIBRTE_QEDE_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_QEDE_DEBUG_RX=n
-#Provides abs path/name of the firmware file.
-#Empty string denotes driver will use default firmware
-CONFIG_RTE_LIBRTE_QEDE_FW=""
-
-#
-# Compile burst-oriented Solarflare libefx-based PMD
-#
-CONFIG_RTE_LIBRTE_SFC_EFX_PMD=y
-CONFIG_RTE_LIBRTE_SFC_EFX_DEBUG=n
-
-#
-# Compile software PMD backed by SZEDATA2 device
-#
-CONFIG_RTE_LIBRTE_PMD_SZEDATA2=n
-
-#
-# Compile software PMD backed by NFB device
-#
-CONFIG_RTE_LIBRTE_NFB_PMD=n
-
-#
-# Compile burst-oriented Cavium Thunderx NICVF PMD driver
-#
-CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD=y
-CONFIG_RTE_LIBRTE_THUNDERX_NICVF_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_THUNDERX_NICVF_DEBUG_TX=n
-
-#
-# Compile burst-oriented Cavium LiquidIO PMD driver
-#
-CONFIG_RTE_LIBRTE_LIO_PMD=y
-CONFIG_RTE_LIBRTE_LIO_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_LIO_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_LIO_DEBUG_MBOX=n
-CONFIG_RTE_LIBRTE_LIO_DEBUG_REGS=n
-
-#
-# Compile burst-oriented Cavium OCTEONTX network PMD driver
-#
-CONFIG_RTE_LIBRTE_OCTEONTX_PMD=y
-
-#
-# Compile burst-oriented Marvell OCTEON TX2 network PMD driver
-#
-CONFIG_RTE_LIBRTE_OCTEONTX2_PMD=y
-
-#
-# Compile WRS accelerated virtual port (AVP) guest PMD driver
-#
-CONFIG_RTE_LIBRTE_AVP_PMD=n
-CONFIG_RTE_LIBRTE_AVP_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_AVP_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_AVP_DEBUG_BUFFERS=n
-
-#
-# Compile burst-oriented VIRTIO PMD driver
-#
-CONFIG_RTE_LIBRTE_VIRTIO_PMD=y
-CONFIG_RTE_LIBRTE_VIRTIO_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_VIRTIO_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_VIRTIO_DEBUG_DUMP=n
-
-#
-# Compile virtio device emulation inside virtio PMD driver
-#
-CONFIG_RTE_VIRTIO_USER=n
-
-#
-# Compile burst-oriented VMXNET3 PMD driver
-#
-CONFIG_RTE_LIBRTE_VMXNET3_PMD=y
-CONFIG_RTE_LIBRTE_VMXNET3_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_VMXNET3_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_VMXNET3_DEBUG_TX_FREE=n
-
-#
-# Compile software PMD backed by AF_PACKET sockets (Linux only)
-#
-CONFIG_RTE_LIBRTE_PMD_AF_PACKET=n
-
-#
-# Compile software PMD backed by AF_XDP sockets (Linux only)
-#
-CONFIG_RTE_LIBRTE_PMD_AF_XDP=n
-
-#
-# Compile Memory Interface PMD driver (Linux only)
-#
-CONFIG_RTE_LIBRTE_PMD_MEMIF=n
-
-#
-# Compile link bonding PMD library
-#
-CONFIG_RTE_LIBRTE_PMD_BOND=y
-CONFIG_RTE_LIBRTE_BOND_DEBUG_ALB=n
-CONFIG_RTE_LIBRTE_BOND_DEBUG_ALB_L1=n
-
-#
-# Compile fail-safe PMD
-#
-CONFIG_RTE_LIBRTE_PMD_FAILSAFE=y
-
-#
-# Compile Marvell PMD driver
-#
-CONFIG_RTE_LIBRTE_MVPP2_PMD=n
-
-#
-# Compile Marvell MVNETA PMD driver
-#
-CONFIG_RTE_LIBRTE_MVNETA_PMD=n
-
-#
-# Compile support for VMBus library
-#
-CONFIG_RTE_LIBRTE_VMBUS=n
-
-#
-# Compile native PMD for Hyper-V/Azure
-#
-CONFIG_RTE_LIBRTE_NETVSC_PMD=n
-CONFIG_RTE_LIBRTE_NETVSC_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_NETVSC_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_NETVSC_DEBUG_DUMP=n
-
-#
-# Compile virtual device driver for NetVSC on Hyper-V/Azure
-#
-CONFIG_RTE_LIBRTE_VDEV_NETVSC_PMD=n
-
-#
-# Compile null PMD
-#
-CONFIG_RTE_LIBRTE_PMD_NULL=y
-
-#
-# Compile software PMD backed by PCAP files
-#
-CONFIG_RTE_LIBRTE_PMD_PCAP=n
-
-#
-# Compile example software rings based PMD
-#
-CONFIG_RTE_LIBRTE_PMD_RING=y
-CONFIG_RTE_PMD_RING_MAX_RX_RINGS=16
-CONFIG_RTE_PMD_RING_MAX_TX_RINGS=16
-
-#
-# Compile SOFTNIC PMD
-#
-CONFIG_RTE_LIBRTE_PMD_SOFTNIC=n
-
-#
-# Compile the TAP PMD
-# It is enabled by default for Linux only.
-#
-CONFIG_RTE_LIBRTE_PMD_TAP=n
-
-#
-# Do prefetch of packet data within PMD driver receive function
-#
-CONFIG_RTE_PMD_PACKET_PREFETCH=y
-
-# Compile generic wireless base band device library
-# EXPERIMENTAL: API may change without prior notice
-#
-CONFIG_RTE_LIBRTE_BBDEV=y
-CONFIG_RTE_LIBRTE_BBDEV_DEBUG=n
-CONFIG_RTE_BBDEV_MAX_DEVS=128
-CONFIG_RTE_BBDEV_OFFLOAD_COST=y
-CONFIG_RTE_BBDEV_SDK_AVX2=n
-CONFIG_RTE_BBDEV_SDK_AVX512=n
-
-#
-# Compile PMD for NULL bbdev device
-#
-CONFIG_RTE_LIBRTE_PMD_BBDEV_NULL=y
-
-#
-# Compile PMD for turbo software bbdev device
-#
-CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW=y
-
-#
-# Compile PMD for Intel FPGA LTE FEC bbdev device
-#
-CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_LTE_FEC=y
-
-#
-# Compile PMD for Intel FPGA 5GNR FEC bbdev device
-#
-CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_5GNR_FEC=y
-
-#
-# Compile generic crypto device library
-#
-CONFIG_RTE_LIBRTE_CRYPTODEV=y
-CONFIG_RTE_CRYPTO_MAX_DEVS=64
-
-#
-# Compile PMD for ARMv8 Crypto device
-#
-CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO=n
-
-#
-# Compile NXP CAAM JR crypto Driver
-#
-CONFIG_RTE_LIBRTE_PMD_CAAM_JR=n
-CONFIG_RTE_LIBRTE_PMD_CAAM_JR_BE=n
-
-#
-# Compile NXP DPAA2 crypto sec driver for CAAM HW
-#
-CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC=n
-
-#
-# NXP DPAA caam - crypto driver
-#
-CONFIG_RTE_LIBRTE_PMD_DPAA_SEC=n
-CONFIG_RTE_LIBRTE_DPAA_MAX_CRYPTODEV=4
-
-#
-# Compile PMD for Cavium OCTEON TX crypto device
-#
-CONFIG_RTE_LIBRTE_PMD_OCTEONTX_CRYPTO=y
-
-#
-# Compile PMD for Marvell OCTEON TX2 crypto device
-#
-CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO=y
-
-#
-# Compile PMD for QuickAssist based devices - see docs for details
-#
-CONFIG_RTE_LIBRTE_PMD_QAT=y
-CONFIG_RTE_LIBRTE_PMD_QAT_SYM=n
-CONFIG_RTE_LIBRTE_PMD_QAT_ASYM=n
-#
-# Max. number of QuickAssist devices, which can be detected and attached
-#
-CONFIG_RTE_PMD_QAT_MAX_PCI_DEVICES=48
-CONFIG_RTE_PMD_QAT_COMP_IM_BUFFER_SIZE=65536
-
-#
-# Compile PMD for virtio crypto devices
-#
-CONFIG_RTE_LIBRTE_PMD_VIRTIO_CRYPTO=y
-#
-# Number of maximum virtio crypto devices
-#
-CONFIG_RTE_MAX_VIRTIO_CRYPTO=32
-
-#
-# Compile PMD for AESNI backed device
-#
-CONFIG_RTE_LIBRTE_PMD_AESNI_MB=n
-
-#
-# Compile PMD for Software backed device
-#
-CONFIG_RTE_LIBRTE_PMD_OPENSSL=n
-
-#
-# Compile PMD for AESNI GCM device
-#
-CONFIG_RTE_LIBRTE_PMD_AESNI_GCM=n
-
-#
-# Compile PMD for SNOW 3G device
-#
-CONFIG_RTE_LIBRTE_PMD_SNOW3G=n
-CONFIG_RTE_LIBRTE_PMD_SNOW3G_DEBUG=n
-
-#
-# Compile PMD for KASUMI device
-#
-CONFIG_RTE_LIBRTE_PMD_KASUMI=n
-
-#
-# Compile PMD for ZUC device
-#
-CONFIG_RTE_LIBRTE_PMD_ZUC=n
-
-# Compile PMD for Crypto Scheduler device
-#
-CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER=y
-
-#
-# Compile PMD for NULL Crypto device
-#
-CONFIG_RTE_LIBRTE_PMD_NULL_CRYPTO=y
-
-#
-# Compile PMD for AMD CCP crypto device
-#
-CONFIG_RTE_LIBRTE_PMD_CCP=n
-
-#
-# Compile PMD for Marvell Crypto device
-#
-CONFIG_RTE_LIBRTE_PMD_MVSAM_CRYPTO=n
-
-#
-# Compile PMD for NITROX crypto device
-#
-CONFIG_RTE_LIBRTE_PMD_NITROX=y
-
-#
-# Compile generic security library
-#
-CONFIG_RTE_LIBRTE_SECURITY=y
-
-#
-# Compile generic compression device library
-#
-CONFIG_RTE_LIBRTE_COMPRESSDEV=y
-CONFIG_RTE_COMPRESS_MAX_DEVS=64
-
-#
-# Compile compressdev unit test
-#
-CONFIG_RTE_COMPRESSDEV_TEST=n
-
-#
-# Compile PMD for Octeontx ZIPVF compression device
-#
-CONFIG_RTE_LIBRTE_PMD_OCTEONTX_ZIPVF=y
-
-#
-# Compile PMD for ISA-L compression device
-#
-CONFIG_RTE_LIBRTE_PMD_ISAL=n
-
-#
-# Compile PMD for ZLIB compression device
-#
-CONFIG_RTE_LIBRTE_PMD_ZLIB=n
-
-#
-# Compile RegEx device support
-#
-CONFIG_RTE_LIBRTE_REGEXDEV=y
-CONFIG_RTE_LIBRTE_REGEXDEV_DEBUG=n
-CONFIG_RTE_MAX_REGEXDEV_DEVS=32
-
-#
-# Compile generic event device library
-#
-CONFIG_RTE_LIBRTE_EVENTDEV=y
-CONFIG_RTE_LIBRTE_EVENTDEV_DEBUG=n
-CONFIG_RTE_EVENT_MAX_DEVS=16
-CONFIG_RTE_EVENT_MAX_QUEUES_PER_DEV=64
-CONFIG_RTE_EVENT_TIMER_ADAPTER_NUM_MAX=32
-CONFIG_RTE_EVENT_ETH_INTR_RING_SIZE=1024
-CONFIG_RTE_EVENT_CRYPTO_ADAPTER_MAX_INSTANCE=32
-CONFIG_RTE_EVENT_ETH_TX_ADAPTER_MAX_INSTANCE=32
-
-#
-# Compile PMD for skeleton event device
-#
-CONFIG_RTE_LIBRTE_PMD_SKELETON_EVENTDEV=y
-CONFIG_RTE_LIBRTE_PMD_SKELETON_EVENTDEV_DEBUG=n
-
-#
-# Compile PMD for software event device
-#
-CONFIG_RTE_LIBRTE_PMD_SW_EVENTDEV=y
-
-#
-# Compile PMD for distributed software event device
-#
-CONFIG_RTE_LIBRTE_PMD_DSW_EVENTDEV=y
-
-#
-# Compile PMD for octeontx sso event device
-#
-CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF=y
-
-#
-# Compile PMD for octeontx2 sso event device
-#
-CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV=y
-
-#
-# Compile PMD for OPDL event device
-#
-CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV=y
-
-#
-# Compile PMD for NXP DPAA event device
-#
-CONFIG_RTE_LIBRTE_PMD_DPAA_EVENTDEV=n
-
-#
-# Compile PMD for NXP DPAA2 event device
-#
-CONFIG_RTE_LIBRTE_PMD_DPAA2_EVENTDEV=n
-
-#
-# Compile raw device support
-# EXPERIMENTAL: API may change without prior notice
-#
-CONFIG_RTE_LIBRTE_RAWDEV=y
-CONFIG_RTE_RAWDEV_MAX_DEVS=64
-CONFIG_RTE_LIBRTE_PMD_SKELETON_RAWDEV=y
-
-#
-# Compile PMD for NXP DPAA2 CMDIF raw device
-#
-CONFIG_RTE_LIBRTE_PMD_DPAA2_CMDIF_RAWDEV=n
-
-#
-# Compile PMD for NXP DPAA2 QDMA raw device
-#
-CONFIG_RTE_LIBRTE_PMD_DPAA2_QDMA_RAWDEV=n
-
-#
-# Compile PMD for Intel FPGA raw device
-#
-CONFIG_RTE_LIBRTE_PMD_IFPGA_RAWDEV=n
-
-#
-# Compile PMD for Intel IOAT raw device
-#
-CONFIG_RTE_LIBRTE_PMD_IOAT_RAWDEV=y
-
-#
-# Compile PMD for octeontx2 DMA raw device
-#
-CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_DMA_RAWDEV=y
-
-#
-# Compile PMD for octeontx2 EP raw device
-#
-CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EP_RAWDEV=y
-
-#
-# Compile PMD for NTB raw device
-#
-CONFIG_RTE_LIBRTE_PMD_NTB_RAWDEV=y
-
-#
-# Compile librte_ring
-#
-CONFIG_RTE_LIBRTE_RING=y
-
-#
-# Compile librte_stack
-#
-CONFIG_RTE_LIBRTE_STACK=y
-
-#
-# Compile librte_mempool
-#
-CONFIG_RTE_LIBRTE_MEMPOOL=y
-CONFIG_RTE_MEMPOOL_CACHE_MAX_SIZE=512
-CONFIG_RTE_LIBRTE_MEMPOOL_DEBUG=n
-
-#
-# Compile Mempool drivers
-#
-CONFIG_RTE_DRIVER_MEMPOOL_BUCKET=y
-CONFIG_RTE_DRIVER_MEMPOOL_BUCKET_SIZE_KB=64
-CONFIG_RTE_DRIVER_MEMPOOL_RING=y
-CONFIG_RTE_DRIVER_MEMPOOL_STACK=y
-
-#
-# Compile PMD for octeontx fpa mempool device
-#
-CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL=y
-
-#
-# Compile PMD for octeontx2 npa mempool device
-#
-CONFIG_RTE_LIBRTE_OCTEONTX2_MEMPOOL=y
-
-#
-# Compile librte_mbuf
-#
-CONFIG_RTE_LIBRTE_MBUF=y
-CONFIG_RTE_LIBRTE_MBUF_DEBUG=n
-CONFIG_RTE_MBUF_DEFAULT_MEMPOOL_OPS="ring_mp_mc"
-CONFIG_RTE_MBUF_REFCNT_ATOMIC=y
-CONFIG_RTE_PKTMBUF_HEADROOM=128
-
-#
-# Compile librte_timer
-#
-CONFIG_RTE_LIBRTE_TIMER=y
-CONFIG_RTE_LIBRTE_TIMER_DEBUG=n
-
-#
-# Compile librte_cfgfile
-#
-CONFIG_RTE_LIBRTE_CFGFILE=y
-
-#
-# Compile librte_cmdline
-#
-CONFIG_RTE_LIBRTE_CMDLINE=y
-CONFIG_RTE_LIBRTE_CMDLINE_DEBUG=n
-
-#
-# Compile librte_hash
-#
-CONFIG_RTE_LIBRTE_HASH=y
-CONFIG_RTE_LIBRTE_HASH_DEBUG=n
-
-#
-# Compile librte_efd
-#
-CONFIG_RTE_LIBRTE_EFD=y
-
-#
-# Compile librte_member
-#
-CONFIG_RTE_LIBRTE_MEMBER=y
-
-#
-# Compile librte_jobstats
-#
-CONFIG_RTE_LIBRTE_JOBSTATS=y
-
-#
-# Compile the device metrics library
-#
-CONFIG_RTE_LIBRTE_METRICS=y
-
-#
-# Compile the bitrate statistics library
-#
-CONFIG_RTE_LIBRTE_BITRATE=y
-
-#
-# Compile the latency statistics library
-#
-CONFIG_RTE_LIBRTE_LATENCY_STATS=y
-
-#
-# Compile librte_telemetry legacy support
-#
-CONFIG_RTE_LIBRTE_TELEMETRY=n
-
-#
-# Compile librte_rcu
-#
-CONFIG_RTE_LIBRTE_RCU=y
-CONFIG_RTE_LIBRTE_RCU_DEBUG=n
-
-#
-# Compile librte_rib
-#
-CONFIG_RTE_LIBRTE_RIB=y
-
-#
-# Compile librte_fib
-#
-CONFIG_RTE_LIBRTE_FIB=y
-CONFIG_RTE_LIBRTE_FIB_DEBUG=n
-
-#
-# Compile librte_lpm
-#
-CONFIG_RTE_LIBRTE_LPM=y
-CONFIG_RTE_LIBRTE_LPM_DEBUG=n
-
-#
-# Compile librte_acl
-#
-CONFIG_RTE_LIBRTE_ACL=y
-CONFIG_RTE_LIBRTE_ACL_DEBUG=n
-
-#
-# Compile librte_power
-#
-CONFIG_RTE_LIBRTE_POWER=n
-CONFIG_RTE_LIBRTE_POWER_DEBUG=n
-CONFIG_RTE_MAX_LCORE_FREQS=64
-
-#
-# Compile librte_net
-#
-CONFIG_RTE_LIBRTE_NET=y
-
-#
-# Compile librte_ip_frag
-#
-CONFIG_RTE_LIBRTE_IP_FRAG=y
-CONFIG_RTE_LIBRTE_IP_FRAG_DEBUG=n
-CONFIG_RTE_LIBRTE_IP_FRAG_MAX_FRAG=4
-CONFIG_RTE_LIBRTE_IP_FRAG_TBL_STAT=n
-
-#
-# Compile GRO library
-#
-CONFIG_RTE_LIBRTE_GRO=y
-
-#
-# Compile GSO library
-#
-CONFIG_RTE_LIBRTE_GSO=y
-
-#
-# Compile librte_meter
-#
-CONFIG_RTE_LIBRTE_METER=y
-
-#
-# Compile librte_classify
-#
-CONFIG_RTE_LIBRTE_FLOW_CLASSIFY=y
-
-#
-# Compile librte_sched
-#
-CONFIG_RTE_LIBRTE_SCHED=y
-CONFIG_RTE_SCHED_DEBUG=n
-CONFIG_RTE_SCHED_RED=n
-CONFIG_RTE_SCHED_COLLECT_STATS=n
-CONFIG_RTE_SCHED_SUBPORT_TC_OV=n
-CONFIG_RTE_SCHED_PORT_N_GRINDERS=8
-CONFIG_RTE_SCHED_VECTOR=n
-
-#
-# Compile the distributor library
-#
-CONFIG_RTE_LIBRTE_DISTRIBUTOR=y
-
-#
-# Compile the reorder library
-#
-CONFIG_RTE_LIBRTE_REORDER=y
-
-#
-# Compile librte_port
-#
-CONFIG_RTE_LIBRTE_PORT=y
-CONFIG_RTE_PORT_STATS_COLLECT=n
-CONFIG_RTE_PORT_PCAP=n
-
-#
-# Compile librte_table
-#
-CONFIG_RTE_LIBRTE_TABLE=y
-CONFIG_RTE_TABLE_STATS_COLLECT=n
-
-#
-# Compile librte_pipeline
-#
-CONFIG_RTE_LIBRTE_PIPELINE=y
-CONFIG_RTE_PIPELINE_STATS_COLLECT=n
-
-#
-# Compile librte_kni
-#
-CONFIG_RTE_LIBRTE_KNI=n
-CONFIG_RTE_LIBRTE_PMD_KNI=n
-CONFIG_RTE_KNI_KMOD=n
-CONFIG_RTE_KNI_PREEMPT_DEFAULT=y
-
-#
-# Compile the pdump library
-#
-CONFIG_RTE_LIBRTE_PDUMP=y
-
-#
-# Compile vhost user library
-#
-CONFIG_RTE_LIBRTE_VHOST=n
-CONFIG_RTE_LIBRTE_VHOST_NUMA=n
-CONFIG_RTE_LIBRTE_VHOST_DEBUG=n
-
-#
-# Compile vhost PMD
-# To compile, CONFIG_RTE_LIBRTE_VHOST should be enabled.
-#
-CONFIG_RTE_LIBRTE_PMD_VHOST=n
-
-#
-# Compile IFC driver
-# To compile, CONFIG_RTE_LIBRTE_VHOST and CONFIG_RTE_EAL_VFIO
-# should be enabled.
-#
-CONFIG_RTE_LIBRTE_IFC_PMD=n
-
-#
-# Compile librte_bpf
-#
-CONFIG_RTE_LIBRTE_BPF=y
-# allow load BPF from ELF files (requires libelf)
-CONFIG_RTE_LIBRTE_BPF_ELF=n
-
-#
-# Compile librte_ipsec
-#
-CONFIG_RTE_LIBRTE_IPSEC=y
-
-#
-# Compile librte_graph
-#
-CONFIG_RTE_LIBRTE_GRAPH=y
-CONFIG_RTE_GRAPH_BURST_SIZE=256
-CONFIG_RTE_LIBRTE_GRAPH_STATS=y
-
-#
-# Compile librte_node
-#
-CONFIG_RTE_LIBRTE_NODE=y
-
-#
-# Compile the test application
-#
-CONFIG_RTE_APP_TEST=y
-CONFIG_RTE_APP_TEST_RESOURCE_TAR=n
-
-#
-# Compile the procinfo application
-#
-CONFIG_RTE_PROC_INFO=n
-
-#
-# Compile the PMD test application
-#
-CONFIG_RTE_TEST_PMD=y
-CONFIG_RTE_TEST_PMD_RECORD_CORE_CYCLES=n
-CONFIG_RTE_TEST_PMD_RECORD_BURST_STATS=n
-
-#
-# Compile the rte flow perf application
-#
-CONFIG_RTE_TEST_FLOW_PERF=y
-
-#
-# Compile the bbdev test application
-#
-CONFIG_RTE_TEST_BBDEV=y
-
-#
-# Compile the compression performance application
-#
-CONFIG_RTE_APP_COMPRESS_PERF=y
-
-#
-# Compile the crypto performance application
-#
-CONFIG_RTE_APP_CRYPTO_PERF=y
-
-#
-# Compile the eventdev application
-#
-CONFIG_RTE_APP_EVENTDEV=y
diff --git a/config/common_freebsd b/config/common_freebsd
deleted file mode 100644
index 456b394c4d..0000000000
--- a/config/common_freebsd
+++ /dev/null
@@ -1,15 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2016 Intel Corporation
-
-#include "common_base"
-
-CONFIG_RTE_EXEC_ENV="bsdapp"
-CONFIG_RTE_EXEC_ENV_BSDAPP=y
-CONFIG_RTE_EXEC_ENV_FREEBSD=y
-
-#
-# FreeBSD contiguous memory driver settings
-#
-CONFIG_RTE_CONTIGMEM_MAX_NUM_BUFS=64
-CONFIG_RTE_CONTIGMEM_DEFAULT_NUM_BUFS=2
-CONFIG_RTE_CONTIGMEM_DEFAULT_BUF_SIZE=1024*1024*1024
diff --git a/config/common_linux b/config/common_linux
deleted file mode 100644
index 816810671a..0000000000
--- a/config/common_linux
+++ /dev/null
@@ -1,68 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2016 Intel Corporation
-
-#include "common_base"
-
-CONFIG_RTE_EXEC_ENV="linuxapp"
-CONFIG_RTE_EXEC_ENV_LINUX=y
-CONFIG_RTE_EXEC_ENV_LINUXAPP=y
-
-CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=y
-CONFIG_RTE_EAL_VFIO=y
-CONFIG_RTE_LIBRTE_KNI=y
-CONFIG_RTE_LIBRTE_PMD_KNI=y
-CONFIG_RTE_LIBRTE_VHOST=y
-CONFIG_RTE_LIBRTE_VHOST_NUMA=y
-CONFIG_RTE_LIBRTE_VHOST_POSTCOPY=n
-CONFIG_RTE_LIBRTE_PMD_VHOST=y
-CONFIG_RTE_LIBRTE_IFC_PMD=y
-CONFIG_RTE_LIBRTE_PMD_AF_PACKET=y
-CONFIG_RTE_LIBRTE_PMD_MEMIF=y
-CONFIG_RTE_LIBRTE_PMD_SOFTNIC=y
-CONFIG_RTE_LIBRTE_PMD_TAP=y
-CONFIG_RTE_LIBRTE_AVP_PMD=y
-CONFIG_RTE_LIBRTE_VDEV_NETVSC_PMD=y
-CONFIG_RTE_LIBRTE_NFP_PMD=y
-CONFIG_RTE_LIBRTE_POWER=y
-CONFIG_RTE_VIRTIO_USER=y
-CONFIG_RTE_PROC_INFO=y
-
-CONFIG_RTE_LIBRTE_VMBUS=y
-CONFIG_RTE_LIBRTE_NETVSC_PMD=y
-
-#
-# Common libraries, before Bus/PMDs
-#
-CONFIG_RTE_LIBRTE_COMMON_DPAAX=y
-
-# NXP DPAA BUS and drivers
-CONFIG_RTE_LIBRTE_DPAA_BUS=y
-CONFIG_RTE_LIBRTE_DPAA_MEMPOOL=y
-CONFIG_RTE_LIBRTE_DPAA_PMD=y
-CONFIG_RTE_LIBRTE_PMD_DPAA_EVENTDEV=y
-CONFIG_RTE_LIBRTE_PMD_DPAA_SEC=y
-CONFIG_RTE_LIBRTE_PMD_CAAM_JR=y
-
-# NXP FSLMC BUS and DPAA2 drivers
-CONFIG_RTE_LIBRTE_FSLMC_BUS=y
-CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL=y
-CONFIG_RTE_LIBRTE_DPAA2_PMD=y
-CONFIG_RTE_LIBRTE_PMD_DPAA2_EVENTDEV=y
-CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC=y
-CONFIG_RTE_LIBRTE_PMD_DPAA2_CMDIF_RAWDEV=y
-CONFIG_RTE_LIBRTE_PMD_DPAA2_QDMA_RAWDEV=y
-
-#
-# NXP ENETC PMD Driver
-#
-CONFIG_RTE_LIBRTE_ENETC_PMD=y
-
-#
-# HINIC PMD driver
-#
-CONFIG_RTE_LIBRTE_HINIC_PMD=y
-
-#
-# Hisilicon HNS3 PMD driver
-#
-CONFIG_RTE_LIBRTE_HNS3_PMD=y
diff --git a/config/defconfig_arm-armv7a-linux-gcc b/config/defconfig_arm-armv7a-linux-gcc
deleted file mode 120000
index 84619de43a..0000000000
--- a/config/defconfig_arm-armv7a-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_arm-armv7a-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm-armv7a-linuxapp-gcc b/config/defconfig_arm-armv7a-linuxapp-gcc
deleted file mode 100644
index ac91120868..0000000000
--- a/config/defconfig_arm-armv7a-linuxapp-gcc
+++ /dev/null
@@ -1,49 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright (C) 2015 RehiveTech. All right reserved.
-
-#include "common_linux"
-
-CONFIG_RTE_MACHINE="armv7a"
-
-CONFIG_RTE_ARCH="arm"
-CONFIG_RTE_ARCH_ARM=y
-CONFIG_RTE_ARCH_ARMv7=y
-CONFIG_RTE_ARCH_ARM_TUNE="cortex-a9"
-
-# Accelerate memcpy operations. Consider enabling for Cortex-A15.
-# For Cortex-A7 and Cortex-A9, It might accelerate short data copies (< 64 B).
-CONFIG_RTE_ARCH_ARM_NEON_MEMCPY=n
-
-CONFIG_RTE_FORCE_INTRINSICS=y
-CONFIG_RTE_ARCH_STRICT_ALIGN=y
-
-CONFIG_RTE_TOOLCHAIN="gcc"
-CONFIG_RTE_TOOLCHAIN_GCC=y
-
-# NUMA is not supported on ARM
-CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=n
-CONFIG_RTE_LIBRTE_VHOST_NUMA=n
-
-# ARM doesn't have support for vmware TSC map
-CONFIG_RTE_LIBRTE_EAL_VMWARE_TSC_MAP_SUPPORT=n
-
-# KNI is not supported on 32-bit
-CONFIG_RTE_LIBRTE_KNI=n
-
-# cannot use those on ARM
-CONFIG_RTE_LIBRTE_ARK_PMD=n
-CONFIG_RTE_LIBRTE_EM_PMD=n
-CONFIG_RTE_LIBRTE_IGB_PMD=n
-CONFIG_RTE_LIBRTE_CXGBE_PMD=n
-CONFIG_RTE_LIBRTE_E1000_PMD=n
-CONFIG_RTE_LIBRTE_ENIC_PMD=n
-CONFIG_RTE_LIBRTE_FM10K_PMD=n
-CONFIG_RTE_LIBRTE_VMXNET3_PMD=n
-CONFIG_RTE_LIBRTE_QEDE_PMD=n
-CONFIG_RTE_LIBRTE_SFC_EFX_PMD=n
-CONFIG_RTE_LIBRTE_AVP_PMD=n
-CONFIG_RTE_LIBRTE_NFP_PMD=n
-CONFIG_RTE_LIBRTE_HINIC_PMD=n
-CONFIG_RTE_LIBRTE_HNS3_PMD=n
-CONFIG_RTE_LIBRTE_PMD_IOAT_RAWDEV=n
-CONFIG_RTE_LIBRTE_IONIC_PMD=n
diff --git a/config/defconfig_arm64-armada-linux-gcc b/config/defconfig_arm64-armada-linux-gcc
deleted file mode 120000
index 64ce2a5687..0000000000
--- a/config/defconfig_arm64-armada-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_arm64-armada-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm64-armada-linuxapp-gcc b/config/defconfig_arm64-armada-linuxapp-gcc
deleted file mode 100644
index a49bebe374..0000000000
--- a/config/defconfig_arm64-armada-linuxapp-gcc
+++ /dev/null
@@ -1,41 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Marvell International Ltd
-#
-
-#include "defconfig_arm64-armv8a-linux-gcc"
-
-#
-# Compile Environment Abstraction Layer
-#
-CONFIG_RTE_MAX_LCORE=16
-CONFIG_RTE_MAX_NUMA_NODES=1
-CONFIG_RTE_CACHE_LINE_SIZE=64
-
-# Enable PMDs
-CONFIG_RTE_LIBRTE_MVEP_COMMON=y
-CONFIG_RTE_LIBRTE_MVPP2_PMD=y
-CONFIG_RTE_LIBRTE_MVNETA_PMD=y
-CONFIG_RTE_LIBRTE_PMD_MVSAM_CRYPTO=y
-
-# Disable NXP as it is conflict with MUSDK
-CONFIG_RTE_LIBRTE_DPAA_BUS=n
-CONFIG_RTE_LIBRTE_COMMON_DPAAX=n
-CONFIG_RTE_LIBRTE_FSLMC_BUS=n
-CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL=n
-CONFIG_RTE_LIBRTE_DPAA2_PMD=n
-CONFIG_RTE_LIBRTE_DPAA_BUS=n
-CONFIG_RTE_LIBRTE_DPAA_MEMPOOL=n
-CONFIG_RTE_LIBRTE_DPAA_PMD=n
-CONFIG_RTE_LIBRTE_PMD_DPAA_EVENTDEV=n
-CONFIG_RTE_LIBRTE_PMD_DPAA_SEC=n
-CONFIG_RTE_LIBRTE_PMD_CAAM_JR=n
-CONFIG_RTE_LIBRTE_PMD_DPAA2_EVENTDEV=n
-CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC=n
-CONFIG_RTE_LIBRTE_PMD_DPAA2_CMDIF_RAWDEV=n
-CONFIG_RTE_LIBRTE_PMD_DPAA2_QDMA_RAWDEV=n
-CONFIG_RTE_LIBRTE_PFE_PMD=n
-CONFIG_RTE_LIBRTE_ENETC_PMD=n
-
-# Doesn't support NUMA
-CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=n
-CONFIG_RTE_LIBRTE_VHOST_NUMA=n
diff --git a/config/defconfig_arm64-armv8a-linux-clang b/config/defconfig_arm64-armv8a-linux-clang
deleted file mode 120000
index 196808b982..0000000000
--- a/config/defconfig_arm64-armv8a-linux-clang
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_arm64-armv8a-linuxapp-clang
\ No newline at end of file
diff --git a/config/defconfig_arm64-armv8a-linux-gcc b/config/defconfig_arm64-armv8a-linux-gcc
deleted file mode 120000
index 0949519562..0000000000
--- a/config/defconfig_arm64-armv8a-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_arm64-armv8a-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm64-armv8a-linuxapp-clang b/config/defconfig_arm64-armv8a-linuxapp-clang
deleted file mode 100644
index d3b4dad532..0000000000
--- a/config/defconfig_arm64-armv8a-linuxapp-clang
+++ /dev/null
@@ -1,8 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Cavium, Inc
-#
-
-#include "common_armv8a_linux"
-
-CONFIG_RTE_TOOLCHAIN="clang"
-CONFIG_RTE_TOOLCHAIN_CLANG=y
diff --git a/config/defconfig_arm64-armv8a-linuxapp-gcc b/config/defconfig_arm64-armv8a-linuxapp-gcc
deleted file mode 100644
index 58c4a4029a..0000000000
--- a/config/defconfig_arm64-armv8a-linuxapp-gcc
+++ /dev/null
@@ -1,9 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2015 Cavium, Inc
-#
-
-#include "common_armv8a_linux"
-
-CONFIG_RTE_TOOLCHAIN="gcc"
-CONFIG_RTE_TOOLCHAIN_GCC=y
-CONFIG_RTE_MAX_LCORE=256
diff --git a/config/defconfig_arm64-bluefield-linux-gcc b/config/defconfig_arm64-bluefield-linux-gcc
deleted file mode 120000
index dad37d5e79..0000000000
--- a/config/defconfig_arm64-bluefield-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_arm64-bluefield-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm64-bluefield-linuxapp-gcc b/config/defconfig_arm64-bluefield-linuxapp-gcc
deleted file mode 100644
index b496538819..0000000000
--- a/config/defconfig_arm64-bluefield-linuxapp-gcc
+++ /dev/null
@@ -1,18 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2019 Mellanox Technologies, Ltd
-#
-
-#include "defconfig_arm64-armv8a-linux-gcc"
-
-# Mellanox BlueField
-CONFIG_RTE_ARCH_ARM_TUNE="cortex-a72"
-
-CONFIG_RTE_MAX_NUMA_NODES=1
-CONFIG_RTE_CACHE_LINE_SIZE=64
-
-# UMA architecture
-CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=n
-CONFIG_RTE_LIBRTE_VHOST_NUMA=n
-
-# PMD for ConnectX-5
-CONFIG_RTE_LIBRTE_MLX5_PMD=y
diff --git a/config/defconfig_arm64-dpaa-linux-gcc b/config/defconfig_arm64-dpaa-linux-gcc
deleted file mode 120000
index dc05caacf3..0000000000
--- a/config/defconfig_arm64-dpaa-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_arm64-dpaa-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm64-dpaa-linuxapp-gcc b/config/defconfig_arm64-dpaa-linuxapp-gcc
deleted file mode 100644
index 4ae4cd8502..0000000000
--- a/config/defconfig_arm64-dpaa-linuxapp-gcc
+++ /dev/null
@@ -1,31 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2016 Freescale Semiconductor, Inc.
-# Copyright 2017-2019 NXP
-
-#include "defconfig_arm64-armv8a-linux-gcc"
-
-# NXP (Freescale) - Soc Architecture for DPAA or DPAA2 support
-# DPAA - FMAN, QMAN & BMAN support (e.g. LS1043, LS1046)
-# DPAA2 - WRIOP and QBMAN (e.g. LS1088, LS2088, LX2160 etc)
-#
-CONFIG_RTE_MACHINE="dpaa"
-CONFIG_RTE_ARCH_ARM_TUNE="cortex-a72"
-
-#
-# Compile Environment Abstraction Layer
-#
-CONFIG_RTE_MAX_LCORE=16
-CONFIG_RTE_MAX_NUMA_NODES=1
-CONFIG_RTE_CACHE_LINE_SIZE=64
-CONFIG_RTE_PKTMBUF_HEADROOM=128
-
-# Doesn't support NUMA
-CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=n
-CONFIG_RTE_LIBRTE_VHOST_NUMA=n
-
-# Enable PHY mode when using VM-VFIO target
-CONFIG_RTE_LIBRTE_DPAA2_USE_PHYS_IOVA=n
-
-# NXP DPAA Bus
-CONFIG_RTE_LIBRTE_DPAA_DEBUG_DRIVER=n
-CONFIG_RTE_LIBRTE_DPAA_HWDEBUG=n
diff --git a/config/defconfig_arm64-emag-linux-gcc b/config/defconfig_arm64-emag-linux-gcc
deleted file mode 120000
index 21894a31a8..0000000000
--- a/config/defconfig_arm64-emag-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_arm64-emag-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm64-emag-linuxapp-gcc b/config/defconfig_arm64-emag-linuxapp-gcc
deleted file mode 100644
index 1db654c899..0000000000
--- a/config/defconfig_arm64-emag-linuxapp-gcc
+++ /dev/null
@@ -1,11 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019 Ampere Computing
-#
-
-#include "defconfig_arm64-armv8a-linux-gcc"
-
-CONFIG_RTE_MACHINE="emag"
-
-CONFIG_RTE_CACHE_LINE_SIZE=64
-CONFIG_RTE_MAX_NUMA_NODES=1
-CONFIG_RTE_MAX_LCORE=32
diff --git a/config/defconfig_arm64-n1sdp-linux-gcc b/config/defconfig_arm64-n1sdp-linux-gcc
deleted file mode 120000
index 103bbea90f..0000000000
--- a/config/defconfig_arm64-n1sdp-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_arm64-n1sdp-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm64-n1sdp-linuxapp-gcc b/config/defconfig_arm64-n1sdp-linuxapp-gcc
deleted file mode 100644
index f9138093b5..0000000000
--- a/config/defconfig_arm64-n1sdp-linuxapp-gcc
+++ /dev/null
@@ -1,14 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019 Arm Ltd.
-#
-
-#include "defconfig_arm64-armv8a-linux-gcc"
-
-CONFIG_RTE_MACHINE="n1sdp"
-CONFIG_RTE_MAX_LCORE=4
-CONFIG_RTE_MAX_NUMA_NODES=1
-CONFIG_RTE_CACHE_LINE_SIZE=64
-
-# Doesn't support NUMA
-CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=n
-CONFIG_RTE_LIBRTE_VHOST_NUMA=n
diff --git a/config/defconfig_arm64-octeontx2-linux-gcc b/config/defconfig_arm64-octeontx2-linux-gcc
deleted file mode 120000
index e251505311..0000000000
--- a/config/defconfig_arm64-octeontx2-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_arm64-octeontx2-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm64-octeontx2-linuxapp-gcc b/config/defconfig_arm64-octeontx2-linuxapp-gcc
deleted file mode 100644
index 0d83becf54..0000000000
--- a/config/defconfig_arm64-octeontx2-linuxapp-gcc
+++ /dev/null
@@ -1,18 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Marvell International Ltd
-#
-
-#include "defconfig_arm64-armv8a-linux-gcc"
-
-CONFIG_RTE_MACHINE="octeontx2"
-
-CONFIG_RTE_MAX_NUMA_NODES=1
-CONFIG_RTE_MAX_LCORE=36
-CONFIG_RTE_ARM_FEATURE_ATOMICS=y
-
-# Doesn't support NUMA
-CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=n
-CONFIG_RTE_LIBRTE_VHOST_NUMA=n
-
-# Max supported NIX LFs
-CONFIG_RTE_MAX_VFIO_GROUPS=128
diff --git a/config/defconfig_arm64-stingray-linux-gcc b/config/defconfig_arm64-stingray-linux-gcc
deleted file mode 120000
index 829dd65f05..0000000000
--- a/config/defconfig_arm64-stingray-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_arm64-stingray-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm64-stingray-linuxapp-gcc b/config/defconfig_arm64-stingray-linuxapp-gcc
deleted file mode 100644
index 2a6f6cee28..0000000000
--- a/config/defconfig_arm64-stingray-linuxapp-gcc
+++ /dev/null
@@ -1,14 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright (C) Broadcom 2017-2018. All rights reserved.
-#
-
-#include "defconfig_arm64-armv8a-linux-gcc"
-
-# Broadcom - Stingray
-CONFIG_RTE_ARCH_ARM_TUNE="cortex-a72"
-
-# Doesn't support NUMA
-CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES=n
-CONFIG_RTE_LIBRTE_VHOST_NUMA=n
-
-CONFIG_RTE_EAL_IGB_UIO=y
diff --git a/config/defconfig_arm64-thunderx-linux-gcc b/config/defconfig_arm64-thunderx-linux-gcc
deleted file mode 120000
index 1b9c4ad211..0000000000
--- a/config/defconfig_arm64-thunderx-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_arm64-thunderx-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm64-thunderx-linuxapp-gcc b/config/defconfig_arm64-thunderx-linuxapp-gcc
deleted file mode 100644
index 946906b67a..0000000000
--- a/config/defconfig_arm64-thunderx-linuxapp-gcc
+++ /dev/null
@@ -1,17 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2015 Cavium, Inc
-#
-
-#include "defconfig_arm64-armv8a-linux-gcc"
-
-CONFIG_RTE_MACHINE="thunderx"
-
-CONFIG_RTE_USE_C11_MEM_MODEL=n
-CONFIG_RTE_MAX_NUMA_NODES=2
-CONFIG_RTE_MAX_LCORE=96
-CONFIG_RTE_MAX_VFIO_GROUPS=128
-
-#
-# Compile PMD for octeontx sso event device
-#
-CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF=y
diff --git a/config/defconfig_arm64-thunderx2-linux-gcc b/config/defconfig_arm64-thunderx2-linux-gcc
deleted file mode 120000
index b40a760b1d..0000000000
--- a/config/defconfig_arm64-thunderx2-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_arm64-thunderx2-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm64-thunderx2-linuxapp-gcc b/config/defconfig_arm64-thunderx2-linuxapp-gcc
deleted file mode 100644
index af4a89c480..0000000000
--- a/config/defconfig_arm64-thunderx2-linuxapp-gcc
+++ /dev/null
@@ -1,12 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Marvell International Ltd
-#
-
-#include "defconfig_arm64-armv8a-linux-gcc"
-
-CONFIG_RTE_MACHINE="thunderx2"
-
-CONFIG_RTE_CACHE_LINE_SIZE=64
-CONFIG_RTE_MAX_NUMA_NODES=2
-CONFIG_RTE_MAX_LCORE=256
-CONFIG_RTE_ARM_FEATURE_ATOMICS=y
diff --git a/config/defconfig_arm64-xgene1-linux-gcc b/config/defconfig_arm64-xgene1-linux-gcc
deleted file mode 120000
index d5e8b5e550..0000000000
--- a/config/defconfig_arm64-xgene1-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_arm64-xgene1-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_arm64-xgene1-linuxapp-gcc b/config/defconfig_arm64-xgene1-linuxapp-gcc
deleted file mode 100644
index fbf576c4aa..0000000000
--- a/config/defconfig_arm64-xgene1-linuxapp-gcc
+++ /dev/null
@@ -1,8 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2015 Cavium, Inc
-#
-
-#include "defconfig_arm64-armv8a-linux-gcc"
-
-CONFIG_RTE_MACHINE="xgene1"
-CONFIG_RTE_CACHE_LINE_SIZE=64
diff --git a/config/defconfig_i686-native-linux-gcc b/config/defconfig_i686-native-linux-gcc
deleted file mode 120000
index 927141d5dd..0000000000
--- a/config/defconfig_i686-native-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_i686-native-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_i686-native-linux-icc b/config/defconfig_i686-native-linux-icc
deleted file mode 120000
index e6a466b3e3..0000000000
--- a/config/defconfig_i686-native-linux-icc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_i686-native-linuxapp-icc
\ No newline at end of file
diff --git a/config/defconfig_i686-native-linuxapp-gcc b/config/defconfig_i686-native-linuxapp-gcc
deleted file mode 100644
index 61ea1606f4..0000000000
--- a/config/defconfig_i686-native-linuxapp-gcc
+++ /dev/null
@@ -1,66 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#include "common_linux"
-
-CONFIG_RTE_MACHINE="native"
-
-CONFIG_RTE_ARCH="i686"
-CONFIG_RTE_ARCH_I686=y
-CONFIG_RTE_ARCH_X86=y
-
-CONFIG_RTE_TOOLCHAIN="gcc"
-CONFIG_RTE_TOOLCHAIN_GCC=y
-
-#
-# KNI is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_KNI=n
-
-#
-# Solarflare PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_SFC_EFX_PMD=n
-
-#
-# AES-NI multi-buffer PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_PMD_AESNI_MB=n
-
-#
-# AES-NI GCM PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_PMD_AESNI_GCM=n
-
-#
-# KASUMI PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_PMD_KASUMI=n
-
-#
-# ZUC PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_PMD_ZUC=n
-
-#
-# AVP PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_AVP_PMD=n
-
-#
-# NFP PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_NFP_PMD=n
-
-# 32-bit doesn't break up memory in lists, but does have VA allocation limit
-CONFIG_RTE_MAX_MEM_MB=2048
-
-#
-# HINIC PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_HINIC_PMD=n
-
-#
-# HNS3 PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_HNS3_PMD=n
diff --git a/config/defconfig_i686-native-linuxapp-icc b/config/defconfig_i686-native-linuxapp-icc
deleted file mode 100644
index 7f614d3467..0000000000
--- a/config/defconfig_i686-native-linuxapp-icc
+++ /dev/null
@@ -1,66 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#include "common_linux"
-
-CONFIG_RTE_MACHINE="native"
-
-CONFIG_RTE_ARCH="i686"
-CONFIG_RTE_ARCH_I686=y
-CONFIG_RTE_ARCH_X86=y
-
-CONFIG_RTE_TOOLCHAIN="icc"
-CONFIG_RTE_TOOLCHAIN_ICC=y
-
-#
-# KNI is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_KNI=n
-
-#
-# Solarflare PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_SFC_EFX_PMD=n
-
-#
-# AES-NI multi-buffer PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_PMD_AESNI_MB=n
-
-#
-# AES-NI GCM PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_PMD_AESNI_GCM=n
-
-#
-# KASUMI PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_PMD_KASUMI=n
-
-#
-# ZUC PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_PMD_ZUC=n
-
-#
-# AVP PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_AVP_PMD=n
-
-#
-# NFP PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_NFP_PMD=n
-
-# 32-bit doesn't break up memory in lists, but does have VA allocation limit
-CONFIG_RTE_MAX_MEM_MB=2048
-
-#
-# HINIC PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_HINIC_PMD=n
-
-#
-# HNS3 PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_HNS3_PMD=n
diff --git a/config/defconfig_ppc_64-power8-linux-gcc b/config/defconfig_ppc_64-power8-linux-gcc
deleted file mode 120000
index 580c92e12e..0000000000
--- a/config/defconfig_ppc_64-power8-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_ppc_64-power8-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_ppc_64-power8-linuxapp-gcc b/config/defconfig_ppc_64-power8-linuxapp-gcc
deleted file mode 100644
index c917c47746..0000000000
--- a/config/defconfig_ppc_64-power8-linuxapp-gcc
+++ /dev/null
@@ -1,35 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright (C) IBM Corporation 2014.
-
-#include "common_linux"
-
-CONFIG_RTE_MACHINE="power8"
-
-CONFIG_RTE_ARCH="ppc_64"
-CONFIG_RTE_ARCH_PPC_64=y
-CONFIG_RTE_ARCH_64=y
-
-CONFIG_RTE_MAX_LCORE=1536
-CONFIG_RTE_MAX_NUMA_NODES=32
-CONFIG_RTE_CACHE_LINE_SIZE=128
-
-CONFIG_RTE_TOOLCHAIN="gcc"
-CONFIG_RTE_TOOLCHAIN_GCC=y
-
-# Note: Power doesn't have this support
-CONFIG_RTE_LIBRTE_EAL_VMWARE_TSC_MAP_SUPPORT=n
-
-# Note: Initially, all of the PMD drivers compilation are turned off on Power
-# Will turn on them only after the successful testing on Power
-CONFIG_RTE_LIBRTE_ATLANTIC_PMD=n
-CONFIG_RTE_LIBRTE_IXGBE_PMD=n
-CONFIG_RTE_LIBRTE_VIRTIO_PMD=y
-CONFIG_RTE_LIBRTE_VMXNET3_PMD=n
-CONFIG_RTE_LIBRTE_ENIC_PMD=n
-CONFIG_RTE_LIBRTE_FM10K_PMD=n
-CONFIG_RTE_LIBRTE_SFC_EFX_PMD=n
-CONFIG_RTE_LIBRTE_AVP_PMD=n
-CONFIG_RTE_LIBRTE_HINIC_PMD=n
-CONFIG_RTE_LIBRTE_HNS3_PMD=n
-CONFIG_RTE_LIBRTE_PMD_IOAT_RAWDEV=n
-CONFIG_RTE_LIBRTE_IONIC_PMD=n
diff --git a/config/defconfig_x86_64-native-bsdapp-clang b/config/defconfig_x86_64-native-bsdapp-clang
deleted file mode 100644
index 7204738e14..0000000000
--- a/config/defconfig_x86_64-native-bsdapp-clang
+++ /dev/null
@@ -1,14 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#include "common_freebsd"
-
-CONFIG_RTE_MACHINE="native"
-
-CONFIG_RTE_ARCH="x86_64"
-CONFIG_RTE_ARCH_X86_64=y
-CONFIG_RTE_ARCH_X86=y
-CONFIG_RTE_ARCH_64=y
-
-CONFIG_RTE_TOOLCHAIN="clang"
-CONFIG_RTE_TOOLCHAIN_CLANG=y
diff --git a/config/defconfig_x86_64-native-bsdapp-gcc b/config/defconfig_x86_64-native-bsdapp-gcc
deleted file mode 100644
index b24e2e6d5a..0000000000
--- a/config/defconfig_x86_64-native-bsdapp-gcc
+++ /dev/null
@@ -1,14 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#include "common_freebsd"
-
-CONFIG_RTE_MACHINE="native"
-
-CONFIG_RTE_ARCH="x86_64"
-CONFIG_RTE_ARCH_X86_64=y
-CONFIG_RTE_ARCH_X86=y
-CONFIG_RTE_ARCH_64=y
-
-CONFIG_RTE_TOOLCHAIN="gcc"
-CONFIG_RTE_TOOLCHAIN_GCC=y
diff --git a/config/defconfig_x86_64-native-freebsd-clang b/config/defconfig_x86_64-native-freebsd-clang
deleted file mode 120000
index 76115fd5a6..0000000000
--- a/config/defconfig_x86_64-native-freebsd-clang
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_x86_64-native-bsdapp-clang
\ No newline at end of file
diff --git a/config/defconfig_x86_64-native-freebsd-gcc b/config/defconfig_x86_64-native-freebsd-gcc
deleted file mode 120000
index 72dd4b44be..0000000000
--- a/config/defconfig_x86_64-native-freebsd-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_x86_64-native-bsdapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_x86_64-native-linux-clang b/config/defconfig_x86_64-native-linux-clang
deleted file mode 120000
index 3bcf89d6a4..0000000000
--- a/config/defconfig_x86_64-native-linux-clang
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_x86_64-native-linuxapp-clang
\ No newline at end of file
diff --git a/config/defconfig_x86_64-native-linux-gcc b/config/defconfig_x86_64-native-linux-gcc
deleted file mode 120000
index d707965941..0000000000
--- a/config/defconfig_x86_64-native-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_x86_64-native-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_x86_64-native-linux-icc b/config/defconfig_x86_64-native-linux-icc
deleted file mode 120000
index a36b47131a..0000000000
--- a/config/defconfig_x86_64-native-linux-icc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_x86_64-native-linuxapp-icc
\ No newline at end of file
diff --git a/config/defconfig_x86_64-native-linuxapp-clang b/config/defconfig_x86_64-native-linuxapp-clang
deleted file mode 100644
index 7508c0f2da..0000000000
--- a/config/defconfig_x86_64-native-linuxapp-clang
+++ /dev/null
@@ -1,14 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#include "common_linux"
-
-CONFIG_RTE_MACHINE="native"
-
-CONFIG_RTE_ARCH="x86_64"
-CONFIG_RTE_ARCH_X86_64=y
-CONFIG_RTE_ARCH_X86=y
-CONFIG_RTE_ARCH_64=y
-
-CONFIG_RTE_TOOLCHAIN="clang"
-CONFIG_RTE_TOOLCHAIN_CLANG=y
diff --git a/config/defconfig_x86_64-native-linuxapp-gcc b/config/defconfig_x86_64-native-linuxapp-gcc
deleted file mode 100644
index db67066a57..0000000000
--- a/config/defconfig_x86_64-native-linuxapp-gcc
+++ /dev/null
@@ -1,14 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#include "common_linux"
-
-CONFIG_RTE_MACHINE="native"
-
-CONFIG_RTE_ARCH="x86_64"
-CONFIG_RTE_ARCH_X86_64=y
-CONFIG_RTE_ARCH_X86=y
-CONFIG_RTE_ARCH_64=y
-
-CONFIG_RTE_TOOLCHAIN="gcc"
-CONFIG_RTE_TOOLCHAIN_GCC=y
diff --git a/config/defconfig_x86_64-native-linuxapp-icc b/config/defconfig_x86_64-native-linuxapp-icc
deleted file mode 100644
index 8aa7af7e20..0000000000
--- a/config/defconfig_x86_64-native-linuxapp-icc
+++ /dev/null
@@ -1,29 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#include "common_linux"
-
-CONFIG_RTE_MACHINE="native"
-
-CONFIG_RTE_ARCH="x86_64"
-CONFIG_RTE_ARCH_X86_64=y
-CONFIG_RTE_ARCH_X86=y
-CONFIG_RTE_ARCH_64=y
-
-CONFIG_RTE_TOOLCHAIN="icc"
-CONFIG_RTE_TOOLCHAIN_ICC=y
-
-#
-# Solarflare PMD build is not supported using icc toolchain
-#
-CONFIG_RTE_LIBRTE_SFC_EFX_PMD=n
-
-#
-# HINIC PMD build is not supported using icc toolchain
-#
-CONFIG_RTE_LIBRTE_HINIC_PMD=n
-
-#
-# HNS3 PMD build is not supported using icc toolchain
-#
-CONFIG_RTE_LIBRTE_HNS3_PMD=n
diff --git a/config/defconfig_x86_x32-native-linux-gcc b/config/defconfig_x86_x32-native-linux-gcc
deleted file mode 120000
index 7ea00cecb3..0000000000
--- a/config/defconfig_x86_x32-native-linux-gcc
+++ /dev/null
@@ -1 +0,0 @@
-defconfig_x86_x32-native-linuxapp-gcc
\ No newline at end of file
diff --git a/config/defconfig_x86_x32-native-linuxapp-gcc b/config/defconfig_x86_x32-native-linuxapp-gcc
deleted file mode 100644
index c188f4331c..0000000000
--- a/config/defconfig_x86_x32-native-linuxapp-gcc
+++ /dev/null
@@ -1,46 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#include "common_linux"
-
-CONFIG_RTE_MACHINE="native"
-
-CONFIG_RTE_ARCH="x86_x32"
-CONFIG_RTE_ARCH_X86_X32=y
-CONFIG_RTE_ARCH_X86=y
-
-CONFIG_RTE_TOOLCHAIN="gcc"
-CONFIG_RTE_TOOLCHAIN_GCC=y
-
-#
-# KNI is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_KNI=n
-
-#
-# Solarflare PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_SFC_EFX_PMD=n
-
-#
-# AVP PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_AVP_PMD=n
-
-#
-# NFP PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_NFP_PMD=n
-
-# 32-bit doesn't break up memory in lists, but does have VA allocation limit
-CONFIG_RTE_MAX_MEM_MB=2048
-
-#
-# HINIC PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_HINIC_PMD=n
-
-#
-# HNS3 PMD is not supported on 32-bit
-#
-CONFIG_RTE_LIBRTE_HNS3_PMD=n
-- 
2.17.1


^ permalink raw reply	[relevance 1%]

* [dpdk-dev] [PATCH v2 10/37] build: remove makefiles and mk directory
  @ 2020-08-20 12:41  1%   ` Ciara Power
  2020-08-20 12:41  1%   ` [dpdk-dev] [PATCH v2 11/37] config: remove all config files used by make Ciara Power
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 200+ results
From: Ciara Power @ 2020-08-20 12:41 UTC (permalink / raw)
  To: dev
  Cc: Ciara Power, Thomas Monjalon, Reshma Pattan, Maryam Tahhan,
	Konstantin Ananyev, Nicolas Chautru, Olivier Matz,
	Declan Doherty, Jerin Jacob, Vladimir Medvedkin, Wisam Jaddo,
	Cristian Dumitrescu, Wenzhuo Lu, Beilei Xing, Bernard Iremonger,
	Ori Kam, Neil Horman, Hemant Agrawal, Sachin Saxena, Rosen Xu,
	Stephen Hemminger, Long Li, Anoob Joseph, Jingjing Wu,
	Matan Azrad, Shahaf Shuler, Viacheslav Ovsiienko, Liron Himi,
	Harman Kalra, Nithin Dabilpuram, Fiona Trahe, John Griffin,
	Deepak Kumar Jain, Ashish Gupta, Lee Daly, Sunila Sahu,
	Pablo de Lara, Ruifeng Wang, Gagandeep Singh,
	Somalapuram Amaranath, Akhil Goyal, Michael Shamis,
	Nagadheeraj Rottela, Srikanth Jampala, Ankur Dwivedi, Fan Zhang,
	Jay Zhou, Nipun Gupta, Mattias Rönnblom, Pavan Nikhilesh,
	Liang Ma, Peter Mccarthy, Harry van Haaren, Artem V. Andreev,
	Andrew Rybchenko, Gage Eads, John W. Linville, Ciara Loftus,
	Qi Zhang, Shepard Siegel, Ed Czeck, John Miller, Igor Russkikh,
	Pavel Belous, Steven Webster, Matt Peters, Rasesh Mody,
	Shahed Shaikh, Ajit Khaparde, Somnath Kotur, Chas Williams,
	Wei Hu (Xavier),
	Rahul Lakkireddy, Wei Zhao, Jeff Guo, Marcin Wojtas,
	Michal Krawczyk, Guy Tzalik, Evgeny Schemeilin, Igor Chauskin,
	John Daley, Hyong Youb Kim, Gaetan Rivet, Xiao Wang, Ziyang Xuan,
	Xiaoyun Wang, Guoyang Zhou, Min Hu (Connor),
	Yisen Zhuang, Qiming Yang, Alfredo Cardigliano, Ferruh Yigit,
	Shijith Thotton, Srisivasubramanian Srinivasan, Jakub Grajciar,
	Zyta Szpak, K. Y. Srinivasan, Haiyang Zhang, Martin Spinler,
	Heinrich Kuhn, Tetsuya Mukawa, Kiran Kumar K, Bruce Richardson,
	Jasvinder Singh, Keith Wiles, Maciej Czekaj, Maxime Coquelin,
	Chenbo Xia, Zhihong Wang, Yong Wang, Tianfei zhang, Xiaoyun Li,
	Satha Rao, Mahipal Challa, David Hunt, Byron Marohn, Yipeng Wang,
	Jiayu Hu, Sameh Gobriel, Honnappa Nagarahalli, Kevin Laatz,
	Robert Sanford, Erik Gabriel Carrillo, Anatoly Burakov

A decision was made [1] to no longer support Make in DPDK, this patch
removes all Makefiles that do not make use of pkg-config, along with
the mk directory previously used by make.

[1] https://mails.dpdk.org/archives/dev/2020-April/162839.html

Signed-off-by: Ciara Power <ciara.power@intel.com>
---
 GNUmakefile                                |  17 -
 MAINTAINERS                                |   4 -
 app/Makefile                               |  34 --
 app/pdump/Makefile                         |  18 -
 app/proc-info/Makefile                     |  14 -
 app/test-acl/Makefile                      |  17 -
 app/test-bbdev/Makefile                    |  30 --
 app/test-cmdline/Makefile                  |  24 -
 app/test-compress-perf/Makefile            |  19 -
 app/test-crypto-perf/Makefile              |  28 --
 app/test-eventdev/Makefile                 |  32 --
 app/test-fib/Makefile                      |  18 -
 app/test-flow-perf/Makefile                |  26 --
 app/test-pipeline/Makefile                 |  33 --
 app/test-pmd/Makefile                      |  73 ---
 app/test-regex/Makefile                    |  13 -
 app/test-sad/Makefile                      |  17 -
 app/test/Makefile                          | 310 -------------
 buildtools/Makefile                        |   9 -
 buildtools/pmdinfogen/Makefile             |  20 -
 drivers/Makefile                           |  34 --
 drivers/baseband/Makefile                  |  18 -
 drivers/baseband/fpga_5gnr_fec/Makefile    |  28 --
 drivers/baseband/fpga_lte_fec/Makefile     |  25 -
 drivers/baseband/null/Makefile             |  21 -
 drivers/baseband/turbo_sw/Makefile         |  52 ---
 drivers/bus/Makefile                       |  15 -
 drivers/bus/dpaa/Makefile                  |  48 --
 drivers/bus/fslmc/Makefile                 |  47 --
 drivers/bus/ifpga/Makefile                 |  28 --
 drivers/bus/pci/Makefile                   |  33 --
 drivers/bus/pci/bsd/Makefile               |   4 -
 drivers/bus/pci/linux/Makefile             |   6 -
 drivers/bus/vdev/Makefile                  |  27 --
 drivers/bus/vmbus/Makefile                 |  33 --
 drivers/bus/vmbus/linux/Makefile           |   3 -
 drivers/common/Makefile                    |  39 --
 drivers/common/cpt/Makefile                |  24 -
 drivers/common/dpaax/Makefile              |  30 --
 drivers/common/iavf/Makefile               |  27 --
 drivers/common/mlx5/Makefile               | 404 ----------------
 drivers/common/mvep/Makefile               |  35 --
 drivers/common/octeontx/Makefile           |  22 -
 drivers/common/octeontx2/Makefile          |  39 --
 drivers/common/qat/Makefile                |  74 ---
 drivers/compress/Makefile                  |  10 -
 drivers/compress/isal/Makefile             |  27 --
 drivers/compress/octeontx/Makefile         |  26 --
 drivers/compress/zlib/Makefile             |  25 -
 drivers/crypto/Makefile                    |  31 --
 drivers/crypto/aesni_gcm/Makefile          |  43 --
 drivers/crypto/aesni_mb/Makefile           |  42 --
 drivers/crypto/armv8/Makefile              |  36 --
 drivers/crypto/caam_jr/Makefile            |  39 --
 drivers/crypto/ccp/Makefile                |  32 --
 drivers/crypto/dpaa2_sec/Makefile          |  45 --
 drivers/crypto/dpaa_sec/Makefile           |  38 --
 drivers/crypto/kasumi/Makefile             |  42 --
 drivers/crypto/mvsam/Makefile              |  40 --
 drivers/crypto/nitrox/Makefile             |  30 --
 drivers/crypto/null/Makefile               |  27 --
 drivers/crypto/octeontx/Makefile           |  36 --
 drivers/crypto/octeontx2/Makefile          |  49 --
 drivers/crypto/openssl/Makefile            |  26 --
 drivers/crypto/scheduler/Makefile          |  34 --
 drivers/crypto/snow3g/Makefile             |  43 --
 drivers/crypto/virtio/Makefile             |  33 --
 drivers/crypto/zuc/Makefile                |  42 --
 drivers/event/Makefile                     |  20 -
 drivers/event/dpaa/Makefile                |  39 --
 drivers/event/dpaa2/Makefile               |  41 --
 drivers/event/dsw/Makefile                 |  26 --
 drivers/event/octeontx/Makefile            |  51 ---
 drivers/event/octeontx2/Makefile           |  47 --
 drivers/event/opdl/Makefile                |  29 --
 drivers/event/skeleton/Makefile            |  24 -
 drivers/event/sw/Makefile                  |  29 --
 drivers/mempool/Makefile                   |  18 -
 drivers/mempool/bucket/Makefile            |  25 -
 drivers/mempool/dpaa/Makefile              |  30 --
 drivers/mempool/dpaa2/Makefile             |  31 --
 drivers/mempool/octeontx/Makefile          |  39 --
 drivers/mempool/octeontx2/Makefile         |  40 --
 drivers/mempool/ring/Makefile              |  19 -
 drivers/mempool/stack/Makefile             |  22 -
 drivers/net/Makefile                       |  84 ----
 drivers/net/af_packet/Makefile             |  27 --
 drivers/net/af_xdp/Makefile                |  26 --
 drivers/net/ark/Makefile                   |  39 --
 drivers/net/atlantic/Makefile              |  34 --
 drivers/net/avp/Makefile                   |  29 --
 drivers/net/axgbe/Makefile                 |  33 --
 drivers/net/bnx2x/Makefile                 |  33 --
 drivers/net/bnxt/Makefile                  |  63 ---
 drivers/net/bnxt/hcapi/Makefile            |   5 -
 drivers/net/bnxt/tf_core/Makefile          |  31 --
 drivers/net/bnxt/tf_ulp/Makefile           |  20 -
 drivers/net/bonding/Makefile               |  36 --
 drivers/net/cxgbe/Makefile                 |  57 ---
 drivers/net/dpaa/Makefile                  |  41 --
 drivers/net/dpaa2/Makefile                 |  47 --
 drivers/net/e1000/Makefile                 |  79 ----
 drivers/net/ena/Makefile                   |  30 --
 drivers/net/enetc/Makefile                 |  23 -
 drivers/net/enic/Makefile                  |  68 ---
 drivers/net/failsafe/Makefile              |  43 --
 drivers/net/fm10k/Makefile                 |  77 ----
 drivers/net/hinic/Makefile                 |  67 ---
 drivers/net/hns3/Makefile                  |  42 --
 drivers/net/i40e/Makefile                  | 112 -----
 drivers/net/iavf/Makefile                  |  54 ---
 drivers/net/ice/Makefile                   |  96 ----
 drivers/net/igc/Makefile                   |  40 --
 drivers/net/ionic/Makefile                 |  31 --
 drivers/net/ipn3ke/Makefile                |  38 --
 drivers/net/ixgbe/Makefile                 | 110 -----
 drivers/net/kni/Makefile                   |  30 --
 drivers/net/liquidio/Makefile              |  30 --
 drivers/net/memif/Makefile                 |  26 --
 drivers/net/mlx4/Makefile                  | 142 ------
 drivers/net/mlx5/Makefile                  |  82 ----
 drivers/net/mvneta/Makefile                |  39 --
 drivers/net/mvpp2/Makefile                 |  42 --
 drivers/net/netvsc/Makefile                |  21 -
 drivers/net/nfb/Makefile                   |  40 --
 drivers/net/nfp/Makefile                   |  41 --
 drivers/net/null/Makefile                  |  24 -
 drivers/net/octeontx/Makefile              |  53 ---
 drivers/net/octeontx2/Makefile             |  63 ---
 drivers/net/pcap/Makefile                  |  32 --
 drivers/net/pfe/Makefile                   |  31 --
 drivers/net/qede/Makefile                  | 109 -----
 drivers/net/ring/Makefile                  |  29 --
 drivers/net/sfc/Makefile                   | 133 ------
 drivers/net/softnic/Makefile               |  54 ---
 drivers/net/szedata2/Makefile              |  30 --
 drivers/net/tap/Makefile                   |  97 ----
 drivers/net/thunderx/Makefile              |  41 --
 drivers/net/vdev_netvsc/Makefile           |  30 --
 drivers/net/vhost/Makefile                 |  31 --
 drivers/net/virtio/Makefile                |  82 ----
 drivers/net/vmxnet3/Makefile               |  53 ---
 drivers/raw/Makefile                       |  18 -
 drivers/raw/dpaa2_cmdif/Makefile           |  35 --
 drivers/raw/dpaa2_qdma/Makefile            |  36 --
 drivers/raw/ifpga/Makefile                 |  39 --
 drivers/raw/ifpga/base/Makefile            |  32 --
 drivers/raw/ioat/Makefile                  |  28 --
 drivers/raw/ntb/Makefile                   |  28 --
 drivers/raw/octeontx2_dma/Makefile         |  34 --
 drivers/raw/octeontx2_ep/Makefile          |  42 --
 drivers/raw/skeleton/Makefile              |  26 --
 drivers/regex/Makefile                     |   8 -
 drivers/regex/mlx5/Makefile                |  41 --
 drivers/vdpa/Makefile                      |  12 -
 drivers/vdpa/ifc/Makefile                  |  33 --
 drivers/vdpa/mlx5/Makefile                 |  58 ---
 examples/Makefile                          |  90 ----
 kernel/Makefile                            |   9 -
 kernel/freebsd/Makefile                    |   9 -
 kernel/freebsd/contigmem/Makefile          |  24 -
 kernel/freebsd/nic_uio/Makefile            |  24 -
 kernel/linux/Makefile                      |   9 -
 kernel/linux/igb_uio/Makefile              |  25 -
 kernel/linux/kni/Makefile                  |  34 --
 lib/Makefile                               | 138 ------
 lib/librte_acl/Makefile                    |  65 ---
 lib/librte_bbdev/Makefile                  |  25 -
 lib/librte_bitratestats/Makefile           |  20 -
 lib/librte_bpf/Makefile                    |  40 --
 lib/librte_cfgfile/Makefile                |  26 --
 lib/librte_cmdline/Makefile                |  34 --
 lib/librte_compressdev/Makefile            |  27 --
 lib/librte_cryptodev/Makefile              |  30 --
 lib/librte_distributor/Makefile            |  28 --
 lib/librte_eal/Makefile                    |  12 -
 lib/librte_eal/freebsd/Makefile            | 104 -----
 lib/librte_eal/include/Makefile            |  19 -
 lib/librte_eal/linux/Makefile              | 112 -----
 lib/librte_efd/Makefile                    |  21 -
 lib/librte_ethdev/Makefile                 |  46 --
 lib/librte_eventdev/Makefile               |  47 --
 lib/librte_fib/Makefile                    |  22 -
 lib/librte_flow_classify/Makefile          |  23 -
 lib/librte_graph/Makefile                  |  28 --
 lib/librte_gro/Makefile                    |  23 -
 lib/librte_gso/Makefile                    |  25 -
 lib/librte_hash/Makefile                   |  31 --
 lib/librte_ip_frag/Makefile                |  27 --
 lib/librte_ipsec/Makefile                  |  29 --
 lib/librte_jobstats/Makefile               |  21 -
 lib/librte_kni/Makefile                    |  20 -
 lib/librte_kvargs/Makefile                 |  21 -
 lib/librte_latencystats/Makefile           |  22 -
 lib/librte_lpm/Makefile                    |  29 --
 lib/librte_mbuf/Makefile                   |  26 --
 lib/librte_member/Makefile                 |  22 -
 lib/librte_mempool/Makefile                |  24 -
 lib/librte_meter/Makefile                  |  27 --
 lib/librte_metrics/Makefile                |  30 --
 lib/librte_net/Makefile                    |  25 -
 lib/librte_node/Makefile                   |  33 --
 lib/librte_pci/Makefile                    |  19 -
 lib/librte_pdump/Makefile                  |  20 -
 lib/librte_pipeline/Makefile               |  28 --
 lib/librte_port/Makefile                   |  59 ---
 lib/librte_power/Makefile                  |  24 -
 lib/librte_rawdev/Makefile                 |  24 -
 lib/librte_rcu/Makefile                    |  20 -
 lib/librte_regexdev/Makefile               |  32 --
 lib/librte_reorder/Makefile                |  21 -
 lib/librte_rib/Makefile                    |  22 -
 lib/librte_ring/Makefile                   |  30 --
 lib/librte_sched/Makefile                  |  29 --
 lib/librte_security/Makefile               |  24 -
 lib/librte_stack/Makefile                  |  27 --
 lib/librte_table/Makefile                  |  59 ---
 lib/librte_telemetry/Makefile              |  30 --
 lib/librte_timer/Makefile                  |  20 -
 lib/librte_vhost/Makefile                  |  54 ---
 mk/arch/arm/rte.vars.mk                    |  16 -
 mk/arch/arm64/rte.vars.mk                  |  37 --
 mk/arch/i686/rte.vars.mk                   |  36 --
 mk/arch/ppc_64/rte.vars.mk                 |  17 -
 mk/arch/x86_64/rte.vars.mk                 |  36 --
 mk/arch/x86_x32/rte.vars.mk                |  40 --
 mk/exec-env/bsdapp                         |   1 -
 mk/exec-env/freebsd/rte.app.mk             |   8 -
 mk/exec-env/freebsd/rte.vars.mk            |  36 --
 mk/exec-env/linux/rte.app.mk               |   8 -
 mk/exec-env/linux/rte.vars.mk              |  44 --
 mk/exec-env/linuxapp                       |   1 -
 mk/internal/rte.build-post.mk              |  34 --
 mk/internal/rte.build-pre.mk               |   7 -
 mk/internal/rte.clean-post.mk              |  34 --
 mk/internal/rte.clean-pre.mk               |   4 -
 mk/internal/rte.compile-post.mk            |   5 -
 mk/internal/rte.compile-pre.mk             | 164 -------
 mk/internal/rte.extvars.mk                 |  55 ---
 mk/internal/rte.install-post.mk            |  71 ---
 mk/internal/rte.install-pre.mk             |  32 --
 mk/machine/armv7a/rte.vars.mk              |  36 --
 mk/machine/armv8a/rte.vars.mk              |  31 --
 mk/machine/default/rte.vars.mk             |  30 --
 mk/machine/dpaa/rte.vars.mk                |  37 --
 mk/machine/emag/rte.vars.mk                |  32 --
 mk/machine/hsw/rte.vars.mk                 |  30 --
 mk/machine/ivb/rte.vars.mk                 |  30 --
 mk/machine/n1sdp/rte.vars.mk               |  34 --
 mk/machine/native/rte.vars.mk              |  39 --
 mk/machine/nhm/rte.vars.mk                 |  30 --
 mk/machine/octeontx2/rte.vars.mk           |  34 --
 mk/machine/power8/rte.vars.mk              |  30 --
 mk/machine/silvermont/rte.vars.mk          |  30 --
 mk/machine/snb/rte.vars.mk                 |  30 --
 mk/machine/thunderx/rte.vars.mk            |  31 --
 mk/machine/thunderx2/rte.vars.mk           |  34 --
 mk/machine/wsm/rte.vars.mk                 |  30 --
 mk/machine/xgene1/rte.vars.mk              |  31 --
 mk/rte.app.mk                              | 509 ---------------------
 mk/rte.bsdmodule.mk                        |  89 ----
 mk/rte.combinedlib.mk                      |  30 --
 mk/rte.cpuflags.mk                         | 124 -----
 mk/rte.extapp.mk                           |  24 -
 mk/rte.extlib.mk                           |  26 --
 mk/rte.extobj.mk                           |  24 -
 mk/rte.extshared.mk                        |  26 --
 mk/rte.extsubdir.mk                        |  39 --
 mk/rte.gnuconfigure.mk                     |  44 --
 mk/rte.helper.mk                           |  10 -
 mk/rte.hostapp.mk                          |  93 ----
 mk/rte.hostlib.mk                          |  86 ----
 mk/rte.install.mk                          |  28 --
 mk/rte.lib.mk                              | 156 -------
 mk/rte.module.mk                           |  86 ----
 mk/rte.obj.mk                              |  82 ----
 mk/rte.sdkbuild.mk                         |  77 ----
 mk/rte.sdkconfig.mk                        | 142 ------
 mk/rte.sdkdepdirs.mk                       |   9 -
 mk/rte.sdkdoc.mk                           | 104 -----
 mk/rte.sdkexamples.mk                      |  50 --
 mk/rte.sdkgcov.mk                          |  39 --
 mk/rte.sdkinstall.mk                       | 152 ------
 mk/rte.sdkroot.mk                          | 115 -----
 mk/rte.sdktest.mk                          |  76 ---
 mk/rte.shared.mk                           | 108 -----
 mk/rte.subdir.mk                           |  65 ---
 mk/rte.vars.mk                             | 102 -----
 mk/target/generic/rte.app.mk               |  13 -
 mk/target/generic/rte.vars.mk              | 132 ------
 mk/toolchain/clang/rte.toolchain-compat.mk |  22 -
 mk/toolchain/clang/rte.vars.mk             |  60 ---
 mk/toolchain/gcc/rte.toolchain-compat.mk   | 120 -----
 mk/toolchain/gcc/rte.vars.mk               | 109 -----
 mk/toolchain/icc/rte.toolchain-compat.mk   |  58 ---
 mk/toolchain/icc/rte.vars.mk               |  62 ---
 296 files changed, 12992 deletions(-)
 delete mode 100644 GNUmakefile
 delete mode 100644 app/Makefile
 delete mode 100644 app/pdump/Makefile
 delete mode 100644 app/proc-info/Makefile
 delete mode 100644 app/test-acl/Makefile
 delete mode 100644 app/test-bbdev/Makefile
 delete mode 100644 app/test-cmdline/Makefile
 delete mode 100644 app/test-compress-perf/Makefile
 delete mode 100644 app/test-crypto-perf/Makefile
 delete mode 100644 app/test-eventdev/Makefile
 delete mode 100644 app/test-fib/Makefile
 delete mode 100644 app/test-flow-perf/Makefile
 delete mode 100644 app/test-pipeline/Makefile
 delete mode 100644 app/test-pmd/Makefile
 delete mode 100644 app/test-regex/Makefile
 delete mode 100644 app/test-sad/Makefile
 delete mode 100644 app/test/Makefile
 delete mode 100644 buildtools/Makefile
 delete mode 100644 buildtools/pmdinfogen/Makefile
 delete mode 100644 drivers/Makefile
 delete mode 100644 drivers/baseband/Makefile
 delete mode 100644 drivers/baseband/fpga_5gnr_fec/Makefile
 delete mode 100644 drivers/baseband/fpga_lte_fec/Makefile
 delete mode 100644 drivers/baseband/null/Makefile
 delete mode 100644 drivers/baseband/turbo_sw/Makefile
 delete mode 100644 drivers/bus/Makefile
 delete mode 100644 drivers/bus/dpaa/Makefile
 delete mode 100644 drivers/bus/fslmc/Makefile
 delete mode 100644 drivers/bus/ifpga/Makefile
 delete mode 100644 drivers/bus/pci/Makefile
 delete mode 100644 drivers/bus/pci/bsd/Makefile
 delete mode 100644 drivers/bus/pci/linux/Makefile
 delete mode 100644 drivers/bus/vdev/Makefile
 delete mode 100644 drivers/bus/vmbus/Makefile
 delete mode 100644 drivers/bus/vmbus/linux/Makefile
 delete mode 100644 drivers/common/Makefile
 delete mode 100644 drivers/common/cpt/Makefile
 delete mode 100644 drivers/common/dpaax/Makefile
 delete mode 100644 drivers/common/iavf/Makefile
 delete mode 100644 drivers/common/mlx5/Makefile
 delete mode 100644 drivers/common/mvep/Makefile
 delete mode 100644 drivers/common/octeontx/Makefile
 delete mode 100644 drivers/common/octeontx2/Makefile
 delete mode 100644 drivers/common/qat/Makefile
 delete mode 100644 drivers/compress/Makefile
 delete mode 100644 drivers/compress/isal/Makefile
 delete mode 100644 drivers/compress/octeontx/Makefile
 delete mode 100644 drivers/compress/zlib/Makefile
 delete mode 100644 drivers/crypto/Makefile
 delete mode 100644 drivers/crypto/aesni_gcm/Makefile
 delete mode 100644 drivers/crypto/aesni_mb/Makefile
 delete mode 100644 drivers/crypto/armv8/Makefile
 delete mode 100644 drivers/crypto/caam_jr/Makefile
 delete mode 100644 drivers/crypto/ccp/Makefile
 delete mode 100644 drivers/crypto/dpaa2_sec/Makefile
 delete mode 100644 drivers/crypto/dpaa_sec/Makefile
 delete mode 100644 drivers/crypto/kasumi/Makefile
 delete mode 100644 drivers/crypto/mvsam/Makefile
 delete mode 100644 drivers/crypto/nitrox/Makefile
 delete mode 100644 drivers/crypto/null/Makefile
 delete mode 100644 drivers/crypto/octeontx/Makefile
 delete mode 100644 drivers/crypto/octeontx2/Makefile
 delete mode 100644 drivers/crypto/openssl/Makefile
 delete mode 100644 drivers/crypto/scheduler/Makefile
 delete mode 100644 drivers/crypto/snow3g/Makefile
 delete mode 100644 drivers/crypto/virtio/Makefile
 delete mode 100644 drivers/crypto/zuc/Makefile
 delete mode 100644 drivers/event/Makefile
 delete mode 100644 drivers/event/dpaa/Makefile
 delete mode 100644 drivers/event/dpaa2/Makefile
 delete mode 100644 drivers/event/dsw/Makefile
 delete mode 100644 drivers/event/octeontx/Makefile
 delete mode 100644 drivers/event/octeontx2/Makefile
 delete mode 100644 drivers/event/opdl/Makefile
 delete mode 100644 drivers/event/skeleton/Makefile
 delete mode 100644 drivers/event/sw/Makefile
 delete mode 100644 drivers/mempool/Makefile
 delete mode 100644 drivers/mempool/bucket/Makefile
 delete mode 100644 drivers/mempool/dpaa/Makefile
 delete mode 100644 drivers/mempool/dpaa2/Makefile
 delete mode 100644 drivers/mempool/octeontx/Makefile
 delete mode 100644 drivers/mempool/octeontx2/Makefile
 delete mode 100644 drivers/mempool/ring/Makefile
 delete mode 100644 drivers/mempool/stack/Makefile
 delete mode 100644 drivers/net/Makefile
 delete mode 100644 drivers/net/af_packet/Makefile
 delete mode 100644 drivers/net/af_xdp/Makefile
 delete mode 100644 drivers/net/ark/Makefile
 delete mode 100644 drivers/net/atlantic/Makefile
 delete mode 100644 drivers/net/avp/Makefile
 delete mode 100644 drivers/net/axgbe/Makefile
 delete mode 100644 drivers/net/bnx2x/Makefile
 delete mode 100644 drivers/net/bnxt/Makefile
 delete mode 100644 drivers/net/bnxt/hcapi/Makefile
 delete mode 100644 drivers/net/bnxt/tf_core/Makefile
 delete mode 100644 drivers/net/bnxt/tf_ulp/Makefile
 delete mode 100644 drivers/net/bonding/Makefile
 delete mode 100644 drivers/net/cxgbe/Makefile
 delete mode 100644 drivers/net/dpaa/Makefile
 delete mode 100644 drivers/net/dpaa2/Makefile
 delete mode 100644 drivers/net/e1000/Makefile
 delete mode 100644 drivers/net/ena/Makefile
 delete mode 100644 drivers/net/enetc/Makefile
 delete mode 100644 drivers/net/enic/Makefile
 delete mode 100644 drivers/net/failsafe/Makefile
 delete mode 100644 drivers/net/fm10k/Makefile
 delete mode 100644 drivers/net/hinic/Makefile
 delete mode 100644 drivers/net/hns3/Makefile
 delete mode 100644 drivers/net/i40e/Makefile
 delete mode 100644 drivers/net/iavf/Makefile
 delete mode 100644 drivers/net/ice/Makefile
 delete mode 100644 drivers/net/igc/Makefile
 delete mode 100644 drivers/net/ionic/Makefile
 delete mode 100644 drivers/net/ipn3ke/Makefile
 delete mode 100644 drivers/net/ixgbe/Makefile
 delete mode 100644 drivers/net/kni/Makefile
 delete mode 100644 drivers/net/liquidio/Makefile
 delete mode 100644 drivers/net/memif/Makefile
 delete mode 100644 drivers/net/mlx4/Makefile
 delete mode 100644 drivers/net/mlx5/Makefile
 delete mode 100644 drivers/net/mvneta/Makefile
 delete mode 100644 drivers/net/mvpp2/Makefile
 delete mode 100644 drivers/net/netvsc/Makefile
 delete mode 100644 drivers/net/nfb/Makefile
 delete mode 100644 drivers/net/nfp/Makefile
 delete mode 100644 drivers/net/null/Makefile
 delete mode 100644 drivers/net/octeontx/Makefile
 delete mode 100644 drivers/net/octeontx2/Makefile
 delete mode 100644 drivers/net/pcap/Makefile
 delete mode 100644 drivers/net/pfe/Makefile
 delete mode 100644 drivers/net/qede/Makefile
 delete mode 100644 drivers/net/ring/Makefile
 delete mode 100644 drivers/net/sfc/Makefile
 delete mode 100644 drivers/net/softnic/Makefile
 delete mode 100644 drivers/net/szedata2/Makefile
 delete mode 100644 drivers/net/tap/Makefile
 delete mode 100644 drivers/net/thunderx/Makefile
 delete mode 100644 drivers/net/vdev_netvsc/Makefile
 delete mode 100644 drivers/net/vhost/Makefile
 delete mode 100644 drivers/net/virtio/Makefile
 delete mode 100644 drivers/net/vmxnet3/Makefile
 delete mode 100644 drivers/raw/Makefile
 delete mode 100644 drivers/raw/dpaa2_cmdif/Makefile
 delete mode 100644 drivers/raw/dpaa2_qdma/Makefile
 delete mode 100644 drivers/raw/ifpga/Makefile
 delete mode 100644 drivers/raw/ifpga/base/Makefile
 delete mode 100644 drivers/raw/ioat/Makefile
 delete mode 100644 drivers/raw/ntb/Makefile
 delete mode 100644 drivers/raw/octeontx2_dma/Makefile
 delete mode 100644 drivers/raw/octeontx2_ep/Makefile
 delete mode 100644 drivers/raw/skeleton/Makefile
 delete mode 100644 drivers/regex/Makefile
 delete mode 100644 drivers/regex/mlx5/Makefile
 delete mode 100644 drivers/vdpa/Makefile
 delete mode 100644 drivers/vdpa/ifc/Makefile
 delete mode 100644 drivers/vdpa/mlx5/Makefile
 delete mode 100644 examples/Makefile
 delete mode 100644 kernel/Makefile
 delete mode 100644 kernel/freebsd/Makefile
 delete mode 100644 kernel/freebsd/contigmem/Makefile
 delete mode 100644 kernel/freebsd/nic_uio/Makefile
 delete mode 100644 kernel/linux/Makefile
 delete mode 100644 kernel/linux/igb_uio/Makefile
 delete mode 100644 kernel/linux/kni/Makefile
 delete mode 100644 lib/Makefile
 delete mode 100644 lib/librte_acl/Makefile
 delete mode 100644 lib/librte_bbdev/Makefile
 delete mode 100644 lib/librte_bitratestats/Makefile
 delete mode 100644 lib/librte_bpf/Makefile
 delete mode 100644 lib/librte_cfgfile/Makefile
 delete mode 100644 lib/librte_cmdline/Makefile
 delete mode 100644 lib/librte_compressdev/Makefile
 delete mode 100644 lib/librte_cryptodev/Makefile
 delete mode 100644 lib/librte_distributor/Makefile
 delete mode 100644 lib/librte_eal/Makefile
 delete mode 100644 lib/librte_eal/freebsd/Makefile
 delete mode 100644 lib/librte_eal/include/Makefile
 delete mode 100644 lib/librte_eal/linux/Makefile
 delete mode 100644 lib/librte_efd/Makefile
 delete mode 100644 lib/librte_ethdev/Makefile
 delete mode 100644 lib/librte_eventdev/Makefile
 delete mode 100644 lib/librte_fib/Makefile
 delete mode 100644 lib/librte_flow_classify/Makefile
 delete mode 100644 lib/librte_graph/Makefile
 delete mode 100644 lib/librte_gro/Makefile
 delete mode 100644 lib/librte_gso/Makefile
 delete mode 100644 lib/librte_hash/Makefile
 delete mode 100644 lib/librte_ip_frag/Makefile
 delete mode 100644 lib/librte_ipsec/Makefile
 delete mode 100644 lib/librte_jobstats/Makefile
 delete mode 100644 lib/librte_kni/Makefile
 delete mode 100644 lib/librte_kvargs/Makefile
 delete mode 100644 lib/librte_latencystats/Makefile
 delete mode 100644 lib/librte_lpm/Makefile
 delete mode 100644 lib/librte_mbuf/Makefile
 delete mode 100644 lib/librte_member/Makefile
 delete mode 100644 lib/librte_mempool/Makefile
 delete mode 100644 lib/librte_meter/Makefile
 delete mode 100644 lib/librte_metrics/Makefile
 delete mode 100644 lib/librte_net/Makefile
 delete mode 100644 lib/librte_node/Makefile
 delete mode 100644 lib/librte_pci/Makefile
 delete mode 100644 lib/librte_pdump/Makefile
 delete mode 100644 lib/librte_pipeline/Makefile
 delete mode 100644 lib/librte_port/Makefile
 delete mode 100644 lib/librte_power/Makefile
 delete mode 100644 lib/librte_rawdev/Makefile
 delete mode 100644 lib/librte_rcu/Makefile
 delete mode 100644 lib/librte_regexdev/Makefile
 delete mode 100644 lib/librte_reorder/Makefile
 delete mode 100644 lib/librte_rib/Makefile
 delete mode 100644 lib/librte_ring/Makefile
 delete mode 100644 lib/librte_sched/Makefile
 delete mode 100644 lib/librte_security/Makefile
 delete mode 100644 lib/librte_stack/Makefile
 delete mode 100644 lib/librte_table/Makefile
 delete mode 100644 lib/librte_telemetry/Makefile
 delete mode 100644 lib/librte_timer/Makefile
 delete mode 100644 lib/librte_vhost/Makefile
 delete mode 100644 mk/arch/arm/rte.vars.mk
 delete mode 100644 mk/arch/arm64/rte.vars.mk
 delete mode 100644 mk/arch/i686/rte.vars.mk
 delete mode 100644 mk/arch/ppc_64/rte.vars.mk
 delete mode 100644 mk/arch/x86_64/rte.vars.mk
 delete mode 100644 mk/arch/x86_x32/rte.vars.mk
 delete mode 120000 mk/exec-env/bsdapp
 delete mode 100644 mk/exec-env/freebsd/rte.app.mk
 delete mode 100644 mk/exec-env/freebsd/rte.vars.mk
 delete mode 100644 mk/exec-env/linux/rte.app.mk
 delete mode 100644 mk/exec-env/linux/rte.vars.mk
 delete mode 120000 mk/exec-env/linuxapp
 delete mode 100644 mk/internal/rte.build-post.mk
 delete mode 100644 mk/internal/rte.build-pre.mk
 delete mode 100644 mk/internal/rte.clean-post.mk
 delete mode 100644 mk/internal/rte.clean-pre.mk
 delete mode 100644 mk/internal/rte.compile-post.mk
 delete mode 100644 mk/internal/rte.compile-pre.mk
 delete mode 100644 mk/internal/rte.extvars.mk
 delete mode 100644 mk/internal/rte.install-post.mk
 delete mode 100644 mk/internal/rte.install-pre.mk
 delete mode 100644 mk/machine/armv7a/rte.vars.mk
 delete mode 100644 mk/machine/armv8a/rte.vars.mk
 delete mode 100644 mk/machine/default/rte.vars.mk
 delete mode 100644 mk/machine/dpaa/rte.vars.mk
 delete mode 100644 mk/machine/emag/rte.vars.mk
 delete mode 100644 mk/machine/hsw/rte.vars.mk
 delete mode 100644 mk/machine/ivb/rte.vars.mk
 delete mode 100644 mk/machine/n1sdp/rte.vars.mk
 delete mode 100644 mk/machine/native/rte.vars.mk
 delete mode 100644 mk/machine/nhm/rte.vars.mk
 delete mode 100644 mk/machine/octeontx2/rte.vars.mk
 delete mode 100644 mk/machine/power8/rte.vars.mk
 delete mode 100644 mk/machine/silvermont/rte.vars.mk
 delete mode 100644 mk/machine/snb/rte.vars.mk
 delete mode 100644 mk/machine/thunderx/rte.vars.mk
 delete mode 100644 mk/machine/thunderx2/rte.vars.mk
 delete mode 100644 mk/machine/wsm/rte.vars.mk
 delete mode 100644 mk/machine/xgene1/rte.vars.mk
 delete mode 100644 mk/rte.app.mk
 delete mode 100644 mk/rte.bsdmodule.mk
 delete mode 100644 mk/rte.combinedlib.mk
 delete mode 100644 mk/rte.cpuflags.mk
 delete mode 100644 mk/rte.extapp.mk
 delete mode 100644 mk/rte.extlib.mk
 delete mode 100644 mk/rte.extobj.mk
 delete mode 100644 mk/rte.extshared.mk
 delete mode 100644 mk/rte.extsubdir.mk
 delete mode 100644 mk/rte.gnuconfigure.mk
 delete mode 100644 mk/rte.helper.mk
 delete mode 100644 mk/rte.hostapp.mk
 delete mode 100644 mk/rte.hostlib.mk
 delete mode 100644 mk/rte.install.mk
 delete mode 100644 mk/rte.lib.mk
 delete mode 100644 mk/rte.module.mk
 delete mode 100644 mk/rte.obj.mk
 delete mode 100644 mk/rte.sdkbuild.mk
 delete mode 100644 mk/rte.sdkconfig.mk
 delete mode 100644 mk/rte.sdkdepdirs.mk
 delete mode 100644 mk/rte.sdkdoc.mk
 delete mode 100644 mk/rte.sdkexamples.mk
 delete mode 100644 mk/rte.sdkgcov.mk
 delete mode 100644 mk/rte.sdkinstall.mk
 delete mode 100644 mk/rte.sdkroot.mk
 delete mode 100644 mk/rte.sdktest.mk
 delete mode 100644 mk/rte.shared.mk
 delete mode 100644 mk/rte.subdir.mk
 delete mode 100644 mk/rte.vars.mk
 delete mode 100644 mk/target/generic/rte.app.mk
 delete mode 100644 mk/target/generic/rte.vars.mk
 delete mode 100644 mk/toolchain/clang/rte.toolchain-compat.mk
 delete mode 100644 mk/toolchain/clang/rte.vars.mk
 delete mode 100644 mk/toolchain/gcc/rte.toolchain-compat.mk
 delete mode 100644 mk/toolchain/gcc/rte.vars.mk
 delete mode 100644 mk/toolchain/icc/rte.toolchain-compat.mk
 delete mode 100644 mk/toolchain/icc/rte.vars.mk

diff --git a/GNUmakefile b/GNUmakefile
deleted file mode 100644
index e8de422df8..0000000000
--- a/GNUmakefile
+++ /dev/null
@@ -1,17 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2015 Intel Corporation
-
-#
-# Head Makefile for compiling rte SDK
-#
-
-RTE_SDK := $(CURDIR)
-export RTE_SDK
-
-#
-# directory list
-#
-
-ROOTDIRS-y := buildtools lib kernel drivers app
-
-include $(RTE_SDK)/mk/rte.sdkroot.mk
diff --git a/MAINTAINERS b/MAINTAINERS
index ed163f5d59..ccaecabea0 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -100,10 +100,8 @@ F: .editorconfig
 Build System
 ------------
 M: Thomas Monjalon <thomas@monjalon.net>
-F: GNUmakefile
 F: Makefile
 F: config/
-F: mk/
 F: buildtools/auto-config-h.sh
 F: buildtools/gen-build-mk.sh
 F: buildtools/gen-config-h.sh
@@ -354,7 +352,6 @@ Memory pool
 M: Olivier Matz <olivier.matz@6wind.com>
 M: Andrew Rybchenko <arybchenko@solarflare.com>
 F: lib/librte_mempool/
-F: drivers/mempool/Makefile
 F: drivers/mempool/ring/
 F: doc/guides/prog_guide/mempool_lib.rst
 F: app/test/test_mempool*
@@ -1519,7 +1516,6 @@ Test Applications
 -----------------
 
 Unit tests framework
-F: app/test/Makefile
 F: app/test/autotest*
 F: app/test/commands.c
 F: app/test/get-coremask.sh
diff --git a/app/Makefile b/app/Makefile
deleted file mode 100644
index 453c4fed6d..0000000000
--- a/app/Makefile
+++ /dev/null
@@ -1,34 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-$(CONFIG_RTE_APP_TEST) += test
-DIRS-$(CONFIG_RTE_TEST_PMD) += test-pmd
-DIRS-$(CONFIG_RTE_PROC_INFO) += proc-info
-DIRS-$(CONFIG_RTE_LIBRTE_PDUMP) += pdump
-DIRS-$(CONFIG_RTE_LIBRTE_ACL) += test-acl
-DIRS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test-cmdline
-DIRS-$(CONFIG_RTE_LIBRTE_FIB) += test-fib
-DIRS-$(CONFIG_RTE_TEST_FLOW_PERF) += test-flow-perf
-DIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) += test-pipeline
-DIRS-$(CONFIG_RTE_LIBRTE_IPSEC) += test-sad
-DIRS-$(CONFIG_RTE_LIBRTE_REGEXDEV) += test-regex
-
-ifeq ($(CONFIG_RTE_LIBRTE_BBDEV),y)
-DIRS-$(CONFIG_RTE_TEST_BBDEV) += test-bbdev
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_COMPRESSDEV),y)
-DIRS-$(CONFIG_RTE_APP_COMPRESS_PERF) += test-compress-perf
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_CRYPTODEV),y)
-DIRS-$(CONFIG_RTE_APP_CRYPTO_PERF) += test-crypto-perf
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_EVENTDEV),y)
-DIRS-$(CONFIG_RTE_APP_EVENTDEV) += test-eventdev
-endif
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/app/pdump/Makefile b/app/pdump/Makefile
deleted file mode 100644
index e6b9eea91b..0000000000
--- a/app/pdump/Makefile
+++ /dev/null
@@ -1,18 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-ifeq ($(CONFIG_RTE_LIBRTE_PDUMP),y)
-
-APP = dpdk-pdump
-
-CFLAGS += $(WERROR_FLAGS)
-
-# all source are stored in SRCS-y
-
-SRCS-y := main.c
-
-include $(RTE_SDK)/mk/rte.app.mk
-
-endif
diff --git a/app/proc-info/Makefile b/app/proc-info/Makefile
deleted file mode 100644
index 214f3f54a1..0000000000
--- a/app/proc-info/Makefile
+++ /dev/null
@@ -1,14 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2015 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-APP = dpdk-procinfo
-
-CFLAGS += $(WERROR_FLAGS)
-
-# all source are stored in SRCS-y
-
-SRCS-y := main.c
-
-include $(RTE_SDK)/mk/rte.app.mk
diff --git a/app/test-acl/Makefile b/app/test-acl/Makefile
deleted file mode 100644
index 5f26294cf1..0000000000
--- a/app/test-acl/Makefile
+++ /dev/null
@@ -1,17 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-ifeq ($(CONFIG_RTE_LIBRTE_ACL),y)
-
-APP = testacl
-
-CFLAGS += $(WERROR_FLAGS)
-
-# all source are stored in SRCS-y
-SRCS-y := main.c
-
-include $(RTE_SDK)/mk/rte.app.mk
-
-endif
diff --git a/app/test-bbdev/Makefile b/app/test-bbdev/Makefile
deleted file mode 100644
index dc29557f37..0000000000
--- a/app/test-bbdev/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-APP = testbbdev
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-#
-# all sources are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_TEST_BBDEV) += main.c
-SRCS-$(CONFIG_RTE_TEST_BBDEV) += test_bbdev.c
-SRCS-$(CONFIG_RTE_TEST_BBDEV) += test_bbdev_perf.c
-SRCS-$(CONFIG_RTE_TEST_BBDEV) += test_bbdev_vector.c
-
-LDLIBS += -lm
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_LTE_FEC),y)
-LDLIBS += -lrte_pmd_bbdev_fpga_lte_fec
-endif
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_5GNR_FEC),y)
-LDLIBS += -lrte_pmd_bbdev_fpga_5gnr_fec
-endif
-
-include $(RTE_SDK)/mk/rte.app.mk
diff --git a/app/test-cmdline/Makefile b/app/test-cmdline/Makefile
deleted file mode 100644
index 3e7421906b..0000000000
--- a/app/test-cmdline/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-ifeq ($(CONFIG_RTE_LIBRTE_CMDLINE),y)
-
-#
-# library name
-#
-APP = cmdline_test
-
-#
-# all sources are stored in SRCS-y
-#
-SRCS-y += cmdline_test.c
-SRCS-y += commands.c
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-include $(RTE_SDK)/mk/rte.app.mk
-
-endif
diff --git a/app/test-compress-perf/Makefile b/app/test-compress-perf/Makefile
deleted file mode 100644
index 2bff531836..0000000000
--- a/app/test-compress-perf/Makefile
+++ /dev/null
@@ -1,19 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-APP = dpdk-test-compress-perf
-
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -O3
-
-# all source are stored in SRCS-y
-SRCS-y := main.c
-SRCS-y += comp_perf_options_parse.c
-SRCS-y += comp_perf_test_verify.c
-SRCS-y += comp_perf_test_throughput.c
-SRCS-y += comp_perf_test_cyclecount.c
-SRCS-y += comp_perf_test_common.c
-
-include $(RTE_SDK)/mk/rte.app.mk
diff --git a/app/test-crypto-perf/Makefile b/app/test-crypto-perf/Makefile
deleted file mode 100644
index 0dced790f0..0000000000
--- a/app/test-crypto-perf/Makefile
+++ /dev/null
@@ -1,28 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016-2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-
-APP = dpdk-test-crypto-perf
-
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -O3
-
-# all source are stored in SRCS-y
-SRCS-y := main.c
-SRCS-y += cperf_ops.c
-SRCS-y += cperf_options_parsing.c
-SRCS-y += cperf_test_vectors.c
-SRCS-y += cperf_test_throughput.c
-SRCS-y += cperf_test_latency.c
-SRCS-y += cperf_test_pmd_cyclecount.c
-SRCS-y += cperf_test_verify.c
-SRCS-y += cperf_test_vector_parsing.c
-SRCS-y += cperf_test_common.c
-
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER),y)
-LDLIBS += -lrte_pmd_crypto_scheduler
-endif
-
-include $(RTE_SDK)/mk/rte.app.mk
diff --git a/app/test-eventdev/Makefile b/app/test-eventdev/Makefile
deleted file mode 100644
index e600e21c41..0000000000
--- a/app/test-eventdev/Makefile
+++ /dev/null
@@ -1,32 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Cavium, Inc
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-APP = dpdk-test-eventdev
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-y := evt_main.c
-SRCS-y += evt_options.c
-SRCS-y += evt_test.c
-SRCS-y += parser.c
-
-SRCS-y += test_order_common.c
-SRCS-y += test_order_queue.c
-SRCS-y += test_order_atq.c
-
-SRCS-y += test_perf_common.c
-SRCS-y += test_perf_queue.c
-SRCS-y += test_perf_atq.c
-
-SRCS-y += test_pipeline_common.c
-SRCS-y += test_pipeline_queue.c
-SRCS-y += test_pipeline_atq.c
-
-include $(RTE_SDK)/mk/rte.app.mk
diff --git a/app/test-fib/Makefile b/app/test-fib/Makefile
deleted file mode 100644
index 2ea799c0e9..0000000000
--- a/app/test-fib/Makefile
+++ /dev/null
@@ -1,18 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-ifeq ($(CONFIG_RTE_LIBRTE_FIB),y)
-
-APP = testfib
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-# all source are stored in SRCS-y
-SRCS-y := main.c
-
-include $(RTE_SDK)/mk/rte.app.mk
-
-endif
diff --git a/app/test-flow-perf/Makefile b/app/test-flow-perf/Makefile
deleted file mode 100644
index 4f2db75910..0000000000
--- a/app/test-flow-perf/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2020 Mellanox Technologies, Ltd
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-ifeq ($(CONFIG_RTE_TEST_FLOW_PERF),y)
-
-#
-# library name
-#
-APP = dpdk-test-flow-perf
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-y += actions_gen.c
-SRCS-y += flow_gen.c
-SRCS-y += items_gen.c
-SRCS-y += main.c
-
-include $(RTE_SDK)/mk/rte.app.mk
-
-endif
diff --git a/app/test-pipeline/Makefile b/app/test-pipeline/Makefile
deleted file mode 100644
index fc3a504409..0000000000
--- a/app/test-pipeline/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2015 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-ifeq ($(CONFIG_RTE_LIBRTE_PIPELINE),y)
-
-#
-# library name
-#
-APP = testpipeline
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-y := main.c
-SRCS-y += config.c
-SRCS-y += init.c
-SRCS-y += runtime.c
-SRCS-y += pipeline_stub.c
-SRCS-y += pipeline_hash.c
-SRCS-y += pipeline_lpm.c
-SRCS-y += pipeline_lpm_ipv6.c
-
-# include ACL lib if available
-SRCS-$(CONFIG_RTE_LIBRTE_ACL) += pipeline_acl.c
-
-include $(RTE_SDK)/mk/rte.app.mk
-
-endif
diff --git a/app/test-pmd/Makefile b/app/test-pmd/Makefile
deleted file mode 100644
index e739797f8a..0000000000
--- a/app/test-pmd/Makefile
+++ /dev/null
@@ -1,73 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2015 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-ifeq ($(CONFIG_RTE_TEST_PMD),y)
-
-#
-# library name
-#
-APP = testpmd
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -Wno-deprecated-declarations
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-y := testpmd.c
-SRCS-y += parameters.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_mtr.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_tm.c
-SRCS-y += config.c
-SRCS-y += iofwd.c
-SRCS-y += macfwd.c
-SRCS-y += macswap.c
-SRCS-y += flowgen.c
-SRCS-y += rxonly.c
-SRCS-y += txonly.c
-SRCS-y += csumonly.c
-SRCS-y += icmpecho.c
-SRCS-y += noisy_vnf.c
-SRCS-y += 5tswap.c
-SRCS-$(CONFIG_RTE_LIBRTE_IEEE1588) += ieee1588fwd.c
-SRCS-$(CONFIG_RTE_LIBRTE_BPF) += bpf_cmd.c
-SRCS-y += util.c
-
-ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
-
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_BOND),y)
-LDLIBS += -lrte_pmd_bond
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS)$(CONFIG_RTE_LIBRTE_DPAA_PMD),yy)
-LDLIBS += -lrte_pmd_dpaa
-LDLIBS += -lrte_bus_dpaa
-LDLIBS += -lrte_mempool_dpaa
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_IXGBE_PMD),y)
-LDLIBS += -lrte_pmd_ixgbe
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_I40E_PMD),y)
-LDLIBS += -lrte_pmd_i40e
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_BNXT_PMD),y)
-LDLIBS += -lrte_pmd_bnxt
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_SOFTNIC),y)
-LDLIBS += -lrte_pmd_softnic
-endif
-
-endif
-
-include $(RTE_SDK)/mk/rte.app.mk
-
-endif
diff --git a/app/test-regex/Makefile b/app/test-regex/Makefile
deleted file mode 100644
index bb8f150871..0000000000
--- a/app/test-regex/Makefile
+++ /dev/null
@@ -1,13 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2020 Mellanox Technologies, Ltd
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-APP = dpdk-test-regex
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-SRCS-y := main.c
-
-include $(RTE_SDK)/mk/rte.app.mk
diff --git a/app/test-sad/Makefile b/app/test-sad/Makefile
deleted file mode 100644
index 9b5a7ddc61..0000000000
--- a/app/test-sad/Makefile
+++ /dev/null
@@ -1,17 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-ifeq ($(CONFIG_RTE_LIBRTE_IPSEC),y)
-
-APP = testsad
-
-CFLAGS += $(WERROR_FLAGS)
-
-# all source are stored in SRCS-y
-SRCS-y := main.c
-
-include $(RTE_SDK)/mk/rte.app.mk
-
-endif
diff --git a/app/test/Makefile b/app/test/Makefile
deleted file mode 100644
index f4065271e4..0000000000
--- a/app/test/Makefile
+++ /dev/null
@@ -1,310 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-ifeq ($(CONFIG_RTE_APP_TEST),y)
-
-# default rule
-all:
-
-# Define an externally linked resource. A linked resource is an arbitrary
-# file that is linked into the test binary. The application refers to this
-# resource by name. The linked generates identifiers beg_<name> and end_<name>
-# for referencing by the C code.
-#
-# Parameters: <unique name>, <file to be linked>
-define linked_resource
-SRCS-y += $(1).res.o
-$(1).res.o: $(2)
-	@  echo '  MKRES $$@'
-	$Q [ "$$(<D)" = . ] || ln -fs $$<
-	$Q $(OBJCOPY) -I binary -B $(RTE_OBJCOPY_ARCH) -O $(RTE_OBJCOPY_TARGET) \
-		--rename-section                                         \
-			.data=.rodata,alloc,load,data,contents,readonly  \
-		--redefine-sym _binary_$$(subst .,_,$$(<F))_start=beg_$(1) \
-		--redefine-sym _binary_$$(subst .,_,$$(<F))_end=end_$(1)   \
-		--redefine-sym _binary_$$(subst .,_,$$(<F))_size=siz_$(1)  \
-		$$(<F) $$@
-endef
-
-ifeq ($(CONFIG_RTE_APP_TEST_RESOURCE_TAR),y)
-define linked_tar_resource
-$(1).tar: $(2)
-	@  echo '  TAR $$@'
-	$Q tar -C $$(dir $$<) -cf $$@ $$(notdir $$<)
-$(call linked_resource,$(1),$(1).tar)
-endef
-else # ! CONFIG_RTE_APP_TEST_RESOURCE_TAR
-linked_tar_resource =
-endif # CONFIG_RTE_APP_TEST_RESOURCE_TAR
-
-#
-# library name
-#
-APP = test
-
-#
-# all sources are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) := commands.c
-SRCS-y += test.c
-SRCS-y += resource.c
-SRCS-y += test_resource.c
-test_resource.res: test_resource.c
-	@ cp $< $@
-$(eval $(call linked_resource,test_resource_c,test_resource.res))
-$(eval $(call linked_tar_resource,test_resource_tar,test_resource.c))
-SRCS-$(CONFIG_RTE_APP_TEST_RESOURCE_TAR) += test_cfgfile.c
-$(eval $(call linked_tar_resource,test_cfgfiles,test_cfgfiles))
-SRCS-y += test_prefetch.c
-SRCS-y += test_byteorder.c
-SRCS-y += test_per_lcore.c
-SRCS-y += test_atomic.c
-SRCS-y += test_barrier.c
-SRCS-y += test_malloc.c
-SRCS-y += test_cycles.c
-SRCS-y += test_mcslock.c
-SRCS-y += test_spinlock.c
-SRCS-y += test_ticketlock.c
-SRCS-y += test_memory.c
-SRCS-y += test_memzone.c
-SRCS-y += test_bitmap.c
-SRCS-y += test_bitops.c
-SRCS-y += test_reciprocal_division.c
-SRCS-y += test_reciprocal_division_perf.c
-SRCS-y += test_fbarray.c
-SRCS-y += test_external_mem.c
-SRCS-y += test_rand_perf.c
-
-SRCS-y += test_ring.c
-SRCS-y += test_ring_mpmc_stress.c
-SRCS-y += test_ring_hts_stress.c
-SRCS-y += test_ring_perf.c
-SRCS-y += test_ring_mt_peek_stress.c
-SRCS-y += test_ring_rts_stress.c
-SRCS-y += test_ring_st_peek_stress.c
-SRCS-y += test_ring_stress.c
-SRCS-y += test_pmd_perf.c
-
-ifeq ($(CONFIG_RTE_LIBRTE_TABLE),y)
-SRCS-y += test_table.c
-SRCS-$(CONFIG_RTE_LIBRTE_PIPELINE) += test_table_pipeline.c
-SRCS-y += test_table_tables.c
-SRCS-y += test_table_ports.c
-SRCS-y += test_table_combined.c
-SRCS-$(CONFIG_RTE_LIBRTE_ACL) += test_table_acl.c
-SRCS-$(CONFIG_RTE_LIBRTE_FLOW_CLASSIFY) += test_flow_classify.c
-endif
-
-SRCS-y += test_rwlock.c
-SRCS-y += test_lcores.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_STACK) += test_stack.c
-SRCS-$(CONFIG_RTE_LIBRTE_STACK) += test_stack_perf.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_TIMER) += test_timer.c
-SRCS-$(CONFIG_RTE_LIBRTE_TIMER) += test_timer_perf.c
-SRCS-$(CONFIG_RTE_LIBRTE_TIMER) += test_timer_racecond.c
-SRCS-$(CONFIG_RTE_LIBRTE_TIMER) += test_timer_secondary.c
-
-SRCS-y += test_mempool.c
-SRCS-y += test_mempool_perf.c
-
-SRCS-y += test_mbuf.c
-SRCS-y += test_logs.c
-
-SRCS-y += test_memcpy.c
-SRCS-y += test_memcpy_perf.c
-
-
-SRCS-$(CONFIG_RTE_LIBRTE_MEMBER) += test_member.c
-SRCS-$(CONFIG_RTE_LIBRTE_MEMBER) += test_member_perf.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_EFD) += test_efd.c
-SRCS-$(CONFIG_RTE_LIBRTE_EFD) += test_efd_perf.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_HASH) += test_hash.c
-SRCS-$(CONFIG_RTE_LIBRTE_HASH) += test_thash.c
-SRCS-$(CONFIG_RTE_LIBRTE_HASH) += test_hash_perf.c
-SRCS-$(CONFIG_RTE_LIBRTE_HASH) += test_hash_functions.c
-SRCS-$(CONFIG_RTE_LIBRTE_HASH) += test_hash_multiwriter.c
-SRCS-$(CONFIG_RTE_LIBRTE_HASH) += test_hash_readwrite.c
-SRCS-$(CONFIG_RTE_LIBRTE_HASH) += test_hash_readwrite_lf_perf.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_RIB) += test_rib.c
-SRCS-$(CONFIG_RTE_LIBRTE_RIB) += test_rib6.c
-SRCS-$(CONFIG_RTE_LIBRTE_FIB) += test_fib.c
-SRCS-$(CONFIG_RTE_LIBRTE_FIB) += test_fib6.c
-SRCS-$(CONFIG_RTE_LIBRTE_FIB) += test_fib_perf.c
-SRCS-$(CONFIG_RTE_LIBRTE_FIB) += test_fib6_perf.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_LPM) += test_lpm.c
-SRCS-$(CONFIG_RTE_LIBRTE_LPM) += test_lpm_perf.c
-SRCS-$(CONFIG_RTE_LIBRTE_LPM) += test_lpm6.c
-SRCS-$(CONFIG_RTE_LIBRTE_LPM) += test_lpm6_perf.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_TELEMETRY) += test_telemetry_json.c
-
-SRCS-y += test_debug.c
-SRCS-y += test_errno.c
-SRCS-y += test_tailq.c
-SRCS-y += test_string_fns.c
-SRCS-y += test_cpuflags.c
-SRCS-y += test_mp_secondary.c
-SRCS-y += test_eal_flags.c
-SRCS-y += test_eal_fs.c
-SRCS-y += test_alarm.c
-SRCS-y += test_interrupts.c
-SRCS-y += test_version.c
-SRCS-y += test_func_reentrancy.c
-SRCS-y += test_trace.c
-SRCS-y += test_trace_register.c
-SRCS-y += test_trace_perf.c
-SRCS-y += test_service_cores.c
-
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_RING),y)
-SRCS-y += sample_packet_forward.c
-SRCS-$(CONFIG_RTE_LIBRTE_BITRATE) += test_bitratestats.c
-SRCS-$(CONFIG_RTE_LIBRTE_LATENCY_STATS) += test_latencystats.c
-SRCS-$(CONFIG_RTE_LIBRTE_PDUMP) += test_pdump.c
-endif
-
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_num.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_etheraddr.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_portlist.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_ipaddr.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_cirbuf.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_string.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += test_cmdline_lib.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_NET) += test_crc.c
-
-ifeq ($(CONFIG_RTE_LIBRTE_SCHED),y)
-SRCS-y += test_red.c
-SRCS-y += test_sched.c
-endif
-
-SRCS-$(CONFIG_RTE_LIBRTE_METER) += test_meter.c
-SRCS-$(CONFIG_RTE_LIBRTE_KNI) += test_kni.c
-SRCS-$(CONFIG_RTE_LIBRTE_POWER) += test_power.c test_power_cpufreq.c
-SRCS-$(CONFIG_RTE_LIBRTE_POWER) += test_power_kvm_vm.c
-SRCS-y += test_common.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += test_distributor.c
-SRCS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += test_distributor_perf.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_REORDER) += test_reorder.c
-
-SRCS-y += virtual_pmd.c
-SRCS-y += packet_burst_generator.c
-SRCS-$(CONFIG_RTE_LIBRTE_ACL) += test_acl.c
-
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_RING),y)
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += test_link_bonding.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += test_link_bonding_mode4.c
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_NULL),y)
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += test_link_bonding_rssconf.c
-endif
-
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_RING) += test_pmd_ring.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_RING) += test_pmd_ring_perf.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += test_cryptodev_blockcipher.c
-SRCS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += test_cryptodev.c
-SRCS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += test_cryptodev_asym.c
-SRCS-$(CONFIG_RTE_LIBRTE_SECURITY) += test_cryptodev_security_pdcp.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_METRICS) += test_metrics.c
-
-ifeq ($(CONFIG_RTE_COMPRESSDEV_TEST),y)
-SRCS-$(CONFIG_RTE_LIBRTE_COMPRESSDEV) += test_compressdev.c
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_EVENTDEV),y)
-SRCS-y += test_eventdev.c
-SRCS-y += test_event_ring.c
-SRCS-y += test_event_eth_rx_adapter.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_RING) += test_event_eth_tx_adapter.c
-SRCS-y += test_event_timer_adapter.c
-SRCS-y += test_event_crypto_adapter.c
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_GRAPH), y)
-SRCS-y += test_graph.c
-SRCS-y += test_graph_perf.c
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_RAWDEV),y)
-SRCS-y += test_rawdev.c
-endif
-
-SRCS-$(CONFIG_RTE_LIBRTE_KVARGS) += test_kvargs.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_BPF) += test_bpf.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_RCU) += test_rcu_qsbr.c test_rcu_qsbr_perf.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_SECURITY) += test_security.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_IPSEC) += test_ipsec.c test_ipsec_perf.c
-SRCS-$(CONFIG_RTE_LIBRTE_IPSEC) += test_ipsec_sad.c
-ifeq ($(CONFIG_RTE_LIBRTE_IPSEC),y)
-LDLIBS += -lrte_ipsec
-endif
-
-CFLAGS += -O3
-# Strict-aliasing rules are violated by uint8_t[] to context size casts.
-CFLAGS += -fno-strict-aliasing
-CFLAGS += $(WERROR_FLAGS)
-
-LDLIBS += -lm
-
-ifeq ($(CONFIG_RTE_LIBRTE_PDUMP),y)
-LDLIBS += -lpthread
-endif
-
-ifeq ($(CONFIG_RTE_COMPRESSDEV_TEST),y)
-ifeq ($(CONFIG_RTE_LIBRTE_COMPRESSDEV),y)
-LDLIBS += -lz
-endif
-endif
-
-# Disable VTA for memcpy test
-ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
-ifeq ($(shell test $(GCC_VERSION) -ge 44 && echo 1), 1)
-CFLAGS_test_memcpy.o += -fno-var-tracking-assignments
-CFLAGS_test_memcpy_perf.o += -fno-var-tracking-assignments
-endif
-endif
-
-ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
-
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_BOND),y)
-LDLIBS += -lrte_pmd_bond
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_NULL),y)
-LDLIBS += -lrte_pmd_null
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_RING),y)
-LDLIBS += -lrte_pmd_ring
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER),y)
-LDLIBS += -lrte_pmd_crypto_scheduler
-endif
-
-endif
-
-ifeq ($(CONFIG_RTE_APP_TEST_RESOURCE_TAR),y)
-LDLIBS += -larchive
-endif
-
-include $(RTE_SDK)/mk/rte.app.mk
-
-endif
diff --git a/buildtools/Makefile b/buildtools/Makefile
deleted file mode 100644
index 7f76fd7d65..0000000000
--- a/buildtools/Makefile
+++ /dev/null
@@ -1,9 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016 Neil Horman <nhorman@tuxdriver.com>
-# All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-y += pmdinfogen
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/buildtools/pmdinfogen/Makefile b/buildtools/pmdinfogen/Makefile
deleted file mode 100644
index a97a7648fe..0000000000
--- a/buildtools/pmdinfogen/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016 Neil Horman <nhorman@tuxdriver.com>
-# All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-HOSTAPP = dpdk-pmdinfogen
-
-#
-# all sources are stored in SRCS-y
-#
-SRCS-y += pmdinfogen.c
-
-HOST_CFLAGS += $(HOST_WERROR_FLAGS) -g
-HOST_CFLAGS += -I$(RTE_OUTPUT)/include
-
-include $(RTE_SDK)/mk/rte.hostapp.mk
diff --git a/drivers/Makefile b/drivers/Makefile
deleted file mode 100644
index 7f06162dc4..0000000000
--- a/drivers/Makefile
+++ /dev/null
@@ -1,34 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2015 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-y += common
-DIRS-y += bus
-DEPDIRS-bus := common
-DIRS-y += mempool
-DEPDIRS-mempool := common bus
-ifeq ($(findstring y,$(CONFIG_RTE_LIBRTE_MLX5_PMD)$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD)),y)
-DIRS-y += common/mlx5
-DEPDIRS-common/mlx5 := bus
-endif
-DIRS-y += net
-DEPDIRS-net := common bus mempool common/mlx5
-DIRS-$(CONFIG_RTE_LIBRTE_BBDEV) += baseband
-DEPDIRS-baseband := common bus mempool
-DIRS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += crypto
-DEPDIRS-crypto := common bus mempool
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_QAT) += common/qat
-DEPDIRS-common/qat := bus mempool
-DIRS-$(CONFIG_RTE_LIBRTE_COMPRESSDEV) += compress
-DEPDIRS-compress := bus mempool
-DIRS-$(CONFIG_RTE_LIBRTE_REGEXDEV) += regex
-DEPDIRS-regex := common bus common/mlx5
-DIRS-$(CONFIG_RTE_LIBRTE_VHOST) += vdpa
-DEPDIRS-vdpa := common bus mempool common/mlx5
-DIRS-$(CONFIG_RTE_LIBRTE_EVENTDEV) += event
-DEPDIRS-event := common bus mempool net crypto
-DIRS-$(CONFIG_RTE_LIBRTE_RAWDEV) += raw
-DEPDIRS-raw := common bus mempool net event
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/drivers/baseband/Makefile b/drivers/baseband/Makefile
deleted file mode 100644
index dcc0969175..0000000000
--- a/drivers/baseband/Makefile
+++ /dev/null
@@ -1,18 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-core-libs := librte_eal librte_mbuf librte_mempool librte_ring
-core-libs += librte_bbdev librte_kvargs librte_cfgfile
-
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_NULL) += null
-DEPDIRS-null = $(core-libs)
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += turbo_sw
-DEPDIRS-turbo_sw = $(core-libs)
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_LTE_FEC) += fpga_lte_fec
-DEPDIRS-fpga_lte_fec = $(core-libs)
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_5GNR_FEC) += fpga_5gnr_fec
-DEPDIRS-fpga_5gnr_fec = $(core-libs)
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/drivers/baseband/fpga_5gnr_fec/Makefile b/drivers/baseband/fpga_5gnr_fec/Makefile
deleted file mode 100644
index 7b7017c6dc..0000000000
--- a/drivers/baseband/fpga_5gnr_fec/Makefile
+++ /dev/null
@@ -1,28 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_bbdev_fpga_5gnr_fec.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_bbdev
-LDLIBS += -lrte_pci -lrte_bus_pci
-
-# versioning export map
-EXPORT_MAP := rte_pmd_bbdev_fpga_5gnr_fec_version.map
-
-# library version
-LIBABIVER := 1
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_5GNR_FEC) += rte_fpga_5gnr_fec.c
-
-# export include files
-SYMLINK-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_5GNR_FEC)-include += rte_pmd_fpga_5gnr_fec.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/baseband/fpga_lte_fec/Makefile b/drivers/baseband/fpga_lte_fec/Makefile
deleted file mode 100644
index 30caafe3db..0000000000
--- a/drivers/baseband/fpga_lte_fec/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_bbdev_fpga_lte_fec.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_bbdev
-LDLIBS += -lrte_pci -lrte_bus_pci
-
-# versioning export map
-EXPORT_MAP := rte_pmd_bbdev_fpga_lte_fec_version.map
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_LTE_FEC) += fpga_lte_fec.c
-
-# export include files
-SYMLINK-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_LTE_FEC)-include += fpga_lte_fec.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/baseband/null/Makefile b/drivers/baseband/null/Makefile
deleted file mode 100644
index 0ee500166d..0000000000
--- a/drivers/baseband/null/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-# library name
-LIB = librte_pmd_bbdev_null.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring -lrte_kvargs
-LDLIBS += -lrte_bbdev
-LDLIBS += -lrte_bus_vdev
-
-# versioning export map
-EXPORT_MAP := rte_pmd_bbdev_null_version.map
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_NULL) += bbdev_null.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/baseband/turbo_sw/Makefile b/drivers/baseband/turbo_sw/Makefile
deleted file mode 100644
index c2a6fe0f81..0000000000
--- a/drivers/baseband/turbo_sw/Makefile
+++ /dev/null
@@ -1,52 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_bbdev_turbo_sw.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring -lrte_kvargs
-LDLIBS += -lrte_bbdev
-LDLIBS += -lrte_bus_vdev
-
-# versioning export map
-EXPORT_MAP := rte_pmd_bbdev_turbo_sw_version.map
-
-# external library dependencies if available
-ifeq ($(CONFIG_RTE_BBDEV_SDK_AVX2),y)
-ifeq ($(FLEXRAN_SDK),)
-$(error "Please define FLEXRAN_SDK environment variable")
-endif
-CFLAGS += -I$(FLEXRAN_SDK)/lib_common
-CFLAGS += -I$(FLEXRAN_SDK)/lib_turbo
-CFLAGS += -I$(FLEXRAN_SDK)/lib_crc
-CFLAGS += -I$(FLEXRAN_SDK)/lib_rate_matching
-LDLIBS += -L$(FLEXRAN_SDK)/lib_turbo -lturbo
-LDLIBS += -L$(FLEXRAN_SDK)/lib_crc -lcrc
-LDLIBS += -L$(FLEXRAN_SDK)/lib_rate_matching -lrate_matching
-LDLIBS += -L$(FLEXRAN_SDK)/lib_common -lcommon
-LDLIBS += -lstdc++ -lirc -limf -lipps -lsvml
-endif
-
-ifeq ($(CONFIG_RTE_BBDEV_SDK_AVX512),y)
-ifeq ($(CONFIG_RTE_BBDEV_SDK_AVX2),n)
-$(error "CONFIG_RTE_BBDEV_SDK_AVX512 requires CONFIG_RTE_BBDEV_SDK_AVX2 set")
-endif
-CFLAGS += -I$(FLEXRAN_SDK)/lib_ldpc_encoder_5gnr
-CFLAGS += -I$(FLEXRAN_SDK)/lib_ldpc_decoder_5gnr
-CFLAGS += -I$(FLEXRAN_SDK)/lib_LDPC_ratematch_5gnr
-CFLAGS += -I$(FLEXRAN_SDK)/lib_rate_dematching_5gnr
-LDLIBS += -L$(FLEXRAN_SDK)/lib_ldpc_encoder_5gnr -lldpc_encoder_5gnr
-LDLIBS += -L$(FLEXRAN_SDK)/lib_ldpc_decoder_5gnr -lldpc_decoder_5gnr
-LDLIBS += -L$(FLEXRAN_SDK)/lib_LDPC_ratematch_5gnr -lLDPC_ratematch_5gnr
-LDLIBS += -L$(FLEXRAN_SDK)/lib_rate_dematching_5gnr -lrate_dematching_5gnr
-endif
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += bbdev_turbo_software.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/bus/Makefile b/drivers/bus/Makefile
deleted file mode 100644
index cea3b55e60..0000000000
--- a/drivers/bus/Makefile
+++ /dev/null
@@ -1,15 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2016 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-$(CONFIG_RTE_LIBRTE_DPAA_BUS) += dpaa
-ifeq ($(CONFIG_RTE_EAL_VFIO),y)
-DIRS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += fslmc
-endif
-DIRS-$(CONFIG_RTE_LIBRTE_IFPGA_BUS) += ifpga
-DIRS-$(CONFIG_RTE_LIBRTE_PCI_BUS) += pci
-DIRS-$(CONFIG_RTE_LIBRTE_VDEV_BUS) += vdev
-DIRS-$(CONFIG_RTE_LIBRTE_VMBUS) += vmbus
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/drivers/bus/dpaa/Makefile b/drivers/bus/dpaa/Makefile
deleted file mode 100644
index ba40b21166..0000000000
--- a/drivers/bus/dpaa/Makefile
+++ /dev/null
@@ -1,48 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2016 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-RTE_BUS_DPAA=$(RTE_SDK)/drivers/bus/dpaa
-
-#
-# library name
-#
-LIB = librte_bus_dpaa.a
-
-CFLAGS := -I$(SRCDIR) $(CFLAGS)
-CFLAGS += -O3 $(WERROR_FLAGS)
-CFLAGS += -Wno-pointer-arith
-CFLAGS += -Wno-cast-qual
-CFLAGS += -I$(RTE_BUS_DPAA)/
-CFLAGS += -I$(RTE_BUS_DPAA)/include
-CFLAGS += -I$(RTE_BUS_DPAA)/base/qbman
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
-
-# versioning export map
-EXPORT_MAP := rte_bus_dpaa_version.map
-
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_DPAA_BUS) += \
-	dpaa_bus.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_DPAA_BUS) += \
-	base/fman/fman.c \
-	base/fman/fman_hw.c \
-	base/fman/netcfg_layer.c \
-	base/qbman/process.c \
-	base/qbman/bman.c \
-	base/qbman/bman_driver.c \
-	base/qbman/qman.c \
-	base/qbman/qman_driver.c \
-	base/qbman/dpaa_alloc.c \
-	base/qbman/dpaa_sys.c
-
-# Link Pthread
-LDLIBS += -lpthread
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev
-LDLIBS += -lrte_common_dpaax
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/bus/fslmc/Makefile b/drivers/bus/fslmc/Makefile
deleted file mode 100644
index b98d758ee0..0000000000
--- a/drivers/bus/fslmc/Makefile
+++ /dev/null
@@ -1,47 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2016 NXP
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_bus_fslmc.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/mc
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/qbman/include
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common
-LDLIBS += -lpthread
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev
-LDLIBS += -lrte_common_dpaax
-
-# versioning export map
-EXPORT_MAP := rte_bus_fslmc_version.map
-
-SRCS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += \
-        qbman/qbman_portal.c \
-        qbman/qbman_debug.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += \
-	mc/dpmng.c \
-	mc/dpbp.c \
-	mc/dpio.c \
-	mc/mc_sys.c \
-	mc/dpcon.c \
-	mc/dpci.c \
-	mc/dpdmai.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += portal/dpaa2_hw_dpio.c
-SRCS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += portal/dpaa2_hw_dpbp.c
-SRCS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += portal/dpaa2_hw_dpci.c
-SRCS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += fslmc_vfio.c
-SRCS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS) += fslmc_bus.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/bus/ifpga/Makefile b/drivers/bus/ifpga/Makefile
deleted file mode 100644
index 1df369103c..0000000000
--- a/drivers/bus/ifpga/Makefile
+++ /dev/null
@@ -1,28 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_bus_ifpga.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal
-LDLIBS += -lrte_rawdev
-LDLIBS += -lrte_kvargs
-
-# versioning export map
-EXPORT_MAP := rte_bus_ifpga_version.map
-
-SRCS-$(CONFIG_RTE_LIBRTE_IFPGA_BUS) += ifpga_bus.c
-SRCS-$(CONFIG_RTE_LIBRTE_IFPGA_BUS) += ifpga_common.c
-
-#
-# Export include files
-#
-SYMLINK-$(CONFIG_RTE_LIBRTE_IFPGA_BUS)-include += rte_bus_ifpga.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/bus/pci/Makefile b/drivers/bus/pci/Makefile
deleted file mode 100644
index f4102d0a7f..0000000000
--- a/drivers/bus/pci/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 6WIND S.A.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-LIB = librte_bus_pci.a
-EXPORT_MAP := rte_bus_pci_version.map
-
-CFLAGS := -I$(SRCDIR) $(CFLAGS)
-CFLAGS += -O3 $(WERROR_FLAGS)
-
-ifneq ($(CONFIG_RTE_EXEC_ENV_LINUX),)
-SYSTEM := linux
-endif
-ifneq ($(CONFIG_RTE_EXEC_ENV_FREEBSD),)
-SYSTEM := bsd
-endif
-
-CFLAGS += -I$(RTE_SDK)/drivers/bus/pci/$(SYSTEM)
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common
-
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_pci -lrte_kvargs
-
-include $(RTE_SDK)/drivers/bus/pci/$(SYSTEM)/Makefile
-SRCS-$(CONFIG_RTE_LIBRTE_PCI_BUS) := $(addprefix $(SYSTEM)/,$(SRCS))
-SRCS-$(CONFIG_RTE_LIBRTE_PCI_BUS) += pci_params.c
-SRCS-$(CONFIG_RTE_LIBRTE_PCI_BUS) += pci_common.c
-SRCS-$(CONFIG_RTE_LIBRTE_PCI_BUS) += pci_common_uio.c
-
-SYMLINK-$(CONFIG_RTE_LIBRTE_PCI_BUS)-include += rte_bus_pci.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/bus/pci/bsd/Makefile b/drivers/bus/pci/bsd/Makefile
deleted file mode 100644
index c1b54c05ef..0000000000
--- a/drivers/bus/pci/bsd/Makefile
+++ /dev/null
@@ -1,4 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 6WIND S.A.
-
-SRCS += pci.c
diff --git a/drivers/bus/pci/linux/Makefile b/drivers/bus/pci/linux/Makefile
deleted file mode 100644
index 90404468b0..0000000000
--- a/drivers/bus/pci/linux/Makefile
+++ /dev/null
@@ -1,6 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 6WIND S.A.
-
-SRCS += pci.c
-SRCS += pci_uio.c
-SRCS += pci_vfio.c
diff --git a/drivers/bus/vdev/Makefile b/drivers/bus/vdev/Makefile
deleted file mode 100644
index 01747f03a4..0000000000
--- a/drivers/bus/vdev/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_bus_vdev.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-# versioning export map
-EXPORT_MAP := rte_bus_vdev_version.map
-
-SRCS-y += vdev.c
-SRCS-y += vdev_params.c
-
-LDLIBS += -lrte_eal -lrte_kvargs
-
-#
-# Export include files
-#
-SYMLINK-y-include += rte_bus_vdev.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/bus/vmbus/Makefile b/drivers/bus/vmbus/Makefile
deleted file mode 100644
index 335df6a0ba..0000000000
--- a/drivers/bus/vmbus/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-LIB = librte_bus_vmbus.a
-EXPORT_MAP := rte_bus_vmbus_version.map
-
-CFLAGS += -I$(SRCDIR)
-CFLAGS += -O3 $(WERROR_FLAGS)
-
-ifneq ($(CONFIG_RTE_EXEC_ENV_LINUX),)
-SYSTEM := linux
-endif
-ifneq ($(CONFIG_RTE_EXEC_ENV_FREEBSD),)
-$(error "VMBUS not implemented for BSD yet")
-endif
-
-CFLAGS += -I$(RTE_SDK)/drivers/bus/vmbus/$(SYSTEM)
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common
-
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev
-
-include $(RTE_SDK)/drivers/bus/vmbus/$(SYSTEM)/Makefile
-SRCS-$(CONFIG_RTE_LIBRTE_VMBUS) := $(addprefix $(SYSTEM)/,$(SRCS))
-SRCS-$(CONFIG_RTE_LIBRTE_VMBUS) += vmbus_common.c
-SRCS-$(CONFIG_RTE_LIBRTE_VMBUS) += vmbus_channel.c vmbus_bufring.c
-SRCS-$(CONFIG_RTE_LIBRTE_VMBUS) += vmbus_common_uio.c
-
-SYMLINK-$(CONFIG_RTE_LIBRTE_VMBUS)-include += rte_bus_vmbus.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_VMBUS)-include += rte_vmbus_reg.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/bus/vmbus/linux/Makefile b/drivers/bus/vmbus/linux/Makefile
deleted file mode 100644
index ef0d30b2d3..0000000000
--- a/drivers/bus/vmbus/linux/Makefile
+++ /dev/null
@@ -1,3 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-
-SRCS += vmbus_bus.c vmbus_uio.c
diff --git a/drivers/common/Makefile b/drivers/common/Makefile
deleted file mode 100644
index cfb6b4dc88..0000000000
--- a/drivers/common/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Cavium, Inc
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-CPT-y := $(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_CRYPTO)
-CPT-y += $(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO)
-ifneq (,$(findstring y,$(CPT-y)))
-DIRS-y += cpt
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF)$(CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL),yy)
-DIRS-y += octeontx
-endif
-OCTEONTX2-y := $(CONFIG_RTE_LIBRTE_OCTEONTX2_MEMPOOL)
-OCTEONTX2-y += $(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO)
-ifeq ($(findstring y,$(OCTEONTX2-y)),y)
-DIRS-y += octeontx2
-endif
-
-MVEP-y := $(CONFIG_RTE_LIBRTE_MVPP2_PMD)
-MVEP-y += $(CONFIG_RTE_LIBRTE_MVNETA_PMD)
-MVEP-y += $(CONFIG_RTE_LIBRTE_PMD_MVSAM_CRYPTO)
-ifneq (,$(findstring y,$(MVEP-y)))
-DIRS-y += mvep
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_COMMON_DPAAX),y)
-DIRS-y += dpaax
-endif
-
-IAVF-y := $(CONFIG_RTE_LIBRTE_IAVF_PMD)
-IAVF-y += $(CONFIG_RTE_LIBRTE_ICE_PMD)
-ifneq (,$(findstring y,$(IAVF-y)))
-DIRS-y += iavf
-endif
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/drivers/common/cpt/Makefile b/drivers/common/cpt/Makefile
deleted file mode 100644
index cab9da73c8..0000000000
--- a/drivers/common/cpt/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Cavium, Inc
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_common_cpt.a
-
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/bus/pci
-EXPORT_MAP := rte_common_cpt_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-y += cpt_fpm_tables.c
-SRCS-y += cpt_pmd_ops_helper.c
-
-LDLIBS += -lrte_eal
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/common/dpaax/Makefile b/drivers/common/dpaax/Makefile
deleted file mode 100644
index 2f4b924fda..0000000000
--- a/drivers/common/dpaax/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2018 NXP
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_common_dpaax.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -Wno-pointer-arith
-CFLAGS += -Wno-cast-qual
-
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax/caamflib
-
-# versioning export map
-EXPORT_MAP := rte_common_dpaax_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-y += dpaax_iova_table.c dpaa_of.c caamflib.c
-
-LDLIBS += -lrte_eal
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/common/iavf/Makefile b/drivers/common/iavf/Makefile
deleted file mode 100644
index f06dafd408..0000000000
--- a/drivers/common/iavf/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_common_iavf.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -Wno-pointer-arith
-CFLAGS += -Wno-cast-qual
-
-EXPORT_MAP := rte_common_iavf_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-y += iavf_adminq.c
-SRCS-y += iavf_common.c
-SRCS-y += iavf_impl.c
-
-LDLIBS += -lrte_eal
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/common/mlx5/Makefile b/drivers/common/mlx5/Makefile
deleted file mode 100644
index 4edd541042..0000000000
--- a/drivers/common/mlx5/Makefile
+++ /dev/null
@@ -1,404 +0,0 @@
-#   SPDX-License-Identifier: BSD-3-Clause
-#   Copyright 2019 Mellanox Technologies, Ltd
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# Library name.
-LIB = librte_common_mlx5.a
-LIB_GLUE = $(LIB_GLUE_BASE).$(LIB_GLUE_VERSION)
-LIB_GLUE_BASE = librte_pmd_mlx5_glue.so
-LIB_GLUE_VERSION = 20.02.0
-
-# Sources.
-ifeq ($(findstring y,$(CONFIG_RTE_LIBRTE_MLX5_PMD)$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD)),y)
-ifneq ($(CONFIG_RTE_IBVERBS_LINK_DLOPEN),y)
-SRCS-y += linux/mlx5_glue.c
-endif
-SRCS-y += mlx5_devx_cmds.c
-SRCS-y += mlx5_common.c
-SRCS-y += linux/mlx5_common_os.c
-SRCS-y += linux/mlx5_nl.c
-SRCS-y += linux/mlx5_common_verbs.c
-SRCS-y += mlx5_common_mp.c
-SRCS-y += mlx5_common_mr.c
-SRCS-y += mlx5_malloc.c
-SRCS-y += mlx5_common_pci.c
-ifeq ($(CONFIG_RTE_IBVERBS_LINK_DLOPEN),y)
-INSTALL-y-lib += $(LIB_GLUE)
-endif
-endif
-
-# Basic CFLAGS.
-CFLAGS += -O3
-CFLAGS += -std=c11 -Wall -Wextra
-CFLAGS += -g
-CFLAGS += -I.
-CFLAGS += -I$(SRCDIR)
-CFLAGS += -I$(SRCDIR)/linux
-CFLAGS += -D_BSD_SOURCE
-CFLAGS += -D_DEFAULT_SOURCE
-CFLAGS += -D_XOPEN_SOURCE=600
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -Wno-strict-prototypes
-ifeq ($(CONFIG_RTE_IBVERBS_LINK_DLOPEN),y)
-CFLAGS += -DMLX5_GLUE='"$(LIB_GLUE)"'
-CFLAGS += -DMLX5_GLUE_VERSION='"$(LIB_GLUE_VERSION)"'
-CFLAGS_linux/mlx5_glue.o += -fPIC
-LDLIBS += -ldl
-else ifeq ($(CONFIG_RTE_IBVERBS_LINK_STATIC),y)
-LDLIBS += $(shell $(RTE_SDK)/buildtools/options-ibverbs-static.sh)
-else
-LDLIBS += -libverbs -lmlx5
-endif
-
-LDLIBS += -lrte_eal -lrte_pci -lrte_kvargs -lrte_net
-LDLIBS += -lrte_bus_pci
-
-# A few warnings cannot be avoided in external headers.
-CFLAGS += -Wno-error=cast-qual -UPEDANTIC
-
-EXPORT_MAP := rte_common_mlx5_version.map
-
-include $(RTE_SDK)/mk/rte.lib.mk
-
-# Generate and clean-up mlx5_autoconf.h.
-
-export CC CFLAGS CPPFLAGS EXTRA_CFLAGS EXTRA_CPPFLAGS
-export AUTO_CONFIG_CFLAGS = -Wno-error
-
-ifndef V
-AUTOCONF_OUTPUT := >/dev/null
-endif
-
-mlx5_autoconf.h.new: FORCE
-
-mlx5_autoconf.h.new: $(RTE_SDK)/buildtools/auto-config-h.sh
-	$Q $(RM) -f -- '$@'
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_RELAXED_ORDERING \
-		infiniband/verbs.h \
-		enum IBV_ACCESS_RELAXED_ORDERING \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_DEVICE_STRIDING_RQ_SUPPORT \
-		infiniband/mlx5dv.h \
-		enum MLX5DV_CQE_RES_FORMAT_CSUM_STRIDX \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_DEVICE_TUNNEL_SUPPORT \
-		infiniband/mlx5dv.h \
-		enum MLX5DV_CONTEXT_MASK_TUNNEL_OFFLOADS \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_DEVICE_MPLS_SUPPORT \
-		infiniband/verbs.h \
-		enum IBV_FLOW_SPEC_MPLS \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_WQ_FLAGS_PCI_WRITE_END_PADDING \
-		infiniband/verbs.h \
-		enum IBV_WQ_FLAGS_PCI_WRITE_END_PADDING \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_WQ_FLAG_RX_END_PADDING \
-		infiniband/verbs.h \
-		enum IBV_WQ_FLAG_RX_END_PADDING \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_MLX5_MOD_SWP \
-		infiniband/mlx5dv.h \
-		type 'struct mlx5dv_sw_parsing_caps' \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_MLX5_MOD_MPW \
-		infiniband/mlx5dv.h \
-		enum MLX5DV_CONTEXT_FLAGS_MPW_ALLOWED \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_MLX5_MOD_CQE_128B_COMP \
-		infiniband/mlx5dv.h \
-		enum MLX5DV_CONTEXT_FLAGS_CQE_128B_COMP \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_MLX5_MOD_CQE_128B_PAD \
-		infiniband/mlx5dv.h \
-		enum MLX5DV_CQ_INIT_ATTR_FLAGS_CQE_PAD \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_FLOW_DV_SUPPORT \
-		infiniband/mlx5dv.h \
-		func mlx5dv_create_flow_action_packet_reformat \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_MLX5DV_DR \
-		infiniband/mlx5dv.h \
-		enum MLX5DV_DR_DOMAIN_TYPE_NIC_RX \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_MLX5DV_DR_ESWITCH \
-		infiniband/mlx5dv.h \
-		enum MLX5DV_DR_DOMAIN_TYPE_FDB \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_MLX5DV_DR_VLAN \
-		infiniband/mlx5dv.h \
-		func mlx5dv_dr_action_create_push_vlan \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_MLX5DV_DR_DEVX_PORT \
-		infiniband/mlx5dv.h \
-		func mlx5dv_query_devx_port \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_DEVX_OBJ \
-		infiniband/mlx5dv.h \
-		func mlx5dv_devx_obj_create \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_FLOW_DEVX_COUNTERS \
-		infiniband/mlx5dv.h \
-		enum MLX5DV_FLOW_ACTION_COUNTERS_DEVX \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_MLX5_DR_CREATE_ACTION_DEFAULT_MISS \
-		infiniband/mlx5dv.h \
-		enum MLX5DV_FLOW_ACTION_DEFAULT_MISS \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_DEVX_ASYNC \
-		infiniband/mlx5dv.h \
-		func mlx5dv_devx_obj_query_async \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_DEVX_QP \
-		infiniband/mlx5dv.h \
-		func mlx5dv_devx_qp_query \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_MLX5DV_DEVX_UAR_OFFSET \
-		infiniband/mlx5dv.h \
-		field "struct mlx5dv_devx_uar.mmap_off" \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_MLX5DV_PP_ALLOC \
-		infiniband/mlx5dv.h \
-		func mlx5dv_pp_alloc \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_MLX5DV_DR_ACTION_DEST_DEVX_TIR \
-		infiniband/mlx5dv.h \
-		func mlx5dv_dr_action_create_dest_devx_tir \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_DEVX_EVENT \
-		infiniband/mlx5dv.h \
-		func mlx5dv_devx_get_event \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_MLX5_DR_CREATE_ACTION_FLOW_METER \
-		infiniband/mlx5dv.h \
-		func mlx5dv_dr_action_create_flow_meter \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_MLX5_DR_FLOW_DUMP \
-		infiniband/mlx5dv.h \
-		func mlx5dv_dump_dr_domain \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_MLX5DV_MMAP_GET_NC_PAGES_CMD \
-		infiniband/mlx5dv.h \
-		enum MLX5_MMAP_GET_NC_PAGES_CMD \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_VAR \
-		infiniband/mlx5dv.h \
-		func mlx5dv_alloc_var \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_MLX5DV_DR_MEM_RECLAIM \
-		infiniband/mlx5dv.h \
-		func mlx5dv_dr_domain_set_reclaim_device_memory \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_MLX5_OPCODE_ENHANCED_MPSW \
-		infiniband/mlx5dv.h \
-		enum MLX5_OPCODE_ENHANCED_MPSW \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_MLX5_OPCODE_SEND_EN \
-		infiniband/mlx5dv.h \
-		enum MLX5_OPCODE_SEND_EN \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_MLX5_OPCODE_WAIT \
-		infiniband/mlx5dv.h \
-		enum MLX5_OPCODE_WAIT \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_ETHTOOL_LINK_MODE_25G \
-		/usr/include/linux/ethtool.h \
-		enum ETHTOOL_LINK_MODE_25000baseCR_Full_BIT \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_ETHTOOL_LINK_MODE_50G \
-		/usr/include/linux/ethtool.h \
-		enum ETHTOOL_LINK_MODE_50000baseCR2_Full_BIT \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_ETHTOOL_LINK_MODE_100G \
-		/usr/include/linux/ethtool.h \
-		enum ETHTOOL_LINK_MODE_100000baseKR4_Full_BIT \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_DEVICE_COUNTERS_SET_V42 \
-		infiniband/verbs.h \
-		type 'struct ibv_counter_set_init_attr' \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_DEVICE_COUNTERS_SET_V45 \
-		infiniband/verbs.h \
-		type 'struct ibv_counters_init_attr' \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_RDMA_NL_NLDEV \
-		rdma/rdma_netlink.h \
-		enum RDMA_NL_NLDEV \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_RDMA_NLDEV_CMD_GET \
-		rdma/rdma_netlink.h \
-		enum RDMA_NLDEV_CMD_GET \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_RDMA_NLDEV_CMD_PORT_GET \
-		rdma/rdma_netlink.h \
-		enum RDMA_NLDEV_CMD_PORT_GET \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_RDMA_NLDEV_ATTR_DEV_INDEX \
-		rdma/rdma_netlink.h \
-		enum RDMA_NLDEV_ATTR_DEV_INDEX \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_RDMA_NLDEV_ATTR_DEV_NAME \
-		rdma/rdma_netlink.h \
-		enum RDMA_NLDEV_ATTR_DEV_NAME \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_RDMA_NLDEV_ATTR_PORT_INDEX \
-		rdma/rdma_netlink.h \
-		enum RDMA_NLDEV_ATTR_PORT_INDEX \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_RDMA_NLDEV_ATTR_NDEV_INDEX \
-		rdma/rdma_netlink.h \
-		enum RDMA_NLDEV_ATTR_NDEV_INDEX \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IFLA_NUM_VF \
-		linux/if_link.h \
-		enum IFLA_NUM_VF \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IFLA_EXT_MASK \
-		linux/if_link.h \
-		enum IFLA_EXT_MASK \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IFLA_PHYS_SWITCH_ID \
-		linux/if_link.h \
-		enum IFLA_PHYS_SWITCH_ID \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IFLA_PHYS_PORT_NAME \
-		linux/if_link.h \
-		enum IFLA_PHYS_PORT_NAME \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_DEVLINK \
-		linux/devlink.h \
-		define DEVLINK_GENL_NAME \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_SUPPORTED_40000baseKR4_Full \
-		/usr/include/linux/ethtool.h \
-		define SUPPORTED_40000baseKR4_Full \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_SUPPORTED_40000baseCR4_Full \
-		/usr/include/linux/ethtool.h \
-		define SUPPORTED_40000baseCR4_Full \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_SUPPORTED_40000baseSR4_Full \
-		/usr/include/linux/ethtool.h \
-		define SUPPORTED_40000baseSR4_Full \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_SUPPORTED_40000baseLR4_Full \
-		/usr/include/linux/ethtool.h \
-		define SUPPORTED_40000baseLR4_Full \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_SUPPORTED_56000baseKR4_Full \
-		/usr/include/linux/ethtool.h \
-		define SUPPORTED_56000baseKR4_Full \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_SUPPORTED_56000baseCR4_Full \
-		/usr/include/linux/ethtool.h \
-		define SUPPORTED_56000baseCR4_Full \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_SUPPORTED_56000baseSR4_Full \
-		/usr/include/linux/ethtool.h \
-		define SUPPORTED_56000baseSR4_Full \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_SUPPORTED_56000baseLR4_Full \
-		/usr/include/linux/ethtool.h \
-		define SUPPORTED_56000baseLR4_Full \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_STATIC_ASSERT \
-		/usr/include/assert.h \
-		define static_assert \
-		$(AUTOCONF_OUTPUT)
-
-# Create mlx5_autoconf.h or update it in case it differs from the new one.
-
-mlx5_autoconf.h: mlx5_autoconf.h.new
-	$Q [ -f '$@' ] && \
-		cmp '$<' '$@' $(AUTOCONF_OUTPUT) || \
-		mv '$<' '$@'
-
-ifeq ($(findstring y,$(CONFIG_RTE_LIBRTE_MLX5_PMD)$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD)),y)
-$(SRCS-y:.c=.o): mlx5_autoconf.h
-endif
-
-# Generate dependency plug-in for rdma-core when the PMD must not be linked
-# directly, so that applications do not inherit this dependency.
-
-ifeq ($(CONFIG_RTE_IBVERBS_LINK_DLOPEN),y)
-
-$(LIB): $(LIB_GLUE)
-
-ifeq ($(LINK_USING_CC),1)
-GLUE_LDFLAGS := $(call linkerprefix,$(LDFLAGS))
-else
-GLUE_LDFLAGS := $(LDFLAGS)
-endif
-$(LIB_GLUE): linux/mlx5_glue.o
-	$Q $(LD) $(GLUE_LDFLAGS) $(EXTRA_LDFLAGS) \
-		-Wl,-h,$(LIB_GLUE) \
-		-shared -o $@ $< -libverbs -lmlx5
-
-linux/mlx5_glue.o: mlx5_autoconf.h
-
-endif
-
-clean_mlx5: FORCE
-	$Q rm -f -- mlx5_autoconf.h mlx5_autoconf.h.new
-	$Q rm -f -- linux/mlx5_glue.o $(LIB_GLUE_BASE)*
-
-clean: clean_mlx5
diff --git a/drivers/common/mvep/Makefile b/drivers/common/mvep/Makefile
deleted file mode 100644
index f91d295e5c..0000000000
--- a/drivers/common/mvep/Makefile
+++ /dev/null
@@ -1,35 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Marvell International Ltd.
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-ifneq ($(MAKECMDGOALS),clean)
-ifneq ($(MAKECMDGOALS),config)
-ifeq ($(LIBMUSDK_PATH),)
-$(error "Please define LIBMUSDK_PATH environment variable")
-endif
-endif
-endif
-
-# library name
-LIB = librte_common_mvep.a
-
-# versioning export map
-EXPORT_MAP := rte_common_mvep_version.map
-
-# external library dependencies
-CFLAGS += -I$($RTE_SDK)/drivers/common/mvep
-CFLAGS += -I$(LIBMUSDK_PATH)/include
-CFLAGS += -DMVCONF_TYPES_PUBLIC
-CFLAGS += -DMVCONF_DMA_PHYS_ADDR_T_PUBLIC
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -O3
-LDLIBS += -L$(LIBMUSDK_PATH)/lib
-LDLIBS += -lmusdk
-LDLIBS += -lrte_eal -lrte_kvargs
-
-# library source files
-SRCS-y += mvep_common.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/common/octeontx/Makefile b/drivers/common/octeontx/Makefile
deleted file mode 100644
index 5e67df0583..0000000000
--- a/drivers/common/octeontx/Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Cavium, Inc
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_common_octeontx.a
-
-CFLAGS += $(WERROR_FLAGS)
-EXPORT_MAP := rte_common_octeontx_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-y += octeontx_mbox.c
-
-LDLIBS += -lrte_eal
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/common/octeontx2/Makefile b/drivers/common/octeontx2/Makefile
deleted file mode 100644
index 260da8dd3e..0000000000
--- a/drivers/common/octeontx2/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(C) 2019 Marvell International Ltd.
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_common_octeontx2.a
-
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx2
-CFLAGS += -I$(RTE_SDK)/drivers/mempool/octeontx2
-CFLAGS += -I$(RTE_SDK)/drivers/bus/pci
-
-ifneq ($(CONFIG_RTE_ARCH_64),y)
-CFLAGS += -Wno-int-to-pointer-cast
-CFLAGS += -Wno-pointer-to-int-cast
-ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS += -diag-disable 2259
-endif
-endif
-
-EXPORT_MAP := rte_common_octeontx2_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-y += otx2_dev.c
-SRCS-y += otx2_irq.c
-SRCS-y += otx2_mbox.c
-SRCS-y += otx2_common.c
-SRCS-y += otx2_sec_idev.c
-
-LDLIBS += -lrte_eal
-LDLIBS += -lrte_ethdev -lrte_kvargs
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/common/qat/Makefile b/drivers/common/qat/Makefile
deleted file mode 100644
index 85d4207099..0000000000
--- a/drivers/common/qat/Makefile
+++ /dev/null
@@ -1,74 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2015-2018 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# build directories
-QAT_CRYPTO_DIR := $(RTE_SDK)/drivers/crypto/qat
-QAT_COMPRESS_DIR := $(RTE_SDK)/drivers/compress/qat
-VPATH=$(QAT_CRYPTO_DIR):$(QAT_COMPRESS_DIR)
-
-# external library include paths
-CFLAGS += -I$(SRCDIR)/qat_adf
-CFLAGS += -I$(SRCDIR)
-CFLAGS += -I$(QAT_CRYPTO_DIR)
-CFLAGS += -I$(QAT_COMPRESS_DIR)
-
-
-ifeq ($(CONFIG_RTE_LIBRTE_COMPRESSDEV),y)
-	LDLIBS += -lrte_compressdev
-	SRCS-y += qat_comp.c
-	SRCS-y += qat_comp_pmd.c
-	build_qat = yes
-endif
-
-# library symmetric crypto source files
-ifeq ($(CONFIG_RTE_LIBRTE_CRYPTODEV),y)
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_QAT_ASYM),y)
-	LDLIBS += -lrte_cryptodev
-	LDLIBS += -lcrypto
-	CFLAGS += -DBUILD_QAT_ASYM
-	SRCS-y += qat_asym.c
-	SRCS-y += qat_asym_pmd.c
-	build_qat = yes
-endif
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_QAT_SYM),y)
-	LDLIBS += -lrte_cryptodev
-	LDLIBS += -lcrypto
-ifeq ($(CONFIG_RTE_LIBRTE_SECURITY),y)
-	LDLIBS += -lrte_net
-endif
-	CFLAGS += -DBUILD_QAT_SYM
-	SRCS-y += qat_sym.c
-	SRCS-y += qat_sym_session.c
-	SRCS-y += qat_sym_pmd.c
-	build_qat = yes
-endif
-endif
-
-ifdef build_qat
-
-	# library name
-	LIB = librte_pmd_qat.a
-
-	# build flags
-	CFLAGS += $(WERROR_FLAGS)
-	CFLAGS += -O3
-
-	# library common source files
-	SRCS-y += qat_device.c
-	SRCS-y += qat_common.c
-	SRCS-y += qat_logs.c
-	SRCS-y += qat_qp.c
-
-	LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool
-	LDLIBS += -lrte_pci -lrte_bus_pci
-
-	# export include files
-	SYMLINK-y-include +=
-
-	# versioning export map
-	EXPORT_MAP := ../../compress/qat/rte_pmd_qat_version.map
-endif
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/compress/Makefile b/drivers/compress/Makefile
deleted file mode 100644
index 286ea6ee84..0000000000
--- a/drivers/compress/Makefile
+++ /dev/null
@@ -1,10 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_ISAL) += isal
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_ZIPVF) += octeontx
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_ZLIB) += zlib
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/drivers/compress/isal/Makefile b/drivers/compress/isal/Makefile
deleted file mode 100644
index 1e225ab434..0000000000
--- a/drivers/compress/isal/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_isal_comp.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-# external library dependencies
-LDLIBS += -lisal
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_compressdev
-LDLIBS += -lrte_bus_vdev
-
-# versioning export map
-EXPORT_MAP := rte_pmd_isal_version.map
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_ISAL) += isal_compress_pmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_ISAL) += isal_compress_pmd_ops.c
-
-# export include files
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/compress/octeontx/Makefile b/drivers/compress/octeontx/Makefile
deleted file mode 100644
index 9ba1db791e..0000000000
--- a/drivers/compress/octeontx/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Cavium, Inc
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_octeontx_zip.a
-
-# build flags
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -O3
-CFLAGS += -I$(RTE_SDK)/drivers/compress/octeontx/include
-
-# external library include paths
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_compressdev
-LDLIBS += -lrte_pci -lrte_bus_pci
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_ZIPVF) += otx_zip_pmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_ZIPVF) += otx_zip.c
-
-# versioning export map
-EXPORT_MAP := rte_pmd_octeontx_compress_version.map
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/compress/zlib/Makefile b/drivers/compress/zlib/Makefile
deleted file mode 100644
index 9f695f7d9a..0000000000
--- a/drivers/compress/zlib/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Cavium Networks
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_zlib.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-# versioning export map
-EXPORT_MAP := rte_pmd_zlib_version.map
-
-# external library dependencies
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring -lz
-LDLIBS += -lrte_compressdev
-LDLIBS += -lrte_bus_vdev
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_ZLIB) += zlib_pmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_ZLIB) += zlib_pmd_ops.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/Makefile b/drivers/crypto/Makefile
deleted file mode 100644
index 47a2a9e794..0000000000
--- a/drivers/crypto/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_GCM) += aesni_gcm
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB) += aesni_mb
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO) += armv8
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_CCP) += ccp
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_CRYPTO) += octeontx
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO) += octeontx2
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_OPENSSL) += openssl
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += scheduler
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_SNOW3G) += snow3g
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_KASUMI) += kasumi
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_ZUC) += zuc
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_MVSAM_CRYPTO) += mvsam
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_NULL_CRYPTO) += null
-ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC) += dpaa2_sec
-endif # CONFIG_RTE_LIBRTE_FSLMC_BUS
-ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_SEC) += dpaa_sec
-endif # CONFIG_RTE_LIBRTE_PMD_DPAA_SEC
-ifeq ($(CONFIG_RTE_LIBRTE_SECURITY),y)
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_CAAM_JR) += caam_jr
-endif # CONFIG_RTE_LIBRTE_SECURITY
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_VIRTIO_CRYPTO) += virtio
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_NITROX) += nitrox
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/drivers/crypto/aesni_gcm/Makefile b/drivers/crypto/aesni_gcm/Makefile
deleted file mode 100644
index 01cb4fddfe..0000000000
--- a/drivers/crypto/aesni_gcm/Makefile
+++ /dev/null
@@ -1,43 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016-2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_aesni_gcm.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-# versioning export map
-EXPORT_MAP := rte_pmd_aesni_gcm_version.map
-
-# external library dependencies
-LDLIBS += -lIPSec_MB
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_cryptodev
-LDLIBS += -lrte_bus_vdev
-
-H := \#
-IMB_HDR = $(shell echo '$Hinclude <intel-ipsec-mb.h>' | \
-	$(CC) -E $(EXTRA_CFLAGS) - | grep 'intel-ipsec-mb.h' | \
-	head -n1 | cut -d'"' -f2)
-
-# Detect library version
-IMB_VERSION = $(shell grep -e "IMB_VERSION_STR" $(IMB_HDR) | cut -d'"' -f2)
-IMB_VERSION_NUM = $(shell grep -e "IMB_VERSION_NUM" $(IMB_HDR) | cut -d' ' -f3)
-
-ifeq ($(IMB_VERSION),)
-$(error "IPSec_MB version >= 0.52 is required")
-endif
-
-ifeq ($(shell expr $(IMB_VERSION_NUM) \< 0x3400), 1)
-$(error "IPSec_MB version >= 0.52 is required")
-endif
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_GCM) += aesni_gcm_pmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_GCM) += aesni_gcm_pmd_ops.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/aesni_mb/Makefile b/drivers/crypto/aesni_mb/Makefile
deleted file mode 100644
index f0dc82f395..0000000000
--- a/drivers/crypto/aesni_mb/Makefile
+++ /dev/null
@@ -1,42 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2015-2018 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_aesni_mb.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-# versioning export map
-EXPORT_MAP := rte_pmd_aesni_mb_version.map
-
-# external library dependencies
-LDLIBS += -lIPSec_MB
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_cryptodev
-LDLIBS += -lrte_bus_vdev
-
-H := \#
-IMB_HDR = $(shell echo '$Hinclude <intel-ipsec-mb.h>' | \
-	$(CC) -E $(EXTRA_CFLAGS) - | grep 'intel-ipsec-mb.h' | \
-	head -n1 | cut -d'"' -f2)
-
-# Detect library version
-IMB_VERSION = $(shell grep -e "IMB_VERSION_STR" $(IMB_HDR) | cut -d'"' -f2)
-IMB_VERSION_NUM = $(shell grep -e "IMB_VERSION_NUM" $(IMB_HDR) | cut -d' ' -f3)
-
-ifeq ($(IMB_VERSION),)
-$(error "IPSec_MB version >= 0.52 is required")
-endif
-
-ifeq ($(shell expr $(IMB_VERSION_NUM) \< 0x3400), 1)
-$(error "IPSec_MB version >= 0.52 is required")
-endif
-
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB) += rte_aesni_mb_pmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB) += rte_aesni_mb_pmd_ops.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/armv8/Makefile b/drivers/crypto/armv8/Makefile
deleted file mode 100644
index 0e3bc9fb70..0000000000
--- a/drivers/crypto/armv8/Makefile
+++ /dev/null
@@ -1,36 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Cavium, Inc
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-ifneq ($(MAKECMDGOALS),clean)
-ifneq ($(MAKECMDGOALS),config)
-ifeq ($(ARMV8_CRYPTO_LIB_PATH),)
-$(error "Please define ARMV8_CRYPTO_LIB_PATH environment variable")
-endif
-endif
-endif
-
-# library name
-LIB = librte_pmd_armv8.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-# versioning export map
-EXPORT_MAP := rte_pmd_armv8_version.map
-
-# external library dependencies
-CFLAGS += -I$(ARMV8_CRYPTO_LIB_PATH)
-LDLIBS += -L$(ARMV8_CRYPTO_LIB_PATH) -lAArch64crypto
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_cryptodev
-LDLIBS += -lrte_bus_vdev
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO) += rte_armv8_pmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO) += rte_armv8_pmd_ops.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/caam_jr/Makefile b/drivers/crypto/caam_jr/Makefile
deleted file mode 100644
index 89d3238172..0000000000
--- a/drivers/crypto/caam_jr/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2017 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_caam_jr.a
-
-# build flags
-CFLAGS += -D _GNU_SOURCE
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa/include
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax/caamflib/
-CFLAGS += -I$(RTE_SDK)/drivers/crypto/caam_jr
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
-
-# versioning export map
-EXPORT_MAP := rte_pmd_caam_jr_version.map
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CAAM_JR) += caam_jr.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CAAM_JR) += caam_jr_capabilities.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CAAM_JR) += caam_jr_hw.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CAAM_JR) += caam_jr_uio.c
-# library dependencies
-
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_cryptodev
-LDLIBS += -lrte_bus_dpaa
-LDLIBS += -lrte_bus_vdev
-LDLIBS += -lrte_common_dpaax
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/ccp/Makefile b/drivers/crypto/ccp/Makefile
deleted file mode 100644
index 3f5da2adf3..0000000000
--- a/drivers/crypto/ccp/Makefile
+++ /dev/null
@@ -1,32 +0,0 @@
-#   SPDX-License-Identifier: BSD-3-Clause
-#   Copyright(c) 2018 Advanced Micro Devices, Inc. All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_ccp.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += -I$(SRCDIR)
-CFLAGS += $(WERROR_FLAGS)
-
-# external library include paths
-LDLIBS += -lcrypto
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_cryptodev
-LDLIBS += -lrte_pci -lrte_bus_pci
-LDLIBS += -lrte_bus_vdev
-LDLIBS += -lrte_kvargs
-
-# versioning export map
-EXPORT_MAP := rte_pmd_ccp_version.map
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CCP) += rte_ccp_pmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CCP) += ccp_crypto.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CCP) += ccp_dev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CCP) += ccp_pci.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CCP) += ccp_pmd_ops.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/dpaa2_sec/Makefile b/drivers/crypto/dpaa2_sec/Makefile
deleted file mode 100644
index a0a2795575..0000000000
--- a/drivers/crypto/dpaa2_sec/Makefile
+++ /dev/null
@@ -1,45 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright (c) 2016 Freescale Semiconductor, Inc. All rights reserved.
-# Copyright 2016 NXP
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-#
-# library name
-#
-LIB = librte_pmd_dpaa2_sec.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
-ifeq ($(shell test $(GCC_VERSION) -gt 70 && echo 1), 1)
-CFLAGS += -Wno-implicit-fallthrough
-endif
-endif
-
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax/caamflib
-CFLAGS += -I$(RTE_SDK)/drivers/crypto/dpaa2_sec/
-CFLAGS += -I$(RTE_SDK)/drivers/crypto/dpaa2_sec/mc
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/qbman/include
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/mc
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/portal
-CFLAGS += -I$(RTE_SDK)/drivers/mempool/dpaa2/
-
-# versioning export map
-EXPORT_MAP := rte_pmd_dpaa2_sec_version.map
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC) += dpaa2_sec_dpseci.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC) += mc/dpseci.c
-
-LDLIBS += -lrte_bus_fslmc
-LDLIBS += -lrte_mempool_dpaa2
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_cryptodev
-LDLIBS += -lrte_common_dpaax
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/dpaa_sec/Makefile b/drivers/crypto/dpaa_sec/Makefile
deleted file mode 100644
index ea266962a3..0000000000
--- a/drivers/crypto/dpaa_sec/Makefile
+++ /dev/null
@@ -1,38 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright (c) 2016 Freescale Semiconductor, Inc. All rights reserved.
-# Copyright 2017 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_dpaa_sec.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa
-CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa/include
-CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa/base/qbman
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-CFLAGS += -I$(RTE_SDK)/drivers/crypto/dpaa_sec/
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax/caamflib/
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_cryptodev
-
-# versioning export map
-EXPORT_MAP := rte_pmd_dpaa_sec_version.map
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_SEC) += dpaa_sec.c
-
-# library dependencies
-
-LDLIBS += -lrte_bus_dpaa
-LDLIBS += -lrte_mempool_dpaa
-LDLIBS += -lrte_common_dpaax
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/kasumi/Makefile b/drivers/crypto/kasumi/Makefile
deleted file mode 100644
index a7d0d079d2..0000000000
--- a/drivers/crypto/kasumi/Makefile
+++ /dev/null
@@ -1,42 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_kasumi.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-# versioning export map
-EXPORT_MAP := rte_pmd_kasumi_version.map
-
-# external library dependencies
-LDLIBS += -lIPSec_MB
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_cryptodev
-LDLIBS += -lrte_bus_vdev
-
-H := \#
-IMB_HDR = $(shell echo '$Hinclude <intel-ipsec-mb.h>' | \
-	$(CC) -E $(EXTRA_CFLAGS) - | grep 'intel-ipsec-mb.h' | \
-	head -n1 | cut -d'"' -f2)
-
-# Detect library version
-IMB_VERSION = $(shell grep -e "IMB_VERSION_STR" $(IMB_HDR) | cut -d'"' -f2)
-IMB_VERSION_NUM = $(shell grep -e "IMB_VERSION_NUM" $(IMB_HDR) | cut -d' ' -f3)
-
-ifeq ($(IMB_VERSION),)
-$(error "IPSec_MB version >= 0.53 is required")
-endif
-
-ifeq ($(shell expr $(IMB_VERSION_NUM) \< 0x3400), 1)
-$(error "IPSec_MB version >= 0.53 is required")
-endif
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_KASUMI) += rte_kasumi_pmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_KASUMI) += rte_kasumi_pmd_ops.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/mvsam/Makefile b/drivers/crypto/mvsam/Makefile
deleted file mode 100644
index f0641ae7d9..0000000000
--- a/drivers/crypto/mvsam/Makefile
+++ /dev/null
@@ -1,40 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Marvell International Ltd.
-# Copyright(c) 2017 Semihalf.
-# All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-ifneq ($(MAKECMDGOALS),clean)
-ifneq ($(MAKECMDGOALS),config)
-ifeq ($(LIBMUSDK_PATH),)
-$(error "Please define LIBMUSDK_PATH environment variable")
-endif
-endif
-endif
-
-# library name
-LIB = librte_pmd_mvsam_crypto.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/common/mvep
-CFLAGS += -I$(LIBMUSDK_PATH)/include
-CFLAGS += -DMVCONF_TYPES_PUBLIC
-CFLAGS += -DMVCONF_DMA_PHYS_ADDR_T_PUBLIC
-
-# versioning export map
-EXPORT_MAP := rte_pmd_mvsam_version.map
-
-# external library dependencies
-LDLIBS += -L$(LIBMUSDK_PATH)/lib -lmusdk
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_kvargs
-LDLIBS += -lrte_cryptodev
-LDLIBS += -lrte_bus_vdev -lrte_common_mvep
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_MVSAM_CRYPTO) += rte_mrvl_pmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_MVSAM_CRYPTO) += rte_mrvl_pmd_ops.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/nitrox/Makefile b/drivers/crypto/nitrox/Makefile
deleted file mode 100644
index 535121196b..0000000000
--- a/drivers/crypto/nitrox/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(C) 2019 Marvell International Ltd.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_nitrox.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-# versioning export map
-EXPORT_MAP := rte_pmd_nitrox_version.map
-
-# external library dependencies
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool
-LDLIBS += -lrte_pci -lrte_bus_pci
-LDLIBS += -lrte_cryptodev
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_NITROX) += nitrox_device.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_NITROX) += nitrox_hal.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_NITROX) += nitrox_logs.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_NITROX) += nitrox_sym.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_NITROX) += nitrox_sym_capabilities.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_NITROX) += nitrox_sym_reqmgr.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_NITROX) += nitrox_qp.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/null/Makefile b/drivers/crypto/null/Makefile
deleted file mode 100644
index 4595055f01..0000000000
--- a/drivers/crypto/null/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-
-# library name
-LIB = librte_pmd_null_crypto.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_cryptodev
-LDLIBS += -lrte_bus_vdev
-
-# versioning export map
-EXPORT_MAP := rte_pmd_null_crypto_version.map
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_NULL_CRYPTO) += null_crypto_pmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_NULL_CRYPTO) += null_crypto_pmd_ops.c
-
-# export include files
-SYMLINK-y-include +=
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/octeontx/Makefile b/drivers/crypto/octeontx/Makefile
deleted file mode 100644
index 296755ee90..0000000000
--- a/drivers/crypto/octeontx/Makefile
+++ /dev/null
@@ -1,36 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Cavium, Inc
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_octeontx_crypto.a
-
-# build flags
-CFLAGS += $(WERROR_FLAGS)
-
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_cryptodev
-LDLIBS += -lrte_pci -lrte_bus_pci
-LDLIBS += -lrte_common_cpt
-
-VPATH += $(RTE_SDK)/drivers/crypto/octeontx
-
-CFLAGS += -O3
-CFLAGS += -I$(RTE_SDK)/drivers/common/cpt
-
-# PMD code
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_CRYPTO) += otx_cryptodev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_CRYPTO) += otx_cryptodev_capabilities.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_CRYPTO) += otx_cryptodev_hw_access.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_CRYPTO) += otx_cryptodev_mbox.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_CRYPTO) += otx_cryptodev_ops.c
-
-# export include files
-SYMLINK-y-include +=
-
-# versioning export map
-EXPORT_MAP := rte_pmd_octeontx_crypto_version.map
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/octeontx2/Makefile b/drivers/crypto/octeontx2/Makefile
deleted file mode 100644
index 14152c6117..0000000000
--- a/drivers/crypto/octeontx2/Makefile
+++ /dev/null
@@ -1,49 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright (C) 2019 Marvell International Ltd.
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_octeontx2_crypto.a
-
-# build flags
-CFLAGS += $(WERROR_FLAGS)
-
-LDLIBS += -lrte_eal -lrte_ethdev -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_cryptodev -lrte_security
-LDLIBS += -lrte_pci -lrte_bus_pci
-LDLIBS += -lrte_common_cpt -lrte_common_octeontx2
-
-VPATH += $(RTE_SDK)/drivers/crypto/octeontx2
-
-CFLAGS += -O3
-CFLAGS += -I$(RTE_SDK)/drivers/common/cpt
-CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx2
-CFLAGS += -I$(RTE_SDK)/drivers/crypto/octeontx2
-CFLAGS += -I$(RTE_SDK)/drivers/mempool/octeontx2
-CFLAGS += -I$(RTE_SDK)/drivers/net/octeontx2
-
-ifneq ($(CONFIG_RTE_ARCH_64),y)
-CFLAGS += -Wno-int-to-pointer-cast
-CFLAGS += -Wno-pointer-to-int-cast
-ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS += -diag-disable 2259
-endif
-endif
-
-# PMD code
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO) += otx2_cryptodev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO) += otx2_cryptodev_capabilities.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO) += otx2_cryptodev_hw_access.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO) += otx2_cryptodev_mbox.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO) += otx2_cryptodev_ops.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO) += otx2_cryptodev_sec.c
-
-# export include files
-SYMLINK-y-include +=
-
-# versioning export map
-EXPORT_MAP := rte_pmd_octeontx2_crypto_version.map
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/openssl/Makefile b/drivers/crypto/openssl/Makefile
deleted file mode 100644
index b85c816551..0000000000
--- a/drivers/crypto/openssl/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_openssl.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-# versioning export map
-EXPORT_MAP := rte_pmd_openssl_version.map
-
-# external library dependencies
-LDLIBS += -lcrypto
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_cryptodev
-LDLIBS += -lrte_bus_vdev
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OPENSSL) += rte_openssl_pmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OPENSSL) += rte_openssl_pmd_ops.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/scheduler/Makefile b/drivers/crypto/scheduler/Makefile
deleted file mode 100644
index 67aac024c4..0000000000
--- a/drivers/crypto/scheduler/Makefile
+++ /dev/null
@@ -1,34 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_crypto_scheduler.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_cryptodev -lrte_kvargs -lrte_reorder
-LDLIBS += -lrte_bus_vdev
-
-# versioning export map
-EXPORT_MAP := rte_pmd_crypto_scheduler_version.map
-
-#
-# Export include files
-#
-SYMLINK-y-include += rte_cryptodev_scheduler_operations.h
-SYMLINK-y-include += rte_cryptodev_scheduler.h
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += scheduler_pmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += scheduler_pmd_ops.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += rte_cryptodev_scheduler.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += scheduler_roundrobin.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += scheduler_pkt_size_distr.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += scheduler_failover.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += scheduler_multicore.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/snow3g/Makefile b/drivers/crypto/snow3g/Makefile
deleted file mode 100644
index 469aefaa56..0000000000
--- a/drivers/crypto/snow3g/Makefile
+++ /dev/null
@@ -1,43 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016-2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_snow3g.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-# versioning export map
-EXPORT_MAP := rte_pmd_snow3g_version.map
-
-# external library dependencies
-LDLIBS += -lIPSec_MB
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_cryptodev
-LDLIBS += -lrte_bus_vdev
-
-H := \#
-IMB_HDR = $(shell echo '$Hinclude <intel-ipsec-mb.h>' | \
-	$(CC) -E $(EXTRA_CFLAGS) - | grep 'intel-ipsec-mb.h' | \
-	head -n1 | cut -d'"' -f2)
-
-# Detect library version
-IMB_VERSION = $(shell grep -e "IMB_VERSION_STR" $(IMB_HDR) | cut -d'"' -f2)
-IMB_VERSION_NUM = $(shell grep -e "IMB_VERSION_NUM" $(IMB_HDR) | cut -d' ' -f3)
-
-ifeq ($(IMB_VERSION),)
-$(error "IPSec_MB version >= 0.53 is required")
-endif
-
-ifeq ($(shell expr $(IMB_VERSION_NUM) \< 0x3400), 1)
-$(error "IPSec_MB version >= 0.53 is required")
-endif
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SNOW3G) += rte_snow3g_pmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SNOW3G) += rte_snow3g_pmd_ops.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/virtio/Makefile b/drivers/crypto/virtio/Makefile
deleted file mode 100644
index 32e2e4d5e9..0000000000
--- a/drivers/crypto/virtio/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 HUAWEI TECHNOLOGIES CO., LTD.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_virtio_crypto.a
-
-#
-# include virtio_crypto.h
-#
-CFLAGS += -I$(RTE_SDK)/lib/librte_vhost
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-EXPORT_MAP := rte_pmd_virtio_crypto_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_VIRTIO_CRYPTO) += virtqueue.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_VIRTIO_CRYPTO) += virtio_pci.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_VIRTIO_CRYPTO) += virtio_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_VIRTIO_CRYPTO) += virtio_cryptodev.c
-
-# this lib depends upon:
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool
-LDLIBS += -lrte_cryptodev
-LDLIBS += -lrte_pci -lrte_bus_pci
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/crypto/zuc/Makefile b/drivers/crypto/zuc/Makefile
deleted file mode 100644
index 529b47f25e..0000000000
--- a/drivers/crypto/zuc/Makefile
+++ /dev/null
@@ -1,42 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016-2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_zuc.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-# versioning export map
-EXPORT_MAP := rte_pmd_zuc_version.map
-
-# external library dependencies
-LDLIBS += -lIPSec_MB
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_cryptodev
-LDLIBS += -lrte_bus_vdev
-
-H := \#
-IMB_HDR = $(shell echo '$Hinclude <intel-ipsec-mb.h>' | \
-	$(CC) -E $(EXTRA_CFLAGS) - | grep 'intel-ipsec-mb.h' | \
-	head -n1 | cut -d'"' -f2)
-
-# Detect library version
-IMB_VERSION = $(shell grep -e "IMB_VERSION_STR" $(IMB_HDR) | cut -d'"' -f2)
-IMB_VERSION_NUM = $(shell grep -e "IMB_VERSION_NUM" $(IMB_HDR) | cut -d' ' -f3)
-
-ifeq ($(IMB_VERSION),)
-$(error "IPSec_MB version >= 0.53 is required")
-endif
-
-ifeq ($(shell expr $(IMB_VERSION_NUM) \< 0x3400), 1)
-$(error "IPSec_MB version >= 0.53 is required")
-endif
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_ZUC) += rte_zuc_pmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_ZUC) += rte_zuc_pmd_ops.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/event/Makefile b/drivers/event/Makefile
deleted file mode 100644
index 86be41b9eb..0000000000
--- a/drivers/event/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016 Cavium, Inc
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_SKELETON_EVENTDEV) += skeleton
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_SW_EVENTDEV) += sw
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_DSW_EVENTDEV) += dsw
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += octeontx
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV) += octeontx2
-ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_EVENTDEV) += dpaa
-endif
-ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_EVENTDEV) += dpaa2
-endif
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV) += opdl
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/drivers/event/dpaa/Makefile b/drivers/event/dpaa/Makefile
deleted file mode 100644
index a39dc27c62..0000000000
--- a/drivers/event/dpaa/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-#   SPDX-License-Identifier:        BSD-3-Clause
-#   Copyright 2017 NXP
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-RTE_SDK_DPAA=$(RTE_SDK)/drivers/net/dpaa
-
-#
-# library name
-#
-LIB = librte_pmd_dpaa_event.a
-
-CFLAGS := -I$(SRCDIR) $(CFLAGS)
-CFLAGS += -O3 $(WERROR_FLAGS)
-CFLAGS += -Wno-pointer-arith
-CFLAGS += -I$(RTE_SDK_DPAA)/
-CFLAGS += -I$(RTE_SDK_DPAA)/include
-CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa
-CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa/include/
-CFLAGS += -I$(RTE_SDK)/drivers/mempool/dpaa
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
-
-LDLIBS += -lrte_pmd_dpaa_sec
-CFLAGS += -I$(RTE_SDK)/drivers/crypto/dpaa_sec
-
-EXPORT_MAP := rte_pmd_dpaa_event_version.map
-
-# Interfaces with DPDK
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_EVENTDEV) += dpaa_eventdev.c
-
-LDLIBS += -lrte_bus_dpaa
-LDLIBS += -lrte_mempool_dpaa
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_eventdev -lrte_pmd_dpaa -lrte_bus_vdev
-LDLIBS += -lrte_common_dpaax
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/event/dpaa2/Makefile b/drivers/event/dpaa2/Makefile
deleted file mode 100644
index 75cf197c5c..0000000000
--- a/drivers/event/dpaa2/Makefile
+++ /dev/null
@@ -1,41 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2017,2019 NXP
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_dpaa2_event.a
-
-CFLAGS += $(WERROR_FLAGS)
-
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/qbman/include
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/mc
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/portal
-CFLAGS += -I$(RTE_SDK)/drivers/mempool/dpaa2
-CFLAGS += -I$(RTE_SDK)/drivers/event/dpaa2
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-LDLIBS += -lrte_eal -lrte_eventdev
-LDLIBS += -lrte_common_dpaax
-LDLIBS += -lrte_bus_fslmc -lrte_mempool_dpaa2 -lrte_pmd_dpaa2
-LDLIBS += -lrte_bus_vdev -lrte_mempool -lrte_mbuf -lrte_ethdev
-CFLAGS += -I$(RTE_SDK)/drivers/net/dpaa2
-CFLAGS += -I$(RTE_SDK)/drivers/net/dpaa2/mc
-
-LDLIBS += -lrte_pmd_dpaa2_sec
-CFLAGS += -I$(RTE_SDK)/drivers/crypto/dpaa2_sec
-
-# versioning export map
-EXPORT_MAP := rte_pmd_dpaa2_event_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_EVENTDEV) += dpaa2_hw_dpcon.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_EVENTDEV) += dpaa2_eventdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_EVENTDEV) += dpaa2_eventdev_selftest.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/event/dsw/Makefile b/drivers/event/dsw/Makefile
deleted file mode 100644
index f6e7dda1fd..0000000000
--- a/drivers/event/dsw/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Ericsson AB
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-LIB = librte_pmd_dsw_event.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-ifneq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS += -Wno-format-nonliteral
-endif
-
-LDLIBS += -lrte_eal
-LDLIBS += -lrte_mbuf
-LDLIBS += -lrte_mempool
-LDLIBS += -lrte_ring
-LDLIBS += -lrte_eventdev
-LDLIBS += -lrte_bus_vdev
-
-EXPORT_MAP := rte_pmd_dsw_event_version.map
-
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_DSW_EVENTDEV) += \
-	dsw_evdev.c dsw_event.c dsw_xstats.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/event/octeontx/Makefile b/drivers/event/octeontx/Makefile
deleted file mode 100644
index c1233e098d..0000000000
--- a/drivers/event/octeontx/Makefile
+++ /dev/null
@@ -1,51 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Cavium, Inc
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_octeontx_ssovf.a
-
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx/
-CFLAGS += -I$(RTE_SDK)/drivers/mempool/octeontx/
-CFLAGS += -I$(RTE_SDK)/drivers/net/octeontx/
-
-LDLIBS += -lrte_eal -lrte_eventdev -lrte_common_octeontx -lrte_pmd_octeontx
-LDLIBS += -lrte_bus_pci -lrte_mempool -lrte_mbuf -lrte_kvargs
-LDLIBS += -lrte_bus_vdev -lrte_ethdev
-
-EXPORT_MAP := rte_pmd_octeontx_event_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += ssovf_worker.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += ssovf_evdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += ssovf_evdev_selftest.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += ssovf_probe.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += timvf_worker.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += timvf_evdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += timvf_probe.c
-
-ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
-CFLAGS_ssovf_worker.o += -fno-prefetch-loop-arrays
-CFLAGS_timvf_worker.o += -fno-prefetch-loop-arrays
-
-ifeq ($(shell test $(GCC_VERSION) -ge 46 && echo 1), 1)
-CFLAGS_ssovf_worker.o += -Ofast
-CFLAGS_timvf_worker.o += -Ofast
-else
-CFLAGS_ssovf_worker.o += -O3 -ffast-math
-CFLAGS_timvf_worker.o += -O3 -ffast-math
-endif
-
-else
-CFLAGS_ssovf_worker.o += -Ofast
-CFLAGS_timvf_worker.o += -Ofast
-endif
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/event/octeontx2/Makefile b/drivers/event/octeontx2/Makefile
deleted file mode 100644
index 9d67b00c69..0000000000
--- a/drivers/event/octeontx2/Makefile
+++ /dev/null
@@ -1,47 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(C) 2019 Marvell International Ltd.
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_octeontx2_event.a
-
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx2
-CFLAGS += -I$(RTE_SDK)/drivers/crypto/octeontx2
-CFLAGS += -I$(RTE_SDK)/drivers/mempool/octeontx2
-CFLAGS += -I$(RTE_SDK)/drivers/event/octeontx2
-CFLAGS += -I$(RTE_SDK)/drivers/net/octeontx2
-CFLAGS += -O3
-
-ifneq ($(CONFIG_RTE_ARCH_64),y)
-CFLAGS += -Wno-int-to-pointer-cast
-CFLAGS += -Wno-pointer-to-int-cast
-ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS += -diag-disable 2259
-endif
-endif
-
-EXPORT_MAP := rte_pmd_octeontx2_event_version.map
-
-#
-# all source are stored in SRCS-y
-#
-
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV) += otx2_worker_dual.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV) += otx2_worker.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV) += otx2_tim_worker.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV) += otx2_evdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV) += otx2_evdev_adptr.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV) += otx2_tim_evdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV) += otx2_evdev_selftest.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV) += otx2_evdev_irq.c
-
-LDLIBS += -lrte_eal -lrte_bus_pci -lrte_pci -lrte_kvargs
-LDLIBS += -lrte_mempool -lrte_eventdev -lrte_mbuf -lrte_ethdev
-LDLIBS += -lrte_common_octeontx2 -lrte_mempool_octeontx2
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/event/opdl/Makefile b/drivers/event/opdl/Makefile
deleted file mode 100644
index 71713b00ae..0000000000
--- a/drivers/event/opdl/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_opdl_event.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-LDLIBS += -lrte_eal -lrte_eventdev -lrte_kvargs
-LDLIBS += -lrte_bus_vdev -lrte_mbuf -lrte_mempool
-
-# versioning export map
-EXPORT_MAP := rte_pmd_opdl_event_version.map
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV) += opdl_ring.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV) += opdl_evdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV) += opdl_evdev_init.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV) += opdl_evdev_xstats.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV) += opdl_test.c
-
-# export include files
-SYMLINK-y-include +=
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/event/skeleton/Makefile b/drivers/event/skeleton/Makefile
deleted file mode 100644
index dc85ad3c4b..0000000000
--- a/drivers/event/skeleton/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016 Cavium, Inc
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_skeleton_event.a
-
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_eventdev
-LDLIBS += -lrte_pci -lrte_bus_pci
-LDLIBS += -lrte_bus_vdev
-
-EXPORT_MAP := rte_pmd_skeleton_event_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SKELETON_EVENTDEV) += skeleton_eventdev.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/event/sw/Makefile b/drivers/event/sw/Makefile
deleted file mode 100644
index 8ea5cceb8b..0000000000
--- a/drivers/event/sw/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016-2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pmd_sw_event.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_eventdev -lrte_kvargs -lrte_ring
-LDLIBS += -lrte_mempool -lrte_mbuf
-LDLIBS += -lrte_bus_vdev
-
-# versioning export map
-EXPORT_MAP := rte_pmd_sw_event_version.map
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SW_EVENTDEV) += sw_evdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SW_EVENTDEV) += sw_evdev_worker.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SW_EVENTDEV) += sw_evdev_scheduler.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SW_EVENTDEV) += sw_evdev_xstats.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SW_EVENTDEV) += sw_evdev_selftest.c
-
-# export include files
-SYMLINK-y-include +=
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/mempool/Makefile b/drivers/mempool/Makefile
deleted file mode 100644
index 29ef73bf44..0000000000
--- a/drivers/mempool/Makefile
+++ /dev/null
@@ -1,18 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2017 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-$(CONFIG_RTE_DRIVER_MEMPOOL_BUCKET) += bucket
-ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
-DIRS-$(CONFIG_RTE_LIBRTE_DPAA_MEMPOOL) += dpaa
-endif
-ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
-DIRS-$(CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL) += dpaa2
-endif
-DIRS-$(CONFIG_RTE_DRIVER_MEMPOOL_RING) += ring
-DIRS-$(CONFIG_RTE_DRIVER_MEMPOOL_STACK) += stack
-DIRS-$(CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL) += octeontx
-DIRS-$(CONFIG_RTE_LIBRTE_OCTEONTX2_MEMPOOL) += octeontx2
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/drivers/mempool/bucket/Makefile b/drivers/mempool/bucket/Makefile
deleted file mode 100644
index c766c35b2c..0000000000
--- a/drivers/mempool/bucket/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-#
-# Copyright (c) 2017-2018 Solarflare Communications Inc.
-# All rights reserved.
-#
-# This software was jointly developed between OKTET Labs (under contract
-# for Solarflare) and Solarflare Communications, Inc.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_mempool_bucket.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-LDLIBS += -lrte_eal -lrte_mempool -lrte_ring
-
-EXPORT_MAP := rte_mempool_bucket_version.map
-
-SRCS-$(CONFIG_RTE_DRIVER_MEMPOOL_BUCKET) += rte_mempool_bucket.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/mempool/dpaa/Makefile b/drivers/mempool/dpaa/Makefile
deleted file mode 100644
index 144969c627..0000000000
--- a/drivers/mempool/dpaa/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2016 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_mempool_dpaa.a
-
-CFLAGS := -I$(SRCDIR) $(CFLAGS)
-CFLAGS += -O3 $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa
-CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa/include/
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-CFLAGS += -I$(RTE_SDK)/drivers/mempool/dpaa
-CFLAGS += -I$(RTE_SDK)/lib/librte_mempool
-
-# versioning export map
-EXPORT_MAP := rte_mempool_dpaa_version.map
-
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_DPAA_MEMPOOL) += dpaa_mempool.c
-
-LDLIBS += -lrte_bus_dpaa
-LDLIBS += -lrte_eal -lrte_mempool -lrte_ring
-LDLIBS += -lrte_common_dpaax
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/mempool/dpaa2/Makefile b/drivers/mempool/dpaa2/Makefile
deleted file mode 100644
index 04db6d27de..0000000000
--- a/drivers/mempool/dpaa2/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2016 NXP
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_mempool_dpaa2.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/qbman/include
-
-# versioning export map
-EXPORT_MAP := rte_mempool_dpaa2_version.map
-
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL) += dpaa2_hw_mempool.c
-
-LDLIBS += -lrte_bus_fslmc
-LDLIBS += -lrte_eal -lrte_mempool -lrte_ring
-LDLIBS += -lrte_common_dpaax
-
-SYMLINK-$(CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL)-include := rte_dpaa2_mempool.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/mempool/octeontx/Makefile b/drivers/mempool/octeontx/Makefile
deleted file mode 100644
index 9c840620d9..0000000000
--- a/drivers/mempool/octeontx/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Cavium, Inc
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_mempool_octeontx.a
-
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx/
-
-EXPORT_MAP := rte_mempool_octeontx_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL) += octeontx_fpavf.c
-SRCS-$(CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL) += rte_mempool_octeontx.c
-
-ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
-CFLAGS_rte_mempool_octeontx.o += -fno-prefetch-loop-arrays
-
-ifeq ($(shell test $(GCC_VERSION) -ge 46 && echo 1), 1)
-CFLAGS_rte_mempool_octeontx.o += -Ofast
-else
-CFLAGS_rte_mempool_octeontx.o += -O3 -ffast-math
-endif
-
-else
-CFLAGS_rte_mempool_octeontx.o += -Ofast
-endif
-
-LDLIBS += -lrte_eal -lrte_mempool -lrte_ring -lrte_mbuf
-LDLIBS += -lrte_bus_pci -lrte_common_octeontx
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/mempool/octeontx2/Makefile b/drivers/mempool/octeontx2/Makefile
deleted file mode 100644
index 3828219b11..0000000000
--- a/drivers/mempool/octeontx2/Makefile
+++ /dev/null
@@ -1,40 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(C) 2019 Marvell International Ltd.
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_mempool_octeontx2.a
-
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx2
-CFLAGS += -I$(RTE_SDK)/drivers/mempool/octeontx2
-CFLAGS += -I$(RTE_SDK)/drivers/bus/pci
-CFLAGS += -O3
-
-ifneq ($(CONFIG_RTE_ARCH_64),y)
-CFLAGS += -Wno-int-to-pointer-cast
-CFLAGS += -Wno-pointer-to-int-cast
-ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS += -diag-disable 2259
-endif
-endif
-
-EXPORT_MAP := rte_mempool_octeontx2_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_OCTEONTX2_MEMPOOL) += \
-	otx2_mempool_ops.c	\
-	otx2_mempool.c 		\
-	otx2_mempool_irq.c	\
-	otx2_mempool_debug.c
-
-LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf
-LDLIBS += -lrte_common_octeontx2 -lrte_kvargs -lrte_bus_pci
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/mempool/ring/Makefile b/drivers/mempool/ring/Makefile
deleted file mode 100644
index 8624502da9..0000000000
--- a/drivers/mempool/ring/Makefile
+++ /dev/null
@@ -1,19 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2017 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_mempool_ring.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mempool -lrte_ring
-
-EXPORT_MAP := rte_mempool_ring_version.map
-
-SRCS-$(CONFIG_RTE_DRIVER_MEMPOOL_RING) += rte_mempool_ring.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/mempool/stack/Makefile b/drivers/mempool/stack/Makefile
deleted file mode 100644
index ccfd970400..0000000000
--- a/drivers/mempool/stack/Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2017 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_mempool_stack.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-# Headers
-CFLAGS += -I$(RTE_SDK)/lib/librte_mempool
-LDLIBS += -lrte_eal -lrte_mempool -lrte_stack
-
-EXPORT_MAP := rte_mempool_stack_version.map
-
-SRCS-$(CONFIG_RTE_DRIVER_MEMPOOL_STACK) += rte_mempool_stack.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/Makefile b/drivers/net/Makefile
deleted file mode 100644
index 361974eacf..0000000000
--- a/drivers/net/Makefile
+++ /dev/null
@@ -1,84 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2015 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# set in mk/toolchain/xxx/rte.toolchain-compat.mk
-ifeq ($(CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD),d)
-        $(warning thunderx pmd is not supported by old compilers)
-endif
-
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_AF_PACKET) += af_packet
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_AF_XDP) += af_xdp
-DIRS-$(CONFIG_RTE_LIBRTE_ARK_PMD) += ark
-DIRS-$(CONFIG_RTE_LIBRTE_ATLANTIC_PMD) += atlantic
-DIRS-$(CONFIG_RTE_LIBRTE_AVP_PMD) += avp
-DIRS-$(CONFIG_RTE_LIBRTE_AXGBE_PMD) += axgbe
-DIRS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += bnx2x
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += bonding
-DIRS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += cxgbe
-ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
-DIRS-$(CONFIG_RTE_LIBRTE_DPAA_PMD) += dpaa
-endif
-ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
-DIRS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += dpaa2
-endif
-DIRS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000
-DIRS-$(CONFIG_RTE_LIBRTE_ENA_PMD) += ena
-DIRS-$(CONFIG_RTE_LIBRTE_ENETC_PMD) += enetc
-DIRS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += enic
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_FAILSAFE) += failsafe
-DIRS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += fm10k
-DIRS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic
-DIRS-$(CONFIG_RTE_LIBRTE_HNS3_PMD) += hns3
-DIRS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e
-DIRS-$(CONFIG_RTE_LIBRTE_IAVF_PMD) += iavf
-DIRS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice
-DIRS-$(CONFIG_RTE_LIBRTE_IGC_PMD) += igc
-DIRS-$(CONFIG_RTE_LIBRTE_IONIC_PMD) += ionic
-DIRS-$(CONFIG_RTE_LIBRTE_IPN3KE_PMD) += ipn3ke
-DIRS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe
-DIRS-$(CONFIG_RTE_LIBRTE_LIO_PMD) += liquidio
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_MEMIF) += memif
-DIRS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4
-DIRS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5
-DIRS-$(CONFIG_RTE_LIBRTE_MVNETA_PMD) += mvneta
-DIRS-$(CONFIG_RTE_LIBRTE_MVPP2_PMD) += mvpp2
-DIRS-$(CONFIG_RTE_LIBRTE_NETVSC_PMD) += netvsc
-DIRS-$(CONFIG_RTE_LIBRTE_NFB_PMD) += nfb
-DIRS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp
-DIRS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_NULL) += null
-DIRS-$(CONFIG_RTE_LIBRTE_OCTEONTX_PMD) += octeontx
-DIRS-$(CONFIG_RTE_LIBRTE_OCTEONTX2_PMD) += octeontx2
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_PCAP) += pcap
-DIRS-$(CONFIG_RTE_LIBRTE_PFE_PMD) += pfe
-DIRS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += qede
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_RING) += ring
-DIRS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_SZEDATA2) += szedata2
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_TAP) += tap
-DIRS-$(CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD) += thunderx
-DIRS-$(CONFIG_RTE_LIBRTE_VDEV_NETVSC_PMD) += vdev_netvsc
-DIRS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio
-DIRS-$(CONFIG_RTE_LIBRTE_VMXNET3_PMD) += vmxnet3
-
-ifeq ($(CONFIG_RTE_LIBRTE_KNI),y)
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_KNI) += kni
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_SCHED),y)
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += softnic
-endif # $(CONFIG_RTE_LIBRTE_SCHED)
-
-ifeq ($(CONFIG_RTE_LIBRTE_VHOST),y)
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_VHOST) += vhost
-endif # $(CONFIG_RTE_LIBRTE_VHOST)
-
-ifeq ($(CONFIG_RTE_LIBRTE_MVPP2_PMD),y)
-ifeq ($(CONFIG_RTE_LIBRTE_CFGFILE),n)
-$(error "RTE_LIBRTE_CFGFILE must be enabled in configuration!")
-endif
-endif
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/drivers/net/af_packet/Makefile b/drivers/net/af_packet/Makefile
deleted file mode 100644
index 91dbf0a692..0000000000
--- a/drivers/net/af_packet/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2014 John W. Linville <linville@redhat.com>
-# Copyright(c) 2010-2014 Intel Corporation.
-# Copyright(c) 2014 6WIND S.A.
-# All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_af_packet.a
-
-EXPORT_MAP := rte_pmd_af_packet_version.map
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_vdev
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_AF_PACKET) += rte_eth_af_packet.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/af_xdp/Makefile b/drivers/net/af_xdp/Makefile
deleted file mode 100644
index 55db6085ac..0000000000
--- a/drivers/net/af_xdp/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_af_xdp.a
-
-EXPORT_MAP := rte_pmd_af_xdp_version.map
-
-CFLAGS += -O3
-
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_vdev
-LDLIBS += $(shell command -v pkg-config > /dev/null 2>&1 && pkg-config --libs libbpf || echo "-lbpf")
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_AF_XDP) += rte_eth_af_xdp.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/ark/Makefile b/drivers/net/ark/Makefile
deleted file mode 100644
index c02080bdd0..0000000000
--- a/drivers/net/ark/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright (c) 2015-2018 Atomic Rules LLC
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_ark.a
-
-CFLAGS += -O3 -I./
-CFLAGS += $(WERROR_FLAGS) -Werror
-
-EXPORT_MAP := rte_pmd_ark_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_ARK_PMD) += ark_ddm.c
-SRCS-$(CONFIG_RTE_LIBRTE_ARK_PMD) += ark_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_ARK_PMD) += ark_ethdev_rx.c
-SRCS-$(CONFIG_RTE_LIBRTE_ARK_PMD) += ark_ethdev_tx.c
-SRCS-$(CONFIG_RTE_LIBRTE_ARK_PMD) += ark_mpu.c
-SRCS-$(CONFIG_RTE_LIBRTE_ARK_PMD) += ark_pktchkr.c
-SRCS-$(CONFIG_RTE_LIBRTE_ARK_PMD) += ark_pktdir.c
-SRCS-$(CONFIG_RTE_LIBRTE_ARK_PMD) += ark_pktgen.c
-SRCS-$(CONFIG_RTE_LIBRTE_ARK_PMD) += ark_rqp.c
-SRCS-$(CONFIG_RTE_LIBRTE_ARK_PMD) += ark_udm.c
-
-# this lib depends upon:
-LDLIBS += -lpthread
-ifdef CONFIG_RTE_EXEC_ENV_LINUX
-LDLIBS += -ldl
-endif
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/atlantic/Makefile b/drivers/net/atlantic/Makefile
deleted file mode 100644
index 0d0d0a502d..0000000000
--- a/drivers/net/atlantic/Makefile
+++ /dev/null
@@ -1,34 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Aquantia Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_atlantic.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-EXPORT_MAP := rte_pmd_atlantic_version.map
-
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net
-LDLIBS += -lrte_bus_pci
-
-VPATH += $(SRCDIR)/hw_atl
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_ATLANTIC_PMD) += atl_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_ATLANTIC_PMD) += atl_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_ATLANTIC_PMD) += atl_hw_regs.c
-SRCS-$(CONFIG_RTE_LIBRTE_ATLANTIC_PMD) += hw_atl_utils.c
-SRCS-$(CONFIG_RTE_LIBRTE_ATLANTIC_PMD) += hw_atl_llh.c
-SRCS-$(CONFIG_RTE_LIBRTE_ATLANTIC_PMD) += hw_atl_utils_fw2x.c
-SRCS-$(CONFIG_RTE_LIBRTE_ATLANTIC_PMD) += hw_atl_b0.c
-SRCS-$(CONFIG_RTE_LIBRTE_ATLANTIC_PMD) += rte_pmd_atlantic.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/avp/Makefile b/drivers/net/avp/Makefile
deleted file mode 100644
index 075247b13a..0000000000
--- a/drivers/net/avp/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2013-2017, Wind River Systems, Inc.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_avp.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-
-EXPORT_MAP := rte_pmd_avp_version.map
-
-# install public header files to enable compilation of the hypervisor level
-# dpdk application
-SYMLINK-$(CONFIG_RTE_LIBRTE_AVP_PMD)-include += rte_avp_common.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_AVP_PMD)-include += rte_avp_fifo.h
-
-#
-# all source files are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_AVP_PMD) += avp_ethdev.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/axgbe/Makefile b/drivers/net/axgbe/Makefile
deleted file mode 100644
index e421d0da11..0000000000
--- a/drivers/net/axgbe/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-#   SPDX-License-Identifier: BSD-3-Clause
-#   Copyright (c) 2018 Advanced Micro Devices, Inc. All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_axgbe.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-EXPORT_MAP := rte_pmd_axgbe_version.map
-
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool
-LDLIBS += -lrte_pci -lrte_bus_pci
-LDLIBS += -lrte_ethdev -lrte_net
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_AXGBE_PMD) += axgbe_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_AXGBE_PMD) += axgbe_dev.c
-SRCS-$(CONFIG_RTE_LIBRTE_AXGBE_PMD) += axgbe_mdio.c
-SRCS-$(CONFIG_RTE_LIBRTE_AXGBE_PMD) += axgbe_phy_impl.c
-SRCS-$(CONFIG_RTE_LIBRTE_AXGBE_PMD) += axgbe_i2c.c
-SRCS-$(CONFIG_RTE_LIBRTE_AXGBE_PMD) += axgbe_rxtx.c
-ifeq ($(CONFIG_RTE_ARCH_X86),y)
-SRCS-$(CONFIG_RTE_LIBRTE_AXGBE_PMD) += axgbe_rxtx_vec_sse.c
-endif
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/bnx2x/Makefile b/drivers/net/bnx2x/Makefile
deleted file mode 100644
index 451434cc18..0000000000
--- a/drivers/net/bnx2x/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright (c) 2014 - 2018 Cavium Inc.
-# All rights reserved.
-# www.cavium.com
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_bnx2x.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -DZLIB_CONST
-LDLIBS += -lz
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-
-EXPORT_MAP := rte_pmd_bnx2x_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += bnx2x.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += bnx2x_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += bnx2x_stats.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += bnx2x_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += ecore_sp.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += elink.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += bnx2x_vfpf.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/bnxt/Makefile b/drivers/net/bnxt/Makefile
deleted file mode 100644
index 0c5b74918d..0000000000
--- a/drivers/net/bnxt/Makefile
+++ /dev/null
@@ -1,63 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation.
-# Copyright(c) 2014 6WIND S.A.
-# Copyright(c) Broadcom Limited.
-# All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_bnxt.a
-
-EXPORT_MAP := rte_pmd_bnxt_version.map
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci -pthread
-
-EXPORT_MAP := rte_pmd_bnxt_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_cpr.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_filter.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_hwrm.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_ring.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_rxq.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_rxr.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_stats.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_txq.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_txr.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_vnic.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_irq.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_util.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_reps.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += rte_pmd_bnxt.c
-ifeq ($(CONFIG_RTE_ARCH_X86), y)
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_rxtx_vec_sse.c
-endif
-ifeq ($(CONFIG_RTE_ARCH_ARM64), y)
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += bnxt_rxtx_vec_neon.c
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_BNXT_PMD), y)
-CFLAGS += -I$(SRCDIR) -I$(SRCDIR)/tf_ulp -I$(SRCDIR)/tf_core -I$(SRCDIR)/hcapi
-include $(SRCDIR)/tf_ulp/Makefile
-include $(SRCDIR)/tf_core/Makefile
-include $(SRCDIR)/hcapi/Makefile
-endif
-
-#
-# Export include files
-#
-SYMLINK-y-include +=
-SYMLINK-$(CONFIG_RTE_LIBRTE_BNXT_PMD)-include += rte_pmd_bnxt.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/bnxt/hcapi/Makefile b/drivers/net/bnxt/hcapi/Makefile
deleted file mode 100644
index a5bb398ad7..0000000000
--- a/drivers/net/bnxt/hcapi/Makefile
+++ /dev/null
@@ -1,5 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019-2020 Broadcom Limited.
-# All rights reserved.
-
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += hcapi/hcapi_cfa_p4.c
diff --git a/drivers/net/bnxt/tf_core/Makefile b/drivers/net/bnxt/tf_core/Makefile
deleted file mode 100644
index 84840366ab..0000000000
--- a/drivers/net/bnxt/tf_core/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation.
-# Copyright(c) 2014 6WIND S.A.
-# Copyright(c) Broadcom Limited.
-# All rights reserved.
-
-
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/bitalloc.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/rand.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/stack.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/ll.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_core.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_rm.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tfp.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_msg.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_tbl.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_em_common.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_em_internal.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_em_host.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_session.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_device.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_device_p4.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_identifier.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_shadow_tbl.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_shadow_tcam.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_tcam.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_util.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_if_tbl.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_global_cfg.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_shadow_identifier.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_core/tf_hash.c
diff --git a/drivers/net/bnxt/tf_ulp/Makefile b/drivers/net/bnxt/tf_ulp/Makefile
deleted file mode 100644
index abb68150d1..0000000000
--- a/drivers/net/bnxt/tf_ulp/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation.
-# Copyright(c) 2014 6WIND S.A.
-# Copyright(c) Broadcom Limited.
-# All rights reserved.
-
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_ulp/ulp_template_db_tbl.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_ulp/ulp_template_db_class.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_ulp/ulp_template_db_act.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_ulp/ulp_rte_parser.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_ulp/bnxt_ulp_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_ulp/ulp_matcher.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_ulp/ulp_utils.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_ulp/ulp_mapper.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_ulp/bnxt_ulp.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_ulp/ulp_mark_mgr.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_ulp/ulp_flow_db.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_ulp/ulp_port_db.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_ulp/ulp_def_rules.c
-SRCS-$(CONFIG_RTE_LIBRTE_BNXT_PMD) += tf_ulp/ulp_fc_mgr.c
diff --git a/drivers/net/bonding/Makefile b/drivers/net/bonding/Makefile
deleted file mode 100644
index 728551a846..0000000000
--- a/drivers/net/bonding/Makefile
+++ /dev/null
@@ -1,36 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_bond.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_pci -lrte_bus_pci
-LDLIBS += -lrte_bus_vdev
-
-EXPORT_MAP := rte_pmd_bond_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += rte_eth_bond_api.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += rte_eth_bond_pmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += rte_eth_bond_args.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += rte_eth_bond_8023ad.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += rte_eth_bond_alb.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += rte_eth_bond_flow.c
-
-#
-# Export include files
-#
-SYMLINK-y-include += rte_eth_bond.h
-SYMLINK-y-include += rte_eth_bond_8023ad.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/cxgbe/Makefile b/drivers/net/cxgbe/Makefile
deleted file mode 100644
index 53b2bb56dc..0000000000
--- a/drivers/net/cxgbe/Makefile
+++ /dev/null
@@ -1,57 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2014-2018 Chelsio Communications.
-# All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_cxgbe.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-EXPORT_MAP := rte_pmd_cxgbe_version.map
-
-#
-# CFLAGS for gcc/clang
-#
-ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
-ifeq ($(shell test $(GCC_VERSION) -ge 44 && echo 1), 1)
-CFLAGS     += -Wno-deprecated
-endif
-endif
-
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-
-#
-# Add extra flags for base driver files (also known as shared code)
-# to disable warnings in them
-#
-BASE_DRIVER_OBJS=$(sort $(patsubst %.c,%.o,$(notdir $(wildcard $(SRCDIR)/base/*.c))))
-$(foreach obj, $(BASE_DRIVER_OBJS), $(eval CFLAGS_$(obj)+=$(CFLAGS_BASE_DRIVER)))
-
-VPATH += $(SRCDIR)/base
-
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += cxgbe_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += cxgbevf_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += cxgbe_main.c
-SRCS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += cxgbevf_main.c
-SRCS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += sge.c
-SRCS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += cxgbe_filter.c
-SRCS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += cxgbe_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += t4_hw.c
-SRCS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += clip_tbl.c
-SRCS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += mps_tcam.c
-SRCS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += l2t.c
-SRCS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += smt.c
-SRCS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD) += t4vf_hw.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/dpaa/Makefile b/drivers/net/dpaa/Makefile
deleted file mode 100644
index d7bbc0e158..0000000000
--- a/drivers/net/dpaa/Makefile
+++ /dev/null
@@ -1,41 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2017 NXP
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-RTE_SDK_DPAA=$(RTE_SDK)/drivers/net/dpaa
-
-#
-# library name
-#
-LIB = librte_pmd_dpaa.a
-
-CFLAGS := -I$(SRCDIR) $(CFLAGS)
-CFLAGS += -O3 $(WERROR_FLAGS)
-CFLAGS += -Wno-pointer-arith
-CFLAGS += -I$(RTE_SDK_DPAA)/
-CFLAGS += -I$(RTE_SDK_DPAA)/include
-CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa
-CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa/include/
-CFLAGS += -I$(RTE_SDK)/drivers/bus/dpaa/base/qbman
-CFLAGS += -I$(RTE_SDK)/drivers/mempool/dpaa
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-CFLAGS += -I$(RTE_SDK)/drivers/event/dpaa
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
-
-EXPORT_MAP := rte_pmd_dpaa_version.map
-
-# Interfaces with DPDK
-SRCS-$(CONFIG_RTE_LIBRTE_DPAA_PMD) += dpaa_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_DPAA_PMD) += dpaa_rxtx.c
-
-LDLIBS += -lrte_bus_dpaa
-LDLIBS += -lrte_mempool_dpaa
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_common_dpaax
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_DPAA_PMD)-include := rte_pmd_dpaa.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/dpaa2/Makefile b/drivers/net/dpaa2/Makefile
deleted file mode 100644
index 6f38c18b9b..0000000000
--- a/drivers/net/dpaa2/Makefile
+++ /dev/null
@@ -1,47 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright (c) 2016 Freescale Semiconductor, Inc. All rights reserved.
-# Copyright 2016-2019 NXP
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_dpaa2.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-CFLAGS += -I$(RTE_SDK)/drivers/net/dpaa2
-CFLAGS += -I$(RTE_SDK)/drivers/net/dpaa2/mc
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/qbman/include
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/mc
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/portal
-CFLAGS += -I$(RTE_SDK)/drivers/mempool/dpaa2
-
-# versioning export map
-EXPORT_MAP := rte_pmd_dpaa2_version.map
-
-SRCS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += base/dpaa2_hw_dpni.c
-SRCS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += dpaa2_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += dpaa2_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += dpaa2_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += dpaa2_mux.c
-SRCS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += dpaa2_sparser.c
-SRCS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += mc/dpni.c
-SRCS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += mc/dpkg.c
-SRCS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += mc/dpdmux.c
-SRCS-$(CONFIG_RTE_LIBRTE_IEEE1588)  += mc/dprtc.c
-SRCS-$(CONFIG_RTE_LIBRTE_IEEE1588)  += dpaa2_ptp.c
-
-LDLIBS += -lrte_bus_fslmc
-LDLIBS += -lrte_mempool_dpaa2
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_common_dpaax
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_DPAA2_PMD)-include := rte_pmd_dpaa2.h
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/e1000/Makefile b/drivers/net/e1000/Makefile
deleted file mode 100644
index f186f8d0e9..0000000000
--- a/drivers/net/e1000/Makefile
+++ /dev/null
@@ -1,79 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2015 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_e1000.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-
-EXPORT_MAP := rte_pmd_e1000_version.map
-
-ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-#
-# CFLAGS for icc
-#
-CFLAGS_BASE_DRIVER  = -diag-disable 177 -diag-disable 181
-CFLAGS_BASE_DRIVER += -diag-disable 869 -diag-disable 2259
-else
-#
-# CFLAGS for gcc/clang
-#
-CFLAGS_BASE_DRIVER = -Wno-uninitialized -Wno-unused-parameter
-CFLAGS_BASE_DRIVER += -Wno-unused-variable
-ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
-ifeq ($(shell test $(GCC_VERSION) -ge 60 && echo 1), 1)
-CFLAGS_BASE_DRIVER += -Wno-misleading-indentation
-ifeq ($(shell test $(GCC_VERSION) -ge 70 && echo 1), 1)
-CFLAGS_BASE_DRIVER += -Wno-implicit-fallthrough
-endif
-endif
-endif
-endif
-
-#
-# Add extra flags for base driver files (also known as shared code)
-# to disable warnings in them
-#
-BASE_DRIVER_OBJS=$(sort $(patsubst %.c,%.o,$(notdir $(wildcard $(SRCDIR)/base/*.c))))
-$(foreach obj, $(BASE_DRIVER_OBJS), $(eval CFLAGS_$(obj)+=$(CFLAGS_BASE_DRIVER)))
-
-VPATH += $(SRCDIR)/base
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_base.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_80003es2lan.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_82540.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_82541.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_82542.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_82543.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_82571.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_82575.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_i210.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_api.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_ich8lan.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_logs.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_mac.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_manage.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_mbx.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_nvm.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_osdep.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_phy.c
-SRCS-$(CONFIG_RTE_LIBRTE_E1000_PMD) += e1000_vf.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGB_PMD) += igb_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGB_PMD) += igb_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGB_PMD) += igb_pf.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGB_PMD) += igb_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_EM_PMD) += em_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_EM_PMD) += em_rxtx.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/ena/Makefile b/drivers/net/ena/Makefile
deleted file mode 100644
index 8ccff36db7..0000000000
--- a/drivers/net/ena/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright (c) 2015-2019 Amazon.com, Inc. or its affiliates.
-# All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_ena.a
-CFLAGS += $(WERROR_FLAGS) -O2
-INCLUDES :=-I$(SRCDIR) -I$(SRCDIR)/base/ena_defs -I$(SRCDIR)/base
-
-EXPORT_MAP := rte_pmd_ena_version.map
-
-VPATH += $(SRCDIR)/base
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_ENA_PMD) += ena_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_ENA_PMD) += ena_com.c
-SRCS-$(CONFIG_RTE_LIBRTE_ENA_PMD) += ena_eth_com.c
-
-CFLAGS += $(INCLUDES)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-LDLIBS += -lrte_timer
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/enetc/Makefile b/drivers/net/enetc/Makefile
deleted file mode 100644
index 7276026e37..0000000000
--- a/drivers/net/enetc/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2018 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_enetc.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-EXPORT_MAP := rte_pmd_enetc_version.map
-SRCS-$(CONFIG_RTE_LIBRTE_ENETC_PMD) += enetc_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_ENETC_PMD) += enetc_rxtx.c
-
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool
-LDLIBS += -lrte_ethdev -lrte_net
-LDLIBS += -lrte_bus_pci
-LDLIBS += -lrte_common_dpaax
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/enic/Makefile b/drivers/net/enic/Makefile
deleted file mode 100644
index d098a474a1..0000000000
--- a/drivers/net/enic/Makefile
+++ /dev/null
@@ -1,68 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2008-2017 Cisco Systems, Inc.  All rights reserved.
-# Copyright 2007 Nuova Systems, Inc.  All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_enic.a
-
-EXPORT_MAP := rte_pmd_enic_version.map
-
-CFLAGS += -I$(SRCDIR)/base/
-CFLAGS += -I$(SRCDIR)
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -Wno-strict-aliasing
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_hash
-LDLIBS += -lrte_bus_pci
-
-VPATH += $(SRCDIR)/src
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += enic_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += enic_main.c
-SRCS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += enic_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += enic_clsf.c
-SRCS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += enic_res.c
-SRCS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += enic_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += enic_fm_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += base/vnic_cq.c
-SRCS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += base/vnic_wq.c
-SRCS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += base/vnic_dev.c
-SRCS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += base/vnic_intr.c
-SRCS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += base/vnic_rq.c
-
-# The current implementation assumes 64-bit pointers
-CC_AVX2_SUPPORT=0
-ifeq ($(CONFIG_RTE_ARCH_X86_64),y)
-# Figure out if the compiler supports avx2. The extra check using
-# -march=core-avx2 is necessary to support users who build for the
-# 'default' machine (corei7 which has no avx2) and run the binary on
-# newer CPUs that have avx2.
-# This part is verbatim from i40e makefile.
-ifeq ($(findstring RTE_MACHINE_CPUFLAG_AVX2,$(CFLAGS)),RTE_MACHINE_CPUFLAG_AVX2)
-	CC_AVX2_SUPPORT=1
-else
-	CC_AVX2_SUPPORT=\
-	$(shell $(CC) -march=core-avx2 -dM -E - </dev/null 2>&1 | \
-	grep -q AVX2 && echo 1)
-	ifeq ($(CC_AVX2_SUPPORT), 1)
-		ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-			CFLAGS_enic_rxtx_vec_avx2.o += -march=core-avx2
-		else
-			CFLAGS_enic_rxtx_vec_avx2.o += -mavx2
-		endif
-	endif
-endif
-endif
-
-ifeq ($(CC_AVX2_SUPPORT), 1)
-	SRCS-$(CONFIG_RTE_LIBRTE_ENIC_PMD) += enic_rxtx_vec_avx2.c
-endif
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/failsafe/Makefile b/drivers/net/failsafe/Makefile
deleted file mode 100644
index 464fd0515d..0000000000
--- a/drivers/net/failsafe/Makefile
+++ /dev/null
@@ -1,43 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2017 6WIND S.A.
-# Copyright 2017 Mellanox Technologies, Ltd
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# Library name
-LIB = librte_pmd_failsafe.a
-
-EXPORT_MAP := rte_pmd_failsafe_version.map
-
-# Sources are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_FAILSAFE) += failsafe.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_FAILSAFE) += failsafe_args.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_FAILSAFE) += failsafe_eal.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_FAILSAFE) += failsafe_ops.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_FAILSAFE) += failsafe_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_FAILSAFE) += failsafe_ether.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_FAILSAFE) += failsafe_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_FAILSAFE) += failsafe_intr.c
-ifeq ($(CONFIG_RTE_EXEC_ENV_LINUX),y)
-CFLAGS += -DLINUX
-else
-CFLAGS += -DBSD
-endif
-
-# No exported include files
-
-# Basic CFLAGS:
-CFLAGS += -std=gnu99 -Wextra
-CFLAGS += -O3
-CFLAGS += -I.
-CFLAGS += -D_DEFAULT_SOURCE
-CFLAGS += -D_XOPEN_SOURCE=700
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -Wno-strict-prototypes
-CFLAGS += -pedantic
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_vdev
-LDLIBS += -lpthread
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/fm10k/Makefile b/drivers/net/fm10k/Makefile
deleted file mode 100644
index d486389928..0000000000
--- a/drivers/net/fm10k/Makefile
+++ /dev/null
@@ -1,77 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2013-2015 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_fm10k.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-EXPORT_MAP := rte_pmd_fm10k_version.map
-
-ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-#
-# CFLAGS for icc
-#
-CFLAGS_BASE_DRIVER  = -diag-disable 174 -diag-disable 593 -diag-disable 869
-CFLAGS_BASE_DRIVER += -diag-disable 981 -diag-disable 2259
-
-else ifeq ($(CONFIG_RTE_TOOLCHAIN_CLANG),y)
-
-#
-## CFLAGS for clang
-#
-CFLAGS_BASE_DRIVER = -Wno-unused-parameter -Wno-unused-value
-CFLAGS_BASE_DRIVER += -Wno-strict-aliasing -Wno-format-extra-args
-CFLAGS_BASE_DRIVER += -Wno-unused-variable
-
-else
-#
-# CFLAGS for gcc
-#
-CFLAGS_BASE_DRIVER = -Wno-unused-parameter -Wno-unused-value
-CFLAGS_BASE_DRIVER += -Wno-strict-aliasing -Wno-format-extra-args
-CFLAGS_BASE_DRIVER += -Wno-unused-variable
-
-ifeq ($(shell test $(GCC_VERSION) -ge 44 && echo 1), 1)
-CFLAGS     += -Wno-deprecated
-CFLAGS_BASE_DRIVER += -Wno-unused-but-set-variable
-ifeq ($(shell test $(GCC_VERSION) -ge 70 && echo 1), 1)
-CFLAGS_BASE_DRIVER += -Wno-implicit-fallthrough
-endif
-endif
-endif
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_hash
-LDLIBS += -lrte_bus_pci
-
-#
-# Add extra flags for base driver source files to disable warnings in them
-#
-BASE_DRIVER_OBJS=$(sort $(patsubst %.c,%.o,$(notdir $(wildcard $(SRCDIR)/base/*.c))))
-$(foreach obj, $(BASE_DRIVER_OBJS), $(eval CFLAGS_$(obj)+=$(CFLAGS_BASE_DRIVER)))
-
-VPATH += $(SRCDIR)/base
-
-#
-# all source are stored in SRCS-y
-# base driver is based on the package of cid-fm10k.2017.01.24.tar.gz
-#
-SRCS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += fm10k_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += fm10k_rxtx.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += fm10k_pf.c
-SRCS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += fm10k_tlv.c
-SRCS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += fm10k_common.c
-SRCS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += fm10k_mbx.c
-SRCS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += fm10k_vf.c
-SRCS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) += fm10k_api.c
-ifeq ($(CONFIG_RTE_ARCH_X86), y)
-SRCS-$(CONFIG_RTE_LIBRTE_FM10K_INC_VECTOR) += fm10k_rxtx_vec.c
-endif
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/hinic/Makefile b/drivers/net/hinic/Makefile
deleted file mode 100644
index 87fd843e41..0000000000
--- a/drivers/net/hinic/Makefile
+++ /dev/null
@@ -1,67 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Huawei Technologies Co., Ltd
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_hinic.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-ifeq ($(CONFIG_RTE_ARCH_ARM64),y)
-CFLAGS += -D__ARM64_NEON__
-else ifeq ($(CONFIG_RTE_ARCH_X86_64),y)
-CFLAGS += -D__X86_64_SSE__
-endif
-
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_hash
-LDLIBS += -lrte_bus_pci
-LDLIBS += -lpthread
-
-EXPORT_MAP := rte_pmd_hinic_version.map
-
-#
-# CFLAGS for 32-bits platforms
-#
-ifneq ($(CONFIG_RTE_ARCH_64),y)
-ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-#
-# CFLAGS for icc
-#
-CFLAGS += -diag-disable 2259
-else
-#
-# CFLAGS for gcc
-#
-CFLAGS += -Wno-int-to-pointer-cast
-CFLAGS += -Wno-pointer-to-int-cast
-endif
-endif
-
-VPATH += $(SRCDIR)/base
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic_pmd_api_cmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic_pmd_cfg.c
-SRCS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic_pmd_cmdq.c
-SRCS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic_pmd_eqs.c
-SRCS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic_pmd_hwdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic_pmd_hwif.c
-SRCS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic_pmd_mgmt.c
-SRCS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic_pmd_niccfg.c
-SRCS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic_pmd_nicio.c
-SRCS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic_pmd_wq.c
-SRCS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic_pmd_mbox.c
-SRCS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic_pmd_flow.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic_pmd_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic_pmd_rx.c
-SRCS-$(CONFIG_RTE_LIBRTE_HINIC_PMD) += hinic_pmd_tx.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/hns3/Makefile b/drivers/net/hns3/Makefile
deleted file mode 100644
index d7798a4706..0000000000
--- a/drivers/net/hns3/Makefile
+++ /dev/null
@@ -1,42 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018-2019 Hisilicon Limited.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_hns3.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-# Experimantal APIs:
-# - rte_mp_action_register
-# - rte_mp_action_unregister
-# - rte_mp_reply
-# - rte_mp_request_sync
-
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_hash
-LDLIBS += -lrte_bus_pci
-
-EXPORT_MAP := rte_pmd_hns3_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_HNS3_PMD) += hns3_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_HNS3_PMD) += hns3_ethdev_vf.c
-SRCS-$(CONFIG_RTE_LIBRTE_HNS3_PMD) += hns3_cmd.c
-SRCS-$(CONFIG_RTE_LIBRTE_HNS3_PMD) += hns3_mbx.c
-SRCS-$(CONFIG_RTE_LIBRTE_HNS3_PMD) += hns3_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_HNS3_PMD) += hns3_rss.c
-SRCS-$(CONFIG_RTE_LIBRTE_HNS3_PMD) += hns3_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_HNS3_PMD) += hns3_fdir.c
-SRCS-$(CONFIG_RTE_LIBRTE_HNS3_PMD) += hns3_intr.c
-SRCS-$(CONFIG_RTE_LIBRTE_HNS3_PMD) += hns3_stats.c
-SRCS-$(CONFIG_RTE_LIBRTE_HNS3_PMD) += hns3_regs.c
-SRCS-$(CONFIG_RTE_LIBRTE_HNS3_PMD) += hns3_dcb.c
-SRCS-$(CONFIG_RTE_LIBRTE_HNS3_PMD) += hns3_mp.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/i40e/Makefile b/drivers/net/i40e/Makefile
deleted file mode 100644
index 43f10941b2..0000000000
--- a/drivers/net/i40e/Makefile
+++ /dev/null
@@ -1,112 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_i40e.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -DPF_DRIVER -DVF_DRIVER -DINTEGRATED_VF
-CFLAGS += -DX722_A0_SUPPORT
-
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_hash
-LDLIBS += -lrte_bus_pci
-
-EXPORT_MAP := rte_pmd_i40e_version.map
-
-#
-# Add extra flags for base driver files (also known as shared code)
-# to disable warnings
-#
-ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS_BASE_DRIVER = -diag-disable 593
-else ifeq ($(CONFIG_RTE_TOOLCHAIN_CLANG),y)
-CFLAGS_BASE_DRIVER += -Wno-sign-compare
-CFLAGS_BASE_DRIVER += -Wno-unused-value
-CFLAGS_BASE_DRIVER += -Wno-unused-parameter
-CFLAGS_BASE_DRIVER += -Wno-strict-aliasing
-CFLAGS_BASE_DRIVER += -Wno-format
-CFLAGS_BASE_DRIVER += -Wno-pointer-to-int-cast
-CFLAGS_BASE_DRIVER += -Wno-format-nonliteral
-CFLAGS_BASE_DRIVER += -Wno-unused-variable
-else
-CFLAGS_BASE_DRIVER  = -Wno-sign-compare
-CFLAGS_BASE_DRIVER += -Wno-unused-value
-CFLAGS_BASE_DRIVER += -Wno-unused-parameter
-CFLAGS_BASE_DRIVER += -Wno-strict-aliasing
-CFLAGS_BASE_DRIVER += -Wno-format
-CFLAGS_BASE_DRIVER += -Wno-pointer-to-int-cast
-CFLAGS_BASE_DRIVER += -Wno-format-nonliteral
-CFLAGS_BASE_DRIVER += -Wno-format-security
-CFLAGS_BASE_DRIVER += -Wno-unused-variable
-
-ifeq ($(shell test $(GCC_VERSION) -ge 44 && echo 1), 1)
-CFLAGS_BASE_DRIVER += -Wno-unused-but-set-variable
-endif
-
-CFLAGS_i40e_lan_hmc.o += -Wno-error
-endif
-OBJS_BASE_DRIVER=$(sort $(patsubst %.c,%.o,$(notdir $(wildcard $(SRCDIR)/base/*.c))))
-$(foreach obj, $(OBJS_BASE_DRIVER), $(eval CFLAGS_$(obj)+=$(CFLAGS_BASE_DRIVER)))
-
-VPATH += $(SRCDIR)/base
-
-#
-# all source are stored in SRCS-y
-# base driver is based on the package of dpdk-i40e.2016.04.18.12.tar.gz.
-#
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_adminq.c
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_common.c
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_diag.c
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_hmc.c
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_lan_hmc.c
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_nvm.c
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_dcb.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_rxtx.c
-ifneq ($(filter y,$(CONFIG_RTE_ARCH_ARM) $(CONFIG_RTE_ARCH_ARM64)),)
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_INC_VECTOR) += i40e_rxtx_vec_neon.c
-else ifeq ($(CONFIG_RTE_ARCH_PPC_64),y)
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_INC_VECTOR) += i40e_rxtx_vec_altivec.c
-else
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_INC_VECTOR) += i40e_rxtx_vec_sse.c
-endif
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_ethdev_vf.c
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_pf.c
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_fdir.c
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += rte_pmd_i40e.c
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_tm.c
-SRCS-$(CONFIG_RTE_LIBRTE_I40E_PMD) += i40e_vf_representor.c
-
-ifeq ($(CONFIG_RTE_LIBRTE_I40E_INC_VECTOR),y)
-ifeq ($(findstring RTE_MACHINE_CPUFLAG_AVX2,$(CFLAGS)),RTE_MACHINE_CPUFLAG_AVX2)
-	CC_AVX2_SUPPORT=1
-else
-	CC_AVX2_SUPPORT=\
-	$(shell $(CC) -march=core-avx2 -dM -E - </dev/null 2>&1 | \
-	grep -q AVX2 && echo 1)
-	ifeq ($(CC_AVX2_SUPPORT), 1)
-		ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-			CFLAGS_i40e_rxtx_vec_avx2.o += -march=core-avx2
-		else
-			CFLAGS_i40e_rxtx_vec_avx2.o += -mavx2
-		endif
-	endif
-endif
-endif
-
-ifeq ($(CC_AVX2_SUPPORT), 1)
-	SRCS-$(CONFIG_RTE_LIBRTE_I40E_INC_VECTOR) += i40e_rxtx_vec_avx2.c
-	CFLAGS_i40e_rxtx.o += -DCC_AVX2_SUPPORT
-endif
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_I40E_PMD)-include := rte_pmd_i40e.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/iavf/Makefile b/drivers/net/iavf/Makefile
deleted file mode 100644
index 792cbb7f79..0000000000
--- a/drivers/net/iavf/Makefile
+++ /dev/null
@@ -1,54 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_iavf.a
-
-CFLAGS += -I$(RTE_SDK)/drivers/common/iavf
-CFLAGS += -O3 $(WERROR_FLAGS) -Wno-strict-aliasing
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_hash
-LDLIBS += -lrte_bus_pci
-LDLIBS += -lrte_common_iavf
-
-EXPORT_MAP := rte_pmd_iavf_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_IAVF_PMD) += iavf_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_IAVF_PMD) += iavf_vchnl.c
-SRCS-$(CONFIG_RTE_LIBRTE_IAVF_PMD) += iavf_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_IAVF_PMD) += iavf_generic_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_IAVF_PMD) += iavf_fdir.c
-SRCS-$(CONFIG_RTE_LIBRTE_IAVF_PMD) += iavf_hash.c
-ifeq ($(CONFIG_RTE_ARCH_X86), y)
-SRCS-$(CONFIG_RTE_LIBRTE_IAVF_PMD) += iavf_rxtx_vec_sse.c
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_IAVF_PMD), y)
-	ifeq ($(findstring RTE_MACHINE_CPUFLAG_AVX2,$(CFLAGS)),RTE_MACHINE_CPUFLAG_AVX2)
-		CC_AVX2_SUPPORT=1
-	else
-		CC_AVX2_SUPPORT=\
-		$(shell $(CC) -march=core-avx2 -dM -E - </dev/null 2>&1 | \
-		grep -q AVX2 && echo 1)
-		ifeq ($(CC_AVX2_SUPPORT), 1)
-			ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-				CFLAGS_iavf_rxtx_vec_avx2.o += -march=core-avx2
-			else
-				CFLAGS_iavf_rxtx_vec_avx2.o += -mavx2
-			endif
-		endif
-	endif
-endif
-
-ifeq ($(CC_AVX2_SUPPORT), 1)
-	SRCS-$(CONFIG_RTE_LIBRTE_IAVF_PMD) += iavf_rxtx_vec_avx2.c
-endif
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/ice/Makefile b/drivers/net/ice/Makefile
deleted file mode 100644
index 34cd4024b3..0000000000
--- a/drivers/net/ice/Makefile
+++ /dev/null
@@ -1,96 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_ice.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/common/iavf
-
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_ethdev -lrte_kvargs
-LDLIBS += -lrte_bus_pci -lrte_mempool -lrte_hash
-LDLIBS += -lrte_net -lrte_common_iavf
-LDLIBS += -lpthread
-
-EXPORT_MAP := rte_pmd_ice_version.map
-
-#
-# Add extra flags for base driver files (also known as shared code)
-# to disable warnings
-#
-ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS_BASE_DRIVER +=
-else ifeq ($(CONFIG_RTE_TOOLCHAIN_CLANG),y)
-CFLAGS_BASE_DRIVER += -Wno-unused-parameter
-CFLAGS_BASE_DRIVER += -Wno-unused-variable
-else
-CFLAGS_BASE_DRIVER += -Wno-unused-parameter
-CFLAGS_BASE_DRIVER += -Wno-unused-variable
-
-ifeq ($(shell test $(GCC_VERSION) -ge 44 && echo 1), 1)
-CFLAGS_BASE_DRIVER += -Wno-unused-but-set-variable
-endif
-
-endif
-OBJS_BASE_DRIVER=$(patsubst %.c,%.o,$(notdir $(wildcard $(SRCDIR)/base/*.c)))
-$(foreach obj, $(OBJS_BASE_DRIVER), $(eval CFLAGS_$(obj)+=$(CFLAGS_BASE_DRIVER)))
-
-VPATH += $(SRCDIR)/base
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_controlq.c
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_common.c
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_sched.c
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_switch.c
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_nvm.c
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_flex_pipe.c
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_dcb.c
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_fdir.c
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_acl.c
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_acl_ctrl.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_rxtx.c
-ifeq ($(CONFIG_RTE_ARCH_X86), y)
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_rxtx_vec_sse.c
-endif
-
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_switch_filter.c
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_fdir_filter.c
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_hash.c
-ifeq ($(findstring RTE_MACHINE_CPUFLAG_AVX2,$(CFLAGS)),RTE_MACHINE_CPUFLAG_AVX2)
-	CC_AVX2_SUPPORT=1
-else
-	CC_AVX2_SUPPORT=\
-	$(shell $(CC) -march=core-avx2 -dM -E - </dev/null 2>&1 | \
-	grep -q AVX2 && echo 1)
-	ifeq ($(CC_AVX2_SUPPORT), 1)
-		ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-			CFLAGS_ice_rxtx_vec_avx2.o += -march=core-avx2
-		else
-			CFLAGS_ice_rxtx_vec_avx2.o += -mavx2
-		endif
-	endif
-endif
-
-ifeq ($(CC_AVX2_SUPPORT), 1)
-	SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_rxtx_vec_avx2.c
-endif
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_generic_flow.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_dcf.c
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_dcf_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_ICE_PMD) += ice_dcf_parent.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_ICE_PMD)-include := rte_pmd_ice.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/igc/Makefile b/drivers/net/igc/Makefile
deleted file mode 100644
index d6d7959d2d..0000000000
--- a/drivers/net/igc/Makefile
+++ /dev/null
@@ -1,40 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019-2020 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_igc.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal
-LDLIBS += -lrte_ethdev
-LDLIBS += -lrte_bus_pci
-LDLIBS += -lrte_mbuf
-LDLIBS += -lrte_mempool
-
-EXPORT_MAP := rte_pmd_igc_version.map
-
-VPATH += $(SRCDIR)/base
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_IGC_PMD) += igc_api.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGC_PMD) += igc_base.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGC_PMD) += igc_i225.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGC_PMD) += igc_mac.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGC_PMD) += igc_manage.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGC_PMD) += igc_nvm.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGC_PMD) += igc_osdep.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGC_PMD) += igc_phy.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGC_PMD) += igc_logs.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGC_PMD) += igc_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGC_PMD) += igc_txrx.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGC_PMD) += igc_filter.c
-SRCS-$(CONFIG_RTE_LIBRTE_IGC_PMD) += igc_flow.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/ionic/Makefile b/drivers/net/ionic/Makefile
deleted file mode 100644
index 7442e2c5cb..0000000000
--- a/drivers/net/ionic/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-# SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0)
-# Copyright(c) 2018-2019 Pensando Systems, Inc. All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_ionic.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-EXPORT_MAP := rte_pmd_ionic_version.map
-
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net
-LDLIBS += -lrte_bus_pci
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_IONIC_PMD) += ionic_mac_api.c
-SRCS-$(CONFIG_RTE_LIBRTE_IONIC_PMD) += ionic_rx_filter.c
-SRCS-$(CONFIG_RTE_LIBRTE_IONIC_PMD) += ionic_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_IONIC_PMD) += ionic_dev.c
-SRCS-$(CONFIG_RTE_LIBRTE_IONIC_PMD) += ionic_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_IONIC_PMD) += ionic_lif.c
-SRCS-$(CONFIG_RTE_LIBRTE_IONIC_PMD) += ionic_main.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/ipn3ke/Makefile b/drivers/net/ipn3ke/Makefile
deleted file mode 100644
index 40696dbde8..0000000000
--- a/drivers/net/ipn3ke/Makefile
+++ /dev/null
@@ -1,38 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_ipn3ke.a
-
-#
-# Add the experimenatal APIs called from this PMD
-#  rte_eth_switch_domain_alloc()
-#  rte_eth_dev_create()
-#  rte_eth_dev_destroy()
-#  rte_eth_switch_domain_free()
-#
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/bus/ifpga
-CFLAGS += -I$(RTE_SDK)/drivers/raw/ifpga
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_ifpga
-LDLIBS += -lrte_bus_vdev
-LDLIBS += -lpthread
-
-EXPORT_MAP := rte_pmd_ipn3ke_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_IPN3KE_PMD) += ipn3ke_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_IPN3KE_PMD) += ipn3ke_representor.c
-SRCS-$(CONFIG_RTE_LIBRTE_IPN3KE_PMD) += ipn3ke_tm.c
-SRCS-$(CONFIG_RTE_LIBRTE_IPN3KE_PMD) += ipn3ke_flow.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/ixgbe/Makefile b/drivers/net/ixgbe/Makefile
deleted file mode 100644
index aebf3b286c..0000000000
--- a/drivers/net/ixgbe/Makefile
+++ /dev/null
@@ -1,110 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2016 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_ixgbe.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-EXPORT_MAP := rte_pmd_ixgbe_version.map
-
-ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-#
-# CFLAGS for icc
-#
-CFLAGS_BASE_DRIVER  = -diag-disable 174 -diag-disable 593 -diag-disable 869
-CFLAGS_BASE_DRIVER += -diag-disable 981 -diag-disable 2259
-
-CFLAGS_ixgbe_rxtx.o += -diag-disable 3656
-
-else ifeq ($(CONFIG_RTE_TOOLCHAIN_CLANG),y)
-#
-# CFLAGS for clang
-#
-CFLAGS_BASE_DRIVER = -Wno-unused-parameter -Wno-unused-value
-CFLAGS_BASE_DRIVER += -Wno-strict-aliasing -Wno-format-extra-args
-
-else
-#
-# CFLAGS for gcc
-#
-ifeq ($(shell test $(GCC_VERSION) -ge 44 && echo 1), 1)
-CFLAGS     += -Wno-deprecated
-CFLAGS_ixgbe_common.o += -Wno-unused-but-set-variable
-CFLAGS_ixgbe_x550.o += -Wno-unused-but-set-variable
-endif
-CFLAGS_BASE_DRIVER = -Wno-unused-parameter -Wno-unused-value
-CFLAGS_BASE_DRIVER += -Wno-strict-aliasing -Wno-format-extra-args
-
-ifeq ($(shell test $(GCC_VERSION) -ge 46 && echo 1), 1)
-CFLAGS_ixgbe_x550.o += -Wno-maybe-uninitialized
-endif
-
-ifeq ($(shell test $(GCC_VERSION) -ge 50 && echo 1), 1)
-CFLAGS_ixgbe_common.o += -Wno-logical-not-parentheses
-ifeq ($(shell test $(GCC_VERSION) -ge 70 && echo 1), 1)
-CFLAGS_BASE_DRIVER += -Wno-implicit-fallthrough
-endif
-endif
-
-endif
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_hash
-LDLIBS += -lrte_bus_pci
-LDLIBS += -lpthread
-
-#
-# Add extra flags for base driver files (also known as shared code)
-# to disable warnings in them
-#
-BASE_DRIVER_OBJS=$(sort $(patsubst %.c,%.o,$(notdir $(wildcard $(SRCDIR)/base/*.c))))
-$(foreach obj, $(BASE_DRIVER_OBJS), $(eval CFLAGS_$(obj)+=$(CFLAGS_BASE_DRIVER)))
-
-VPATH += $(SRCDIR)/base
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_common.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_82598.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_82599.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_x540.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_x550.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_phy.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_api.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_vf.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_hv_vf.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_dcb.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_dcb_82599.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_dcb_82598.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_mbx.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_fdir.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_pf.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_flow.c
-ifneq ($(filter y,$(CONFIG_RTE_ARCH_ARM) $(CONFIG_RTE_ARCH_ARM64)),)
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_rxtx_vec_neon.c
-else ifeq ($(CONFIG_RTE_ARCH_X86),y)
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_rxtx_vec_sse.c
-endif
-ifeq ($(CONFIG_RTE_LIBRTE_IXGBE_BYPASS),y)
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_bypass.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_82599_bypass.c
-endif
-ifeq ($(CONFIG_RTE_LIBRTE_SECURITY),y)
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_ipsec.c
-endif
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += rte_pmd_ixgbe.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_tm.c
-SRCS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD) += ixgbe_vf_representor.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_IXGBE_PMD)-include := rte_pmd_ixgbe.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/kni/Makefile b/drivers/net/kni/Makefile
deleted file mode 100644
index 0694ffd021..0000000000
--- a/drivers/net/kni/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_kni.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lpthread
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_kni
-LDLIBS += -lrte_bus_vdev
-
-EXPORT_MAP := rte_pmd_kni_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_KNI) += rte_eth_kni.c
-
-#
-# Export include files
-#
-SYMLINK-y-include +=
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/liquidio/Makefile b/drivers/net/liquidio/Makefile
deleted file mode 100644
index d7fda7f527..0000000000
--- a/drivers/net/liquidio/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Cavium, Inc
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_lio.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)/base -I$(SRCDIR)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-
-EXPORT_MAP := rte_pmd_liquidio_version.map
-
-VPATH += $(RTE_SDK)/drivers/net/liquidio/base
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_LIO_PMD) += lio_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_LIO_PMD) += lio_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_LIO_PMD) += lio_23xx_vf.c
-SRCS-$(CONFIG_RTE_LIBRTE_LIO_PMD) += lio_mbox.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/memif/Makefile b/drivers/net/memif/Makefile
deleted file mode 100644
index 3bf4ddce4c..0000000000
--- a/drivers/net/memif/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2018-2019 Cisco Systems, Inc.  All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_memif.a
-
-EXPORT_MAP := rte_pmd_memif_version.map
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool
-LDLIBS += -lrte_ethdev -lrte_kvargs -lrte_net
-LDLIBS += -lrte_hash
-LDLIBS += -lrte_bus_vdev
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_MEMIF) += rte_eth_memif.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_MEMIF) += memif_socket.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/mlx4/Makefile b/drivers/net/mlx4/Makefile
deleted file mode 100644
index 02e9b2ec07..0000000000
--- a/drivers/net/mlx4/Makefile
+++ /dev/null
@@ -1,142 +0,0 @@
-#   SPDX-License-Identifier: BSD-3-Clause
-#   Copyright 2012 6WIND S.A.
-#   Copyright 2012 Mellanox Technologies, Ltd
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# Library name.
-LIB = librte_pmd_mlx4.a
-LIB_GLUE = $(LIB_GLUE_BASE).$(LIB_GLUE_VERSION)
-LIB_GLUE_BASE = librte_pmd_mlx4_glue.so
-LIB_GLUE_VERSION = 18.02.0
-
-# Sources.
-SRCS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4_flow.c
-ifneq ($(CONFIG_RTE_IBVERBS_LINK_DLOPEN),y)
-SRCS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4_glue.c
-endif
-SRCS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4_intr.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4_mp.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4_mr.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4_rxq.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4_txq.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX4_PMD) += mlx4_utils.c
-
-ifeq ($(CONFIG_RTE_IBVERBS_LINK_DLOPEN),y)
-INSTALL-$(CONFIG_RTE_LIBRTE_MLX4_PMD)-lib += $(LIB_GLUE)
-endif
-
-# Basic CFLAGS.
-CFLAGS += -O3
-CFLAGS += -std=c11 -Wall -Wextra
-CFLAGS += -g
-CFLAGS += -I.
-CFLAGS += -D_BSD_SOURCE
-CFLAGS += -D_DEFAULT_SOURCE
-CFLAGS += -D_XOPEN_SOURCE=600
-CFLAGS += $(WERROR_FLAGS)
-ifeq ($(CONFIG_RTE_IBVERBS_LINK_DLOPEN),y)
-CFLAGS += -DMLX4_GLUE='"$(LIB_GLUE)"'
-CFLAGS += -DMLX4_GLUE_VERSION='"$(LIB_GLUE_VERSION)"'
-CFLAGS_mlx4_glue.o += -fPIC
-LDLIBS += -ldl
-else ifeq ($(CONFIG_RTE_IBVERBS_LINK_STATIC),y)
-LDLIBS += $(shell $(RTE_SDK)/buildtools/options-ibverbs-static.sh)
-else
-LDLIBS += -libverbs -lmlx4
-endif
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-
-# A few warnings cannot be avoided in external headers.
-CFLAGS += -Wno-error=cast-qual
-
-EXPORT_MAP := rte_pmd_mlx4_version.map
-# DEBUG which is usually provided on the command-line may enable
-# CONFIG_RTE_LIBRTE_MLX4_DEBUG.
-ifeq ($(DEBUG),1)
-CONFIG_RTE_LIBRTE_MLX4_DEBUG := y
-endif
-
-# User-defined CFLAGS.
-ifeq ($(CONFIG_RTE_LIBRTE_MLX4_DEBUG),y)
-CFLAGS += -pedantic
-ifneq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS += -DPEDANTIC
-endif
-AUTO_CONFIG_CFLAGS += -Wno-pedantic
-else
-CFLAGS += -UPEDANTIC
-endif
-
-include $(RTE_SDK)/mk/rte.lib.mk
-
-# Generate and clean-up mlx4_autoconf.h.
-
-export CC CFLAGS CPPFLAGS EXTRA_CFLAGS EXTRA_CPPFLAGS
-export AUTO_CONFIG_CFLAGS += -Wno-error
-
-ifndef V
-AUTOCONF_OUTPUT := >/dev/null
-endif
-
-mlx4_autoconf.h.new: FORCE
-
-mlx4_autoconf.h.new: $(RTE_SDK)/buildtools/auto-config-h.sh
-	$Q $(RM) -f -- '$@'
-	$Q : > '$@'
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_MLX4_BUF_ALLOCATORS \
-		infiniband/mlx4dv.h \
-		enum MLX4DV_SET_CTX_ATTR_BUF_ALLOCATORS \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_MLX4_UAR_MMAP_OFFSET \
-		infiniband/mlx4dv.h \
-		enum MLX4DV_QP_MASK_UAR_MMAP_OFFSET \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_IBV_MLX4_WQE_LSO_SEG \
-		infiniband/mlx4dv.h \
-		type 'struct mlx4_wqe_lso_seg' \
-		$(AUTOCONF_OUTPUT)
-
-# Create mlx4_autoconf.h or update it in case it differs from the new one.
-
-mlx4_autoconf.h: mlx4_autoconf.h.new
-	$Q [ -f '$@' ] && \
-		cmp '$<' '$@' $(AUTOCONF_OUTPUT) || \
-		mv '$<' '$@'
-
-$(SRCS-$(CONFIG_RTE_LIBRTE_MLX4_PMD):.c=.o): mlx4_autoconf.h
-
-# Generate dependency plug-in for rdma-core when the PMD must not be linked
-# directly, so that applications do not inherit this dependency.
-
-ifeq ($(CONFIG_RTE_IBVERBS_LINK_DLOPEN),y)
-
-$(LIB): $(LIB_GLUE)
-
-ifeq ($(LINK_USING_CC),1)
-GLUE_LDFLAGS := $(call linkerprefix,$(LDFLAGS))
-else
-GLUE_LDFLAGS := $(LDFLAGS)
-endif
-$(LIB_GLUE): mlx4_glue.o
-	$Q $(LD) $(GLUE_LDFLAGS) $(EXTRA_LDFLAGS) \
-		-Wl,-h,$(LIB_GLUE) \
-		-shared -o $@ $< -libverbs -lmlx4
-
-mlx4_glue.o: mlx4_autoconf.h
-
-endif
-
-clean_mlx4: FORCE
-	$Q rm -f -- mlx4_autoconf.h mlx4_autoconf.h.new
-	$Q rm -f -- mlx4_glue.o $(LIB_GLUE_BASE)*
-
-clean: clean_mlx4
diff --git a/drivers/net/mlx5/Makefile b/drivers/net/mlx5/Makefile
deleted file mode 100644
index 568c772415..0000000000
--- a/drivers/net/mlx5/Makefile
+++ /dev/null
@@ -1,82 +0,0 @@
-#   SPDX-License-Identifier: BSD-3-Clause
-#   Copyright 2015 6WIND S.A.
-#   Copyright 2015 Mellanox Technologies, Ltd
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# Library name.
-LIB = librte_pmd_mlx5.a
-
-# Sources.
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_rxq.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_txq.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_txpp.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_rxtx.c
-ifneq ($(filter y,$(CONFIG_RTE_ARCH_X86_64) \
-			$(CONFIG_RTE_ARCH_PPC_64) \
-		  $(CONFIG_RTE_ARCH_ARM64)),)
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_rxtx_vec.c
-endif
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_trigger.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_mac.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_rxmode.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_vlan.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_stats.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_rss.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_mr.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_flow_meter.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_flow_dv.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_flow_verbs.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += mlx5_utils.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += linux/mlx5_socket.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += linux/mlx5_os.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += linux/mlx5_ethdev_os.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += linux/mlx5_verbs.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_PMD) += linux/mlx5_mp_os.c
-
-# Basic CFLAGS.
-CFLAGS += -O3
-CFLAGS += -std=c11 -Wall -Wextra
-CFLAGS += -g
-CFLAGS += -I$(RTE_SDK)/drivers/common/mlx5
-CFLAGS += -I$(RTE_SDK)/drivers/common/mlx5/linux
-CFLAGS += -I$(RTE_SDK)/drivers/net/mlx5
-CFLAGS += -I$(RTE_SDK)/drivers/net/mlx5/linux
-CFLAGS += -I$(BUILDDIR)/drivers/common/mlx5
-CFLAGS += -D_BSD_SOURCE
-CFLAGS += -D_DEFAULT_SOURCE
-CFLAGS += -D_XOPEN_SOURCE=600
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -Wno-strict-prototypes
-LDLIBS += -lrte_common_mlx5
-LDLIBS += -lm
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-
-# A few warnings cannot be avoided in external headers.
-CFLAGS += -Wno-error=cast-qual
-
-EXPORT_MAP := rte_pmd_mlx5_version.map
-
-# DEBUG which is usually provided on the command-line may enable
-# CONFIG_RTE_LIBRTE_MLX5_DEBUG.
-ifeq ($(DEBUG),1)
-CONFIG_RTE_LIBRTE_MLX5_DEBUG := y
-endif
-
-# User-defined CFLAGS.
-ifeq ($(CONFIG_RTE_LIBRTE_MLX5_DEBUG),y)
-CFLAGS += -pedantic
-ifneq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS += -DPEDANTIC
-endif
-AUTO_CONFIG_CFLAGS += -Wno-pedantic
-else
-CFLAGS += -UPEDANTIC
-endif
-
-include $(RTE_SDK)/mk/rte.lib.mk
-
diff --git a/drivers/net/mvneta/Makefile b/drivers/net/mvneta/Makefile
deleted file mode 100644
index 41e50479ff..0000000000
--- a/drivers/net/mvneta/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Marvell International Ltd.
-# Copyright(c) 2018 Semihalf.
-# All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-ifneq ($(MAKECMDGOALS),clean)
-ifneq ($(MAKECMDGOALS),config)
-ifeq ($(LIBMUSDK_PATH),)
-$(error "Please define LIBMUSDK_PATH environment variable")
-endif
-endif
-endif
-
-# library name
-LIB = librte_pmd_mvneta.a
-
-# versioning export map
-EXPORT_MAP := rte_pmd_mvneta_version.map
-
-# external library dependencies
-CFLAGS += -I$(RTE_SDK)/drivers/common/mvep
-CFLAGS += -I$(LIBMUSDK_PATH)/include
-CFLAGS += -DMVCONF_TYPES_PUBLIC
-CFLAGS += -DMVCONF_DMA_PHYS_ADDR_T_PUBLIC
-CFLAGS += -DMVCONF_DMA_PHYS_ADDR_T_SIZE=64
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -O3
-LDLIBS += -L$(LIBMUSDK_PATH)/lib
-LDLIBS += -lmusdk
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_cfgfile
-LDLIBS += -lrte_bus_vdev -lrte_common_mvep
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_MVNETA_PMD) += mvneta_ethdev.c mvneta_rxtx.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/mvpp2/Makefile b/drivers/net/mvpp2/Makefile
deleted file mode 100644
index 8a3ec93a60..0000000000
--- a/drivers/net/mvpp2/Makefile
+++ /dev/null
@@ -1,42 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Marvell International Ltd.
-# Copyright(c) 2017 Semihalf.
-# All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-ifneq ($(MAKECMDGOALS),clean)
-ifneq ($(MAKECMDGOALS),config)
-ifeq ($(LIBMUSDK_PATH),)
-$(error "Please define LIBMUSDK_PATH environment variable")
-endif
-endif
-endif
-
-# library name
-LIB = librte_pmd_mvpp2.a
-
-# versioning export map
-EXPORT_MAP := rte_pmd_mvpp2_version.map
-
-# external library dependencies
-CFLAGS += -I$(RTE_SDK)/drivers/common/mvep
-CFLAGS += -I$(LIBMUSDK_PATH)/include
-CFLAGS += -DMVCONF_TYPES_PUBLIC
-CFLAGS += -DMVCONF_DMA_PHYS_ADDR_T_PUBLIC
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -O3
-LDLIBS += -L$(LIBMUSDK_PATH)/lib
-LDLIBS += -lmusdk
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_cfgfile
-LDLIBS += -lrte_bus_vdev -lrte_common_mvep
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_MVPP2_PMD) += mrvl_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_MVPP2_PMD) += mrvl_qos.c
-SRCS-$(CONFIG_RTE_LIBRTE_MVPP2_PMD) += mrvl_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_MVPP2_PMD) += mrvl_mtr.c
-SRCS-$(CONFIG_RTE_LIBRTE_MVPP2_PMD) += mrvl_tm.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/netvsc/Makefile b/drivers/net/netvsc/Makefile
deleted file mode 100644
index da8991584a..0000000000
--- a/drivers/net/netvsc/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-LIB = librte_pmd_netvsc.a
-
-CFLAGS += -O3 $(WERROR_FLAGS)
-
-EXPORT_MAP := rte_pmd_netvsc_version.map
-
-SRCS-$(CONFIG_RTE_LIBRTE_NETVSC_PMD) += hn_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_NETVSC_PMD) += hn_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_NETVSC_PMD) += hn_rndis.c
-SRCS-$(CONFIG_RTE_LIBRTE_NETVSC_PMD) += hn_nvs.c
-SRCS-$(CONFIG_RTE_LIBRTE_NETVSC_PMD) += hn_vf.c
-
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_vmbus
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/nfb/Makefile b/drivers/net/nfb/Makefile
deleted file mode 100644
index e92d29dcd3..0000000000
--- a/drivers/net/nfb/Makefile
+++ /dev/null
@@ -1,40 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019 Cesnet
-# Copyright(c) 2019 Netcope Technologies, a.s. <info@netcope.com>
-# All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_nfb.a
-
-INCLUDES :=-I$(SRCDIR)
-
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += $(shell command -v pkg-config > /dev/null 2>&1 && pkg-config --cflags netcope-common)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_kvargs
-LDLIBS += -lrte_ethdev -lrte_net
-LDLIBS += -lrte_bus_pci
-LDLIBS += $(shell command -v pkg-config > /dev/null 2>&1 && pkg-config --libs netcope-common)
-
-EXPORT_MAP := rte_pmd_nfb_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_NFB_PMD) += nfb_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_NFB_PMD) += nfb_rx.c
-SRCS-$(CONFIG_RTE_LIBRTE_NFB_PMD) += nfb_tx.c
-SRCS-$(CONFIG_RTE_LIBRTE_NFB_PMD) += nfb_stats.c
-SRCS-$(CONFIG_RTE_LIBRTE_NFB_PMD) += nfb_rxmode.c
-
-#
-# Export include files
-#
-SYMLINK-y-include +=
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/nfp/Makefile b/drivers/net/nfp/Makefile
deleted file mode 100644
index 289b3a60e3..0000000000
--- a/drivers/net/nfp/Makefile
+++ /dev/null
@@ -1,41 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_nfp.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-LDLIBS += -lm
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-
-EXPORT_MAP := rte_pmd_nfp_version.map
-
-VPATH += $(SRCDIR)/nfpcore
-
-SRCS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp_cppcore.c
-SRCS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp_cpp_pcie_ops.c
-SRCS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp_mutex.c
-SRCS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp_resource.c
-SRCS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp_crc.c
-SRCS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp_mip.c
-SRCS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp_nffw.c
-SRCS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp_hwinfo.c
-SRCS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp_rtsym.c
-SRCS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp_nsp.c
-SRCS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp_nsp_cmds.c
-SRCS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp_nsp_eth.c
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_NFP_PMD) += nfp_net.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/null/Makefile b/drivers/net/null/Makefile
deleted file mode 100644
index f51150c131..0000000000
--- a/drivers/net/null/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2015 IGEL Co.,Ltd.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_null.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_vdev
-
-EXPORT_MAP := rte_pmd_null_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_NULL) += rte_eth_null.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/octeontx/Makefile b/drivers/net/octeontx/Makefile
deleted file mode 100644
index c4db878009..0000000000
--- a/drivers/net/octeontx/Makefile
+++ /dev/null
@@ -1,53 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Cavium, Inc
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_octeontx.a
-
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx/
-CFLAGS += -I$(RTE_SDK)/drivers/mempool/octeontx/
-
-EXPORT_MAP := rte_pmd_octeontx_version.map
-
-OBJS_BASE_DRIVER=$(patsubst %.c,%.o,$(notdir $(wildcard $(SRCDIR)/base/*.c)))
-$(foreach obj, $(OBJS_BASE_DRIVER), $(eval CFLAGS_$(obj)+=$(CFLAGS_BASE_DRIVER)))
-
-VPATH += $(SRCDIR)/base
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_OCTEONTX_PMD) += octeontx_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_OCTEONTX_PMD) += octeontx_pkovf.c
-SRCS-$(CONFIG_RTE_LIBRTE_OCTEONTX_PMD) += octeontx_pkivf.c
-SRCS-$(CONFIG_RTE_LIBRTE_OCTEONTX_PMD) += octeontx_bgx.c
-SRCS-$(CONFIG_RTE_LIBRTE_OCTEONTX_PMD) += octeontx_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_OCTEONTX_PMD) += octeontx_ethdev_ops.c
-
-ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
-CFLAGS_octeontx_rxtx.o += -fno-prefetch-loop-arrays
-
-ifeq ($(shell test $(GCC_VERSION) -ge 46 && echo 1), 1)
-CFLAGS_octeontx_rxtx.o += -O3 -Ofast
-else
-CFLAGS_octeontx_rxtx.o += -O3 -ffast-math
-endif
-
-else
-CFLAGS_octeontx_rxtx.o += -O3 -Ofast
-endif
-
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_common_octeontx
-LDLIBS += -lrte_mempool_octeontx
-LDLIBS += -lrte_eventdev
-LDLIBS += -lrte_bus_pci
-LDLIBS += -lrte_bus_vdev
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/octeontx2/Makefile b/drivers/net/octeontx2/Makefile
deleted file mode 100644
index 0de43e36af..0000000000
--- a/drivers/net/octeontx2/Makefile
+++ /dev/null
@@ -1,63 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(C) 2019 Marvell International Ltd.
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_octeontx2.a
-
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/common/cpt
-CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx2
-CFLAGS += -I$(RTE_SDK)/drivers/crypto/octeontx2
-CFLAGS += -I$(RTE_SDK)/drivers/mempool/octeontx2
-CFLAGS += -I$(RTE_SDK)/drivers/net/octeontx2
-CFLAGS += -O3
-ifneq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS += -flax-vector-conversions
-endif
-
-ifneq ($(CONFIG_RTE_ARCH_64),y)
-CFLAGS += -Wno-int-to-pointer-cast
-CFLAGS += -Wno-pointer-to-int-cast
-ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS += -diag-disable 2259
-endif
-endif
-
-EXPORT_MAP := rte_pmd_octeontx2_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_OCTEONTX2_PMD) += \
-	otx2_rx.c 	\
-	otx2_tx.c 	\
-	otx2_tm.c	\
-	otx2_rss.c	\
-	otx2_mac.c	\
-	otx2_ptp.c	\
-	otx2_flow.c	\
-	otx2_link.c	\
-	otx2_vlan.c	\
-	otx2_stats.c	\
-	otx2_mcast.c	\
-	otx2_lookup.c	\
-	otx2_ethdev.c	\
-	otx2_flow_ctrl.c \
-	otx2_flow_parse.c \
-	otx2_flow_utils.c \
-	otx2_ethdev_irq.c \
-	otx2_ethdev_ops.c \
-	otx2_ethdev_sec.c \
-	otx2_ethdev_debug.c \
-	otx2_ethdev_devargs.c
-
-LDLIBS += -lrte_common_octeontx2 -lrte_mempool_octeontx2 -lrte_eal -lrte_net
-LDLIBS += -lrte_ethdev -lrte_bus_pci -lrte_kvargs -lrte_mbuf  -lrte_mempool -lm
-LDLIBS += -lrte_cryptodev -lrte_eventdev -lrte_security
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/pcap/Makefile b/drivers/net/pcap/Makefile
deleted file mode 100644
index f243d1a0fa..0000000000
--- a/drivers/net/pcap/Makefile
+++ /dev/null
@@ -1,32 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation.
-# Copyright(c) 2014 6WIND S.A.
-# All rights reserved.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_pcap.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lpcap
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_vdev
-
-EXPORT_MAP := rte_pmd_pcap_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_PCAP) += rte_eth_pcap.c
-
-#
-# Export include files
-#
-SYMLINK-y-include +=
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/pfe/Makefile b/drivers/net/pfe/Makefile
deleted file mode 100644
index 75d30b01aa..0000000000
--- a/drivers/net/pfe/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2018-2019 NXP
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_pfe.a
-
-CFLAGS += -O3 $(WERROR_FLAGS)
-CFLAGS += -Wno-pointer-arith
-CFLAGS += -I$(RTE_SDK)/drivers/net/pfe/base/
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-
-EXPORT_MAP := rte_pmd_pfe_version.map
-
-# Interfaces with DPDK
-SRCS-$(CONFIG_RTE_LIBRTE_PFE_PMD) += pfe_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PFE_PMD) += pfe_hal.c
-SRCS-$(CONFIG_RTE_LIBRTE_PFE_PMD) += pfe_hif_lib.c
-SRCS-$(CONFIG_RTE_LIBRTE_PFE_PMD) += pfe_hif.c
-
-LDLIBS += -lrte_bus_vdev
-LDLIBS += -lrte_bus_dpaa
-LDLIBS += -lrte_common_dpaax
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool
-LDLIBS += -lrte_ethdev -lrte_kvargs
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/qede/Makefile b/drivers/net/qede/Makefile
deleted file mode 100644
index 0e8a67b0da..0000000000
--- a/drivers/net/qede/Makefile
+++ /dev/null
@@ -1,109 +0,0 @@
-#    SPDX-License-Identifier: BSD-3-Clause
-#    Copyright (c) 2016 - 2018 Cavium Inc.
-#    All rights reserved.
-#    www.cavium.com
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_qede.a
-
-CFLAGS += -O3
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-
-EXPORT_MAP := rte_pmd_qede_version.map
-
-#
-# OS
-#
-OS_TYPE := $(shell uname -s)
-
-#
-# CFLAGS
-#
-CFLAGS_BASE_DRIVER = -Wno-unused-parameter
-CFLAGS_BASE_DRIVER += -Wno-sign-compare
-CFLAGS_BASE_DRIVER += -Wno-missing-prototypes
-CFLAGS_BASE_DRIVER += -Wno-cast-qual
-CFLAGS_BASE_DRIVER += -Wno-unused-function
-CFLAGS_BASE_DRIVER += -Wno-unused-variable
-CFLAGS_BASE_DRIVER += -Wno-strict-aliasing
-CFLAGS_BASE_DRIVER += -Wno-missing-prototypes
-
-ifneq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS_BASE_DRIVER += -Wno-unused-value
-ifeq ($(OS_TYPE),Linux)
-ifeq ($(shell clang -Wno-shift-negative-value -Werror -E - < /dev/null > /dev/null 2>&1; echo $$?),0)
-CFLAGS_BASE_DRIVER += -Wno-shift-negative-value
-endif
-endif
-endif
-
-ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
-ifeq ($(shell test $(GCC_VERSION) -ge 44 && echo 1), 1)
-CFLAGS_BASE_DRIVER += -Wno-unused-but-set-variable
-CFLAGS += -Wno-format-nonliteral
-endif
-CFLAGS_BASE_DRIVER += -Wno-missing-declarations
-ifeq ($(shell test $(GCC_VERSION) -ge 46 && echo 1), 1)
-CFLAGS_BASE_DRIVER += -Wno-maybe-uninitialized
-endif
-CFLAGS_BASE_DRIVER += -Wno-strict-prototypes
-ifeq ($(shell test $(GCC_VERSION) -ge 60 && echo 1), 1)
-CFLAGS_BASE_DRIVER += -Wno-shift-negative-value
-ifeq ($(shell test $(GCC_VERSION) -ge 70 && echo 1), 1)
-CFLAGS_BASE_DRIVER += -Wno-implicit-fallthrough
-endif
-endif
-else ifeq ($(CONFIG_RTE_TOOLCHAIN_CLANG),y)
-CFLAGS_BASE_DRIVER += -Wno-format-extra-args
-CFLAGS_BASE_DRIVER += -Wno-visibility
-CFLAGS_BASE_DRIVER += -Wno-empty-body
-CFLAGS_BASE_DRIVER += -Wno-invalid-source-encoding
-CFLAGS_BASE_DRIVER += -Wno-sometimes-uninitialized
-ifeq ($(shell clang -Wno-pointer-bool-conversion -Werror -E - < /dev/null > /dev/null 2>&1; echo $$?),0)
-CFLAGS_BASE_DRIVER += -Wno-pointer-bool-conversion
-endif
-else #ICC
-CFLAGS_qede_ethdev.o += -diag-disable 279 #279: controlling expression is constant
-endif
-
-#
-# Add extra flags for base ecore driver files
-# to disable warnings in them
-#
-#
-BASE_DRIVER_OBJS=$(sort $(patsubst %.c,%.o,$(notdir $(wildcard $(SRCDIR)/base/*.c))))
-$(foreach obj, $(BASE_DRIVER_OBJS), $(eval CFLAGS_$(obj)+=$(CFLAGS_BASE_DRIVER)))
-
-VPATH += $(SRCDIR)/base
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_dev.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_hw.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_cxt.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_l2.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_sp_commands.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_init_fw_funcs.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_spq.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_init_ops.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_mcp.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_int.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_dcbx.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += bcm_osal.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_sriov.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += ecore_vf.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += qede_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += qede_main.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += qede_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += qede_filter.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += qede_debug.c
-SRCS-$(CONFIG_RTE_LIBRTE_QEDE_PMD) += qede_regs.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/ring/Makefile b/drivers/net/ring/Makefile
deleted file mode 100644
index d6a3dec350..0000000000
--- a/drivers/net/ring/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_ring.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_vdev
-
-EXPORT_MAP := rte_pmd_ring_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_RING) += rte_eth_ring.c
-
-#
-# Export include files
-#
-SYMLINK-y-include += rte_eth_ring.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/sfc/Makefile b/drivers/net/sfc/Makefile
deleted file mode 100644
index 20bf343814..0000000000
--- a/drivers/net/sfc/Makefile
+++ /dev/null
@@ -1,133 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-#
-# Copyright(c) 2019-2020 Xilinx, Inc.
-# Copyright(c) 2016-2019 Solarflare Communications Inc.
-#
-# This software was jointly developed between OKTET Labs (under contract
-# for Solarflare) and Solarflare Communications, Inc.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_sfc_efx.a
-
-CFLAGS += -I$(SRCDIR)/base/
-CFLAGS += -I$(SRCDIR)
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-# Strict-aliasing rules are violated by rte_eth_link to uint64_t casts
-CFLAGS += -Wno-strict-aliasing
-
-# Enable extra warnings
-CFLAGS += -Wextra
-
-# More warnings not enabled by above aggregators
-CFLAGS += -Wdisabled-optimization
-
-# Extra CFLAGS for base driver files
-CFLAGS_BASE_DRIVER += -Wno-sign-compare
-CFLAGS_BASE_DRIVER += -Wno-unused-parameter
-CFLAGS_BASE_DRIVER += -Wno-unused-variable
-
-# Compiler and version dependent flags
-ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
-CFLAGS += -Waggregate-return
-CFLAGS += -Wnested-externs
-CFLAGS_BASE_DRIVER += -Wno-empty-body
-CFLAGS_BASE_DRIVER += -Wno-unused-but-set-variable
-else ifeq ($(CONFIG_RTE_TOOLCHAIN_CLANG),y)
-CFLAGS += -Waggregate-return
-CFLAGS += -Wbad-function-cast
-CFLAGS_BASE_DRIVER += -Wno-empty-body
-else ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS_BASE_DRIVER += -Wno-unused-but-set-variable
-# Suppress ICC false positive warning on 'bulk' may be used before its
-# value is set
-CFLAGS_sfc_ef10_tx.o += -diag-disable 3656
-endif
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci -lrte_pci
-
-#
-# List of base driver object files for which
-# special CFLAGS above should be applied
-#
-BASE_DRIVER_OBJS=$(sort $(patsubst %.c,%.o,$(notdir $(wildcard $(SRCDIR)/base/*.c))))
-$(foreach obj, $(BASE_DRIVER_OBJS), \
-  $(eval CFLAGS_$(obj)+=$(CFLAGS_BASE_DRIVER)))
-
-EXPORT_MAP := rte_pmd_sfc_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_kvargs.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_mcdi.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_intr.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_ev.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_port.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_rx.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_tx.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_tso.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_filter.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_dp.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_ef10_rx.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_ef10_essb_rx.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += sfc_ef10_tx.c
-
-VPATH += $(SRCDIR)/base
-
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_bootcfg.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_crc32.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_ev.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_evb.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_filter.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_hash.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_intr.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_lic.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_mac.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_mcdi.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_mon.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_nic.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_nvram.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_phy.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_port.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_proxy.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_rx.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_sram.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_tunnel.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_tx.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += efx_vpd.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += mcdi_mon.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += siena_mac.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += siena_mcdi.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += siena_nic.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += siena_nvram.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += siena_phy.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += siena_sram.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += siena_vpd.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += ef10_ev.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += ef10_evb.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += ef10_filter.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += ef10_intr.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += ef10_image.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += ef10_mac.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += ef10_mcdi.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += ef10_nic.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += ef10_nvram.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += ef10_phy.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += ef10_proxy.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += ef10_rx.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += ef10_tx.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += ef10_vpd.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += hunt_nic.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += medford_nic.c
-SRCS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD) += medford2_nic.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/softnic/Makefile b/drivers/net/softnic/Makefile
deleted file mode 100644
index dabbe13a5f..0000000000
--- a/drivers/net/softnic/Makefile
+++ /dev/null
@@ -1,54 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_softnic.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_pipeline -lrte_port -lrte_table
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_sched
-LDLIBS += -lrte_cryptodev
-LDLIBS += -lrte_bus_vdev
-
-EXPORT_MAP := rte_pmd_softnic_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += rte_eth_softnic.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += rte_eth_softnic_mempool.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += rte_eth_softnic_swq.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += rte_eth_softnic_link.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += rte_eth_softnic_tm.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += rte_eth_softnic_tap.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += rte_eth_softnic_action.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += rte_eth_softnic_pipeline.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += rte_eth_softnic_thread.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += rte_eth_softnic_cli.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += rte_eth_softnic_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += rte_eth_softnic_meter.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += rte_eth_softnic_cryptodev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += parser.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += conn.c
-
-#
-# Export include files
-#
-SYMLINK-y-include += rte_eth_softnic.h
-
-ifneq ($(CONFIG_RTE_EXEC_ENV_LINUX),y)
-$(info Softnic PMD can only operate in a linux environment, \
-please change the definition of the RTE_TARGET environment variable)
-all:
-clean:
-else
-
-include $(RTE_SDK)/mk/rte.lib.mk
-
-endif
diff --git a/drivers/net/szedata2/Makefile b/drivers/net/szedata2/Makefile
deleted file mode 100644
index 675d0938a2..0000000000
--- a/drivers/net/szedata2/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2015 CESNET
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_szedata2.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lsze2
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-
-EXPORT_MAP := rte_pmd_szedata2_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SZEDATA2) += rte_eth_szedata2.c
-
-#
-# Export include files
-#
-SYMLINK-y-include +=
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/tap/Makefile b/drivers/net/tap/Makefile
deleted file mode 100644
index cbf87af401..0000000000
--- a/drivers/net/tap/Makefile
+++ /dev/null
@@ -1,97 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_tap.a
-
-EXPORT_MAP := rte_pmd_tap_version.map
-
-#
-# TAP_MAX_QUEUES must be a power of 2
-#
-ifeq ($(TAP_MAX_QUEUES),)
-	TAP_MAX_QUEUES = 16
-endif
-CFLAGS += -O3
-CFLAGS += -I$(SRCDIR)
-CFLAGS += -I.
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_hash
-LDLIBS += -lrte_bus_vdev -lrte_gso
-
-CFLAGS += -DTAP_MAX_QUEUES=$(TAP_MAX_QUEUES)
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_TAP) += rte_eth_tap.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_TAP) += tap_flow.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_TAP) += tap_netlink.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_TAP) += tap_tcmsgs.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_TAP) += tap_bpf_api.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_TAP) += tap_intr.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
-
-# Generate and clean-up tap_autoconf.h.
-
-export CC CFLAGS CPPFLAGS EXTRA_CFLAGS EXTRA_CPPFLAGS
-export AUTO_CONFIG_CFLAGS = -Wno-error
-
-ifndef V
-AUTOCONF_OUTPUT := >/dev/null
-endif
-
-tap_autoconf.h.new: FORCE
-
-tap_autoconf.h.new: $(RTE_SDK)/buildtools/auto-config-h.sh
-	$Q $(RM) -f -- '$@'
-	$Q sh -- '$<' '$@' \
-		HAVE_TC_FLOWER \
-		linux/pkt_cls.h \
-		enum TCA_FLOWER_UNSPEC \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_TC_VLAN_ID \
-		linux/pkt_cls.h \
-		enum TCA_FLOWER_KEY_VLAN_PRIO \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_TC_BPF \
-		linux/pkt_cls.h \
-		enum TCA_BPF_UNSPEC \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_TC_BPF_FD \
-		linux/pkt_cls.h \
-		enum TCA_BPF_FD \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_TC_ACT_BPF \
-		linux/tc_act/tc_bpf.h \
-		enum TCA_ACT_BPF_UNSPEC \
-		$(AUTOCONF_OUTPUT)
-	$Q sh -- '$<' '$@' \
-		HAVE_TC_ACT_BPF_FD \
-		linux/tc_act/tc_bpf.h \
-		enum TCA_ACT_BPF_FD \
-		$(AUTOCONF_OUTPUT)
-
-# Create tap_autoconf.h or update it in case it differs from the new one.
-
-tap_autoconf.h: tap_autoconf.h.new
-	$Q [ -f '$@' ] && \
-		cmp '$<' '$@' $(AUTOCONF_OUTPUT) || \
-		mv '$<' '$@'
-
-$(SRCS-$(CONFIG_RTE_LIBRTE_PMD_TAP):.c=.o): tap_autoconf.h
-
-clean_tap: FORCE
-	$Q rm -f -- tap_autoconf.h tap_autoconf.h.new
-
-clean: clean_tap
diff --git a/drivers/net/thunderx/Makefile b/drivers/net/thunderx/Makefile
deleted file mode 100644
index 149638a499..0000000000
--- a/drivers/net/thunderx/Makefile
+++ /dev/null
@@ -1,41 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016 Cavium, Inc
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_thunderx_nicvf.a
-
-CFLAGS += $(WERROR_FLAGS)
-
-LDLIBS += -lm
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-
-EXPORT_MAP := rte_pmd_thunderx_version.map
-
-OBJS_BASE_DRIVER=$(sort $(patsubst %.c,%.o,$(notdir $(wildcard $(SRCDIR)/base/*.c))))
-$(foreach obj, $(OBJS_BASE_DRIVER), $(eval CFLAGS_$(obj)+=$(CFLAGS_BASE_DRIVER)))
-
-VPATH += $(SRCDIR)/base
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD) += nicvf_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD) += nicvf_hw.c
-SRCS-$(CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD) += nicvf_mbox.c
-SRCS-$(CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD) += nicvf_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD) += nicvf_bsvf.c
-SRCS-$(CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD) += nicvf_svf.c
-
-ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
-CFLAGS_nicvf_rxtx.o += -fno-prefetch-loop-arrays
-endif
-CFLAGS_nicvf_rxtx.o += -Ofast
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/vdev_netvsc/Makefile b/drivers/net/vdev_netvsc/Makefile
deleted file mode 100644
index 01d26fb798..0000000000
--- a/drivers/net/vdev_netvsc/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2017 6WIND S.A.
-# Copyright 2017 Mellanox Technologies, Ltd
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# Properties of the generated library.
-LIB = librte_pmd_vdev_netvsc.a
-EXPORT_MAP := rte_pmd_vdev_netvsc_version.map
-
-# Additional compilation flags.
-CFLAGS += -O3
-CFLAGS += -g
-CFLAGS += -Wall -Wextra
-CFLAGS += -D_XOPEN_SOURCE=600
-CFLAGS += -D_BSD_SOURCE
-CFLAGS += -D_DEFAULT_SOURCE
-CFLAGS += $(WERROR_FLAGS)
-
-# Dependencies.
-LDLIBS += -lrte_bus_vdev
-LDLIBS += -lrte_eal
-LDLIBS += -lrte_ethdev
-LDLIBS += -lrte_kvargs
-LDLIBS += -lrte_net
-
-# Source files.
-SRCS-$(CONFIG_RTE_LIBRTE_VDEV_NETVSC_PMD) += vdev_netvsc.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/vhost/Makefile b/drivers/net/vhost/Makefile
deleted file mode 100644
index 0461e29f2c..0000000000
--- a/drivers/net/vhost/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2016 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_vhost.a
-
-LDLIBS += -lpthread
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_vhost
-LDLIBS += -lrte_bus_vdev
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-EXPORT_MAP := rte_pmd_vhost_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_VHOST) += rte_eth_vhost.c
-
-#
-# Export include files
-#
-SYMLINK-y-include += rte_eth_vhost.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/virtio/Makefile b/drivers/net/virtio/Makefile
deleted file mode 100644
index 102b1deab8..0000000000
--- a/drivers/net/virtio/Makefile
+++ /dev/null
@@ -1,82 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_virtio.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-ifeq ($(CONFIG_RTE_VIRTIO_USER),y)
-LDLIBS += -lrte_bus_vdev
-endif
-
-EXPORT_MAP := rte_pmd_virtio_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtqueue.c
-SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_pci.c
-SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_rxtx_simple.c
-
-ifeq ($(CONFIG_RTE_ARCH_X86),y)
-SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_rxtx_simple_sse.c
-else ifeq ($(CONFIG_RTE_ARCH_PPC_64),y)
-SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_rxtx_simple_altivec.c
-else ifneq ($(filter y,$(CONFIG_RTE_ARCH_ARM) $(CONFIG_RTE_ARCH_ARM64)),)
-SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_rxtx_simple_neon.c
-endif
-
-ifneq ($(FORCE_DISABLE_AVX512), y)
-	CC_AVX512_SUPPORT=\
-	$(shell $(CC) -march=native -dM -E - </dev/null 2>&1 | \
-	sed '/./{H;$$!d} ; x ; /AVX512F/!d; /AVX512BW/!d; /AVX512VL/!d' | \
-	grep -q AVX512 && echo 1)
-endif
-
-ifeq ($(CC_AVX512_SUPPORT), 1)
-CFLAGS += -DCC_AVX512_SUPPORT
-SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_rxtx_packed_avx.c
-
-ifeq ($(RTE_TOOLCHAIN), gcc)
-ifeq ($(shell test $(GCC_VERSION) -ge 83 && echo 1), 1)
-CFLAGS += -DVIRTIO_GCC_UNROLL_PRAGMA
-endif
-endif
-
-ifeq ($(RTE_TOOLCHAIN), clang)
-ifeq ($(shell test $(CLANG_MAJOR_VERSION)$(CLANG_MINOR_VERSION) -ge 37 && echo 1), 1)
-CFLAGS += -DVIRTIO_CLANG_UNROLL_PRAGMA
-endif
-endif
-
-ifeq ($(RTE_TOOLCHAIN), icc)
-ifeq ($(shell test $(ICC_MAJOR_VERSION) -ge 16 && echo 1), 1)
-CFLAGS += -DVIRTIO_ICC_UNROLL_PRAGMA
-endif
-endif
-
-CFLAGS_virtio_rxtx_packed_avx.o += -mavx512f -mavx512bw -mavx512vl
-ifeq ($(shell test $(GCC_VERSION) -ge 100 && echo 1), 1)
-CFLAGS_virtio_rxtx_packed_avx.o += -Wno-zero-length-bounds
-endif
-endif
-
-ifeq ($(CONFIG_RTE_VIRTIO_USER),y)
-SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_user/vhost_user.c
-SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_user/vhost_kernel.c
-SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_user/vhost_kernel_tap.c
-SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_user/virtio_user_dev.c
-SRCS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD) += virtio_user_ethdev.c
-endif
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/vmxnet3/Makefile b/drivers/net/vmxnet3/Makefile
deleted file mode 100644
index 4390fedee0..0000000000
--- a/drivers/net/vmxnet3/Makefile
+++ /dev/null
@@ -1,53 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2015 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_vmxnet3_uio.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-#
-# CFLAGS for icc
-#
-CFLAGS_BASE_DRIVER  = -diag-disable 174 -diag-disable 593 -diag-disable 869
-CFLAGS_BASE_DRIVER += -diag-disable 981 -diag-disable 2259
-
-else ifeq ($(CONFIG_RTE_TOOLCHAIN_CLANG),y)
-#
-# CFLAGS for clang
-#
-CFLAGS_BASE_DRIVER = -Wno-unused-parameter -Wno-unused-value
-CFLAGS_BASE_DRIVER += -Wno-strict-aliasing -Wno-format-extra-args
-
-else
-#
-# CFLAGS for gcc
-#
-ifeq ($(shell test $(GCC_VERSION) -ge 44 && echo 1), 1)
-CFLAGS     += -Wno-deprecated
-endif
-CFLAGS_BASE_DRIVER = -Wno-unused-parameter -Wno-unused-value
-CFLAGS_BASE_DRIVER += -Wno-strict-aliasing -Wno-format-extra-args
-
-endif
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-
-VPATH += $(SRCDIR)/base
-
-EXPORT_MAP := rte_pmd_vmxnet3_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_VMXNET3_PMD) += vmxnet3_rxtx.c
-SRCS-$(CONFIG_RTE_LIBRTE_VMXNET3_PMD) += vmxnet3_ethdev.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/raw/Makefile b/drivers/raw/Makefile
deleted file mode 100644
index 80b043eb14..0000000000
--- a/drivers/raw/Makefile
+++ /dev/null
@@ -1,18 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2017 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# DIRS-$(<configuration>) += <directory>
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_SKELETON_RAWDEV) += skeleton
-ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_CMDIF_RAWDEV) += dpaa2_cmdif
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_QDMA_RAWDEV) += dpaa2_qdma
-endif
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_IFPGA_RAWDEV) += ifpga
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_IOAT_RAWDEV) += ioat
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_NTB_RAWDEV) += ntb
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_DMA_RAWDEV) += octeontx2_dma
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EP_RAWDEV) += octeontx2_ep
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/drivers/raw/dpaa2_cmdif/Makefile b/drivers/raw/dpaa2_cmdif/Makefile
deleted file mode 100644
index 227ec4896e..0000000000
--- a/drivers/raw/dpaa2_cmdif/Makefile
+++ /dev/null
@@ -1,35 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2018 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_rawdev_dpaa2_cmdif.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/qbman/include
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-
-LDLIBS += -lrte_bus_fslmc
-LDLIBS += -lrte_bus_vdev
-LDLIBS += -lrte_eal
-LDLIBS += -lrte_kvargs
-LDLIBS += -lrte_mempool_dpaa2
-LDLIBS += -lrte_rawdev
-LDLIBS += -lrte_common_dpaax
-
-EXPORT_MAP := rte_rawdev_dpaa2_cmdif_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_CMDIF_RAWDEV) += dpaa2_cmdif.c
-
-SYMLINK-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_CMDIF_RAWDEV)-include += rte_pmd_dpaa2_cmdif.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/raw/dpaa2_qdma/Makefile b/drivers/raw/dpaa2_qdma/Makefile
deleted file mode 100644
index 7b2abdddb4..0000000000
--- a/drivers/raw/dpaa2_qdma/Makefile
+++ /dev/null
@@ -1,36 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2018 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_rawdev_dpaa2_qdma.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc
-CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/qbman/include
-CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-
-LDLIBS += -lrte_bus_fslmc
-LDLIBS += -lrte_eal
-LDLIBS += -lrte_mempool
-LDLIBS += -lrte_mempool_dpaa2
-LDLIBS += -lrte_rawdev
-LDLIBS += -lrte_kvargs
-LDLIBS += -lrte_ring
-LDLIBS += -lrte_common_dpaax
-
-EXPORT_MAP := rte_rawdev_dpaa2_qdma_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_QDMA_RAWDEV) += dpaa2_qdma.c
-
-SYMLINK-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_QDMA_RAWDEV)-include += rte_pmd_dpaa2_qdma.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/raw/ifpga/Makefile b/drivers/raw/ifpga/Makefile
deleted file mode 100644
index 371e127f19..0000000000
--- a/drivers/raw/ifpga/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_rawdev_ifpga.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/bus/ifpga
-CFLAGS += -I$(RTE_SDK)/drivers/raw/ifpga_rawdev
-CFLAGS += -I$(RTE_SDK)/drivers/net/i40e
-CFLAGS += -I$(RTE_SDK)/drivers/net/ipn3ke
-LDLIBS += -lrte_eal
-LDLIBS += -lrte_rawdev
-LDLIBS += -lrte_bus_vdev
-LDLIBS += -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-LDLIBS += -lrte_bus_ifpga
-LDLIBS += -lpthread
-LDLIBS += -lfdt
-LDLIBS += -lrte_pmd_i40e
-LDLIBS += -lrte_pmd_ipn3ke
-
-EXPORT_MAP := rte_rawdev_ifpga_version.map
-
-VPATH += $(SRCDIR)/base
-
-include $(RTE_SDK)/drivers/raw/ifpga/base/Makefile
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_IFPGA_RAWDEV) += ifpga_rawdev.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/raw/ifpga/base/Makefile b/drivers/raw/ifpga/base/Makefile
deleted file mode 100644
index c5bbcbd5f8..0000000000
--- a/drivers/raw/ifpga/base/Makefile
+++ /dev/null
@@ -1,32 +0,0 @@
-#SPDX-License-Identifier: BSD-3-Clause
-#Copyright(c) 2010-2018 Intel Corporation
-
-ifneq ($(CONFIG_RTE_LIBRTE_EAL),)
-OSDEP := osdep_rte
-else
-OSDEP := osdep_raw
-endif
-
-CFLAGS += -I$(RTE_SDK)/drivers/raw/ifpga_rawdev/base/$(OSDEP)
-
-SRCS-y += ifpga_api.c
-SRCS-y += ifpga_enumerate.c
-SRCS-y += ifpga_feature_dev.c
-SRCS-y += ifpga_fme.c
-SRCS-y += ifpga_fme_iperf.c
-SRCS-y += ifpga_fme_dperf.c
-SRCS-y += ifpga_fme_error.c
-SRCS-y += ifpga_port.c
-SRCS-y += ifpga_port_error.c
-SRCS-y += opae_hw_api.c
-SRCS-y += opae_ifpga_hw_api.c
-SRCS-y += opae_debug.c
-SRCS-y += ifpga_fme_pr.c
-SRCS-y += opae_spi.c
-SRCS-y += opae_spi_transaction.c
-SRCS-y += opae_intel_max10.c
-SRCS-y += opae_i2c.c
-SRCS-y += opae_at24_eeprom.c
-SRCS-y += opae_eth_group.c
-
-SRCS-y += $(wildcard $(SRCDIR)/base/$(OSDEP)/*.c)
diff --git a/drivers/raw/ioat/Makefile b/drivers/raw/ioat/Makefile
deleted file mode 100644
index 1609fe5e6c..0000000000
--- a/drivers/raw/ioat/Makefile
+++ /dev/null
@@ -1,28 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_rawdev_ioat.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-LDLIBS += -lrte_eal -lrte_rawdev
-LDLIBS += -lrte_pci -lrte_bus_pci
-LDLIBS += -lrte_mbuf -lrte_mempool
-
-# versioning export map
-EXPORT_MAP := rte_rawdev_ioat_version.map
-
-# library source files
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_IOAT_RAWDEV) += ioat_rawdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_IOAT_RAWDEV) += ioat_rawdev_test.c
-
-# export include files
-SYMLINK-y-include += rte_ioat_rawdev.h
-SYMLINK-y-include += rte_ioat_spec.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/raw/ntb/Makefile b/drivers/raw/ntb/Makefile
deleted file mode 100644
index 8f0bff9b02..0000000000
--- a/drivers/raw/ntb/Makefile
+++ /dev/null
@@ -1,28 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_rawdev_ntb.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool
-LDLIBS += -lrte_pci -lrte_bus_pci
-LDLIBS += -lrte_rawdev
-
-EXPORT_MAP := rte_rawdev_ntb_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_NTB_RAWDEV) += ntb.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_NTB_RAWDEV) += ntb_hw_intel.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_PMD_NTB_RAWDEV)-include := rte_pmd_ntb.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/raw/octeontx2_dma/Makefile b/drivers/raw/octeontx2_dma/Makefile
deleted file mode 100644
index c64ca3497a..0000000000
--- a/drivers/raw/octeontx2_dma/Makefile
+++ /dev/null
@@ -1,34 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(C) 2019 Marvell International Ltd.
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_rawdev_octeontx2_dma.a
-
-CFLAGS += -O3 $(WERROR_FLAGS)
-CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx2/
-CFLAGS += -I$(RTE_SDK)/drivers/mempool/octeontx2/
-CFLAGS += -I$(RTE_SDK)/drivers/raw/octeontx2_dma/
-LDLIBS += -lrte_eal -lrte_rawdev -lrte_bus_pci -lrte_mbuf
-LDLIBS += -lrte_common_octeontx2 -lrte_mempool
-
-ifneq ($(CONFIG_RTE_ARCH_64),y)
-CFLAGS += -Wno-int-to-pointer-cast
-CFLAGS += -Wno-pointer-to-int-cast
-ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS += -diag-disable 2259
-endif
-endif
-
-EXPORT_MAP := rte_rawdev_octeontx2_dma_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_DMA_RAWDEV) += otx2_dpi_rawdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_DMA_RAWDEV) += otx2_dpi_msg.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_DMA_RAWDEV) += otx2_dpi_test.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/raw/octeontx2_ep/Makefile b/drivers/raw/octeontx2_ep/Makefile
deleted file mode 100644
index 1a54bf56f0..0000000000
--- a/drivers/raw/octeontx2_ep/Makefile
+++ /dev/null
@@ -1,42 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(C) 2019 Marvell International Ltd.
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# Library name
-LIB = librte_rawdev_octeontx2_ep.a
-
-# Build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx2/
-CFLAGS += -I$(RTE_SDK)/drivers/raw/octeontx2_ep/
-
-LDLIBS += -lrte_eal
-LDLIBS += -lrte_rawdev
-LDLIBS += -lrte_bus_pci
-LDLIBS += -lrte_mempool
-LDLIBS += -lrte_common_octeontx2
-
-ifneq ($(CONFIG_RTE_ARCH_64),y)
-CFLAGS += -Wno-int-to-pointer-cast
-CFLAGS += -Wno-pointer-to-int-cast
-ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS += -diag-disable 2259
-endif
-endif
-
-EXPORT_MAP := rte_rawdev_octeontx2_ep_version.map
-
-#
-# All source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EP_RAWDEV) += otx2_ep_rawdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EP_RAWDEV) += otx2_ep_enqdeq.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EP_RAWDEV) += otx2_ep_test.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EP_RAWDEV) += otx2_ep_vf.c
-
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/raw/skeleton/Makefile b/drivers/raw/skeleton/Makefile
deleted file mode 100644
index 2ac66fbd45..0000000000
--- a/drivers/raw/skeleton/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2017 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_rawdev_skeleton.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal
-LDLIBS += -lrte_rawdev
-LDLIBS += -lrte_bus_vdev
-LDLIBS += -lrte_kvargs
-
-EXPORT_MAP := rte_rawdev_skeleton_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SKELETON_RAWDEV) += skeleton_rawdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PMD_SKELETON_RAWDEV) += skeleton_rawdev_test.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/regex/Makefile b/drivers/regex/Makefile
deleted file mode 100644
index 906b20546f..0000000000
--- a/drivers/regex/Makefile
+++ /dev/null
@@ -1,8 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2020 Mellanox Technologies, Ltd
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD) += mlx5
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/drivers/regex/mlx5/Makefile b/drivers/regex/mlx5/Makefile
deleted file mode 100644
index 11e3325feb..0000000000
--- a/drivers/regex/mlx5/Makefile
+++ /dev/null
@@ -1,41 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2020 Mellanox Technologies, Ltd
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# Library name.
-LIB = librte_pmd_mlx5_regex.a
-
-# Sources.
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD) += mlx5_regex.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD) += mlx5_rxp.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD) += mlx5_regex_devx.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD) += mlx5_regex_control.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD) += mlx5_regex_fastpath.c
-
-# Basic CFLAGS.
-CFLAGS += -O3
-CFLAGS += -std=c11 -Wall -Wextra
-CFLAGS += -g
-CFLAGS += -I$(RTE_SDK)/drivers/common/mlx5
-CFLAGS += -I$(BUILDDIR)/drivers/common/mlx5
-CFLAGS += -I$(RTE_SDK)/drivers/common/mlx5/linux
-CFLAGS += -I$(BUILDDIR)/drivers/common/mlx5/linux
-CFLAGS += -D_BSD_SOURCE
-CFLAGS += -D_DEFAULT_SOURCE
-CFLAGS += -D_XOPEN_SOURCE=600
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -Wno-strict-prototypes
-LDLIBS += -lrte_common_mlx5
-LDLIBS += -lm
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_regexdev
-LDLIBS += -lrte_kvargs
-LDLIBS += -lrte_bus_pci
-LDLIBS += -lrte_pci
-
-# A few warnings cannot be avoided in external headers.
-CFLAGS += -Wno-error=cast-qual
-
-EXPORT_MAP := rte_pmd_mlx5_regex_version.map
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/vdpa/Makefile b/drivers/vdpa/Makefile
deleted file mode 100644
index 6e8835948e..0000000000
--- a/drivers/vdpa/Makefile
+++ /dev/null
@@ -1,12 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2019 Mellanox Technologies, Ltd
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-ifeq ($(CONFIG_RTE_EAL_VFIO),y)
-DIRS-$(CONFIG_RTE_LIBRTE_IFC_PMD) += ifc
-endif
-
-DIRS-$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD) += mlx5
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/drivers/vdpa/ifc/Makefile b/drivers/vdpa/ifc/Makefile
deleted file mode 100644
index b468bfdbdd..0000000000
--- a/drivers/vdpa/ifc/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pmd_ifc.a
-
-LDLIBS += -lpthread
-LDLIBS += -lrte_eal -lrte_pci -lrte_vhost -lrte_bus_pci
-LDLIBS += -lrte_kvargs
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-#
-# Add extra flags for base driver source files to disable warnings in them
-#
-BASE_DRIVER_OBJS=$(sort $(patsubst %.c,%.o,$(notdir $(wildcard $(SRCDIR)/base/*.c))))
-
-VPATH += $(SRCDIR)/base
-
-EXPORT_MAP := rte_pmd_ifc_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_IFC_PMD) += ifcvf_vdpa.c
-SRCS-$(CONFIG_RTE_LIBRTE_IFC_PMD) += ifcvf.c
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/vdpa/mlx5/Makefile b/drivers/vdpa/mlx5/Makefile
deleted file mode 100644
index d46699fbc9..0000000000
--- a/drivers/vdpa/mlx5/Makefile
+++ /dev/null
@@ -1,58 +0,0 @@
-#   SPDX-License-Identifier: BSD-3-Clause
-#   Copyright 2019 Mellanox Technologies, Ltd
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# Library name.
-LIB = librte_pmd_mlx5_vdpa.a
-
-# Sources.
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD) += mlx5_vdpa.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD) += mlx5_vdpa_mem.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD) += mlx5_vdpa_event.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD) += mlx5_vdpa_virtq.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD) += mlx5_vdpa_steer.c
-SRCS-$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD) += mlx5_vdpa_lm.c
-
-
-# Basic CFLAGS.
-CFLAGS += -O3
-CFLAGS += -std=c11 -Wall -Wextra
-CFLAGS += -g
-CFLAGS += -I$(RTE_SDK)/drivers/common/mlx5
-CFLAGS += -I$(RTE_SDK)/drivers/common/mlx5/linux
-CFLAGS += -I$(RTE_SDK)/drivers/net/mlx5_vdpa
-CFLAGS += -I$(RTE_SDK)/lib/librte_sched
-CFLAGS += -I$(BUILDDIR)/drivers/common/mlx5
-CFLAGS += -D_BSD_SOURCE
-CFLAGS += -D_DEFAULT_SOURCE
-CFLAGS += -D_XOPEN_SOURCE=600
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -Wno-strict-prototypes
-LDLIBS += -lrte_common_mlx5
-LDLIBS += -lrte_eal -lrte_vhost -lrte_kvargs -lrte_pci -lrte_sched
-LDLIBS += -pthread
-
-# A few warnings cannot be avoided in external headers.
-CFLAGS += -Wno-error=cast-qual
-
-EXPORT_MAP := rte_pmd_mlx5_vdpa_version.map
-
-# DEBUG which is usually provided on the command-line may enable
-# CONFIG_RTE_LIBRTE_MLX5_DEBUG.
-ifeq ($(DEBUG),1)
-CONFIG_RTE_LIBRTE_MLX5_DEBUG := y
-endif
-
-# User-defined CFLAGS.
-ifeq ($(CONFIG_RTE_LIBRTE_MLX5_DEBUG),y)
-CFLAGS += -pedantic
-ifneq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-CFLAGS += -DPEDANTIC
-endif
-AUTO_CONFIG_CFLAGS += -Wno-pedantic
-else
-CFLAGS += -UPEDANTIC
-endif
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/examples/Makefile b/examples/Makefile
deleted file mode 100644
index b7e99a2f78..0000000000
--- a/examples/Makefile
+++ /dev/null
@@ -1,90 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016 6WIND S.A.
-
-ifeq ($(RTE_SDK),)
-$(error "Please define RTE_SDK environment variable")
-endif
-
-# Default target, detect a build directory, by looking for a path with a .config
-RTE_TARGET ?= $(notdir $(abspath $(dir $(firstword $(wildcard $(RTE_SDK)/*/.config)))))
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-$(CONFIG_RTE_LIBRTE_BBDEV) += bbdev_app
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += bond
-DIRS-y += cmdline
-ifeq ($(CONFIG_RTE_LIBRTE_POWER),y)
-DIRS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += distributor
-endif
-DIRS-y += ethtool
-DIRS-$(CONFIG_RTE_LIBRTE_EFD) += server_node_efd
-DIRS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += fips_validation
-DIRS-$(CONFIG_RTE_LIBRTE_FLOW_CLASSIFY) += flow_classify
-DIRS-y += flow_filtering
-DIRS-y += helloworld
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_IOAT_RAWDEV),y)
-DIRS-$(CONFIG_RTE_LIBRTE_PMD_IOAT_RAWDEV) += ioat
-endif
-DIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) += ip_pipeline
-ifeq ($(CONFIG_RTE_LIBRTE_LPM),y)
-DIRS-$(CONFIG_RTE_IP_FRAG) += ip_reassembly
-DIRS-$(CONFIG_RTE_IP_FRAG) += ip_fragmentation
-endif
-ifeq ($(CONFIG_RTE_LIBRTE_ACL)$(CONFIG_RTE_LIBRTE_HASH)$(CONFIG_RTE_LIBRTE_LPM)$(CONFIG_RTE_LIBRTE_SECURITY),yyyy)
-DIRS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += ipsec-secgw
-endif
-DIRS-$(CONFIG_RTE_LIBRTE_HASH) += ipv4_multicast
-DIRS-$(CONFIG_RTE_LIBRTE_KNI) += kni
-DIRS-y += l2fwd
-DIRS-y += l2fwd-event
-ifneq ($(PQOS_INSTALL_PATH),)
-DIRS-y += l2fwd-cat
-endif
-DIRS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += l2fwd-crypto
-DIRS-$(CONFIG_RTE_LIBRTE_JOBSTATS) += l2fwd-jobstats
-DIRS-y += l2fwd-keepalive
-DIRS-y += l2fwd-keepalive/ka-agent
-ifeq ($(CONFIG_RTE_LIBRTE_HASH),y)
-DIRS-$(CONFIG_RTE_LIBRTE_LPM) += l3fwd
-endif
-DIRS-$(CONFIG_RTE_LIBRTE_ACL) += l3fwd-acl
-ifeq ($(CONFIG_RTE_LIBRTE_LPM)$(CONFIG_RTE_LIBRTE_HASH),yy)
-DIRS-$(CONFIG_RTE_LIBRTE_POWER) += l3fwd-power
-endif
-ifeq ($(CONFIG_RTE_LIBRTE_GRAPH),y)
-DIRS-y += l3fwd-graph
-endif
-DIRS-y += link_status_interrupt
-DIRS-y += multi_process
-DIRS-y += ntb
-DIRS-$(CONFIG_RTE_LIBRTE_REORDER) += packet_ordering
-ifeq ($(CONFIG_RTE_ARCH_X86_64),y)
-DIRS-y += performance-thread
-endif
-DIRS-$(CONFIG_RTE_LIBRTE_IEEE1588) += ptpclient
-DIRS-$(CONFIG_RTE_LIBRTE_METER) += qos_meter
-DIRS-$(CONFIG_RTE_LIBRTE_SCHED) += qos_sched
-DIRS-$(CONFIG_RTE_ETHDEV_RXTX_CALLBACKS) += rxtx_callbacks
-DIRS-y += service_cores
-DIRS-y += skeleton
-ifeq ($(CONFIG_RTE_LIBRTE_HASH),y)
-DIRS-$(CONFIG_RTE_LIBRTE_VHOST) += tep_termination
-endif
-DIRS-$(CONFIG_RTE_LIBRTE_TIMER) += timer
-DIRS-$(CONFIG_RTE_LIBRTE_VHOST) += vhost vdpa vhost_blk
-ifeq ($(CONFIG_RTE_LIBRTE_CRYPTODEV),y)
-DIRS-$(CONFIG_RTE_LIBRTE_VHOST) += vhost_crypto
-endif
-DIRS-y += vmdq
-DIRS-y += vmdq_dcb
-ifeq ($(CONFIG_RTE_LIBRTE_POWER), y)
-ifeq ($(shell pkg-config --atleast-version=0.9.3 libvirt; echo $$?), 0)
-DIRS-y += vm_power_manager
-else
-$(info vm_power_manager requires libvirt >= 0.9.3)
-endif
-endif
-
-DIRS-y += eventdev_pipeline
-
-include $(RTE_SDK)/mk/rte.extsubdir.mk
diff --git a/kernel/Makefile b/kernel/Makefile
deleted file mode 100644
index 5d51fd94bb..0000000000
--- a/kernel/Makefile
+++ /dev/null
@@ -1,9 +0,0 @@
-# SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0)
-# Copyright 2017 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-$(CONFIG_RTE_EXEC_ENV_LINUX) += linux
-DIRS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += freebsd
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/kernel/freebsd/Makefile b/kernel/freebsd/Makefile
deleted file mode 100644
index 522d3f68ff..0000000000
--- a/kernel/freebsd/Makefile
+++ /dev/null
@@ -1,9 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2017 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += contigmem
-DIRS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += nic_uio
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/kernel/freebsd/contigmem/Makefile b/kernel/freebsd/contigmem/Makefile
deleted file mode 100644
index 428a7edee5..0000000000
--- a/kernel/freebsd/contigmem/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# module name and path
-#
-MODULE = contigmem
-
-#
-# CFLAGS
-#
-MODULE_CFLAGS += -I$(SRCDIR)
-MODULE_CFLAGS += -I$(RTE_OUTPUT)/include
-MODULE_CFLAGS += -Winline -Wall -Werror
-MODULE_CFLAGS += -include $(RTE_OUTPUT)/include/rte_config.h
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-y := contigmem.c
-
-include $(RTE_SDK)/mk/rte.bsdmodule.mk
diff --git a/kernel/freebsd/nic_uio/Makefile b/kernel/freebsd/nic_uio/Makefile
deleted file mode 100644
index 376ef3a3ab..0000000000
--- a/kernel/freebsd/nic_uio/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# module name and path
-#
-MODULE = nic_uio
-
-#
-# CFLAGS
-#
-MODULE_CFLAGS += -I$(SRCDIR)
-MODULE_CFLAGS += -I$(RTE_OUTPUT)/include
-MODULE_CFLAGS += -Winline -Wall -Werror
-MODULE_CFLAGS += -include $(RTE_OUTPUT)/include/rte_config.h
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-y := nic_uio.c
-
-include $(RTE_SDK)/mk/rte.bsdmodule.mk
diff --git a/kernel/linux/Makefile b/kernel/linux/Makefile
deleted file mode 100644
index c2c45a3e67..0000000000
--- a/kernel/linux/Makefile
+++ /dev/null
@@ -1,9 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0
-# Copyright 2017 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-$(CONFIG_RTE_EAL_IGB_UIO) += igb_uio
-DIRS-$(CONFIG_RTE_KNI_KMOD) += kni
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/kernel/linux/igb_uio/Makefile b/kernel/linux/igb_uio/Makefile
deleted file mode 100644
index f83bcc7c69..0000000000
--- a/kernel/linux/igb_uio/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# module name and path
-#
-MODULE = igb_uio
-MODULE_PATH = drivers/net/igb_uio
-
-#
-# CFLAGS
-#
-MODULE_CFLAGS += -I$(SRCDIR) --param max-inline-insns-single=100
-MODULE_CFLAGS += -I$(RTE_OUTPUT)/include
-MODULE_CFLAGS += -Winline -Wall -Werror
-MODULE_CFLAGS += -include $(RTE_OUTPUT)/include/rte_config.h
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-y := igb_uio.c
-
-include $(RTE_SDK)/mk/rte.module.mk
diff --git a/kernel/linux/kni/Makefile b/kernel/linux/kni/Makefile
deleted file mode 100644
index 595bac2612..0000000000
--- a/kernel/linux/kni/Makefile
+++ /dev/null
@@ -1,34 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# module name and path
-#
-MODULE = rte_kni
-
-#
-# CFLAGS
-#
-MODULE_CFLAGS += -I$(SRCDIR) --param max-inline-insns-single=50
-MODULE_CFLAGS += -I$(RTE_OUTPUT)/include
-MODULE_CFLAGS += -include $(RTE_OUTPUT)/include/rte_config.h
-MODULE_CFLAGS += -Wall -Werror
-
--include /etc/lsb-release
-
-ifeq ($(DISTRIB_ID),Ubuntu)
-MODULE_CFLAGS += -DUBUNTU_RELEASE_CODE=$(subst .,,$(DISTRIB_RELEASE))
-UBUNTU_KERNEL_CODE := $(shell echo `grep UTS_RELEASE $(RTE_KERNELDIR)/include/generated/utsrelease.h \
-	 | cut -d '"' -f2 | cut -d- -f1,2 | tr .- ,`,1)
-MODULE_CFLAGS += -D"UBUNTU_KERNEL_CODE=UBUNTU_KERNEL_VERSION($(UBUNTU_KERNEL_CODE))"
-endif
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-y := kni_misc.c
-SRCS-y += kni_net.c
-
-include $(RTE_SDK)/mk/rte.module.mk
diff --git a/lib/Makefile b/lib/Makefile
deleted file mode 100644
index 8f5b68a2d4..0000000000
--- a/lib/Makefile
+++ /dev/null
@@ -1,138 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-$(CONFIG_RTE_LIBRTE_KVARGS) += librte_kvargs
-DIRS-y += librte_telemetry
-DIRS-$(CONFIG_RTE_LIBRTE_EAL) += librte_eal
-DEPDIRS-librte_eal := librte_kvargs librte_telemetry
-DIRS-$(CONFIG_RTE_LIBRTE_PCI) += librte_pci
-DEPDIRS-librte_pci := librte_eal
-DIRS-$(CONFIG_RTE_LIBRTE_RING) += librte_ring
-DEPDIRS-librte_ring := librte_eal
-DIRS-$(CONFIG_RTE_LIBRTE_STACK) += librte_stack
-DEPDIRS-librte_stack := librte_eal
-DIRS-$(CONFIG_RTE_LIBRTE_MEMPOOL) += librte_mempool
-DEPDIRS-librte_mempool := librte_eal librte_ring
-DIRS-$(CONFIG_RTE_LIBRTE_MBUF) += librte_mbuf
-DEPDIRS-librte_mbuf := librte_eal librte_mempool
-DIRS-$(CONFIG_RTE_LIBRTE_TIMER) += librte_timer
-DEPDIRS-librte_timer := librte_eal
-DIRS-$(CONFIG_RTE_LIBRTE_CFGFILE) += librte_cfgfile
-DEPDIRS-librte_cfgfile := librte_eal
-DIRS-$(CONFIG_RTE_LIBRTE_CMDLINE) += librte_cmdline
-DEPDIRS-librte_cmdline := librte_eal librte_net
-DIRS-$(CONFIG_RTE_LIBRTE_ETHER) += librte_ethdev
-DEPDIRS-librte_ethdev := librte_net librte_eal librte_mempool librte_ring
-DEPDIRS-librte_ethdev += librte_mbuf
-DEPDIRS-librte_ethdev += librte_kvargs
-DEPDIRS-librte_ethdev += librte_meter
-DIRS-$(CONFIG_RTE_LIBRTE_BBDEV) += librte_bbdev
-DEPDIRS-librte_bbdev := librte_eal librte_mempool librte_mbuf
-DIRS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += librte_cryptodev
-DEPDIRS-librte_cryptodev := librte_eal librte_mempool librte_ring librte_mbuf
-DEPDIRS-librte_cryptodev += librte_kvargs
-DIRS-$(CONFIG_RTE_LIBRTE_SECURITY) += librte_security
-DEPDIRS-librte_security := librte_eal librte_mempool librte_ring librte_mbuf
-DEPDIRS-librte_security += librte_ethdev
-DEPDIRS-librte_security += librte_cryptodev
-DIRS-$(CONFIG_RTE_LIBRTE_COMPRESSDEV) += librte_compressdev
-DEPDIRS-librte_compressdev := librte_eal librte_mempool librte_ring librte_mbuf
-DEPDIRS-librte_compressdev += librte_kvargs
-DIRS-$(CONFIG_RTE_LIBRTE_REGEXDEV) += librte_regexdev
-DEPDIRS-librte_regexdev := librte_eal librte_mbuf
-DIRS-$(CONFIG_RTE_LIBRTE_EVENTDEV) += librte_eventdev
-DEPDIRS-librte_eventdev := librte_eal librte_ring librte_ethdev librte_hash \
-                           librte_mempool librte_timer librte_cryptodev
-DIRS-$(CONFIG_RTE_LIBRTE_RAWDEV) += librte_rawdev
-DEPDIRS-librte_rawdev := librte_eal librte_ethdev
-DIRS-$(CONFIG_RTE_LIBRTE_VHOST) += librte_vhost
-DEPDIRS-librte_vhost := librte_eal librte_mempool librte_mbuf librte_ethdev \
-			librte_net librte_hash librte_cryptodev
-DIRS-$(CONFIG_RTE_LIBRTE_HASH) += librte_hash
-DEPDIRS-librte_hash := librte_eal librte_ring
-DIRS-$(CONFIG_RTE_LIBRTE_EFD) += librte_efd
-DEPDIRS-librte_efd := librte_eal librte_ring librte_hash
-DIRS-$(CONFIG_RTE_LIBRTE_RIB) += librte_rib
-DEPDIRS-librte_rib := librte_eal librte_mempool
-DIRS-$(CONFIG_RTE_LIBRTE_FIB) += librte_fib
-DEPDIRS-librte_fib := librte_eal librte_rib
-DIRS-$(CONFIG_RTE_LIBRTE_LPM) += librte_lpm
-DEPDIRS-librte_lpm := librte_eal librte_hash librte_rcu
-DIRS-$(CONFIG_RTE_LIBRTE_ACL) += librte_acl
-DEPDIRS-librte_acl := librte_eal
-DIRS-$(CONFIG_RTE_LIBRTE_MEMBER) += librte_member
-DEPDIRS-librte_member := librte_eal librte_hash
-DIRS-$(CONFIG_RTE_LIBRTE_NET) += librte_net
-DEPDIRS-librte_net := librte_mbuf librte_eal
-DIRS-$(CONFIG_RTE_LIBRTE_IP_FRAG) += librte_ip_frag
-DEPDIRS-librte_ip_frag := librte_eal librte_mempool librte_mbuf librte_ethdev
-DEPDIRS-librte_ip_frag += librte_hash
-DIRS-$(CONFIG_RTE_LIBRTE_GRO) += librte_gro
-DEPDIRS-librte_gro := librte_eal librte_mbuf librte_ethdev librte_net
-DIRS-$(CONFIG_RTE_LIBRTE_JOBSTATS) += librte_jobstats
-DEPDIRS-librte_jobstats := librte_eal
-DIRS-$(CONFIG_RTE_LIBRTE_METRICS) += librte_metrics
-DEPDIRS-librte_metrics := librte_eal librte_ethdev
-ifeq ($(CONFIG_RTE_LIBRTE_TELEMETRY),y)
-DEPDIRS-librte_metrics += librte_telemetry
-endif
-DIRS-$(CONFIG_RTE_LIBRTE_BITRATE) += librte_bitratestats
-DEPDIRS-librte_bitratestats := librte_eal librte_metrics librte_ethdev
-DIRS-$(CONFIG_RTE_LIBRTE_LATENCY_STATS) += librte_latencystats
-DEPDIRS-librte_latencystats := librte_eal librte_metrics librte_ethdev librte_mbuf
-DIRS-$(CONFIG_RTE_LIBRTE_POWER) += librte_power
-DEPDIRS-librte_power := librte_eal librte_timer
-DIRS-$(CONFIG_RTE_LIBRTE_METER) += librte_meter
-DEPDIRS-librte_meter := librte_eal
-DIRS-$(CONFIG_RTE_LIBRTE_FLOW_CLASSIFY) += librte_flow_classify
-DEPDIRS-librte_flow_classify :=  librte_net librte_table librte_acl
-DIRS-$(CONFIG_RTE_LIBRTE_SCHED) += librte_sched
-DEPDIRS-librte_sched := librte_eal librte_mempool librte_mbuf librte_net
-DEPDIRS-librte_sched += librte_timer
-DIRS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += librte_distributor
-DEPDIRS-librte_distributor := librte_eal librte_mbuf librte_ethdev
-DIRS-$(CONFIG_RTE_LIBRTE_PORT) += librte_port
-DEPDIRS-librte_port := librte_eal librte_mempool librte_mbuf librte_ethdev
-DEPDIRS-librte_port += librte_ip_frag librte_sched librte_eventdev
-ifeq ($(CONFIG_RTE_LIBRTE_KNI),y)
-DEPDIRS-librte_port += librte_kni
-endif
-DIRS-$(CONFIG_RTE_LIBRTE_TABLE) += librte_table
-DEPDIRS-librte_table := librte_eal librte_mempool librte_mbuf
-DEPDIRS-librte_table += librte_port librte_lpm librte_hash
-ifeq ($(CONFIG_RTE_LIBRTE_ACL),y)
-DEPDIRS-librte_table += librte_acl
-endif
-DIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) += librte_pipeline
-DEPDIRS-librte_pipeline := librte_eal librte_mempool librte_mbuf
-DEPDIRS-librte_pipeline += librte_table librte_port
-DIRS-$(CONFIG_RTE_LIBRTE_REORDER) += librte_reorder
-DEPDIRS-librte_reorder := librte_eal librte_mempool librte_mbuf
-DIRS-$(CONFIG_RTE_LIBRTE_PDUMP) += librte_pdump
-DEPDIRS-librte_pdump := librte_eal librte_mempool librte_mbuf librte_ethdev
-DIRS-$(CONFIG_RTE_LIBRTE_GSO) += librte_gso
-DEPDIRS-librte_gso := librte_eal librte_mbuf librte_ethdev librte_net
-DEPDIRS-librte_gso += librte_mempool
-DIRS-$(CONFIG_RTE_LIBRTE_BPF) += librte_bpf
-DEPDIRS-librte_bpf := librte_eal librte_mempool librte_mbuf librte_ethdev
-DIRS-$(CONFIG_RTE_LIBRTE_IPSEC) += librte_ipsec
-DEPDIRS-librte_ipsec := librte_eal librte_mbuf librte_cryptodev librte_security \
-			librte_net librte_hash
-DIRS-$(CONFIG_RTE_LIBRTE_RCU) += librte_rcu
-DEPDIRS-librte_rcu := librte_eal librte_ring
-
-DIRS-$(CONFIG_RTE_LIBRTE_GRAPH) += librte_graph
-DEPDIRS-librte_graph := librte_eal
-
-DIRS-$(CONFIG_RTE_LIBRTE_NODE) += librte_node
-DEPDIRS-librte_node := librte_graph librte_lpm librte_ethdev librte_mbuf
-
-ifeq ($(CONFIG_RTE_EXEC_ENV_LINUX),y)
-DIRS-$(CONFIG_RTE_LIBRTE_KNI) += librte_kni
-endif
-DEPDIRS-librte_kni := librte_eal librte_mempool librte_mbuf librte_ethdev
-DEPDIRS-librte_kni += librte_pci
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/lib/librte_acl/Makefile b/lib/librte_acl/Makefile
deleted file mode 100644
index f4332b0448..0000000000
--- a/lib/librte_acl/Makefile
+++ /dev/null
@@ -1,65 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_acl.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-LDLIBS += -lrte_eal
-
-EXPORT_MAP := rte_acl_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_ACL) += tb_mem.c
-
-SRCS-$(CONFIG_RTE_LIBRTE_ACL) += rte_acl.c
-SRCS-$(CONFIG_RTE_LIBRTE_ACL) += acl_bld.c
-SRCS-$(CONFIG_RTE_LIBRTE_ACL) += acl_gen.c
-SRCS-$(CONFIG_RTE_LIBRTE_ACL) += acl_run_scalar.c
-
-ifneq ($(filter y,$(CONFIG_RTE_ARCH_ARM) $(CONFIG_RTE_ARCH_ARM64)),)
-SRCS-$(CONFIG_RTE_LIBRTE_ACL) += acl_run_neon.c
-CFLAGS_acl_run_neon.o += -flax-vector-conversions
-ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
-CFLAGS_acl_run_neon.o += -Wno-maybe-uninitialized
-endif
-else ifeq ($(CONFIG_RTE_ARCH_PPC_64),y)
-SRCS-$(CONFIG_RTE_LIBRTE_ACL) += acl_run_altivec.c
-else
-SRCS-$(CONFIG_RTE_LIBRTE_ACL) += acl_run_sse.c
-endif
-
-#
-# If the compiler supports AVX2 instructions,
-# then add support for AVX2 classify method.
-#
-
-#check if flag for AVX2 is already on, if not set it up manually
-ifeq ($(findstring RTE_MACHINE_CPUFLAG_AVX2,$(CFLAGS)),RTE_MACHINE_CPUFLAG_AVX2)
-	CC_AVX2_SUPPORT=1
-else
-	CC_AVX2_SUPPORT=\
-	$(shell $(CC) -march=core-avx2 -dM -E - </dev/null 2>&1 | \
-	grep -q AVX2 && echo 1)
-	ifeq ($(CC_AVX2_SUPPORT), 1)
-		ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
-		CFLAGS_acl_run_avx2.o += -march=core-avx2
-		else
-		CFLAGS_acl_run_avx2.o += -mavx2
-		endif
-	endif
-endif
-
-ifeq ($(CC_AVX2_SUPPORT), 1)
-	SRCS-$(CONFIG_RTE_LIBRTE_ACL) += acl_run_avx2.c
-	CFLAGS_rte_acl.o += -DCC_AVX2_SUPPORT
-endif
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_ACL)-include := rte_acl_osdep.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_ACL)-include += rte_acl.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_bbdev/Makefile b/lib/librte_bbdev/Makefile
deleted file mode 100644
index 9d7576b358..0000000000
--- a/lib/librte_bbdev/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_bbdev.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf
-
-# library source files
-SRCS-y += rte_bbdev.c
-
-# export include files
-SYMLINK-y-include += rte_bbdev_op.h
-SYMLINK-y-include += rte_bbdev.h
-SYMLINK-y-include += rte_bbdev_pmd.h
-
-# versioning export map
-EXPORT_MAP := rte_bbdev_version.map
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_bitratestats/Makefile b/lib/librte_bitratestats/Makefile
deleted file mode 100644
index 4862c44b83..0000000000
--- a/lib/librte_bitratestats/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_bitratestats.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-LDLIBS += -lrte_eal -lrte_metrics -lrte_ethdev
-
-EXPORT_MAP := rte_bitratestats_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_BITRATE) := rte_bitrate.c
-
-# Install header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_BITRATE)-include += rte_bitrate.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_bpf/Makefile b/lib/librte_bpf/Makefile
deleted file mode 100644
index 3be6750432..0000000000
--- a/lib/librte_bpf/Makefile
+++ /dev/null
@@ -1,40 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_bpf.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-LDLIBS += -lrte_net -lrte_eal
-LDLIBS += -lrte_mempool -lrte_ring
-LDLIBS += -lrte_mbuf -lrte_ethdev
-ifeq ($(CONFIG_RTE_LIBRTE_BPF_ELF),y)
-LDLIBS += -lelf
-endif
-
-EXPORT_MAP := rte_bpf_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_BPF) += bpf.c
-SRCS-$(CONFIG_RTE_LIBRTE_BPF) += bpf_exec.c
-SRCS-$(CONFIG_RTE_LIBRTE_BPF) += bpf_load.c
-SRCS-$(CONFIG_RTE_LIBRTE_BPF) += bpf_pkt.c
-SRCS-$(CONFIG_RTE_LIBRTE_BPF) += bpf_validate.c
-ifeq ($(CONFIG_RTE_LIBRTE_BPF_ELF),y)
-SRCS-$(CONFIG_RTE_LIBRTE_BPF) += bpf_load_elf.c
-endif
-ifeq ($(CONFIG_RTE_ARCH_X86_64),y)
-SRCS-$(CONFIG_RTE_LIBRTE_BPF) += bpf_jit_x86.c
-else ifeq ($(CONFIG_RTE_ARCH_ARM64),y)
-SRCS-$(CONFIG_RTE_LIBRTE_BPF) += bpf_jit_arm64.c
-endif
-
-# install header files
-SYMLINK-$(CONFIG_RTE_LIBRTE_BPF)-include += bpf_def.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_BPF)-include += rte_bpf.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_BPF)-include += rte_bpf_ethdev.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_cfgfile/Makefile b/lib/librte_cfgfile/Makefile
deleted file mode 100644
index 7c10a4e56c..0000000000
--- a/lib/librte_cfgfile/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_cfgfile.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -I$(SRCDIR)/../librte_eal/include
-LDLIBS += -lrte_eal
-
-EXPORT_MAP := rte_cfgfile_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_CFGFILE) += rte_cfgfile.c
-
-# install includes
-SYMLINK-$(CONFIG_RTE_LIBRTE_CFGFILE)-include += rte_cfgfile.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_cmdline/Makefile b/lib/librte_cmdline/Makefile
deleted file mode 100644
index 619d9a2426..0000000000
--- a/lib/librte_cmdline/Makefile
+++ /dev/null
@@ -1,34 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_cmdline.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-
-EXPORT_MAP := rte_cmdline_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) := cmdline.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_cirbuf.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_parse.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_parse_etheraddr.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_parse_ipaddr.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_parse_num.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_parse_string.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_rdline.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_vt100.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_socket.c
-SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_parse_portlist.c
-
-LDLIBS += -lrte_net -lrte_eal
-
-# install includes
-INCS := cmdline.h cmdline_parse.h cmdline_parse_num.h cmdline_parse_ipaddr.h
-INCS += cmdline_parse_etheraddr.h cmdline_parse_string.h cmdline_rdline.h
-INCS += cmdline_vt100.h cmdline_socket.h cmdline_cirbuf.h cmdline_parse_portlist.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_CMDLINE)-include := $(INCS)
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_compressdev/Makefile b/lib/librte_compressdev/Makefile
deleted file mode 100644
index 53679d69b8..0000000000
--- a/lib/librte_compressdev/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017-2018 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_compressdev.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mempool -lrte_kvargs
-
-# library source files
-SRCS-y += rte_compressdev.c rte_compressdev_pmd.c rte_comp.c
-
-# export include files
-SYMLINK-y-include += rte_comp.h
-SYMLINK-y-include += rte_compressdev.h
-# export include files (for PMDs)
-SYMLINK-y-include += rte_compressdev_pmd.h
-SYMLINK-y-include += rte_compressdev_internal.h
-
-# versioning export map
-EXPORT_MAP := rte_compressdev_version.map
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_cryptodev/Makefile b/lib/librte_cryptodev/Makefile
deleted file mode 100644
index 73e77a27c6..0000000000
--- a/lib/librte_cryptodev/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2015-2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_cryptodev.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mempool -lrte_ring -lrte_mbuf
-LDLIBS += -lrte_kvargs
-
-# library source files
-SRCS-y += rte_cryptodev.c rte_cryptodev_pmd.c cryptodev_trace_points.c
-
-# export include files
-SYMLINK-y-include += rte_crypto.h
-SYMLINK-y-include += rte_crypto_asym.h
-SYMLINK-y-include += rte_crypto_sym.h
-SYMLINK-y-include += rte_cryptodev.h
-SYMLINK-y-include += rte_cryptodev_pmd.h
-SYMLINK-y-include += rte_cryptodev_trace.h
-SYMLINK-y-include += rte_cryptodev_trace_fp.h
-
-# versioning export map
-EXPORT_MAP := rte_cryptodev_version.map
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_distributor/Makefile b/lib/librte_distributor/Makefile
deleted file mode 100644
index fc32fb3a8f..0000000000
--- a/lib/librte_distributor/Makefile
+++ /dev/null
@@ -1,28 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_distributor.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_ethdev
-
-EXPORT_MAP := rte_distributor_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) := rte_distributor_single.c
-SRCS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += rte_distributor.c
-ifeq ($(CONFIG_RTE_ARCH_X86),y)
-SRCS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += rte_distributor_match_sse.c
-else
-SRCS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += rte_distributor_match_generic.c
-endif
-
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR)-include := rte_distributor.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_eal/Makefile b/lib/librte_eal/Makefile
deleted file mode 100644
index 2fda40d230..0000000000
--- a/lib/librte_eal/Makefile
+++ /dev/null
@@ -1,12 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-DIRS-y += include
-DIRS-$(CONFIG_RTE_EXEC_ENV_LINUX) += linux
-DEPDIRS-linux := include
-DIRS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += freebsd
-DEPDIRS-freebsd := include
-
-include $(RTE_SDK)/mk/rte.subdir.mk
diff --git a/lib/librte_eal/freebsd/Makefile b/lib/librte_eal/freebsd/Makefile
deleted file mode 100644
index 9a89556742..0000000000
--- a/lib/librte_eal/freebsd/Makefile
+++ /dev/null
@@ -1,104 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-LIB = librte_eal.a
-
-ARCH_DIR ?= $(RTE_ARCH)
-VPATH += $(RTE_SDK)/lib/librte_eal/$(ARCH_DIR)
-VPATH += $(RTE_SDK)/lib/librte_eal/unix
-VPATH += $(RTE_SDK)/lib/librte_eal/common
-
-CFLAGS += -I$(SRCDIR)/include
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
-CFLAGS += $(WERROR_FLAGS) -O3
-
-LDLIBS += -lexecinfo
-LDLIBS += -lpthread
-LDLIBS += -lgcc_s
-LDLIBS += -lrte_kvargs
-LDLIBS += -lrte_telemetry
-
-EXPORT_MAP := ../rte_eal_version.map
-
-# specific to freebsd exec-env
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) := eal.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_cpuflags.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_memory.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_hugepage_info.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_thread.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_debug.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_memalloc.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_lcore.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_timer.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_interrupts.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_alarm.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_dev.c
-
-# from common dir
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_config.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_lcore.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_timer.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_memzone.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_log.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_launch.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_mcfg.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_memalloc.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_memory.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_tailqs.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_errno.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_cpuflags.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_hypervisor.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_string_fns.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_hexdump.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_debug.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_devargs.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_class.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_bus.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_dev.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_options.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_thread.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_proc.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_fbarray.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_uuid.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_trace.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_trace_ctf.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_trace_points.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_common_trace_utils.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += rte_malloc.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += hotplug_mp.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += malloc_elem.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += malloc_heap.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += malloc_mp.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += rte_keepalive.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += rte_service.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += rte_random.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += rte_reciprocal.c
-
-# from unix dir
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_file.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_unix_memory.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += eal_unix_timer.c
-
-# from arch dir
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += rte_cpuflags.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_FREEBSD) += rte_hypervisor.c
-SRCS-$(CONFIG_RTE_ARCH_X86) += rte_spinlock.c
-SRCS-y += rte_cycles.c
-
-CFLAGS_eal_common_cpuflags.o := $(CPUFLAGS_LIST)
-
-# workaround for a gcc bug with noreturn attribute
-# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12603
-ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
-CFLAGS_eal_thread.o += -Wno-return-type
-CFLAGS_eal_hpet.o += -Wno-return-type
-endif
-
-INC := rte_os.h
-
-SYMLINK-$(CONFIG_RTE_EXEC_ENV_FREEBSD)-include := $(addprefix include/,$(INC))
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_eal/include/Makefile b/lib/librte_eal/include/Makefile
deleted file mode 100644
index eb99190d10..0000000000
--- a/lib/librte_eal/include/Makefile
+++ /dev/null
@@ -1,19 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-SYMLINK-$(CONFIG_RTE_LIBRTE_EAL)-include := \
-	$(sort $(notdir \
-	$(wildcard $(RTE_SDK)/lib/librte_eal/include/*.h)))
-
-SYMLINK-$(CONFIG_RTE_LIBRTE_EAL)-include/generic := \
-	$(sort $(addprefix generic/, $(notdir \
-	$(wildcard $(RTE_SDK)/lib/librte_eal/include/generic/*.h))))
-
-ARCH_DIR ?= $(RTE_ARCH)
-SYMLINK-$(CONFIG_RTE_LIBRTE_EAL)-include += \
-	$(sort $(addprefix ../$(ARCH_DIR)/include/, $(notdir \
-	$(wildcard $(RTE_SDK)/lib/librte_eal/$(ARCH_DIR)/include/*.h))))
-
-include $(RTE_SDK)/mk/rte.install.mk
diff --git a/lib/librte_eal/linux/Makefile b/lib/librte_eal/linux/Makefile
deleted file mode 100644
index 9939b3d147..0000000000
--- a/lib/librte_eal/linux/Makefile
+++ /dev/null
@@ -1,112 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-LIB = librte_eal.a
-
-ARCH_DIR ?= $(RTE_ARCH)
-VPATH += $(RTE_SDK)/lib/librte_eal/$(ARCH_DIR)
-VPATH += $(RTE_SDK)/lib/librte_eal/unix
-VPATH += $(RTE_SDK)/lib/librte_eal/common
-
-CFLAGS += -I$(SRCDIR)/include
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
-CFLAGS += $(WERROR_FLAGS) -O3
-
-LDLIBS += -ldl
-LDLIBS += -lpthread
-LDLIBS += -lgcc_s
-LDLIBS += -lrt
-LDLIBS += -lrte_kvargs
-LDLIBS += -lrte_telemetry
-ifeq ($(CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES),y)
-LDLIBS += -lnuma
-endif
-
-EXPORT_MAP := ../rte_eal_version.map
-
-# specific to linux exec-env
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) := eal.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_cpuflags.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_hugepage_info.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_memory.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_thread.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_log.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_vfio.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_vfio_mp_sync.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_memalloc.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_debug.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_lcore.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_timer.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_interrupts.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_alarm.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_dev.c
-
-# from common dir
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_config.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_lcore.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_timer.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_memzone.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_log.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_launch.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_dynmem.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_mcfg.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_memalloc.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_memory.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_tailqs.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_errno.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_cpuflags.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_hypervisor.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_string_fns.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_hexdump.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_debug.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_devargs.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_class.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_bus.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_dev.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_options.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_thread.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_proc.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_fbarray.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_uuid.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_trace.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_trace_ctf.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_trace_points.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_common_trace_utils.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += rte_malloc.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += hotplug_mp.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += malloc_elem.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += malloc_heap.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += malloc_mp.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += rte_keepalive.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += rte_service.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += rte_random.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += rte_reciprocal.c
-
-# from unix dir
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_file.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_unix_memory.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += eal_unix_timer.c
-
-# from arch dir
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += rte_cpuflags.c
-SRCS-$(CONFIG_RTE_EXEC_ENV_LINUX) += rte_hypervisor.c
-SRCS-$(CONFIG_RTE_ARCH_X86) += rte_spinlock.c
-SRCS-y += rte_cycles.c
-
-CFLAGS_eal_common_cpuflags.o := $(CPUFLAGS_LIST)
-
-# workaround for a gcc bug with noreturn attribute
-# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12603
-ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y)
-CFLAGS_eal_thread.o += -Wno-return-type
-endif
-
-INC := rte_kni_common.h
-INC += rte_os.h
-
-SYMLINK-$(CONFIG_RTE_EXEC_ENV_LINUX)-include := $(addprefix include/,$(INC))
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_efd/Makefile b/lib/librte_efd/Makefile
deleted file mode 100644
index 2dc97132e0..0000000000
--- a/lib/librte_efd/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016-2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_efd.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-LDLIBS += -lrte_eal -lrte_ring -lrte_hash
-
-EXPORT_MAP := rte_efd_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_EFD) := rte_efd.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_EFD)-include := rte_efd.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_ethdev/Makefile b/lib/librte_ethdev/Makefile
deleted file mode 100644
index 47747150b2..0000000000
--- a/lib/librte_ethdev/Makefile
+++ /dev/null
@@ -1,46 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_ethdev.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_net -lrte_eal -lrte_mempool -lrte_ring
-LDLIBS += -lrte_mbuf -lrte_kvargs -lrte_meter -lrte_telemetry
-
-EXPORT_MAP := rte_ethdev_version.map
-
-SRCS-y += ethdev_private.c
-SRCS-y += rte_ethdev.c
-SRCS-y += rte_class_eth.c
-SRCS-y += rte_flow.c
-SRCS-y += rte_tm.c
-SRCS-y += rte_mtr.c
-SRCS-y += ethdev_profile.c
-SRCS-y += ethdev_trace_points.c
-
-#
-# Export include files
-#
-SYMLINK-y-include += rte_ethdev.h
-SYMLINK-y-include += rte_ethdev_driver.h
-SYMLINK-y-include += rte_ethdev_core.h
-SYMLINK-y-include += rte_ethdev_pci.h
-SYMLINK-y-include += rte_ethdev_trace.h
-SYMLINK-y-include += rte_ethdev_trace_fp.h
-SYMLINK-y-include += rte_ethdev_vdev.h
-SYMLINK-y-include += rte_eth_ctrl.h
-SYMLINK-y-include += rte_dev_info.h
-SYMLINK-y-include += rte_flow.h
-SYMLINK-y-include += rte_flow_driver.h
-SYMLINK-y-include += rte_tm.h
-SYMLINK-y-include += rte_tm_driver.h
-SYMLINK-y-include += rte_mtr.h
-SYMLINK-y-include += rte_mtr_driver.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_eventdev/Makefile b/lib/librte_eventdev/Makefile
deleted file mode 100644
index 0715256bb4..0000000000
--- a/lib/librte_eventdev/Makefile
+++ /dev/null
@@ -1,47 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016 Cavium, Inc
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_eventdev.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-ifeq ($(CONFIG_RTE_EXEC_ENV_LINUX),y)
-CFLAGS += -DLINUX
-else
-CFLAGS += -DBSD
-endif
-LDLIBS += -lrte_eal -lrte_ring -lrte_ethdev -lrte_hash -lrte_mempool -lrte_timer
-LDLIBS += -lrte_mbuf -lrte_cryptodev -lpthread
-
-# library source files
-SRCS-y += rte_eventdev.c
-SRCS-y += rte_event_ring.c
-SRCS-y += eventdev_trace_points.c
-SRCS-y += rte_event_eth_rx_adapter.c
-SRCS-y += rte_event_timer_adapter.c
-SRCS-y += rte_event_crypto_adapter.c
-SRCS-y += rte_event_eth_tx_adapter.c
-
-# export include files
-SYMLINK-y-include += rte_eventdev.h
-SYMLINK-y-include += rte_eventdev_pmd.h
-SYMLINK-y-include += rte_eventdev_pmd_pci.h
-SYMLINK-y-include += rte_eventdev_pmd_vdev.h
-SYMLINK-y-include += rte_eventdev_trace.h
-SYMLINK-y-include += rte_eventdev_trace_fp.h
-SYMLINK-y-include += rte_event_ring.h
-SYMLINK-y-include += rte_event_eth_rx_adapter.h
-SYMLINK-y-include += rte_event_timer_adapter.h
-SYMLINK-y-include += rte_event_timer_adapter_pmd.h
-SYMLINK-y-include += rte_event_crypto_adapter.h
-SYMLINK-y-include += rte_event_eth_tx_adapter.h
-
-# versioning export map
-EXPORT_MAP := rte_eventdev_version.map
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_fib/Makefile b/lib/librte_fib/Makefile
deleted file mode 100644
index 1dd2a495b1..0000000000
--- a/lib/librte_fib/Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Vladimir Medvedkin <medvedkinv@gmail.com>
-# Copyright(c) 2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_fib.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-LDLIBS += -lrte_eal -lrte_rib
-
-EXPORT_MAP := rte_fib_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_FIB) := rte_fib.c rte_fib6.c dir24_8.c trie.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_FIB)-include := rte_fib.h rte_fib6.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_flow_classify/Makefile b/lib/librte_flow_classify/Makefile
deleted file mode 100644
index ca3cae82dd..0000000000
--- a/lib/librte_flow_classify/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_flow_classify.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-
-EXPORT_MAP := rte_flow_classify_version.map
-
-LDLIBS += -lrte_eal -lrte_ethdev -lrte_net -lrte_table -lrte_acl
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_FLOW_CLASSIFY) += rte_flow_classify.c
-SRCS-$(CONFIG_RTE_LIBRTE_FLOW_CLASSIFY) += rte_flow_classify_parse.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_FLOW_CLASSIFY)-include := rte_flow_classify.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_graph/Makefile b/lib/librte_graph/Makefile
deleted file mode 100644
index b66279c675..0000000000
--- a/lib/librte_graph/Makefile
+++ /dev/null
@@ -1,28 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(C) 2020 Marvell International Ltd.
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_graph.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal
-
-EXPORT_MAP := rte_graph_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_GRAPH) += node.c
-SRCS-$(CONFIG_RTE_LIBRTE_GRAPH) += graph.c
-SRCS-$(CONFIG_RTE_LIBRTE_GRAPH) += graph_ops.c
-SRCS-$(CONFIG_RTE_LIBRTE_GRAPH) += graph_debug.c
-SRCS-$(CONFIG_RTE_LIBRTE_GRAPH) += graph_stats.c
-SRCS-$(CONFIG_RTE_LIBRTE_GRAPH) += graph_populate.c
-
-# install header files
-SYMLINK-$(CONFIG_RTE_LIBRTE_GRAPH)-include += rte_graph.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_GRAPH)-include += rte_graph_worker.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_gro/Makefile b/lib/librte_gro/Makefile
deleted file mode 100644
index e848687acd..0000000000
--- a/lib/librte_gro/Makefile
+++ /dev/null
@@ -1,23 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_gro.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_ethdev -lrte_net
-
-EXPORT_MAP := rte_gro_version.map
-
-# source files
-SRCS-$(CONFIG_RTE_LIBRTE_GRO) += rte_gro.c
-SRCS-$(CONFIG_RTE_LIBRTE_GRO) += gro_tcp4.c
-SRCS-$(CONFIG_RTE_LIBRTE_GRO) += gro_vxlan_tcp4.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_GRO)-include += rte_gro.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_gso/Makefile b/lib/librte_gso/Makefile
deleted file mode 100644
index a34846e920..0000000000
--- a/lib/librte_gso/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_gso.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-LDLIBS += -lrte_eal -lrte_mbuf -lrte_ethdev -lrte_net
-LDLIBS += -lrte_mempool
-
-EXPORT_MAP := rte_gso_version.map
-
-#source files
-SRCS-$(CONFIG_RTE_LIBRTE_GSO) += rte_gso.c
-SRCS-$(CONFIG_RTE_LIBRTE_GSO) += gso_common.c
-SRCS-$(CONFIG_RTE_LIBRTE_GSO) += gso_tcp4.c
-SRCS-$(CONFIG_RTE_LIBRTE_GSO) += gso_tunnel_tcp4.c
-SRCS-$(CONFIG_RTE_LIBRTE_GSO) += gso_udp4.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_GSO)-include += rte_gso.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_hash/Makefile b/lib/librte_hash/Makefile
deleted file mode 100644
index ec9f864992..0000000000
--- a/lib/librte_hash/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2015 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_hash.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-LDLIBS += -lrte_eal -lrte_ring
-
-EXPORT_MAP := rte_hash_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_HASH) := rte_cuckoo_hash.c
-SRCS-$(CONFIG_RTE_LIBRTE_HASH) += rte_fbk_hash.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_HASH)-include := rte_hash.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_HASH)-include += rte_hash_crc.h
-ifeq ($(CONFIG_RTE_ARCH_ARM64),y)
-ifneq ($(findstring RTE_MACHINE_CPUFLAG_CRC32,$(CFLAGS)),)
-SYMLINK-$(CONFIG_RTE_LIBRTE_HASH)-include += rte_crc_arm64.h
-endif
-endif
-SYMLINK-$(CONFIG_RTE_LIBRTE_HASH)-include += rte_jhash.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_HASH)-include += rte_thash.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_HASH)-include += rte_fbk_hash.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_ip_frag/Makefile b/lib/librte_ip_frag/Makefile
deleted file mode 100644
index 6b80d9f1f2..0000000000
--- a/lib/librte_ip_frag/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_ip_frag.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf -lrte_ethdev
-LDLIBS += -lrte_hash
-
-EXPORT_MAP := rte_ip_frag_version.map
-
-#source files
-SRCS-$(CONFIG_RTE_LIBRTE_IP_FRAG) += rte_ipv4_fragmentation.c
-SRCS-$(CONFIG_RTE_LIBRTE_IP_FRAG) += rte_ipv6_fragmentation.c
-SRCS-$(CONFIG_RTE_LIBRTE_IP_FRAG) += rte_ipv4_reassembly.c
-SRCS-$(CONFIG_RTE_LIBRTE_IP_FRAG) += rte_ipv6_reassembly.c
-SRCS-$(CONFIG_RTE_LIBRTE_IP_FRAG) += rte_ip_frag_common.c
-SRCS-$(CONFIG_RTE_LIBRTE_IP_FRAG) += ip_frag_internal.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_IP_FRAG)-include += rte_ip_frag.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_ipsec/Makefile b/lib/librte_ipsec/Makefile
deleted file mode 100644
index e4c69646b0..0000000000
--- a/lib/librte_ipsec/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_ipsec.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf -lrte_net
-LDLIBS += -lrte_cryptodev -lrte_security -lrte_hash
-
-EXPORT_MAP := rte_ipsec_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_IPSEC) += esp_inb.c
-SRCS-$(CONFIG_RTE_LIBRTE_IPSEC) += esp_outb.c
-SRCS-$(CONFIG_RTE_LIBRTE_IPSEC) += sa.c
-SRCS-$(CONFIG_RTE_LIBRTE_IPSEC) += ses.c
-SRCS-$(CONFIG_RTE_LIBRTE_IPSEC) += ipsec_sad.c
-
-# install header files
-SYMLINK-$(CONFIG_RTE_LIBRTE_IPSEC)-include += rte_ipsec.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_IPSEC)-include += rte_ipsec_group.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_IPSEC)-include += rte_ipsec_sa.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_IPSEC)-include += rte_ipsec_sad.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_jobstats/Makefile b/lib/librte_jobstats/Makefile
deleted file mode 100644
index b30d046829..0000000000
--- a/lib/librte_jobstats/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2015 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_jobstats.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-LDLIBS += -lrte_eal
-
-EXPORT_MAP := rte_jobstats_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_JOBSTATS) := rte_jobstats.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_JOBSTATS)-include := rte_jobstats.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_kni/Makefile b/lib/librte_kni/Makefile
deleted file mode 100644
index 9d440aa135..0000000000
--- a/lib/librte_kni/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_kni.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3 -fno-strict-aliasing
-LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf -lrte_ethdev
-
-EXPORT_MAP := rte_kni_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_KNI) := rte_kni.c
-
-# install includes
-SYMLINK-$(CONFIG_RTE_LIBRTE_KNI)-include := rte_kni.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_kvargs/Makefile b/lib/librte_kvargs/Makefile
deleted file mode 100644
index 24b1c3c5b9..0000000000
--- a/lib/librte_kvargs/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2014 6WIND S.A.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_kvargs.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
-
-EXPORT_MAP := rte_kvargs_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_KVARGS) := rte_kvargs.c
-
-# install includes
-INCS := rte_kvargs.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_KVARGS)-include := $(INCS)
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_latencystats/Makefile b/lib/librte_latencystats/Makefile
deleted file mode 100644
index b19e0b1788..0000000000
--- a/lib/librte_latencystats/Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_latencystats.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-LDLIBS += -lm
-LDLIBS += -lpthread
-LDLIBS += -lrte_eal -lrte_metrics -lrte_ethdev -lrte_mbuf
-
-EXPORT_MAP := rte_latencystats_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_LATENCY_STATS) := rte_latencystats.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_LATENCY_STATS)-include := rte_latencystats.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_lpm/Makefile b/lib/librte_lpm/Makefile
deleted file mode 100644
index 6f06c5c034..0000000000
--- a/lib/librte_lpm/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_lpm.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-LDLIBS += -lrte_eal -lrte_hash -lrte_rcu
-
-EXPORT_MAP := rte_lpm_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_LPM) := rte_lpm.c rte_lpm6.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_LPM)-include := rte_lpm.h rte_lpm6.h
-
-ifneq ($(filter y,$(CONFIG_RTE_ARCH_ARM) $(CONFIG_RTE_ARCH_ARM64)),)
-SYMLINK-$(CONFIG_RTE_LIBRTE_LPM)-include += rte_lpm_neon.h
-else ifeq ($(CONFIG_RTE_ARCH_X86),y)
-SYMLINK-$(CONFIG_RTE_LIBRTE_LPM)-include += rte_lpm_sse.h
-else ifeq ($(CONFIG_RTE_ARCH_PPC_64),y)
-SYMLINK-$(CONFIG_RTE_LIBRTE_LPM)-include += rte_lpm_altivec.h
-endif
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_mbuf/Makefile b/lib/librte_mbuf/Makefile
deleted file mode 100644
index 41ea5496e3..0000000000
--- a/lib/librte_mbuf/Makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_mbuf.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-
-LDLIBS += -lrte_eal -lrte_mempool
-
-EXPORT_MAP := rte_mbuf_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_MBUF) := rte_mbuf.c rte_mbuf_ptype.c rte_mbuf_pool_ops.c
-SRCS-$(CONFIG_RTE_LIBRTE_MBUF) += rte_mbuf_dyn.c
-
-# install includes
-SYMLINK-$(CONFIG_RTE_LIBRTE_MBUF)-include := rte_mbuf.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_MBUF)-include += rte_mbuf_core.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_MBUF)-include += rte_mbuf_ptype.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_MBUF)-include += rte_mbuf_pool_ops.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_MBUF)-include += rte_mbuf_dyn.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_member/Makefile b/lib/librte_member/Makefile
deleted file mode 100644
index ef9e2faeaf..0000000000
--- a/lib/librte_member/Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_member.a
-
-CFLAGS := -I$(SRCDIR) $(CFLAGS)
-CFLAGS += $(WERROR_FLAGS) -O3
-
-LDLIBS += -lm
-LDLIBS += -lrte_eal -lrte_hash
-
-EXPORT_MAP := rte_member_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_MEMBER) +=  rte_member.c rte_member_ht.c rte_member_vbf.c
-# install includes
-SYMLINK-$(CONFIG_RTE_LIBRTE_MEMBER)-include := rte_member.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_mempool/Makefile b/lib/librte_mempool/Makefile
deleted file mode 100644
index 432d6217ec..0000000000
--- a/lib/librte_mempool/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_mempool.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-LDLIBS += -lrte_eal -lrte_ring
-
-EXPORT_MAP := rte_mempool_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_MEMPOOL) +=  rte_mempool.c
-SRCS-$(CONFIG_RTE_LIBRTE_MEMPOOL) +=  rte_mempool_ops.c
-SRCS-$(CONFIG_RTE_LIBRTE_MEMPOOL) +=  rte_mempool_ops_default.c
-SRCS-$(CONFIG_RTE_LIBRTE_MEMPOOL) +=  mempool_trace_points.c
-# install includes
-SYMLINK-$(CONFIG_RTE_LIBRTE_MEMPOOL)-include := rte_mempool.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_MEMPOOL)-include += rte_mempool_trace.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_MEMPOOL)-include += rte_mempool_trace_fp.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_meter/Makefile b/lib/librte_meter/Makefile
deleted file mode 100644
index 48366e82b0..0000000000
--- a/lib/librte_meter/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_meter.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-LDLIBS += -lm
-LDLIBS += -lrte_eal
-
-EXPORT_MAP := rte_meter_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_METER) := rte_meter.c
-
-# install includes
-SYMLINK-$(CONFIG_RTE_LIBRTE_METER)-include := rte_meter.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_metrics/Makefile b/lib/librte_metrics/Makefile
deleted file mode 100644
index 1264d3bbb0..0000000000
--- a/lib/librte_metrics/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_metrics.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-LDLIBS += -lrte_eal
-
-EXPORT_MAP := rte_metrics_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_METRICS) := rte_metrics.c
-
-ifeq ($(CONFIG_RTE_LIBRTE_TELEMETRY),y)
-SRCS-y += rte_metrics_telemetry.c
-SYMLINK-$(CONFIG_RTE_LIBRTE_METRICS)-include += rte_metrics_telemetry.h
-
-LDLIBS += -lrte_ethdev -lrte_telemetry
-LDLIBS += -ljansson
-
-CFLAGS += -I$(RTE_SDK)/lib/librte_telemetry/
-endif
-
-# Install header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_METRICS)-include += rte_metrics.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_net/Makefile b/lib/librte_net/Makefile
deleted file mode 100644
index 9830e771b3..0000000000
--- a/lib/librte_net/Makefile
+++ /dev/null
@@ -1,25 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-LIB = librte_net.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-LDLIBS += -lrte_mbuf -lrte_eal -lrte_mempool
-
-EXPORT_MAP := rte_net_version.map
-SRCS-$(CONFIG_RTE_LIBRTE_NET) := rte_net.c
-SRCS-$(CONFIG_RTE_LIBRTE_NET) += rte_net_crc.c
-SRCS-$(CONFIG_RTE_LIBRTE_NET) += rte_ether.c
-SRCS-$(CONFIG_RTE_LIBRTE_NET) += rte_arp.c
-
-# install includes
-SYMLINK-$(CONFIG_RTE_LIBRTE_NET)-include := rte_ip.h rte_tcp.h rte_udp.h rte_esp.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_NET)-include += rte_sctp.h rte_icmp.h rte_arp.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_NET)-include += rte_ether.h rte_gre.h rte_net.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_NET)-include += rte_net_crc.h rte_mpls.h rte_higig.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_NET)-include += rte_gtp.h rte_vxlan.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_NET)-include += rte_ecpri.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_node/Makefile b/lib/librte_node/Makefile
deleted file mode 100644
index 3ec02104d3..0000000000
--- a/lib/librte_node/Makefile
+++ /dev/null
@@ -1,33 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(C) 2020 Marvell International Ltd.
-#
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_node.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-# Strict-aliasing rules are violated by uint8_t[] to context size casts.
-CFLAGS += -fno-strict-aliasing
-LDLIBS += -lrte_eal -lrte_graph -lrte_mbuf -lrte_lpm -lrte_ethdev -lrte_mempool
-
-EXPORT_MAP := rte_node_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_NODE) += null.c
-SRCS-$(CONFIG_RTE_LIBRTE_NODE) += log.c
-SRCS-$(CONFIG_RTE_LIBRTE_NODE) += ethdev_rx.c
-SRCS-$(CONFIG_RTE_LIBRTE_NODE) += ethdev_tx.c
-SRCS-$(CONFIG_RTE_LIBRTE_NODE) += ethdev_ctrl.c
-SRCS-$(CONFIG_RTE_LIBRTE_NODE) += ip4_lookup.c
-SRCS-$(CONFIG_RTE_LIBRTE_NODE) += ip4_rewrite.c
-SRCS-$(CONFIG_RTE_LIBRTE_NODE) += pkt_cls.c
-SRCS-$(CONFIG_RTE_LIBRTE_NODE) += pkt_drop.c
-
-# install header files
-SYMLINK-$(CONFIG_RTE_LIBRTE_NODE)-include += rte_node_ip4_api.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_NODE)-include += rte_node_eth_api.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_pci/Makefile b/lib/librte_pci/Makefile
deleted file mode 100644
index 7943f30cab..0000000000
--- a/lib/librte_pci/Makefile
+++ /dev/null
@@ -1,19 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 6WIND S.A.
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pci.a
-
-CFLAGS := -I$(SRCDIR) $(CFLAGS)
-CFLAGS += $(WERROR_FLAGS) -O3
-LDLIBS += -lrte_eal
-
-EXPORT_MAP := rte_pci_version.map
-
-SRCS-$(CONFIG_RTE_LIBRTE_PCI) += rte_pci.c
-
-SYMLINK-$(CONFIG_RTE_LIBRTE_PCI)-include += rte_pci.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_pdump/Makefile b/lib/librte_pdump/Makefile
deleted file mode 100644
index ece8aaacc1..0000000000
--- a/lib/librte_pdump/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2016-2018 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_pdump.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf -lrte_ethdev
-
-EXPORT_MAP := rte_pdump_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_PDUMP) := rte_pdump.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_PDUMP)-include := rte_pdump.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_pipeline/Makefile b/lib/librte_pipeline/Makefile
deleted file mode 100644
index cfbbd18282..0000000000
--- a/lib/librte_pipeline/Makefile
+++ /dev/null
@@ -1,28 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2016 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_pipeline.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf -lrte_table
-LDLIBS += -lrte_port -lrte_meter -lrte_sched -lrte_cryptodev
-
-EXPORT_MAP := rte_pipeline_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PIPELINE) := rte_pipeline.c
-SRCS-$(CONFIG_RTE_LIBRTE_PIPELINE) += rte_port_in_action.c
-SRCS-$(CONFIG_RTE_LIBRTE_PIPELINE) += rte_table_action.c
-
-# install includes
-SYMLINK-$(CONFIG_RTE_LIBRTE_PIPELINE)-include += rte_pipeline.h rte_port_in_action.h rte_table_action.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_port/Makefile b/lib/librte_port/Makefile
deleted file mode 100644
index 57d2aedbc5..0000000000
--- a/lib/librte_port/Makefile
+++ /dev/null
@@ -1,59 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2016 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_port.a
-ifeq ($(CONFIG_RTE_PORT_PCAP),y)
-LDLIBS += -lpcap
-endif
-LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf -lrte_ethdev
-LDLIBS += -lrte_ip_frag -lrte_sched -lrte_cryptodev -lrte_eventdev
-ifeq ($(CONFIG_RTE_LIBRTE_KNI),y)
-LDLIBS += -lrte_kni
-endif
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-EXPORT_MAP := rte_port_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_PORT) += rte_port_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_PORT) += rte_port_ring.c
-ifeq ($(CONFIG_RTE_LIBRTE_IP_FRAG),y)
-SRCS-$(CONFIG_RTE_LIBRTE_PORT) += rte_port_frag.c
-SRCS-$(CONFIG_RTE_LIBRTE_PORT) += rte_port_ras.c
-endif
-SRCS-$(CONFIG_RTE_LIBRTE_PORT) += rte_port_sched.c
-SRCS-$(CONFIG_RTE_LIBRTE_PORT) += rte_port_fd.c
-ifeq ($(CONFIG_RTE_LIBRTE_KNI),y)
-SRCS-$(CONFIG_RTE_LIBRTE_PORT) += rte_port_kni.c
-endif
-SRCS-$(CONFIG_RTE_LIBRTE_PORT) += rte_port_source_sink.c
-SRCS-$(CONFIG_RTE_LIBRTE_PORT) += rte_port_sym_crypto.c
-SRCS-$(CONFIG_RTE_LIBRTE_PORT) += rte_port_eventdev.c
-
-# install includes
-SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port_ethdev.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port_ring.h
-ifeq ($(CONFIG_RTE_LIBRTE_IP_FRAG),y)
-SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port_frag.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port_ras.h
-endif
-SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port_sched.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port_fd.h
-ifeq ($(CONFIG_RTE_LIBRTE_KNI),y)
-SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port_kni.h
-endif
-SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port_source_sink.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port_sym_crypto.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_PORT)-include += rte_port_eventdev.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_power/Makefile b/lib/librte_power/Makefile
deleted file mode 100644
index 3b067b615f..0000000000
--- a/lib/librte_power/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_power.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3 -fno-strict-aliasing
-LDLIBS += -lrte_eal -lrte_timer
-
-EXPORT_MAP := rte_power_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_POWER) := rte_power.c power_acpi_cpufreq.c
-SRCS-$(CONFIG_RTE_LIBRTE_POWER) += power_kvm_vm.c guest_channel.c
-SRCS-$(CONFIG_RTE_LIBRTE_POWER) += rte_power_empty_poll.c
-SRCS-$(CONFIG_RTE_LIBRTE_POWER) += power_pstate_cpufreq.c
-SRCS-$(CONFIG_RTE_LIBRTE_POWER) += power_common.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_POWER)-include := rte_power.h  rte_power_empty_poll.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_rawdev/Makefile b/lib/librte_rawdev/Makefile
deleted file mode 100644
index 99f5d2a471..0000000000
--- a/lib/librte_rawdev/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2017 NXP
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_rawdev.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_telemetry
-
-# library source files
-SRCS-y += rte_rawdev.c
-
-# export include files
-SYMLINK-y-include += rte_rawdev.h
-SYMLINK-y-include += rte_rawdev_pmd.h
-
-# versioning export map
-EXPORT_MAP := rte_rawdev_version.map
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_rcu/Makefile b/lib/librte_rcu/Makefile
deleted file mode 100644
index 553bca2ef4..0000000000
--- a/lib/librte_rcu/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Arm Limited
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_rcu.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-LDLIBS += -lrte_eal -lrte_ring
-
-EXPORT_MAP := rte_rcu_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_RCU) := rte_rcu_qsbr.c
-
-# install includes
-SYMLINK-$(CONFIG_RTE_LIBRTE_RCU)-include := rte_rcu_qsbr.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_regexdev/Makefile b/lib/librte_regexdev/Makefile
deleted file mode 100644
index c123fcaf5c..0000000000
--- a/lib/librte_regexdev/Makefile
+++ /dev/null
@@ -1,32 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(C) 2019 Marvell International Ltd.
-# Copyright 2020 Mellanox Technologies, Ltd
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_regexdev.a
-
-EXPORT_MAP := rte_regex_version.map
-
-# library version
-LIBABIVER := 1
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mbuf
-
-# library source files
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_REGEXDEV) := rte_regexdev.c
-
-# export include files
-SYMLINK-$(CONFIG_RTE_LIBRTE_REGEXDEV)-include += rte_regexdev.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_REGEXDEV)-include += rte_regexdev_core.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_REGEXDEV)-include += rte_regexdev_driver.h
-
-# versioning export map
-EXPORT_MAP := rte_regexdev_version.map
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_reorder/Makefile b/lib/librte_reorder/Makefile
deleted file mode 100644
index 1914411d52..0000000000
--- a/lib/librte_reorder/Makefile
+++ /dev/null
@@ -1,21 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_reorder.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf
-
-EXPORT_MAP := rte_reorder_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_REORDER) := rte_reorder.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_REORDER)-include := rte_reorder.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_rib/Makefile b/lib/librte_rib/Makefile
deleted file mode 100644
index be80ce5d3f..0000000000
--- a/lib/librte_rib/Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Vladimir Medvedkin <medvedkinv@gmail.com>
-# Copyright(c) 2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_rib.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-LDLIBS += -lrte_eal -lrte_mempool
-
-EXPORT_MAP := rte_rib_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_RIB) := rte_rib.c rte_rib6.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_RIB)-include := rte_rib.h rte_rib6.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_ring/Makefile b/lib/librte_ring/Makefile
deleted file mode 100644
index 83a9d0840e..0000000000
--- a/lib/librte_ring/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_ring.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-LDLIBS += -lrte_eal
-
-EXPORT_MAP := rte_ring_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_RING) := rte_ring.c
-
-# install includes
-SYMLINK-$(CONFIG_RTE_LIBRTE_RING)-include := rte_ring.h \
-					rte_ring_core.h \
-					rte_ring_elem.h \
-					rte_ring_generic.h \
-					rte_ring_c11_mem.h \
-					rte_ring_hts.h \
-					rte_ring_hts_c11_mem.h \
-					rte_ring_peek.h \
-					rte_ring_peek_c11_mem.h \
-					rte_ring_rts.h \
-					rte_ring_rts_c11_mem.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_sched/Makefile b/lib/librte_sched/Makefile
deleted file mode 100644
index aee93a1205..0000000000
--- a/lib/librte_sched/Makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_sched.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-
-LDLIBS += -lm
-LDLIBS += -lrt
-LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf -lrte_net
-LDLIBS += -lrte_timer
-
-EXPORT_MAP := rte_sched_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_SCHED) += rte_sched.c rte_red.c rte_approx.c
-
-# install includes
-SYMLINK-$(CONFIG_RTE_LIBRTE_SCHED)-include := rte_sched.h rte_sched_common.h rte_red.h rte_approx.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_security/Makefile b/lib/librte_security/Makefile
deleted file mode 100644
index 825eaeff8e..0000000000
--- a/lib/librte_security/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017-2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_security.a
-
-# build flags
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mempool
-
-# library source files
-SRCS-y += rte_security.c
-
-# export include files
-SYMLINK-y-include += rte_security.h
-SYMLINK-y-include += rte_security_driver.h
-
-# versioning export map
-EXPORT_MAP := rte_security_version.map
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_stack/Makefile b/lib/librte_stack/Makefile
deleted file mode 100644
index 020ef102b5..0000000000
--- a/lib/librte_stack/Makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_stack.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-LDLIBS += -lrte_eal
-
-EXPORT_MAP := rte_stack_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_STACK) := rte_stack.c \
-				   rte_stack_std.c \
-				   rte_stack_lf.c
-
-# install includes
-SYMLINK-$(CONFIG_RTE_LIBRTE_STACK)-include := rte_stack.h \
-					      rte_stack_std.h \
-					      rte_stack_lf.h \
-					      rte_stack_lf_generic.h \
-					      rte_stack_lf_c11.h \
-					      rte_stack_lf_stubs.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_table/Makefile b/lib/librte_table/Makefile
deleted file mode 100644
index 6ad8a6b17d..0000000000
--- a/lib/librte_table/Makefile
+++ /dev/null
@@ -1,59 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2016 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-#
-# library name
-#
-LIB = librte_table.a
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS)
-LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf -lrte_port
-LDLIBS += -lrte_lpm -lrte_hash
-ifeq ($(CONFIG_RTE_LIBRTE_ACL),y)
-LDLIBS += -lrte_acl
-endif
-
-EXPORT_MAP := rte_table_version.map
-
-#
-# all source are stored in SRCS-y
-#
-SRCS-$(CONFIG_RTE_LIBRTE_TABLE) += rte_table_lpm.c
-SRCS-$(CONFIG_RTE_LIBRTE_TABLE) += rte_table_lpm_ipv6.c
-ifeq ($(CONFIG_RTE_LIBRTE_ACL),y)
-SRCS-$(CONFIG_RTE_LIBRTE_TABLE) += rte_table_acl.c
-endif
-SRCS-$(CONFIG_RTE_LIBRTE_TABLE) += rte_table_hash_cuckoo.c
-SRCS-$(CONFIG_RTE_LIBRTE_TABLE) += rte_table_hash_key8.c
-SRCS-$(CONFIG_RTE_LIBRTE_TABLE) += rte_table_hash_key16.c
-SRCS-$(CONFIG_RTE_LIBRTE_TABLE) += rte_table_hash_key32.c
-SRCS-$(CONFIG_RTE_LIBRTE_TABLE) += rte_table_hash_ext.c
-SRCS-$(CONFIG_RTE_LIBRTE_TABLE) += rte_table_hash_lru.c
-SRCS-$(CONFIG_RTE_LIBRTE_TABLE) += rte_table_array.c
-SRCS-$(CONFIG_RTE_LIBRTE_TABLE) += rte_table_stub.c
-
-# install includes
-SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_table.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_table_lpm.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_table_lpm_ipv6.h
-ifeq ($(CONFIG_RTE_LIBRTE_ACL),y)
-SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_table_acl.h
-endif
-SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_table_hash.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_table_hash_cuckoo.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_table_hash_func.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_table_hash_func_arm64.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_lru.h
-ifeq ($(CONFIG_RTE_ARCH_X86),y)
-SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_lru_x86.h
-endif
-ifeq ($(CONFIG_RTE_ARCH_ARM64),y)
-SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_lru_arm64.h
-endif
-SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_table_array.h
-SYMLINK-$(CONFIG_RTE_LIBRTE_TABLE)-include += rte_table_stub.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_telemetry/Makefile b/lib/librte_telemetry/Makefile
deleted file mode 100644
index c62cbd86dc..0000000000
--- a/lib/librte_telemetry/Makefile
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_telemetry.a
-
-ARCH_DIR ?= $(RTE_ARCH)
-
-CFLAGS += -O3
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-CFLAGS += -I$(RTE_SDK)/lib/librte_metrics/
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
-CFLAGS += -I$(RTE_SDK)/lib/librte_eal/$(ARCH_DIR)/include
-CFLAGS += -pthread
-
-LDLIBS += -lpthread
-
-EXPORT_MAP := rte_telemetry_version.map
-
-# library source files
-SRCS-y += telemetry.c
-SRCS-y += telemetry_data.c
-SRCS-y += telemetry_legacy.c
-
-# export include files
-SYMLINK-y-include := rte_telemetry.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_timer/Makefile b/lib/librte_timer/Makefile
deleted file mode 100644
index 7e95d120c0..0000000000
--- a/lib/librte_timer/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_timer.a
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-LDLIBS += -lrte_eal
-
-EXPORT_MAP := rte_timer_version.map
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_TIMER) := rte_timer.c
-
-# install this header file
-SYMLINK-$(CONFIG_RTE_LIBRTE_TIMER)-include := rte_timer.h
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_vhost/Makefile b/lib/librte_vhost/Makefile
deleted file mode 100644
index 4f2f3e47da..0000000000
--- a/lib/librte_vhost/Makefile
+++ /dev/null
@@ -1,54 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-# library name
-LIB = librte_vhost.a
-
-EXPORT_MAP := rte_vhost_version.map
-
-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-CFLAGS += -I vhost_user
-CFLAGS += -fno-strict-aliasing
-LDLIBS += -lpthread
-
-ifeq ($(RTE_TOOLCHAIN), gcc)
-ifeq ($(shell test $(GCC_VERSION) -ge 83 && echo 1), 1)
-CFLAGS += -DVHOST_GCC_UNROLL_PRAGMA
-endif
-endif
-
-ifeq ($(RTE_TOOLCHAIN), clang)
-ifeq ($(shell test $(CLANG_MAJOR_VERSION)$(CLANG_MINOR_VERSION) -ge 37 && echo 1), 1)
-CFLAGS += -DVHOST_CLANG_UNROLL_PRAGMA
-endif
-endif
-
-ifeq ($(RTE_TOOLCHAIN), icc)
-ifeq ($(shell test $(ICC_MAJOR_VERSION) -ge 16 && echo 1), 1)
-CFLAGS += -DVHOST_ICC_UNROLL_PRAGMA
-endif
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_VHOST_NUMA),y)
-LDLIBS += -lnuma
-endif
-LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf -lrte_ethdev -lrte_net
-
-# all source are stored in SRCS-y
-SRCS-$(CONFIG_RTE_LIBRTE_VHOST) := fd_man.c iotlb.c socket.c vhost.c \
-					vhost_user.c virtio_net.c vdpa.c
-
-# install includes
-SYMLINK-$(CONFIG_RTE_LIBRTE_VHOST)-include += rte_vhost.h rte_vdpa.h \
-						rte_vdpa_dev.h rte_vhost_async.h
-
-# only compile vhost crypto when cryptodev is enabled
-ifeq ($(CONFIG_RTE_LIBRTE_CRYPTODEV),y)
-LDLIBS += -lrte_cryptodev -lrte_hash
-SRCS-$(CONFIG_RTE_LIBRTE_VHOST) += vhost_crypto.c
-SYMLINK-$(CONFIG_RTE_LIBRTE_VHOST)-include += rte_vhost_crypto.h
-endif
-
-include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/mk/arch/arm/rte.vars.mk b/mk/arch/arm/rte.vars.mk
deleted file mode 100644
index dc8c10a24c..0000000000
--- a/mk/arch/arm/rte.vars.mk
+++ /dev/null
@@ -1,16 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright (C) 2015 RehiveTech. All rights reserved.
-
-ARCH  ?= arm
-CROSS ?=
-
-CPU_CFLAGS  ?= -marm -munaligned-access -D_FILE_OFFSET_BITS=64
-CPU_LDFLAGS ?=
-CPU_ASFLAGS ?= -felf
-
-export ARCH CROSS CPU_CFLAGS CPU_LDFLAGS CPU_ASFLAGS
-
-RTE_OBJCOPY_TARGET = elf32-littlearm
-RTE_OBJCOPY_ARCH = arm
-
-export RTE_OBJCOPY_TARGET RTE_OBJCOPY_ARCH
diff --git a/mk/arch/arm64/rte.vars.mk b/mk/arch/arm64/rte.vars.mk
deleted file mode 100644
index a75b80c222..0000000000
--- a/mk/arch/arm64/rte.vars.mk
+++ /dev/null
@@ -1,37 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2015 Cavium, Inc
-#
-
-#
-# arch:
-#
-#   - define ARCH variable (overridden by cmdline or by previous
-#     optional define in machine .mk)
-#   - define CROSS variable (overridden by cmdline or previous define
-#     in machine .mk)
-#   - define CPU_CFLAGS variable (overridden by cmdline or previous
-#     define in machine .mk)
-#   - define CPU_LDFLAGS variable (overridden by cmdline or previous
-#     define in machine .mk)
-#   - define CPU_ASFLAGS variable (overridden by cmdline or previous
-#     define in machine .mk)
-#   - may override any previously defined variable
-#
-# examples for CONFIG_RTE_ARCH: i686, x86_64, x86_64_32
-#
-
-ARCH  ?= arm64
-# common arch dir in eal headers
-ARCH_DIR := arm
-CROSS ?=
-
-CPU_CFLAGS  ?=
-CPU_LDFLAGS ?=
-CPU_ASFLAGS ?= -felf
-
-export ARCH CROSS CPU_CFLAGS CPU_LDFLAGS CPU_ASFLAGS
-
-RTE_OBJCOPY_TARGET = elf64-littleaarch64
-RTE_OBJCOPY_ARCH = aarch64
-
-export RTE_OBJCOPY_TARGET RTE_OBJCOPY_ARCH
diff --git a/mk/arch/i686/rte.vars.mk b/mk/arch/i686/rte.vars.mk
deleted file mode 100644
index c867883f15..0000000000
--- a/mk/arch/i686/rte.vars.mk
+++ /dev/null
@@ -1,36 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# arch:
-#
-#   - define ARCH variable (overridden by cmdline or by previous
-#     optional define in machine .mk)
-#   - define CROSS variable (overridden by cmdline or previous define
-#     in machine .mk)
-#   - define CPU_CFLAGS variable (overridden by cmdline or previous
-#     define in machine .mk)
-#   - define CPU_LDFLAGS variable (overridden by cmdline or previous
-#     define in machine .mk)
-#   - define CPU_ASFLAGS variable (overridden by cmdline or previous
-#     define in machine .mk)
-#   - may override any previously defined variable
-#
-# examples for CONFIG_RTE_ARCH: i686, x86_64, x86_64_32
-#
-
-ARCH  ?= i386
-# common arch dir in eal headers
-ARCH_DIR := x86
-CROSS ?=
-
-CPU_CFLAGS  ?= -m32 -D_FILE_OFFSET_BITS=64
-CPU_LDFLAGS ?= -melf_i386
-CPU_ASFLAGS ?= -felf
-
-export ARCH CROSS CPU_CFLAGS CPU_LDFLAGS CPU_ASFLAGS
-
-RTE_OBJCOPY_TARGET = elf32-i386
-RTE_OBJCOPY_ARCH = i386
-
-export RTE_OBJCOPY_TARGET RTE_OBJCOPY_ARCH
diff --git a/mk/arch/ppc_64/rte.vars.mk b/mk/arch/ppc_64/rte.vars.mk
deleted file mode 100644
index 9f7ab22f42..0000000000
--- a/mk/arch/ppc_64/rte.vars.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright (C) IBM Corporation 2014.
-
-ARCH  ?= powerpc
-ARCH_DIR := ppc
-CROSS ?=
-
-CPU_CFLAGS  ?= -m64
-CPU_LDFLAGS ?=
-CPU_ASFLAGS ?= -felf64
-
-export ARCH CROSS CPU_CFLAGS CPU_LDFLAGS CPU_ASFLAGS
-
-RTE_OBJCOPY_TARGET = elf64-powerpcle
-RTE_OBJCOPY_ARCH = powerpc:common64
-
-export RTE_OBJCOPY_TARGET RTE_OBJCOPY_ARCH
diff --git a/mk/arch/x86_64/rte.vars.mk b/mk/arch/x86_64/rte.vars.mk
deleted file mode 100644
index e1689be9b4..0000000000
--- a/mk/arch/x86_64/rte.vars.mk
+++ /dev/null
@@ -1,36 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# arch:
-#
-#   - define ARCH variable (overridden by cmdline or by previous
-#     optional define in machine .mk)
-#   - define CROSS variable (overridden by cmdline or previous define
-#     in machine .mk)
-#   - define CPU_CFLAGS variable (overridden by cmdline or previous
-#     define in machine .mk)
-#   - define CPU_LDFLAGS variable (overridden by cmdline or previous
-#     define in machine .mk)
-#   - define CPU_ASFLAGS variable (overridden by cmdline or previous
-#     define in machine .mk)
-#   - may override any previously defined variable
-#
-# examples for CONFIG_RTE_ARCH: i686, x86_64, x86_64_32
-#
-
-ARCH  ?= x86_64
-# common arch dir in eal headers
-ARCH_DIR := x86
-CROSS ?=
-
-CPU_CFLAGS  ?= -m64
-CPU_LDFLAGS ?=
-CPU_ASFLAGS ?= -felf64
-
-export ARCH CROSS CPU_CFLAGS CPU_LDFLAGS CPU_ASFLAGS
-
-RTE_OBJCOPY_TARGET = elf64-x86-64
-RTE_OBJCOPY_ARCH = i386:x86-64
-
-export RTE_OBJCOPY_TARGET RTE_OBJCOPY_ARCH
diff --git a/mk/arch/x86_x32/rte.vars.mk b/mk/arch/x86_x32/rte.vars.mk
deleted file mode 100644
index c59b37a2c8..0000000000
--- a/mk/arch/x86_x32/rte.vars.mk
+++ /dev/null
@@ -1,40 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# arch:
-#
-#   - define ARCH variable (overridden by cmdline or by previous
-#     optional define in machine .mk)
-#   - define CROSS variable (overridden by cmdline or previous define
-#     in machine .mk)
-#   - define CPU_CFLAGS variable (overridden by cmdline or previous
-#     define in machine .mk)
-#   - define CPU_LDFLAGS variable (overridden by cmdline or previous
-#     define in machine .mk)
-#   - define CPU_ASFLAGS variable (overridden by cmdline or previous
-#     define in machine .mk)
-#   - may override any previously defined variable
-#
-# examples for CONFIG_RTE_ARCH: i686, x86_64, x86_64_32
-#
-
-ARCH  ?= x86_64
-ARCH_DIR := x86
-CROSS ?=
-
-CPU_CFLAGS  ?= -mx32
-CPU_LDFLAGS ?= -melf32_x86_64
-#CPU_ASFLAGS ?= -felf64
-# x32 is supported by Linux distribution with gcc4.8 and newer in some
-# cases there is backported support in gcc4.6
-ifneq ($(shell echo | $(CC) $(CPU_CFLAGS) -E - 2>/dev/null 1>/dev/null && echo 0), 0)
-	$(error This version of GCC does not support x32 ABI)
-endif
-
-export ARCH CROSS CPU_CFLAGS CPU_LDFLAGS CPU_ASFLAGS
-
-RTE_OBJCOPY_TARGET = elf32-x86-64
-RTE_OBJCOPY_ARCH = i386:x86-64
-
-export RTE_OBJCOPY_TARGET RTE_OBJCOPY_ARCH
diff --git a/mk/exec-env/bsdapp b/mk/exec-env/bsdapp
deleted file mode 120000
index 69f5cba2c2..0000000000
--- a/mk/exec-env/bsdapp
+++ /dev/null
@@ -1 +0,0 @@
-freebsd/
\ No newline at end of file
diff --git a/mk/exec-env/freebsd/rte.app.mk b/mk/exec-env/freebsd/rte.app.mk
deleted file mode 100644
index a2af7266a6..0000000000
--- a/mk/exec-env/freebsd/rte.app.mk
+++ /dev/null
@@ -1,8 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-exec-env-appinstall:
-	@true
-
-exec-env-appclean:
-	@true
diff --git a/mk/exec-env/freebsd/rte.vars.mk b/mk/exec-env/freebsd/rte.vars.mk
deleted file mode 100644
index 630eb55f73..0000000000
--- a/mk/exec-env/freebsd/rte.vars.mk
+++ /dev/null
@@ -1,36 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2019 Intel Corporation
-
-#
-# exec-env:
-#
-#   - define EXECENV_CFLAGS variable (overridden by cmdline)
-#   - define EXECENV_LDFLAGS variable (overridden by cmdline)
-#   - define EXECENV_ASFLAGS variable (overridden by cmdline)
-#   - may override any previously defined variable
-#
-# examples for RTE_EXEC_ENV: linux, freebsd
-#
-ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
-EXECENV_CFLAGS  = -pthread -fPIC
-else
-EXECENV_CFLAGS  = -pthread
-endif
-
-# include in every library to build
-EXECENV_CFLAGS += -I$(RTE_SDK)/lib/librte_eal/freebsd/include
-
-EXECENV_LDFLAGS =
-EXECENV_LDLIBS  = -lexecinfo
-EXECENV_ASFLAGS =
-
-ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
-EXECENV_LDLIBS += -lgcc_s
-endif
-
-# force applications to link with gcc/icc instead of using ld
-LINK_USING_CC := 1
-
-BSDMAKE=/usr/bin/make
-
-export EXECENV_CFLAGS EXECENV_LDFLAGS EXECENV_ASFLAGS
diff --git a/mk/exec-env/linux/rte.app.mk b/mk/exec-env/linux/rte.app.mk
deleted file mode 100644
index a2af7266a6..0000000000
--- a/mk/exec-env/linux/rte.app.mk
+++ /dev/null
@@ -1,8 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-exec-env-appinstall:
-	@true
-
-exec-env-appclean:
-	@true
diff --git a/mk/exec-env/linux/rte.vars.mk b/mk/exec-env/linux/rte.vars.mk
deleted file mode 100644
index 41ef4195b0..0000000000
--- a/mk/exec-env/linux/rte.vars.mk
+++ /dev/null
@@ -1,44 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2019 Intel Corporation
-
-#
-# exec-env:
-#
-#   - define EXECENV_CFLAGS variable (overridden by cmdline)
-#   - define EXECENV_LDFLAGS variable (overridden by cmdline)
-#   - define EXECENV_ASFLAGS variable (overridden by cmdline)
-#   - may override any previously defined variable
-#
-# examples for RTE_EXEC_ENV: linux, freebsd
-#
-ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
-EXECENV_CFLAGS  = -pthread -fPIC
-else
-EXECENV_CFLAGS  = -pthread
-endif
-
-# include in every library to build
-EXECENV_CFLAGS += -I$(RTE_SDK)/lib/librte_eal/linux/include
-
-EXECENV_LDLIBS  =
-EXECENV_ASFLAGS =
-
-ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
-EXECENV_LDLIBS += -lgcc_s
-endif
-
-EXECENV_LDLIBS-$(CONFIG_RTE_USE_LIBBSD) += -lbsd
-
-# force applications to link with gcc/icc instead of using ld
-LINK_USING_CC := 1
-
-# For shared libraries
-EXECENV_LDFLAGS += -export-dynamic
-# Add library to the group to resolve symbols
-EXECENV_LDLIBS  += -ldl
-
-# EXECENV_LDLIBS-y applies to lib.so and app linking
-# while EXECENV_LDLIBS applies only to app linking.
-EXECENV_LDLIBS += $(EXECENV_LDLIBS-y)
-
-export EXECENV_CFLAGS EXECENV_LDFLAGS EXECENV_ASFLAGS EXECENV_LDLIBS
diff --git a/mk/exec-env/linuxapp b/mk/exec-env/linuxapp
deleted file mode 120000
index ce5e2c77b2..0000000000
--- a/mk/exec-env/linuxapp
+++ /dev/null
@@ -1 +0,0 @@
-linux/
\ No newline at end of file
diff --git a/mk/internal/rte.build-post.mk b/mk/internal/rte.build-post.mk
deleted file mode 100644
index a6b6a9a46a..0000000000
--- a/mk/internal/rte.build-post.mk
+++ /dev/null
@@ -1,34 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-# build helper .mk
-
-# fast way, no need to do prebuild and postbuild
-ifeq ($(PREBUILD)$(POSTBUILD),)
-
-_postbuild: $(_BUILD)
-	@touch _postbuild
-
-else # slower way
-
-_prebuild: $(PREBUILD)
-	@touch _prebuild
-
-ifneq ($(_BUILD),)
-$(_BUILD): _prebuild
-else
-_BUILD = _prebuild
-endif
-
-_build: $(_BUILD)
-	@touch _build
-
-ifneq ($(POSTBUILD),)
-$(POSTBUILD): _build
-else
-POSTBUILD = _build
-endif
-
-_postbuild: $(POSTBUILD)
-	@touch _postbuild
-endif
\ No newline at end of file
diff --git a/mk/internal/rte.build-pre.mk b/mk/internal/rte.build-pre.mk
deleted file mode 100644
index 137612f19b..0000000000
--- a/mk/internal/rte.build-pre.mk
+++ /dev/null
@@ -1,7 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-_BUILD_TARGETS := _prebuild _build _postbuild
-
-comma := ,
-linkerprefix = $(subst -Wl$(comma)-L,-L,$(addprefix -Wl$(comma),$1))
diff --git a/mk/internal/rte.clean-post.mk b/mk/internal/rte.clean-post.mk
deleted file mode 100644
index 77685edd99..0000000000
--- a/mk/internal/rte.clean-post.mk
+++ /dev/null
@@ -1,34 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-# clean helper .mk
-
-# fast way, no need to do preclean and postclean
-ifeq ($(PRECLEAN)$(POSTCLEAN),)
-
-_postclean: $(_CLEAN)
-	@touch _postclean
-
-else # slower way
-
-_preclean: $(PRECLEAN)
-	@touch _preclean
-
-ifneq ($(_CLEAN),)
-$(_CLEAN): _preclean
-else
-_CLEAN = _preclean
-endif
-
-_clean: $(_CLEAN)
-	@touch _clean
-
-ifneq ($(POSTCLEAN),)
-$(POSTCLEAN): _clean
-else
-POSTCLEAN = _clean
-endif
-
-_postclean: $(POSTCLEAN)
-	@touch _postclean
-endif
diff --git a/mk/internal/rte.clean-pre.mk b/mk/internal/rte.clean-pre.mk
deleted file mode 100644
index e21607bff9..0000000000
--- a/mk/internal/rte.clean-pre.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-_CLEAN_TARGETS := _preclean _clean _postclean
diff --git a/mk/internal/rte.compile-post.mk b/mk/internal/rte.compile-post.mk
deleted file mode 100644
index 01525bee1b..0000000000
--- a/mk/internal/rte.compile-post.mk
+++ /dev/null
@@ -1,5 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-# no rule no build these files
-$(DEPS-y) $(CMDS-y):
diff --git a/mk/internal/rte.compile-pre.mk b/mk/internal/rte.compile-pre.mk
deleted file mode 100644
index df05b55769..0000000000
--- a/mk/internal/rte.compile-pre.mk
+++ /dev/null
@@ -1,164 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# Common to rte.lib.mk, rte.app.mk, rte.obj.mk
-#
-
-SRCS-all := $(SRCS-y) $(SRCS-n) $(SRCS-)
-
-# convert source to obj file
-src2obj = $(strip $(patsubst %.c,%.o,\
-	$(patsubst %.S,%_s.o,$(1))))
-
-# add a dot in front of the file name
-dotfile = $(strip $(foreach f,$(1),\
-	$(join $(dir $f),.$(notdir $f))))
-
-# convert source/obj files into dot-dep filename (does not
-# include .S files)
-src2dep = $(strip $(call dotfile,$(patsubst %.c,%.o.d, \
-		$(patsubst %.S,,$(1)))))
-obj2dep = $(strip $(call dotfile,$(patsubst %.o,%.o.d,$(1))))
-
-# convert source/obj files into dot-cmd filename
-src2cmd = $(strip $(call dotfile,$(patsubst %.c,%.o.cmd, \
-		$(patsubst %.S,%_s.o.cmd,$(1)))))
-obj2cmd = $(strip $(call dotfile,$(patsubst %.o,%.o.cmd,$(1))))
-
-OBJS-y := $(call src2obj,$(SRCS-y))
-OBJS-n := $(call src2obj,$(SRCS-n))
-OBJS-  := $(call src2obj,$(SRCS-))
-OBJS-all := $(filter-out $(SRCS-all),$(OBJS-y) $(OBJS-n) $(OBJS-))
-
-DEPS-y := $(call src2dep,$(SRCS-y))
-DEPS-n := $(call src2dep,$(SRCS-n))
-DEPS-  := $(call src2dep,$(SRCS-))
-DEPS-all := $(DEPS-y) $(DEPS-n) $(DEPS-)
-DEPSTMP-all := $(DEPS-all:%.d=%.d.tmp)
-
-CMDS-y := $(call src2cmd,$(SRCS-y))
-CMDS-n := $(call src2cmd,$(SRCS-n))
-CMDS-  := $(call src2cmd,$(SRCS-))
-CMDS-all := $(CMDS-y) $(CMDS-n) $(CMDS-)
-
--include $(DEPS-y) $(CMDS-y)
-
-# command to compile a .c file to generate an object
-ifeq ($(USE_HOST),1)
-C_TO_O = $(HOSTCC) -Wp,-MD,$(call obj2dep,$(@)).tmp $(HOST_CPPFLAGS) $(HOST_CFLAGS) \
-	$(CFLAGS_$(@)) $(HOST_EXTRA_CPPFLAGS) $(HOST_EXTRA_CFLAGS) -o $@ -c $<
-C_TO_O_STR = $(subst ','\'',$(C_TO_O)) #'# fix syntax highlight
-C_TO_O_DISP = $(if $(V),"$(C_TO_O_STR)","  HOSTCC $(@)")
-else
-C_TO_O = $(CC) -Wp,-MD,$(call obj2dep,$(@)).tmp $(CPPFLAGS) $(CFLAGS) \
-	$(CFLAGS_$(@)) $(EXTRA_CPPFLAGS) $(EXTRA_CFLAGS) -o $@ -c $<
-C_TO_O_STR = $(subst ','\'',$(C_TO_O)) #'# fix syntax highlight
-C_TO_O_DISP = $(if $(V),"$(C_TO_O_STR)","  CC $(@)")
-endif
-CHECK_SYMBOLS_SCRIPT = $(RTE_SDK)/buildtools/check-symbols.sh
-CHECK_SYMBOLS = $(CHECK_SYMBOLS_SCRIPT) $(SRCDIR)/$(EXPORT_MAP) $@
-
-PMDINFO_GEN = $(RTE_SDK_BIN)/app/dpdk-pmdinfogen $@ $@.pmd.c
-PMDINFO_CC = $(CC) $(CPPFLAGS) $(CFLAGS) $(EXTRA_CFLAGS) -c -o $@.pmd.o $@.pmd.c
-PMDINFO_LD = $(CROSS)ld -r $(filter-out -export-dynamic,$(LDFLAGS)) -o $@.o $@.pmd.o $@
-PMDINFO_TO_O = if grep -q 'RTE_PMD_REGISTER_.*(.*)' $<; then \
-	echo "$(if $V,$(PMDINFO_GEN),  PMDINFO $@.pmd.c)" && \
-	$(PMDINFO_GEN) && \
-	echo "$(if $V,$(PMDINFO_CC),  CC $@.pmd.o)" && \
-	$(PMDINFO_CC) && \
-	echo "$(if $V,$(PMDINFO_LD),  LD $@)" && \
-	$(PMDINFO_LD) && \
-	mv -f $@.o $@; fi
-C_TO_O_CMD = 'cmd_$@ = $(C_TO_O_STR)'
-C_TO_O_DO = @set -e; \
-	echo $(C_TO_O_DISP); \
-	$(C_TO_O) && \
-	$(PMDINFO_TO_O) && \
-	$(CHECK_SYMBOLS) && \
-	echo $(C_TO_O_CMD) > $(call obj2cmd,$(@)) && \
-	sed 's,'$@':,dep_'$@' =,' $(call obj2dep,$(@)).tmp > $(call obj2dep,$(@)) && \
-	rm -f $(call obj2dep,$(@)).tmp
-
-# return an empty string if string are equal
-compare = $(strip $(subst $(1),,$(2)) $(subst $(2),,$(1)))
-
-# return a non-empty string if the dst file does not exist
-file_missing = $(call compare,$(wildcard $@),$@)
-
-# return a non-empty string if cmdline changed
-cmdline_changed = $(call compare,$(strip $(cmd_$@)),$(strip $(1)))
-
-# return a non-empty string if a dependency file does not exist
-depfile_missing = $(call compare,$(wildcard $(dep_$@)),$(dep_$@))
-
-# return an empty string if no prereq is newer than target
-#     - $^ -> names of all the prerequisites
-#     - $(wildcard $^) -> every existing prereq
-#     - $(filter-out $(wildcard $^),$^) -> every prereq that don't
-#       exist (filter-out removes existing ones from the list)
-#     - $? -> names of all the prerequisites newer than target
-depfile_newer = $(strip $(filter-out FORCE,$? \
-	$(filter-out $(wildcard $^),$^)))
-
-# return 1 if parameter is a non-empty string, else 0
-boolean = $(if $1,1,0)
-
-#
-# Compile .c file if needed
-# Note: dep_$$@ is from the .d file and DEP_$$@ can be specified by
-# user (by default it is empty)
-#
-.SECONDEXPANSION:
-%.o: %.c $$(wildcard $$(dep_$$@)) $$(DEP_$$(@)) FORCE
-	@[ -d $(dir $@) ] || mkdir -p $(dir $@)
-	$(if $(D),\
-		@echo -n "$< -> $@ " ; \
-		echo -n "file_missing=$(call boolean,$(file_missing)) " ; \
-		echo -n "cmdline_changed=$(call boolean,$(call cmdline_changed,$(C_TO_O))) " ; \
-		echo -n "depfile_missing=$(call boolean,$(depfile_missing)) " ; \
-		echo "depfile_newer=$(call boolean,$(depfile_newer))")
-	$(if $(or \
-		$(file_missing),\
-		$(call cmdline_changed,$(C_TO_O)),\
-		$(depfile_missing),\
-		$(depfile_newer)),\
-		$(C_TO_O_DO))
-
-# command to assemble a .S file to generate an object
-ifeq ($(USE_HOST),1)
-S_TO_O = $(CPP) $(HOST_CPPFLAGS) $($(@)_CPPFLAGS) $(HOST_EXTRA_CPPFLAGS) $< $(@).tmp && \
-	$(HOSTAS) $(HOST_ASFLAGS) $($(@)_ASFLAGS) $(HOST_EXTRA_ASFLAGS) -o $@ $(@).tmp
-S_TO_O_STR = $(subst ','\'',$(S_TO_O)) #'# fix syntax highlight
-S_TO_O_DISP =  $(if $(V),"$(S_TO_O_STR)","  HOSTAS $(@)")
-else
-S_TO_O = $(CPP) $(CPPFLAGS) $($(@)_CPPFLAGS) $(EXTRA_CPPFLAGS) $< -o $(@).tmp && \
-	$(AS) $(ASFLAGS) $($(@)_ASFLAGS) $(EXTRA_ASFLAGS) -o $@ $(@).tmp
-S_TO_O_STR = $(subst ','\'',$(S_TO_O)) #'# fix syntax highlight
-S_TO_O_DISP =  $(if $(V),"$(S_TO_O_STR)","  AS $(@)")
-endif
-
-S_TO_O_CMD = "cmd_$@ = $(S_TO_O_STR)"
-S_TO_O_DO = @set -e; \
-	echo $(S_TO_O_DISP); \
-	$(S_TO_O) && \
-	echo $(S_TO_O_CMD) > $(call obj2cmd,$(@))
-
-#
-# Compile .S file if needed
-# Note: DEP_$$@ can be specified by user (by default it is empty)
-#
-%_s.o: %.S $$(DEP_$$@) FORCE
-	@[ ! -d $(dir $@) ] || mkdir -p $(dir $@)
-	$(if $(D),\
-		@echo -n "$< -> $@ " ; \
-		echo -n "file_missing=$(call boolean,$(file_missing)) " ; \
-		echo -n "cmdline_changed=$(call boolean,$(call cmdline_changed,$(S_TO_O_STR))) " ; \
-		echo -n "depfile_missing=$(call boolean,$(depfile_missing)) " ; \
-		echo "depfile_newer=$(call boolean,$(depfile_newer)) ")
-	$(if $(or \
-		$(file_missing),\
-		$(call cmdline_changed,$(S_TO_O_STR)),\
-		$(depfile_missing),\
-		$(depfile_newer)),\
-		$(S_TO_O_DO))
diff --git a/mk/internal/rte.extvars.mk b/mk/internal/rte.extvars.mk
deleted file mode 100644
index 98c860628a..0000000000
--- a/mk/internal/rte.extvars.mk
+++ /dev/null
@@ -1,55 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# directory where sources are located
-#
-ifdef S
-ifeq ("$(origin S)", "command line")
-RTE_SRCDIR := $(abspath $(S))
-endif
-endif
-RTE_SRCDIR  ?= $(CURDIR)
-export RTE_SRCDIR
-
-#
-# Makefile to call once $(RTE_OUTPUT) is created
-#
-ifdef M
-ifeq ("$(origin M)", "command line")
-RTE_EXTMK := $(abspath $(M))
-endif
-endif
-RTE_EXTMK ?= $(RTE_SRCDIR)/$(notdir $(firstword $(MAKEFILE_LIST)))
-export RTE_EXTMK
-
-# RTE_SDK_BIN must point to .config, include/ and lib/.
-RTE_SDK_BIN := $(RTE_SDK)/$(RTE_TARGET)
-ifeq ($(wildcard $(RTE_SDK_BIN)/.config),)
-$(error Cannot find .config in $(RTE_SDK_BIN))
-endif
-
-#
-# Output files wil go in a separate directory: default output is
-# $(RTE_SRCDIR)/build
-# Output dir can be given as command line using "O="
-#
-ifdef O
-ifeq ("$(origin O)", "command line")
-RTE_OUTPUT := $(abspath $(O))
-endif
-endif
-RTE_OUTPUT ?= $(RTE_SRCDIR)/build
-export RTE_OUTPUT
-
-# if we are building an external application, include SDK
-# configuration and include project configuration if any
-include $(RTE_SDK_BIN)/.config
-ifneq ($(wildcard $(RTE_OUTPUT)/.config),)
-  include $(RTE_OUTPUT)/.config
-endif
-# remove double-quotes from config names
-RTE_ARCH := $(CONFIG_RTE_ARCH:"%"=%)
-RTE_MACHINE := $(CONFIG_RTE_MACHINE:"%"=%)
-RTE_EXEC_ENV := $(CONFIG_RTE_EXEC_ENV:"%"=%)
-RTE_TOOLCHAIN := $(CONFIG_RTE_TOOLCHAIN:"%"=%)
diff --git a/mk/internal/rte.install-post.mk b/mk/internal/rte.install-post.mk
deleted file mode 100644
index a1aa0ca4ff..0000000000
--- a/mk/internal/rte.install-post.mk
+++ /dev/null
@@ -1,71 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-# install helper .mk
-
-#
-# generate rules to install files in RTE_OUTPUT.
-#
-# arg1: relative install dir in RTE_OUTPUT
-# arg2: relative file name in a source dir (VPATH)
-#
-define install_rule
-$(addprefix $(RTE_OUTPUT)/$(1)/,$(notdir $(2))): $(2)
-	@echo "  INSTALL-FILE $(addprefix $(1)/,$(notdir $(2)))"
-	@[ -d $(RTE_OUTPUT)/$(1) ] || mkdir -p $(RTE_OUTPUT)/$(1)
-	$(Q)cp -rf $$(<) $(RTE_OUTPUT)/$(1)
-endef
-
-$(foreach dir,$(INSTALL-DIRS-y),\
-	$(foreach file,$(INSTALL-y-$(dir)),\
-		$(eval $(call install_rule,$(dir),$(file)))))
-
-
-#
-# generate rules to install symbolic links of files in RTE_OUTPUT.
-#
-# arg1: relative install dir in RTE_OUTPUT
-# arg2: relative file name in a source dir (VPATH)
-#
-define symlink_rule
-$(addprefix $(RTE_OUTPUT)/$(1)/,$(notdir $(2))): $(2)
-	@echo "  SYMLINK-FILE $(addprefix $(1)/,$(notdir $(2)))"
-	@[ -d $(RTE_OUTPUT)/$(1) ] || mkdir -p $(RTE_OUTPUT)/$(1)
-	$(Q)ln -nsf `$(RTE_SDK)/buildtools/relpath.sh $$(<) $(RTE_OUTPUT)/$(1)` \
-		$(RTE_OUTPUT)/$(1)
-endef
-
-$(foreach dir,$(SYMLINK-DIRS-y),\
-	$(foreach file,$(SYMLINK-y-$(dir)),\
-		$(eval $(call symlink_rule,$(dir),$(file)))))
-
-
-# fast way, no need to do preinstall and postinstall
-ifeq ($(PREINSTALL)$(POSTINSTALL),)
-
-_postinstall: $(_INSTALL)
-	@touch _postinstall
-
-else # slower way
-
-_preinstall: $(PREINSTALL)
-	@touch _preinstall
-
-ifneq ($(_INSTALL),)
-$(_INSTALL): _preinstall
-else
-_INSTALL = _preinstall
-endif
-
-_install: $(_INSTALL)
-	@touch _install
-
-ifneq ($(POSTINSTALL),)
-$(POSTINSTALL): _install
-else
-POSTINSTALL = _install
-endif
-
-_postinstall: $(POSTINSTALL)
-	@touch _postinstall
-endif
diff --git a/mk/internal/rte.install-pre.mk b/mk/internal/rte.install-pre.mk
deleted file mode 100644
index 4786d3b28b..0000000000
--- a/mk/internal/rte.install-pre.mk
+++ /dev/null
@@ -1,32 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# get all variables starting with "INSTALL-y-", and extract the
-# installation dir and path
-#
-INSTALL-y := $(filter INSTALL-y-%,$(.VARIABLES))
-INSTALL-n := $(filter INSTALL-n-%,$(.VARIABLES))
-INSTALL- := $(filter INSTALL--%,$(.VARIABLES))
-INSTALL-DIRS-y := $(patsubst INSTALL-y-%,%,$(INSTALL-y))
-INSTALL-FILES-y := $(foreach i,$(INSTALL-DIRS-y),\
-	$(addprefix $(RTE_OUTPUT)/$(i)/,$(notdir $(INSTALL-y-$(i)))))
-INSTALL-FILES-all := $(foreach i,$(INSTALL-DIRS-y) $(INSTALL-DIRS-n) $(INSTALL-DIRS-),\
-	$(addprefix $(RTE_OUTPUT)/$(i)/,$(notdir $(INSTALL-y-$(i)))))
-
-_INSTALL_TARGETS := _preinstall _install _postinstall
-
-#
-# get all variables starting with "SYMLINK-y-", and extract the
-# installation dir and path
-#
-SYMLINK-y := $(filter SYMLINK-y-%,$(.VARIABLES))
-SYMLINK-n := $(filter SYMLINK-n-%,$(.VARIABLES))
-SYMLINK- := $(filter SYMLINK--%,$(.VARIABLES))
-SYMLINK-DIRS-y := $(patsubst SYMLINK-y-%,%,$(SYMLINK-y))
-SYMLINK-FILES-y := $(foreach i,$(SYMLINK-DIRS-y),\
-	$(addprefix $(RTE_OUTPUT)/$(i)/,$(notdir $(SYMLINK-y-$(i)))))
-SYMLINK-FILES-all := $(foreach i,$(SYMLINK-DIRS-y) $(SYMLINK-DIRS-n) $(SYMLINK-DIRS-),\
-	$(addprefix $(RTE_OUTPUT)/$(i)/,$(notdir $(SYMLINK-y-$(i)))))
-
-_SYMLINK_TARGETS := _presymlink _symlink _postsymlink
diff --git a/mk/machine/armv7a/rte.vars.mk b/mk/machine/armv7a/rte.vars.mk
deleted file mode 100644
index 44ebd68dae..0000000000
--- a/mk/machine/armv7a/rte.vars.mk
+++ /dev/null
@@ -1,36 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright (C) 2015 RehiveTech. All rights reserved.
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-MACHINE_CFLAGS += -march=armv7-a
-
-ifdef CONFIG_RTE_ARCH_ARM_TUNE
-MACHINE_CFLAGS += -mtune=$(CONFIG_RTE_ARCH_ARM_TUNE:"%"=%)
-endif
-
-MACHINE_CFLAGS += -mfpu=neon
diff --git a/mk/machine/armv8a/rte.vars.mk b/mk/machine/armv8a/rte.vars.mk
deleted file mode 100644
index 5e3ffc3adf..0000000000
--- a/mk/machine/armv8a/rte.vars.mk
+++ /dev/null
@@ -1,31 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2015 Cavium, Inc
-#
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-MACHINE_CFLAGS += -march=armv8-a+crc
diff --git a/mk/machine/default/rte.vars.mk b/mk/machine/default/rte.vars.mk
deleted file mode 100644
index df08d3b038..0000000000
--- a/mk/machine/default/rte.vars.mk
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-MACHINE_CFLAGS += -march=corei7
diff --git a/mk/machine/dpaa/rte.vars.mk b/mk/machine/dpaa/rte.vars.mk
deleted file mode 100644
index 75df626ff2..0000000000
--- a/mk/machine/dpaa/rte.vars.mk
+++ /dev/null
@@ -1,37 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright (c) 2016 Freescale Semiconductor, Inc. All rights reserved.
-# Copyright 2017 NXP
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-MACHINE_CFLAGS += -march=armv8-a+crc
-
-ifdef CONFIG_RTE_ARCH_ARM_TUNE
-MACHINE_CFLAGS += -mtune=$(CONFIG_RTE_ARCH_ARM_TUNE:"%"=%)
-endif
-
-# To avoid TLS corruption issue.
-MACHINE_CFLAGS += -mtls-dialect=trad
diff --git a/mk/machine/emag/rte.vars.mk b/mk/machine/emag/rte.vars.mk
deleted file mode 100644
index 50342dfa27..0000000000
--- a/mk/machine/emag/rte.vars.mk
+++ /dev/null
@@ -1,32 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019 Ampere Computing
-#
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-MACHINE_CFLAGS += -march=armv8-a+crc+crypto
-MACHINE_CFLAGS += $(call rte_cc_has_argument, -mtune=emag)
diff --git a/mk/machine/hsw/rte.vars.mk b/mk/machine/hsw/rte.vars.mk
deleted file mode 100644
index 39099e760e..0000000000
--- a/mk/machine/hsw/rte.vars.mk
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-MACHINE_CFLAGS = -march=core-avx2
diff --git a/mk/machine/ivb/rte.vars.mk b/mk/machine/ivb/rte.vars.mk
deleted file mode 100644
index 5b6563742a..0000000000
--- a/mk/machine/ivb/rte.vars.mk
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-MACHINE_CFLAGS = -march=core-avx-i
diff --git a/mk/machine/n1sdp/rte.vars.mk b/mk/machine/n1sdp/rte.vars.mk
deleted file mode 100644
index 6d69de03c9..0000000000
--- a/mk/machine/n1sdp/rte.vars.mk
+++ /dev/null
@@ -1,34 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2019 Arm Ltd
-#
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-include $(RTE_SDK)/mk/rte.helper.mk
-
-MACHINE_CFLAGS += $(call rte_cc_has_argument, -march=armv8.2-a+crc+crypto)
-MACHINE_CFLAGS += $(call rte_cc_has_argument, -mcpu=neoverse-n1)
diff --git a/mk/machine/native/rte.vars.mk b/mk/machine/native/rte.vars.mk
deleted file mode 100644
index 8c96e3fa04..0000000000
--- a/mk/machine/native/rte.vars.mk
+++ /dev/null
@@ -1,39 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-MACHINE_CFLAGS = -march=native
-
-# On FreeBSD systems, sometimes the correct CPU type is not picked up.
-# To get everything to compile, we need SSE4.2 support, so check if that is
-# reported by compiler. If not, check if the CPU actually supports it, and if
-# so, set the compilation target to be a corei7, minimum target with SSE4.2.
-SSE42_SUPPORT=$(shell $(CC) -march=native -dM -E - </dev/null | grep SSE4_2)
-ifeq ($(SSE42_SUPPORT),)
-    MACHINE_CFLAGS = -march=corei7
-endif
diff --git a/mk/machine/nhm/rte.vars.mk b/mk/machine/nhm/rte.vars.mk
deleted file mode 100644
index 91de5d9bed..0000000000
--- a/mk/machine/nhm/rte.vars.mk
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-MACHINE_CFLAGS = -march=corei7
diff --git a/mk/machine/octeontx2/rte.vars.mk b/mk/machine/octeontx2/rte.vars.mk
deleted file mode 100644
index e209cf4920..0000000000
--- a/mk/machine/octeontx2/rte.vars.mk
+++ /dev/null
@@ -1,34 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Marvell International Ltd
-#
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-include $(RTE_SDK)/mk/rte.helper.mk
-
-MACHINE_CFLAGS += $(call rte_cc_has_argument, -march=armv8.2-a+crc+crypto+lse)
-MACHINE_CFLAGS += $(call rte_cc_has_argument, -mcpu=octeontx2)
diff --git a/mk/machine/power8/rte.vars.mk b/mk/machine/power8/rte.vars.mk
deleted file mode 100644
index 00e0834b8a..0000000000
--- a/mk/machine/power8/rte.vars.mk
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright (C) IBM Corporation 2014.
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-MACHINE_CFLAGS =
diff --git a/mk/machine/silvermont/rte.vars.mk b/mk/machine/silvermont/rte.vars.mk
deleted file mode 100644
index e4f3fe42bd..0000000000
--- a/mk/machine/silvermont/rte.vars.mk
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-MACHINE_CFLAGS = -march=silvermont
diff --git a/mk/machine/snb/rte.vars.mk b/mk/machine/snb/rte.vars.mk
deleted file mode 100644
index efe2f32d70..0000000000
--- a/mk/machine/snb/rte.vars.mk
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-MACHINE_CFLAGS = -march=corei7-avx
diff --git a/mk/machine/thunderx/rte.vars.mk b/mk/machine/thunderx/rte.vars.mk
deleted file mode 100644
index 047741668c..0000000000
--- a/mk/machine/thunderx/rte.vars.mk
+++ /dev/null
@@ -1,31 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2015 Cavium, Inc
-#
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-MACHINE_CFLAGS += -march=armv8-a+crc+crypto -mcpu=thunderx
diff --git a/mk/machine/thunderx2/rte.vars.mk b/mk/machine/thunderx2/rte.vars.mk
deleted file mode 100644
index b80dc8680c..0000000000
--- a/mk/machine/thunderx2/rte.vars.mk
+++ /dev/null
@@ -1,34 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Marvell International Ltd
-#
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-include $(RTE_SDK)/mk/rte.helper.mk
-
-MACHINE_CFLAGS += $(call rte_cc_has_argument, -march=armv8.1-a+crc+crypto)
-MACHINE_CFLAGS += $(call rte_cc_has_argument, -mcpu=thunderx2t99)
diff --git a/mk/machine/wsm/rte.vars.mk b/mk/machine/wsm/rte.vars.mk
deleted file mode 100644
index e9bc3f9848..0000000000
--- a/mk/machine/wsm/rte.vars.mk
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-MACHINE_CFLAGS = -march=corei7 -maes -mpclmul
diff --git a/mk/machine/xgene1/rte.vars.mk b/mk/machine/xgene1/rte.vars.mk
deleted file mode 100644
index e632f3139b..0000000000
--- a/mk/machine/xgene1/rte.vars.mk
+++ /dev/null
@@ -1,31 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2015 Cavium, Inc
-#
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - may override any previously defined variable
-#
-
-# ARCH =
-# CROSS =
-# MACHINE_CFLAGS =
-# MACHINE_LDFLAGS =
-# MACHINE_ASFLAGS =
-# CPU_CFLAGS =
-# CPU_LDFLAGS =
-# CPU_ASFLAGS =
-
-MACHINE_CFLAGS += -march=armv8-a
diff --git a/mk/rte.app.mk b/mk/rte.app.mk
deleted file mode 100644
index a544259970..0000000000
--- a/mk/rte.app.mk
+++ /dev/null
@@ -1,509 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2017 Intel Corporation.
-# Copyright(c) 2014-2015 6WIND S.A.
-
-include $(RTE_SDK)/mk/internal/rte.compile-pre.mk
-include $(RTE_SDK)/mk/internal/rte.install-pre.mk
-include $(RTE_SDK)/mk/internal/rte.clean-pre.mk
-include $(RTE_SDK)/mk/internal/rte.build-pre.mk
-
-# VPATH contains at least SRCDIR
-VPATH += $(SRCDIR)
-
-_BUILD = $(APP)
-_INSTALL = $(INSTALL-FILES-y) $(SYMLINK-FILES-y)
-_INSTALL += $(RTE_OUTPUT)/app/$(APP) $(RTE_OUTPUT)/app/$(APP).map
-POSTINSTALL += target-appinstall
-_CLEAN = doclean
-POSTCLEAN += target-appclean
-
-ifeq ($(NO_LDSCRIPT),)
-LDSCRIPT = $(RTE_LDSCRIPT)
-endif
-
-# Link only the libraries used in the application
-LDFLAGS += --as-needed
-
-# default path for libs
-_LDLIBS-y += -L$(RTE_SDK_BIN)/lib
-
-#
-# Order is important: from higher level to lower level
-#
-_LDLIBS-$(CONFIG_RTE_LIBRTE_FLOW_CLASSIFY)  += -lrte_flow_classify
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PIPELINE)       += --whole-archive
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PIPELINE)       += -lrte_pipeline
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PIPELINE)       += --no-whole-archive
-_LDLIBS-$(CONFIG_RTE_LIBRTE_TABLE)          += --whole-archive
-_LDLIBS-$(CONFIG_RTE_LIBRTE_TABLE)          += -lrte_table
-_LDLIBS-$(CONFIG_RTE_LIBRTE_TABLE)          += --no-whole-archive
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PORT)           += --whole-archive
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PORT)           += -lrte_port
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PORT)           += --no-whole-archive
-
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PDUMP)          += -lrte_pdump
-_LDLIBS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR)    += -lrte_distributor
-_LDLIBS-$(CONFIG_RTE_LIBRTE_IP_FRAG)        += -lrte_ip_frag
-_LDLIBS-$(CONFIG_RTE_LIBRTE_METER)          += -lrte_meter
-_LDLIBS-$(CONFIG_RTE_LIBRTE_FIB)            += -lrte_fib
-_LDLIBS-$(CONFIG_RTE_LIBRTE_RIB)            += -lrte_rib
-_LDLIBS-$(CONFIG_RTE_LIBRTE_LPM)            += -lrte_lpm
-_LDLIBS-$(CONFIG_RTE_LIBRTE_ACL)            += -lrte_acl
-_LDLIBS-$(CONFIG_RTE_LIBRTE_JOBSTATS)       += -lrte_jobstats
-_LDLIBS-$(CONFIG_RTE_LIBRTE_METRICS)        += --whole-archive
-_LDLIBS-$(CONFIG_RTE_LIBRTE_METRICS)        += -lrte_metrics
-ifeq ($(CONFIG_RTE_LIBRTE_TELEMETRY),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_METRICS)        += -ljansson
-endif
-_LDLIBS-$(CONFIG_RTE_LIBRTE_METRICS)        += --no-whole-archive
-_LDLIBS-$(CONFIG_RTE_LIBRTE_BITRATE)        += -lrte_bitratestats
-_LDLIBS-$(CONFIG_RTE_LIBRTE_LATENCY_STATS)  += -lrte_latencystats
-_LDLIBS-$(CONFIG_RTE_LIBRTE_POWER)          += -lrte_power
-
-_LDLIBS-$(CONFIG_RTE_LIBRTE_EFD)            += -lrte_efd
-_LDLIBS-$(CONFIG_RTE_LIBRTE_BPF)            += -lrte_bpf
-ifeq ($(CONFIG_RTE_LIBRTE_BPF_ELF),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_BPF)            += -lelf
-endif
-
-_LDLIBS-$(CONFIG_RTE_LIBRTE_IPSEC)            += -lrte_ipsec
-
-_LDLIBS-y += --whole-archive
-
-_LDLIBS-$(CONFIG_RTE_LIBRTE_CFGFILE)        += -lrte_cfgfile
-_LDLIBS-$(CONFIG_RTE_LIBRTE_GRO)            += -lrte_gro
-_LDLIBS-$(CONFIG_RTE_LIBRTE_GSO)            += -lrte_gso
-_LDLIBS-$(CONFIG_RTE_LIBRTE_HASH)           += -lrte_hash
-_LDLIBS-$(CONFIG_RTE_LIBRTE_MEMBER)         += -lrte_member
-_LDLIBS-$(CONFIG_RTE_LIBRTE_VHOST)          += -lrte_vhost
-_LDLIBS-$(CONFIG_RTE_LIBRTE_KVARGS)         += -lrte_kvargs
-_LDLIBS-y                                   += -lrte_telemetry
-_LDLIBS-$(CONFIG_RTE_LIBRTE_MBUF)           += -lrte_mbuf
-_LDLIBS-$(CONFIG_RTE_LIBRTE_NET)            += -lrte_net
-_LDLIBS-$(CONFIG_RTE_LIBRTE_ETHER)          += -lrte_ethdev
-_LDLIBS-$(CONFIG_RTE_LIBRTE_BBDEV)          += -lrte_bbdev
-_LDLIBS-$(CONFIG_RTE_LIBRTE_CRYPTODEV)      += -lrte_cryptodev
-_LDLIBS-$(CONFIG_RTE_LIBRTE_SECURITY)       += -lrte_security
-_LDLIBS-$(CONFIG_RTE_LIBRTE_COMPRESSDEV)    += -lrte_compressdev
-_LDLIBS-$(CONFIG_RTE_LIBRTE_REGEXDEV)       += -lrte_regexdev
-_LDLIBS-$(CONFIG_RTE_LIBRTE_EVENTDEV)       += -lrte_eventdev
-_LDLIBS-$(CONFIG_RTE_LIBRTE_RAWDEV)         += -lrte_rawdev
-_LDLIBS-$(CONFIG_RTE_LIBRTE_TIMER)          += -lrte_timer
-_LDLIBS-$(CONFIG_RTE_LIBRTE_MEMPOOL)        += -lrte_mempool
-_LDLIBS-$(CONFIG_RTE_LIBRTE_STACK)          += -lrte_stack
-_LDLIBS-$(CONFIG_RTE_DRIVER_MEMPOOL_RING)   += -lrte_mempool_ring
-_LDLIBS-$(CONFIG_RTE_LIBRTE_OCTEONTX2_MEMPOOL) += -lrte_mempool_octeontx2
-_LDLIBS-$(CONFIG_RTE_LIBRTE_RING)           += -lrte_ring
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PCI)            += -lrte_pci
-_LDLIBS-$(CONFIG_RTE_LIBRTE_EAL)            += -lrte_eal
-_LDLIBS-$(CONFIG_RTE_LIBRTE_CMDLINE)        += -lrte_cmdline
-_LDLIBS-$(CONFIG_RTE_LIBRTE_REORDER)        += -lrte_reorder
-_LDLIBS-$(CONFIG_RTE_LIBRTE_SCHED)          += -lrte_sched
-_LDLIBS-$(CONFIG_RTE_LIBRTE_RCU)            += -lrte_rcu
-_LDLIBS-$(CONFIG_RTE_LIBRTE_GRAPH)          += -lrte_graph
-_LDLIBS-$(CONFIG_RTE_LIBRTE_NODE)           += -lrte_node
-
-ifeq ($(CONFIG_RTE_EXEC_ENV_LINUX),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_KNI)            += -lrte_kni
-endif
-
-OTX-CPT-y := $(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_CRYPTO)
-OTX-CPT-y += $(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO)
-ifeq ($(findstring y,$(OTX-CPT-y)),y)
-_LDLIBS-y += -lrte_common_cpt
-endif
-
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF)$(CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL),yy)
-_LDLIBS-y += -lrte_common_octeontx
-endif
-OCTEONTX2-y := $(CONFIG_RTE_LIBRTE_OCTEONTX2_MEMPOOL)
-OCTEONTX2-y += $(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO)
-OCTEONTX2-y += $(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV)
-OCTEONTX2-y += $(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_DMA_RAWDEV)
-OCTEONTX2-y += $(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EP_RAWDEV)
-OCTEONTX2-y += $(CONFIG_RTE_LIBRTE_OCTEONTX2_PMD)
-ifeq ($(findstring y,$(OCTEONTX2-y)),y)
-_LDLIBS-y += -lrte_common_octeontx2
-endif
-
-MVEP-y := $(CONFIG_RTE_LIBRTE_MVPP2_PMD)
-MVEP-y += $(CONFIG_RTE_LIBRTE_MVNETA_PMD)
-MVEP-y += $(CONFIG_RTE_LIBRTE_PMD_MVSAM_CRYPTO)
-ifneq (,$(findstring y,$(MVEP-y)))
-_LDLIBS-y += -lrte_common_mvep -L$(LIBMUSDK_PATH)/lib -lmusdk
-endif
-
-DPAAX-y := $(CONFIG_RTE_LIBRTE_DPAA_BUS)
-DPAAX-y += $(CONFIG_RTE_LIBRTE_FSLMC_BUS)
-DPAAX-y += $(CONFIG_RTE_LIBRTE_ENETC_PMD)
-DPAAX-y += $(CONFIG_RTE_LIBRTE_PMD_CAAM_JR)
-DPAAX-y += $(CONFIG_RTE_LIBRTE_PFE_PMD)
-ifeq ($(findstring y,$(DPAAX-y)),y)
- _LDLIBS-y += -lrte_common_dpaax
-endif
-
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PCI_BUS)        += -lrte_bus_pci
-_LDLIBS-$(CONFIG_RTE_LIBRTE_VDEV_BUS)       += -lrte_bus_vdev
-_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA_BUS)       += -lrte_bus_dpaa
-ifeq ($(CONFIG_RTE_EAL_VFIO),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_FSLMC_BUS)      += -lrte_bus_fslmc
-endif
-
-ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),n)
-# plugins (link only if static libraries)
-
-_LDLIBS-$(CONFIG_RTE_DRIVER_MEMPOOL_BUCKET) += -lrte_mempool_bucket
-_LDLIBS-$(CONFIG_RTE_DRIVER_MEMPOOL_STACK)  += -lrte_mempool_stack
-ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA_MEMPOOL)   += -lrte_mempool_dpaa
-endif
-ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL)  += -lrte_mempool_dpaa2
-endif
-
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AF_PACKET)  += -lrte_pmd_af_packet
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AF_XDP)     += -lrte_pmd_af_xdp -lbpf
-_LDLIBS-$(CONFIG_RTE_LIBRTE_ARK_PMD)        += -lrte_pmd_ark
-_LDLIBS-$(CONFIG_RTE_LIBRTE_ATLANTIC_PMD)   += -lrte_pmd_atlantic
-_LDLIBS-$(CONFIG_RTE_LIBRTE_AVP_PMD)        += -lrte_pmd_avp
-_LDLIBS-$(CONFIG_RTE_LIBRTE_AXGBE_PMD)      += -lrte_pmd_axgbe
-_LDLIBS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD)      += -lrte_pmd_bnx2x -lz
-_LDLIBS-$(CONFIG_RTE_LIBRTE_BNXT_PMD)       += -lrte_pmd_bnxt
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BOND)       += -lrte_pmd_bond
-_LDLIBS-$(CONFIG_RTE_LIBRTE_CXGBE_PMD)      += -lrte_pmd_cxgbe
-ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA_PMD)       += -lrte_pmd_dpaa
-endif
-ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD)      += -lrte_pmd_dpaa2
-endif
-_LDLIBS-$(CONFIG_RTE_LIBRTE_E1000_PMD)      += -lrte_pmd_e1000
-_LDLIBS-$(CONFIG_RTE_LIBRTE_ENA_PMD)        += -lrte_pmd_ena
-_LDLIBS-$(CONFIG_RTE_LIBRTE_ENETC_PMD)      += -lrte_pmd_enetc
-_LDLIBS-$(CONFIG_RTE_LIBRTE_ENIC_PMD)       += -lrte_pmd_enic
-_LDLIBS-$(CONFIG_RTE_LIBRTE_FM10K_PMD)      += -lrte_pmd_fm10k
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_FAILSAFE)   += -lrte_pmd_failsafe
-_LDLIBS-$(CONFIG_RTE_LIBRTE_HINIC_PMD)      += -lrte_pmd_hinic
-_LDLIBS-$(CONFIG_RTE_LIBRTE_HNS3_PMD)       += -lrte_pmd_hns3
-_LDLIBS-$(CONFIG_RTE_LIBRTE_I40E_PMD)       += -lrte_pmd_i40e
-_LDLIBS-$(CONFIG_RTE_LIBRTE_IAVF_PMD)       += -lrte_pmd_iavf
-_LDLIBS-$(CONFIG_RTE_LIBRTE_ICE_PMD)        += -lrte_pmd_ice
-IAVF-y := $(CONFIG_RTE_LIBRTE_IAVF_PMD)
-IAVF-y += $(CONFIG_RTE_LIBRTE_ICE_PMD)
-ifeq ($(findstring y,$(IAVF-y)),y)
-_LDLIBS-y += -lrte_common_iavf
-endif
-_LDLIBS-$(CONFIG_RTE_LIBRTE_IGC_PMD)        += -lrte_pmd_igc
-_LDLIBS-$(CONFIG_RTE_LIBRTE_IONIC_PMD)      += -lrte_pmd_ionic
-_LDLIBS-$(CONFIG_RTE_LIBRTE_IXGBE_PMD)      += -lrte_pmd_ixgbe
-ifeq ($(CONFIG_RTE_LIBRTE_KNI),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_KNI)        += -lrte_pmd_kni
-endif
-_LDLIBS-$(CONFIG_RTE_LIBRTE_LIO_PMD)        += -lrte_pmd_lio
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_MEMIF)      += -lrte_pmd_memif
-_LDLIBS-$(CONFIG_RTE_LIBRTE_MLX4_PMD)       += -lrte_pmd_mlx4
-ifeq ($(findstring y,$(CONFIG_RTE_LIBRTE_MLX5_PMD)$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD)),y)
-_LDLIBS-y                                   += -lrte_common_mlx5
-endif
-_LDLIBS-$(CONFIG_RTE_LIBRTE_MLX5_PMD)       += -lrte_pmd_mlx5
-_LDLIBS-$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)  += -lrte_pmd_mlx5_vdpa
-_LDLIBS-$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD)  += -lrte_pmd_mlx5_regex
-ifeq ($(CONFIG_RTE_IBVERBS_LINK_DLOPEN),y)
-_LDLIBS-y                                   += -ldl
-else ifeq ($(CONFIG_RTE_IBVERBS_LINK_STATIC),y)
-LIBS_IBVERBS_STATIC = $(shell $(RTE_SDK)/buildtools/options-ibverbs-static.sh)
-_LDLIBS-y                                   += --no-whole-archive
-_LDLIBS-y                                   += $(LIBS_IBVERBS_STATIC)
-_LDLIBS-y                                   += --whole-archive
-else
-ifeq ($(findstring y,$(CONFIG_RTE_LIBRTE_MLX5_PMD)$(CONFIG_RTE_LIBRTE_MLX5_VDPA_PMD)$(CONFIG_RTE_LIBRTE_MLX5_REGEX_PMD)),y)
-_LDLIBS-y                                   += -libverbs -lmlx5
-endif
-_LDLIBS-$(CONFIG_RTE_LIBRTE_MLX4_PMD)       += -libverbs -lmlx4
-endif
-_LDLIBS-$(CONFIG_RTE_LIBRTE_MVPP2_PMD)      += -lrte_pmd_mvpp2
-_LDLIBS-$(CONFIG_RTE_LIBRTE_MVNETA_PMD)     += -lrte_pmd_mvneta
-_LDLIBS-$(CONFIG_RTE_LIBRTE_NFP_PMD)        += -lrte_pmd_nfp
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_NULL)       += -lrte_pmd_null
-_LDLIBS-$(CONFIG_RTE_LIBRTE_OCTEONTX2_PMD)  += -lrte_pmd_octeontx2 -lm
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_PCAP)       += -lrte_pmd_pcap -lpcap
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PFE_PMD)        += -lrte_pmd_pfe
-_LDLIBS-$(CONFIG_RTE_LIBRTE_QEDE_PMD)       += -lrte_pmd_qede
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_RING)       += -lrte_pmd_ring
-ifeq ($(CONFIG_RTE_LIBRTE_SCHED),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC)      += -lrte_pmd_softnic
-endif
-_LDLIBS-$(CONFIG_RTE_LIBRTE_SFC_EFX_PMD)    += -lrte_pmd_sfc_efx
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_SZEDATA2)   += -lrte_pmd_szedata2 -lsze2
-_LDLIBS-$(CONFIG_RTE_LIBRTE_NFB_PMD)        += -lrte_pmd_nfb
-_LDLIBS-$(CONFIG_RTE_LIBRTE_NFB_PMD)        +=  $(shell command -v pkg-config > /dev/null 2>&1 && pkg-config --libs netcope-common)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_TAP)        += -lrte_pmd_tap
-_LDLIBS-$(CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD) += -lrte_pmd_thunderx_nicvf
-_LDLIBS-$(CONFIG_RTE_LIBRTE_VDEV_NETVSC_PMD) += -lrte_pmd_vdev_netvsc
-_LDLIBS-$(CONFIG_RTE_LIBRTE_VIRTIO_PMD)     += -lrte_pmd_virtio
-ifeq ($(CONFIG_RTE_LIBRTE_VHOST),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_VHOST)      += -lrte_pmd_vhost
-ifeq ($(CONFIG_RTE_EAL_VFIO),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_IFC_PMD) += -lrte_pmd_ifc
-endif # $(CONFIG_RTE_EAL_VFIO)
-endif # $(CONFIG_RTE_LIBRTE_VHOST)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_VMXNET3_PMD)    += -lrte_pmd_vmxnet3_uio
-
-_LDLIBS-$(CONFIG_RTE_LIBRTE_VMBUS)          += -lrte_bus_vmbus
-_LDLIBS-$(CONFIG_RTE_LIBRTE_NETVSC_PMD)     += -lrte_pmd_netvsc
-
-ifeq ($(CONFIG_RTE_LIBRTE_BBDEV),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_NULL)     += -lrte_pmd_bbdev_null
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_LTE_FEC) += -lrte_pmd_bbdev_fpga_lte_fec
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_FPGA_5GNR_FEC) += -lrte_pmd_bbdev_fpga_5gnr_fec
-
-# TURBO SOFTWARE PMD is dependent on the FLEXRAN library
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += -lrte_pmd_bbdev_turbo_sw
-ifeq ($(CONFIG_RTE_BBDEV_SDK_AVX2),y)
-# Dependency on the FLEXRAN SDK library if available
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += -L$(FLEXRAN_SDK)/lib_crc -lcrc
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += -L$(FLEXRAN_SDK)/lib_turbo -lturbo
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += -L$(FLEXRAN_SDK)/lib_rate_matching -lrate_matching
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += -L$(FLEXRAN_SDK)/lib_common -lcommon
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += -lirc -limf -lstdc++ -lipps -lsvml
-ifeq ($(CONFIG_RTE_BBDEV_SDK_AVX512),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += -L$(FLEXRAN_SDK)/lib_LDPC_ratematch_5gnr -lLDPC_ratematch_5gnr
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += -L$(FLEXRAN_SDK)/lib_ldpc_encoder_5gnr -lldpc_encoder_5gnr
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += -L$(FLEXRAN_SDK)/lib_ldpc_decoder_5gnr -lldpc_decoder_5gnr
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW) += -L$(FLEXRAN_SDK)/lib_rate_dematching_5gnr -lrate_dematching_5gnr
-endif # CONFIG_RTE_BBDEV_SDK_AVX512
-endif # CONFIG_RTE_BBDEV_SDK_AVX2
-endif # CONFIG_RTE_LIBRTE_BBDEV
-
-ifeq ($(CONFIG_RTE_LIBRTE_CRYPTODEV),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB)    += -lrte_pmd_aesni_mb
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB)    += -lIPSec_MB
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_GCM)   += -lrte_pmd_aesni_gcm
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_GCM)   += -lIPSec_MB
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_CCP)         += -lrte_pmd_ccp -lcrypto
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_OPENSSL)     += -lrte_pmd_openssl -lcrypto
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_NULL_CRYPTO) += -lrte_pmd_null_crypto
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_QAT),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_QAT_SYM)     += -lrte_pmd_qat -lcrypto
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_QAT_ASYM)    += -lrte_pmd_qat -lcrypto
-endif # CONFIG_RTE_LIBRTE_PMD_QAT
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_SNOW3G)      += -lrte_pmd_snow3g
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_SNOW3G)      += -lIPSec_MB
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_KASUMI)      += -lrte_pmd_kasumi
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_KASUMI)      += -lIPSec_MB
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ZUC)         += -lrte_pmd_zuc
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ZUC)         += -lIPSec_MB
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO)    += -lrte_pmd_armv8
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO)    += -L$(ARMV8_CRYPTO_LIB_PATH) -lAArch64crypto
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_MVSAM_CRYPTO) += -L$(LIBMUSDK_PATH)/lib -lrte_pmd_mvsam_crypto -lmusdk
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_NITROX)      += -lrte_pmd_nitrox
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_CRYPTO) += -lrte_pmd_octeontx_crypto
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO) += -lrte_pmd_octeontx2_crypto
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += -lrte_pmd_crypto_scheduler
-ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_SEC)   += -lrte_pmd_dpaa2_sec
-endif # CONFIG_RTE_LIBRTE_FSLMC_BUS
-ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_SEC)   += -lrte_pmd_dpaa_sec
-endif # CONFIG_RTE_LIBRTE_DPAA_BUS
-ifeq ($(CONFIG_RTE_LIBRTE_SECURITY),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_CAAM_JR)   += -lrte_pmd_caam_jr
-endif # CONFIG_RTE_LIBRTE_SECURITY
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_VIRTIO_CRYPTO) += -lrte_pmd_virtio_crypto
-endif # CONFIG_RTE_LIBRTE_CRYPTODEV
-
-ifeq ($(CONFIG_RTE_LIBRTE_COMPRESSDEV),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ISAL) += -lrte_pmd_isal_comp
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ISAL) += -lisal
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_ZIPVF) += -lrte_pmd_octeontx_zip
-# Link QAT driver if it has not been linked yet
-ifeq ($(CONFIG_RTE_LIBRTE_PMD_QAT_SYM),n)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_QAT)  += -lrte_pmd_qat
-endif # CONFIG_RTE_LIBRTE_PMD_QAT_SYM
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ZLIB) += -lrte_pmd_zlib
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_ZLIB) += -lz
-endif # CONFIG_RTE_LIBRTE_COMPRESSDEV
-
-ifeq ($(CONFIG_RTE_LIBRTE_EVENTDEV),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_SKELETON_EVENTDEV) += -lrte_pmd_skeleton_event
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_SW_EVENTDEV) += -lrte_pmd_sw_event
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DSW_EVENTDEV) += -lrte_pmd_dsw_event
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += -lrte_pmd_octeontx_ssovf
-ifeq ($(CONFIG_RTE_LIBRTE_DPAA_BUS),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA_EVENTDEV) += -lrte_pmd_dpaa_event
-endif # CONFIG_RTE_LIBRTE_DPAA_BUS
-ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_EVENTDEV) += -lrte_pmd_dpaa2_event
-endif # CONFIG_RTE_LIBRTE_FSLMC_BUS
-
-_LDLIBS-$(CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL) += -lrte_mempool_octeontx
-_LDLIBS-$(CONFIG_RTE_LIBRTE_OCTEONTX_PMD) += -lrte_pmd_octeontx
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV) += -lrte_pmd_octeontx2_event
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV) += -lrte_pmd_opdl_event
-endif # CONFIG_RTE_LIBRTE_EVENTDEV
-
-ifeq ($(CONFIG_RTE_LIBRTE_RAWDEV),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_SKELETON_RAWDEV) += -lrte_rawdev_skeleton
-ifeq ($(CONFIG_RTE_EAL_VFIO)$(CONFIG_RTE_LIBRTE_FSLMC_BUS),yy)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_CMDIF_RAWDEV) += -lrte_rawdev_dpaa2_cmdif
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_DPAA2_QDMA_RAWDEV) += -lrte_rawdev_dpaa2_qdma
-endif # CONFIG_RTE_LIBRTE_FSLMC_BUS
-_LDLIBS-$(CONFIG_RTE_LIBRTE_IFPGA_BUS)      += -lrte_bus_ifpga
-ifeq ($(CONFIG_RTE_LIBRTE_IFPGA_BUS),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_IFPGA_RAWDEV)   += -lrte_rawdev_ifpga -lfdt
-_LDLIBS-$(CONFIG_RTE_LIBRTE_IPN3KE_PMD)       += -lrte_pmd_ipn3ke
-endif # CONFIG_RTE_LIBRTE_IFPGA_BUS
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_IOAT_RAWDEV)   += -lrte_rawdev_ioat
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_NTB_RAWDEV) += -lrte_rawdev_ntb
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_DMA_RAWDEV) += -lrte_rawdev_octeontx2_dma
-_LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EP_RAWDEV) += -lrte_rawdev_octeontx2_ep
-endif # CONFIG_RTE_LIBRTE_RAWDEV
-
-endif # !CONFIG_RTE_BUILD_SHARED_LIBS
-
-_LDLIBS-y += --no-whole-archive
-
-ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),n)
-# The static libraries do not know their dependencies.
-# So linking with static library requires explicit dependencies.
-_LDLIBS-$(CONFIG_RTE_LIBRTE_EAL)            += -lrt
-ifeq ($(CONFIG_RTE_EXEC_ENV_LINUX)$(CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES),yy)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_EAL)            += -lnuma
-endif
-_LDLIBS-$(CONFIG_RTE_LIBRTE_SCHED)          += -lm
-_LDLIBS-$(CONFIG_RTE_LIBRTE_SCHED)          += -lrt
-_LDLIBS-$(CONFIG_RTE_LIBRTE_MEMBER)         += -lm
-_LDLIBS-$(CONFIG_RTE_LIBRTE_METER)          += -lm
-ifeq ($(CONFIG_RTE_LIBRTE_VHOST_NUMA),y)
-_LDLIBS-$(CONFIG_RTE_LIBRTE_VHOST)          += -lnuma
-endif
-_LDLIBS-$(CONFIG_RTE_PORT_PCAP)             += -lpcap
-endif # !CONFIG_RTE_BUILD_SHARED_LIBS
-
-_LDLIBS-y += $(EXECENV_LDLIBS)
-
-LDLIBS += $(_LDLIBS-y) $(CPU_LDLIBS) $(EXTRA_LDLIBS)
-
-# all the words except the first one
-allbutfirst = $(wordlist 2,$(words $(1)),$(1))
-
-# Eliminate duplicates without sorting, only keep the last occurrence
-filter-libs = \
-	$(if $(1),$(strip\
-		$(if \
-			$(and \
-				$(filter $(firstword $(1)),$(call allbutfirst,$(1))),\
-				$(filter -l%,$(firstword $(1)))),\
-			,\
-			$(firstword $(1))) \
-		$(call filter-libs,$(call allbutfirst,$(1)))))
-
-LDLIBS := $(call filter-libs,$(LDLIBS))
-
-MAPFLAGS = -Map=$@.map --cref
-
-.PHONY: all
-all: install
-
-.PHONY: install
-install: build _postinstall
-
-_postinstall: build
-
-.PHONY: build
-build: _postbuild
-
-exe2cmd = $(strip $(call dotfile,$(patsubst %,%.cmd,$(1))))
-
-ifeq ($(LINK_USING_CC),1)
-O_TO_EXE = $(CC) -o $@ $(CFLAGS) $(EXTRA_CFLAGS) $(OBJS-y) $(call linkerprefix, \
-	$(LDLIBS) $(LDFLAGS) $(LDFLAGS_$(@)) $(EXTRA_LDFLAGS) \
-	$(MAPFLAGS))
-else
-O_TO_EXE = $(LD) -o $@ $(OBJS-y) \
-	$(LDLIBS) $(LDFLAGS) $(LDFLAGS_$(@)) $(EXTRA_LDFLAGS) \
-	$(MAPFLAGS)
-endif
-O_TO_EXE_STR = $(subst ','\'',$(O_TO_EXE)) #'# fix syntax highlight
-O_TO_EXE_DISP = $(if $(V),"$(O_TO_EXE_STR)","  LD $(@)")
-O_TO_EXE_CMD = "cmd_$@ = $(O_TO_EXE_STR)"
-O_TO_EXE_DO = @set -e; \
-	echo $(O_TO_EXE_DISP); \
-	$(O_TO_EXE) && \
-	echo $(O_TO_EXE_CMD) > $(call exe2cmd,$(@))
-
--include .$(APP).cmd
-
-# path where libraries are retrieved
-LDLIBS_PATH := $(subst -Wl$(comma)-L,,$(filter -Wl$(comma)-L%,$(LDLIBS)))
-LDLIBS_PATH += $(subst -L,,$(filter -L%,$(LDLIBS)))
-
-# list of .a files that are linked to this application
-LDLIBS_NAMES := $(patsubst -l%,lib%.a,$(filter -l%,$(LDLIBS)))
-LDLIBS_NAMES += $(patsubst -Wl$(comma)-l%,lib%.a,$(filter -Wl$(comma)-l%,$(LDLIBS)))
-
-# list of found libraries files (useful for deps). If not found, the
-# library is silently ignored and dep won't be checked
-LDLIBS_FILES := $(sort $(wildcard $(foreach dir,$(LDLIBS_PATH),\
-	$(addprefix $(dir)/,$(LDLIBS_NAMES)))))
-
-#
-# Compile executable file if needed
-#
-$(APP): $(OBJS-y) $(LDLIBS_FILES) $(DEP_$(APP)) $(LDSCRIPT) FORCE
-	@[ -d $(dir $@) ] || mkdir -p $(dir $@)
-	$(if $(D),\
-		@echo -n "$< -> $@ " ; \
-		echo -n "file_missing=$(call boolean,$(file_missing)) " ; \
-		echo -n "cmdline_changed=$(call boolean,$(call cmdline_changed,$(O_TO_EXE_STR))) " ; \
-		echo -n "depfile_missing=$(call boolean,$(depfile_missing)) " ; \
-		echo "depfile_newer=$(call boolean,$(depfile_newer)) ")
-	$(if $(or \
-		$(file_missing),\
-		$(call cmdline_changed,$(O_TO_EXE_STR)),\
-		$(depfile_missing),\
-		$(depfile_newer)),\
-		$(O_TO_EXE_DO))
-
-#
-# install app in $(RTE_OUTPUT)/app
-#
-$(RTE_OUTPUT)/app/$(APP): $(APP)
-	@echo "  INSTALL-APP $(APP)"
-	@[ -d $(RTE_OUTPUT)/app ] || mkdir -p $(RTE_OUTPUT)/app
-	$(Q)cp -f $(APP) $(RTE_OUTPUT)/app
-
-#
-# install app map file in $(RTE_OUTPUT)/app
-#
-$(RTE_OUTPUT)/app/$(APP).map: $(APP)
-	@echo "  INSTALL-MAP $(APP).map"
-	@[ -d $(RTE_OUTPUT)/app ] || mkdir -p $(RTE_OUTPUT)/app
-	$(Q)cp -f $(APP).map $(RTE_OUTPUT)/app
-
-#
-# Clean all generated files
-#
-.PHONY: clean
-clean: _postclean
-	$(Q)rm -f $(_BUILD_TARGETS) $(_INSTALL_TARGETS) $(_CLEAN_TARGETS)
-
-.PHONY: doclean
-doclean:
-	$(Q)rm -rf $(APP) $(OBJS-all) $(DEPS-all) $(DEPSTMP-all) \
-	  $(CMDS-all) $(INSTALL-FILES-all) .$(APP).cmd $(APP).map
-
-
-include $(RTE_SDK)/mk/internal/rte.compile-post.mk
-include $(RTE_SDK)/mk/internal/rte.install-post.mk
-include $(RTE_SDK)/mk/internal/rte.clean-post.mk
-include $(RTE_SDK)/mk/internal/rte.build-post.mk
-
-ifneq ($(wildcard $(RTE_SDK)/mk/target/$(RTE_TARGET)/rte.app.mk),)
-include $(RTE_SDK)/mk/target/$(RTE_TARGET)/rte.app.mk
-else
-include $(RTE_SDK)/mk/target/generic/rte.app.mk
-endif
-
-.PHONY: FORCE
-FORCE:
diff --git a/mk/rte.bsdmodule.mk b/mk/rte.bsdmodule.mk
deleted file mode 100644
index df8bf9ef35..0000000000
--- a/mk/rte.bsdmodule.mk
+++ /dev/null
@@ -1,89 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-##### if sourced from kernel Kbuild system
-ifneq ($(KERNELRELEASE),)
-override EXTRA_CFLAGS = $(MODULE_CFLAGS) $(EXTRA_KERNEL_CFLAGS)
-obj-m          += $(MODULE).o
-ifneq ($(MODULE),$(notdir $(SRCS-y:%.c=%)))
-$(MODULE)-objs += $(notdir $(SRCS-y:%.c=%.o))
-endif
-
-##### if launched from rte build system
-else
-
-include $(RTE_SDK)/mk/internal/rte.install-pre.mk
-include $(RTE_SDK)/mk/internal/rte.clean-pre.mk
-include $(RTE_SDK)/mk/internal/rte.build-pre.mk
-
-# DPDK uses a more up-to-date gcc, so clear the override here.
-unexport CC
-override CFLAGS = $(MODULE_CFLAGS)
-
-# VPATH contains at least SRCDIR
-VPATH += $(SRCDIR)
-
-_BUILD = $(MODULE).ko
-_INSTALL = $(INSTALL-FILES-y) $(SYMLINK-FILES-y) \
-	$(RTE_OUTPUT)/kmod/$(MODULE).ko
-_CLEAN = doclean
-
-SRCS_LINKS = $(addsuffix _link,$(SRCS-y))
-
-compare = $(strip $(subst $(1),,$(2)) $(subst $(2),,$(1)))
-
-.PHONY: all
-all: install
-
-.PHONY: install
-install: build _postinstall
-
-_postinstall: build
-
-.PHONY: build
-build: _postbuild
-
-# Link all sources in build directory
-%_link: FORCE
-	$(if $(call compare,$(notdir $*),$*),\
-	$(Q)if [ ! -f $(notdir $(*)) ]; then ln -nfs $(SRCDIR)/$(*) . ; fi,\
-	$(Q)if [ ! -f $(notdir $(*)) ]; then ln -nfs $(SRCDIR)/$(*) . ; fi)
-
-# build module
-$(MODULE).ko: $(SRCS_LINKS)
-	$(Q)if [ ! -f $(notdir Makefile) ]; then ln -nfs $(SRCDIR)/Makefile . ; fi
-	$(Q)if [ ! -f $(notdir BSDmakefile) ]; then ln -nfs $(SRCDIR)/BSDmakefile . ; fi
-	$(Q)MAKEFLAGS= $(BSDMAKE)
-
-# install module in $(RTE_OUTPUT)/kmod
-$(RTE_OUTPUT)/kmod/$(MODULE).ko: $(MODULE).ko
-	$(Q)echo INSTALL-MODULE $(MODULE).ko
-	$(Q)[ -d $(RTE_OUTPUT)/kmod ] || mkdir -p $(RTE_OUTPUT)/kmod
-	$(Q)cp -f $(MODULE).ko $(RTE_OUTPUT)/kmod
-
-# install module
-modules_install:
-	$(Q)MAKEFLAGS= $(BSDMAKE) install
-
-.PHONY: clean
-clean: _postclean
-
-# do a make clean and remove links
-.PHONY: doclean
-doclean:
-	$(Q)if [ ! -f $(notdir Makefile) ]; then ln -nfs $(SRCDIR)/Makefile . ; fi
-	$(Q)$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR) clean
-	$(Q)$(foreach FILE,$(SRCS-y) $(SRCS-n) $(SRCS-),\
-		if [ -h $(notdir $(FILE)) ]; then rm -f $(notdir $(FILE)) ; fi ;)
-	$(Q)if [ -h $(notdir Makefile) ]; then rm -f $(notdir Makefile) ; fi
-	$(Q)rm -f $(_BUILD_TARGETS) $(_INSTALL_TARGETS) $(_CLEAN_TARGETS) \
-		$(INSTALL-FILES-all)
-
-include $(RTE_SDK)/mk/internal/rte.install-post.mk
-include $(RTE_SDK)/mk/internal/rte.clean-post.mk
-include $(RTE_SDK)/mk/internal/rte.build-post.mk
-
-.PHONY: FORCE
-FORCE:
-
-endif
diff --git a/mk/rte.combinedlib.mk b/mk/rte.combinedlib.mk
deleted file mode 100644
index 9d0f935358..0000000000
--- a/mk/rte.combinedlib.mk
+++ /dev/null
@@ -1,30 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2015 Intel Corporation
-
-include $(RTE_SDK)/mk/rte.vars.mk
-
-default: all
-
-ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
-EXT:=.so
-else
-EXT:=.a
-endif
-
-RTE_LIBNAME := dpdk
-COMBINEDLIB := lib$(RTE_LIBNAME)$(EXT)
-
-LIBS := $(filter-out $(COMBINEDLIB), $(sort $(notdir $(wildcard $(RTE_OUTPUT)/lib/*$(EXT)))))
-
-all: FORCE
-	$(Q)echo "GROUP ( $(LIBS) )" > $(RTE_OUTPUT)/lib/$(COMBINEDLIB)
-
-#
-# Clean all generated files
-#
-.PHONY: clean
-clean:
-	$(Q)rm -f $(RTE_OUTPUT)/lib/$(COMBINEDLIB)
-
-.PHONY: FORCE
-FORCE:
diff --git a/mk/rte.cpuflags.mk b/mk/rte.cpuflags.mk
deleted file mode 100644
index fa87535312..0000000000
--- a/mk/rte.cpuflags.mk
+++ /dev/null
@@ -1,124 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-# this makefile is called from the generic rte.vars.mk and is
-# used to set the RTE_CPUFLAG_* environment variables giving details
-# of what instruction sets the target cpu supports.
-
-AUTO_CPUFLAGS := $(shell $(CC) $(MACHINE_CFLAGS) $(WERROR_FLAGS) $(EXTRA_CFLAGS) -dM -E - < /dev/null)
-
-# adding flags to CPUFLAGS
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__SSE__),)
-CPUFLAGS += SSE
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__SSE2__),)
-CPUFLAGS += SSE2
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__SSE3__),)
-CPUFLAGS += SSE3
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__SSSE3__),)
-CPUFLAGS += SSSE3
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__SSE4_1__),)
-CPUFLAGS += SSE4_1
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__SSE4_2__),)
-CPUFLAGS += SSE4_2
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__AES__),)
-CPUFLAGS += AES
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__PCLMUL__),)
-CPUFLAGS += PCLMULQDQ
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__AVX__),)
-ifeq ($(CONFIG_RTE_ENABLE_AVX),y)
-CPUFLAGS += AVX
-endif
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__RDRND__),)
-CPUFLAGS += RDRAND
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__RDSEED__),)
-CPUFLAGS += RDSEED
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__FSGSBASE__),)
-CPUFLAGS += FSGSBASE
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__F16C__),)
-CPUFLAGS += F16C
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__AVX2__),)
-ifeq ($(CONFIG_RTE_ENABLE_AVX),y)
-CPUFLAGS += AVX2
-endif
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__AVX512F__),)
-ifeq ($(CONFIG_RTE_ENABLE_AVX512),y)
-CPUFLAGS += AVX512F
-else
-# disable AVX512F support for GCC & binutils 2.30 as a workaround for Bug 97
-ifeq ($(FORCE_DISABLE_AVX512),y)
-MACHINE_CFLAGS += -mno-avx512f
-endif
-endif
-endif
-
-# IBM Power CPU flags
-ifneq ($(filter $(AUTO_CPUFLAGS),__PPC64__),)
-CPUFLAGS += PPC64
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__PPC32__),)
-CPUFLAGS += PPC32
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__vector),)
-CPUFLAGS += ALTIVEC
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__builtin_vsx_xvnmaddadp),)
-CPUFLAGS += VSX
-endif
-
-# ARM flags
-ifneq ($(filter __ARM_NEON __aarch64__,$(AUTO_CPUFLAGS)),)
-CPUFLAGS += NEON
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__ARM_FEATURE_CRC32),)
-CPUFLAGS += CRC32
-endif
-
-ifneq ($(filter $(AUTO_CPUFLAGS),__ARM_FEATURE_CRYPTO),)
-CPUFLAGS += AES
-CPUFLAGS += PMULL
-CPUFLAGS += SHA1
-CPUFLAGS += SHA2
-endif
-
-MACHINE_CFLAGS += $(addprefix -DRTE_MACHINE_CPUFLAG_,$(CPUFLAGS))
-
-# To strip whitespace
-comma:= ,
-empty:=
-space:= $(empty) $(empty)
-CPUFLAGSTMP1 := $(addprefix RTE_CPUFLAG_,$(CPUFLAGS))
-CPUFLAGSTMP2 := $(subst $(space),$(comma),$(CPUFLAGSTMP1))
-CPUFLAGS_LIST := -DRTE_COMPILE_TIME_CPUFLAGS=$(CPUFLAGSTMP2)
diff --git a/mk/rte.extapp.mk b/mk/rte.extapp.mk
deleted file mode 100644
index 427bb52306..0000000000
--- a/mk/rte.extapp.mk
+++ /dev/null
@@ -1,24 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-MAKEFLAGS += --no-print-directory
-
-# we must create the output dir first and recall the same Makefile
-# from this directory
-ifeq ($(NOT_FIRST_CALL),)
-
-NOT_FIRST_CALL = 1
-export NOT_FIRST_CALL
-
-all:
-	$(Q)mkdir -p $(RTE_OUTPUT)
-	$(Q)$(MAKE) -C $(RTE_OUTPUT) -f $(RTE_EXTMK) \
-		S=$(RTE_SRCDIR) O=$(RTE_OUTPUT) SRCDIR=$(RTE_SRCDIR)
-
-%::
-	$(Q)mkdir -p $(RTE_OUTPUT)
-	$(Q)$(MAKE) -C $(RTE_OUTPUT) -f $(RTE_EXTMK) $@ \
-		S=$(RTE_SRCDIR) O=$(RTE_OUTPUT) SRCDIR=$(RTE_SRCDIR)
-else
-include $(RTE_SDK)/mk/rte.app.mk
-endif
diff --git a/mk/rte.extlib.mk b/mk/rte.extlib.mk
deleted file mode 100644
index 977873325d..0000000000
--- a/mk/rte.extlib.mk
+++ /dev/null
@@ -1,26 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-MAKEFLAGS += --no-print-directory
-
-EXTLIB_BUILD := y
-
-# we must create the output dir first and recall the same Makefile
-# from this directory
-ifeq ($(NOT_FIRST_CALL),)
-
-NOT_FIRST_CALL = 1
-export NOT_FIRST_CALL
-
-all:
-	$(Q)mkdir -p $(RTE_OUTPUT)
-	$(Q)$(MAKE) -C $(RTE_OUTPUT) -f $(RTE_EXTMK) \
-		S=$(RTE_SRCDIR) O=$(RTE_OUTPUT) SRCDIR=$(RTE_SRCDIR)
-
-%::
-	$(Q)mkdir -p $(RTE_OUTPUT)
-	$(Q)$(MAKE) -C $(RTE_OUTPUT) -f $(RTE_EXTMK) $@ \
-		S=$(RTE_SRCDIR) O=$(RTE_OUTPUT) SRCDIR=$(RTE_SRCDIR)
-else
-include $(RTE_SDK)/mk/rte.lib.mk
-endif
diff --git a/mk/rte.extobj.mk b/mk/rte.extobj.mk
deleted file mode 100644
index c761a5de1e..0000000000
--- a/mk/rte.extobj.mk
+++ /dev/null
@@ -1,24 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-MAKEFLAGS += --no-print-directory
-
-# we must create the output dir first and recall the same Makefile
-# from this directory
-ifeq ($(NOT_FIRST_CALL),)
-
-NOT_FIRST_CALL = 1
-export NOT_FIRST_CALL
-
-all:
-	$(Q)mkdir -p $(RTE_OUTPUT)
-	$(Q)$(MAKE) -C $(RTE_OUTPUT) -f $(RTE_EXTMK) \
-		S=$(RTE_SRCDIR) O=$(RTE_OUTPUT) SRCDIR=$(RTE_SRCDIR)
-
-%::
-	$(Q)mkdir -p $(RTE_OUTPUT)
-	$(Q)$(MAKE) -C $(RTE_OUTPUT) -f $(RTE_EXTMK) $@ \
-		S=$(RTE_SRCDIR) O=$(RTE_OUTPUT) SRCDIR=$(RTE_SRCDIR)
-else
-include $(RTE_SDK)/mk/rte.obj.mk
-endif
diff --git a/mk/rte.extshared.mk b/mk/rte.extshared.mk
deleted file mode 100644
index 64269e1a85..0000000000
--- a/mk/rte.extshared.mk
+++ /dev/null
@@ -1,26 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2012-2013 6WIND S.A.
-
-MAKEFLAGS += --no-print-directory
-
-# we must create the output dir first and recall the same Makefile
-# from this directory
-ifeq ($(NOT_FIRST_CALL),)
-
-NOT_FIRST_CALL = 1
-export NOT_FIRST_CALL
-
-all:
-	$(Q)mkdir -p $(RTE_OUTPUT)
-	$(Q)$(MAKE) -C $(RTE_OUTPUT) -f $(RTE_EXTMK) \
-		S=$(RTE_SRCDIR) O=$(RTE_OUTPUT) SRCDIR=$(RTE_SRCDIR)
-	@echo $(RTE_OUTPUT)/lib must be added to /etc/ld.so.conf or \
-		LD_LIBRARY_PATH variable to allow binary to link with dynamic library
-
-%::
-	$(Q)mkdir -p $(RTE_OUTPUT)
-	$(Q)$(MAKE) -C $(RTE_OUTPUT) -f $(RTE_EXTMK) $@ \
-		S=$(RTE_SRCDIR) O=$(RTE_OUTPUT) SRCDIR=$(RTE_SRCDIR)
-else
-include $(RTE_SDK)/mk/rte.shared.mk
-endif
diff --git a/mk/rte.extsubdir.mk b/mk/rte.extsubdir.mk
deleted file mode 100644
index 0f8ef94c50..0000000000
--- a/mk/rte.extsubdir.mk
+++ /dev/null
@@ -1,39 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2014 6WIND S.A.
-
-MAKEFLAGS += --no-print-directory
-
-ALL_DEPDIRS := $(patsubst DEPDIRS-%,%,$(filter DEPDIRS-%,$(.VARIABLES)))
-
-# output directory
-O ?= $(CURDIR)
-BASE_OUTPUT ?= $(abspath $(O))
-CUR_SUBDIR ?= .
-
-.PHONY: all
-all: $(DIRS-y)
-
-.PHONY: clean
-clean: $(DIRS-y)
-
-.PHONY: $(DIRS-y)
-$(DIRS-y):
-	@echo "== $@"
-	$(Q)$(MAKE) -C $(@) \
-		M=$(CURDIR)/$(@)/Makefile \
-		O=$(BASE_OUTPUT)/$(CUR_SUBDIR)/$(@)/$(RTE_TARGET) \
-		BASE_OUTPUT=$(BASE_OUTPUT) \
-		CUR_SUBDIR=$(CUR_SUBDIR)/$(@) \
-		S=$(CURDIR)/$(@) \
-		$(filter-out $(DIRS-y),$(MAKECMDGOALS))
-
-define depdirs_rule
-$(DEPDIRS-$(1)):
-
-$(1): | $(DEPDIRS-$(1))
-
-$(if $(D),$(info $(1) depends on $(DEPDIRS-$(1))))
-endef
-
-$(foreach dir,$(ALL_DEPDIRS),\
-	$(eval $(call depdirs_rule,$(dir))))
diff --git a/mk/rte.gnuconfigure.mk b/mk/rte.gnuconfigure.mk
deleted file mode 100644
index 72e99aafc3..0000000000
--- a/mk/rte.gnuconfigure.mk
+++ /dev/null
@@ -1,44 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/internal/rte.build-pre.mk
-include $(RTE_SDK)/mk/internal/rte.install-pre.mk
-include $(RTE_SDK)/mk/internal/rte.clean-pre.mk
-
-# VPATH contains at least SRCDIR
-VPATH += $(SRCDIR)
-_BUILD = configure
-_INSTALL = $(INSTALL-FILES-y) $(SYMLINK-FILES-y)
-_CLEAN = doclean
-
-.PHONY: all
-all: install
-
-.PHONY: install
-install: build _postinstall
-
-_postinstall: build
-
-.PHONY: build
-build: _postbuild
-
-configure:
-	$(Q)cd $(CONFIGURE_PATH) ; \
-	./configure --prefix $(CONFIGURE_PREFIX) $(CONFIGURE_ARGS) ; \
-	make ; \
-	make install
-
-.PHONY: clean
-clean: _postclean
-
-.PHONY: doclean
-doclean:
-	$(Q)cd $(CONFIGURE_PATH) ; make clean
-	$(Q)rm -f $(_INSTALL_TARGETS) $(_CLEAN_TARGETS)
-
-include $(RTE_SDK)/mk/internal/rte.build-post.mk
-include $(RTE_SDK)/mk/internal/rte.install-post.mk
-include $(RTE_SDK)/mk/internal/rte.clean-post.mk
-
-.PHONY: FORCE
-FORCE:
diff --git a/mk/rte.helper.mk b/mk/rte.helper.mk
deleted file mode 100644
index 6e7fd03d7f..0000000000
--- a/mk/rte.helper.mk
+++ /dev/null
@@ -1,10 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2018 Marvell International Ltd
-
-# rte_cc_has_argument
-# Usage: MACHINE_CFLAGS += $(call rte_cc_has_argument, -mno-avx512f)
-# Return the argument if the argument is supported by the compiler.
-#
-define rte_cc_has_argument
-	$(shell $(CC) -E $(1) -xc /dev/null 1>/dev/null 2>/dev/null && echo $(1))
-endef
diff --git a/mk/rte.hostapp.mk b/mk/rte.hostapp.mk
deleted file mode 100644
index 68e32b5780..0000000000
--- a/mk/rte.hostapp.mk
+++ /dev/null
@@ -1,93 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-# tell rte.compile-pre.mk to use HOSTCC instead of CC
-USE_HOST := 1
-include $(RTE_SDK)/mk/internal/rte.compile-pre.mk
-include $(RTE_SDK)/mk/internal/rte.install-pre.mk
-include $(RTE_SDK)/mk/internal/rte.clean-pre.mk
-include $(RTE_SDK)/mk/internal/rte.build-pre.mk
-
-# VPATH contains at least SRCDIR
-VPATH += $(SRCDIR)
-
-_BUILD = $(HOSTAPP)
-_INSTALL = $(INSTALL-FILES-y) $(SYMLINK-FILES-y) $(RTE_OUTPUT)/app/$(HOSTAPP)
-_CLEAN = doclean
-
-.PHONY: all
-all: install
-
-.PHONY: install
-install: build _postinstall
-
-_postinstall: build
-
-.PHONY: build
-build: _postbuild
-
-exe2cmd = $(strip $(call dotfile,$(patsubst %,%.cmd,$(1))))
-
-O_TO_EXE = $(HOSTCC) $(HOST_LDFLAGS) $(LDFLAGS_$(@)) \
-	$(EXTRA_HOST_LDFLAGS) -o $@ $(OBJS-y) $(LDLIBS)
-O_TO_EXE_STR = $(subst ','\'',$(O_TO_EXE)) #'# fix syntax highlight
-O_TO_EXE_DISP = $(if $(V),"$(O_TO_EXE_STR)","  HOSTLD $(@)")
-O_TO_EXE_CMD = "cmd_$@ = $(O_TO_EXE_STR)"
-O_TO_EXE_DO = @set -e; \
-	echo $(O_TO_EXE_DISP); \
-	$(O_TO_EXE) && \
-	echo $(O_TO_EXE_CMD) > $(call exe2cmd,$(@))
-
--include .$(HOSTAPP).cmd
-
-# list of .a files that are linked to this application
-LDLIBS_FILES := $(sort $(wildcard \
-	$(addprefix $(RTE_OUTPUT)/lib/, \
-	$(patsubst -l%,lib%.a,$(filter -l%,$(LDLIBS))))))
-
-#
-# Compile executable file if needed
-#
-$(HOSTAPP): $(OBJS-y) $(LDLIBS_FILES) FORCE
-	@[ -d $(dir $@) ] || mkdir -p $(dir $@)
-	$(if $(D),\
-		@echo -n "$@ -> $< " ; \
-		echo -n "file_missing=$(call boolean,$(file_missing)) " ; \
-		echo -n "cmdline_changed=$(call boolean,$(call cmdline_changed,$(O_TO_EXE_STR))) " ; \
-		echo -n "depfile_missing=$(call boolean,$(depfile_missing)) " ; \
-		echo "depfile_newer=$(call boolean,$(depfile_newer)) ")
-	$(if $(or \
-		$(file_missing),\
-		$(call cmdline_changed,$(O_TO_EXE_STR)),\
-		$(depfile_missing),\
-		$(depfile_newer)),\
-		$(O_TO_EXE_DO))
-
-#
-# install app in $(RTE_OUTPUT)/hostapp
-#
-$(RTE_OUTPUT)/app/$(HOSTAPP): $(HOSTAPP)
-	@echo "  INSTALL-HOSTAPP $(HOSTAPP)"
-	@[ -d $(RTE_OUTPUT)/app ] || mkdir -p $(RTE_OUTPUT)/app
-	$(Q)cp -f $(HOSTAPP) $(RTE_OUTPUT)/app
-
-#
-# Clean all generated files
-#
-.PHONY: clean
-clean: _postclean
-	$(Q)rm -f $(_BUILD_TARGETS) $(_INSTALL_TARGETS) $(_CLEAN_TARGETS)
-
-.PHONY: doclean
-doclean:
-	$(Q)rm -rf $(HOSTAPP) $(OBJS-all) $(DEPS-all) $(DEPSTMP-all) \
-	  $(CMDS-all) $(INSTALL-FILES-all) .$(HOSTAPP).cmd
-
-
-include $(RTE_SDK)/mk/internal/rte.compile-post.mk
-include $(RTE_SDK)/mk/internal/rte.install-post.mk
-include $(RTE_SDK)/mk/internal/rte.clean-post.mk
-include $(RTE_SDK)/mk/internal/rte.build-post.mk
-
-.PHONY: FORCE
-FORCE:
diff --git a/mk/rte.hostlib.mk b/mk/rte.hostlib.mk
deleted file mode 100644
index 0ccaa55f09..0000000000
--- a/mk/rte.hostlib.mk
+++ /dev/null
@@ -1,86 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-# tell rte.compile-pre.mk to use HOSTCC instead of CC
-USE_HOST := 1
-include $(RTE_SDK)/mk/internal/rte.compile-pre.mk
-include $(RTE_SDK)/mk/internal/rte.install-pre.mk
-include $(RTE_SDK)/mk/internal/rte.clean-pre.mk
-include $(RTE_SDK)/mk/internal/rte.build-pre.mk
-
-# VPATH contains at least SRCDIR
-VPATH += $(SRCDIR)
-
-_BUILD = $(HOSTLIB)
-_INSTALL = $(INSTALL-FILES-y) $(SYMLINK-FILES-y) $(RTE_OUTPUT)/hostlib/$(HOSTLIB)
-_CLEAN = doclean
-
-.PHONY: all
-all: install
-
-.PHONY: install
-install: build _postinstall
-
-_postinstall: build
-
-.PHONY: build
-build: _postbuild
-
-exe2cmd = $(strip $(call dotfile,$(patsubst %,%.cmd,$(1))))
-
-O_TO_A = $(AR) crus $(HOSTLIB) $(OBJS-y)
-O_TO_A_STR = $(subst ','\'',$(O_TO_A)) #'# fix syntax highlight
-O_TO_A_DISP = $(if $(V),"$(O_TO_A_STR)","  HOSTAR $(@)")
-O_TO_A_CMD = "cmd_$@ = $(O_TO_A_STR)"
-O_TO_A_DO = @set -e; \
-	echo $(O_TO_A_DISP); \
-	$(O_TO_A) && \
-	echo $(O_TO_A_CMD) > $(call exe2cmd,$(@))
-
--include .$(HOSTLIB).cmd
-
-#
-# Archive objects in .a file if needed
-#
-$(HOSTLIB): $(OBJS-y) FORCE
-	@[ -d $(dir $@) ] || mkdir -p $(dir $@)
-	$(if $(D),\
-		@echo -n "$@ -> $< " ; \
-		echo -n "file_missing=$(call boolean,$(file_missing)) " ; \
-		echo -n "cmdline_changed=$(call boolean,$(call cmdline_changed,$(O_TO_A_STR))) " ; \
-		echo -n "depfile_missing=$(call boolean,$(depfile_missing)) " ; \
-		echo "depfile_newer=$(call boolean,$(depfile_newer)) ")
-	$(if $(or \
-		$(file_missing),\
-		$(call cmdline_changed,$(O_TO_A_STR)),\
-		$(depfile_missing),\
-		$(depfile_newer)),\
-		$(O_TO_A_DO))
-
-#
-# install lib in $(RTE_OUTPUT)/hostlib
-#
-$(RTE_OUTPUT)/hostlib/$(HOSTLIB): $(HOSTLIB)
-	@echo "  INSTALL-HOSTLIB $(HOSTLIB)"
-	@[ -d $(RTE_OUTPUT)/hostlib ] || mkdir -p $(RTE_OUTPUT)/hostlib
-	$(Q)cp -f $(HOSTLIB) $(RTE_OUTPUT)/hostlib
-
-#
-# Clean all generated files
-#
-.PHONY: clean
-clean: _postclean
-
-.PHONY: doclean
-doclean:
-	$(Q)rm -rf $(HOSTLIB) $(OBJS-all) $(DEPS-all) $(DEPSTMP-all) \
-	  $(CMDS-all) $(INSTALL-FILES-all)
-	$(Q)rm -f $(_BUILD_TARGETS) $(_INSTALL_TARGETS) $(_CLEAN_TARGETS)
-
-include $(RTE_SDK)/mk/internal/rte.compile-post.mk
-include $(RTE_SDK)/mk/internal/rte.install-post.mk
-include $(RTE_SDK)/mk/internal/rte.clean-post.mk
-include $(RTE_SDK)/mk/internal/rte.build-post.mk
-
-.PHONY: FORCE
-FORCE:
diff --git a/mk/rte.install.mk b/mk/rte.install.mk
deleted file mode 100644
index e56daf457c..0000000000
--- a/mk/rte.install.mk
+++ /dev/null
@@ -1,28 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-# install-only makefile (no build target)
-
-include $(RTE_SDK)/mk/internal/rte.install-pre.mk
-include $(RTE_SDK)/mk/internal/rte.clean-pre.mk
-
-# VPATH contains at least SRCDIR
-VPATH += $(SRCDIR)
-
-_INSTALL = $(INSTALL-FILES-y) $(SYMLINK-FILES-y)
-_CLEAN = doclean
-
-.PHONY: all
-all: _postinstall
-	@true
-
-.PHONY: clean
-clean: _postclean
-
-.PHONY: doclean
-doclean:
-	@rm -rf $(INSTALL-FILES-all)
-	@rm -f $(_INSTALL_TARGETS) $(_CLEAN_TARGETS)
-
-include $(RTE_SDK)/mk/internal/rte.install-post.mk
-include $(RTE_SDK)/mk/internal/rte.clean-post.mk
diff --git a/mk/rte.lib.mk b/mk/rte.lib.mk
deleted file mode 100644
index 229ae16814..0000000000
--- a/mk/rte.lib.mk
+++ /dev/null
@@ -1,156 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/internal/rte.compile-pre.mk
-include $(RTE_SDK)/mk/internal/rte.install-pre.mk
-include $(RTE_SDK)/mk/internal/rte.clean-pre.mk
-include $(RTE_SDK)/mk/internal/rte.build-pre.mk
-
-EXTLIB_BUILD ?= n
-
-# VPATH contains at least SRCDIR
-VPATH += $(SRCDIR)
-
-LIBABIVER ?= $(shell cat $(RTE_SRCDIR)/ABI_VERSION)
-SOVER := $(basename $(LIBABIVER))
-
-ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
-SONAME := $(patsubst %.a,%.so.$(SOVER),$(LIB))
-LIB := $(patsubst %.a,%.so.$(LIBABIVER),$(LIB))
-ifeq ($(EXTLIB_BUILD),n)
-CPU_LDFLAGS += --version-script=$(SRCDIR)/$(EXPORT_MAP)
-endif
-endif
-
-
-_BUILD = $(LIB)
-PREINSTALL = $(SYMLINK-FILES-y)
-_INSTALL = $(INSTALL-FILES-y) $(RTE_OUTPUT)/lib/$(LIB)
-_CLEAN = doclean
-
-LDLIBS += $(EXECENV_LDLIBS-y)
-
-.PHONY: all
-all: install
-
-.PHONY: install
-ifeq ($(SYMLINK-FILES-y),)
-install: build _postinstall
-else
-install: _preinstall build _postinstall
-build: _preinstall
-endif
-
-_postinstall: build
-
-.PHONY: build
-build: _postbuild
-
-exe2cmd = $(strip $(call dotfile,$(patsubst %,%.cmd,$(1))))
-
-ifeq ($(LINK_USING_CC),1)
-# Override the definition of LD here, since we're linking with CC
-LD := $(CC) $(CPU_CFLAGS) $(EXTRA_CFLAGS)
-_CPU_LDFLAGS := $(call linkerprefix,$(CPU_LDFLAGS))
-override EXTRA_LDFLAGS := $(call linkerprefix,$(EXTRA_LDFLAGS))
-else
-_CPU_LDFLAGS := $(CPU_LDFLAGS)
-endif
-
-O_TO_A = $(AR) crDs $(LIB) $(OBJS-y)
-O_TO_A_STR = $(subst ','\'',$(O_TO_A)) #'# fix syntax highlight
-O_TO_A_DISP = $(if $(V),"$(O_TO_A_STR)","  AR $(@)")
-O_TO_A_CMD = "cmd_$@ = $(O_TO_A_STR)"
-O_TO_A_DO = @set -e; \
-	echo $(O_TO_A_DISP); \
-	$(O_TO_A) && \
-	echo $(O_TO_A_CMD) > $(call exe2cmd,$(@))
-
-ifneq ($(CC_SUPPORTS_Z),false)
-NO_UNDEFINED := -z defs
-endif
-
-O_TO_S = $(LD) -L$(RTE_SDK_BIN)/lib $(_CPU_LDFLAGS) $(EXTRA_LDFLAGS) \
-	  -shared $(OBJS-y) $(NO_UNDEFINED) $(LDLIBS) -Wl,-soname,$(SONAME) -o $(LIB)
-O_TO_S_STR = $(subst ','\'',$(O_TO_S)) #'# fix syntax highlight
-O_TO_S_DISP = $(if $(V),"$(O_TO_S_STR)","  LD $(@)")
-O_TO_S_DO = @set -e; \
-	echo $(O_TO_S_DISP); \
-	$(O_TO_S) && \
-	echo $(O_TO_S_CMD) > $(call exe2cmd,$(@))
-
--include .$(LIB).cmd
-
-#
-# Archive objects in .a file if needed
-#
-ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
-$(LIB): $(OBJS-y) $(DEP_$(LIB)) FORCE
-ifeq ($(LIBABIVER),)
-	@echo "Must Specify a $(LIB) ABI version"
-	@false
-endif
-	@[ -d $(dir $@) ] || mkdir -p $(dir $@)
-	$(if $(D),\
-		@echo -n "$< -> $@ " ; \
-		echo -n "file_missing=$(call boolean,$(file_missing)) " ; \
-		echo -n "cmdline_changed=$(call boolean,$(call cmdline_changed,$(O_TO_S_STR))) " ; \
-		echo -n "depfile_missing=$(call boolean,$(depfile_missing)) " ; \
-		echo "depfile_newer=$(call boolean,$(depfile_newer)) ")
-	$(if $(or \
-		$(file_missing),\
-		$(call cmdline_changed,$(O_TO_S_STR)),\
-		$(depfile_missing),\
-		$(depfile_newer)),\
-		$(O_TO_S_DO))
-
-else
-$(LIB): $(OBJS-y) $(DEP_$(LIB)) FORCE
-	@[ -d $(dir $@) ] || mkdir -p $(dir $@)
-	$(if $(D),\
-	    @echo -n "$< -> $@ " ; \
-	    echo -n "file_missing=$(call boolean,$(file_missing)) " ; \
-	    echo -n "cmdline_changed=$(call boolean,$(call cmdline_changed,$(O_TO_A_STR))) " ; \
-	    echo -n "depfile_missing=$(call boolean,$(depfile_missing)) " ; \
-	    echo "depfile_newer=$(call boolean,$(depfile_newer)) ")
-	$(if $(or \
-	    $(file_missing),\
-	    $(call cmdline_changed,$(O_TO_A_STR)),\
-	    $(depfile_missing),\
-	    $(depfile_newer)),\
-	    $(O_TO_A_DO))
-endif
-
-#
-# install lib in $(RTE_OUTPUT)/lib
-#
-$(RTE_OUTPUT)/lib/$(LIB): $(LIB)
-	@echo "  INSTALL-LIB $(LIB)"
-	@[ -d $(RTE_OUTPUT)/lib ] || mkdir -p $(RTE_OUTPUT)/lib
-	$(Q)cp -f $(LIB) $(RTE_OUTPUT)/lib
-ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
-	$(Q)ln -s -f $< $(shell echo $@ | sed 's/\.so.*/.so/')
-	$(Q)if [ $(SOVER) != $(LIBABIVER) ]; then \
-		ln -s -f $< $(shell echo $@ | sed 's/\.so.*/.so.$(SOVER)/') ; \
-	fi
-endif
-
-#
-# Clean all generated files
-#
-.PHONY: clean
-clean: _postclean
-
-.PHONY: doclean
-doclean:
-	$(Q)rm -rf $(LIB) $(OBJS-all) $(DEPS-all) $(DEPSTMP-all) \
-	  $(CMDS-all) .$(LIB).cmd $(INSTALL-FILES-all) *.pmd.c *.pmd.o
-	$(Q)rm -f $(_BUILD_TARGETS) $(_INSTALL_TARGETS) $(_CLEAN_TARGETS)
-
-include $(RTE_SDK)/mk/internal/rte.compile-post.mk
-include $(RTE_SDK)/mk/internal/rte.install-post.mk
-include $(RTE_SDK)/mk/internal/rte.clean-post.mk
-include $(RTE_SDK)/mk/internal/rte.build-post.mk
-
-.PHONY: FORCE
-FORCE:
diff --git a/mk/rte.module.mk b/mk/rte.module.mk
deleted file mode 100644
index 1ada528a00..0000000000
--- a/mk/rte.module.mk
+++ /dev/null
@@ -1,86 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-##### if sourced from kernel Kbuild system
-ifneq ($(KERNELRELEASE),)
-override EXTRA_CFLAGS = $(MODULE_CFLAGS) $(EXTRA_KERNEL_CFLAGS)
-obj-m          += $(MODULE).o
-ifneq ($(MODULE),$(notdir $(SRCS-y:%.c=%)))
-$(MODULE)-objs += $(notdir $(SRCS-y:%.c=%.o))
-endif
-
-##### if launched from rte build system
-else
-
-include $(RTE_SDK)/mk/internal/rte.install-pre.mk
-include $(RTE_SDK)/mk/internal/rte.clean-pre.mk
-include $(RTE_SDK)/mk/internal/rte.build-pre.mk
-
-# VPATH contains at least SRCDIR
-VPATH += $(SRCDIR)
-
-_BUILD = $(MODULE).ko
-_INSTALL = $(INSTALL-FILES-y) $(SYMLINK-FILES-y) \
-	$(RTE_OUTPUT)/kmod/$(MODULE).ko
-_CLEAN = doclean
-
-SRCS_LINKS = $(addsuffix _link,$(SRCS-y))
-
-compare = $(strip $(subst $(1),,$(2)) $(subst $(2),,$(1)))
-
-.PHONY: all
-all: install
-
-.PHONY: install
-install: build _postinstall
-
-_postinstall: build
-
-.PHONY: build
-build: _postbuild
-
-# Link all sources in build directory
-%_link: FORCE
-	$(if $(call compare,$(notdir $*),$*),\
-	@if [ ! -f $(notdir $(*)) ]; then ln -nfs $(SRCDIR)/$(*) . ; fi,\
-	@if [ ! -f $(notdir $(*)) ]; then ln -nfs $(SRCDIR)/$(*) . ; fi)
-
-# build module
-$(MODULE).ko: $(SRCS_LINKS)
-	@if [ ! -f $(notdir Makefile) ]; then ln -nfs $(SRCDIR)/Makefile . ; fi
-	@$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR) \
-		CC="$(KERNELCC)" CROSS_COMPILE=$(CROSS) V=$(if $V,1,0)
-
-# install module in $(RTE_OUTPUT)/kmod
-$(RTE_OUTPUT)/kmod/$(MODULE).ko: $(MODULE).ko
-	@echo INSTALL-MODULE $(MODULE).ko
-	@[ -d $(RTE_OUTPUT)/kmod ] || mkdir -p $(RTE_OUTPUT)/kmod
-	@cp -f $(MODULE).ko $(RTE_OUTPUT)/kmod
-
-# install module
-modules_install:
-	@$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR) \
-		modules_install
-
-.PHONY: clean
-clean: _postclean
-
-# do a make clean and remove links
-.PHONY: doclean
-doclean:
-	@if [ ! -f $(notdir Makefile) ]; then ln -nfs $(SRCDIR)/Makefile . ; fi
-	$(Q)$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR) clean
-	@$(foreach FILE,$(SRCS-y) $(SRCS-n) $(SRCS-),\
-		if [ -h $(notdir $(FILE)) ]; then rm -f $(notdir $(FILE)) ; fi ;)
-	@if [ -h $(notdir Makefile) ]; then rm -f $(notdir Makefile) ; fi
-	@rm -f $(_BUILD_TARGETS) $(_INSTALL_TARGETS) $(_CLEAN_TARGETS) \
-		$(INSTALL-FILES-all)
-
-include $(RTE_SDK)/mk/internal/rte.install-post.mk
-include $(RTE_SDK)/mk/internal/rte.clean-post.mk
-include $(RTE_SDK)/mk/internal/rte.build-post.mk
-
-.PHONY: FORCE
-FORCE:
-
-endif
diff --git a/mk/rte.obj.mk b/mk/rte.obj.mk
deleted file mode 100644
index 1641a52e75..0000000000
--- a/mk/rte.obj.mk
+++ /dev/null
@@ -1,82 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-include $(RTE_SDK)/mk/internal/rte.compile-pre.mk
-include $(RTE_SDK)/mk/internal/rte.install-pre.mk
-include $(RTE_SDK)/mk/internal/rte.clean-pre.mk
-include $(RTE_SDK)/mk/internal/rte.build-pre.mk
-
-# VPATH contains at least SRCDIR
-VPATH += $(SRCDIR)
-
-ifneq ($(OBJ),)
-_BUILD = $(OBJ)
-else
-_BUILD = $(OBJS-y)
-endif
-_INSTALL = $(INSTALL-FILES-y) $(SYMLINK-FILES-y)
-_CLEAN = doclean
-
-.PHONY: all
-all: install
-
-.PHONY: install
-install: build _postinstall
-
-_postinstall: build
-
-.PHONY: build
-build: _postbuild
-
-ifneq ($(OBJ),)
-exe2cmd = $(strip $(call dotfile,$(patsubst %,%.cmd,$(1))))
-
-O_TO_O = $(LD) -r -o $(OBJ) $(OBJS-y)
-O_TO_O_STR = $(subst ','\'',$(O_TO_O)) #'# fix syntax highlight
-O_TO_O_DISP =  $(if $(V),"$(O_TO_O_STR)","  LD $(@)")
-O_TO_O_CMD = "cmd_$@ = $(O_TO_O_STR)"
-O_TO_O_DO = @set -e; \
-	echo $(O_TO_O_DISP); \
-	$(O_TO_O) && \
-	echo $(O_TO_O_CMD) > $(call exe2cmd,$(@))
-
--include .$(OBJ).cmd
-
-#
-# Archive objects in .a file if needed
-#
-$(OBJ): $(OBJS-y) FORCE
-	@[ -d $(dir $@) ] || mkdir -p $(dir $@)
-	$(if $(D),\
-		@echo -n "$< -> $@ " ; \
-		echo -n "file_missing=$(call boolean,$(file_missing)) " ; \
-		echo -n "cmdline_changed=$(call boolean,$(call cmdline_changed,$(O_TO_O_STR))) " ; \
-		echo -n "depfile_missing=$(call boolean,$(depfile_missing)) " ; \
-		echo "depfile_newer=$(call boolean,$(depfile_newer)) ")
-	$(if $(or \
-		$(file_missing),\
-		$(call cmdline_changed,$(O_TO_O_STR)),\
-		$(depfile_missing),\
-		$(depfile_newer)),\
-		$(O_TO_O_DO))
-endif
-
-#
-# Clean all generated files
-#
-.PHONY: clean
-clean: _postclean
-
-.PHONY: doclean
-doclean:
-	@rm -rf $(OBJ) $(OBJS-all) $(DEPS-all) $(DEPSTMP-all) \
-	  $(CMDS-all) $(INSTALL-FILES-all)
-	@rm -f $(_BUILD_TARGETS) $(_INSTALL_TARGETS) $(_CLEAN_TARGETS)
-
-include $(RTE_SDK)/mk/internal/rte.compile-post.mk
-include $(RTE_SDK)/mk/internal/rte.install-post.mk
-include $(RTE_SDK)/mk/internal/rte.clean-post.mk
-include $(RTE_SDK)/mk/internal/rte.build-post.mk
-
-.PHONY: FORCE
-FORCE:
diff --git a/mk/rte.sdkbuild.mk b/mk/rte.sdkbuild.mk
deleted file mode 100644
index d1d57b6695..0000000000
--- a/mk/rte.sdkbuild.mk
+++ /dev/null
@@ -1,77 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2015 Intel Corporation
-
-#
-# include rte.vars.mk if config file exists
-#
-ifeq (,$(wildcard $(RTE_OUTPUT)/.config))
-  $(error "need a make config first")
-else
-  include $(RTE_SDK)/mk/rte.vars.mk
-endif
-
-# allow exec-env specific targets
--include $(RTE_SDK)/mk/exec-env/$(RTE_EXEC_ENV)/rte.custom.mk
-
-buildtools: | lib
-kernel: | lib
-drivers: | lib buildtools
-app: | lib buildtools drivers
-test: | lib buildtools drivers
-
-#
-# build and clean targets
-#
-
-CLEANDIRS = $(addsuffix _clean,$(ROOTDIRS-y) $(ROOTDIRS-n) $(ROOTDIRS-))
-
-.PHONY: build
-build: $(ROOTDIRS-y)
-	@echo "Build complete [$(RTE_TARGET)]"
-	@echo "==== NOTE ===="
-	@echo "It is recommended to build DPDK using 'meson' and 'ninja'"
-	@echo "See https://doc.dpdk.org/guides/linux_gsg/build_dpdk.html for instructions"
-	@echo "Building DPDK with 'make' will be deprecated in a future release"
-	@echo "=============="
-
-.PHONY: clean
-clean: $(CLEANDIRS)
-	@rm -rf $(RTE_OUTPUT)/include $(RTE_OUTPUT)/app \
-		$(RTE_OUTPUT)/lib \
-		$(RTE_OUTPUT)/hostlib $(RTE_OUTPUT)/kmod
-	@[ -d $(RTE_OUTPUT)/include ] || mkdir -p $(RTE_OUTPUT)/include
-	@$(RTE_SDK)/buildtools/gen-config-h.sh $(RTE_OUTPUT)/.config \
-		> $(RTE_OUTPUT)/include/rte_config.h
-	$(Q)$(MAKE) -f $(RTE_SDK)/GNUmakefile gcovclean
-	@echo Clean complete
-
-.SECONDEXPANSION:
-.PHONY: $(ROOTDIRS-y) $(ROOTDIRS-)
-$(ROOTDIRS-y) $(ROOTDIRS-):
-	@[ -d $(BUILDDIR)/$@ ] || mkdir -p $(BUILDDIR)/$@
-	@echo "== Build $@"
-	$(Q)$(MAKE) S=$@ -f $(RTE_SRCDIR)/$@/Makefile -C $(BUILDDIR)/$@ all
-	@if [ $@ = drivers ]; then \
-		$(MAKE) -f $(RTE_SDK)/mk/rte.combinedlib.mk; \
-	fi
-
-%_clean:
-	@echo "== Clean $*"
-	$(Q)if [ -f $(RTE_SRCDIR)/$*/Makefile -a -d $(BUILDDIR)/$* ]; then \
-		$(MAKE) S=$* -f $(RTE_SRCDIR)/$*/Makefile -C $(BUILDDIR)/$* clean ; \
-	fi
-
-RTE_MAKE_SUBTARGET ?= all
-
-%_sub: $(addsuffix _sub,$(*))
-	@echo $(addsuffix _sub,$(*))
-	@[ -d $(BUILDDIR)/$* ] || mkdir -p $(BUILDDIR)/$*
-	@echo "== Build $*"
-	$(Q)$(MAKE) S=$* -f $(RTE_SRCDIR)/$*/Makefile -C $(BUILDDIR)/$* \
-		$(RTE_MAKE_SUBTARGET)
-
-.PHONY: all
-all: build
-
-.PHONY: FORCE
-FORCE:
diff --git a/mk/rte.sdkconfig.mk b/mk/rte.sdkconfig.mk
deleted file mode 100644
index f538649f22..0000000000
--- a/mk/rte.sdkconfig.mk
+++ /dev/null
@@ -1,142 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-.PHONY: showversion
-showversion:
-	@cat $(RTE_SRCDIR)/VERSION
-
-.PHONY: showversionum
-showversionum:
-	@cat $(RTE_SRCDIR)/VERSION | awk -F '.' '{print $$1$$2}'
-
-INSTALL_CONFIGS := $(sort $(filter-out %app-icc,$(filter-out %app-clang,\
-	$(filter-out %app-gcc,$(filter-out %~,\
-	$(patsubst $(RTE_SRCDIR)/config/defconfig_%,%,\
-	$(wildcard $(RTE_SRCDIR)/config/defconfig_*)))))))
-INSTALL_TARGETS := $(addsuffix _install,$(INSTALL_CONFIGS))
-
-.PHONY: showconfigs
-showconfigs:
-	@$(foreach CONFIG, $(INSTALL_CONFIGS), echo $(CONFIG);)
-
-.PHONY: notemplate
-notemplate:
-	@printf "No template specified. Use 'make defconfig' or "
-	@echo "use T=template from the following list:"
-	@$(MAKE) -rR showconfigs | sed 's,^,  ,'
-
-.PHONY: defconfig
-defconfig:
-	@$(MAKE) config T=$(shell \
-                uname -m | awk '{ \
-                if ($$0 == "aarch64") { \
-                        print "arm64-armv8a"} \
-                else if ($$0 == "armv7l") { \
-                        print "arm-armv7a"} \
-                else if ($$0 == "ppc64") { \
-                        print "ppc_64-power8"} \
-                else if ($$0 == "amd64") { \
-                        print "x86_64-native"} \
-                else { \
-                        printf "%s-native", $$0} }' \
-		)-$(shell \
-                uname | awk '{ \
-                if ($$0 == "Linux") { \
-                        print "linux"} \
-                else { \
-                        print "freebsd"} }' \
-		)-$(shell \
-		${CC} --version | grep -o 'cc\|gcc\|icc\|clang' | awk \
-		'{ \
-		if ($$1 == "cc") { \
-			print "gcc" } \
-		else { \
-			print $$1 } \
-		}' \
-		)
-
-.PHONY: config
-ifeq ($(RTE_CONFIG_TEMPLATE),)
-config: notemplate
-else
-config: $(RTE_OUTPUT)/include/rte_config.h $(RTE_OUTPUT)/Makefile
-	@echo "Configuration done using" \
-		$(patsubst defconfig_%,%,$(notdir $(RTE_CONFIG_TEMPLATE)))
-endif
-
-$(RTE_OUTPUT):
-	$(Q)mkdir -p $@
-
-ifdef NODOTCONF
-$(RTE_OUTPUT)/.config: ;
-else
-# Generate config from template, if there are duplicates keep only the last.
-# To do so the temp config is checked for duplicate keys with cut/sort/uniq
-# Then for each of those identified duplicates as long as there are more than
-# just one left the last match is removed.
-# Part of the config includes the version information taken from "VERSION"
-# in the repo. This needs to be split into the various parts using sed and awk.
-# To ensure correct version comparison, we append ".99" to the version number
-# so that the version of a release is higher than that of its rc's.
-$(RTE_OUTPUT)/.config: $(RTE_CONFIG_TEMPLATE) FORCE | $(RTE_OUTPUT)
-	$(Q)if [ "$(RTE_CONFIG_TEMPLATE)" != "" -a -f "$(RTE_CONFIG_TEMPLATE)" ]; then \
-		$(CPP) -undef -P -x assembler-with-cpp \
-		`cat $(RTE_SRCDIR)/VERSION | \
-		sed -e 's/-rc/.-rc./' -e 's/$$/..99/' | \
-		awk -F '.' '{print "-D__YEAR="int($$1), "-D__MONTH="int($$2), "-D__MINOR="int($$3), "-D__SUFFIX=\""$$4"\"", "-D__RELEASE="int($$5)}'` \
-		-ffreestanding \
-		-o $(RTE_OUTPUT)/.config_tmp $(RTE_CONFIG_TEMPLATE) ; \
-		config=$$(cat $(RTE_OUTPUT)/.config_tmp) ; \
-		echo "$$config" | awk -F '=' 'BEGIN {i=1} \
-			/^#/ {pos[i++]=$$0} \
-			!/^#/ {if (!s[$$1]) {pos[i]=$$0; s[$$1]=i++} \
-				else {pos[s[$$1]]=$$0}} END \
-			{for (j=1; j<i; j++) print pos[j]}' \
-			> $(RTE_OUTPUT)/.config_tmp ; \
-		if ! cmp -s $(RTE_OUTPUT)/.config_tmp $(RTE_OUTPUT)/.config; then \
-			cp $(RTE_OUTPUT)/.config_tmp $(RTE_OUTPUT)/.config ; \
-			cp $(RTE_OUTPUT)/.config_tmp $(RTE_OUTPUT)/.config.orig ; \
-		fi ; \
-		rm -f $(RTE_OUTPUT)/.config_tmp ; \
-	else \
-		$(MAKE) -rRf $(RTE_SDK)/mk/rte.sdkconfig.mk notemplate; \
-	fi
-endif
-
-# generate a Makefile for this build directory
-# use a relative path so it will continue to work even if we move the directory
-SDK_RELPATH=$(shell $(RTE_SDK)/buildtools/relpath.sh $(abspath $(RTE_SRCDIR)) \
-				$(abspath $(RTE_OUTPUT)))
-OUTPUT_RELPATH=$(shell $(RTE_SDK)/buildtools/relpath.sh $(abspath $(RTE_OUTPUT)) \
-				$(abspath $(RTE_SRCDIR)))
-$(RTE_OUTPUT)/Makefile: | $(RTE_OUTPUT)
-	$(Q)$(RTE_SDK)/buildtools/gen-build-mk.sh $(SDK_RELPATH) > $@
-
-# clean installed files, and generate a new config header file
-# if NODOTCONF variable is defined, don't try to rebuild .config
-$(RTE_OUTPUT)/include/rte_config.h: $(RTE_OUTPUT)/.config
-	$(Q)rm -rf $(RTE_OUTPUT)/include $(RTE_OUTPUT)/app \
-		$(RTE_OUTPUT)/lib \
-		$(RTE_OUTPUT)/hostlib $(RTE_OUTPUT)/kmod $(RTE_OUTPUT)/build
-	$(Q)mkdir -p $(RTE_OUTPUT)/include
-	$(Q)$(RTE_SDK)/buildtools/gen-config-h.sh $(RTE_OUTPUT)/.config \
-		> $(RTE_OUTPUT)/include/rte_config.h
-
-# generate the rte_config.h
-.PHONY: headerconfig
-headerconfig: $(RTE_OUTPUT)/include/rte_config.h
-	@true
-
-# check that .config is present, and if yes, check that rte_config.h
-# is up to date
-.PHONY: checkconfig
-checkconfig:
-	@if [ ! -f $(RTE_OUTPUT)/.config ]; then \
-		echo "No .config in build directory"; \
-		exit 1; \
-	fi
-	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkconfig.mk \
-		headerconfig NODOTCONF=1
-
-.PHONY: FORCE
-FORCE:
diff --git a/mk/rte.sdkdepdirs.mk b/mk/rte.sdkdepdirs.mk
deleted file mode 100644
index 7adeb0e11b..0000000000
--- a/mk/rte.sdkdepdirs.mk
+++ /dev/null
@@ -1,9 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-ifeq (,$(wildcard $(RTE_OUTPUT)/.config))
-  $(error "need a make config first")
-endif
-ifeq (,$(wildcard $(RTE_OUTPUT)/Makefile))
-  $(error "need a make config first")
-endif
diff --git a/mk/rte.sdkdoc.mk b/mk/rte.sdkdoc.mk
deleted file mode 100644
index fd77e41867..0000000000
--- a/mk/rte.sdkdoc.mk
+++ /dev/null
@@ -1,104 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2015 Intel Corporation.
-# Copyright(c) 2013-2015 6WIND S.A.
-
-ifdef T
-ifeq ("$(origin T)", "command line")
-$(error "Cannot use T= with doc target")
-endif
-endif
-
-RTE_SPHINX_BUILD = sphinx-build
-RTE_PDFLATEX_VERBOSE := --interaction=nonstopmode
-
-ifndef V
-RTE_SPHINX_VERBOSE := -q
-RTE_PDFLATEX_VERBOSE := --interaction=batchmode
-RTE_INKSCAPE_VERBOSE := >/dev/null 2>&1
-endif
-ifeq '$V' '0'
-RTE_SPHINX_VERBOSE := -q
-RTE_PDFLATEX_VERBOSE := --interaction=batchmode
-RTE_INKSCAPE_VERBOSE := >/dev/null 2>&1
-endif
-
-RTE_PDF_DPI ?= 300
-
-RTE_GUIDES := $(filter %/, $(wildcard $(RTE_SDK)/doc/guides/*/))
-
-API_EXAMPLES := $(RTE_OUTPUT)/doc/html/examples.dox
-
-.PHONY: help
-help:
-	@cat $(RTE_SDK)/doc/build-sdk-quick.txt
-	@$(MAKE) -rR showconfigs | sed 's,^,\t\t\t\t,'
-
-.PHONY: all
-all: api-html guides-html guides-pdf
-
-.PHONY: clean
-clean: api-html-clean guides-html-clean guides-pdf-clean guides-man-clean
-
-.PHONY: api-html
-api-html: $(API_EXAMPLES)
-	@echo 'doxygen for API...'
-	$(Q)mkdir -p $(RTE_OUTPUT)/doc/html
-	$(Q)(sed -e "s|@VERSION@|`$(MAKE) -rRs showversion`|" \
-	         -e "s|@API_EXAMPLES@|$(API_EXAMPLES)|"       \
-	         -e "s|@OUTPUT@|$(RTE_OUTPUT)/doc|"           \
-	         -e "s|@HTML_OUTPUT@|html/api|"               \
-	         -e "s|@TOPDIR@|./|g"                         \
-	         -e "s|@STRIP_FROM_PATH@|./|g"                \
-	         $(RTE_SDK)/doc/api/doxy-api.conf.in)|        \
-	    doxygen -
-	$(Q)$(RTE_SDK)/doc/api/doxy-html-custom.sh $(RTE_OUTPUT)/doc/html/api/doxygen.css
-
-.PHONY: api-html-clean
-api-html-clean:
-	$(Q)rm -f $(API_EXAMPLES)
-	$(Q)rm -rf $(RTE_OUTPUT)/doc/html/api/search
-	$(Q)rm -f $(RTE_OUTPUT)/doc/html/api/*
-	$(Q)rmdir -p --ignore-fail-on-non-empty $(RTE_OUTPUT)/doc/html/api 2>&- || true
-
-$(API_EXAMPLES): api-html-clean
-	$(Q)mkdir -p $(@D)
-	$(Q)doc/api/generate_examples.sh examples $(API_EXAMPLES)
-
-guides-pdf-clean: guides-pdf-img-clean
-guides-pdf-img-clean:
-	$(Q)rm -f $(RTE_SDK)/doc/guides/*/img/*.pdf
-
-guides-%-clean:
-	$(Q)rm -rf $(RTE_OUTPUT)/doc/$*/guides
-	$(Q)rmdir -p --ignore-fail-on-non-empty $(RTE_OUTPUT)/doc/$* 2>&- || true
-
-guides-pdf: $(addprefix guides-pdf-, $(notdir $(RTE_GUIDES:/=))) ;
-guides-pdf-%:
-	@echo 'sphinx processing $@...'
-	$(Q)$(RTE_SPHINX_BUILD) -b latex $(RTE_SPHINX_VERBOSE) \
-		-c $(RTE_SDK)/doc/guides $(RTE_SDK)/doc/guides/$* \
-		$(RTE_OUTPUT)/doc/pdf/guides/$*
-	$(if $^,$(Q)rm -f $^)
-	@echo 'pdflatex processing $@...'
-	$(Q)$(MAKE) all-pdf -sC $(RTE_OUTPUT)/doc/pdf/guides/$* \
-		LATEXOPTS=$(RTE_PDFLATEX_VERBOSE)
-	$(Q)mv $(RTE_OUTPUT)/doc/pdf/guides/$*/doc.pdf \
-		$(RTE_OUTPUT)/doc/pdf/guides/$*.pdf
-
-guides-html-prepare:
-	$(Q)install -D -m0644 $(RTE_SDK)/doc/guides/custom.css \
-		$(RTE_OUTPUT)/doc/html/guides/_static/css/custom.css
-
-guides-%-prepare: ;
-
-guides-%: guides-%-prepare
-	@echo 'sphinx processing $@...'
-	$(Q)$(RTE_SPHINX_BUILD) -b $* $(RTE_SPHINX_VERBOSE) \
-		-c $(RTE_SDK)/doc/guides $(RTE_SDK)/doc/guides \
-		$(RTE_OUTPUT)/doc/$*/guides
-
-# Each PDF depends on generated images *.pdf from *.svg
-$(foreach guide, $(RTE_GUIDES), $(foreach img, $(wildcard $(guide)img/*.svg), \
-	$(eval guides-pdf-$(notdir $(guide:/=)): $(img:svg=pdf))))
-%.pdf: %.svg
-	$(Q)inkscape -d $(RTE_PDF_DPI) -D -f $< -A $@ $(RTE_INKSCAPE_VERBOSE)
diff --git a/mk/rte.sdkexamples.mk b/mk/rte.sdkexamples.mk
deleted file mode 100644
index 5eeec36494..0000000000
--- a/mk/rte.sdkexamples.mk
+++ /dev/null
@@ -1,50 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2014 6WIND S.A.
-
-# examples application are seen as external applications which are
-# not part of SDK.
-BUILDING_RTE_SDK :=
-export BUILDING_RTE_SDK
-
-# Build directory is given with O=
-O ?= $(RTE_SDK)/examples
-
-# Target for which examples should be built.
-T ?= *
-
-# list all available configurations
-EXAMPLES_CONFIGS := $(patsubst $(RTE_SRCDIR)/config/defconfig_%,%,\
-	$(wildcard $(RTE_SRCDIR)/config/defconfig_$(T)))
-EXAMPLES_TARGETS := $(addsuffix _examples,\
-	$(filter-out %~,$(EXAMPLES_CONFIGS)))
-
-.PHONY: examples
-examples: $(EXAMPLES_TARGETS)
-
-%_examples:
-	@echo ================== Build examples for $*
-	$(Q)if [ ! -d "${RTE_SDK}/${*}" ]; then \
-		echo "Target ${*} does not exist in ${RTE_SDK}/${*}." ; \
-		echo -n "Please install DPDK first (make install) or use another " ; \
-		echo "target argument (T=target)." ; \
-		false ; \
-	else \
-		$(MAKE) -C examples O=$(abspath $(O)) RTE_TARGET=$(*); \
-	fi
-
-EXAMPLES_CLEAN_TARGETS := $(addsuffix _examples_clean,\
-	$(filter-out %~,$(EXAMPLES_CONFIGS)))
-
-.PHONY: examples_clean
-examples_clean: $(EXAMPLES_CLEAN_TARGETS)
-
-%_examples_clean:
-	@echo ================== Clean examples for $*
-	$(Q)if [ ! -d "${RTE_SDK}/${*}" ]; then \
-		echo "Target ${*} does not exist in ${RTE_SDK}/${*}." ; \
-		echo -n "Please install DPDK first (make install) or use another " ; \
-		echo "target argument (T=target)." ; \
-		false ; \
-	else \
-		$(MAKE) -C examples O=$(abspath $(O)) RTE_TARGET=$(*) clean; \
-	fi
diff --git a/mk/rte.sdkgcov.mk b/mk/rte.sdkgcov.mk
deleted file mode 100644
index ab528b18b8..0000000000
--- a/mk/rte.sdkgcov.mk
+++ /dev/null
@@ -1,39 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-ifdef T
-ifeq ("$(origin T)", "command line")
-$(error "Cannot use T= with gcov target")
-endif
-endif
-
-ifeq (,$(wildcard $(RTE_OUTPUT)/.config))
-  $(error "need a make config first")
-else
-  include $(RTE_SDK)/mk/rte.vars.mk
-endif
-ifeq (,$(wildcard $(RTE_OUTPUT)/Makefile))
-  $(error "need a make config first")
-endif
-
-INPUTDIR  = $(RTE_OUTPUT)
-OUTPUTDIR =  $(RTE_OUTPUT)/gcov
-
-.PHONY: gcovclean
-gcovclean:
-	$(Q)find $(INPUTDIR)/build -name "*.gcno" -o -name "*.gcda" -exec rm {} \;
-	$(Q)rm -rf $(OUTPUTDIR)
-
-.PHONY: gcov
-gcov:
-	$(Q)for APP in test ; do \
-		mkdir -p $(OUTPUTDIR)/$$APP ; cd $(OUTPUTDIR)/$$APP ; \
-		for FIC in `strings $(RTE_OUTPUT)/app/$$APP | grep gcda | sed s,gcda,o,` ; do \
-			SUBDIR=`basename $$FIC`;\
-			mkdir $$SUBDIR ;\
-			cd $$SUBDIR ;\
-			$(GCOV) $(RTE_OUTPUT)/app/$$APP -o $$FIC > gcov.log; \
-			cd - >/dev/null;\
-		done ; \
-		cd - >/dev/null; \
-	done
diff --git a/mk/rte.sdkinstall.mk b/mk/rte.sdkinstall.mk
deleted file mode 100644
index 32bed5d951..0000000000
--- a/mk/rte.sdkinstall.mk
+++ /dev/null
@@ -1,152 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation.
-# Copyright 2015 6WIND S.A.
-
-# Configuration, compilation and installation can be done at once
-# with make install T=<config>
-
-ifdef T # config, build and install combined
-# The build directory is T and may be prepended with O
-O ?= .
-RTE_OUTPUT := $O/$T
-else # standard install
-# Build directory is given with O=
-O ?= build
-RTE_OUTPUT := $O
-endif
-
-ifneq ($(MAKECMDGOALS),pre_install)
-include $(RTE_SDK)/mk/rte.vars.mk
-endif
-
-ifdef T # defaults with T= will install an almost flat staging tree
-export prefix ?=
-kerneldir   ?= $(prefix)/kmod
-else
-ifeq ($(RTE_EXEC_ENV),linuxapp)
-RTE_EXEC_ENV=linux
-endif
-ifeq ($(RTE_EXEC_ENV),linux)
-kerneldir   ?= $(RTE_KERNELDIR:/build=/extra/dpdk)
-else
-kerneldir   ?= /boot/modules
-endif
-prefix      ?=     /usr/local
-endif
-exec_prefix ?=      $(prefix)
-bindir      ?= $(exec_prefix)/bin
-sbindir     ?= $(exec_prefix)/sbin
-libdir      ?= $(exec_prefix)/lib
-includedir  ?=      $(prefix)/include/dpdk
-datarootdir ?=      $(prefix)/share
-docdir      ?=       $(datarootdir)/doc/dpdk
-datadir     ?=       $(datarootdir)/dpdk
-mandir      ?=       $(datarootdir)/man
-sdkdir      ?=                $(datadir)
-targetdir   ?=                $(datadir)/$(RTE_TARGET)
-
-# The install directories may be staged in DESTDIR
-
-# Create the directory $1 if not exists
-rte_mkdir = test -d $1 || mkdir -p $1
-
-# Create the relative symbolic link $2 -> $1
-# May be replaced with --relative option of ln from coreutils-8.16
-rte_symlink = ln -snf $$($(RTE_SDK)/buildtools/relpath.sh $1 $(dir $2)) $2
-
-.PHONY: pre_install
-pre_install:
-ifdef T
-	$(Q)if [ ! -f $(RTE_OUTPUT)/.config ]; then \
-		$(MAKE) config O=$(RTE_OUTPUT); \
-	elif cmp -s $(RTE_OUTPUT)/.config.orig $(RTE_OUTPUT)/.config; then \
-		$(MAKE) config O=$(RTE_OUTPUT); \
-	else \
-		if [ -f $(RTE_OUTPUT)/.config.orig ] ; then \
-			tmp_build=$(RTE_OUTPUT)/.config.tmp; \
-			$(MAKE) config O=$$tmp_build; \
-			if ! cmp -s $(RTE_OUTPUT)/.config.orig $$tmp_build/.config ; then \
-				echo "Conflict: local config and template config have both changed"; \
-				exit 1; \
-			fi; \
-		fi; \
-		echo "Using local configuration"; \
-	fi
-	$(Q)$(MAKE) all O=$(RTE_OUTPUT)
-endif
-
-.PHONY: install
-install:
-ifeq ($(DESTDIR)$(if $T,,+),)
-	@echo Installation cannot run with T defined and DESTDIR undefined
-else
-	@echo ================== Installing $(DESTDIR)$(prefix)/
-	$(Q)$(MAKE) O=$(RTE_OUTPUT) T= install-runtime
-	$(Q)$(MAKE) O=$(RTE_OUTPUT) T= install-kmod
-	$(Q)$(MAKE) O=$(RTE_OUTPUT) T= install-sdk
-	$(Q)$(MAKE) O=$(RTE_OUTPUT) T= install-doc
-	@echo Installation in $(DESTDIR)$(prefix)/ complete
-endif
-
-# when installing we want recursive copies preserving timestamps only, no
-# preservation of user/group ids or permissions
-CP_FLAGS=-dR --preserve=timestamps
-TAR_X_FLAGS=--strip-components=1 --keep-newer-files --no-same-owner --no-same-permissions
-
-install-runtime:
-	$(Q)$(call rte_mkdir, $(DESTDIR)$(libdir))
-	$(Q)cp $(CP_FLAGS)    $O/lib/* $(DESTDIR)$(libdir)
-	$(Q)$(call rte_mkdir, $(DESTDIR)$(bindir))
-	$(Q)tar -cf -      -C $O --exclude 'app/*.map' \
-		--exclude app/dpdk-pmdinfogen \
-		--exclude 'app/cmdline*' --exclude app/test \
-		--exclude app/testacl --exclude app/testpipeline app | \
-	    tar -xf -      -C $(DESTDIR)$(bindir) $(TAR_X_FLAGS)
-	$(Q)$(call rte_mkdir,      $(DESTDIR)$(datadir)/usertools)
-	$(Q)tar -cf -      -C $(RTE_SDK) --exclude meson.build usertools | \
-	    tar -xf -      -C $(DESTDIR)$(datadir)/usertools $(TAR_X_FLAGS)
-	$(Q)$(call rte_mkdir,      $(DESTDIR)$(sbindir))
-	$(Q)$(call rte_symlink,    $(DESTDIR)$(datadir)/usertools/dpdk-devbind.py, \
-	                           $(DESTDIR)$(sbindir)/dpdk-devbind)
-	$(Q)$(call rte_symlink,    $(DESTDIR)$(datadir)/usertools/dpdk-pmdinfo.py, \
-	                           $(DESTDIR)$(bindir)/dpdk-pmdinfo)
-ifneq ($(wildcard $O/doc/man/*/*.1),)
-	$(Q)$(call rte_mkdir,      $(DESTDIR)$(mandir)/man1)
-	$(Q)cp $(CP_FLAGS) $O/doc/man/*/*.1 $(DESTDIR)$(mandir)/man1
-endif
-ifneq ($(wildcard $O/doc/man/*/*.8),)
-	$(Q)$(call rte_mkdir,      $(DESTDIR)$(mandir)/man8)
-	$(Q)cp $(CP_FLAGS) $O/doc/man/*/*.8 $(DESTDIR)$(mandir)/man8
-endif
-
-install-kmod:
-ifneq ($(wildcard $O/kmod/*),)
-	$(Q)$(call rte_mkdir, $(DESTDIR)$(kerneldir))
-	$(Q)cp $(CP_FLAGS)   $O/kmod/* $(DESTDIR)$(kerneldir)
-endif
-
-install-sdk:
-	$(Q)$(call rte_mkdir, $(DESTDIR)$(includedir))
-	$(Q)tar -chf -     -C $O include | \
-	    tar -xf -      -C $(DESTDIR)$(includedir) $(TAR_X_FLAGS)
-	$(Q)$(call rte_mkdir,                            $(DESTDIR)$(sdkdir))
-	$(Q)cp $(CP_FLAGS)      $(RTE_SDK)/mk            $(DESTDIR)$(sdkdir)
-	$(Q)cp $(CP_FLAGS)      $(RTE_SDK)/buildtools    $(DESTDIR)$(sdkdir)
-	$(Q)$(call rte_mkdir,                            $(DESTDIR)$(targetdir)/app)
-	$(Q)cp $(CP_FLAGS)      $O/.config               $(DESTDIR)$(targetdir)
-	$(Q)cp $(CP_FLAGS)      $O/app/dpdk-pmdinfogen   $(DESTDIR)$(targetdir)/app
-	$(Q)$(call rte_symlink, $(DESTDIR)$(includedir), $(DESTDIR)$(targetdir)/include)
-	$(Q)$(call rte_symlink, $(DESTDIR)$(libdir),     $(DESTDIR)$(targetdir)/lib)
-
-install-doc:
-ifneq ($(wildcard $O/doc/html),)
-	$(Q)$(call rte_mkdir, $(DESTDIR)$(docdir))
-	$(Q)tar -cf -      -C $O/doc --exclude 'html/guides/.*' html | \
-	    tar -xf -      -C $(DESTDIR)$(docdir) $(TAR_X_FLAGS)
-endif
-ifneq ($(wildcard $O/doc/*/*/*pdf),)
-	$(Q)$(call rte_mkdir,     $(DESTDIR)$(docdir)/guides)
-	$(Q)cp $(CP_FLAGS) $O/doc/*/*/*pdf $(DESTDIR)$(docdir)/guides
-endif
-	$(Q)$(call rte_mkdir,         $(DESTDIR)$(datadir))
-	$(Q)cp $(CP_FLAGS) $(RTE_SDK)/examples $(DESTDIR)$(datadir)
diff --git a/mk/rte.sdkroot.mk b/mk/rte.sdkroot.mk
deleted file mode 100644
index fbee6e96d9..0000000000
--- a/mk/rte.sdkroot.mk
+++ /dev/null
@@ -1,115 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-MAKEFLAGS += --no-print-directory
-
-# define Q to '@' or not. $(Q) is used to prefix all shell commands to
-# be executed silently.
-Q=@
-ifeq '$V' '0'
-override V=
-endif
-ifdef V
-ifeq ("$(origin V)", "command line")
-Q=
-endif
-endif
-export Q
-
-ifeq ($(RTE_SDK),)
-$(error RTE_SDK is not defined)
-endif
-
-RTE_SRCDIR = $(CURDIR)
-export RTE_SRCDIR
-
-BUILDING_RTE_SDK := 1
-export BUILDING_RTE_SDK
-
-#
-# We can specify the configuration template when doing the "make
-# config". For instance: make config T=x86_64-native-linux-gcc
-#
-RTE_CONFIG_TEMPLATE :=
-ifdef T
-ifeq ("$(origin T)", "command line")
-RTE_CONFIG_TEMPLATE := $(RTE_SRCDIR)/config/defconfig_$(T)
-endif
-endif
-export RTE_CONFIG_TEMPLATE
-
-#
-# Default output is $(RTE_SRCDIR)/build
-# output files wil go in a separate directory
-#
-ifdef O
-ifeq ("$(origin O)", "command line")
-RTE_OUTPUT := $(abspath $(O))
-endif
-endif
-RTE_OUTPUT ?= $(RTE_SRCDIR)/build
-export RTE_OUTPUT
-
-# the directory where intermediate build files are stored, like *.o,
-# *.d, *.cmd, ...
-BUILDDIR = $(RTE_OUTPUT)/build
-export BUILDDIR
-
-export ROOTDIRS-y ROOTDIRS- ROOTDIRS-n
-
-.PHONY: default test-build
-default test-build: all
-
-.PHONY: warning
-warning:
-	@echo
-	@echo "=========================== WARNING ============================"
-	@echo "It is recommended to build DPDK using 'meson' and 'ninja'"
-	@echo "See https://doc.dpdk.org/guides/linux_gsg/build_dpdk.html"
-	@echo "Building DPDK with 'make' will be deprecated in a future release"
-	@echo "================================================================"
-	@echo
-	@test "$(MAKE_PAUSE)" = n || ( \
-	echo "This deprecation warning can be passed by adding MAKE_PAUSE=n"; \
-	echo "to 'make' command line or as an exported environment variable."; \
-	echo "Press enter to continue..."; read junk)
-
-.PHONY: config defconfig showconfigs showversion showversionum
-config: warning
-config defconfig showconfigs showversion showversionum:
-	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkconfig.mk $@
-
-.PHONY: cscope gtags tags etags
-cscope gtags tags etags:
-	$(Q)$(RTE_SDK)/devtools/build-tags.sh $@ $T
-
-.PHONY: test test-fast test-perf coverage test-drivers test-dump
-test test-fast test-perf coverage test-drivers test-dump:
-	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdktest.mk $@
-
-.PHONY: install
-install:
-	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkinstall.mk pre_install
-	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkinstall.mk $@
-install-%:
-	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkinstall.mk $@
-
-.PHONY: doc help
-doc: doc-all
-help: doc-help
-doc-%:
-	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkdoc.mk $*
-
-.PHONY: gcov gcovclean
-gcov gcovclean:
-	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkgcov.mk $@
-
-.PHONY: examples examples_clean
-examples examples_clean:
-	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkexamples.mk $@
-
-# all other build targets
-%:
-	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkconfig.mk checkconfig
-	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkroot.mk warning
-	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkbuild.mk $@
diff --git a/mk/rte.sdktest.mk b/mk/rte.sdktest.mk
deleted file mode 100644
index 803018ba3a..0000000000
--- a/mk/rte.sdktest.mk
+++ /dev/null
@@ -1,76 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-ifeq (,$(wildcard $(RTE_OUTPUT)/.config))
-  $(error "need a make config first")
-else
-  include $(RTE_SDK)/mk/rte.vars.mk
-endif
-ifeq (,$(wildcard $(RTE_OUTPUT)/Makefile))
-  $(error "need a make config first")
-endif
-
-DATE := $(shell date '+%Y%m%d-%H%M')
-AUTOTEST_DIR := $(RTE_OUTPUT)/autotest-$(DATE)
-
-DIR := $(shell basename $(RTE_OUTPUT))
-
-#
-# test: launch auto-tests, very simple for now.
-#
-.PHONY: test test-fast test-perf test-drivers test-dump coverage
-
-PERFLIST=ring_perf,mempool_perf,memcpy_perf,hash_perf,timer_perf,\
-         reciprocal_division,reciprocal_division_perf,lpm_perf,red_all,\
-         barrier,hash_multiwriter,timer_racecond,efd,hash_functions,\
-         eventdev_selftest_sw,member_perf,efd_perf,lpm6_perf,red_perf,\
-         distributor_perf,ring_pmd_perf,pmd_perf,ring_perf
-DRIVERSLIST=link_bonding,link_bonding_mode4,link_bonding_rssconf,\
-            cryptodev_sw_mrvl,cryptodev_dpaa2_sec,cryptodev_dpaa_sec,\
-            cryptodev_qat,cryptodev_aesni_mb,cryptodev_openssl,\
-            cryptodev_scheduler,cryptodev_aesni_gcm,cryptodev_null,\
-            cryptodev_sw_snow3g,cryptodev_sw_kasumi,cryptodev_sw_zuc
-DUMPLIST=dump_struct_sizes,dump_mempool,dump_malloc_stats,dump_devargs,\
-         dump_log_types,dump_ring,dump_physmem,dump_memzone
-
-SPACESTR:=
-SPACESTR+=
-STRIPPED_PERFLIST=$(subst $(SPACESTR),,$(PERFLIST))
-STRIPPED_DRIVERSLIST=$(subst $(SPACESTR),,$(DRIVERSLIST))
-STRIPPED_DUMPLIST=$(subst $(SPACESTR),,$(DUMPLIST))
-
-coverage: BLACKLIST=-$(STRIPPED_PERFLIST)
-test-fast: BLACKLIST=-$(STRIPPED_PERFLIST),$(STRIPPED_DRIVERSLIST),$(STRIPPED_DUMPLIST)
-test-perf: WHITELIST=$(STRIPPED_PERFLIST)
-test-drivers: WHITELIST=$(STRIPPED_DRIVERSLIST)
-test-dump: WHITELIST=$(STRIPPED_DUMPLIST)
-
-test test-fast test-perf test-drivers test-dump:
-	@mkdir -p $(AUTOTEST_DIR) ; \
-	cd $(AUTOTEST_DIR) ; \
-	if [ -f $(RTE_OUTPUT)/app/test ]; then \
-		python $(RTE_SDK)/app/test/autotest.py \
-			$(RTE_OUTPUT)/app/test \
-			$(RTE_TARGET) \
-			$(BLACKLIST) $(WHITELIST); \
-	else \
-		echo "No test found, please do a 'make' first, or specify O=" ; \
-	fi
-
-# this is a special target to ease the pain of running coverage tests
-# this runs all the autotests, cmdline_test script and dpdk-procinfo
-coverage:
-	@mkdir -p $(AUTOTEST_DIR) ; \
-	cd $(AUTOTEST_DIR) ; \
-	if [ -f $(RTE_OUTPUT)/app/test ]; then \
-		python $(RTE_SDK)/test/cmdline_test/cmdline_test.py \
-			$(RTE_OUTPUT)/app/cmdline_test; \
-		ulimit -S -n 100 ; \
-		python $(RTE_SDK)/app/test/autotest.py \
-			$(RTE_OUTPUT)/app/test \
-			$(RTE_TARGET) \
-			$(BLACKLIST) $(WHITELIST) ; \
-		$(RTE_OUTPUT)/app/dpdk-procinfo --file-prefix=ring_perf -- -m; \
-	else \
-		echo "No test found, please do a 'make' first, or specify O=" ;\
-	fi
diff --git a/mk/rte.shared.mk b/mk/rte.shared.mk
deleted file mode 100644
index 2b501ddb84..0000000000
--- a/mk/rte.shared.mk
+++ /dev/null
@@ -1,108 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2012-2013 6WIND S.A.
-
-include $(RTE_SDK)/mk/internal/rte.compile-pre.mk
-include $(RTE_SDK)/mk/internal/rte.install-pre.mk
-include $(RTE_SDK)/mk/internal/rte.clean-pre.mk
-include $(RTE_SDK)/mk/internal/rte.build-pre.mk
-
-# VPATH contains at least SRCDIR
-VPATH += $(SRCDIR)
-
-_BUILD = $(SHARED)
-_INSTALL = $(INSTALL-FILES-y) $(SYMLINK-FILES-y) $(RTE_OUTPUT)/lib/$(SHARED)
-_CLEAN = doclean
-
-# Set fPIC in CFLAGS for .so generation
-CFLAGS += -fPIC
-
-.PHONY: all
-all: install
-
-.PHONY: install
-install: build _postinstall
-
-_postinstall: build
-
-.PHONY: build
-build: _postbuild
-
-exe2cmd = $(strip $(call dotfile,$(patsubst %,%.cmd,$(1))))
-
-ifeq ($(LINK_USING_CC),1)
-override EXTRA_LDFLAGS := $(call linkerprefix,$(EXTRA_LDFLAGS))
-O_TO_SO = $(CC) $(call linkerprefix,$(LDFLAGS)) $(LDFLAGS_$(@)) $(EXTRA_LDFLAGS) \
-	-shared -o $@ $(OBJS-y) $(call linkerprefix,$(LDLIBS))
-else
-O_TO_SO = $(LD) $(LDFLAGS) $(LDFLAGS_$(@)) $(EXTRA_LDFLAGS) \
-	-shared -o $@ $(OBJS-y) $(LDLIBS)
-endif
-
-O_TO_SO_STR = $(subst ','\'',$(O_TO_SO)) #'# fix syntax highlight
-O_TO_SO_DISP = $(if $(V),"$(O_TO_SO_STR)","  LD $(@)")
-O_TO_SO_CMD = "cmd_$@ = $(O_TO_SO_STR)"
-O_TO_SO_DO = @set -e; \
-	echo $(O_TO_SO_DISP); \
-	$(O_TO_SO) && \
-	echo $(O_TO_SO_CMD) > $(call exe2cmd,$(@))
-
--include .$(SHARED).cmd
-
-# path where libraries are retrieved
-LDLIBS_PATH := $(subst -Wl$(comma)-L,,$(filter -Wl$(comma)-L%,$(LDLIBS)))
-LDLIBS_PATH += $(subst -L,,$(filter -L%,$(LDLIBS)))
-
-# list of .a files that are linked to this application
-LDLIBS_NAMES := $(patsubst -l%,lib%.a,$(filter -l%,$(LDLIBS)))
-LDLIBS_NAMES += $(patsubst -Wl$(comma)-l%,lib%.a,$(filter -Wl$(comma)-l%,$(LDLIBS)))
-
-# list of found libraries files (useful for deps). If not found, the
-# library is silently ignored and dep won't be checked
-LDLIBS_FILES := $(sort $(wildcard $(foreach dir,$(LDLIBS_PATH),\
-	$(addprefix $(dir)/,$(LDLIBS_NAMES)))))
-
-#
-# Archive objects in .so file if needed
-#
-$(SHARED): $(OBJS-y) $(LDLIBS_FILES) $(DEP_$(SHARED)) FORCE
-	@[ -d $(dir $@) ] || mkdir -p $(dir $@)
-	$(if $(D),\
-		@echo -n "$< -> $@ " ; \
-		echo -n "file_missing=$(call boolean,$(file_missing)) " ; \
-		echo -n "cmdline_changed=$(call boolean,$(call cmdline_changed,$(O_TO_SO_STR))) " ; \
-		echo -n "depfile_missing=$(call boolean,$(depfile_missing)) " ; \
-		echo "depfile_newer=$(call boolean,$(depfile_newer)) ")
-	$(if $(or \
-		$(file_missing),\
-		$(call cmdline_changed,$(O_TO_SO_STR)),\
-		$(depfile_missing),\
-		$(depfile_newer)),\
-		$(O_TO_SO_DO))
-
-#
-# install lib in $(RTE_OUTPUT)/lib
-#
-$(RTE_OUTPUT)/lib/$(SHARED): $(SHARED)
-	@echo "  INSTALL-SHARED $(SHARED)"
-	@[ -d $(RTE_OUTPUT)/lib ] || mkdir -p $(RTE_OUTPUT)/lib
-	$(Q)cp -f $(SHARED) $(RTE_OUTPUT)/lib
-
-#
-# Clean all generated files
-#
-.PHONY: clean
-clean: _postclean
-
-.PHONY: doclean
-doclean:
-	$(Q)rm -rf $(SHARED) $(OBJS-all) $(DEPS-all) $(DEPSTMP-all) \
-	  $(CMDS-all) $(INSTALL-FILES-all)
-	$(Q)rm -f $(_BUILD_TARGETS) $(_INSTALL_TARGETS) $(_CLEAN_TARGETS)
-
-include $(RTE_SDK)/mk/internal/rte.compile-post.mk
-include $(RTE_SDK)/mk/internal/rte.install-post.mk
-include $(RTE_SDK)/mk/internal/rte.clean-post.mk
-include $(RTE_SDK)/mk/internal/rte.build-post.mk
-
-.PHONY: FORCE
-FORCE:
diff --git a/mk/rte.subdir.mk b/mk/rte.subdir.mk
deleted file mode 100644
index d6e64a2460..0000000000
--- a/mk/rte.subdir.mk
+++ /dev/null
@@ -1,65 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# .mk to build subdirectories
-#
-
-include $(RTE_SDK)/mk/internal/rte.install-pre.mk
-include $(RTE_SDK)/mk/internal/rte.clean-pre.mk
-include $(RTE_SDK)/mk/internal/rte.build-pre.mk
-
-ALL_DEPDIRS := $(patsubst DEPDIRS-%,%,$(filter DEPDIRS-%,$(.VARIABLES)))
-
-CLEANDIRS = $(addsuffix _clean,$(DIRS-y) $(DIRS-n) $(DIRS-))
-
-VPATH += $(SRCDIR)
-_BUILD = $(DIRS-y)
-_INSTALL = $(INSTALL-FILES-y) $(SYMLINK-FILES-y)
-_CLEAN = $(CLEANDIRS)
-
-.PHONY: all
-all: install
-
-.PHONY: install
-install: build _postinstall
-
-_postinstall: build
-
-.PHONY: build
-build: _postbuild
-
-.SECONDEXPANSION:
-.PHONY: $(DIRS-y)
-$(DIRS-y):
-	@[ -d $(CURDIR)/$@ ] || mkdir -p $(CURDIR)/$@
-	@echo "== Build $S/$@"
-	@$(MAKE) S=$S/$@ -f $(SRCDIR)/$@/Makefile -C $(CURDIR)/$@ all
-
-.PHONY: clean
-clean: _postclean
-
-%_clean:
-	@echo "== Clean $S/$*"
-	@if [ -f $(SRCDIR)/$*/Makefile -a -d $(CURDIR)/$* ]; then \
-		$(MAKE) S=$S/$* -f $(SRCDIR)/$*/Makefile -C $(CURDIR)/$* clean ; \
-	fi
-	@rm -f $(_BUILD_TARGETS) $(_INSTALL_TARGETS) $(_CLEAN_TARGETS)
-
-define depdirs_rule
-$(DEPDIRS-$(1)):
-
-$(1): | $(DEPDIRS-$(1))
-
-$(if $(D),$(info $(1) depends on $(DEPDIRS-$(1))))
-endef
-
-$(foreach dir,$(ALL_DEPDIRS),\
-	$(eval $(call depdirs_rule,$(dir))))
-
-include $(RTE_SDK)/mk/internal/rte.install-post.mk
-include $(RTE_SDK)/mk/internal/rte.clean-post.mk
-include $(RTE_SDK)/mk/internal/rte.build-post.mk
-
-.PHONY: FORCE
-FORCE:
diff --git a/mk/rte.vars.mk b/mk/rte.vars.mk
deleted file mode 100644
index 07b0db127f..0000000000
--- a/mk/rte.vars.mk
+++ /dev/null
@@ -1,102 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# To be included at the beginning of all RTE user Makefiles. This
-# .mk will define the RTE environment variables by including the
-# config file of SDK. It also includes the config file from external
-# application if any.
-#
-
-ifeq ($(RTE_SDK),)
-$(error RTE_SDK is not defined)
-endif
-ifeq ($(wildcard $(RTE_SDK)),)
-$(error RTE_SDK variable points to an invalid location)
-endif
-
-# define Q to '@' or not. $(Q) is used to prefix all shell commands to
-# be executed silently.
-Q=@
-ifeq '$V' '0'
-override V=
-endif
-ifdef V
-ifeq ("$(origin V)", "command line")
-Q=
-endif
-endif
-export Q
-
-# if we are building SDK, only includes SDK configuration
-ifneq ($(BUILDING_RTE_SDK),)
-  include $(RTE_OUTPUT)/.config
-  # remove double-quotes from config names
-  RTE_ARCH := $(CONFIG_RTE_ARCH:"%"=%)
-  RTE_MACHINE := $(CONFIG_RTE_MACHINE:"%"=%)
-  RTE_EXEC_ENV := $(CONFIG_RTE_EXEC_ENV:"%"=%)
-  RTE_TOOLCHAIN := $(CONFIG_RTE_TOOLCHAIN:"%"=%)
-  RTE_SDK_BIN := $(RTE_OUTPUT)
-endif
-
-RTE_TARGET ?= $(RTE_ARCH)-$(RTE_MACHINE)-$(RTE_EXEC_ENV)-$(RTE_TOOLCHAIN)
-
-ifeq ($(BUILDING_RTE_SDK),)
-# if we are building an external app/lib, include internal/rte.extvars.mk that will
-# define RTE_OUTPUT, RTE_SRCDIR, RTE_EXTMK, RTE_SDK_BIN, (etc ...)
-include $(RTE_SDK)/mk/internal/rte.extvars.mk
-endif
-
-CONFIG_RTE_LIBRTE_E1000_PMD = $(CONFIG_RTE_LIBRTE_IGB_PMD)
-ifneq ($(CONFIG_RTE_LIBRTE_E1000_PMD),y)
-  CONFIG_RTE_LIBRTE_E1000_PMD = $(CONFIG_RTE_LIBRTE_EM_PMD)
-endif
-
-ifeq ($(RTE_ARCH),)
-$(error RTE_ARCH is not defined)
-endif
-
-ifeq ($(RTE_MACHINE),)
-$(error RTE_MACHINE is not defined)
-endif
-
-ifeq ($(RTE_EXEC_ENV),)
-$(error RTE_EXEC_ENV is not defined)
-endif
-
-ifeq ($(RTE_TOOLCHAIN),)
-$(error RTE_TOOLCHAIN is not defined)
-endif
-
-# can be overridden by make command line or exported environment variable
-RTE_KERNELDIR ?= /lib/modules/$(shell uname -r)/build
-
-export RTE_TARGET
-export RTE_ARCH
-export RTE_MACHINE
-export RTE_EXEC_ENV
-export RTE_TOOLCHAIN
-
-# developer build automatically enabled in a git tree
-ifneq ($(wildcard $(RTE_SDK)/.git),)
-RTE_DEVEL_BUILD ?= y
-endif
-
-# SRCDIR is the current source directory
-ifdef S
-SRCDIR := $(abspath $(RTE_SRCDIR)/$(S))
-else
-SRCDIR := $(RTE_SRCDIR)
-endif
-
-# helper: return y if option is set to y, else return an empty string
-testopt = $(if $(strip $(subst y,,$(1)) $(subst $(1),,y)),,y)
-
-# helper: return an empty string if option is set, else return y
-not = $(if $(strip $(subst y,,$(1)) $(subst $(1),,y)),,y)
-
-ifneq ($(wildcard $(RTE_SDK)/mk/target/$(RTE_TARGET)/rte.vars.mk),)
-include $(RTE_SDK)/mk/target/$(RTE_TARGET)/rte.vars.mk
-else
-include $(RTE_SDK)/mk/target/generic/rte.vars.mk
-endif
diff --git a/mk/target/generic/rte.app.mk b/mk/target/generic/rte.app.mk
deleted file mode 100644
index ed82656f18..0000000000
--- a/mk/target/generic/rte.app.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# define Makefile targets that are specific to an environment.
-#
-include $(RTE_SDK)/mk/exec-env/$(RTE_EXEC_ENV)/rte.app.mk
-
-.PHONY: exec-env-appinstall
-target-appinstall: exec-env-appinstall
-
-.PHONY: exec-env-appclean
-target-appclean: exec-env-appclean
diff --git a/mk/target/generic/rte.vars.mk b/mk/target/generic/rte.vars.mk
deleted file mode 100644
index 11b0418e55..0000000000
--- a/mk/target/generic/rte.vars.mk
+++ /dev/null
@@ -1,132 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# This .mk is the generic target rte.var.mk ; it includes .mk for
-# the specified machine, architecture, toolchain (compiler) and
-# executive environment.
-#
-
-#
-# toolchain:
-#
-#   - define CC, LD, AR, AS, ...
-#   - define TOOLCHAIN_CFLAGS variable (overridden by cmdline value)
-#   - define TOOLCHAIN_LDFLAGS variable (overridden by cmdline value)
-#   - define TOOLCHAIN_ASFLAGS variable (overridden by cmdline value)
-#   - may override any previously defined variable
-#
-include $(RTE_SDK)/mk/toolchain/$(RTE_TOOLCHAIN)/rte.vars.mk
-
-#
-# machine:
-#
-#   - can define ARCH variable (overridden by cmdline value)
-#   - can define CROSS variable (overridden by cmdline value)
-#   - define MACHINE_CFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_LDFLAGS variable (overridden by cmdline value)
-#   - define MACHINE_ASFLAGS variable (overridden by cmdline value)
-#   - can define CPU_CFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_LDFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#   - can define CPU_ASFLAGS variable (overridden by cmdline value) that
-#     overrides the one defined in arch.
-#
-ifneq ($(wildcard $(RTE_SDK)/mk/machine/$(RTE_MACHINE)/rte.vars.mk),)
-include $(RTE_SDK)/mk/machine/$(RTE_MACHINE)/rte.vars.mk
-else
-MACHINE_CFLAGS := -march=$(RTE_MACHINE)
-endif
-
-#
-# arch:
-#
-#   - define ARCH variable (overridden by cmdline or by previous
-#     optional define in machine .mk)
-#   - define CROSS variable (overridden by cmdline or previous define
-#     in machine .mk)
-#   - define CPU_CFLAGS variable (overridden by cmdline or previous
-#     define in machine .mk)
-#   - define CPU_LDFLAGS variable (overridden by cmdline or previous
-#     define in machine .mk)
-#   - define CPU_ASFLAGS variable (overridden by cmdline or previous
-#     define in machine .mk)
-#   - may override any previously defined variable
-#
-include $(RTE_SDK)/mk/arch/$(RTE_ARCH)/rte.vars.mk
-
-#
-# exec-env:
-#
-#   - define EXECENV_CFLAGS variable (overridden by cmdline)
-#   - define EXECENV_LDFLAGS variable (overridden by cmdline)
-#   - define EXECENV_ASFLAGS variable (overridden by cmdline)
-#   - may override any previously defined variable
-#
-include $(RTE_SDK)/mk/exec-env/$(RTE_EXEC_ENV)/rte.vars.mk
-
-# Don't set CFLAGS/LDFLAGS flags for kernel module, all flags are
-# provided by Kbuild framework.
-ifeq ($(KERNELRELEASE),)
-
-# now that the environment is mostly set up, including the machine type we will
-# be passing to the compiler, set up the specific CPU flags based on that info.
-include $(RTE_SDK)/mk/rte.cpuflags.mk
-
-# merge all CFLAGS
-CFLAGS := $(CPU_CFLAGS) $(EXECENV_CFLAGS) $(TOOLCHAIN_CFLAGS) $(MACHINE_CFLAGS)
-CFLAGS += $(TARGET_CFLAGS)
-
-# merge all LDFLAGS
-LDFLAGS := $(CPU_LDFLAGS) $(EXECENV_LDFLAGS) $(TOOLCHAIN_LDFLAGS) $(MACHINE_LDFLAGS)
-LDFLAGS += $(TARGET_LDFLAGS)
-
-# merge all ASFLAGS
-ASFLAGS := $(CPU_ASFLAGS) $(EXECENV_ASFLAGS) $(TOOLCHAIN_ASFLAGS) $(MACHINE_ASFLAGS)
-ASFLAGS += $(TARGET_ASFLAGS)
-
-# add default include and lib paths
-CFLAGS += -I$(RTE_OUTPUT)/include
-LDFLAGS += -L$(RTE_OUTPUT)/lib
-
-# add in flag for supporting function versioning. The define is used in meson
-# builds to ensure that the user has properly flagged the unit in question as
-# using function versioning so it can be built twice - once for static lib and
-# then a second time for the shared lib. Since make only builds one library
-# type at a time, such precautions aren't necessary, so we can globally define
-# the flag
-CFLAGS += -DRTE_USE_FUNCTION_VERSIONING
-
-# always include rte_config.h: the one in $(RTE_OUTPUT)/include is
-# the configuration of SDK when $(BUILDING_RTE_SDK) is true, or the
-# configuration of the application if $(BUILDING_RTE_SDK) is not
-# defined.
-ifeq ($(BUILDING_RTE_SDK),1)
-# building sdk
-CFLAGS += -include $(RTE_OUTPUT)/include/rte_config.h
-CFLAGS += -DALLOW_EXPERIMENTAL_API
-CFLAGS += -DALLOW_INTERNAL_API
-else
-# if we are building an external application, include SDK's lib and
-# includes too
-CFLAGS += -I$(RTE_SDK_BIN)/include
-ifneq ($(wildcard $(RTE_OUTPUT)/include/rte_config.h),)
-CFLAGS += -include $(RTE_OUTPUT)/include/rte_config.h
-endif
-CFLAGS += -include $(RTE_SDK_BIN)/include/rte_config.h
-LDFLAGS += -L$(RTE_SDK_BIN)/lib
-endif
-
-# always define _GNU_SOURCE
-CFLAGS += -D_GNU_SOURCE
-
-# define __BSD_VISIBLE when building for FreeBSD
-ifeq ($(CONFIG_RTE_EXEC_ENV_FREEBSD),y)
-CFLAGS += -D__BSD_VISIBLE
-endif
-
-export CFLAGS
-export LDFLAGS
-
-endif
diff --git a/mk/toolchain/clang/rte.toolchain-compat.mk b/mk/toolchain/clang/rte.toolchain-compat.mk
deleted file mode 100644
index e6189b498d..0000000000
--- a/mk/toolchain/clang/rte.toolchain-compat.mk
+++ /dev/null
@@ -1,22 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# CPUID-related options
-#
-# This was added to support compiler versions which might not support all the
-# flags we need
-#
-
-# find out CLANG version
-
-CLANG_VERSION := $(shell $(CC) -v 2>&1 | \
-	sed -n "s/.*version \([0-9]*\.[0-9]*\).*/\1/p")
-
-CLANG_MAJOR_VERSION := $(shell echo $(CLANG_VERSION) | cut -f1 -d.)
-
-CLANG_MINOR_VERSION := $(shell echo $(CLANG_VERSION) | cut -f2 -d.)
-
-ifeq ($(shell test $(CLANG_MAJOR_VERSION)$(CLANG_MINOR_VERSION) -lt 35 && echo 1), 1)
-	CC_SUPPORTS_Z := false
-endif
diff --git a/mk/toolchain/clang/rte.vars.mk b/mk/toolchain/clang/rte.vars.mk
deleted file mode 100644
index d441f6d8f3..0000000000
--- a/mk/toolchain/clang/rte.vars.mk
+++ /dev/null
@@ -1,60 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# toolchain:
-#
-#   - define CC, LD, AR, AS, ... (overridden by cmdline value)
-#   - define TOOLCHAIN_CFLAGS variable (overridden by cmdline value)
-#   - define TOOLCHAIN_LDFLAGS variable (overridden by cmdline value)
-#   - define TOOLCHAIN_ASFLAGS variable (overridden by cmdline value)
-#
-
-CC        = $(CROSS)clang
-KERNELCC  = $(CROSS)gcc
-CPP       = $(CROSS)cpp
-# for now, we don't use as but nasm.
-# AS      = $(CROSS)as
-AS        = nasm
-AR        = $(CROSS)ar
-LD        = $(CROSS)ld
-OBJCOPY   = $(CROSS)objcopy
-OBJDUMP   = $(CROSS)objdump
-STRIP     = $(CROSS)strip
-READELF   = $(CROSS)readelf
-GCOV      = $(CROSS)gcov
-
-ifeq ("$(origin CC)", "command line")
-HOSTCC    = $(CC)
-else
-HOSTCC    = clang
-endif
-HOSTAS    = as
-
-TOOLCHAIN_ASFLAGS =
-TOOLCHAIN_CFLAGS =
-TOOLCHAIN_LDFLAGS =
-
-WERROR_FLAGS := -W -Wall -Wstrict-prototypes -Wmissing-prototypes
-WERROR_FLAGS += -Wmissing-declarations -Wold-style-definition -Wpointer-arith
-WERROR_FLAGS += -Wnested-externs -Wcast-qual
-WERROR_FLAGS += -Wformat-nonliteral -Wformat-security
-WERROR_FLAGS += -Wundef -Wwrite-strings -Wdeprecated
-
-ifeq ($(RTE_DEVEL_BUILD),y)
-WERROR_FLAGS += -Werror
-endif
-
-# process cpu flags
-include $(RTE_SDK)/mk/toolchain/$(RTE_TOOLCHAIN)/rte.toolchain-compat.mk
-
-# disable warning for non-initialised fields
-WERROR_FLAGS += -Wno-missing-field-initializers
-
-# disable packed member unalign warnings
-ifeq ($(shell test $(CLANG_MAJOR_VERSION) -ge 4 && echo 1), 1)
-WERROR_FLAGS += -Wno-address-of-packed-member
-endif
-
-export CC AS AR LD OBJCOPY OBJDUMP STRIP READELF
-export TOOLCHAIN_CFLAGS TOOLCHAIN_LDFLAGS TOOLCHAIN_ASFLAGS
diff --git a/mk/toolchain/gcc/rte.toolchain-compat.mk b/mk/toolchain/gcc/rte.toolchain-compat.mk
deleted file mode 100644
index 98dca3e786..0000000000
--- a/mk/toolchain/gcc/rte.toolchain-compat.mk
+++ /dev/null
@@ -1,120 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# CPUID-related options
-#
-# This was added to support compiler versions which might not support all the
-# flags we need
-#
-
-#find out GCC version
-
-GCC_MAJOR = $(shell echo __GNUC__ | $(CC) -E -x c - | tail -n 1)
-GCC_MINOR = $(shell echo __GNUC_MINOR__ | $(CC) -E -x c - | tail -n 1)
-GCC_PATCHLEVEL = $(shell echo __GNUC_PATCHLEVEL__ | $(CC) -E -x c - | tail -n 1)
-GCC_VERSION = $(GCC_MAJOR)$(GCC_MINOR)
-
-HOST_GCC_MAJOR = $(shell echo __GNUC__ | $(HOSTCC) -E -x c - | tail -n 1)
-HOST_GCC_MINOR = $(shell echo __GNUC_MINOR__ | $(HOSTCC) -E -x c - | tail -n 1)
-HOST_GCC_PATCHLEVEL = $(shell echo __GNUC_PATCHLEVEL__ | $(HOSTCC) -E -x c - | tail -n 1)
-HOST_GCC_VERSION = $(HOST_GCC_MAJOR)$(HOST_GCC_MINOR)
-
-LD_VERSION = $(shell $(LD) -v)
-# disable AVX512F support for GCC & binutils 2.30 as a workaround for Bug 97
-ifeq ($(CONFIG_RTE_ARCH_X86), y)
-ifneq ($(filter 2.30%,$(LD_VERSION)),)
-FORCE_DISABLE_AVX512 := y
-# print warning only once for librte_eal
-ifneq ($(filter %librte_eal,$(CURDIR)),)
-$(warning AVX512 support disabled because of binutils 2.30. See Bug 97)
-endif
-endif
-ifneq ($(filter 2.31%,$(LD_VERSION)),)
-FORCE_DISABLE_AVX512 := y
-# print warning only once for librte_eal
-ifneq ($(filter %librte_eal,$(CURDIR)),)
-$(warning AVX512 support disabled because of binutils 2.31. See Bug 249)
-endif
-endif
-endif
-
-# if GCC is older than 4.x
-ifeq ($(shell test $(GCC_VERSION) -lt 40 && echo 1), 1)
-	MACHINE_CFLAGS =
-$(warning You are using GCC < 4.x. This is neither supported, nor tested.)
-
-
-else
-# GCC graceful degradation
-# GCC 4.2.x - added support for generic target
-# GCC 4.3.x - added support for core2, ssse3, sse4.1, sse4.2
-# GCC 4.4.x - added support for avx, aes, pclmul
-# GCC 4.5.x - added support for atom
-# GCC 4.6.x - added support for corei7, corei7-avx
-# GCC 4.7.x - added support for fsgsbase, rdrnd, f16c, core-avx-i, core-avx2
-# GCC 4.9.x - added support for armv8-a+crc
-#
-	ifeq ($(shell test $(GCC_VERSION) -le 49 && echo 1), 1)
-		MACHINE_CFLAGS := $(patsubst -march=armv8-a+crc,-march=armv8-a+crc -D__ARM_FEATURE_CRC32=1,$(MACHINE_CFLAGS))
-		MACHINE_CFLAGS := $(patsubst -march=armv8-a+crc+crypto,-march=armv8-a+crc+crypto -D__ARM_FEATURE_CRC32=1,$(MACHINE_CFLAGS))
-	endif
-	ifeq ($(shell test $(GCC_VERSION) -le 47 && echo 1), 1)
-		MACHINE_CFLAGS := $(patsubst -march=core-avx-i,-march=corei7-avx,$(MACHINE_CFLAGS))
-		MACHINE_CFLAGS := $(patsubst -march=core-avx2,-march=core-avx2,$(MACHINE_CFLAGS))
-	endif
-	ifeq ($(shell test $(GCC_VERSION) -lt 46 && echo 1), 1)
-		MACHINE_CFLAGS := $(patsubst -march=corei7-avx,-march=core2 -maes -mpclmul -mavx,$(MACHINE_CFLAGS))
-		MACHINE_CFLAGS := $(patsubst -march=corei7,-march=core2 -maes -mpclmul,$(MACHINE_CFLAGS))
-	endif
-	ifeq ($(shell test $(GCC_VERSION) -lt 45 && echo 1), 1)
-		MACHINE_CFLAGS := $(patsubst -march=atom,-march=core2 -mssse3,$(MACHINE_CFLAGS))
-	endif
-	ifeq ($(shell test $(GCC_VERSION) -lt 44 && echo 1), 1)
-		MACHINE_CFLAGS := $(filter-out -mavx -mpclmul -maes,$(MACHINE_CFLAGS))
-		ifneq ($(findstring SSE4_2, $(CPUFLAGS)),)
-			MACHINE_CFLAGS += -msse4.2
-		endif
-		ifneq ($(findstring SSE4_1, $(CPUFLAGS)),)
-			MACHINE_CFLAGS += -msse4.1
-		endif
-	endif
-	ifeq ($(shell test $(GCC_VERSION) -lt 43 && echo 1), 1)
-		MACHINE_CFLAGS := $(filter-out -msse% -mssse%,$(MACHINE_CFLAGS))
-		MACHINE_CFLAGS := $(patsubst -march=core2,-march=generic,$(MACHINE_CFLAGS))
-		MACHINE_CFLAGS += -msse3
-	endif
-	ifeq ($(shell test $(GCC_VERSION) -lt 42 && echo 1), 1)
-		MACHINE_CFLAGS := $(filter-out -march% -mtune% -msse%,$(MACHINE_CFLAGS))
-	endif
-
-	ifeq ($(shell test $(GCC_VERSION) -lt 74 && echo 1), 1)
-		CONFIG_RTE_ENABLE_LTO=n
-	endif
-
-	# Disable thunderx PMD for gcc < 4.7
-	ifeq ($(shell test $(GCC_VERSION) -lt 47 && echo 1), 1)
-		CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD=d
-	endif
-
-	# Disable OPDL PMD for gcc < 4.7
-	ifeq ($(shell test $(GCC_VERSION) -lt 47 && echo 1), 1)
-		CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV=d
-	endif
-
-	# Disable OCTEON drivers and libs for arm64 gcc < 4.8.6
-	ifeq ($(RTE_ARCH), arm64)
-	ifeq ($(shell test $(GCC_VERSION)$(GCC_PATCHLEVEL) -lt 486 && echo 1), 1)
-		CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF=d
-		CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOOL=d
-		CONFIG_RTE_LIBRTE_OCTEONTX_PMD=d
-		CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_DMA_RAWDEV=d
-		CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EP_RAWDEV=d
-		CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_EVENTDEV=d
-		CONFIG_RTE_LIBRTE_PMD_OCTEONTX2_CRYPTO=d
-		CONFIG_RTE_LIBRTE_OCTEONTX2_MEMPOOL=d
-		CONFIG_RTE_LIBRTE_OCTEONTX2_PMD=d
-	endif
-	endif
-
-endif
diff --git a/mk/toolchain/gcc/rte.vars.mk b/mk/toolchain/gcc/rte.vars.mk
deleted file mode 100644
index 928f0e0830..0000000000
--- a/mk/toolchain/gcc/rte.vars.mk
+++ /dev/null
@@ -1,109 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# toolchain:
-#
-#   - define CC, LD, AR, AS, ... (overridden by cmdline value)
-#   - define TOOLCHAIN_CFLAGS variable (overridden by cmdline value)
-#   - define TOOLCHAIN_LDFLAGS variable (overridden by cmdline value)
-#   - define TOOLCHAIN_ASFLAGS variable (overridden by cmdline value)
-#
-
-CC        = $(CROSS)gcc
-KERNELCC  = $(CROSS)gcc
-CPP       = $(CROSS)cpp
-# for now, we don't use as but nasm.
-# AS      = $(CROSS)as
-AS        = nasm
-AR        = $(CROSS)ar
-LD        = $(CROSS)ld
-OBJCOPY   = $(CROSS)objcopy
-OBJDUMP   = $(CROSS)objdump
-STRIP     = $(CROSS)strip
-READELF   = $(CROSS)readelf
-GCOV      = $(CROSS)gcov
-
-ifeq ("$(origin CC)", "command line")
-HOSTCC    = $(CC)
-else
-HOSTCC    = gcc
-endif
-HOSTAS    = as
-
-TOOLCHAIN_ASFLAGS =
-TOOLCHAIN_CFLAGS =
-TOOLCHAIN_LDFLAGS =
-
-ifeq ($(CONFIG_RTE_LIBRTE_GCOV),y)
-TOOLCHAIN_CFLAGS += --coverage
-TOOLCHAIN_LDFLAGS += --coverage
-ifeq (,$(findstring -O0,$(EXTRA_CFLAGS)))
-  $(warning "EXTRA_CFLAGS doesn't contains -O0, coverage will be inaccurate with optimizations enabled")
-endif
-endif
-
-WERROR_FLAGS := -W -Wall -Wstrict-prototypes -Wmissing-prototypes
-WERROR_FLAGS += -Wmissing-declarations -Wold-style-definition -Wpointer-arith
-WERROR_FLAGS += -Wcast-align -Wnested-externs -Wcast-qual
-WERROR_FLAGS += -Wformat-nonliteral -Wformat-security
-WERROR_FLAGS += -Wundef -Wwrite-strings -Wdeprecated
-
-ifeq ($(RTE_DEVEL_BUILD),y)
-WERROR_FLAGS += -Werror
-endif
-
-# There are many issues reported for strict alignment architectures
-# which are not necessarily fatal. Report as warnings.
-ifeq ($(CONFIG_RTE_ARCH_STRICT_ALIGN),y)
-WERROR_FLAGS += -Wno-error=cast-align
-endif
-
-# process cpu flags
-include $(RTE_SDK)/mk/toolchain/$(RTE_TOOLCHAIN)/rte.toolchain-compat.mk
-
-ifeq ($(CONFIG_RTE_ENABLE_LTO),y)
-# 'fat-lto' is used since pmdinfogen needs to have 'this_pmd_nameX'
-# exported in symbol table and without this option only internal
-# representation is present.
-TOOLCHAIN_CFLAGS += -flto -ffat-lto-objects
-TOOLCHAIN_LDFLAGS += -flto
-# workaround for GCC bug 81440
-ifeq ($(shell test $(GCC_VERSION) -lt 80 && echo 1), 1)
-WERROR_FLAGS += -Wno-lto-type-mismatch
-endif
-endif
-
-# disable warning for non-initialised fields
-WERROR_FLAGS += -Wno-missing-field-initializers
-# workaround GCC bug with warning "may be used uninitialized"
-ifeq ($(shell test $(GCC_VERSION) -lt 47 && echo 1), 1)
-WERROR_FLAGS += -Wno-uninitialized
-endif
-
-ifeq ($(shell test $(GCC_VERSION) -ge 100 && echo 1), 1)
-# FIXME: Bugzilla 396
-WERROR_FLAGS += -Wno-zero-length-bounds
-endif
-
-HOST_WERROR_FLAGS := $(WERROR_FLAGS)
-
-ifeq ($(shell test $(HOST_GCC_VERSION) -gt 70 && echo 1), 1)
-# Tell GCC only to error for switch fallthroughs without a suitable comment
-HOST_WERROR_FLAGS += -Wimplicit-fallthrough=2
-# Ignore errors for snprintf truncation
-HOST_WERROR_FLAGS += -Wno-format-truncation
-endif
-
-ifeq ($(shell test $(GCC_VERSION) -gt 70 && echo 1), 1)
-# Tell GCC only to error for switch fallthroughs without a suitable comment
-WERROR_FLAGS += -Wimplicit-fallthrough=2
-# Ignore errors for snprintf truncation
-WERROR_FLAGS += -Wno-format-truncation
-endif
-
-# disable packed member unalign warnings
-WERROR_FLAGS += -Wno-address-of-packed-member
-
-export CC AS AR LD OBJCOPY OBJDUMP STRIP READELF
-export TOOLCHAIN_CFLAGS TOOLCHAIN_LDFLAGS TOOLCHAIN_ASFLAGS
diff --git a/mk/toolchain/icc/rte.toolchain-compat.mk b/mk/toolchain/icc/rte.toolchain-compat.mk
deleted file mode 100644
index 2d663b34ad..0000000000
--- a/mk/toolchain/icc/rte.toolchain-compat.mk
+++ /dev/null
@@ -1,58 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# CPUID-related options
-#
-# This was added to support compiler versions which might not support all the
-# flags we need
-#
-
-# find out ICC version
-
-ICC_MAJOR_VERSION = $(shell icc -dumpversion | cut -f1 -d.)
-
-ifeq ($(shell test $(ICC_MAJOR_VERSION) -lt 12 && echo 1), 1)
-	MACHINE_CFLAGS = -xSSE4.2
-$(warning You are not using ICC 12.x or higher. This is neither supported, nor tested.)
-
-else
-# proceed to adjust compiler flags
-
-	ICC_MINOR_VERSION = $(shell icc -dumpversion | cut -f2 -d.)
-
-# replace GCC flags with ICC flags
-	# if icc version >= 12
-	ifeq ($(shell test $(ICC_MAJOR_VERSION) -ge 12 && echo 1), 1)
-		# Atom
-		MACHINE_CFLAGS := $(patsubst -march=atom,-xSSSE3_ATOM -march=atom,$(MACHINE_CFLAGS))
-		# nehalem/westmere
-		MACHINE_CFLAGS := $(patsubst -march=corei7,-xSSE4.2 -march=corei7,$(MACHINE_CFLAGS))
-		# sandy bridge
-		MACHINE_CFLAGS := $(patsubst -march=corei7-avx,-xAVX,$(MACHINE_CFLAGS))
-		# ivy bridge
-		MACHINE_CFLAGS := $(patsubst -march=core-avx-i,-xCORE-AVX-I,$(MACHINE_CFLAGS))
-		# hsw
-		MACHINE_CFLAGS := $(patsubst -march=core-avx2,-xCORE-AVX2,$(MACHINE_CFLAGS))
-		# remove westmere flags
-		MACHINE_CFLAGS := $(filter-out -mpclmul -maes,$(MACHINE_CFLAGS))
-	endif
-	# if icc version == 12.0
-	ifeq ($(shell test $(ICC_MAJOR_VERSION) -eq 12 && test $(ICC_MINOR_VERSION) -eq 0 && echo 1), 1)
-		# Atom
-		MACHINE_CFLAGS := $(patsubst -xSSSE3_ATOM,-xSSE3_ATOM,$(MACHINE_CFLAGS))
-		# remove march options
-		MACHINE_CFLAGS := $(patsubst -march=%,-xSSE3,$(MACHINE_CFLAGS))
-	endif
-
-	# Disable thunderx PMD for icc <= 16.0
-	ifeq ($(shell test $(ICC_MAJOR_VERSION) -le 16 && echo 1), 1)
-		CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD=d
-	endif
-
-        # Disable event/opdl  PMD for icc <= 16.0
-	ifeq ($(shell test $(ICC_MAJOR_VERSION) -le 16 && echo 1), 1)
-		CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV=d
-	endif
-
-endif
diff --git a/mk/toolchain/icc/rte.vars.mk b/mk/toolchain/icc/rte.vars.mk
deleted file mode 100644
index 1729f3d849..0000000000
--- a/mk/toolchain/icc/rte.vars.mk
+++ /dev/null
@@ -1,62 +0,0 @@
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
-
-#
-# toolchain:
-#
-#   - define CC, LD, AR, AS, ... (overridden by cmdline value)
-#   - define TOOLCHAIN_CFLAGS variable (overridden by cmdline value)
-#   - define TOOLCHAIN_LDFLAGS variable (overridden by cmdline value)
-#   - define TOOLCHAIN_ASFLAGS variable (overridden by cmdline value)
-#
-
-# Warning: we do not use CROSS environment variable as icc is mainly a
-# x86->x86 compiler
-
-CC        = icc
-KERNELCC  = gcc
-CPP       = cpp
-AS        = nasm
-AR        = ar
-LD        = ld
-OBJCOPY   = objcopy
-OBJDUMP   = objdump
-STRIP     = strip
-READELF   = readelf
-
-ifeq ($(KERNELRELEASE),)
-HOSTCC    = icc
-else
-HOSTCC    = gcc
-endif
-HOSTAS    = as
-
-TOOLCHAIN_CFLAGS =
-TOOLCHAIN_LDFLAGS =
-TOOLCHAIN_ASFLAGS =
-
-# Turn off some ICC warnings -
-#   Remark #271   : trailing comma is nonstandard
-#   Warning #1478 : function "<func_name>" (declared at line N of "<filename>")
-#   error #13368: loop was not vectorized with "vector always assert"
-#   error #15527: loop was not vectorized: function call to fprintf cannot be vectorize
-#                   was declared "deprecated"
-#   Warning #11074, 11076: to prevent "inline-max-size" warnings.
-WERROR_FLAGS := -Wall -w2 -diag-disable 271 -diag-warning 1478
-WERROR_FLAGS += -diag-disable 13368 -diag-disable 15527
-WERROR_FLAGS += -diag-disable 188
-WERROR_FLAGS += -diag-disable 11074 -diag-disable 11076 -Wdeprecated
-
-# process cpu flags
-include $(RTE_SDK)/mk/toolchain/$(RTE_TOOLCHAIN)/rte.toolchain-compat.mk
-
-ifeq ($(CONFIG_RTE_ENABLE_LTO),y)
-# 'fat-lto' is used since pmdinfogen needs to have 'this_pmd_nameX'
-# exported in symbol table and without this option only internal
-# representation is present.
-TOOLCHAIN_CFLAGS += -flto -ffat-lto-objects
-TOOLCHAIN_LDFLAGS += -flto
-endif
-
-export CC AS AR LD OBJCOPY OBJDUMP STRIP READELF
-export TOOLCHAIN_CFLAGS TOOLCHAIN_LDFLAGS TOOLCHAIN_ASFLAGS
-- 
2.17.1


^ permalink raw reply	[relevance 1%]

* Re: [dpdk-dev] [PATCH v2] common/iavf: mark internal symbols
  2020-08-17  3:08  0%   ` Xing, Beilei
@ 2020-08-18 15:48  0%     ` Ferruh Yigit
  2020-08-31  4:14  0%       ` Zhang, Qi Z
  0 siblings, 1 reply; 200+ results
From: Ferruh Yigit @ 2020-08-18 15:48 UTC (permalink / raw)
  To: Xing, Beilei, Wang, Haiyue, dev
  Cc: Zhang, Qi Z, Yang, Qiming, Wu, Jingjing, Ray Kinsella, Neil Horman

On 8/17/2020 4:08 AM, Xing, Beilei wrote:
> 
> 
>> -----Original Message-----
>> From: Wang, Haiyue <haiyue.wang@intel.com>
>> Sent: Saturday, August 15, 2020 12:31 AM
>> To: dev@dpdk.org
>> Cc: Zhang, Qi Z <qi.z.zhang@intel.com>; Yang, Qiming
>> <qiming.yang@intel.com>; Wang, Haiyue <haiyue.wang@intel.com>; Wu,
>> Jingjing <jingjing.wu@intel.com>; Xing, Beilei <beilei.xing@intel.com>; Ray
>> Kinsella <mdr@ashroe.eu>; Neil Horman <nhorman@tuxdriver.com>
>> Subject: [PATCH v2] common/iavf: mark internal symbols
>>
>> According to ABI policy, the internal functions should have the new tag
>> __rte_internal and linked into INTERNAL sessions.
>>
>> Signed-off-by: Haiyue Wang <haiyue.wang@intel.com>
> 
> Acked-by: Beilei Xing <beilei.xing@intel.com>
> 

Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH] meter: remove experimental alias
  2020-08-17 10:18 12% [dpdk-dev] [PATCH] meter: remove experimental alias Ferruh Yigit
  2020-08-17 10:22 12% ` [dpdk-dev] [PATCH v2] " Ferruh Yigit
@ 2020-08-18  8:21  0% ` Kinsella, Ray
  1 sibling, 0 replies; 200+ results
From: Kinsella, Ray @ 2020-08-18  8:21 UTC (permalink / raw)
  To: Ferruh Yigit, Cristian Dumitrescu, Neil Horman; +Cc: dev



On 17/08/2020 11:18, Ferruh Yigit wrote:
> Remove ABI versioning for APIs:
> 'rte_meter_trtcm_rfc4115_profile_config()'
> 'rte_meter_trtcm_rfc4115_config()'
> 
> The alias was introduced in
> commit 60197bda97a0 ("meter: provide experimental alias for matured API")
> 
> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
> ---
>  lib/librte_meter/rte_meter.c           | 73 ++------------------------
>  lib/librte_meter/rte_meter_version.map |  7 ---
>  2 files changed, 3 insertions(+), 77 deletions(-)
> 
> diff --git a/lib/librte_meter/rte_meter.c b/lib/librte_meter/rte_meter.c
> index 149cf58bdd..da01429a8b 100644
> --- a/lib/librte_meter/rte_meter.c
> +++ b/lib/librte_meter/rte_meter.c
> @@ -9,7 +9,6 @@
>  #include <rte_common.h>
>  #include <rte_log.h>
>  #include <rte_cycles.h>
> -#include <rte_function_versioning.h>
>  
>  #include "rte_meter.h"
>  
> @@ -120,15 +119,8 @@ rte_meter_trtcm_config(struct rte_meter_trtcm *m,
>  	return 0;
>  }
>  
> -/*
> - *  ABI aliasing done for 'rte_meter_trtcm_rfc4115_profile_config'
> - *  to support both EXPERIMENTAL and DPDK_21 versions
> - *  This versioning will be removed on next ABI version (v20.11)
> - *  and '__rte_meter_trtcm_rfc4115_profile_config' will be restrored back to
> - *  'rte_meter_trtcm_rfc4115_profile_config' without versioning.
> - */
> -static int
> -__rte_meter_trtcm_rfc4115_profile_config(
> +int
> +rte_meter_trtcm_rfc4115_profile_config(
>  	struct rte_meter_trtcm_rfc4115_profile *p,
>  	struct rte_meter_trtcm_rfc4115_params *params)
>  {
> @@ -153,42 +145,7 @@ __rte_meter_trtcm_rfc4115_profile_config(
>  }
>  
>  int
> -rte_meter_trtcm_rfc4115_profile_config_s(
> -	struct rte_meter_trtcm_rfc4115_profile *p,
> -	struct rte_meter_trtcm_rfc4115_params *params);
> -int
> -rte_meter_trtcm_rfc4115_profile_config_s(
> -	struct rte_meter_trtcm_rfc4115_profile *p,
> -	struct rte_meter_trtcm_rfc4115_params *params)
> -{
> -	return __rte_meter_trtcm_rfc4115_profile_config(p, params);
> -}
> -BIND_DEFAULT_SYMBOL(rte_meter_trtcm_rfc4115_profile_config, _s, 21);
> -MAP_STATIC_SYMBOL(int rte_meter_trtcm_rfc4115_profile_config(struct rte_meter_trtcm_rfc4115_profile *p,
> -		struct rte_meter_trtcm_rfc4115_params *params), rte_meter_trtcm_rfc4115_profile_config_s);
> -
> -int
> -rte_meter_trtcm_rfc4115_profile_config_e(
> -	struct rte_meter_trtcm_rfc4115_profile *p,
> -	struct rte_meter_trtcm_rfc4115_params *params);
> -int
> -rte_meter_trtcm_rfc4115_profile_config_e(
> -	struct rte_meter_trtcm_rfc4115_profile *p,
> -	struct rte_meter_trtcm_rfc4115_params *params)
> -{
> -	return __rte_meter_trtcm_rfc4115_profile_config(p, params);
> -}
> -VERSION_SYMBOL_EXPERIMENTAL(rte_meter_trtcm_rfc4115_profile_config, _e);
> -
> -/*
> - *  ABI aliasing done for 'rte_meter_trtcm_rfc4115_config'
> - *  to support both EXPERIMENTAL and DPDK_21 versions
> - *  This versioning will be removed on next ABI version (v20.11)
> - *  and '__rte_meter_trtcm_rfc4115_config' will be restrored back to
> - *  'rte_meter_trtcm_rfc4115_config' without versioning.
> - */
> -static int
> -__rte_meter_trtcm_rfc4115_config(
> +rte_meter_trtcm_rfc4115_config(
>  	struct rte_meter_trtcm_rfc4115 *m,
>  	struct rte_meter_trtcm_rfc4115_profile *p)
>  {
> @@ -203,27 +160,3 @@ __rte_meter_trtcm_rfc4115_config(
>  
>  	return 0;
>  }
> -
> -int
> -rte_meter_trtcm_rfc4115_config_s(struct rte_meter_trtcm_rfc4115 *m,
> -	struct rte_meter_trtcm_rfc4115_profile *p);
> -int
> -rte_meter_trtcm_rfc4115_config_s(struct rte_meter_trtcm_rfc4115 *m,
> -	struct rte_meter_trtcm_rfc4115_profile *p)
> -{
> -	return __rte_meter_trtcm_rfc4115_config(m, p);
> -}
> -BIND_DEFAULT_SYMBOL(rte_meter_trtcm_rfc4115_config, _s, 21);
> -MAP_STATIC_SYMBOL(int rte_meter_trtcm_rfc4115_config(struct rte_meter_trtcm_rfc4115 *m,
> -		 struct rte_meter_trtcm_rfc4115_profile *p), rte_meter_trtcm_rfc4115_config_s);
> -
> -int
> -rte_meter_trtcm_rfc4115_config_e(struct rte_meter_trtcm_rfc4115 *m,
> -	struct rte_meter_trtcm_rfc4115_profile *p);
> -int
> -rte_meter_trtcm_rfc4115_config_e(struct rte_meter_trtcm_rfc4115 *m,
> -	struct rte_meter_trtcm_rfc4115_profile *p)
> -{
> -	return __rte_meter_trtcm_rfc4115_config(m, p);
> -}
> -VERSION_SYMBOL_EXPERIMENTAL(rte_meter_trtcm_rfc4115_config, _e);
> diff --git a/lib/librte_meter/rte_meter_version.map b/lib/librte_meter/rte_meter_version.map
> index e2a2607f28..b67f860b15 100644
> --- a/lib/librte_meter/rte_meter_version.map
> +++ b/lib/librte_meter/rte_meter_version.map
> @@ -10,10 +10,3 @@ DPDK_21 {
>  
>  	local: *;
>  };
> -
> -EXPERIMENTAL {
> -	global:
> -
> -	rte_meter_trtcm_rfc4115_config;
> -	rte_meter_trtcm_rfc4115_profile_config;
> -};
> 

Acked-by: Ray Kinsella <mdr@ashroe.eu>

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH v2] meter: remove experimental alias
  2020-08-17 10:22 12% ` [dpdk-dev] [PATCH v2] " Ferruh Yigit
@ 2020-08-17 10:54  0%   ` Dumitrescu, Cristian
  0 siblings, 0 replies; 200+ results
From: Dumitrescu, Cristian @ 2020-08-17 10:54 UTC (permalink / raw)
  To: Yigit, Ferruh, Ray Kinsella, Neil Horman; +Cc: dev



> -----Original Message-----
> From: Yigit, Ferruh <ferruh.yigit@intel.com>
> Sent: Monday, August 17, 2020 11:22 AM
> To: Dumitrescu, Cristian <cristian.dumitrescu@intel.com>; Ray Kinsella
> <mdr@ashroe.eu>; Neil Horman <nhorman@tuxdriver.com>
> Cc: dev@dpdk.org; Yigit, Ferruh <ferruh.yigit@intel.com>
> Subject: [PATCH v2] meter: remove experimental alias
> 
> Remove ABI versioning for APIs:
> 'rte_meter_trtcm_rfc4115_profile_config()'
> 'rte_meter_trtcm_rfc4115_config()'
> 
> The alias was introduced in
> commit 60197bda97a0 ("meter: provide experimental alias for matured API")
> 
> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
> ---
> v2:
> * Update meson to remove 'use_function_versioning' flag
> ---

Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>


^ permalink raw reply	[relevance 0%]

* [dpdk-dev] [PATCH v2] meter: remove experimental alias
  2020-08-17 10:18 12% [dpdk-dev] [PATCH] meter: remove experimental alias Ferruh Yigit
@ 2020-08-17 10:22 12% ` Ferruh Yigit
  2020-08-17 10:54  0%   ` Dumitrescu, Cristian
  2020-08-18  8:21  0% ` [dpdk-dev] [PATCH] " Kinsella, Ray
  1 sibling, 1 reply; 200+ results
From: Ferruh Yigit @ 2020-08-17 10:22 UTC (permalink / raw)
  To: Cristian Dumitrescu, Ray Kinsella, Neil Horman; +Cc: dev, Ferruh Yigit

Remove ABI versioning for APIs:
'rte_meter_trtcm_rfc4115_profile_config()'
'rte_meter_trtcm_rfc4115_config()'

The alias was introduced in
commit 60197bda97a0 ("meter: provide experimental alias for matured API")

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
v2:
* Update meson to remove 'use_function_versioning' flag
---
 lib/librte_meter/meson.build           |  1 -
 lib/librte_meter/rte_meter.c           | 73 ++------------------------
 lib/librte_meter/rte_meter_version.map |  7 ---
 3 files changed, 3 insertions(+), 78 deletions(-)

diff --git a/lib/librte_meter/meson.build b/lib/librte_meter/meson.build
index fce0368437..646fd4d43f 100644
--- a/lib/librte_meter/meson.build
+++ b/lib/librte_meter/meson.build
@@ -3,4 +3,3 @@
 
 sources = files('rte_meter.c')
 headers = files('rte_meter.h')
-use_function_versioning = true
diff --git a/lib/librte_meter/rte_meter.c b/lib/librte_meter/rte_meter.c
index 149cf58bdd..da01429a8b 100644
--- a/lib/librte_meter/rte_meter.c
+++ b/lib/librte_meter/rte_meter.c
@@ -9,7 +9,6 @@
 #include <rte_common.h>
 #include <rte_log.h>
 #include <rte_cycles.h>
-#include <rte_function_versioning.h>
 
 #include "rte_meter.h"
 
@@ -120,15 +119,8 @@ rte_meter_trtcm_config(struct rte_meter_trtcm *m,
 	return 0;
 }
 
-/*
- *  ABI aliasing done for 'rte_meter_trtcm_rfc4115_profile_config'
- *  to support both EXPERIMENTAL and DPDK_21 versions
- *  This versioning will be removed on next ABI version (v20.11)
- *  and '__rte_meter_trtcm_rfc4115_profile_config' will be restrored back to
- *  'rte_meter_trtcm_rfc4115_profile_config' without versioning.
- */
-static int
-__rte_meter_trtcm_rfc4115_profile_config(
+int
+rte_meter_trtcm_rfc4115_profile_config(
 	struct rte_meter_trtcm_rfc4115_profile *p,
 	struct rte_meter_trtcm_rfc4115_params *params)
 {
@@ -153,42 +145,7 @@ __rte_meter_trtcm_rfc4115_profile_config(
 }
 
 int
-rte_meter_trtcm_rfc4115_profile_config_s(
-	struct rte_meter_trtcm_rfc4115_profile *p,
-	struct rte_meter_trtcm_rfc4115_params *params);
-int
-rte_meter_trtcm_rfc4115_profile_config_s(
-	struct rte_meter_trtcm_rfc4115_profile *p,
-	struct rte_meter_trtcm_rfc4115_params *params)
-{
-	return __rte_meter_trtcm_rfc4115_profile_config(p, params);
-}
-BIND_DEFAULT_SYMBOL(rte_meter_trtcm_rfc4115_profile_config, _s, 21);
-MAP_STATIC_SYMBOL(int rte_meter_trtcm_rfc4115_profile_config(struct rte_meter_trtcm_rfc4115_profile *p,
-		struct rte_meter_trtcm_rfc4115_params *params), rte_meter_trtcm_rfc4115_profile_config_s);
-
-int
-rte_meter_trtcm_rfc4115_profile_config_e(
-	struct rte_meter_trtcm_rfc4115_profile *p,
-	struct rte_meter_trtcm_rfc4115_params *params);
-int
-rte_meter_trtcm_rfc4115_profile_config_e(
-	struct rte_meter_trtcm_rfc4115_profile *p,
-	struct rte_meter_trtcm_rfc4115_params *params)
-{
-	return __rte_meter_trtcm_rfc4115_profile_config(p, params);
-}
-VERSION_SYMBOL_EXPERIMENTAL(rte_meter_trtcm_rfc4115_profile_config, _e);
-
-/*
- *  ABI aliasing done for 'rte_meter_trtcm_rfc4115_config'
- *  to support both EXPERIMENTAL and DPDK_21 versions
- *  This versioning will be removed on next ABI version (v20.11)
- *  and '__rte_meter_trtcm_rfc4115_config' will be restrored back to
- *  'rte_meter_trtcm_rfc4115_config' without versioning.
- */
-static int
-__rte_meter_trtcm_rfc4115_config(
+rte_meter_trtcm_rfc4115_config(
 	struct rte_meter_trtcm_rfc4115 *m,
 	struct rte_meter_trtcm_rfc4115_profile *p)
 {
@@ -203,27 +160,3 @@ __rte_meter_trtcm_rfc4115_config(
 
 	return 0;
 }
-
-int
-rte_meter_trtcm_rfc4115_config_s(struct rte_meter_trtcm_rfc4115 *m,
-	struct rte_meter_trtcm_rfc4115_profile *p);
-int
-rte_meter_trtcm_rfc4115_config_s(struct rte_meter_trtcm_rfc4115 *m,
-	struct rte_meter_trtcm_rfc4115_profile *p)
-{
-	return __rte_meter_trtcm_rfc4115_config(m, p);
-}
-BIND_DEFAULT_SYMBOL(rte_meter_trtcm_rfc4115_config, _s, 21);
-MAP_STATIC_SYMBOL(int rte_meter_trtcm_rfc4115_config(struct rte_meter_trtcm_rfc4115 *m,
-		 struct rte_meter_trtcm_rfc4115_profile *p), rte_meter_trtcm_rfc4115_config_s);
-
-int
-rte_meter_trtcm_rfc4115_config_e(struct rte_meter_trtcm_rfc4115 *m,
-	struct rte_meter_trtcm_rfc4115_profile *p);
-int
-rte_meter_trtcm_rfc4115_config_e(struct rte_meter_trtcm_rfc4115 *m,
-	struct rte_meter_trtcm_rfc4115_profile *p)
-{
-	return __rte_meter_trtcm_rfc4115_config(m, p);
-}
-VERSION_SYMBOL_EXPERIMENTAL(rte_meter_trtcm_rfc4115_config, _e);
diff --git a/lib/librte_meter/rte_meter_version.map b/lib/librte_meter/rte_meter_version.map
index e2a2607f28..b67f860b15 100644
--- a/lib/librte_meter/rte_meter_version.map
+++ b/lib/librte_meter/rte_meter_version.map
@@ -10,10 +10,3 @@ DPDK_21 {
 
 	local: *;
 };
-
-EXPERIMENTAL {
-	global:
-
-	rte_meter_trtcm_rfc4115_config;
-	rte_meter_trtcm_rfc4115_profile_config;
-};
-- 
2.25.4


^ permalink raw reply	[relevance 12%]

* [dpdk-dev] [PATCH] meter: remove experimental alias
@ 2020-08-17 10:18 12% Ferruh Yigit
  2020-08-17 10:22 12% ` [dpdk-dev] [PATCH v2] " Ferruh Yigit
  2020-08-18  8:21  0% ` [dpdk-dev] [PATCH] " Kinsella, Ray
  0 siblings, 2 replies; 200+ results
From: Ferruh Yigit @ 2020-08-17 10:18 UTC (permalink / raw)
  To: Cristian Dumitrescu, Ray Kinsella, Neil Horman; +Cc: dev, Ferruh Yigit

Remove ABI versioning for APIs:
'rte_meter_trtcm_rfc4115_profile_config()'
'rte_meter_trtcm_rfc4115_config()'

The alias was introduced in
commit 60197bda97a0 ("meter: provide experimental alias for matured API")

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
 lib/librte_meter/rte_meter.c           | 73 ++------------------------
 lib/librte_meter/rte_meter_version.map |  7 ---
 2 files changed, 3 insertions(+), 77 deletions(-)

diff --git a/lib/librte_meter/rte_meter.c b/lib/librte_meter/rte_meter.c
index 149cf58bdd..da01429a8b 100644
--- a/lib/librte_meter/rte_meter.c
+++ b/lib/librte_meter/rte_meter.c
@@ -9,7 +9,6 @@
 #include <rte_common.h>
 #include <rte_log.h>
 #include <rte_cycles.h>
-#include <rte_function_versioning.h>
 
 #include "rte_meter.h"
 
@@ -120,15 +119,8 @@ rte_meter_trtcm_config(struct rte_meter_trtcm *m,
 	return 0;
 }
 
-/*
- *  ABI aliasing done for 'rte_meter_trtcm_rfc4115_profile_config'
- *  to support both EXPERIMENTAL and DPDK_21 versions
- *  This versioning will be removed on next ABI version (v20.11)
- *  and '__rte_meter_trtcm_rfc4115_profile_config' will be restrored back to
- *  'rte_meter_trtcm_rfc4115_profile_config' without versioning.
- */
-static int
-__rte_meter_trtcm_rfc4115_profile_config(
+int
+rte_meter_trtcm_rfc4115_profile_config(
 	struct rte_meter_trtcm_rfc4115_profile *p,
 	struct rte_meter_trtcm_rfc4115_params *params)
 {
@@ -153,42 +145,7 @@ __rte_meter_trtcm_rfc4115_profile_config(
 }
 
 int
-rte_meter_trtcm_rfc4115_profile_config_s(
-	struct rte_meter_trtcm_rfc4115_profile *p,
-	struct rte_meter_trtcm_rfc4115_params *params);
-int
-rte_meter_trtcm_rfc4115_profile_config_s(
-	struct rte_meter_trtcm_rfc4115_profile *p,
-	struct rte_meter_trtcm_rfc4115_params *params)
-{
-	return __rte_meter_trtcm_rfc4115_profile_config(p, params);
-}
-BIND_DEFAULT_SYMBOL(rte_meter_trtcm_rfc4115_profile_config, _s, 21);
-MAP_STATIC_SYMBOL(int rte_meter_trtcm_rfc4115_profile_config(struct rte_meter_trtcm_rfc4115_profile *p,
-		struct rte_meter_trtcm_rfc4115_params *params), rte_meter_trtcm_rfc4115_profile_config_s);
-
-int
-rte_meter_trtcm_rfc4115_profile_config_e(
-	struct rte_meter_trtcm_rfc4115_profile *p,
-	struct rte_meter_trtcm_rfc4115_params *params);
-int
-rte_meter_trtcm_rfc4115_profile_config_e(
-	struct rte_meter_trtcm_rfc4115_profile *p,
-	struct rte_meter_trtcm_rfc4115_params *params)
-{
-	return __rte_meter_trtcm_rfc4115_profile_config(p, params);
-}
-VERSION_SYMBOL_EXPERIMENTAL(rte_meter_trtcm_rfc4115_profile_config, _e);
-
-/*
- *  ABI aliasing done for 'rte_meter_trtcm_rfc4115_config'
- *  to support both EXPERIMENTAL and DPDK_21 versions
- *  This versioning will be removed on next ABI version (v20.11)
- *  and '__rte_meter_trtcm_rfc4115_config' will be restrored back to
- *  'rte_meter_trtcm_rfc4115_config' without versioning.
- */
-static int
-__rte_meter_trtcm_rfc4115_config(
+rte_meter_trtcm_rfc4115_config(
 	struct rte_meter_trtcm_rfc4115 *m,
 	struct rte_meter_trtcm_rfc4115_profile *p)
 {
@@ -203,27 +160,3 @@ __rte_meter_trtcm_rfc4115_config(
 
 	return 0;
 }
-
-int
-rte_meter_trtcm_rfc4115_config_s(struct rte_meter_trtcm_rfc4115 *m,
-	struct rte_meter_trtcm_rfc4115_profile *p);
-int
-rte_meter_trtcm_rfc4115_config_s(struct rte_meter_trtcm_rfc4115 *m,
-	struct rte_meter_trtcm_rfc4115_profile *p)
-{
-	return __rte_meter_trtcm_rfc4115_config(m, p);
-}
-BIND_DEFAULT_SYMBOL(rte_meter_trtcm_rfc4115_config, _s, 21);
-MAP_STATIC_SYMBOL(int rte_meter_trtcm_rfc4115_config(struct rte_meter_trtcm_rfc4115 *m,
-		 struct rte_meter_trtcm_rfc4115_profile *p), rte_meter_trtcm_rfc4115_config_s);
-
-int
-rte_meter_trtcm_rfc4115_config_e(struct rte_meter_trtcm_rfc4115 *m,
-	struct rte_meter_trtcm_rfc4115_profile *p);
-int
-rte_meter_trtcm_rfc4115_config_e(struct rte_meter_trtcm_rfc4115 *m,
-	struct rte_meter_trtcm_rfc4115_profile *p)
-{
-	return __rte_meter_trtcm_rfc4115_config(m, p);
-}
-VERSION_SYMBOL_EXPERIMENTAL(rte_meter_trtcm_rfc4115_config, _e);
diff --git a/lib/librte_meter/rte_meter_version.map b/lib/librte_meter/rte_meter_version.map
index e2a2607f28..b67f860b15 100644
--- a/lib/librte_meter/rte_meter_version.map
+++ b/lib/librte_meter/rte_meter_version.map
@@ -10,10 +10,3 @@ DPDK_21 {
 
 	local: *;
 };
-
-EXPERIMENTAL {
-	global:
-
-	rte_meter_trtcm_rfc4115_config;
-	rte_meter_trtcm_rfc4115_profile_config;
-};
-- 
2.25.4


^ permalink raw reply	[relevance 12%]

* Re: [dpdk-dev] [RFC] ethdev: introduce GENEVE header extension item
  2020-08-16 17:25  3% ` Stephen Hemminger
@ 2020-08-17  6:36  0%   ` Shiri Kuzin
  0 siblings, 0 replies; 200+ results
From: Shiri Kuzin @ 2020-08-17  6:36 UTC (permalink / raw)
  To: Stephen Hemminger
  Cc: dev, Slava Ovsiienko, NBU-Contact-Adrien Mazarguil, Raslan Darawsheh

Thanks, PSB.

> -----Original Message-----
> From: Stephen Hemminger <stephen@networkplumber.org>
> Sent: Sunday, August 16, 2020 8:26 PM
> To: Shiri Kuzin <shirik@nvidia.com>
> Cc: dev@dpdk.org; Slava Ovsiienko <viacheslavo@nvidia.com>; NBU-
> Contact-Adrien Mazarguil <adrien.mazarguil@6wind.com>; Raslan
> Darawsheh <rasland@nvidia.com>
> Subject: Re: [dpdk-dev] [RFC] ethdev: introduce GENEVE header extension
> item
> 
> On Sun, 16 Aug 2020 10:15:03 +0000
> Shiri Kuzin <shirik@nvidia.com> wrote:
> 
> > The Geneve tunneling protocol is designed to allow the user to specify
> > some data context on the packet.
> > The header extension options is the mean intended to present the user
> > data. These ones are implemented in TLV (Type-Length-Value) fashion,
> > in order to support these Geneve protocol feature we will introduce
> > the new item "rte_flow_item_geneve_option"
> >
> > The support for new item will be added to testpmd and include values
> > and masks for the fields:
> > - class
> > - type
> > - data length
> > - data itself
> >
> > The usage example:
> >
> > "flow create 0 ingress pattern ipv4 / udp / geneve / geneve_opt class
> > is 102 type is 80 type mask ff data is 10002 data mask is 7fffffff /
> > end actions drop / end "
> >
> > New item will be added to testpmd to support raw encap/decap action.
> >
> > Signed-off-by: Shiri Kuzin <shirik@nvidia.com>
> > ---
> >  lib/librte_ethdev/rte_flow.h | 25 +++++++++++++++++++++++++
> >  1 file changed, 25 insertions(+)
> >
> > diff --git a/lib/librte_ethdev/rte_flow.h
> > b/lib/librte_ethdev/rte_flow.h index da8bfa5..d04ee7c 100644
> > --- a/lib/librte_ethdev/rte_flow.h
> > +++ b/lib/librte_ethdev/rte_flow.h
> > @@ -347,6 +347,13 @@ enum rte_flow_item_type {
> >  	RTE_FLOW_ITEM_TYPE_GENEVE,
> >
> >  	/**
> > +	 * Matches a GENEVE Variable Length Option.
> > +	 *
> > +	 * See struct rte_flow_item_geneve_option.
> > +	 */
> > +	RTE_FLOW_ITEM_TYPE_GENEVE_OPTION,
> > +
> > +	/**
> 
> Please don't break ABI by putting items in middle of enum.
> New items should go at the end.
> enum changes the val

Yes, thank you for the note.
I will move it to the end of the enum.


^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH v2 1/7] rawdev: add private data length parameter to info fn
  @ 2020-08-17  5:26  0%     ` Xu, Rosen
  0 siblings, 0 replies; 200+ results
From: Xu, Rosen @ 2020-08-17  5:26 UTC (permalink / raw)
  To: Richardson, Bruce, Nipun Gupta, Hemant Agrawal
  Cc: dev, Mcnamara, John, Kovacevic, Marko, Zhang, Tianfei, Li,
	Xiaoyun, Wu, Jingjing

Hi,

> -----Original Message-----
> From: Richardson, Bruce <bruce.richardson@intel.com>
> Sent: Thursday, August 13, 2020 19:28
> To: Nipun Gupta <nipun.gupta@nxp.com>; Hemant Agrawal
> <hemant.agrawal@nxp.com>
> Cc: dev@dpdk.org; Richardson, Bruce <bruce.richardson@intel.com>; Xu,
> Rosen <rosen.xu@intel.com>; Mcnamara, John
> <john.mcnamara@intel.com>; Kovacevic, Marko
> <marko.kovacevic@intel.com>; Zhang, Tianfei <tianfei.zhang@intel.com>; Li,
> Xiaoyun <xiaoyun.li@intel.com>; Wu, Jingjing <jingjing.wu@intel.com>
> Subject: [PATCH v2 1/7] rawdev: add private data length parameter to info fn
> 
> Currently with the rawdev API there is no way to check that the structure
> passed in via the dev_private pointer in the dev_info structure is of the
> correct type - it's just checked that it is non-NULL. Adding in the length of the
> expected structure provides a measure of typechecking, and can also be used
> for ABI compatibility in future, since ABI changes involving structs almost
> always involve a change in size.
> 
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> Reviewed-by: Rosen Xu <rosen.xu@intel.com>
> ---
>  app/test/test_rawdev.c                      |  2 +-
>  doc/guides/rawdevs/ioat.rst                 |  2 +-
>  doc/guides/sample_app_ug/ioat.rst           |  2 +-
>  drivers/bus/ifpga/ifpga_bus.c               |  2 +-
>  drivers/raw/ifpga/ifpga_rawdev.c            |  5 +++--
>  drivers/raw/ioat/ioat_rawdev.c              |  5 +++--
>  drivers/raw/ioat/ioat_rawdev_test.c         |  4 ++--
>  drivers/raw/ntb/ntb.c                       |  8 +++++++-
>  drivers/raw/skeleton/skeleton_rawdev.c      |  5 +++--
>  drivers/raw/skeleton/skeleton_rawdev_test.c | 19 ++++++++++++-------
>  examples/ioat/ioatfwd.c                     |  2 +-
>  examples/ntb/ntb_fwd.c                      |  2 +-
>  lib/librte_rawdev/rte_rawdev.c              |  6 ++++--
>  lib/librte_rawdev/rte_rawdev.h              |  9 ++++++++-
>  lib/librte_rawdev/rte_rawdev_pmd.h          |  5 ++++-
>  15 files changed, 52 insertions(+), 26 deletions(-)
> 
> diff --git a/app/test/test_rawdev.c b/app/test/test_rawdev.c index
> 524a9d5f3b..d8d9595be1 100644
> --- a/app/test/test_rawdev.c
> +++ b/app/test/test_rawdev.c
> @@ -34,7 +34,7 @@ test_rawdev_selftest_ioat(void)
> 
>  	for (i = 0; i < count; i++) {
>  		struct rte_rawdev_info info = { .dev_private = NULL };
> -		if (rte_rawdev_info_get(i, &info) == 0 &&
> +		if (rte_rawdev_info_get(i, &info, 0) == 0 &&
>  				strstr(info.driver_name, "ioat") != NULL)
>  			return rte_rawdev_selftest(i) == 0 ?
>  					TEST_SUCCESS : TEST_FAILED;
> diff --git a/doc/guides/rawdevs/ioat.rst b/doc/guides/rawdevs/ioat.rst index
> d0eee5e237..dac52fabf1 100644
> --- a/doc/guides/rawdevs/ioat.rst
> +++ b/doc/guides/rawdevs/ioat.rst
> @@ -107,7 +107,7 @@ rawdev device for use by an application:
> 
>          for (i = 0; i < count && !found; i++) {
>                  struct rte_rawdev_info info = { .dev_private = NULL };
> -                found = (rte_rawdev_info_get(i, &info) == 0 &&
> +                found = (rte_rawdev_info_get(i, &info, 0) == 0 &&
>                                  strcmp(info.driver_name,
>                                                  IOAT_PMD_RAWDEV_NAME_STR) == 0);
>          }
> diff --git a/doc/guides/sample_app_ug/ioat.rst
> b/doc/guides/sample_app_ug/ioat.rst
> index bab7654b8d..b5188220ba 100644
> --- a/doc/guides/sample_app_ug/ioat.rst
> +++ b/doc/guides/sample_app_ug/ioat.rst
> @@ -265,7 +265,7 @@ functions:
>                  do {
>                      if (rdev_id == rte_rawdev_count())
>                          goto end;
> -                    rte_rawdev_info_get(rdev_id++, &rdev_info);
> +                    rte_rawdev_info_get(rdev_id++, &rdev_info, 0);
>                  } while (strcmp(rdev_info.driver_name,
>                      IOAT_PMD_RAWDEV_NAME_STR) != 0);
> 
> diff --git a/drivers/bus/ifpga/ifpga_bus.c b/drivers/bus/ifpga/ifpga_bus.c
> index 6b16a20bb6..bb8b3dcfb9 100644
> --- a/drivers/bus/ifpga/ifpga_bus.c
> +++ b/drivers/bus/ifpga/ifpga_bus.c
> @@ -162,7 +162,7 @@ ifpga_scan_one(struct rte_rawdev *rawdev,
>  	afu_dev->id.port      = afu_pr_conf.afu_id.port;
> 
>  	if (rawdev->dev_ops && rawdev->dev_ops->dev_info_get)
> -		rawdev->dev_ops->dev_info_get(rawdev, afu_dev);
> +		rawdev->dev_ops->dev_info_get(rawdev, afu_dev,
> sizeof(*afu_dev));
> 
>  	if (rawdev->dev_ops &&
>  		rawdev->dev_ops->dev_start &&
> diff --git a/drivers/raw/ifpga/ifpga_rawdev.c
> b/drivers/raw/ifpga/ifpga_rawdev.c
> index cc25c662bc..47cfa38778 100644
> --- a/drivers/raw/ifpga/ifpga_rawdev.c
> +++ b/drivers/raw/ifpga/ifpga_rawdev.c
> @@ -605,7 +605,8 @@ ifpga_fill_afu_dev(struct opae_accelerator *acc,
> 
>  static void
>  ifpga_rawdev_info_get(struct rte_rawdev *dev,
> -				     rte_rawdev_obj_t dev_info)
> +		      rte_rawdev_obj_t dev_info,
> +		      size_t dev_info_size)
>  {
>  	struct opae_adapter *adapter;
>  	struct opae_accelerator *acc;
> @@ -617,7 +618,7 @@ ifpga_rawdev_info_get(struct rte_rawdev *dev,
> 
>  	IFPGA_RAWDEV_PMD_FUNC_TRACE();
> 
> -	if (!dev_info) {
> +	if (!dev_info || dev_info_size != sizeof(*afu_dev)) {
>  		IFPGA_RAWDEV_PMD_ERR("Invalid request");
>  		return;
>  	}
> diff --git a/drivers/raw/ioat/ioat_rawdev.c b/drivers/raw/ioat/ioat_rawdev.c
> index 87fd088aac..a5c0452d7e 100644
> --- a/drivers/raw/ioat/ioat_rawdev.c
> +++ b/drivers/raw/ioat/ioat_rawdev.c
> @@ -111,12 +111,13 @@ ioat_dev_stop(struct rte_rawdev *dev)  }
> 
>  static void
> -ioat_dev_info_get(struct rte_rawdev *dev, rte_rawdev_obj_t dev_info)
> +ioat_dev_info_get(struct rte_rawdev *dev, rte_rawdev_obj_t dev_info,
> +		size_t dev_info_size)
>  {
>  	struct rte_ioat_rawdev_config *cfg = dev_info;
>  	struct rte_ioat_rawdev *ioat = dev->dev_private;
> 
> -	if (cfg != NULL)
> +	if (cfg != NULL && dev_info_size == sizeof(*cfg))
>  		cfg->ring_size = ioat->ring_size;
>  }
> 
> diff --git a/drivers/raw/ioat/ioat_rawdev_test.c
> b/drivers/raw/ioat/ioat_rawdev_test.c
> index c37351af2d..2b40222eb4 100644
> --- a/drivers/raw/ioat/ioat_rawdev_test.c
> +++ b/drivers/raw/ioat/ioat_rawdev_test.c
> @@ -148,7 +148,7 @@ ioat_rawdev_test(uint16_t dev_id)
>  	unsigned int nb_xstats;
>  	unsigned int i;
> 
> -	rte_rawdev_info_get(dev_id, &info);
> +	rte_rawdev_info_get(dev_id, &info, sizeof(p));
>  	if (p.ring_size != expected_ring_size) {
>  		printf("Error, initial ring size is not as expected (Actual: %d,
> Expected: %d)\n",
>  				(int)p.ring_size, expected_ring_size); @@ -
> 160,7 +160,7 @@ ioat_rawdev_test(uint16_t dev_id)
>  		printf("Error with rte_rawdev_configure()\n");
>  		return -1;
>  	}
> -	rte_rawdev_info_get(dev_id, &info);
> +	rte_rawdev_info_get(dev_id, &info, sizeof(p));
>  	if (p.ring_size != IOAT_TEST_RINGSIZE) {
>  		printf("Error, ring size is not %d (%d)\n",
>  				IOAT_TEST_RINGSIZE, (int)p.ring_size); diff --
> git a/drivers/raw/ntb/ntb.c b/drivers/raw/ntb/ntb.c index
> e40412bb7e..c890c43a32 100644
> --- a/drivers/raw/ntb/ntb.c
> +++ b/drivers/raw/ntb/ntb.c
> @@ -801,11 +801,17 @@ ntb_dequeue_bufs(struct rte_rawdev *dev,  }
> 
>  static void
> -ntb_dev_info_get(struct rte_rawdev *dev, rte_rawdev_obj_t dev_info)
> +ntb_dev_info_get(struct rte_rawdev *dev, rte_rawdev_obj_t dev_info,
> +		size_t dev_info_size)
>  {
>  	struct ntb_hw *hw = dev->dev_private;
>  	struct ntb_dev_info *info = dev_info;
> 
> +	if (dev_info_size != sizeof(*info)) {
> +		NTB_LOG(ERR, "Invalid size parameter to %s", __func__);
> +		return;
> +	}
> +
>  	info->mw_cnt = hw->mw_cnt;
>  	info->mw_size = hw->mw_size;
> 
> diff --git a/drivers/raw/skeleton/skeleton_rawdev.c
> b/drivers/raw/skeleton/skeleton_rawdev.c
> index 72ece887af..dc05f3ecf8 100644
> --- a/drivers/raw/skeleton/skeleton_rawdev.c
> +++ b/drivers/raw/skeleton/skeleton_rawdev.c
> @@ -42,14 +42,15 @@ static struct queue_buffers
> queue_buf[SKELETON_MAX_QUEUES] = {};  static void clear_queue_bufs(int
> queue_id);
> 
>  static void skeleton_rawdev_info_get(struct rte_rawdev *dev,
> -				     rte_rawdev_obj_t dev_info)
> +				     rte_rawdev_obj_t dev_info,
> +				     size_t dev_info_size)
>  {
>  	struct skeleton_rawdev *skeldev;
>  	struct skeleton_rawdev_conf *skeldev_conf;
> 
>  	SKELETON_PMD_FUNC_TRACE();
> 
> -	if (!dev_info) {
> +	if (!dev_info || dev_info_size != sizeof(*skeldev_conf)) {
>  		SKELETON_PMD_ERR("Invalid request");
>  		return;
>  	}
> diff --git a/drivers/raw/skeleton/skeleton_rawdev_test.c
> b/drivers/raw/skeleton/skeleton_rawdev_test.c
> index 9ecfdee818..9b8390dfb7 100644
> --- a/drivers/raw/skeleton/skeleton_rawdev_test.c
> +++ b/drivers/raw/skeleton/skeleton_rawdev_test.c
> @@ -106,12 +106,12 @@ test_rawdev_info_get(void)
>  	struct rte_rawdev_info rdev_info = {0};
>  	struct skeleton_rawdev_conf skel_conf = {0};
> 
> -	ret = rte_rawdev_info_get(test_dev_id, NULL);
> +	ret = rte_rawdev_info_get(test_dev_id, NULL, 0);
>  	RTE_TEST_ASSERT(ret == -EINVAL, "Expected -EINVAL, %d", ret);
> 
>  	rdev_info.dev_private = &skel_conf;
> 
> -	ret = rte_rawdev_info_get(test_dev_id, &rdev_info);
> +	ret = rte_rawdev_info_get(test_dev_id, &rdev_info,
> sizeof(skel_conf));
>  	RTE_TEST_ASSERT_SUCCESS(ret, "Failed to get raw dev info");
> 
>  	return TEST_SUCCESS;
> @@ -142,7 +142,8 @@ test_rawdev_configure(void)
> 
>  	rdev_info.dev_private = &rdev_conf_get;
>  	ret = rte_rawdev_info_get(test_dev_id,
> -				  (rte_rawdev_obj_t)&rdev_info);
> +				  (rte_rawdev_obj_t)&rdev_info,
> +				  sizeof(rdev_conf_get));
>  	RTE_TEST_ASSERT_SUCCESS(ret,
>  				"Failed to obtain rawdev configuration (%d)",
>  				ret);
> @@ -170,7 +171,8 @@ test_rawdev_queue_default_conf_get(void)
>  	/* Get the current configuration */
>  	rdev_info.dev_private = &rdev_conf_get;
>  	ret = rte_rawdev_info_get(test_dev_id,
> -				  (rte_rawdev_obj_t)&rdev_info);
> +				  (rte_rawdev_obj_t)&rdev_info,
> +				  sizeof(rdev_conf_get));
>  	RTE_TEST_ASSERT_SUCCESS(ret, "Failed to obtain rawdev
> configuration (%d)",
>  				ret);
> 
> @@ -218,7 +220,8 @@ test_rawdev_queue_setup(void)
>  	/* Get the current configuration */
>  	rdev_info.dev_private = &rdev_conf_get;
>  	ret = rte_rawdev_info_get(test_dev_id,
> -				  (rte_rawdev_obj_t)&rdev_info);
> +				  (rte_rawdev_obj_t)&rdev_info,
> +				  sizeof(rdev_conf_get));
>  	RTE_TEST_ASSERT_SUCCESS(ret,
>  				"Failed to obtain rawdev configuration (%d)",
>  				ret);
> @@ -327,7 +330,8 @@ test_rawdev_start_stop(void)
>  	dummy_firmware = NULL;
> 
>  	rte_rawdev_start(test_dev_id);
> -	ret = rte_rawdev_info_get(test_dev_id,
> (rte_rawdev_obj_t)&rdev_info);
> +	ret = rte_rawdev_info_get(test_dev_id,
> (rte_rawdev_obj_t)&rdev_info,
> +			sizeof(rdev_conf_get));
>  	RTE_TEST_ASSERT_SUCCESS(ret,
>  				"Failed to obtain rawdev configuration (%d)",
>  				ret);
> @@ -336,7 +340,8 @@ test_rawdev_start_stop(void)
>  			      rdev_conf_get.device_state);
> 
>  	rte_rawdev_stop(test_dev_id);
> -	ret = rte_rawdev_info_get(test_dev_id,
> (rte_rawdev_obj_t)&rdev_info);
> +	ret = rte_rawdev_info_get(test_dev_id,
> (rte_rawdev_obj_t)&rdev_info,
> +			sizeof(rdev_conf_get));
>  	RTE_TEST_ASSERT_SUCCESS(ret,
>  				"Failed to obtain rawdev configuration (%d)",
>  				ret);
> diff --git a/examples/ioat/ioatfwd.c b/examples/ioat/ioatfwd.c index
> 75d8d5b9fe..76932d3dd2 100644
> --- a/examples/ioat/ioatfwd.c
> +++ b/examples/ioat/ioatfwd.c
> @@ -757,7 +757,7 @@ assign_rawdevs(void)
>  			do {
>  				if (rdev_id == rte_rawdev_count())
>  					goto end;
> -				rte_rawdev_info_get(rdev_id++, &rdev_info);
> +				rte_rawdev_info_get(rdev_id++, &rdev_info,
> 0);
>  			} while (rdev_info.driver_name == NULL ||
>  					strcmp(rdev_info.driver_name,
> 
> 	IOAT_PMD_RAWDEV_NAME_STR) != 0);
> diff --git a/examples/ntb/ntb_fwd.c b/examples/ntb/ntb_fwd.c index
> eba8ebf9fa..11e224451c 100644
> --- a/examples/ntb/ntb_fwd.c
> +++ b/examples/ntb/ntb_fwd.c
> @@ -1389,7 +1389,7 @@ main(int argc, char **argv)
>  	rte_rawdev_set_attr(dev_id, NTB_QUEUE_NUM_NAME,
> num_queues);
>  	printf("Set queue number as %u.\n", num_queues);
>  	ntb_rawdev_info.dev_private = (rte_rawdev_obj_t)(&ntb_info);
> -	rte_rawdev_info_get(dev_id, &ntb_rawdev_info);
> +	rte_rawdev_info_get(dev_id, &ntb_rawdev_info, sizeof(ntb_info));
> 
>  	nb_mbuf = nb_desc * num_queues * 2 * 2 + rte_lcore_count() *
>  		  MEMPOOL_CACHE_SIZE;
> diff --git a/lib/librte_rawdev/rte_rawdev.c b/lib/librte_rawdev/rte_rawdev.c
> index 8f84d0b228..a576890356 100644
> --- a/lib/librte_rawdev/rte_rawdev.c
> +++ b/lib/librte_rawdev/rte_rawdev.c
> @@ -78,7 +78,8 @@ rte_rawdev_socket_id(uint16_t dev_id)  }
> 
>  int
> -rte_rawdev_info_get(uint16_t dev_id, struct rte_rawdev_info *dev_info)
> +rte_rawdev_info_get(uint16_t dev_id, struct rte_rawdev_info *dev_info,
> +		size_t dev_private_size)
>  {
>  	struct rte_rawdev *rawdev;
> 
> @@ -89,7 +90,8 @@ rte_rawdev_info_get(uint16_t dev_id, struct
> rte_rawdev_info *dev_info)
> 
>  	if (dev_info->dev_private != NULL) {
>  		RTE_FUNC_PTR_OR_ERR_RET(*rawdev->dev_ops-
> >dev_info_get, -ENOTSUP);
> -		(*rawdev->dev_ops->dev_info_get)(rawdev, dev_info-
> >dev_private);
> +		(*rawdev->dev_ops->dev_info_get)(rawdev, dev_info-
> >dev_private,
> +				dev_private_size);
>  	}
> 
>  	dev_info->driver_name = rawdev->driver_name; diff --git
> a/lib/librte_rawdev/rte_rawdev.h b/lib/librte_rawdev/rte_rawdev.h index
> 32f6b8bb03..cf6acfd261 100644
> --- a/lib/librte_rawdev/rte_rawdev.h
> +++ b/lib/librte_rawdev/rte_rawdev.h
> @@ -82,13 +82,20 @@ struct rte_rawdev_info;
>   *   will be returned. This can be used to safely query the type of a rawdev
>   *   instance without needing to know the size of the private data to return.
>   *
> + * @param dev_private_size
> + *   The length of the memory space pointed to by dev_private in dev_info.
> + *   This should be set to the size of the expected private structure to be
> + *   returned, and may be checked by drivers to ensure the expected struct
> + *   type is provided.
> + *
>   * @return
>   *   - 0: Success, driver updates the contextual information of the raw device
>   *   - <0: Error code returned by the driver info get function.
>   *
>   */
>  int
> -rte_rawdev_info_get(uint16_t dev_id, struct rte_rawdev_info *dev_info);
> +rte_rawdev_info_get(uint16_t dev_id, struct rte_rawdev_info *dev_info,
> +		size_t dev_private_size);
> 
>  /**
>   * Configure a raw device.
> diff --git a/lib/librte_rawdev/rte_rawdev_pmd.h
> b/lib/librte_rawdev/rte_rawdev_pmd.h
> index 4395a2182d..0e72a92058 100644
> --- a/lib/librte_rawdev/rte_rawdev_pmd.h
> +++ b/lib/librte_rawdev/rte_rawdev_pmd.h
> @@ -138,12 +138,15 @@ rte_rawdev_pmd_is_valid_dev(uint8_t dev_id)
>   *   Raw device pointer
>   * @param dev_info
>   *   Raw device information structure
> + * @param dev_private_size
> + *   The size of the structure pointed to by dev_info->dev_private
>   *
>   * @return
>   *   Returns 0 on success
>   */
>  typedef void (*rawdev_info_get_t)(struct rte_rawdev *dev,
> -				  rte_rawdev_obj_t dev_info);
> +				  rte_rawdev_obj_t dev_info,
> +				  size_t dev_private_size);
> 
>  /**
>   * Configure a device.
> --
> 2.25.1

Acked-by: Rosen Xu <rosen.xu@intel.com>

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [PATCH v2] common/iavf: mark internal symbols
  @ 2020-08-17  3:08  0%   ` Xing, Beilei
  2020-08-18 15:48  0%     ` Ferruh Yigit
  0 siblings, 1 reply; 200+ results
From: Xing, Beilei @ 2020-08-17  3:08 UTC (permalink / raw)
  To: Wang, Haiyue, dev
  Cc: Zhang, Qi Z, Yang, Qiming, Wu, Jingjing, Ray Kinsella, Neil Horman



> -----Original Message-----
> From: Wang, Haiyue <haiyue.wang@intel.com>
> Sent: Saturday, August 15, 2020 12:31 AM
> To: dev@dpdk.org
> Cc: Zhang, Qi Z <qi.z.zhang@intel.com>; Yang, Qiming
> <qiming.yang@intel.com>; Wang, Haiyue <haiyue.wang@intel.com>; Wu,
> Jingjing <jingjing.wu@intel.com>; Xing, Beilei <beilei.xing@intel.com>; Ray
> Kinsella <mdr@ashroe.eu>; Neil Horman <nhorman@tuxdriver.com>
> Subject: [PATCH v2] common/iavf: mark internal symbols
> 
> According to ABI policy, the internal functions should have the new tag
> __rte_internal and linked into INTERNAL sessions.
> 
> Signed-off-by: Haiyue Wang <haiyue.wang@intel.com>
> ---
> v2: update the commit title
> ---
>  drivers/common/iavf/iavf_prototype.h            | 6 ++++++
>  drivers/common/iavf/rte_common_iavf_version.map | 2 +-
>  2 files changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/common/iavf/iavf_prototype.h
> b/drivers/common/iavf/iavf_prototype.h
> index 31ce2af49..f34e77db0 100644
> --- a/drivers/common/iavf/iavf_prototype.h
> +++ b/drivers/common/iavf/iavf_prototype.h
> @@ -17,7 +17,9 @@
>   */
> 
>  /* adminq functions */
> +__rte_internal
>  enum iavf_status iavf_init_adminq(struct iavf_hw *hw);
> +__rte_internal
>  enum iavf_status iavf_shutdown_adminq(struct iavf_hw *hw);  enum
> iavf_status iavf_init_asq(struct iavf_hw *hw);  enum iavf_status
> iavf_init_arq(struct iavf_hw *hw); @@ -30,6 +32,7 @@ void
> iavf_free_adminq_asq(struct iavf_hw *hw);  void iavf_free_adminq_arq(struct
> iavf_hw *hw);  enum iavf_status iavf_validate_mac_addr(u8 *mac_addr);
> void iavf_adminq_init_ring_data(struct iavf_hw *hw);
> +__rte_internal
>  enum iavf_status iavf_clean_arq_element(struct iavf_hw *hw,
>  					struct iavf_arq_event_info *e,
>  					u16 *events_pending);
> @@ -61,6 +64,7 @@ enum iavf_status iavf_aq_set_rss_key(struct iavf_hw *hw,
> const char *iavf_aq_str(struct iavf_hw *hw, enum iavf_admin_queue_err
> aq_err);  const char *iavf_stat_str(struct iavf_hw *hw, enum iavf_status
> stat_err);
> 
> +__rte_internal
>  enum iavf_status iavf_set_mac_type(struct iavf_hw *hw);
> 
>  extern struct iavf_rx_ptype_decoded iavf_ptype_lookup[]; @@ -76,9 +80,11
> @@ void iavf_acquire_spinlock(struct iavf_spinlock *sp);  void
> iavf_release_spinlock(struct iavf_spinlock *sp);  void
> iavf_destroy_spinlock(struct iavf_spinlock *sp);
> 
> +__rte_internal
>  void iavf_vf_parse_hw_config(struct iavf_hw *hw,
>  			     struct virtchnl_vf_resource *msg);  enum iavf_status
> iavf_vf_reset(struct iavf_hw *hw);
> +__rte_internal
>  enum iavf_status iavf_aq_send_msg_to_pf(struct iavf_hw *hw,
>  				enum virtchnl_ops v_opcode,
>  				enum iavf_status v_retval,
> diff --git a/drivers/common/iavf/rte_common_iavf_version.map
> b/drivers/common/iavf/rte_common_iavf_version.map
> index 44142499e..e0f117197 100644
> --- a/drivers/common/iavf/rte_common_iavf_version.map
> +++ b/drivers/common/iavf/rte_common_iavf_version.map
> @@ -1,4 +1,4 @@
> -DPDK_21 {
> +INTERNAL {
>  	global:
> 
>  	iavf_aq_send_msg_to_pf;
> --
> 2.28.0

Acked-by: Beilei Xing <beilei.xing@intel.com>

^ permalink raw reply	[relevance 0%]

* Re: [dpdk-dev] [RFC] ethdev: introduce GENEVE header extension item
  @ 2020-08-16 17:25  3% ` Stephen Hemminger
  2020-08-17  6:36  0%   ` Shiri Kuzin
  0 siblings, 1 reply; 200+ results
From: Stephen Hemminger @ 2020-08-16 17:25 UTC (permalink / raw)
  To: Shiri Kuzin
  Cc: dev, Slava Ovsiienko, NBU-Contact-Adrien Mazarguil, Raslan Darawsheh

On Sun, 16 Aug 2020 10:15:03 +0000
Shiri Kuzin <shirik@nvidia.com> wrote:

> The Geneve tunneling protocol is designed to allow
> the user to specify some data context on the packet.
> The header extension options is the mean intended
> to present the user data. These ones are implemented
> in TLV (Type-Length-Value) fashion, in order to
> support these Geneve protocol feature we will
> introduce the new item "rte_flow_item_geneve_option"
> 
> The support for new item will be added to testpmd
> and include values and masks for the fields:
> - class
> - type
> - data length
> - data itself
> 
> The usage example:
> 
> "flow create 0 ingress pattern ipv4 / udp /
> geneve / geneve_opt class is 102 type is 80
> type mask ff data is 10002 data mask is
> 7fffffff / end actions drop / end "
> 
> New item will be added to testpmd to support
> raw encap/decap action.
> 
> Signed-off-by: Shiri Kuzin <shirik@nvidia.com>
> ---
>  lib/librte_ethdev/rte_flow.h | 25 +++++++++++++++++++++++++
>  1 file changed, 25 insertions(+)
> 
> diff --git a/lib/librte_ethdev/rte_flow.h b/lib/librte_ethdev/rte_flow.h
> index da8bfa5..d04ee7c 100644
> --- a/lib/librte_ethdev/rte_flow.h
> +++ b/lib/librte_ethdev/rte_flow.h
> @@ -347,6 +347,13 @@ enum rte_flow_item_type {
>  	RTE_FLOW_ITEM_TYPE_GENEVE,
>  
>  	/**
> +	 * Matches a GENEVE Variable Length Option.
> +	 *
> +	 * See struct rte_flow_item_geneve_option.
> +	 */
> +	RTE_FLOW_ITEM_TYPE_GENEVE_OPTION,
> +
> +	/**

Please don't break ABI by putting items in middle of enum.
New items should go at the end.
enum changes the val

^ permalink raw reply	[relevance 3%]

Results 5001-5200 of ~18000   |  | reverse | sort options + mbox downloads above
-- links below jump to the message on this page --
2020-03-30 16:00     [dpdk-dev] [PATCH 1/2] ethdev: add tm cap for private shaper packet mode Nithin Dabilpuram
2020-04-28 14:45     ` [dpdk-dev] [PATCH v4 1/4] ethdev: add tm support for shaper config in pkt mode Bruce Richardson
2020-04-28 15:04       ` Luca Boccassi
2020-04-28 15:54         ` Thomas Monjalon
2020-04-29  8:45           ` Dumitrescu, Cristian
2020-04-29  9:03             ` Bruce Richardson
2020-05-01 10:27               ` Ferruh Yigit
2020-05-01 13:16                 ` [dpdk-dev] [EXT] " Nithin Dabilpuram
2020-08-25 16:59  0%               ` Ferruh Yigit
2020-09-07 11:12  0%                 ` Nithin Dabilpuram
2020-09-14 13:01  0%                   ` Ferruh Yigit
2020-04-16  8:48     [dpdk-dev] [PATCH] sched: fix port time rounding error alangordondewar
2020-06-25  9:59     ` [dpdk-dev] [PATCH v2] " alangordondewar
2020-08-20 14:32  4%   ` Kevin Traynor
2020-08-21 15:28  3%     ` Kinsella, Ray
2020-09-07 10:09  0%       ` Kevin Traynor
2020-05-22 13:23     [dpdk-dev] [PATCH 20.08 0/9] adding support for python 3 only Louise Kilheeney
2020-08-21  9:14     ` [dpdk-dev] [PATCH v5 0/9]adding " Louise Kilheeney
2020-08-21  9:14  4%   ` [dpdk-dev] [PATCH v5 7/9] devtools: support python3 only Louise Kilheeney
2020-08-21 12:42  0%     ` Neil Horman
2020-09-21 11:46       ` [dpdk-dev] [PATCH v6 00/10] adding support for python 3 only Kevin Laatz
2020-09-21 11:46  4%     ` [dpdk-dev] [PATCH v6 07/10] devtools: support python3 only Kevin Laatz
2020-09-21 12:03         ` [dpdk-dev] [PATCH v7 00/10] adding support for python 3 only Kevin Laatz
2020-09-21 12:03  4%       ` [dpdk-dev] [PATCH v7 07/10] devtools: support python3 only Kevin Laatz
2020-06-18 12:35     [dpdk-dev] [RFC] ethdev: add a field for rte_eth_rxq_info Chengchang Tang
2020-08-29  7:13     ` [dpdk-dev] [PATCH v3 0/4] add Rx buffer size for rxq info structure Chengchang Tang
2020-08-29  7:13       ` [dpdk-dev] [PATCH v3 1/4] ethdev: add a field " Chengchang Tang
2020-09-03 15:35  4%     ` Bruce Richardson
2020-09-04 14:25  4%       ` Ferruh Yigit
2020-09-04 15:14  3%         ` Bruce Richardson
2020-09-04 15:30  0%         ` Bruce Richardson
2020-06-20 21:05     [dpdk-dev] [PATCH 0/7] cmdline: support Windows Dmitry Kozlyuk
2020-07-30 21:06     ` [dpdk-dev] [PATCH v2 " Dmitry Kozlyuk
2020-07-30 21:06       ` [dpdk-dev] [PATCH v2 1/7] cmdline: make implementation opaque Dmitry Kozlyuk
2020-09-17 13:34  5%     ` Olivier Matz
2020-09-17 17:05  4%       ` Stephen Hemminger
2020-09-18  8:33  3%         ` Bruce Richardson
2020-09-18 12:13  0%           ` Ferruh Yigit
2020-09-18 13:23  3%         ` Kinsella, Ray
2020-09-17 23:13  3%       ` Dmitry Kozlyuk
2020-09-18 13:31  4%       ` Kinsella, Ray
2020-07-09  6:53     [dpdk-dev] [PATCH] devtools: fix ninja break under default DESTDIR path Phil Yang
2020-09-17 11:08  0% ` Juraj Linkeš
2020-09-20  9:32  0%   ` Phil Yang
2020-09-21  6:19  0%     ` Juraj Linkeš
2020-07-09 15:20     [dpdk-dev] [PATCH 20.11 0/5] Enhance rawdev APIs Bruce Richardson
2020-08-13 11:27     ` [dpdk-dev] [PATCH v2 0/7] " Bruce Richardson
2020-08-13 11:27       ` [dpdk-dev] [PATCH v2 1/7] rawdev: add private data length parameter to info fn Bruce Richardson
2020-08-17  5:26  0%     ` Xu, Rosen
2020-08-13 11:28       ` [dpdk-dev] [PATCH v2 3/7] rawdev: add private data length parameter to config fn Bruce Richardson
2020-09-04 14:16  0%     ` Bruce Richardson
2020-09-02 11:21  0%   ` [dpdk-dev] [PATCH v2 0/7] Enhance rawdev APIs Nipun Gupta
2020-09-10 14:36  4% ` [dpdk-dev] [PATCH v3 " Bruce Richardson
2020-09-10 14:36 10%   ` [dpdk-dev] [PATCH v3 1/7] rawdev: add private data length parameter to info fn Bruce Richardson
2020-09-10 14:36  5%   ` [dpdk-dev] [PATCH v3 2/7] rawdev: allow drivers to return error from info function Bruce Richardson
2020-09-10 14:36  6%   ` [dpdk-dev] [PATCH v3 3/7] rawdev: add private data length parameter to config fn Bruce Richardson
2020-09-10 14:36  7%   ` [dpdk-dev] [PATCH v3 4/7] rawdev: add private data length parameter to queue fns Bruce Richardson
2020-09-10 14:36  4%   ` [dpdk-dev] [PATCH v3 5/7] rawdev: allow queue config query to return error Bruce Richardson
2020-09-10 14:36  4%   ` [dpdk-dev] [PATCH v3 7/7] doc: remove rawdev deprecation notice Bruce Richardson
2020-09-11  9:56  0%   ` [dpdk-dev] [PATCH v3 0/7] Enhance rawdev APIs Thomas Monjalon
2020-08-07 12:29     [dpdk-dev] [PATCH 20.11 00/19] remove make support in DPDK Ciara Power
2020-08-20 12:41     ` [dpdk-dev] [PATCH v2 00/37] " Ciara Power
2020-08-20 12:41  1%   ` [dpdk-dev] [PATCH v2 10/37] build: remove makefiles and mk directory Ciara Power
2020-08-20 12:41  1%   ` [dpdk-dev] [PATCH v2 11/37] config: remove all config files used by make Ciara Power
2020-08-20 12:41  4%   ` [dpdk-dev] [PATCH v2 14/37] devtools: remove use of make in scripts Ciara Power
2020-08-20 12:41  5%   ` [dpdk-dev] [PATCH v2 22/37] doc: remove references to make in contributing guides Ciara Power
2020-09-03 15:26     ` [dpdk-dev] [PATCH v3 00/37] remove make support in DPDK Ciara Power
2020-09-03 15:26  1%   ` [dpdk-dev] [PATCH v3 10/37] build: remove makefiles and mk directory Ciara Power
2020-09-03 15:26  1%   ` [dpdk-dev] [PATCH v3 11/37] config: remove all config files used by make Ciara Power
2020-09-03 15:26  4%   ` [dpdk-dev] [PATCH v3 14/37] devtools: remove use of make in scripts Ciara Power
2020-09-03 15:27  5%   ` [dpdk-dev] [PATCH v3 22/37] doc: remove references to make in contributing guides Ciara Power
2020-09-07 10:20  3%     ` Thomas Monjalon
2020-09-17 13:44  3%       ` Power, Ciara
2020-09-07 22:06       ` [dpdk-dev] [PATCH v4 00/31] remove make support in DPDK Thomas Monjalon
2020-09-07 22:06  1%     ` [dpdk-dev] [PATCH v4 11/31] build: remove makefiles Thomas Monjalon
2020-09-07 22:06  1%     ` [dpdk-dev] [PATCH v4 13/31] config: remove default configs used with make Thomas Monjalon
2020-09-07 22:07  5%     ` [dpdk-dev] [PATCH v4 31/31] doc: remove references to make from contributing guide Thomas Monjalon
2020-09-21 13:59     ` [dpdk-dev] [PATCH v5 00/20] remove make support in DPDK Ciara Power
2020-09-21 13:59  9%   ` [dpdk-dev] [PATCH v5 18/20] doc: remove references to make from contributing guide Ciara Power
2020-09-21 13:59  2%   ` [dpdk-dev] [PATCH v5 20/20] doc: update patch cheatsheet to use meson Ciara Power
2020-08-07 16:28     [dpdk-dev] [PATCH 20.11 0/7] acl: introduce AVX512 classify method Konstantin Ananyev
2020-09-15 16:50  3% ` [dpdk-dev] [PATCH v2 00/12] " Konstantin Ananyev
2020-09-15 16:50 20%   ` [dpdk-dev] [PATCH v2 03/12] acl: remove of unused enum value Konstantin Ananyev
2020-08-14  9:59     [dpdk-dev] [PATCH] cryptodev: revert ABI compatibility for ChaCha20-Poly1305 Adam Dybkowski
2020-08-25  8:18  9% ` Kusztal, ArkadiuszX
2020-08-14 16:23     [dpdk-dev] [PATCH v1] common/iavf: mark the global functions internal Haiyue Wang
2020-08-14 16:30     ` [dpdk-dev] [PATCH v2] common/iavf: mark internal symbols Haiyue Wang
2020-08-17  3:08  0%   ` Xing, Beilei
2020-08-18 15:48  0%     ` Ferruh Yigit
2020-08-31  4:14  0%       ` Zhang, Qi Z
2020-08-16 10:15     [dpdk-dev] [RFC] ethdev: introduce GENEVE header extension item Shiri Kuzin
2020-08-16 17:25  3% ` Stephen Hemminger
2020-08-17  6:36  0%   ` Shiri Kuzin
2020-08-17 10:18 12% [dpdk-dev] [PATCH] meter: remove experimental alias Ferruh Yigit
2020-08-17 10:22 12% ` [dpdk-dev] [PATCH v2] " Ferruh Yigit
2020-08-17 10:54  0%   ` Dumitrescu, Cristian
2020-08-18  8:21  0% ` [dpdk-dev] [PATCH] " Kinsella, Ray
2020-08-21 11:03     [dpdk-dev] [PATCH v6 1/3] ethdev: add level support for RSS offload types kirankumark
2020-09-01  3:27     ` [dpdk-dev] [PATCH v7 " kirankumark
2020-09-01 13:37       ` Ferruh Yigit
2020-09-01 14:27         ` [dpdk-dev] [EXT] " Kiran Kumar Kokkilagadda
2020-09-01 17:11  3%       ` Ajit Khaparde
2020-09-03 10:11  3%         ` Kiran Kumar Kokkilagadda
2020-09-03 13:14  0%           ` Ferruh Yigit
2020-09-07  8:12  0%             ` Andrew Rybchenko
2020-09-08 19:40  0%               ` Ajit Khaparde
2020-08-21 15:59     [dpdk-dev] [PATCH 0/4] simplify unit-testing of rawdevs Bruce Richardson
2020-09-10 16:47     ` [dpdk-dev] [PATCH v2 0/3] " Bruce Richardson
2020-09-10 16:47  4%   ` [dpdk-dev] [PATCH v2 2/3] app/test: change rawdev autotest to run selftest on all devs Bruce Richardson
2020-09-10 16:47  4%   ` [dpdk-dev] [PATCH v2 3/3] app/test: remove ioat-specific autotest Bruce Richardson
2020-08-24  8:40     [dpdk-dev] [PATCH 1/2] drivers: replace RTE CIO barriers with RTE IO barriers Phil Yang
2020-09-11  5:26     ` [dpdk-dev] [PATCH v2 0/2] remove RTE CIO barriers Phil Yang
2020-09-11  5:26  4%   ` [dpdk-dev] [PATCH v2 2/2] eal: " Phil Yang
2020-09-14 22:51  0%     ` Honnappa Nagarahalli
2020-08-24  9:40  1% [dpdk-dev] [PATCH 1/7] ethdev: remove legacy descriptor status check API Ferruh Yigit
2020-08-24  9:40  4% ` [dpdk-dev] [PATCH 2/7] ethdev: move inline device operations Ferruh Yigit
2020-08-29 11:57  0%   ` Andrew Rybchenko
2020-08-31 12:25  0%     ` Ferruh Yigit
2020-08-24  9:40  1% ` [dpdk-dev] [PATCH 3/7] ethdev: make device operations struct private Ferruh Yigit
2020-08-24  9:40  8% ` [dpdk-dev] [PATCH 4/7] ethdev: mark internal functions Ferruh Yigit
2020-08-29 11:47  0% ` [dpdk-dev] [PATCH 1/7] ethdev: remove legacy descriptor status check API Andrew Rybchenko
2020-09-03 21:09  1% ` [dpdk-dev] [PATCH v2 " Ferruh Yigit
2020-09-03 21:09  4%   ` [dpdk-dev] [PATCH v2 2/7] ethdev: move inline device operations Ferruh Yigit
2020-09-03 21:09  1%   ` [dpdk-dev] [PATCH v2 3/7] ethdev: make device operations struct private Ferruh Yigit
2020-09-03 21:09  8%   ` [dpdk-dev] [PATCH v2 4/7] ethdev: mark internal functions Ferruh Yigit
2020-09-09 11:12  4% ` [dpdk-dev] [PATCH v3 1/7] ethdev: deprecate descriptor status check API Ferruh Yigit
2020-09-09 11:12  6%   ` [dpdk-dev] [PATCH v3 2/7] ethdev: move inline device operations Ferruh Yigit
2020-09-09 11:12  3%   ` [dpdk-dev] [PATCH v3 3/7] ethdev: make device operations struct private Ferruh Yigit
2020-09-09 12:57  0%     ` Ferruh Yigit
2020-09-09 11:12 12%   ` [dpdk-dev] [PATCH v3 4/7] ethdev: mark internal functions Ferruh Yigit
2020-09-09 11:12  2%   ` [dpdk-dev] [PATCH v3 7/7] ethdev: remove underscore prefix from internal API Ferruh Yigit
2020-09-09 13:01  4% ` [dpdk-dev] [PATCH v4 1/7] ethdev: deprecate descriptor status check API Ferruh Yigit
2020-09-09 13:01  6%   ` [dpdk-dev] [PATCH v4 2/7] ethdev: move inline device operations Ferruh Yigit
2020-09-10  1:56  0%     ` Sachin Saxena (OSS)
2020-09-09 13:01  3%   ` [dpdk-dev] [PATCH v4 3/7] ethdev: make device operations struct private Ferruh Yigit
2020-09-09 13:01 12%   ` [dpdk-dev] [PATCH v4 4/7] ethdev: mark internal functions Ferruh Yigit
2020-09-09 13:01  2%   ` [dpdk-dev] [PATCH v4 7/7] ethdev: remove underscore prefix from internal API Ferruh Yigit
2020-09-10  2:04  0%     ` Sachin Saxena (OSS)
2020-08-26  2:26  0% [dpdk-dev] 19.11.3 patches review and test Chen, BoX C
2020-08-27 13:00  4% [dpdk-dev] DPDK Experimental Functions Kinsella, Ray
2020-09-01 13:39  0% ` Thomas Monjalon
2020-09-03 10:01  0%   ` Lukasz Wojciechowski
2020-09-03 10:07  0%   ` Lukasz Wojciechowski
2020-09-04  4:48  0% ` Honnappa Nagarahalli
2020-09-04  5:58  0%   ` Hemant Agrawal
2020-08-27 22:54  9% [dpdk-dev] [PATCH] rte_log: make rte_logs private Stephen Hemminger
2020-09-02  8:40  0% ` David Marchand
2020-09-03 23:04     ` [dpdk-dev] [PATCH v2 0/2] rte_log: make internal structures private Stephen Hemminger
2020-09-03 23:04  9%   ` [dpdk-dev] [PATCH v2 2/2] rte_log: make rte_logs private Stephen Hemminger
2020-09-01  1:33     [dpdk-dev] [RFC 1/2] ethdev: change data type in TC rxq and TC txq Min Hu (Connor)
2020-09-01 11:52     ` [dpdk-dev] [PATCH 0/4] ethdev: change the queue ID type Min Hu (Connor)
2020-09-01 11:52  5%   ` [dpdk-dev] [PATCH 3/4] doc: announce modified field in DCB TC queue mapping Min Hu (Connor)
2020-09-01 11:52  4%   ` [dpdk-dev] [PATCH 4/4] doc: announce modified field in ethdev API Min Hu (Connor)
2020-09-01 16:14  4%   ` [dpdk-dev] [PATCH 0/4] ethdev: change the queue ID type Ferruh Yigit
2020-09-01 11:52     [dpdk-dev] [PATCH 1/4] ethdev: change data type in TC rxq and TC txq Min Hu (Connor)
2020-09-04 11:32     ` [dpdk-dev] [PATCH V2 0/4] ethdev: change the queue ID type Min Hu (Connor)
2020-09-04 11:32  5%   ` [dpdk-dev] [PATCH V2 3/4] doc: announce modified field in DCB TC queue mapping Min Hu (Connor)
2020-09-04 11:32  4%   ` [dpdk-dev] [PATCH V2 4/4] doc: announce modified field in ethdev API Min Hu (Connor)
2020-09-01 14:48     [dpdk-dev] [PATCH] lib/ipsec: remove experimental tag Conor Walsh
2020-09-14 12:53  7% ` [dpdk-dev] [PATCH v2] " Conor Walsh
2020-09-14 13:25  3%   ` David Marchand
2020-09-14 13:51  0%     ` Walsh, Conor
2020-09-14 14:10  7%   ` [dpdk-dev] [PATCH v3] ipsec: " Conor Walsh
2020-09-16 11:22  0%     ` Ananyev, Konstantin
2020-09-01 14:49     [dpdk-dev] [PATCH] lib/bpf: " Conor Walsh
2020-09-08 15:18     ` David Marchand
2020-09-08 15:55  3%   ` Ananyev, Konstantin
2020-09-14 12:56 12% ` [dpdk-dev] [PATCH v2] " Conor Walsh
2020-09-14 14:11  8%   ` [dpdk-dev] [PATCH v3] bpf: " Conor Walsh
2020-09-16 11:21  0%     ` Ananyev, Konstantin
2020-09-16 16:58  0%     ` David Marchand
2020-09-02  8:56     [dpdk-dev] [PATCH v1 1/4] sched: add dynamic config of subport bandwidth profile Savinay Dharmappa
2020-09-10 18:48     ` [dpdk-dev] [PATCH v2 00/10] Enable dynamic config of subport bandwidth Savinay Dharmappa
2020-09-10 18:48  3%   ` [dpdk-dev] [PATCH v2 10/10] sched: remove the redundant code Savinay Dharmappa
2020-09-16 16:43       ` [dpdk-dev] [PATCH v3 0/9] Enable dynamic config of subport bandwidth Savinay Dharmappa
2020-09-16 16:43  3%     ` [dpdk-dev] [PATCH v3 9/9] sched: remove the redundant code Savinay Dharmappa
2020-09-02  9:59  3% [dpdk-dev] [PATCH] drivers/common: mark symbols as internal David Marchand
2020-09-02 10:10  0% ` [dpdk-dev] [EXT] " Anoob Joseph
2020-09-02 14:34  0% ` [dpdk-dev] " Ferruh Yigit
2020-09-03 11:01  3% [dpdk-dev] DPDK Release Status Meeting 3/09/2020 Ferruh Yigit
     [not found]     <CGME20200903201022eucas1p19a5154b9fb7063f72b18dea1114eeed3@eucas1p1.samsung.com>
2020-09-03 20:09  3% ` [dpdk-dev] [PATCH] security: update session create API akhil.goyal
2020-09-04 16:04  0%   ` Lukasz Wojciechowski
2020-09-07  8:15     [dpdk-dev] [PATCH 0/2] LPM changes Ruifeng Wang
2020-09-07  8:15  2% ` [dpdk-dev] [PATCH 2/2] lpm: hide internal data Ruifeng Wang
2020-09-15 16:02  3%   ` Bruce Richardson
2020-09-15 16:28  3%     ` Medvedkin, Vladimir
2020-09-16  3:17  3%       ` Ruifeng Wang
2020-09-07 22:50  4% [dpdk-dev] [PATCH] kernel: remove igb_uio Thomas Monjalon
2020-09-11 15:54  3% ` [dpdk-dev] [PATCH v2] " Thomas Monjalon
2020-09-08  3:05     [dpdk-dev] [PATCH 0/3] add FEC support Min Hu (Connor)
2020-09-17  8:52     ` [dpdk-dev] [V5 " Min Hu (Connor)
2020-09-17  8:52       ` [dpdk-dev] [V5 1/3] ethdev: introduce FEC API Min Hu (Connor)
2020-09-17  9:58  3%     ` Andrew Rybchenko
2020-09-18  9:28  0%       ` Min Hu (Connor)
2020-09-17 12:49  3%     ` Ananyev, Konstantin
2020-09-18  1:57  0%       ` humin (Connor)
2020-09-18 10:46  3%         ` Ananyev, Konstantin
2020-09-18 11:48     ` [dpdk-dev] [PATCH V7 0/3] add FEC support Min Hu (Connor)
2020-09-18 11:48  2%   ` [dpdk-dev] [PATCH V7 1/3] ethdev: introduce FEC API Min Hu (Connor)
2020-09-18 12:13  0%     ` Ananyev, Konstantin
2020-09-18 18:10  0%       ` Ajit Khaparde
2020-09-19  8:44  0%         ` Andrew Rybchenko
2020-09-21  2:59     ` [dpdk-dev] [PATCH V8 0/3] add FEC support Min Hu (Connor)
2020-09-21  2:59  2%   ` [dpdk-dev] [PATCH V8 1/3] ethdev: introduce FEC API Min Hu (Connor)
2020-09-21  6:13     ` [dpdk-dev] [PATCH V9 0/3] add FEC support Min Hu (Connor)
2020-09-21  6:13  2%   ` [dpdk-dev] [PATCH V9 1/3] ethdev: introduce FEC API Min Hu (Connor)
2020-09-08  9:14  2% [dpdk-dev] [PATCH 00/14] net/sfc: factor out common driver library Andrew Rybchenko
2020-09-09 14:32  0% ` Ferruh Yigit
2020-09-09 14:41  3% [dpdk-dev] [PATCH 0/1] timer: add limitation note for sync stop and reset Erik Gabriel Carrillo
2020-09-09 17:22     [dpdk-dev] [PATCH] ethdev: mark all traffic manager API as experimental Nithin Dabilpuram
2020-09-10  8:05     ` [dpdk-dev] [PATCH v2] " Nithin Dabilpuram
2020-09-10  8:30       ` Kinsella, Ray
2020-09-10 10:56  4%     ` [dpdk-dev] [EXT] " Nithin Dabilpuram
2020-09-10 11:01  0%       ` Kinsella, Ray
2020-09-10 11:22  0%         ` Nithin Dabilpuram
2020-09-10 10:09  4% ` [dpdk-dev] [PATCH v3] " Nithin Dabilpuram
2020-09-10 11:42  3% [dpdk-dev] [PATCH 0/2] cryptodev: remove list end enumerators from asymmetric crypto api Arek Kusztal
2020-09-10 11:42  3% ` [dpdk-dev] [PATCH 2/2] cryptodev: remove list ends " Arek Kusztal
2020-09-10 15:13  0% ` [dpdk-dev] [PATCH 0/2] cryptodev: remove list end enumerators " Trahe, Fiona
2020-09-10 14:01 10% [dpdk-dev] [PATCH 0/4] abi breakage checks for meson Conor Walsh
2020-09-10 14:01 15% ` [dpdk-dev] [PATCH 1/4] devtools: bug fix for gen-abi.sh Conor Walsh
2020-09-10 14:01 21% ` [dpdk-dev] [PATCH 2/4] devtools: add generation of compressed abi dump archives Conor Walsh
2020-09-10 14:01 21% ` [dpdk-dev] [PATCH 3/4] buildtools: add script to setup abi checks for meson Conor Walsh
2020-09-10 14:01 17% ` [dpdk-dev] [PATCH 4/4] build: add abi breakage checks to meson Conor Walsh
2020-09-10 14:21 10% ` [dpdk-dev] [PATCH v2 0/4] abi breakage checks for meson Conor Walsh
2020-09-10 14:21 15%   ` [dpdk-dev] [PATCH v2 1/4] devtools: bug fix for gen-abi.sh Conor Walsh
2020-09-10 14:21 21%   ` [dpdk-dev] [PATCH v2 2/4] devtools: add generation of compressed abi dump archives Conor Walsh
2020-09-10 14:21 21%   ` [dpdk-dev] [PATCH v2 3/4] buildtools: add script to setup abi checks for meson Conor Walsh
2020-09-10 14:21 17%   ` [dpdk-dev] [PATCH v2 4/4] build: add abi breakage checks to meson Conor Walsh
2020-09-11 16:03 10%   ` [dpdk-dev] [PATCH v3 0/4] abi breakage checks for meson Conor Walsh
2020-09-11 16:03 15%     ` [dpdk-dev] [PATCH v3 1/4] devtools: bug fix for gen-abi.sh Conor Walsh
2020-09-11 16:03 20%     ` [dpdk-dev] [PATCH v3 2/4] devtools: add generation of compressed abi dump archives Conor Walsh
2020-09-14 12:50  4%       ` Burakov, Anatoly
2020-09-15 14:35  4%         ` Aaron Conole
2020-09-15 14:49  4%           ` Walsh, Conor
2020-09-11 16:03 21%     ` [dpdk-dev] [PATCH v3 3/4] buildtools: add script to setup abi checks for meson Conor Walsh
2020-09-11 16:03 17%     ` [dpdk-dev] [PATCH v3 4/4] build: add abi breakage checks to meson Conor Walsh
2020-09-14  8:08  8%     ` [dpdk-dev] [PATCH v3 0/4] abi breakage checks for meson Thomas Monjalon
2020-09-14  8:30  7%       ` Kinsella, Ray
2020-09-14  9:34  7%       ` Kinsella, Ray
2020-09-18 12:11 10%     ` [dpdk-dev] [PATCH v4 " Conor Walsh
2020-09-18 12:11 15%       ` [dpdk-dev] [PATCH v4 1/4] devtools: bug fix for gen-abi.sh Conor Walsh
2020-09-18 12:11 21%       ` [dpdk-dev] [PATCH v4 2/4] devtools: add generation of compressed abi dump archives Conor Walsh
2020-09-18 12:11 21%       ` [dpdk-dev] [PATCH v4 3/4] buildtools: add script to setup abi checks for meson Conor Walsh
2020-09-18 12:11 17%       ` [dpdk-dev] [PATCH v4 4/4] build: add abi breakage checks to meson Conor Walsh
2020-09-11  7:35     [dpdk-dev] [PATCH 0/2] remove mbuf deprecated filed Phil Yang
2020-09-11  7:35  5% ` [dpdk-dev] [PATCH 1/2] mbuf: remove generic mbuf atomically accessed refcnt Phil Yang
2020-09-11  7:35  5% ` [dpdk-dev] [PATCH 2/2] mbuf: remove external buffer " Phil Yang
2020-09-11 16:58  9% [dpdk-dev] [PATCH 0/2] Eventdev ABI changes Timothy McDaniel
2020-09-11 16:58  5% ` [dpdk-dev] [PATCH 1/2] eventdev: implement ABI change Timothy McDaniel
2020-09-11 16:58  6% ` [dpdk-dev] [PATCH 2/2] eventdev: update app and examples for new eventdev ABI Timothy McDaniel
2020-09-11 19:06     [dpdk-dev] [PATCH 00/15] Replace terms master/slave lcore with main/worker lcore Stephen Hemminger
2020-09-11 19:06  1% ` [dpdk-dev] [PATCH 02/15] eal: rename lcore word choices Stephen Hemminger
2020-09-14 14:40  0%   ` Burakov, Anatoly
2020-09-14 18:19     ` [dpdk-dev] [PATCH v2 00/17] Replace terms master/slave Stephen Hemminger
2020-09-14 18:19  1%   ` [dpdk-dev] [PATCH v2 03/17] eal: rename lcore word choices Stephen Hemminger
2020-09-15 15:10     ` [dpdk-dev] [PATCH v3 00/17] Replace terms master/slave Stephen Hemminger
2020-09-15 15:11  1%   ` [dpdk-dev] [PATCH v3 03/17] eal: rename lcore word choices Stephen Hemminger
2020-09-11 19:18  4% [dpdk-dev] [PATCH v4 00/22] Add DLB PMD Timothy McDaniel
2020-09-11 20:26  2% [dpdk-dev] [PATCH 00/22] Add DLB2 PMD Timothy McDaniel
2020-09-16  8:17     [dpdk-dev] [PATCH 1/1] mbuf: minor cleanup Morten Brørup
2020-09-16 10:43  3% ` [dpdk-dev] [PATCH v3] " Morten Brørup
2020-09-16 10:40  3% Morten Brørup
2020-09-16 16:44  2% [dpdk-dev] [RFC PATCH 0/5] rework feature enabling macros for compatibility Bruce Richardson
2020-09-17 17:59  0% ` Andrew Rybchenko
2020-09-18  8:41  0%   ` Bruce Richardson
2020-09-18  8:59  0%     ` Andrew Rybchenko
2020-09-18 12:19  0%       ` Ferruh Yigit
2020-09-18 15:12  0% ` David Marchand

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).