CINXE.COM
NVIDIA DOCA Flow Tune Tool - NVIDIA Docs
<!DOCTYPE html> <html class="TopicPage"xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <meta property="og:url" content="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+Flow+Tune+Tool/index.html"> <meta property="og:site_name" content="NVIDIA Docs"> <meta property="og:type" content="website"> <meta name="twitter:card" content="summary_large_image"> <meta name="title" content="NVIDIA DOCA Flow Tune Tool"> <meta name="version" content="DOCA SDK 2.9.0"> <meta name="nv-pub-date" content="Tue Nov 19 13:28:58 EST 2024"> <meta name="docs_products" content="BlueField DPUs / SuperNICs & DOCA"> <meta name="docs_version" content="DOCA SDK 2.9.0"> <meta name="docs_books" content="DOCA Documentation v2.9.0"> <meta name="subcollection" content="Technical Documentation"> <meta property="mimetype" content="webpage"> <style>:root { } </style> <style>:root { --button-border-radius:0px; }</style> <style>:root { --font-1: "NVIDIA Sans"; --font-2: "Times"; } body { --font-1: "NVIDIA Sans"; --font-2: "Merriweather"; } </style><!-- OneTrust Cookies Consent Notice start for nvidia.com --> <script src="https://cdn.cookielaw.org/scripttemplates/otSDKStub.js" data-document-language="true" type="text/javascript" charset="UTF-8" data-domain-script="3e2b62ff-7ae7-4ac5-87c8-d5949ecafff5" ></script> <script type="text/javascript"> function OptanonWrapper() { var event = new Event('bannerLoaded'); window.dispatchEvent(event); } </script> <!-- OneTrust Cookies Consent Notice end for nvidia.com --> <script type="text/javascript" src="https://images.nvidia.com/aem-dam/Solutions/ot-js/ot-custom.js"></script><script src="https://assets.adobedtm.com/5d4962a43b79/c1061d2c5e7b/launch-191c2462b890.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/3.2.2/es5/tex-mml-svg.min.js"></script> <script src="https://js.hcaptcha.com/1/api.js"></script> <script src="https://tbyb.rivaspeech.com/tbyb.js" defer></script> <script src="https://t.contentsquare.net/uxa/c6af8848c2687.js"></script> <script src="https://unpkg.com/mermaid@9.2.2/dist/mermaid.min.js"></script> <script>mermaid.initialize({startOnLoad:true})</script> <link rel="preload" as="style" href="https://docscontent.nvidia.com/resource/00000183-6725-d7fd-a5bb-6727dc560000/styles/default/All.min.8d017581b5425d9458367c048c94a4a8.gz.css" /> <link data-cssvarsponyfill="true" class="Webpack-css" rel="stylesheet" href="https://docscontent.nvidia.com/resource/00000183-6725-d7fd-a5bb-6727dc560000/styles/default/All.min.8d017581b5425d9458367c048c94a4a8.gz.css"> <style>.Page-content { margin-top: 0; } .Page-search input { padding-left: 32px!important; } .Page-search button { line-height: 24px; }</style> <style>#onetrust-banner-sdk #onetrust-policy-text p#nv-gpc-text, #onetrust-banner-sdk #onetrust-policy-text p#nv-non-gpc-text { padding: 0 !important; } #onetrust-consent-sdk #ot-pc-title, #onetrust-consent-sdk #ot-pc-lst h3 { font-size: 16px !important; } #onetrust-consent-sdk .ot-always-active { font-size: 14px !important; } #onetrust-pc-sdk #ot-pc-lst .ot-host-item .ot-acc-hdr .ot-host-hdr .ot-host-expand { font-size: 12px !important; }One Trust Inline P Styling</style> <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=5"><title>NVIDIA DOCA Flow Tune Tool - NVIDIA Docs</title><link rel="canonical" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+Flow+Tune+Tool/index.html"><meta name="brightspot.contentId" content="00000193-4502-d86e-a5f3-fd0f452b0000"><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"><link rel="icon" type="image/png" href="/favicon-32x32.png"><link rel="icon" type="image/png" href="/favicon-16x16.png"><script type="application/ld+json">{"@context":"http://schema.org","@type":"WebPage","url":"https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+Flow+Tune+Tool/index.html","publisher":{"@type":"Organization","name":"NVIDIA Docs","logo":{"@type":"ImageObject","url":"https://docscontent.nvidia.com/bf/6f/f2d5da4743aebb3dff0e6a6129ec/nvidia-docshub-logo-2.svg"}},"name":"NVIDIA DOCA Flow Tune Tool - NVIDIA Docs"}</script> <!-- this will add webcomponent polyfills based on browsers. As of 04/29/21 still needed for IE11 and Safari --> <script defer src="https://docscontent.nvidia.com/resource/00000183-6725-d7fd-a5bb-6727dc560000/webcomponents-loader/webcomponents-loader.2938a610ca02c611209b1a5ba2884385.gz.js"></script> <script> /** This allows us to load the IE polyfills via feature detection so that they do not load needlessly in the browsers that do not need them. It also ensures they are loaded non async so that they load before the rest of our JS. */ if (!window.CSS || !window.CSS.supports || !window.CSS.supports('--fake-var', 0)) { var script = document.createElement('script'); script.setAttribute('src', "https://docscontent.nvidia.com/resource/00000183-6725-d7fd-a5bb-6727dc560000/util/IEPolyfills.3af8d32fc874177c8b40f77d0ae336b5.gz.js"); script.setAttribute('type', 'text/javascript'); script.async = false; script.defer = true; document.head.appendChild(script); } </script> <script defer src="https://docscontent.nvidia.com/resource/00000183-6725-d7fd-a5bb-6727dc560000/styles/default/All.min.09629531d7098fb938880c46edb9dedf.gz.js"></script> <script> var link = document.createElement('link'); link.setAttribute('href', 'https://fonts.googleapis.com/css?family=Roboto+Mono&family=Roboto:300,400,700'); var relList = link.relList; if (relList && relList.supports('preload')) { link.setAttribute('as', 'style'); link.setAttribute('rel', 'preload'); link.setAttribute('onload', 'this.rel="stylesheet"'); link.setAttribute('crossorigin', 'anonymous'); } else { link.setAttribute('rel', 'stylesheet'); } document.head.appendChild(link); </script> <script defer src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js" integrity="sha384-nvAa0+6Qg9clwYCGGPpDQLVpLNn0fRaROjHqs13t4Ggj3Ez50XnGQqc/r8MhnRDZ" crossorigin="anonymous"></script> </head> <body class="Page-body"> <!-- Putting icons here, so we don't have to include in a bunch of -body hbs's --> <svg xmlns="http://www.w3.org/2000/svg" style="display:none" id="iconsMap"> <symbol id="back-to-top-icon" fill="#000000" height="20" width="15" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 490 490" xml:space="preserve"> <g id="SVGRepo_bgCarrier" stroke-width="0"></g> <g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g> <g id="SVGRepo_iconCarrier"> <polygon points="245,33.299 0,456.701 490,456.701"></polygon> </g> </symbol> <symbol id="mono-icon-facebook" viewBox="0 0 10 19"> <path fill-rule="evenodd" d="M2.707 18.25V10.2H0V7h2.707V4.469c0-1.336.375-2.373 1.125-3.112C4.582.62 5.578.25 6.82.25c1.008 0 1.828.047 2.461.14v2.848H7.594c-.633 0-1.067.14-1.301.422-.188.235-.281.61-.281 1.125V7H9l-.422 3.2H6.012v8.05H2.707z"></path> </symbol> <symbol id="action-icon-facebook" viewBox="0 0 7 12" xmlns="http://www.w3.org/2000/svg"> <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g transform="translate(-112.000000, -395.000000)" fill="#FFFFFF"> <g transform="translate(100.000000, 386.000000)"> <g transform="translate(12.000000, 9.000000)"> <path d="M1.777125,12 L1.777125,6.48659606 L0,6.48659606 L0,4.05412254 L1.777125,4.05412254 L1.777125,3.10626869 C1.777125,1.47184919 2.99976923,0 4.50308654,0 L6.46153846,0 L6.46153846,2.43247352 L4.50308654,2.43247352 C4.28864423,2.43247352 4.03846154,2.69376172 4.03846154,3.08498454 L4.03846154,4.05412254 L6.46153846,4.05412254 L6.46153846,6.48659606 L4.03846154,6.48659606 L4.03846154,12" /> </g> </g> </g> </g> </symbol> <symbol id="mono-icon-instagram" viewBox="0 0 17 17"> <g> <path fill-rule="evenodd" d="M8.281 4.207c.727 0 1.4.182 2.022.545a4.055 4.055 0 0 1 1.476 1.477c.364.62.545 1.294.545 2.021 0 .727-.181 1.4-.545 2.021a4.055 4.055 0 0 1-1.476 1.477 3.934 3.934 0 0 1-2.022.545c-.726 0-1.4-.182-2.021-.545a4.055 4.055 0 0 1-1.477-1.477 3.934 3.934 0 0 1-.545-2.021c0-.727.182-1.4.545-2.021A4.055 4.055 0 0 1 6.26 4.752a3.934 3.934 0 0 1 2.021-.545zm0 6.68a2.54 2.54 0 0 0 1.864-.774 2.54 2.54 0 0 0 .773-1.863 2.54 2.54 0 0 0-.773-1.863 2.54 2.54 0 0 0-1.864-.774 2.54 2.54 0 0 0-1.863.774 2.54 2.54 0 0 0-.773 1.863c0 .727.257 1.348.773 1.863a2.54 2.54 0 0 0 1.863.774zM13.45 4.03c-.023.258-.123.48-.299.668a.856.856 0 0 1-.65.281.913.913 0 0 1-.668-.28.913.913 0 0 1-.281-.669c0-.258.094-.48.281-.668a.913.913 0 0 1 .668-.28c.258 0 .48.093.668.28.187.188.281.41.281.668zm2.672.95c.023.656.035 1.746.035 3.269 0 1.523-.017 2.62-.053 3.287-.035.668-.134 1.248-.298 1.74a4.098 4.098 0 0 1-.967 1.53 4.098 4.098 0 0 1-1.53.966c-.492.164-1.072.264-1.74.3-.668.034-1.763.052-3.287.052-1.523 0-2.619-.018-3.287-.053-.668-.035-1.248-.146-1.74-.334a3.747 3.747 0 0 1-1.53-.931 4.098 4.098 0 0 1-.966-1.53c-.164-.492-.264-1.072-.299-1.74C.424 10.87.406 9.773.406 8.25S.424 5.63.46 4.963c.035-.668.135-1.248.299-1.74.21-.586.533-1.096.967-1.53A4.098 4.098 0 0 1 3.254.727c.492-.164 1.072-.264 1.74-.3C5.662.394 6.758.376 8.281.376c1.524 0 2.62.018 3.287.053.668.035 1.248.135 1.74.299a4.098 4.098 0 0 1 2.496 2.496c.165.492.27 1.078.317 1.757zm-1.687 7.91c.14-.399.234-1.032.28-1.899.024-.515.036-1.242.036-2.18V7.689c0-.961-.012-1.688-.035-2.18-.047-.89-.14-1.524-.281-1.899a2.537 2.537 0 0 0-1.512-1.511c-.375-.14-1.008-.235-1.899-.282a51.292 51.292 0 0 0-2.18-.035H7.72c-.938 0-1.664.012-2.18.035-.867.047-1.5.141-1.898.282a2.537 2.537 0 0 0-1.512 1.511c-.14.375-.234 1.008-.281 1.899a51.292 51.292 0 0 0-.036 2.18v1.125c0 .937.012 1.664.036 2.18.047.866.14 1.5.28 1.898.306.726.81 1.23 1.513 1.511.398.141 1.03.235 1.898.282.516.023 1.242.035 2.18.035h1.125c.96 0 1.687-.012 2.18-.035.89-.047 1.523-.141 1.898-.282.726-.304 1.23-.808 1.512-1.511z"> </path> </g> </symbol> <symbol id="mono-icon-mailto" viewBox="0 0 512 512"> <g> <path d="M67,148.7c11,5.8,163.8,89.1,169.5,92.1c5.7,3,11.5,4.4,20.5,4.4c9,0,14.8-1.4,20.5-4.4c5.7-3,158.5-86.3,169.5-92.1 c4.1-2.1,11-5.9,12.5-10.2c2.6-7.6-0.2-10.5-11.3-10.5H257H65.8c-11.1,0-13.9,3-11.3,10.5C56,142.9,62.9,146.6,67,148.7z"> </path> <path d="M455.7,153.2c-8.2,4.2-81.8,56.6-130.5,88.1l82.2,92.5c2,2,2.9,4.4,1.8,5.6c-1.2,1.1-3.8,0.5-5.9-1.4l-98.6-83.2 c-14.9,9.6-25.4,16.2-27.2,17.2c-7.7,3.9-13.1,4.4-20.5,4.4c-7.4,0-12.8-0.5-20.5-4.4c-1.9-1-12.3-7.6-27.2-17.2l-98.6,83.2 c-2,2-4.7,2.6-5.9,1.4c-1.2-1.1-0.3-3.6,1.7-5.6l82.1-92.5c-48.7-31.5-123.1-83.9-131.3-88.1c-8.8-4.5-9.3,0.8-9.3,4.9 c0,4.1,0,205,0,205c0,9.3,13.7,20.9,23.5,20.9H257h185.5c9.8,0,21.5-11.7,21.5-20.9c0,0,0-201,0-205 C464,153.9,464.6,148.7,455.7,153.2z"></path> </g> </symbol> <svg id="action-icon-mailto" viewBox="0 0 20 14" xmlns="http://www.w3.org/2000/svg"> <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"> <g transform="translate(-245.000000, -2697.000000)" stroke="#000000"> <g transform="translate(100.000000, 1138.000000)"> <g transform="translate(0.000000, 132.000000)"> <g transform="translate(0.000000, 1419.000000)"> <g transform="translate(140.000000, 0.000000)"> <g transform="translate(6.000000, 9.000000)"> <path d="M17.5909091,10.6363636 C17.5909091,11.3138182 17.0410909,11.8636364 16.3636364,11.8636364 L1.63636364,11.8636364 C0.958909091,11.8636364 0.409090909,11.3138182 0.409090909,10.6363636 L0.409090909,1.63636364 C0.409090909,0.958090909 0.958909091,0.409090909 1.63636364,0.409090909 L16.3636364,0.409090909 C17.0410909,0.409090909 17.5909091,0.958090909 17.5909091,1.63636364 L17.5909091,10.6363636 L17.5909091,10.6363636 Z" /> <polyline points="17.1818182 0.818181818 9 7.36363636 0.818181818 0.818181818" /> </g> </g> </g> </g> </g> </g> </g> </svg> <symbol id="mono-icon-print" viewBox="0 0 12 12"> <g fill-rule="evenodd"> <path fill-rule="nonzero" d="M9 10V7H3v3H1a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v3.132A2.868 2.868 0 0 1 9.132 10H9zm.5-4.5a1 1 0 1 0 0-2 1 1 0 0 0 0 2zM3 0h6v2H3z"> </path> <path d="M4 8h4v4H4z"></path> </g> </symbol> <symbol id="action-icon-print" viewBox="0 0 20 18" xmlns="http://www.w3.org/2000/svg"> <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"> <g transform="translate(-280.000000, -2695.000000)" stroke="#000000" stroke-width="0.9"> <g transform="translate(100.000000, 1138.000000)"> <g transform="translate(0.000000, 132.000000)"> <g transform="translate(0.000000, 1419.000000)"> <g transform="translate(140.000000, 0.000000)"> <g transform="translate(35.000000, 0.000000)"> <g transform="translate(6.000000, 7.000000)"> <path d="M4.125,12.375 L1.875,12.375 C1.05,12.375 0.375,11.7 0.375,10.875 L0.375,6.375 C0.375,5.55 1.05,4.875 1.875,4.875 L16.125,4.875 C16.95075,4.875 17.625,5.55 17.625,6.375 L17.625,10.875 C17.625,11.7 16.95075,12.375 16.125,12.375 L13.875,12.375" /> <g transform="translate(4.125000, 0.375000)"> <polyline id="Stroke-2384" points="0 3 0 0 7.5 0 9.75 2.25 9.75 3" /> <polygon id="Stroke-2385" points="0 15.75 9.75 15.75 9.75 9.75 0 9.75" /> </g> <path d="M3.375,7.125 C3.375,7.539 3.03975,7.875 2.625,7.875 C2.211,7.875 1.875,7.539 1.875,7.125 C1.875,6.71025 2.211,6.375 2.625,6.375 C3.03975,6.375 3.375,6.71025 3.375,7.125 L3.375,7.125 Z" /> <line x1="5.625" y1="11.625" x2="12.375" y2="11.625" id="Stroke-2387" /> <line x1="5.625" y1="13.125" x2="12.375" y2="13.125" id="Stroke-2388" /> <line x1="5.625" y1="14.625" x2="12.375" y2="14.625" id="Stroke-2389" /> <polyline points="11.625 0.375 11.625 2.625 13.875 2.625" /> </g> </g> </g> </g> </g> </g> </g> </g> </symbol> <symbol id="mono-icon-copylink" viewBox="0 0 12 12"> <g fill-rule="evenodd"> <path d="M10.199 2.378c.222.205.4.548.465.897.062.332.016.614-.132.774L8.627 6.106c-.187.203-.512.232-.75-.014a.498.498 0 0 0-.706.028.499.499 0 0 0 .026.706 1.509 1.509 0 0 0 2.165-.04l1.903-2.06c.37-.398.506-.98.382-1.636-.105-.557-.392-1.097-.77-1.445L9.968.8C9.591.452 9.03.208 8.467.145 7.803.072 7.233.252 6.864.653L4.958 2.709a1.509 1.509 0 0 0 .126 2.161.5.5 0 1 0 .68-.734c-.264-.218-.26-.545-.071-.747L7.597 1.33c.147-.16.425-.228.76-.19.353.038.71.188.931.394l.91.843.001.001zM1.8 9.623c-.222-.205-.4-.549-.465-.897-.062-.332-.016-.614.132-.774l1.905-2.057c.187-.203.512-.232.75.014a.498.498 0 0 0 .706-.028.499.499 0 0 0-.026-.706 1.508 1.508 0 0 0-2.165.04L.734 7.275c-.37.399-.506.98-.382 1.637.105.557.392 1.097.77 1.445l.91.843c.376.35.937.594 1.5.656.664.073 1.234-.106 1.603-.507L7.04 9.291a1.508 1.508 0 0 0-.126-2.16.5.5 0 0 0-.68.734c.264.218.26.545.071.747l-1.904 2.057c-.147.16-.425.228-.76.191-.353-.038-.71-.188-.931-.394l-.91-.843z"> </path> <path d="M8.208 3.614a.5.5 0 0 0-.707.028L3.764 7.677a.5.5 0 0 0 .734.68L8.235 4.32a.5.5 0 0 0-.027-.707"> </path> </g> </symbol> <symbol id="mono-icon-linkedin" viewBox="0 0 14 14" xmlns="http://www.w3.org/2000/svg"> <path d="M9.245 7.318c-.704 0-1.273.57-1.273 1.273v4.454H4.79s.038-7.636 0-8.272h3.182v.945s.985-.919 2.507-.919c1.884 0 3.22 1.364 3.22 4.012v4.234h-3.182V8.591c0-.703-.57-1.273-1.272-1.273zM1.92 3.5h-.018C.94 3.5.318 2.748.318 1.921.318 1.075.96.386 1.94.386s1.583.712 1.603 1.557c0 .828-.622 1.557-1.622 1.557zm1.597 9.545H.336V4.773h3.181v8.272z" fill-rule="evenodd" /> </symbol> <symbol id="action-icon-linkedin" viewBox="0 0 14 14" xmlns="http://www.w3.org/2000/svg"> <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g transform="translate(-214.000000, -394.000000)" fill="#FFFFFF"> <g transform="translate(100.000000, 386.000000)"> <g transform="translate(114.318373, 8.386273)"> <path d="M8.92627273,6.93190909 C8.22309091,6.93190909 7.65354545,7.50209091 7.65354545,8.20463636 L7.65354545,12.6591818 L4.47172727,12.6591818 C4.47172727,12.6591818 4.50927273,5.02281818 4.47172727,4.38645455 L7.65354545,4.38645455 L7.65354545,5.33145455 C7.65354545,5.33145455 8.63863636,4.41318182 10.1601818,4.41318182 C12.0444545,4.41318182 13.3808182,5.77690909 13.3808182,8.42481818 L13.3808182,12.6591818 L10.199,12.6591818 L10.199,8.20463636 C10.199,7.50209091 9.62945455,6.93190909 8.92627273,6.93190909 L8.92627273,6.93190909 Z M1.60172727,3.11372727 L1.58327273,3.11372727 C0.621727273,3.11372727 0,2.36154545 0,1.53490909 C0,0.689181818 0.640818182,1.77635684e-15 1.62081818,1.77635684e-15 C2.60145455,1.77635684e-15 3.20409091,0.711454545 3.22318182,1.55718182 C3.22318182,2.38445455 2.60145455,3.11372727 1.60172727,3.11372727 L1.60172727,3.11372727 Z M3.199,12.6591818 L0.0171818182,12.6591818 L0.0171818182,4.38645455 L3.199,4.38645455 L3.199,12.6591818 Z" /> </g> </g> </g> </g> </symbol> <symbol id="download" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"> <g fill="none" fill-rule="evenodd"> <g> <g> <g> <path d="M0 0H24V24H0z" transform="translate(-802.000000, -1914.000000) translate(0.000000, 1756.000000) translate(802.000000, 158.000000)" /> <path fill="#000" fill-rule="nonzero" d="M12 2C6.49 2 2 6.49 2 12s4.49 10 10 10 10-4.49 10-10S17.51 2 12 2zm-1 8V6h2v4h3l-4 4-4-4h3zm6 7H7v-2h10v2z" transform="translate(-802.000000, -1914.000000) translate(0.000000, 1756.000000) translate(802.000000, 158.000000)" /> </g> </g> </g> </g> </symbol> <symbol id="mono-icon-pinterest" viewBox="0 0 512 512"> <g> <path d="M256,32C132.3,32,32,132.3,32,256c0,91.7,55.2,170.5,134.1,205.2c-0.6-15.6-0.1-34.4,3.9-51.4 c4.3-18.2,28.8-122.1,28.8-122.1s-7.2-14.3-7.2-35.4c0-33.2,19.2-58,43.2-58c20.4,0,30.2,15.3,30.2,33.6 c0,20.5-13.1,51.1-19.8,79.5c-5.6,23.8,11.9,43.1,35.4,43.1c42.4,0,71-54.5,71-119.1c0-49.1-33.1-85.8-93.2-85.8 c-67.9,0-110.3,50.7-110.3,107.3c0,19.5,5.8,33.3,14.8,43.9c4.1,4.9,4.7,6.9,3.2,12.5c-1.1,4.1-3.5,14-4.6,18 c-1.5,5.7-6.1,7.7-11.2,5.6c-31.3-12.8-45.9-47-45.9-85.6c0-63.6,53.7-139.9,160.1-139.9c85.5,0,141.8,61.9,141.8,128.3 c0,87.9-48.9,153.5-120.9,153.5c-24.2,0-46.9-13.1-54.7-27.9c0,0-13,51.6-15.8,61.6c-4.7,17.3-14,34.5-22.5,48 c20.1,5.9,41.4,9.2,63.5,9.2c123.7,0,224-100.3,224-224C480,132.3,379.7,32,256,32z"></path> </g> </symbol> <symbol id="action-icon-pinterest" viewBox="0 0 30 30" xmlns="http://www.w3.org/2000/svg"> <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g transform="translate(-135.000000, -526.000000)"> <g transform="translate(100.000000, 526.000000)"> <g transform="translate(35.000000, 0.000000)"> <circle fill="#BD081C" cx="15" cy="15" r="15" /> <path d="M10.125,13.6640625 C10.125,13.1015597 10.2226553,12.5716171 10.4179687,12.0742188 C10.6132822,11.5768204 10.8828108,11.143231 11.2265625,10.7734375 C11.5703142,10.403644 11.9661436,10.0833347 12.4140625,9.8125 C12.8619814,9.54166531 13.3437474,9.33854234 13.859375,9.203125 C14.3750026,9.06770766 14.901039,9 15.4375,9 C16.2604208,9 17.0260381,9.17317535 17.734375,9.51953125 C18.4427119,9.86588715 19.018227,10.3697884 19.4609375,11.03125 C19.903648,11.6927116 20.125,12.4401 20.125,13.2734375 C20.125,13.77344 20.0755213,14.2630184 19.9765625,14.7421875 C19.8776037,15.2213566 19.7213552,15.6822895 19.5078125,16.125 C19.2942698,16.5677105 19.0338557,16.9570296 18.7265625,17.2929688 C18.4192693,17.6289079 18.0416689,17.8971344 17.59375,18.0976562 C17.1458311,18.2981781 16.6536485,18.3984375 16.1171875,18.3984375 C15.7630191,18.3984375 15.4114601,18.315105 15.0625,18.1484375 C14.7135399,17.98177 14.4635424,17.7526056 14.3125,17.4609375 C14.2604164,17.6640635 14.1875005,17.9570293 14.09375,18.3398438 C13.9999995,18.7226582 13.9388022,18.9700515 13.9101562,19.0820312 C13.8815103,19.194011 13.8281254,19.378905 13.75,19.6367188 C13.6718746,19.8945325 13.604167,20.0794265 13.546875,20.1914062 C13.489583,20.303386 13.4062505,20.4661448 13.296875,20.6796875 C13.1874995,20.8932302 13.067709,21.0950511 12.9375,21.2851562 C12.807291,21.4752614 12.6458343,21.7005195 12.453125,21.9609375 L12.34375,22 L12.2734375,21.921875 C12.1953121,21.1041626 12.15625,20.6145841 12.15625,20.453125 C12.15625,19.9739559 12.212239,19.4362009 12.3242187,18.8398438 C12.4361985,18.2434866 12.6093738,17.4947962 12.84375,16.59375 C13.0781262,15.6927038 13.2135415,15.1640633 13.25,15.0078125 C13.0833325,14.6692691 13,14.2291694 13,13.6875 C13,13.2552062 13.1354153,12.8489602 13.40625,12.46875 C13.6770847,12.0885398 14.0208312,11.8984375 14.4375,11.8984375 C14.7552099,11.8984375 15.0026033,12.0039052 15.1796875,12.2148438 C15.3567717,12.4257823 15.4453125,12.6927067 15.4453125,13.015625 C15.4453125,13.3593767 15.3307303,13.8567676 15.1015625,14.5078125 C14.8723947,15.1588574 14.7578125,15.6458317 14.7578125,15.96875 C14.7578125,16.2968766 14.8749988,16.5690093 15.109375,16.7851562 C15.3437512,17.0013032 15.6276025,17.109375 15.9609375,17.109375 C16.2473973,17.109375 16.5130196,17.0442715 16.7578125,16.9140625 C17.0026054,16.7838535 17.2070304,16.606772 17.3710937,16.3828125 C17.5351571,16.158853 17.6809889,15.9114597 17.8085937,15.640625 C17.9361986,15.3697903 18.0351559,15.0820328 18.1054687,14.7773438 C18.1757816,14.4726547 18.2278644,14.1835951 18.2617187,13.9101562 C18.2955731,13.6367174 18.3125,13.3776054 18.3125,13.1328125 C18.3125,12.2317663 18.0273466,11.5299504 17.4570312,11.0273438 C16.8867159,10.5247371 16.1432337,10.2734375 15.2265625,10.2734375 C14.1848906,10.2734375 13.3151077,10.6106737 12.6171875,11.2851562 C11.9192673,11.9596388 11.5703125,12.815099 11.5703125,13.8515625 C11.5703125,14.0807303 11.6028643,14.3020823 11.6679687,14.515625 C11.7330732,14.7291677 11.803385,14.8984369 11.8789062,15.0234375 C11.9544275,15.1484381 12.0247393,15.2669265 12.0898437,15.3789062 C12.1549482,15.490886 12.1875,15.5703123 12.1875,15.6171875 C12.1875,15.7630216 12.1484379,15.9531238 12.0703125,16.1875 C11.9921871,16.4218762 11.8958339,16.5390625 11.78125,16.5390625 C11.7708333,16.5390625 11.7265629,16.5312501 11.6484375,16.515625 C11.3828112,16.4374996 11.1471364,16.2916677 10.9414062,16.078125 C10.7356761,15.8645823 10.5768235,15.618491 10.4648437,15.3398438 C10.352864,15.0611965 10.2682295,14.7799493 10.2109375,14.4960938 C10.1536455,14.2122382 10.125,13.9348972 10.125,13.6640625 Z" fill="#FFFFFF" /> </g> </g> </g> </g> </symbol> <symbol id="icon-fullscreen" xmlns="http://www.w3.org/2000/svg" fill="white" viewBox="0 0 1024 1024"> <path d="M290 236.4l43.9-43.9a8.01 8.01 0 0 0-4.7-13.6L169 160c-5.1-.6-9.5 3.7-8.9 8.9L179 329.1c.8 6.6 8.9 9.4 13.6 4.7l43.7-43.7L370 423.7c3.1 3.1 8.2 3.1 11.3 0l42.4-42.3c3.1-3.1 3.1-8.2 0-11.3L290 236.4zm352.7 187.3c3.1 3.1 8.2 3.1 11.3 0l133.7-133.6 43.7 43.7a8.01 8.01 0 0 0 13.6-4.7L863.9 169c.6-5.1-3.7-9.5-8.9-8.9L694.8 179c-6.6.8-9.4 8.9-4.7 13.6l43.9 43.9L600.3 370a8.03 8.03 0 0 0 0 11.3l42.4 42.4zM845 694.9c-.8-6.6-8.9-9.4-13.6-4.7l-43.7 43.7L654 600.3a8.03 8.03 0 0 0-11.3 0l-42.4 42.3a8.03 8.03 0 0 0 0 11.3L734 787.6l-43.9 43.9a8.01 8.01 0 0 0 4.7 13.6L855 864c5.1.6 9.5-3.7 8.9-8.9L845 694.9zm-463.7-94.6a8.03 8.03 0 0 0-11.3 0L236.3 733.9l-43.7-43.7a8.01 8.01 0 0 0-13.6 4.7L160.1 855c-.6 5.1 3.7 9.5 8.9 8.9L329.2 845c6.6-.8 9.4-8.9 4.7-13.6L290 787.6 423.7 654c3.1-3.1 3.1-8.2 0-11.3l-42.4-42.4z" /> </symbol> <symbol id="mono-icon-tumblr" viewBox="0 0 512 512"> <g> <path d="M321.2,396.3c-11.8,0-22.4-2.8-31.5-8.3c-6.9-4.1-11.5-9.6-14-16.4c-2.6-6.9-3.6-22.3-3.6-46.4V224h96v-64h-96V48h-61.9 c-2.7,21.5-7.5,44.7-14.5,58.6c-7,13.9-14,25.8-25.6,35.7c-11.6,9.9-25.6,17.9-41.9,23.3V224h48v140.4c0,19,2,33.5,5.9,43.5 c4,10,11.1,19.5,21.4,28.4c10.3,8.9,22.8,15.7,37.3,20.5c14.6,4.8,31.4,7.2,50.4,7.2c16.7,0,30.3-1.7,44.7-5.1 c14.4-3.4,30.5-9.3,48.2-17.6v-65.6C363.2,389.4,342.3,396.3,321.2,396.3z"></path> </g> </symbol> <symbol id="mono-icon-twitter" viewBox="0 0 19 16"> <g> <path fill-rule="evenodd" d="M16.48 4.594c.024.094.036.246.036.457 0 1.687-.41 3.316-1.23 4.887-.845 1.664-2.028 2.988-3.552 3.972-1.664 1.102-3.574 1.652-5.73 1.652-2.063 0-3.95-.55-5.66-1.652.258.024.55.035.879.035 1.71 0 3.246-.527 4.605-1.582-.82 0-1.54-.24-2.162-.72a3.671 3.671 0 0 1-1.283-1.811c.234.023.457.035.668.035.328 0 .656-.035.984-.105a3.72 3.72 0 0 1-2.11-1.301 3.54 3.54 0 0 1-.843-2.32v-.07a3.475 3.475 0 0 0 1.652.492A4.095 4.095 0 0 1 1.54 5.227a3.546 3.546 0 0 1-.457-1.776c0-.644.176-1.26.527-1.845a10.18 10.18 0 0 0 3.358 2.742 10.219 10.219 0 0 0 4.236 1.125 5.124 5.124 0 0 1-.07-.844c0-.656.164-1.272.492-1.846a3.613 3.613 0 0 1 1.336-1.353 3.565 3.565 0 0 1 1.828-.492c.54 0 1.037.105 1.494.316.457.21.861.492 1.213.844a7.51 7.51 0 0 0 2.356-.88c-.282.868-.82 1.548-1.618 2.04a7.93 7.93 0 0 0 2.11-.598 8.114 8.114 0 0 1-1.864 1.934z"> </path> </g> </symbol> <symbol id="action-icon-twitter" viewBox="0 0 30 30" xmlns="http://www.w3.org/2000/svg"> <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g transform="translate(-170.000000, -526.000000)"> <g transform="translate(100.000000, 526.000000)"> <g transform="translate(70.000000, 0.000000)"> <circle fill="#1DA1F2" cx="15" cy="15" r="15" /> <g transform="translate(9.000000, 10.000000)" fill="#FFFFFF"> <path d="M10.5859761,1.45966124 C11.0943048,1.17128539 11.4846922,0.714562198 11.6684736,0.170424684 C11.1928015,0.43748706 10.6659497,0.631385646 10.1051245,0.735917217 C9.65605179,0.28301632 9.01621859,0 8.30813124,0 C6.94840338,0 5.84610995,1.04340456 5.84610995,2.33027296 C5.84610995,2.51295392 5.86788105,2.69077393 5.90984308,2.86132325 C3.86375508,2.76414545 2.04968726,1.83640698 0.835421925,0.42656027 C0.623504883,0.770733376 0.502095907,1.17103611 0.502095907,1.59809494 C0.502095907,2.40655275 0.936727752,3.119827 1.59732251,3.53774555 C1.19376715,3.52565545 0.814133655,3.42079151 0.482212224,3.2462537 C0.482036651,3.25597563 0.481992758,3.26573911 0.481992758,3.27554414 C0.481992758,4.40461806 1.33062658,5.34648241 2.45688577,5.56057271 C2.25027982,5.61379407 2.03278832,5.64225358 1.80827389,5.64225358 C1.64959947,5.64225358 1.49540217,5.62767068 1.34506749,5.60045757 C1.65837814,6.52628488 2.56758477,7.20000665 3.64490289,7.21886886 C2.80228245,7.84385631 1.74076594,8.21636429 0.587292878,8.21636429 C0.388587732,8.21636429 0.192603972,8.2053544 0,8.1838332 C1.08956436,8.84500785 2.38362778,9.23076923 3.7739493,9.23076923 C8.30238121,9.23076923 10.7786678,5.67993646 10.7786678,2.60049288 C10.7786678,2.49945124 10.7762537,2.3989497 10.7715571,2.29902981 C11.2525403,1.97047828 11.6699221,1.56003814 12,1.09272053 C11.5584769,1.27806049 11.0840338,1.40336542 10.5859761,1.45966124 Z" /> </g> </g> </g> </g> </g> </symbol> <symbol id="mono-icon-youtube" viewBox="0 0 512 512"> <g> <path fill-rule="evenodd" d="M508.6,148.8c0-45-33.1-81.2-74-81.2C379.2,65,322.7,64,265,64c-3,0-6,0-9,0s-6,0-9,0c-57.6,0-114.2,1-169.6,3.6 c-40.8,0-73.9,36.4-73.9,81.4C1,184.6-0.1,220.2,0,255.8C-0.1,291.4,1,327,3.4,362.7c0,45,33.1,81.5,73.9,81.5 c58.2,2.7,117.9,3.9,178.6,3.8c60.8,0.2,120.3-1,178.6-3.8c40.9,0,74-36.5,74-81.5c2.4-35.7,3.5-71.3,3.4-107 C512.1,220.1,511,184.5,508.6,148.8z M207,353.9V157.4l145,98.2L207,353.9z"></path> </g> </symbol> <symbol id="icon-magnify" viewBox="0 0 30 30" xmlns="http://www.w3.org/2000/svg"> <path d="M21.876 18.281l-.314.548L30 27.343 27.343 30l-8.437-8.516-.546.392c-2.083 1.3-4.245 1.951-6.486 1.951-3.28 0-6.08-1.171-8.398-3.515C1.16 17.968 0 15.156 0 11.874c0-3.28 1.159-6.08 3.476-8.398C5.794 1.16 8.595 0 11.876 0c3.282 0 6.079 1.159 8.398 3.476 2.318 2.318 3.477 5.119 3.477 8.4a11.786 11.786 0 0 1-1.875 6.405zm-3.36-13.046c-1.823-1.824-4.037-2.736-6.642-2.736-2.604 0-4.818.912-6.639 2.736-1.824 1.822-2.736 4.035-2.736 6.64 0 2.606.912 4.818 2.736 6.64 1.822 1.823 4.035 2.734 6.64 2.734 2.606 0 4.818-.91 6.64-2.733 1.876-1.875 2.813-4.088 2.813-6.642 0-2.55-.937-4.764-2.812-6.639z" fill-rule="evenodd" /> </symbol> <symbol id="burger-menu" viewBox="0 0 14 10"> <g> <path fill-rule="evenodd" d="M0 5.5v-1h14v1H0zM0 1V0h14v1H0zm0 9V9h14v1H0z"></path> </g> </symbol> <symbol id="close-x" viewBox="0 0 14 14" xmlns="http://www.w3.org/2000/svg"> <g> <path fill-rule="nonzero" d="M6.336 7L0 .664.664 0 7 6.336 13.336 0 14 .664 7.664 7 14 13.336l-.664.664L7 7.664.664 14 0 13.336 6.336 7z"> </path> </g> </symbol> <symbol id="share-more-arrow" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;"> <g> <g> <path d="M512,241.7L273.643,3.343v156.152c-71.41,3.744-138.015,33.337-188.958,84.28C30.075,298.384,0,370.991,0,448.222v60.436 l29.069-52.985c45.354-82.671,132.173-134.027,226.573-134.027c5.986,0,12.004,0.212,18.001,0.632v157.779L512,241.7z M255.642,290.666c-84.543,0-163.661,36.792-217.939,98.885c26.634-114.177,129.256-199.483,251.429-199.483h15.489V78.131 l163.568,163.568L304.621,405.267V294.531l-13.585-1.683C279.347,291.401,267.439,290.666,255.642,290.666z"> </path> </g> </g> </symbol> <symbol id="chevron" viewBox="0 0 100 100"> <g> <path d="M22.4566257,37.2056786 L-21.4456527,71.9511488 C-22.9248661,72.9681457 -24.9073712,72.5311671 -25.8758148,70.9765924 L-26.9788683,69.2027424 C-27.9450684,67.6481676 -27.5292733,65.5646602 -26.0500598,64.5484493 L20.154796,28.2208967 C21.5532435,27.2597011 23.3600078,27.2597011 24.759951,28.2208967 L71.0500598,64.4659264 C72.5292733,65.4829232 72.9450684,67.5672166 71.9788683,69.1217913 L70.8750669,70.8956413 C69.9073712,72.4502161 67.9241183,72.8848368 66.4449048,71.8694118 L22.4566257,37.2056786 Z" id="Transparent-Chevron" transform="translate(22.500000, 50.000000) rotate(90.000000) translate(-22.500000, -50.000000) "></path> </g> </symbol> <symbol id="chevron-down" viewBox="0 0 10 6" xmlns="http://www.w3.org/2000/svg"> <path d="M5.108 4.088L.965.158a.587.587 0 0 0-.8 0 .518.518 0 0 0 0 .758L5.13 5.625 9.845.905a.517.517 0 0 0-.021-.758.588.588 0 0 0-.8.02l-3.916 3.92z" fill-rule="evenodd" /> </symbol> <symbol id="chevron-up" viewBox="0 0 284.929 284.929" xmlns="http://www.w3.org/2000/svg"> <path d="M282.082 195.285L149.028 62.24c-1.901-1.903-4.088-2.856-6.562-2.856s-4.665.953-6.567 2.856L2.856 195.285C.95 197.191 0 199.378 0 201.853c0 2.474.953 4.664 2.856 6.566l14.272 14.271c1.903 1.903 4.093 2.854 6.567 2.854s4.664-.951 6.567-2.854l112.204-112.202 112.208 112.209c1.902 1.903 4.093 2.848 6.563 2.848 2.478 0 4.668-.951 6.57-2.848l14.274-14.277c1.902-1.902 2.847-4.093 2.847-6.566.001-2.476-.944-4.666-2.846-6.569z" /> </symbol> <symbol id="icon-arrow-down" viewBox="0 0 10 6" xmlns="http://www.w3.org/2000/svg"> <path d="M5.108 4.088L.965.158a.587.587 0 0 0-.8 0 .518.518 0 0 0 0 .758L5.13 5.625 9.845.905a.517.517 0 0 0-.021-.758.588.588 0 0 0-.8.02l-3.916 3.92z" fill="inherit" fill-rule="evenodd" /> </symbol> <symbol id="play-arrow" viewBox="0 0 30 30"> <g fill-rule="evenodd"> <path d="M9 9l12 6-12 6z"></path> </g> </symbol> <symbol id="play-icon" viewBox="0 0 50 50" xmlns="http://www.w3.org/2000/svg"> <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g transform="translate(-341.000000, -11574.000000)" fill-rule="nonzero"> <g transform="translate(320.000000, 11422.000000)"> <g transform="translate(21.000000, 152.000000)"> <circle id="Oval" fill="#FFFFFF" cx="25" cy="25" r="24" /> <path d="M25,0 C11.2,0 0,11.2 0,25 C0,38.8 11.2,50 25,50 C38.8,50 50,38.8 50,25 C50,11.2 38.8,0 25,0 Z" fill="#EE0120" /> <polygon fill="#FFFFFF" points="18 36.25 18 13.75 33 25" /> </g> </g> </g> </g> </symbol> <symbol id="grid" viewBox="0 0 32 32"> <g> <path d="M6.4,5.7 C6.4,6.166669 6.166669,6.4 5.7,6.4 L0.7,6.4 C0.233331,6.4 0,6.166669 0,5.7 L0,0.7 C0,0.233331 0.233331,0 0.7,0 L5.7,0 C6.166669,0 6.4,0.233331 6.4,0.7 L6.4,5.7 Z M19.2,5.7 C19.2,6.166669 18.966669,6.4 18.5,6.4 L13.5,6.4 C13.033331,6.4 12.8,6.166669 12.8,5.7 L12.8,0.7 C12.8,0.233331 13.033331,0 13.5,0 L18.5,0 C18.966669,0 19.2,0.233331 19.2,0.7 L19.2,5.7 Z M32,5.7 C32,6.166669 31.766669,6.4 31.3,6.4 L26.3,6.4 C25.833331,6.4 25.6,6.166669 25.6,5.7 L25.6,0.7 C25.6,0.233331 25.833331,0 26.3,0 L31.3,0 C31.766669,0 32,0.233331 32,0.7 L32,5.7 Z M6.4,18.5 C6.4,18.966669 6.166669,19.2 5.7,19.2 L0.7,19.2 C0.233331,19.2 0,18.966669 0,18.5 L0,13.5 C0,13.033331 0.233331,12.8 0.7,12.8 L5.7,12.8 C6.166669,12.8 6.4,13.033331 6.4,13.5 L6.4,18.5 Z M19.2,18.5 C19.2,18.966669 18.966669,19.2 18.5,19.2 L13.5,19.2 C13.033331,19.2 12.8,18.966669 12.8,18.5 L12.8,13.5 C12.8,13.033331 13.033331,12.8 13.5,12.8 L18.5,12.8 C18.966669,12.8 19.2,13.033331 19.2,13.5 L19.2,18.5 Z M32,18.5 C32,18.966669 31.766669,19.2 31.3,19.2 L26.3,19.2 C25.833331,19.2 25.6,18.966669 25.6,18.5 L25.6,13.5 C25.6,13.033331 25.833331,12.8 26.3,12.8 L31.3,12.8 C31.766669,12.8 32,13.033331 32,13.5 L32,18.5 Z M6.4,31.3 C6.4,31.766669 6.166669,32 5.7,32 L0.7,32 C0.233331,32 0,31.766669 0,31.3 L0,26.3 C0,25.833331 0.233331,25.6 0.7,25.6 L5.7,25.6 C6.166669,25.6 6.4,25.833331 6.4,26.3 L6.4,31.3 Z M19.2,31.3 C19.2,31.766669 18.966669,32 18.5,32 L13.5,32 C13.033331,32 12.8,31.766669 12.8,31.3 L12.8,26.3 C12.8,25.833331 13.033331,25.6 13.5,25.6 L18.5,25.6 C18.966669,25.6 19.2,25.833331 19.2,26.3 L19.2,31.3 Z M32,31.3 C32,31.766669 31.766669,32 31.3,32 L26.3,32 C25.833331,32 25.6,31.766669 25.6,31.3 L25.6,26.3 C25.6,25.833331 25.833331,25.6 26.3,25.6 L31.3,25.6 C31.766669,25.6 32,25.833331 32,26.3 L32,31.3 Z"></path> </g> </symbol> <symbol id="filter" viewBox="0 0 16 12"> <path d="M0 2V0h16v2H0zm2.4 5V5h11.2v2H2.4zm2.4 5v-2h6.4v2H4.8z"></path> </symbol> <symbol id="icon-filter" viewBox="0 0 512 512"> <path fill="currentColor" d="M487.976 0H24.028C2.71 0-8.047 25.866 7.058 40.971L192 225.941V432c0 7.831 3.821 15.17 10.237 19.662l80 55.98C298.02 518.69 320 507.493 320 487.98V225.941l184.947-184.97C520.021 25.896 509.338 0 487.976 0z"> </path> </symbol> <symbol id="icon-radio-on" viewBox="0 0 24 24"> <path fill="currentColor" fill-rule="nonzero" d="M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm0-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z" /> </symbol> <symbol id="icon-radio-off" viewBox="0 0 24 24"> <path fill="currentColor" fill-rule="nonzero" d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z" /> </symbol> <symbol id="icon-pause" viewBox="0 0 13 16"> <rect width="4.636" height="16" rx="2.318" /> <rect width="4.636" height="16" x="7.727" rx="2.318" /> </symbol> <symbol id="icon-plus" viewBox="0 0 14 14" height="14px" width="14px"> <path d="M13, 6H8V1A1, 1, 0, 0, 0, 6, 1V6H1A1, 1, 0, 0, 0, 1, 8H6v5a1, 1, 0, 0, 0, 2, 0V8h5a1, 1, 0, 0, 0, 0-2Z" /> </symbol> <symbol id="icon-minus" viewBox="0 0 14 14" height="14px" width="14px"> <path d="M13, 8H1A1, 1, 0, 0, 1, 1, 6H13a1, 1, 0, 0, 1, 0, 2Z" /> </symbol> <symbol id="amazon-alexa" fill="none" viewBox="0 0 14 14"> <path clip-rule="evenodd" d="m52.4998 105c-28.9946 0-52.4998-23.5055-52.4998-52.5003 0-26.6214 19.8151-48.61142 45.5003-52.03433v10.57883c0 2.9832-1.8814 5.6636-4.7091 6.6127-14.8197 4.9787-25.4216 19.1433-25.0311 35.7287.4754 20.1911 16.923 36.0663 37.1187 35.8628 20.122-.2035 36.3714-16.5785 36.3714-36.7487 0-.4597-.0113-.9172-.0283-1.3721-.004-.102-.0072-.2048-.0113-.307-.0194-.4228-.0452-.8446-.0784-1.2639-.0097-.1335-.0234-.2666-.0355-.3998-.0259-.2928-.0558-.5837-.0889-.8739-.0372-.3297-.08-.6576-.1261-.9838-.0202-.1492-.0404-.2988-.063-.4467-4.4995-29.6389-43.1025-46.296896-43.3144-46.388077 2.2893-.304462 4.6239-.464423 6.9955-.464423 28.9951 0 52.5002 23.5048 52.5002 52.4997 0 28.9948-23.5051 52.5003-52.5002 52.5003z" fill="#5fcaf4" fill-rule="evenodd" transform="matrix(.133333 0 0 -.133333 0 14)" /> </symbol> <symbol id="apple" viewBox="0 0 511.86 511.86"> <rect fill="#822cbe" width="511.86" height="511.86" rx="113.87" /> <path fill="#ffffff" d="M240.44,448.26c-15.27-5.46-18.54-12.88-24.81-56.38-7.28-50.55-8.87-81.84-4.65-91.75,5.59-13.14,20.78-20.6,42-20.68,21.07-.09,36.39,7.44,42,20.68,4.24,9.89,2.65,41.2-4.64,91.75-4.95,35.32-7.67,44.25-14.5,50.25-9.38,8.31-22.69,10.61-35.32,6.14Zm-65.22-51.87c-52.73-25.94-86.51-69.82-98.79-128.2-3.07-15.07-3.59-51-.69-64.84,7.68-37.11,22.36-66.13,46.75-91.79,35.15-37.06,80.37-56.65,130.7-56.65,49.82,0,94.86,19.23,129.16,55.18,26.1,27.13,40.77,55.84,48.28,93.67,2.56,12.59,2.56,46.92.17,61.08a181.4,181.4,0,0,1-69.1,113c-13,9.79-44.7,26.89-49.82,26.89-1.88,0-2.05-1.94-1.19-9.81,1.53-12.63,3.07-15.25,10.23-18.26,11.44-4.77,30.89-18.63,42.83-30.61a163,163,0,0,0,42.82-75.41c4.44-17.57,3.93-56.64-1-74.73C390,138.36,343.1,93.66,285.61,81.72c-16.73-3.42-47.1-3.42-64,0-58.18,11.94-106.29,58.86-121,117.89-3.92,16-3.92,55.11,0,71.15,9.73,39.07,35,74.9,68.08,96.23a147.45,147.45,0,0,0,17.58,10.07c7.16,3.07,8.7,5.63,10.06,18.25.85,7.68.68,9.9-1.19,9.9-1.2,0-9.9-3.75-19.11-8.19ZM175.9,327c-17.75-14.16-33.44-39.28-39.93-63.91-3.92-14.88-3.92-43.17.17-58,10.75-40.06,40.27-71.12,81.22-85.71,14-4.94,45-6,62.27-2.25C339,130.33,381.15,189.79,373,248.77c-3.24,23.77-11.43,43.29-25.93,61.42-7.17,9.16-24.57,24.54-27.64,24.54-.51,0-1-5.8-1-12.87V309l8.88-10.58c33.44-40.06,31.05-96-5.46-132.74-14.16-14.29-30.54-22.69-51.7-26.56-13.65-2.53-16.55-2.53-30.88-.17-21.76,3.55-38.61,12-53.58,26.78C148.94,202,146.55,258.29,180,298.38L188.8,309v13c0,7.17-.57,13-1.27,13s-5.63-3.41-10.92-7.68Zm59.2-69.66c-15.18-7.07-23.37-20.39-23.54-37.76,0-15.61,8.7-29.23,23.71-37.2,9.56-5,26.45-5,36,0a46.34,46.34,0,0,1,22.18,26.85c9.9,33.65-25.76,63.13-58,48.07Z" transform="translate(-0.14 -0.14)" /> <circle fill="#ffffff" cx="255.74" cy="221.24" r="42.55" /> <path fill="#ffffff" d="M260,280.42a83.61,83.61,0,0,1,14.25,2.9,51.55,51.55,0,0,1,14.26,7.13c3.76,2.73,6.49,5.56,8.19,9s2.56,7.54,3.07,14.25c.34,6.72.34,16-1.19,33.44s-4.61,42.79-7,59.08-4.09,23.55-6.31,28.84a25.82,25.82,0,0,1-18.94,16.55,41,41,0,0,1-9.89.85,42.41,42.41,0,0,1-9.9-.85c-3.92-.86-9-2.39-12.8-5.46-3.92-3.07-6.48-7.51-8.53-13.31s-3.58-12.8-5.63-26.79-4.78-34.8-6.48-50.67-2.39-26.79-2.53-34.13.17-11,1-14.5a28.93,28.93,0,0,1,4.09-9.38,31.14,31.14,0,0,1,6.83-7,27.87,27.87,0,0,1,8-4.3A60.8,60.8,0,0,1,241.35,283c4.43-.85,9.55-1.7,12.18-2.05a13.34,13.34,0,0,1,5.56,0Z" transform="translate(-0.14 -0.14)" /> </symbol> <symbol id="google" fill="none" viewBox="0 0 14 14"> <path d="m0 0v2.12148.84795 2.12148h1.75v-2.12148-.84795-2.12148z" fill="#fab908" transform="translate(6.125 4.45453)" /> <path d="m.875 1.75c.48325 0 .875-.39175.875-.875 0-.483249-.39175-.875-.875-.875-.483249 0-.875.391751-.875.875 0 .48325.391751.875.875.875z" fill="#0066d9" transform="translate(0 5.64764)" /> <path d="m.875 1.75c.48325 0 .875-.39175.875-.875 0-.483249-.39175-.875-.875-.875-.483249 0-.875.391751-.875.875 0 .48325.391751.875.875.875z" fill="#0066d9" transform="translate(0 6.60236)" /> <path d="m1.75 0h-1.75v.954546h1.75z" fill="#0066d9" transform="translate(0 6.52264)" /> <path d="m.875 1.75c.48325 0 .875-.39175.875-.875 0-.483249-.39175-.875-.875-.875-.483249 0-.875.391751-.875.875 0 .48325.391751.875.875.875z" fill="#4285f4" transform="translate(12.25 6.60236)" /> <path d="m.875 1.75c.48325 0 .875-.39175.875-.875 0-.483249-.39175-.875-.875-.875-.483249 0-.875.391751-.875.875 0 .48325.391751.875.875.875z" fill="#4285f4" transform="translate(12.25 5.64764)" /> <path d="m1.75 0h-1.75v.954546h1.75z" fill="#4285f4" transform="matrix(-1 0 0 -1 14 7.47736)" /> <path d="m.875 1.75c.48325 0 .875-.39175.875-.875 0-.483249-.39175-.875-.875-.875-.483249 0-.875.391751-.875.875 0 .48325.391751.875.875.875z" fill="#ea4335" transform="translate(3.02274 8.51141)" /> <path d="m.875 1.75c.48325 0 .875-.39175.875-.875 0-.483249-.39175-.875-.875-.875-.483249 0-.875.391751-.875.875 0 .48325.391751.875.875.875z" fill="#ea4335" transform="translate(3.02274 9.46594)" /> <path d="m1.75 0h-1.75v.954546h1.75z" fill="#ea4335" transform="translate(3.02274 9.38641)" /> <path d="m.875 1.75c.48325 0 .875-.39175.875-.875 0-.483249-.39175-.875-.875-.875-.483249 0-.875.391751-.875.875 0 .48325.391751.875.875.875z" fill="#ea4335" transform="translate(3.02274 2.78406)" /> <path d="m.875 1.75c.48325 0 .875-.39175.875-.875 0-.483249-.39175-.875-.875-.875-.483249 0-.875.391751-.875.875 0 .48325.391751.875.875.875z" fill="#ea4335" transform="translate(3.02274 5.88641)" /> <path d="m1.75 0h-1.75v3.12216h1.75z" fill="#ea4335" transform="translate(3.02274 3.65906)" /> <path d="m.875 1.75c.48325 0 .875-.39175.875-.875 0-.483249-.39175-.875-.875-.875-.483249 0-.875.391751-.875.875 0 .48325.391751.875.875.875z" fill="#34a853" transform="translate(9.22726 3.73859)" /> <path d="m.875 1.75c.48325 0 .875-.39175.875-.875 0-.483249-.39175-.875-.875-.875-.483249 0-.875.391751-.875.875 0 .48325.391751.875.875.875z" fill="#34a853" transform="translate(9.22726 2.78406)" /> <path d="m1.75 0h-1.75v.954546h1.75z" fill="#34a853" transform="matrix(-1 0 0 -1 10.9773 4.61359)" /> <g fill="#fab908"> <path d="m.875 1.75c.48325 0 .875-.39175.875-.875 0-.483249-.39175-.875-.875-.875-.483249 0-.875.391751-.875.875 0 .48325.391751.875.875.875z" transform="translate(6.125 .954529)" /> <path d="m.875 1.75c.48325 0 .875-.39175.875-.875 0-.483249-.39175-.875-.875-.875-.483249 0-.875.391751-.875.875 0 .48325.391751.875.875.875z" transform="translate(6.125)" /> <path d="m1.75 0h-1.75v.954546h1.75z" transform="matrix(-1 0 0 -1 7.875 1.82953)" /> <path d="m.875 1.75c.48325 0 .875-.39175.875-.875 0-.483249-.39175-.875-.875-.875-.483249 0-.875.391751-.875.875 0 .48325.391751.875.875.875z" transform="translate(6.125 12.25)" /> <path d="m.875 1.75c.48325 0 .875-.39175.875-.875 0-.483249-.39175-.875-.875-.875-.483249 0-.875.391751-.875.875 0 .48325.391751.875.875.875z" transform="translate(6.125 11.2955)" /> <path d="m1.75 0h-1.75v.954546h1.75z" transform="matrix(-1 0 0 -1 7.875 13.125)" /> </g> <path d="m.875 1.75c.48325 0 .875-.39175.875-.875 0-.483249-.39175-.875-.875-.875-.483249 0-.875.391751-.875.875 0 .48325.391751.875.875.875z" fill="#34a853" transform="translate(9.22726 9.46594)" /> <path d="m.875 1.75c.48325 0 .875-.39175.875-.875 0-.483249-.39175-.875-.875-.875-.483249 0-.875.391751-.875.875 0 .48325.391751.875.875.875z" fill="#34a853" transform="translate(9.22726 6.36359)" /> <path d="m1.75 0h-1.75v3.10227h1.75z" fill="#34a853" transform="matrix(-1 0 0 -1 10.9773 10.3409)" /> <path d="m.875 1.75c.48325 0 .875-.39175.875-.875 0-.483249-.39175-.875-.875-.875-.483249 0-.875.391751-.875.875 0 .48325.391751.875.875.875z" fill="#fab908" transform="translate(6.125 3.57953)" /> <path d="m.875 1.75c.48325 0 .875-.39175.875-.875 0-.483249-.39175-.875-.875-.875-.483249 0-.875.391751-.875.875 0 .48325.391751.875.875.875z" fill="#fab908" transform="translate(6.125 8.67047)" /> </symbol> <symbol id="npr-one" viewBox="0 0 15 16"> <g clip-rule="evenodd" fill-rule="evenodd"> <path d="m-.00000001 3.99903 3.11681001 1.9192c.6747-1.24356 1.93544-2.08032 3.37935-2.08032v-3.83791c-2.77571 0-5.1993 1.60843-6.49616001 3.99903z" fill="#d61900" transform="translate(1.00378)" /> <path d="m3.78823 5.28599c-.12325-.40495-.18984-.83705-.18984-1.28579 0-.75804.19011-1.4688.52217-2.081-1.53085-.942623-2.25153-1.386398-3.11681-1.91919993-.638301 1.17671993-1.00375 2.54287993-1.00375 4.00019993 0 1.45723.365449 2.82349 1.00375 4.0002l1.97257-1.21466z" fill="#f30" transform="translate(0 4.00128)" /> <path d="m-.00000001 1.21467c1.29686001 2.3906 3.72045001 3.99903 6.49616001 3.99903v-3.83801c-1.15017 0-2.18402-.530854-2.89814-1.37539816h-1.62563l.00018-.00029136z" fill="#83aeed" transform="translate(1.00378 10.7867)" /> <path d="m6.49625 1.9192-3.1168-1.91919949c-.67471 1.24355949-1.93535 2.08022949-3.37944981 2.08022949v3.838c2.77589981 0 5.19938981-1.60843 6.49624981-3.99903z" fill="#3266cc" transform="translate(7.50012 10.0768)" /> <path d="m.522174 4.0002c0 .75815-.190114 1.46881-.52217447 2.08101l3.11681047 1.91919c.63839-1.17671 1.00375-2.54297 1.00375-4.0002 0-1.45732-.36536-2.82348-1.00375-4.00019993-.86528.53280193-1.58596.97657693-3.11681047 1.91919993.33206047.6122.52217447 1.32296.52217447 2.081z" fill="#3a3a3a" transform="translate(10.8795 4.00128)" /> <path d="m.00000019 3.83791c1.44409981 0 2.70473981.83676 3.37944981 2.08032l3.1168-1.9192c-1.29686-2.3906-3.72044-3.99903-6.49624981-3.99903z" fill="#191919" transform="translate(7.50012)" /> </g> </symbol> <symbol id="overcast" viewBox="0 0 365 365" fill="none"> <g xmlns="http://www.w3.org/2000/svg" id="surface1"> <path style=" stroke:none;fill-rule:nonzero;fill:rgb(96.099854%,49.398804%,12.5%);fill-opacity:1;" d="M 90.179688 274.820313 C 66.550781 251.195313 51.9375 218.554688 51.9375 182.5 C 51.9375 146.445313 66.550781 113.804688 90.179688 90.179688 L 101.789063 101.789063 C 81.136719 122.445313 68.359375 150.980469 68.359375 182.5 C 68.359375 214.019531 81.136719 242.554688 101.789063 263.210938 Z M 125.890625 239.109375 C 111.402344 224.621094 102.441406 204.609375 102.441406 182.5 C 102.441406 160.390625 111.402344 140.378906 125.890625 125.890625 L 137.503906 137.503906 C 125.988281 149.019531 118.863281 164.925781 118.863281 182.5 C 118.863281 200.074219 125.988281 215.980469 137.503906 227.496094 Z M 227.496094 227.496094 C 239.011719 215.980469 246.136719 200.074219 246.136719 182.5 C 246.136719 164.925781 239.011719 149.019531 227.496094 137.503906 L 239.109375 125.890625 C 253.597656 140.378906 262.558594 160.390625 262.558594 182.5 C 262.558594 204.609375 253.597656 224.621094 239.109375 239.109375 Z M 274.820313 274.820313 L 263.210938 263.210938 C 283.863281 242.554688 296.640625 214.019531 296.640625 182.5 C 296.640625 150.980469 283.863281 122.445313 263.210938 101.789063 L 274.820313 90.179688 C 298.449219 113.804688 313.0625 146.445313 313.0625 182.5 C 313.0625 218.554688 298.449219 251.195313 274.820313 274.820313 Z M 182.5 16.640625 C 90.898438 16.640625 16.640625 90.898438 16.640625 182.5 C 16.640625 255.765625 64.148438 317.933594 130.039063 339.886719 L 172.632813 212.101563 C 160.238281 207.972656 151.296875 196.28125 151.296875 182.5 C 151.296875 165.265625 165.265625 151.296875 182.5 151.296875 C 199.734375 151.296875 213.703125 165.265625 213.703125 182.5 C 213.703125 196.28125 204.761719 207.972656 192.367188 212.101563 L 234.960938 339.886719 C 300.851563 317.933594 348.359375 255.765625 348.359375 182.5 C 348.359375 90.898438 274.101563 16.640625 182.5 16.640625 Z M 202.902344 347.109375 C 195.519531 341.375 188.371094 335.058594 181.539063 328.164063 C 174.933594 334.996094 168.046875 341.269531 160.945313 346.96875 C 168 347.882813 175.195313 348.359375 182.5 348.359375 C 189.40625 348.359375 196.214844 347.933594 202.902344 347.109375 Z M 191.792969 316.824219 C 200.890625 327.066406 210.65625 336.113281 220.847656 343.898438 C 221.527344 343.734375 222.203125 343.570313 222.878906 343.402344 L 205.261719 299.355469 C 200.972656 305.472656 196.472656 311.300781 191.792969 316.824219 Z M 182.257813 305.34375 C 187.945313 298.007813 193.300781 290.164063 198.257813 281.84375 L 182.5 242.453125 L 166.550781 282.324219 C 171.425781 290.464844 176.679688 298.148438 182.257813 305.34375 Z M 143.78125 343.804688 C 153.617188 336.28125 163.054688 327.59375 171.875 317.78125 C 167.367188 312.621094 163.03125 307.179688 158.894531 301.46875 L 142.121094 343.402344 C 142.671875 343.539063 143.226563 343.671875 143.78125 343.804688 Z M 182.5 364.796875 C 81.820313 364.796875 0.207031 283.179688 0.207031 182.5 C 0.207031 81.820313 81.820313 0.203125 182.5 0.203125 C 283.179688 0.203125 364.796875 81.820313 364.796875 182.5 C 364.796875 283.179688 283.179688 364.796875 182.5 364.796875 " /> <path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,100%,100%);fill-opacity:1;" d="M 90.179688 274.820313 L 90.324219 274.675781 C 66.734375 251.085938 52.140625 218.496094 52.140625 182.5 C 52.140625 146.503906 66.730469 113.914063 90.324219 90.324219 L 90.179688 90.179688 L 90.03125 90.324219 L 101.644531 101.9375 L 101.789063 101.789063 L 101.644531 101.644531 C 80.953125 122.339844 68.15625 150.925781 68.15625 182.5 C 68.15625 214.074219 80.953125 242.660156 101.644531 263.355469 L 101.789063 263.210938 L 101.644531 263.0625 L 90.03125 274.675781 L 90.179688 274.820313 L 90.324219 274.675781 L 90.179688 274.820313 L 90.324219 274.96875 L 102.082031 263.210938 L 101.9375 263.0625 C 81.316406 242.445313 68.566406 213.964844 68.566406 182.5 C 68.566406 151.035156 81.316406 122.554688 101.9375 101.9375 L 102.082031 101.789063 L 90.179688 89.886719 L 90.03125 90.03125 C 66.367188 113.695313 51.730469 146.390625 51.730469 182.5 C 51.730469 218.609375 66.367188 251.304688 90.03125 274.96875 L 90.179688 275.113281 L 90.324219 274.96875 Z M 125.890625 239.109375 L 126.035156 238.964844 C 111.582031 224.515625 102.644531 204.550781 102.644531 182.5 C 102.644531 160.449219 111.582031 140.484375 126.035156 126.035156 L 125.890625 125.890625 L 125.742188 126.035156 L 137.355469 137.648438 L 137.503906 137.503906 L 137.355469 137.355469 C 125.804688 148.910156 118.660156 164.871094 118.660156 182.5 C 118.660156 200.128906 125.804688 216.089844 137.355469 227.644531 L 137.503906 227.496094 L 137.355469 227.351563 L 125.742188 238.964844 L 125.890625 239.109375 L 126.035156 238.964844 L 125.890625 239.109375 L 126.035156 239.257813 L 137.792969 227.496094 L 137.648438 227.351563 C 126.167969 215.871094 119.070313 200.015625 119.070313 182.5 C 119.070313 164.984375 126.167969 149.128906 137.648438 137.648438 L 137.792969 137.503906 L 125.890625 125.597656 L 125.742188 125.742188 C 111.21875 140.269531 102.234375 160.335938 102.234375 182.5 C 102.234375 204.664063 111.21875 224.730469 125.742188 239.257813 L 125.890625 239.402344 L 126.035156 239.257813 Z M 227.496094 227.496094 L 227.644531 227.644531 C 239.195313 216.089844 246.339844 200.128906 246.339844 182.5 C 246.339844 164.871094 239.195313 148.910156 227.644531 137.355469 L 227.496094 137.503906 L 227.644531 137.648438 L 239.257813 126.035156 L 239.109375 125.890625 L 238.964844 126.035156 C 253.417969 140.484375 262.355469 160.449219 262.355469 182.5 C 262.355469 204.550781 253.417969 224.515625 238.964844 238.964844 L 239.109375 239.109375 L 239.257813 238.964844 L 227.644531 227.351563 L 227.496094 227.496094 L 227.644531 227.644531 L 227.496094 227.496094 L 227.351563 227.644531 L 239.109375 239.402344 L 239.257813 239.257813 C 253.78125 224.730469 262.765625 204.664063 262.765625 182.5 C 262.765625 160.335938 253.78125 140.269531 239.257813 125.742188 L 239.109375 125.597656 L 227.207031 137.503906 L 227.351563 137.648438 C 238.832031 149.128906 245.929688 164.984375 245.929688 182.5 C 245.929688 200.015625 238.832031 215.871094 227.351563 227.351563 L 227.207031 227.496094 L 227.351563 227.644531 Z M 274.820313 274.820313 L 274.96875 274.675781 L 263.355469 263.0625 L 263.210938 263.210938 L 263.355469 263.355469 C 284.046875 242.660156 296.84375 214.074219 296.84375 182.5 C 296.84375 150.925781 284.046875 122.339844 263.355469 101.644531 L 263.210938 101.789063 L 263.355469 101.9375 L 274.96875 90.324219 L 274.820313 90.179688 L 274.675781 90.324219 C 298.265625 113.914063 312.855469 146.503906 312.855469 182.5 C 312.855469 218.496094 298.265625 251.085938 274.675781 274.675781 L 274.820313 274.820313 L 274.96875 274.675781 L 274.820313 274.820313 L 274.96875 274.96875 C 298.632813 251.304688 313.269531 218.609375 313.269531 182.5 C 313.269531 146.390625 298.632813 113.695313 274.96875 90.03125 L 274.820313 89.886719 L 262.917969 101.789063 L 263.0625 101.9375 C 283.683594 122.554688 296.433594 151.035156 296.433594 182.5 C 296.433594 213.964844 283.683594 242.445313 263.0625 263.0625 L 262.917969 263.210938 L 274.820313 275.113281 L 274.96875 274.96875 Z M 182.5 16.640625 L 182.5 16.433594 C 90.785156 16.433594 16.433594 90.785156 16.433594 182.5 C 16.433594 255.859375 64.003906 318.097656 129.972656 340.082031 L 130.167969 340.144531 L 172.894531 211.972656 L 172.699219 211.90625 C 160.382813 207.804688 151.503906 196.191406 151.503906 182.5 C 151.503906 173.941406 154.972656 166.191406 160.582031 160.582031 C 166.191406 154.972656 173.9375 151.503906 182.5 151.503906 C 191.058594 151.503906 198.808594 154.972656 204.417969 160.582031 C 210.027344 166.191406 213.496094 173.9375 213.496094 182.5 C 213.496094 196.191406 204.617188 207.804688 192.300781 211.90625 L 192.105469 211.972656 L 234.832031 340.144531 L 235.027344 340.082031 C 301 318.097656 348.566406 255.859375 348.566406 182.5 C 348.566406 90.785156 274.214844 16.433594 182.5 16.433594 L 182.5 16.84375 C 228.246094 16.84375 269.65625 35.386719 299.636719 65.363281 C 329.613281 95.34375 348.15625 136.753906 348.15625 182.5 C 348.15625 255.675781 300.703125 317.765625 234.898438 339.691406 L 234.960938 339.886719 L 235.15625 339.820313 L 192.5625 212.035156 L 192.367188 212.101563 L 192.433594 212.296875 C 204.910156 208.140625 213.90625 196.375 213.910156 182.5 C 213.90625 165.152344 199.847656 151.09375 182.5 151.089844 C 165.152344 151.09375 151.09375 165.152344 151.089844 182.5 C 151.09375 196.375 160.089844 208.140625 172.566406 212.296875 L 172.632813 212.101563 L 172.4375 212.035156 L 129.84375 339.820313 L 130.039063 339.886719 L 130.101563 339.691406 C 64.296875 317.765625 16.84375 255.675781 16.84375 182.5 C 16.84375 136.753906 35.386719 95.34375 65.363281 65.363281 C 95.34375 35.386719 136.753906 16.84375 182.5 16.84375 Z M 202.902344 347.109375 L 203.027344 346.949219 C 195.652344 341.21875 188.511719 334.90625 181.683594 328.019531 L 181.535156 327.867188 L 181.390625 328.019531 C 174.792969 334.847656 167.910156 341.113281 160.816406 346.808594 L 160.441406 347.109375 L 160.917969 347.171875 C 167.984375 348.089844 175.1875 348.566406 182.5 348.566406 C 189.414063 348.566406 196.230469 348.136719 202.925781 347.316406 L 203.417969 347.253906 L 203.027344 346.949219 L 202.902344 347.109375 L 202.875 346.90625 C 196.199219 347.726563 189.398438 348.15625 182.5 348.15625 C 175.203125 348.15625 168.019531 347.679688 160.972656 346.765625 L 160.945313 346.96875 L 161.074219 347.128906 C 168.179688 341.421875 175.078125 335.144531 181.6875 328.304688 L 181.539063 328.164063 L 181.394531 328.308594 C 188.230469 335.210938 195.386719 341.53125 202.773438 347.273438 L 202.902344 347.109375 L 202.875 346.90625 Z M 191.792969 316.824219 L 191.636719 316.964844 C 200.742188 327.210938 210.519531 336.269531 220.722656 344.058594 L 220.800781 344.117188 L 220.894531 344.097656 C 221.574219 343.9375 222.253906 343.769531 222.929688 343.601563 L 223.15625 343.542969 L 205.3125 298.929688 L 205.09375 299.238281 C 200.808594 305.347656 196.3125 311.171875 191.636719 316.695313 L 191.519531 316.832031 L 191.636719 316.964844 L 191.792969 316.824219 L 191.949219 316.960938 C 196.632813 311.429688 201.136719 305.59375 205.429688 299.472656 L 205.261719 299.355469 L 205.070313 299.433594 L 222.6875 343.476563 L 222.878906 343.402344 L 222.828125 343.203125 C 222.152344 343.371094 221.476563 343.535156 220.800781 343.695313 L 220.847656 343.898438 L 220.972656 343.734375 C 210.789063 335.957031 201.035156 326.917969 191.945313 316.691406 L 191.792969 316.824219 L 191.949219 316.960938 Z M 182.257813 305.34375 L 182.421875 305.46875 C 188.113281 298.128906 193.472656 290.273438 198.433594 281.945313 L 198.484375 281.859375 L 182.5 241.898438 L 166.320313 282.34375 L 166.375 282.429688 C 171.253906 290.578125 176.511719 298.269531 182.097656 305.46875 L 182.257813 305.679688 L 182.421875 305.46875 L 182.257813 305.34375 L 182.421875 305.21875 C 176.847656 298.03125 171.597656 290.351563 166.726563 282.21875 L 166.550781 282.324219 L 166.742188 282.402344 L 182.5 243.003906 L 198.066406 281.917969 L 198.257813 281.84375 L 198.078125 281.738281 C 193.128906 290.050781 187.777344 297.890625 182.097656 305.21875 L 182.257813 305.34375 L 182.421875 305.21875 Z M 143.78125 343.804688 L 143.90625 343.96875 C 153.75 336.4375 163.199219 327.738281 172.027344 317.917969 L 172.152344 317.785156 L 172.03125 317.648438 C 167.527344 312.492188 163.195313 307.054688 159.058594 301.351563 L 158.839844 301.046875 L 141.84375 343.542969 L 142.070313 343.601563 C 142.625 343.738281 143.179688 343.871094 143.734375 344.007813 L 143.828125 344.027344 L 143.90625 343.96875 L 143.78125 343.804688 L 143.828125 343.605469 C 143.273438 343.472656 142.722656 343.339844 142.171875 343.203125 L 142.121094 343.402344 L 142.3125 343.476563 L 159.085938 301.546875 L 158.894531 301.46875 L 158.726563 301.589844 C 162.871094 307.304688 167.207031 312.753906 171.722656 317.917969 L 171.875 317.78125 L 171.722656 317.644531 C 162.910156 327.445313 153.480469 336.128906 143.65625 343.644531 L 143.78125 343.804688 L 143.828125 343.605469 Z M 182.5 364.796875 L 182.5 364.589844 C 132.21875 364.589844 86.695313 344.210938 53.742188 311.257813 C 20.792969 278.304688 0.410156 232.78125 0.410156 182.5 C 0.410156 132.21875 20.792969 86.695313 53.742188 53.742188 C 86.695313 20.789063 132.21875 0.410156 182.5 0.410156 C 232.78125 0.410156 278.304688 20.789063 311.257813 53.742188 C 344.210938 86.695313 364.589844 132.21875 364.589844 182.5 C 364.589844 232.78125 344.210938 278.304688 311.257813 311.257813 C 278.304688 344.210938 232.78125 364.589844 182.5 364.589844 L 182.5 365 C 283.292969 365 365 283.292969 365 182.5 C 365 81.707031 283.292969 0 182.5 0 C 81.707031 0 0 81.707031 0 182.5 C 0 283.292969 81.707031 365 182.5 365 L 182.5 364.796875 " /> </g> </symbol> <symbol id="pandora" viewBox="0 0 180 200"> <g id="bg"> <rect fill="#FFFFFF" width="180" height="200" /> </g> <g id="icons"> <g> <path fill="#019FEE" d="M160.7,74.2c-0.9-8.8-3.4-17.1-8.8-24.4c-4.1-5.6-9.4-9.8-15.6-13c-6-3-12.3-5-19-5.9l0,0 c-3.9-0.6-7.8-0.9-11.8-0.9H43.8c-0.4,0-0.7,0.3-0.7,0.7l0,0c0,46.1,0,92.2,0,138.3v0.1c0,0.4,0.3,0.7,0.7,0.7l0,0 c12.3,0,24.7,0,37,0c3.3,0,6-2.7,6.1-5.9c0-0.3,0-0.6,0-0.7c0-8.6,0-17.1,0-25.5v-0.3c0-0.4,0.3-0.7,0.7-0.7c0,0,0,0,0.1,0 c3.1,0,6.4,0,9.6,0c2.4,0,4.9,0,7.3-0.3c7.8-0.6,15.7-2,23.1-5c2.3-0.9,4.6-2,6.9-3.1c9-4.9,15.8-11.7,20.6-20.8 c2.3-4.6,3.9-9.4,4.9-14.6c0.6-2.7,0.9-5.4,1-8.3c0-0.1,0-0.1,0-0.3s0-0.1,0-0.3v-7c0,0,0,0,0-0.1C160.9,76,160.8,75.1,160.7,74.2 z" /> </g> </g> </symbol> <symbol id="pocket-casts" viewBox="0 0 39 36" style="enable-background:new 0 0 39 36;"> <g> <path fill="#F44336" d="M18,36c9.9,0,18-8,18-18S28,0,18,0S0,8,0,18S8,36,18,36L18,36L18,36z" /> <path fill="#FFFFFF" d="M17.8,27.1c-4.8-0.2-8.7-4.1-8.7-9c0-5,4.1-9,9-9s8.9,3.9,9,8.7c0,0.2,0.1,0.3,0.3,0.3H30 c0.2,0,0.3-0.1,0.3-0.3C30.1,11.2,24.7,5.9,18,5.9c-6.8,0-12.3,5.5-12.3,12.3c0,6.7,5.3,12.1,11.9,12.3c0.2,0,0.3-0.1,0.3-0.3v-2.6 C18.1,27.2,17.9,27.1,17.8,27.1L17.8,27.1L17.8,27.1z M18.1,11c-3.9,0-7.1,3.2-7.1,7.1c0,3.8,3,6.9,6.8,7.1c0.2,0,0.3-0.1,0.3-0.3 v-2.1c0-0.2-0.1-0.3-0.3-0.3c-2.3-0.2-4.1-2.1-4.1-4.4c0-2.4,2-4.4,4.4-4.4c2.3,0,4.2,1.8,4.4,4.1c0,0.2,0.2,0.3,0.3,0.3h2.1 c0.2,0,0.3-0.2,0.3-0.3C25,14,21.9,11,18.1,11L18.1,11L18.1,11z" /> </g> </symbol> <symbol id="rss" viewBox="0 0 12 12"> <path d="m1.59148 8.7795c-.878186.0032-1.58780186.71645-1.58566708 1.5938.00213478.8773.71521308 1.5871 1.59340708 1.5861.87819-.0011 1.58954-.7126 1.58955-1.59-.0032-.879-.71739-1.58991-1.59729-1.5899zm-1.59147997-4.7118v2.32108c1.48808997.00154 2.91461997.59358 3.96575997 1.64589 1.05115 1.05231 1.64082 2.47873 1.63927 3.96533h2.32333c.00464-2.10318-.82881-4.12172-2.31634-5.60999-1.48753-1.48826-3.5068-2.32386-5.61201997-2.32231zm0-4.06189726v2.32108726c5.33125997.00952 9.65431997 4.31803 9.67666997 9.64411h2.32333c-.0096-6.61422-5.37938-11.97100707-11.99999997-11.9710001z" fill="#257BBC" /> </symbol> <symbol id="spotify" viewBox="0 0 170.1 170.1" style="enable-background:new 0 0 170.1 170.1;" xml:space="preserve"> <g> <g> <g> <path fill="#1ED760" d="M85,1.3C38.8,1.3,1.3,38.8,1.3,85c0,46.3,37.5,83.7,83.7,83.7c46.3,0,83.7-37.5,83.7-83.7 C168.8,38.8,131.3,1.3,85,1.3z M123.4,122.1c-1.5,2.5-4.7,3.2-7.2,1.7c-19.7-12-44.4-14.7-73.6-8.1c-2.8,0.6-5.6-1.1-6.2-3.9 c-0.6-2.8,1.1-5.6,3.9-6.2c31.9-7.3,59.3-4.2,81.3,9.3C124.2,116.4,124.9,119.6,123.4,122.1z M133.7,99.3c-1.9,3.1-5.9,4-9,2.2 c-22.5-13.8-56.8-17.8-83.4-9.8c-3.5,1-7.1-0.9-8.1-4.3c-1-3.5,0.9-7.1,4.4-8.1c30.4-9.2,68.2-4.8,94.1,11.1 C134.6,92.2,135.6,96.2,133.7,99.3z M134.6,75.5c-27-16-71.5-17.5-97.3-9.7c-4.1,1.3-8.5-1.1-9.8-5.2c-1.3-4.1,1.1-8.5,5.2-9.8 c29.6-9,78.8-7.2,109.8,11.2c3.7,2.2,4.9,7,2.7,10.7C143.1,76.5,138.3,77.7,134.6,75.5z" /> </g> </g> </g> </symbol> <symbol id="stitcher" viewBox="0 0 122.88 51.61" style="enable-background:new 0 0 122.88 51.61"> <g> <polygon fill="#3590C5" points="0,10.14 21.5,10.14 21.5,49.15 0,49.15 0,10.14" /> <polygon fill="#C53827" points="101.38,7.99 122.88,7.99 122.88,43.93 101.38,43.93 101.38,7.99" /> <polygon fill="#EC8B24" points="76.19,0 97.69,0 97.69,46.7 76.19,46.7 76.19,0" /> <polygon fill="#FBC618" points="51,6.76 72.5,6.76 72.5,51.61 51,51.61 51,6.76" /> <polygon fill="#612268" points="25.5,3.07 47,3.07 47,46.39 25.5,46.39 25.5,3.07" /> </g> </symbol> <symbol id="tuneIn" viewBox="56 56 200 88" fill="none"> <g id="Logos"> <g id="Logo__x2013__Horizontal_1A_12_"> <g id="Logo_2_"> <path fill="#1C203C" d="M95,96.8v4c0,0.4-0.4,0.8-0.8,0.8h-5c-0.2,0-0.4,0.2-0.4,0.4v21.2c0,0.4-0.4,0.8-0.8,0.8h-4 c-0.4,0-0.8-0.4-0.8-0.8V102c0-0.2-0.2-0.4-0.4-0.4h-5c-0.4,0-0.8-0.4-0.8-0.8v-4c0-0.4,0.4-0.8,0.8-0.8h16.4 C94.6,96,95,96.4,95,96.8z M117,96h-4c-0.4,0-0.8,0.4-0.8,0.8v18.8c0,1.8-1.4,3.2-3.9,3.2c-2.4,0-3.8-1.4-3.8-3.2V96.8 c0-0.4-0.4-0.8-0.8-0.8h-4c-0.4,0-0.8,0.4-0.8,0.8v18.8c0,4.8,4,8.8,9.4,8.8c5.5,0,9.5-4,9.5-8.8V96.8 C117.8,96.4,117.4,96,117,96z M139.6,96h-4c-0.4,0-0.8,0.4-0.8,0.8v15c0,0.2-0.3,0.3-0.4,0.1l-5.5-15.2c-0.1-0.4-0.4-0.7-1-0.7 h-4.8c-0.4,0-0.8,0.4-0.8,0.8v26.4c0,0.4,0.4,0.8,0.8,0.8h4c0.4,0,0.8-0.4,0.8-0.8v-13.8c0-0.2,0.3-0.3,0.4-0.1l5.4,14 c0.1,0.3,0.4,0.7,1.1,0.7h4.7c0.4,0,0.8-0.4,0.8-0.8V96.8C140.4,96.4,140,96,139.6,96z M160.3,118.4h-9.5c-0.2,0-0.4-0.2-0.4-0.4 v-4.8c0-0.2,0.2-0.4,0.4-0.4h9c0.4,0,0.8-0.4,0.8-0.8v-4c0-0.4-0.4-0.8-0.8-0.8h-9c-0.2,0-0.4-0.2-0.4-0.4V102 c0-0.2,0.2-0.4,0.4-0.4h9.3c0.4,0,0.8-0.4,0.8-0.8v-4c0-0.4-0.4-0.8-0.8-0.8h-14.5c-0.4,0-0.8,0.4-0.8,0.8v26.4 c0,0.4,0.4,0.8,0.8,0.8h14.7c0.4,0,0.8-0.4,0.8-0.8v-4C161.1,118.8,160.7,118.4,160.3,118.4z M256,59v62c0,1.7-1.3,3-3,3h-69v17 c0,1.7-1.3,3-3,3H59c-1.7,0-3-1.3-3-3V79c0-1.7,1.3-3,3-3h119V59c0-1.7,1.3-3,3-3h72C254.7,56,256,57.3,256,59z M178,82H62.5 c-0.3,0-0.5,0.2-0.5,0.5v55c0,0.3,0.2,0.5,0.5,0.5h115c0.3,0,0.5-0.2,0.5-0.5V82z M213.8,99.4c0-0.4-0.4-0.8-0.8-0.8h-3.4 c-0.2,0-0.4-0.2-0.4-0.4V81.8c0-0.2,0.2-0.4,0.4-0.4h3c0.4,0,0.8-0.4,0.8-0.8v-3.8c0-0.4-0.4-0.8-0.8-0.8h-12.4 c-0.4,0-0.8,0.4-0.8,0.8v3.8c0,0.4,0.4,0.8,0.8,0.8h3c0.2,0,0.4,0.2,0.4,0.4v16.4c0,0.2-0.2,0.4-0.4,0.4h-3.4 c-0.4,0-0.8,0.4-0.8,0.8v3.8c0,0.4,0.4,0.8,0.8,0.8H213c0.4,0,0.8-0.4,0.8-0.8V99.4z M236.2,76.8c0-0.4-0.4-0.8-0.8-0.8h-4 c-0.4,0-0.8,0.4-0.8,0.8v15c0,0.2-0.3,0.3-0.4,0.1l-5.5-15.2c-0.1-0.4-0.4-0.7-1-0.7H219c-0.4,0-0.8,0.4-0.8,0.8v26.4 c0,0.4,0.4,0.8,0.8,0.8h4c0.4,0,0.8-0.4,0.8-0.8V89.4c0-0.2,0.3-0.3,0.4-0.1l5.4,14c0.1,0.3,0.4,0.7,1.1,0.7h4.7 c0.4,0,0.8-0.4,0.8-0.8V76.8z" /> </g> </g> </g> </symbol> <symbol id="check" viewBox="0 0 22 16" xmlns="http://www.w3.org/2000/svg"> <path d="M1 7.5 7.5 14l13-13" stroke-width="2" fill="none" fill-rule="evenodd" /> </symbol> <symbol id="calloutbox-icon-check" viewBox="0 0 22 16"> <path d="M1 7.5 7.5 14l13-13" stroke="#000" stroke-width="2" fill="none" fill-rule="evenodd" /> </symbol> <symbol id="calloutbox-icon-alert" viewBox="0 0 24 21"> <path d="M12 8.923v5.385m0 1.538v1.539M12 2l10 17.69H2L12 2z" stroke="#000" stroke-width="1.5" fill="none" fill-rule="evenodd" /> </symbol> <symbol id="calloutbox-icon-info" viewBox="0 0 22 22"> <path d="M11 6.385V4.846m0 12.308v-9.23M21 11c0 5.523-4.477 10-10 10S1 16.523 1 11 5.477 1 11 1s10 4.477 10 10z" stroke="#000" stroke-width="1.5" fill="none" fill-rule="evenodd" /> </symbol> <symbol id="icon-arrow-right" viewBox="0 0 15 11"> <g stroke="#74B900" stroke-width="2" fill="none" fill-rule="evenodd"> <path d="M13.232 5.504H.696M8.893 9.504l4.34-4-4.34-4" /> </g> </symbol> <symbol id="caret-up" viewBox="0 0 25 25"> <path d="m15.792 16.01 1.468-1.52-5.223-5.11-5.323 5.11 1.485 1.528 3.843-3.73z" fill="#000" fill-rule="nonzero" /> </symbol> <symbol id="caret-right" viewBox="0 0 25 25"> <path d="m15.792 16.01 1.468-1.52-5.223-5.11-5.323 5.11 1.485 1.528 3.843-3.73z" fill-rule="nonzero" transform="translate(25, 0) rotate(90)" /> </symbol> </svg> <bsp-header class="Page-header"> <div class="Page-header-hamburger-menu"> <div class="Page-header-hamburger-menu-wrapper"> <div class="Page-header-hamburger-menu-content"> <bsp-search class="Page-search" > <form action="https://docs.nvidia.com/search/index.html" method="GET"> <input type="text" name="term" placeholder="Search all documentation"> <input type="hidden" name="facet.subcollection[]" value="Technical Documentation"> <input type="hidden" name="facet.mimetype[]" value="webpage"> <button type="submit" aria-label="Submit Search"><span class="sr-only">Submit Search</span><svg height="12px" width="12px" viewBox="0 0 12 12"><use xlink:href="#icon-magnify"></use></svg></button></form></bsp-search> <nav class="Navigation"> <ul class="Navigation-items"> <li class="Navigation-items-item"><div class="NavigationItem"> <div class="NavigationItem-text"> <a href="https://developer.nvidia.com/" target="_blank" data-cms-ai="0">NVIDIA Developer</a> </div> </div> </li> <li class="Navigation-items-item"><div class="NavigationItem"> <div class="NavigationItem-text"> <a href="https://developer.nvidia.com/blog/" target="_blank" data-cms-ai="0">Blog</a> </div> </div> </li> <li class="Navigation-items-item"><div class="NavigationItem"> <div class="NavigationItem-text"> <a href="https://forums.developer.nvidia.com/" target="_blank" data-cms-ai="0">Forums</a> </div> </div> </li> <li class="Navigation-items-item"><div class="NavigationItem"> <div class="NavigationItem-text"> <a class="Button" data-theme="secondary" data-size="small" style="--button-border-radius: 0px" href="https://docs.nvidia.com/login" rel="nofollow noopener" data-cms-ai="0">Join</a> </div> </div> </li> </ul> </nav> </div> </div> </div> <div class="Page-header-bar"> <div class="Page-header-bar-logo"> <a aria-label="home page" href="/" data-cms-ai="0" > <img class="PageLogo-image" src="https://docscontent.nvidia.com/bf/6f/f2d5da4743aebb3dff0e6a6129ec/nvidia-docshub-logo-2.svg" alt="NVIDIA Documentation Home" width="280" > </a> <bsp-search class="Page-search" > <form action="https://docs.nvidia.com/search/index.html" method="GET"> <input type="text" name="term" placeholder="Search all documentation"> <input type="hidden" name="facet.subcollection[]" value="Technical Documentation"> <input type="hidden" name="facet.mimetype[]" value="webpage"> <button type="submit" aria-label="Submit Search"><span class="sr-only">Submit Search</span><svg height="12px" width="12px" viewBox="0 0 12 12"><use xlink:href="#icon-magnify"></use></svg></button></form></bsp-search> </div> <div class="Page-header-navigation"> <nav class="Navigation"> <ul class="Navigation-items"> <li class="Navigation-items-item"><div class="NavigationItem"> <div class="NavigationItem-text"> <a href="https://developer.nvidia.com/" target="_blank" data-cms-ai="0">NVIDIA Developer</a> </div> </div> </li> <li class="Navigation-items-item"><div class="NavigationItem"> <div class="NavigationItem-text"> <a href="https://developer.nvidia.com/blog/" target="_blank" data-cms-ai="0">Blog</a> </div> </div> </li> <li class="Navigation-items-item"><div class="NavigationItem"> <div class="NavigationItem-text"> <a href="https://forums.developer.nvidia.com/" target="_blank" data-cms-ai="0">Forums</a> </div> </div> </li> <li class="Navigation-items-item"><div class="NavigationItem"> <div class="NavigationItem-text"> <a class="Button" data-theme="secondary" data-size="small" style="--button-border-radius: 0px" href="https://docs.nvidia.com/login" rel="nofollow noopener" data-cms-ai="0">Join</a> </div> </div> </li> </ul> </nav> </div> <div class="Page-header-end"><button class="Page-header-menu-trigger" aria-expanded="false"><svg class="burger-menu"><use xlink:href="#burger-menu"></use></svg><svg class="close-x"><use xlink:href="#close-x"></use></svg><span class="label">Menu</span></button></div> </div> </bsp-header> <bsp-backtotop> <a href="#" class="Page-BackToTop" data-cms-ai="0"> <svg> <use href="#back-to-top-icon"></use> </svg> </a> </bsp-backtotop> <div class="Page-content"> <div class="PageHeading"> <div class="PageHeading-content-wrapper"> <div class="PageHeading-content"> <div class="PageHeading-title">DOCA Documentation v2.9.0</div> <bsp-search class="Page-search" data-search-header> <form action="https://docs.nvidia.com/search/index.html" method="GET" id="searchForm" onsubmit="InbookSearch(event)"> <input type="text" name="term" placeholder="Search DOCA Documentation v2.9.0"> <input type="hidden" name="facet.docs_book[]" value="DOCA Documentation v2.9.0"> <input type="hidden" name="facet.docs_version[]" value="DOCA SDK 2.9.0"> <input type="hidden" name="facet.subcollection[]" value="Technical Documentation"> <input type="hidden" name="facet.mimetype[]" value="webpage"> <button type="submit" aria-label="Submit Search"><span class="sr-only">Submit Search</span><svg height="12px" width="12px" viewBox="0 0 12 12"><use xlink:href="#icon-magnify"></use></svg></button><div id="nvidia-in-book-search-page-widget"></div></form><script> document.addEventListener("DOMContentLoaded", () => { if (!document.querySelector('script[src="https://images.nvidia.com/search-in-book/nvidia-in-book-search-page-widget.js"]')) { var script = document.createElement('script'); script.src = 'https://images.nvidia.com/search-in-book/nvidia-in-book-search-page-widget.js'; document.head.appendChild(script); } }) </script> <script> window.addEventListener("load", () => { NvidiaInBookSearchPageWidget.mount({ apiUrl: 'https://api-prod.nvidia.com/search/graphql', site: 'https://docs.nvidia.com', language: 'en-us', path: '/en-us/search/', searchParam: '', widgetPlacementId: '', queryParam: 'q', facets: 'mimetype, subcollection', facetValues: [], inBookSearch: true, modalPosition: {} }); }); function InbookSearch(event) { event.preventDefault(); NvidiaInBookSearchPageWidget.unmount(); NvidiaInBookSearchPageWidget.mount({ apiUrl: 'https://api-prod.nvidia.com/search/graphql', site: 'https://docs.nvidia.com', language: 'en-us', path: '/en-us/search/', searchParam: '', widgetPlacementId: '', queryParam: 'q', facets: 'mimetype, subcollection', facetValues: [], inBookSearch: true, modalPosition: {} }); } </script> </bsp-search> </div> </div> </div> <div class="Page-twoColumn" data-aside-left> <main class="Page-main" data-module > <bsp-search class="Page-search" mobile-only> <form action="https://docs.nvidia.com/search/index.html" method="GET" id="searchFormMob" onsubmit="InbookSearchMob(event)"> <input type="text" name="term" placeholder="Search DOCA Documentation v2.9.0"> <input type="hidden" name="facet.docs_book[]" value="DOCA Documentation v2.9.0"> <input type="hidden" name="facet.docs_version[]" value="DOCA SDK 2.9.0"> <input type="hidden" name="facet.subcollection[]" value="Technical Documentation"> <input type="hidden" name="facet.mimetype[]" value="webpage"> <button type="submit" aria-label="Submit Search"><span class="sr-only">Submit Search</span><svg height="12px" width="12px" viewBox="0 0 12 12"><use xlink:href="#icon-magnify"></use></svg></button><div id="nvidia-in-book-search-page-widget"></div></form><script> document.addEventListener("DOMContentLoaded", () => { if (!document.querySelector('script[src="https://images.nvidia.com/search-in-book/nvidia-in-book-search-page-widget.js"]')) { var script = document.createElement('script'); script.src = 'https://images.nvidia.com/search-in-book/nvidia-in-book-search-page-widget.js'; document.head.appendChild(script); } }) </script> <script> window.addEventListener("load", () => { NvidiaInBookSearchPageWidget.mount({ apiUrl: 'https://api-prod.nvidia.com/search/graphql', site: 'https://docs.nvidia.com', language: 'en-us', path: '/en-us/search/', searchParam: '', widgetPlacementId: '', queryParam: 'q', facets: 'mimetype, subcollection', facetValues: [], inBookSearch: true, modalPosition: {} }); }); function InbookSearchMob(event) { event.preventDefault(); NvidiaInBookSearchPageWidget.unmount(); NvidiaInBookSearchPageWidget.mount({ apiUrl: 'https://api-prod.nvidia.com/search/graphql', site: 'https://docs.nvidia.com', language: 'en-us', path: '/en-us/search/', searchParam: '', widgetPlacementId: '', queryParam: 'q', facets: 'mimetype, subcollection', facetValues: [], inBookSearch: true, modalPosition: {} }); } </script></bsp-search> <div class="Page-breadcrumbs"><a class="Link" href="https://docs.nvidia.com/" data-cms-ai="0" >NVIDIA Docs Hub</a> <svg class="chevron"><use xlink:href="#chevron"></use></svg> <a class="Link" href="https://docs.nvidia.com/networking/index.html" data-cms-ai="0" >NVIDIA Networking</a> <svg class="chevron"><use xlink:href="#chevron"></use></svg> <a class="Link" href="https://docs.nvidia.com/networking/dpu-doca/index.html" data-cms-ai="0" >BlueField DPUs / SuperNICs & DOCA</a> <svg class="chevron"><use xlink:href="#chevron"></use></svg> <a class="Link" href="https://docs.nvidia.com/doca/sdk/index.html" data-cms-ai="0" >DOCA Documentation v2.9.0</a> <svg class="chevron"><use xlink:href="#chevron"></use></svg> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+Flow+Tune+Tool/index.html" data-cms-ai="0" >NVIDIA DOCA Flow Tune Tool</a><hr class="breadcrumb-divider"/> </div> <div class="TopicPage-actions"> <span class="TopicPage-version">DOCA SDK 2.9.0<span class="TopicPage-separator"></span></span> <a class="Link" href="https://docs.nvidia.com/doca/sdk/nvidia-doca-flow-tune-tool.pdf" data-cms-ai="0" >Download PDF</a> </div> <div class="Page-toc"> <h4 class="Page-toc-heading">On This Page</h4> <ul> <li><a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-Introduction" data-cms-ai="0" >Introduction</a> <ul> <li><a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-MonitorModeOverview" data-cms-ai="0" >Monitor Mode Overview</a></li> <li><a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-AnalyzeModeOverview" data-cms-ai="0" >Analyze Mode Overview</a></li> <li><a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-VisualizeModeOverview" data-cms-ai="0" >Visualize Mode Overview</a></li> </ul></li> <li><a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-Dependencies" data-cms-ai="0" >Dependencies</a></li> <li><a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-Prerequisites" data-cms-ai="0" >Prerequisites</a></li> <li><a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-Execution" data-cms-ai="0" >Execution</a> <ul> <li><a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-MonitorCommand" data-cms-ai="0" >Monitor Command</a> <ul> <li><a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-CLIExamples" data-cms-ai="0" >CLI Examples</a></li> </ul></li> <li><a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-AnalyzeCommand" data-cms-ai="0" >Analyze Command</a> <ul> <li><a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-CLIExamples.1" data-cms-ai="0" >CLI Examples</a></li> </ul></li> <li><a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-VisualizeCommand" data-cms-ai="0" >Visualize Command</a> <ul> <li><a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-CLIExamples.2" data-cms-ai="0" >CLI Examples</a></li> </ul></li> </ul></li> <li><a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-Configuration" data-cms-ai="0" >Configuration</a> <ul> <li><a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-ConfigFileDefaultValues" data-cms-ai="0" >Config File Default Values</a></li> <li><a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-CustomConfigFile" data-cms-ai="0" >Custom Config File</a></li> <li><a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-OverridingConfigValuesfromCLI" data-cms-ai="0" >Overriding Config Values from CLI</a></li> <li><a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-CommonConfigurationValues" data-cms-ai="0" >Common Configuration Values</a> <ul> <li><a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-OutputDirectory" data-cms-ai="0" >Output Directory</a></li> <li><a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-ConnectiontoDOCAFlowTuneServer" data-cms-ai="0" >Connection to DOCA Flow Tune Server</a></li> </ul></li> </ul></li> <li><a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-MonitorMode" data-cms-ai="0" >Monitor Mode</a> <ul> <li><a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-HardwareCounters" data-cms-ai="0" >Hardware Counters</a></li> <li><a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-SoftwareKeyPerformanceIndicators" data-cms-ai="0" >Software Key Performance Indicators</a></li> <li><a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-Configuration.1" data-cms-ai="0" >Configuration</a> <ul> <li><a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-CSVFormat" data-cms-ai="0" >CSV Format</a></li> <li><a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-ConfigurationFileConfigurationFile" data-cms-ai="0" >Configuration File</a></li> </ul></li> </ul></li> <li><a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-AnalyzeMode" data-cms-ai="0" >Analyze Mode</a> <ul> <li><a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-PipelineExport" data-cms-ai="0" >Pipeline Export</a></li> </ul></li> <li><a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-VisualizeMode" data-cms-ai="0" >Visualize Mode</a> <ul> <li><a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-ViewingthePipeline" data-cms-ai="0" >Viewing the Pipeline</a></li> <li><a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-ReadingtheVisualization" data-cms-ai="0" >Reading the Visualization</a> <ul> <li><a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-InputGraph" data-cms-ai="0" >Input Graph</a></li> <li><a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-PipelineGraph" data-cms-ai="0" >Pipeline Graph</a></li> <li><a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-OutputGraph" data-cms-ai="0" >Output Graph</a></li> </ul></li> </ul></li> <li><a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-Troubleshooting" data-cms-ai="0" >Troubleshooting</a> <ul> <li><a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-Telemetryfwctldriverisnotloaded" data-cms-ai="0" >Telemetry fwctl driver is not loaded</a> <ul> <li><a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-Error" data-cms-ai="0" >Error</a></li> <li><a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-Solution" data-cms-ai="0" >Solution</a></li> </ul></li> <li><a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-MermaidvisualizationinVisualStudioCode" data-cms-ai="0" >Mermaid visualization in Visual Studio Code</a></li> <li><a class="Link" href="#src-3167311114_safe-id-aWQtLk5WSURJQURPQ0FGbG93VHVuZVRvb2x2Mi45LjBMVFMtTGltaXRlZGZlYXR1cmVzZXTigJNjb3VsZG5vdGRldGVjdGFydW5uaW5nRE9DQUZsb3dwcm9ncmFt" data-cms-ai="0" >Limited feature set – could not detect a running DOCA Flow program</a> <ul> <li><a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-Error.1" data-cms-ai="0" >Error</a></li> <li><a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-Solution.1" data-cms-ai="0" >Solution</a></li> </ul></li> </ul></li> <li><a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-Appendix" data-cms-ai="0" >Appendix – Configuration File Example</a></li> </ul> </div> <div class="Page-articleBody"> <bsp-book-content> <main class="RichTextArticleBody RichTextBody cookies"> <h1><a href="#" data-cms-ai="0">NVIDIA DOCA Flow Tune Tool</a></h1> <div class="StepModule" data-module><span class="StepModule-anchor" id="ce5232ce-0d57-4976-ae71-24fb95098501"></span> <div class="StepModule-body RichTextBody"> <p> DOCA Flow Tune is a powerful, one-stop-shop solution, providing visibility and analysis capabilities for DOCA Flow programs. </p> </div> </div> <div class="StepModule" data-module><span class="StepModule-anchor" id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-Introduction"></span> <div class="StepModuleHeader"><h2 class="StepModuleHeader-title"><a class="StepModuleHeader-anchorLink" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-Introduction" data-cms-ai="0">Introduction</a></h2> <div class="StepModuleHeader-divider"></div></div> <div class="StepModule-body RichTextBody"> <div class="CallOutBox" data-option-Info> <div class="CallOutBox-icon"><svg><use xlink:href="#calloutbox-icon-info"></use></svg> </div><div class="CallOutBox-title">Info</div> <div class="CallOutBox-body"> <p> DOCA Flow Tune is supported at alpha level. </p> </div> </div> <p> </p><p>DOCA Flow Tune is a one-stop-shop solution which allows developers to visualize their traffic steering pipelines, have a live monitor of software Key Performance Indicators (KPIs) as well as hardware counters, and gain valuable performance insights about their DOCA-Flow-based program.</p> <p>DOCA Flow Tune is especially useful for the following scenarios:</p> <ul class=" "><li class=" "><p>Aiding developers during the development of their traffic steering pipeline by providing visualization of the pipeline, and later also performance insights about the designed pipeline</p> </li><li class=" "><p>Aiding developers in pre-production environment by providing live monitoring of the performance indicators of the program on both software and hardware levels, and helping detect possible bottlenecks/critical paths so they are addressed before deployment to production environments</p> </li><li class=" "><p>Aiding administrators monitor the program in production by providing live monitoring as well as high-rate hardware counters to be used when analyzing a possible deployment/setup issue</p> </li></ul><p>The tool operates in three distinct modes, Monitor, Analyze, and Visualize, which are presented in the following subsections.</p> <div class="CallOutBox" data-option-Note> <div class="CallOutBox-icon"><svg><use xlink:href="#calloutbox-icon-check"></use></svg> </div><div class="CallOutBox-title">Note</div> <div class="CallOutBox-body"> <p>Collecting, analyzing, and displaying information from the analyzed DOCA-Flow-based program requires the explicit activation of the DOCA Flow Tune server by the target program. For more information about that, please refer to the <a class="Link" href="/doca/sdk/DOCA+Flow+Tune+Server" data-cms-ai="0" >DOCA Flow Tune Server</a> programming guide.</p> </div> </div> <p> </p> <h2 id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-MonitorModeOverview"> <a href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-MonitorModeOverview" data-cms-ai="0">Monitor Mode Overview</a> </h2> <p>This mode collects and displays both hardware counters and software KPIs in real time (as extracted from the running DOCA Flow program and the underlying setup), providing a comprehensive view of the system's performance:</p> <p></p><p></p><div class="Enhancement" data-align-inline > <div class="Enhancement-item"> <figure class="Figure"> <picture> <source type="image/webp" width="935" height="633" srcset="https://docscontent.nvidia.com/dims4/default/8682217/2147483647/strip/true/crop/935x633+0+0/resize/935x633!/format/webp/quality/90/?url=https%3A%2F%2Fk3-prod-nvidia-docs.s3.us-west-2.amazonaws.com%2Fbrightspot%2Fconfluence%2F00000193-44fd-ddc9-adbf-e6ffd7010000%2Fdoca%2Fsdk%2Fimages%2Fdownload%2Fattachments%2F3167311114%2Fimage-2024-10-7_11-52-45-version-1-modificationdate-1728291165693-api-v2.png 1x,https://docscontent.nvidia.com/dims4/default/c52d247/2147483647/strip/true/crop/935x633+0+0/resize/1870x1266!/format/webp/quality/90/?url=https%3A%2F%2Fk3-prod-nvidia-docs.s3.us-west-2.amazonaws.com%2Fbrightspot%2Fconfluence%2F00000193-44fd-ddc9-adbf-e6ffd7010000%2Fdoca%2Fsdk%2Fimages%2Fdownload%2Fattachments%2F3167311114%2Fimage-2024-10-7_11-52-45-version-1-modificationdate-1728291165693-api-v2.png 2x"> <source type="image/png" width="935" height="633" srcset="https://docscontent.nvidia.com/dims4/default/787401d/2147483647/strip/true/crop/935x633+0+0/resize/935x633!/quality/90/?url=https%3A%2F%2Fk3-prod-nvidia-docs.s3.us-west-2.amazonaws.com%2Fbrightspot%2Fconfluence%2F00000193-44fd-ddc9-adbf-e6ffd7010000%2Fdoca%2Fsdk%2Fimages%2Fdownload%2Fattachments%2F3167311114%2Fimage-2024-10-7_11-52-45-version-1-modificationdate-1728291165693-api-v2.png"> <img class="Image" alt="image-2024-10-7_11-52-45-version-1-modificationdate-1728291165693-api-v2.png" srcset="https://docscontent.nvidia.com/dims4/default/787401d/2147483647/strip/true/crop/935x633+0+0/resize/935x633!/quality/90/?url=https%3A%2F%2Fk3-prod-nvidia-docs.s3.us-west-2.amazonaws.com%2Fbrightspot%2Fconfluence%2F00000193-44fd-ddc9-adbf-e6ffd7010000%2Fdoca%2Fsdk%2Fimages%2Fdownload%2Fattachments%2F3167311114%2Fimage-2024-10-7_11-52-45-version-1-modificationdate-1728291165693-api-v2.png 1x,https://docscontent.nvidia.com/dims4/default/9721781/2147483647/strip/true/crop/935x633+0+0/resize/1870x1266!/quality/90/?url=https%3A%2F%2Fk3-prod-nvidia-docs.s3.us-west-2.amazonaws.com%2Fbrightspot%2Fconfluence%2F00000193-44fd-ddc9-adbf-e6ffd7010000%2Fdoca%2Fsdk%2Fimages%2Fdownload%2Fattachments%2F3167311114%2Fimage-2024-10-7_11-52-45-version-1-modificationdate-1728291165693-api-v2.png 2x" width="935" height="633" src="https://docscontent.nvidia.com/dims4/default/787401d/2147483647/strip/true/crop/935x633+0+0/resize/935x633!/quality/90/?url=https%3A%2F%2Fk3-prod-nvidia-docs.s3.us-west-2.amazonaws.com%2Fbrightspot%2Fconfluence%2F00000193-44fd-ddc9-adbf-e6ffd7010000%2Fdoca%2Fsdk%2Fimages%2Fdownload%2Fattachments%2F3167311114%2Fimage-2024-10-7_11-52-45-version-1-modificationdate-1728291165693-api-v2.png"> </picture> </figure> </div> </div><p> </p><p>This information can also be exported to a CSV file for further analysis.</p> <div class="CallOutBox" data-option-Info> <div class="CallOutBox-icon"><svg><use xlink:href="#calloutbox-icon-info"></use></svg> </div><div class="CallOutBox-title">Info</div> <div class="CallOutBox-body"> <p>For more information about this mode, please refer to section "<a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-MonitorMode" data-cms-ai="0" >Monitor Mode</a>".</p> </div> </div> <p> </p> <div class="CallOutBox" data-option-Info> <div class="CallOutBox-icon"><svg><use xlink:href="#calloutbox-icon-info"></use></svg> </div><div class="CallOutBox-title">Info</div> <div class="CallOutBox-body"> <p>For information about running DOCA Flow Tune in this mode, please refer to section "<a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-MonitorCommand" data-cms-ai="0" >Monitor Command</a>".</p> </div> </div> <p> <br> </p> <h2 id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-AnalyzeModeOverview"> <a href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-AnalyzeModeOverview" data-cms-ai="0">Analyze Mode Overview</a> </h2> <p>The analyze mode supports the ability to dump the internal steering pipeline state to be used by Visualize mode.</p> <div class="CallOutBox" data-option-Info> <div class="CallOutBox-icon"><svg><use xlink:href="#calloutbox-icon-info"></use></svg> </div><div class="CallOutBox-title">Info</div> <div class="CallOutBox-body"> <p>For more information about this mode, please refer to section "<a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-AnalyzeMode" data-cms-ai="0" >Analyze Mode</a>".</p> </div> </div> <p> </p> <div class="CallOutBox" data-option-Info> <div class="CallOutBox-icon"><svg><use xlink:href="#calloutbox-icon-info"></use></svg> </div><div class="CallOutBox-title">Info</div> <div class="CallOutBox-body"> <p>For more information about running DOCA Flow Tune in this mode, please refer to section "<a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-AnalyzeCommand" data-cms-ai="0" >Analyze Command</a>".</p> </div> </div> <p> <br> </p> <h2 id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-VisualizeModeOverview"> <a href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-VisualizeModeOverview" data-cms-ai="0">Visualize Mode Overview</a> </h2> <p>This mode allows users to produce a graphical representation of their steering pipeline (as built using the DOCA Flow API), allowing developers to quickly understand their program's pipeline, and compare it with their intended architecture.</p> <p>The following is an example from the <a class="Link" href="/doca/sdk/NVIDIA+DOCA+PSP+Gateway+Application+Guide" data-cms-ai="0" >DOCA PSP Gateway</a> reference application:</p> <p></p><p></p><div class="Enhancement" data-align-inline > <div class="Enhancement-item"> <figure class="Figure"> <picture> <source type="image/webp" width="1440" height="609" srcset="https://docscontent.nvidia.com/dims4/default/3bef604/2147483647/strip/true/crop/3463x1465+0+0/resize/1440x609!/format/webp/quality/90/?url=https%3A%2F%2Fk3-prod-nvidia-docs.s3.us-west-2.amazonaws.com%2Fbrightspot%2Fconfluence%2F00000193-44fd-ddc9-adbf-e6ffd7010000%2Fdoca%2Fsdk%2Fimages%2Fdownload%2Fattachments%2F3167311114%2Fpsp_gateway-version-1-modificationdate-1727347900950-api-v2.png 1x,https://docscontent.nvidia.com/dims4/default/c8ec032/2147483647/strip/true/crop/3463x1465+0+0/resize/2880x1218!/format/webp/quality/90/?url=https%3A%2F%2Fk3-prod-nvidia-docs.s3.us-west-2.amazonaws.com%2Fbrightspot%2Fconfluence%2F00000193-44fd-ddc9-adbf-e6ffd7010000%2Fdoca%2Fsdk%2Fimages%2Fdownload%2Fattachments%2F3167311114%2Fpsp_gateway-version-1-modificationdate-1727347900950-api-v2.png 2x"> <source type="image/png" width="1440" height="609" srcset="https://docscontent.nvidia.com/dims4/default/13fbd88/2147483647/strip/true/crop/3463x1465+0+0/resize/1440x609!/quality/90/?url=https%3A%2F%2Fk3-prod-nvidia-docs.s3.us-west-2.amazonaws.com%2Fbrightspot%2Fconfluence%2F00000193-44fd-ddc9-adbf-e6ffd7010000%2Fdoca%2Fsdk%2Fimages%2Fdownload%2Fattachments%2F3167311114%2Fpsp_gateway-version-1-modificationdate-1727347900950-api-v2.png"> <img class="Image" alt="psp_gateway-version-1-modificationdate-1727347900950-api-v2.png" srcset="https://docscontent.nvidia.com/dims4/default/13fbd88/2147483647/strip/true/crop/3463x1465+0+0/resize/1440x609!/quality/90/?url=https%3A%2F%2Fk3-prod-nvidia-docs.s3.us-west-2.amazonaws.com%2Fbrightspot%2Fconfluence%2F00000193-44fd-ddc9-adbf-e6ffd7010000%2Fdoca%2Fsdk%2Fimages%2Fdownload%2Fattachments%2F3167311114%2Fpsp_gateway-version-1-modificationdate-1727347900950-api-v2.png 1x,https://docscontent.nvidia.com/dims4/default/79b2e3d/2147483647/strip/true/crop/3463x1465+0+0/resize/2880x1218!/quality/90/?url=https%3A%2F%2Fk3-prod-nvidia-docs.s3.us-west-2.amazonaws.com%2Fbrightspot%2Fconfluence%2F00000193-44fd-ddc9-adbf-e6ffd7010000%2Fdoca%2Fsdk%2Fimages%2Fdownload%2Fattachments%2F3167311114%2Fpsp_gateway-version-1-modificationdate-1727347900950-api-v2.png 2x" width="1440" height="609" src="https://docscontent.nvidia.com/dims4/default/13fbd88/2147483647/strip/true/crop/3463x1465+0+0/resize/1440x609!/quality/90/?url=https%3A%2F%2Fk3-prod-nvidia-docs.s3.us-west-2.amazonaws.com%2Fbrightspot%2Fconfluence%2F00000193-44fd-ddc9-adbf-e6ffd7010000%2Fdoca%2Fsdk%2Fimages%2Fdownload%2Fattachments%2F3167311114%2Fpsp_gateway-version-1-modificationdate-1727347900950-api-v2.png"> </picture> </figure> </div> </div><p> </p><p>This schema shows the program's pipeline state at the time of query. This figure is read left-to-right and represents the possible packet flow in the defined pipeline.</p> <div class="CallOutBox" data-option-Info> <div class="CallOutBox-icon"><svg><use xlink:href="#calloutbox-icon-info"></use></svg> </div><div class="CallOutBox-title">Info</div> <div class="CallOutBox-body"> <p>For more information about this mode, please refer to section "<a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-VisualizeMode" data-cms-ai="0" >Visualize Mode</a>".</p> </div> </div> <p> </p> <p></p><p></p><p></p> <div class="CallOutBox" data-option-Info> <div class="CallOutBox-icon"><svg><use xlink:href="#calloutbox-icon-info"></use></svg> </div><div class="CallOutBox-title">Info</div> <div class="CallOutBox-body"> <p>For more information on running DOCA Flow Tune in this mode, please refer to section "<a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-VisualizeCommand" data-cms-ai="0" >Visualize Command</a>".</p> </div> </div> <p> <br> </p> </div> </div> <div class="StepModule" data-module><span class="StepModule-anchor" id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-Dependencies"></span> <div class="StepModuleHeader"><h2 class="StepModuleHeader-title"><a class="StepModuleHeader-anchorLink" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-Dependencies" data-cms-ai="0">Dependencies</a></h2> <div class="StepModuleHeader-divider"></div></div> <div class="StepModule-body RichTextBody"> <p>DOCA Flow Tune depends on the following DOCA SDK libraries:</p> <ul class=" "><li class=" "><p><a class="Link" href="/doca/sdk/DOCA+Flow" data-cms-ai="0" >DOCA Flow</a></p> </li><li class=" "><p><a class="Link" href="/doca/sdk/DOCA+Telemetry" data-cms-ai="0" >DOCA Telemetry</a></p> </li></ul> </div> </div> <div class="StepModule" data-module><span class="StepModule-anchor" id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-Prerequisites"></span> <div class="StepModuleHeader"><h2 class="StepModuleHeader-title"><a class="StepModuleHeader-anchorLink" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-Prerequisites" data-cms-ai="0">Prerequisites</a></h2> <div class="StepModuleHeader-divider"></div></div> <div class="StepModule-body RichTextBody"> <ul class=" "><li class=" "><p>DOCA 2.9.0 and higher.</p> </li><li class=" "><p>For optimal experience, it is recommended to comply with the prerequisites of all the listed <a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-Dependencies" data-cms-ai="0" >dependencies</a>, and especially with their recommended firmware versions.</p> </li></ul> </div> </div> <div class="StepModule" data-module><span class="StepModule-anchor" id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-Execution"></span> <div class="StepModuleHeader"><h2 class="StepModuleHeader-title"><a class="StepModuleHeader-anchorLink" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-Execution" data-cms-ai="0">Execution</a></h2> <div class="StepModuleHeader-divider"></div></div> <div class="StepModule-body RichTextBody"> <p>To execute DOCA Flow Tune tool:</p><bsp-code-block class="CodeBlock" data-module="standard" data-language="text/plain" data-noAnnotations > <div class="CodeBlock-wrapper"> <div class="CodeBlock-copy"> <div class="CodeBlock-copy-message"> <div class="CodeBlock-copy-message-prompt">Copy</div> <div class="CodeBlock-copy-message-done">Copied!</div> </div> <div class="CodeBlock-copy-button"> <div class="CodeBlock-copy-icon"> <svg class="done"><use xlink:href="#check"></use></svg> </div> </div> </div> <pre id="play" class="language- " plain-text data-line=""> <div class="CodeBlock-lineNumbers"></div> <code><p>Usage: doca_flow_tune [Program Commands] [DOCA Flags] [Program Flags] Program Commands: analyze Run Flow Tune in Analyze mode monitor Run Flow Tune in Monitor mode visualize Run Flow Tune in Visualize mode DOCA Flags: -h, --help Print a help synopsis -v, --version Print program version information -l, --log-level Set the (numeric) log level <code class="keyword">for</code> the program <<code class="value">10</code>=DISABLE, <code class="value">20</code>=CRITICAL, <code class="value">30</code>=ERROR, <code class="value">40</code>=WARNING, <code class="value">50</code>=INFO, <code class="value">60</code>=DEBUG, <code class="value">70</code>=TRACE> --sdk-log-level Set the SDK (numeric) log level <code class="keyword">for</code> the program <<code class="value">10</code>=DISABLE, <code class="value">20</code>=CRITICAL, <code class="value">30</code>=ERROR, <code class="value">40</code>=WARNING, <code class="value">50</code>=INFO, <code class="value">60</code>=DEBUG, <code class="value">70</code>=TRACE> -j, --json <path> Parse all command flags from an input json file</p></code> </pre> </div> </bsp-code-block> <p> </p> <p style="text-align:left;"></p><p></p><p></p> <div class="CallOutBox" data-option-Info> <div class="CallOutBox-icon"><svg><use xlink:href="#calloutbox-icon-info"></use></svg> </div><div class="CallOutBox-title">Info</div> <div class="CallOutBox-body"> <p style="text-align:left;">This usage printout can be printed to the command line interface (CLI) using the <code class="InlineCodeBlock"><span>-h</span></code> (or <code class="InlineCodeBlock"><span>--help</span></code>) option:</p><bsp-code-block class="CodeBlock" data-module="standard" data-language="text/plain" data-noAnnotations > <div class="CodeBlock-wrapper"> <div class="CodeBlock-copy"> <div class="CodeBlock-copy-message"> <div class="CodeBlock-copy-message-prompt">Copy</div> <div class="CodeBlock-copy-message-done">Copied!</div> </div> <div class="CodeBlock-copy-button"> <div class="CodeBlock-copy-icon"> <svg class="done"><use xlink:href="#check"></use></svg> </div> </div> </div> <pre id="play" class="language- " plain-text data-line=""> <div class="CodeBlock-lineNumbers"></div> <code><p>doca_flow_tune -h</p></code> </pre> </div> </bsp-code-block> <p> </p> <p class="auto-cursor-target">The same applies for each of the tool's commands (and subcommands). For instance:</p><bsp-code-block class="CodeBlock" data-module="standard" data-language="text/plain" data-noAnnotations > <div class="CodeBlock-wrapper"> <div class="CodeBlock-copy"> <div class="CodeBlock-copy-message"> <div class="CodeBlock-copy-message-prompt">Copy</div> <div class="CodeBlock-copy-message-done">Copied!</div> </div> <div class="CodeBlock-copy-button"> <div class="CodeBlock-copy-icon"> <svg class="done"><use xlink:href="#check"></use></svg> </div> </div> </div> <pre id="play" class="language- " plain-text data-line=""> <div class="CodeBlock-lineNumbers"></div> <code><p>doca_flow_tune monitor -h</p></code> </pre> </div> </bsp-code-block> <p> </p> </div> </div> <p> </p> <h2 id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-MonitorCommand"> <a href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-MonitorCommand" data-cms-ai="0"><span id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-MonitorCommand" class="confluence-anchor-link"></span>Monitor Command</a> </h2> <p>The <code class="InlineCodeBlock"><span>monitor</span></code> command presents software KPIs and hardware counters. Each component offers various options, which can be specified in the <a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-ConfigurationFile" data-cms-ai="0" >configuration file</a> under the <code class="InlineCodeBlock"><span>monitor</span></code> section, or through the CLI.</p><bsp-code-block class="CodeBlock" data-module="standard" data-language="text/plain" data-noAnnotations > <div class="CodeBlock-wrapper"> <div class="CodeBlock-copy"> <div class="CodeBlock-copy-message"> <div class="CodeBlock-copy-message-prompt">Copy</div> <div class="CodeBlock-copy-message-done">Copied!</div> </div> <div class="CodeBlock-copy-button"> <div class="CodeBlock-copy-icon"> <svg class="done"><use xlink:href="#check"></use></svg> </div> </div> </div> <pre id="play" class="language- " plain-text data-line=""> <div class="CodeBlock-lineNumbers"></div> <code><p>Usage: doca_flow_tune monitor [Program Commands] [DOCA Flags] [Program Flags] Program Commands: background Collect software key performance indicators and hardware counters on the background DOCA Flags: -h, --help Print a help synopsis -l, --log-level Set the (numeric) log level <code class="keyword">for</code> the program <<code class="value">10</code>=DISABLE, <code class="value">20</code>=CRITICAL, <code class="value">30</code>=ERROR, <code class="value">40</code>=WARNING, <code class="value">50</code>=INFO, <code class="value">60</code>=DEBUG, <code class="value">70</code>=TRACE> --sdk-log-level Set the SDK (numeric) log level <code class="keyword">for</code> the program <<code class="value">10</code>=DISABLE, <code class="value">20</code>=CRITICAL, <code class="value">30</code>=ERROR, <code class="value">40</code>=WARNING, <code class="value">50</code>=INFO, <code class="value">60</code>=DEBUG, <code class="value">70</code>=TRACE> Program Flags: --enable-csv Enable dumping data to CSV file --disable-csv Disable dumping data to CSV file --csv-file-name CSV file name to create --hw-profile Register hardware profile {basic, full} --sw-profile Register software profile -f, --cfg-file JSON configuration file</p></code> </pre> </div> </bsp-code-block> <p> </p> <p>Supported sub-commands:</p> <ul class=" "><li class=" "><p class="auto-cursor-target"><code class="InlineCodeBlock"><span>background</span></code> – This subcommand allows performing CSV dumping without displaying the output on the screen. This is useful for scenarios where one wants to log counters without cluttering the terminal. It also supports high-rate dumping for hardware counters which may be activated using the <code class="InlineCodeBlock"><span>--high-rate</span></code> flag.</p><bsp-code-block class="CodeBlock" data-module="standard" data-language="text/plain" data-noAnnotations > <div class="CodeBlock-wrapper"> <div class="CodeBlock-copy"> <div class="CodeBlock-copy-message"> <div class="CodeBlock-copy-message-prompt">Copy</div> <div class="CodeBlock-copy-message-done">Copied!</div> </div> <div class="CodeBlock-copy-button"> <div class="CodeBlock-copy-icon"> <svg class="done"><use xlink:href="#check"></use></svg> </div> </div> </div> <pre id="play" class="language- " plain-text data-line=""> <div class="CodeBlock-lineNumbers"></div> <code><p>Usage: doca_flow_tune monitor background [DOCA Flags] [Program Flags] DOCA Flags: -h, --help Print a help synopsis -l, --log-level Set the (numeric) log level <code class="keyword">for</code> the program <<code class="value">10</code>=DISABLE, <code class="value">20</code>=CRITICAL, <code class="value">30</code>=ERROR, <code class="value">40</code>=WARNING, <code class="value">50</code>=INFO, <code class="value">60</code>=DEBUG, <code class="value">70</code>=TRACE> --sdk-log-level Set the SDK (numeric) log level <code class="keyword">for</code> the program <<code class="value">10</code>=DISABLE, <code class="value">20</code>=CRITICAL, <code class="value">30</code>=ERROR, <code class="value">40</code>=WARNING, <code class="value">50</code>=INFO, <code class="value">60</code>=DEBUG, <code class="value">70</code>=TRACE> Program Flags: --high-rate Enable dumping hardware counters data to CSV file in high rate --hw-profile Register hardware profile {basic, full} --sw-profile Register software profile</p></code> </pre> </div> </bsp-code-block> <p> </p> </li></ul> <h3 id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-CLIExamples"> <a href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-CLIExamples" data-cms-ai="0">CLI Examples</a> </h3> <ul class=" "><li class=" "><p class="auto-cursor-target">To launch the <code class="InlineCodeBlock"><span>monitor</span></code> command with a given configuration file:</p><bsp-code-block class="CodeBlock" data-module="standard" data-language="text/plain" data-noAnnotations > <div class="CodeBlock-wrapper"> <div class="CodeBlock-copy"> <div class="CodeBlock-copy-message"> <div class="CodeBlock-copy-message-prompt">Copy</div> <div class="CodeBlock-copy-message-done">Copied!</div> </div> <div class="CodeBlock-copy-button"> <div class="CodeBlock-copy-icon"> <svg class="done"><use xlink:href="#check"></use></svg> </div> </div> </div> <pre id="play" class="language- " plain-text data-line=""> <div class="CodeBlock-lineNumbers"></div> <code><p>doca_flow_tune monitor -f /tmp/flow_tune_cfg.json</p></code> </pre> </div> </bsp-code-block> <p> </p> </li><li class=" "><p class="auto-cursor-target">To launch the <code class="InlineCodeBlock"><span>monitor</span></code> command with both a given configuration file and a CLI parameter for specifying the desired hardware counters profile:</p><bsp-code-block class="CodeBlock" data-module="standard" data-language="text/plain" data-noAnnotations > <div class="CodeBlock-wrapper"> <div class="CodeBlock-copy"> <div class="CodeBlock-copy-message"> <div class="CodeBlock-copy-message-prompt">Copy</div> <div class="CodeBlock-copy-message-done">Copied!</div> </div> <div class="CodeBlock-copy-button"> <div class="CodeBlock-copy-icon"> <svg class="done"><use xlink:href="#check"></use></svg> </div> </div> </div> <pre id="play" class="language- " plain-text data-line=""> <div class="CodeBlock-lineNumbers"></div> <code><p>doca_flow_tune monitor -f /tmp/flow_tune_cfg.json --hw-profile basic</p></code> </pre> </div> </bsp-code-block> <p> </p> </li><li class=" "><p class="auto-cursor-target">To launch the <code class="InlineCodeBlock"><span>monitor</span></code> command with the <code class="InlineCodeBlock"><span>background</span></code> subcommand and the request to perform a high rate collection and export for the hardware counters:</p><bsp-code-block class="CodeBlock" data-module="standard" data-language="text/plain" data-noAnnotations > <div class="CodeBlock-wrapper"> <div class="CodeBlock-copy"> <div class="CodeBlock-copy-message"> <div class="CodeBlock-copy-message-prompt">Copy</div> <div class="CodeBlock-copy-message-done">Copied!</div> </div> <div class="CodeBlock-copy-button"> <div class="CodeBlock-copy-icon"> <svg class="done"><use xlink:href="#check"></use></svg> </div> </div> </div> <pre id="play" class="language- " plain-text data-line=""> <div class="CodeBlock-lineNumbers"></div> <code><p>doca_flow_tune monitor -f /tmp/flow_tune_cfg.json background --high-rate</p></code> </pre> </div> </bsp-code-block> <p> </p> <div class="CallOutBox" data-option-Note> <div class="CallOutBox-icon"><svg><use xlink:href="#calloutbox-icon-check"></use></svg> </div><div class="CallOutBox-title">Note</div> <div class="CallOutBox-body"> <p>The tool silently creates and updates the <code class="InlineCodeBlock"><span>flow_tune.csv</span></code> file.</p> </div> </div> <p> </p> </li></ul><p> </p> <h2 id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-AnalyzeCommand"> <a href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-AnalyzeCommand" data-cms-ai="0"><span id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-AnalyzeCommand" class="confluence-anchor-link"></span>Analyze Command</a> </h2> <p>The <code class="InlineCodeBlock"><span>analyze</span></code> command runs a specified set of analysis methods over the target DOCA Flow program. The analysis supports the ability to export a JSON description of the steering pipeline, as is used by the <code class="InlineCodeBlock"><span>visualize</span></code> command, and could later be used for future analysis methods (both online or offline).</p><bsp-code-block class="CodeBlock" data-module="standard" data-language="text/plain" data-noAnnotations > <div class="CodeBlock-wrapper"> <div class="CodeBlock-copy"> <div class="CodeBlock-copy-message"> <div class="CodeBlock-copy-message-prompt">Copy</div> <div class="CodeBlock-copy-message-done">Copied!</div> </div> <div class="CodeBlock-copy-button"> <div class="CodeBlock-copy-icon"> <svg class="done"><use xlink:href="#check"></use></svg> </div> </div> </div> <pre id="play" class="language- " plain-text data-line=""> <div class="CodeBlock-lineNumbers"></div> <code><p>Usage: doca_flow_tune analyze export [DOCA Flags] [Program Flags] DOCA Flags: -h, --help Print a help synopsis -l, --log-level Set the (numeric) log level <code class="keyword">for</code> the program <<code class="value">10</code>=DISABLE, <code class="value">20</code>=CRITICAL, <code class="value">30</code>=ERROR, <code class="value">40</code>=WARNING, <code class="value">50</code>=INFO, <code class="value">60</code>=DEBUG, <code class="value">70</code>=TRACE> --sdk-log-level Set the SDK (numeric) log level <code class="keyword">for</code> the program <<code class="value">10</code>=DISABLE, <code class="value">20</code>=CRITICAL, <code class="value">30</code>=ERROR, <code class="value">40</code>=WARNING, <code class="value">50</code>=INFO, <code class="value">60</code>=DEBUG, <code class="value">70</code>=TRACE> Program Flags: --file-name File name on which the pipeline information will be saved -f, --cfg-file JSON configuration file</p></code> </pre> </div> </bsp-code-block> <p> </p> <p>Supported subcommands:</p> <ul class=" "><li class=" "><p class="auto-cursor-target"><code class="InlineCodeBlock"><span>export</span></code> – This command allows the tool to export a running DOCA Flow program's pipeline into a JSON file. This file is the main input for other features of the tool, such as the graphical visualization.</p> <div class="CallOutBox" data-option-Note> <div class="CallOutBox-icon"><svg><use xlink:href="#calloutbox-icon-check"></use></svg> </div><div class="CallOutBox-title">Note</div> <div class="CallOutBox-body"> <p>The <code class="InlineCodeBlock"><span>export</span></code> subcommand is currently mandatory.</p> </div> </div> <p> </p> </li></ul> <h3 id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-CLIExamples.1"> <a href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-CLIExamples.1" data-cms-ai="0">CLI Examples</a> </h3> <ul class=" "><li class=" "><p class="auto-cursor-target">To launch the analyze command without a configuration file:</p><bsp-code-block class="CodeBlock" data-module="standard" data-language="text/plain" data-noAnnotations > <div class="CodeBlock-wrapper"> <div class="CodeBlock-copy"> <div class="CodeBlock-copy-message"> <div class="CodeBlock-copy-message-prompt">Copy</div> <div class="CodeBlock-copy-message-done">Copied!</div> </div> <div class="CodeBlock-copy-button"> <div class="CodeBlock-copy-icon"> <svg class="done"><use xlink:href="#check"></use></svg> </div> </div> </div> <pre id="play" class="language- " plain-text data-line=""> <div class="CodeBlock-lineNumbers"></div> <code><p>doca_flow_tune analyze export</p></code> </pre> </div> </bsp-code-block> <p> </p> <p class="auto-cursor-target">The JSON file is stored into its default path.</p> </li><li class=" "><p class="auto-cursor-target">To launch the <code class="InlineCodeBlock"><span>analyze</span></code> command with a given configuration file that specifies the desired values for all needed configurations:</p><bsp-code-block class="CodeBlock" data-module="standard" data-language="text/plain" data-noAnnotations > <div class="CodeBlock-wrapper"> <div class="CodeBlock-copy"> <div class="CodeBlock-copy-message"> <div class="CodeBlock-copy-message-prompt">Copy</div> <div class="CodeBlock-copy-message-done">Copied!</div> </div> <div class="CodeBlock-copy-button"> <div class="CodeBlock-copy-icon"> <svg class="done"><use xlink:href="#check"></use></svg> </div> </div> </div> <pre id="play" class="language- " plain-text data-line=""> <div class="CodeBlock-lineNumbers"></div> <code><p>doca_flow_tune analyze export -f /tmp/flow_tune_cfg.json</p></code> </pre> </div> </bsp-code-block> <p> </p> </li><li class=" "><p class="auto-cursor-target">To launch the <code class="InlineCodeBlock"><span>analyze</span></code> command with a configuration file while also configuring the output path for the exported JSON file through the CLI:</p><bsp-code-block class="CodeBlock" data-module="standard" data-language="text/plain" data-noAnnotations > <div class="CodeBlock-wrapper"> <div class="CodeBlock-copy"> <div class="CodeBlock-copy-message"> <div class="CodeBlock-copy-message-prompt">Copy</div> <div class="CodeBlock-copy-message-done">Copied!</div> </div> <div class="CodeBlock-copy-button"> <div class="CodeBlock-copy-icon"> <svg class="done"><use xlink:href="#check"></use></svg> </div> </div> </div> <pre id="play" class="language- " plain-text data-line=""> <div class="CodeBlock-lineNumbers"></div> <code><p>doca_flow_tune analyze export -f /tmp/flow_tune_cfg.json --file-name my_program_pipeline_desc.json</p></code> </pre> </div> </bsp-code-block> <p> </p> <p class="auto-cursor-target">The exported pipeline is stored as <code class="InlineCodeBlock"><span>my_program_pipeline_desc.json</span></code> into the chosen/default output directory.</p> </li></ul><p> </p> <h2 id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-VisualizeCommand"> <a href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-VisualizeCommand" data-cms-ai="0"><span id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-VisualizeCommand" class="confluence-anchor-link"></span>Visualize Command</a> </h2> <p>The <code class="InlineCodeBlock"><span>visualize</span></code> command visualizes the steering pipeline of a given DOCA Flow program. The command works on a given JSON file as input. This file can either be generated by the <code class="InlineCodeBlock"><span>analyze export</span></code> command or queried dynamically from a running program, in which case the command would dump the pipeline from the program and then generate the visualization output file.</p> <div class="CallOutBox" data-option-Info> <div class="CallOutBox-icon"><svg><use xlink:href="#calloutbox-icon-info"></use></svg> </div><div class="CallOutBox-title">Info</div> <div class="CallOutBox-body"> <p>The visualization output file is a Mermaid markdown<b> </b>format.</p> </div> </div> <p> </p> <div class="CallOutBox" data-option-Info> <div class="CallOutBox-icon"><svg><use xlink:href="#calloutbox-icon-info"></use></svg> </div><div class="CallOutBox-title">Info</div> <div class="CallOutBox-body"> <p>This file can be fed to any of the widely available Mermaid visualization tools, as explained in depth in the corresponding section "<a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-VisualizeMode" data-cms-ai="0" >Visualize Mode</a>".</p> </div> </div> <p> </p><bsp-code-block class="CodeBlock" data-module="standard" data-language="text/plain" data-noAnnotations > <div class="CodeBlock-wrapper"> <div class="CodeBlock-copy"> <div class="CodeBlock-copy-message"> <div class="CodeBlock-copy-message-prompt">Copy</div> <div class="CodeBlock-copy-message-done">Copied!</div> </div> <div class="CodeBlock-copy-button"> <div class="CodeBlock-copy-icon"> <svg class="done"><use xlink:href="#check"></use></svg> </div> </div> </div> <pre id="play" class="language- " plain-text data-line=""> <div class="CodeBlock-lineNumbers"></div> <code><p>Usage: doca_flow_tune visualize [DOCA Flags] [Program Flags] DOCA Flags: -h, --help Print a help synopsis -l, --log-level Set the (numeric) log level <code class="keyword">for</code> the program <<code class="value">10</code>=DISABLE, <code class="value">20</code>=CRITICAL, <code class="value">30</code>=ERROR, <code class="value">40</code>=WARNING, <code class="value">50</code>=INFO, <code class="value">60</code>=DEBUG, <code class="value">70</code>=TRACE> --sdk-log-level Set the SDK (numeric) log level <code class="keyword">for</code> the program <<code class="value">10</code>=DISABLE, <code class="value">20</code>=CRITICAL, <code class="value">30</code>=ERROR, <code class="value">40</code>=WARNING, <code class="value">50</code>=INFO, <code class="value">60</code>=DEBUG, <code class="value">70</code>=TRACE> Program Flags: --pipeline-desc Input JSON file that represents the Flow application pipeline --file-name File name on which the visualization information will be saved -f, --cfg-file JSON configuration file</p></code> </pre> </div> </bsp-code-block> <p> </p> <h3 id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-CLIExamples.2"> <a href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-CLIExamples.2" data-cms-ai="0">CLI Examples</a> </h3> <ul class=" "><li class=" "><p class="auto-cursor-target">Launching the <code class="InlineCodeBlock"><span>visualize</span></code> command without the configuration file leads to a live query of the pipeline against the running DOCA Flow program:</p><bsp-code-block class="CodeBlock" data-module="standard" data-language="text/plain" data-noAnnotations > <div class="CodeBlock-wrapper"> <div class="CodeBlock-copy"> <div class="CodeBlock-copy-message"> <div class="CodeBlock-copy-message-prompt">Copy</div> <div class="CodeBlock-copy-message-done">Copied!</div> </div> <div class="CodeBlock-copy-button"> <div class="CodeBlock-copy-icon"> <svg class="done"><use xlink:href="#check"></use></svg> </div> </div> </div> <pre id="play" class="language- " plain-text data-line=""> <div class="CodeBlock-lineNumbers"></div> <code><p>doca_flow_tune visualize</p></code> </pre> </div> </bsp-code-block> <p> </p> </li><li class=" "><p class="auto-cursor-target">Launching the <code class="InlineCodeBlock"><span>visualize</span></code> command with a given configuration file that specifies the desired values for all needed configurations:</p><bsp-code-block class="CodeBlock" data-module="standard" data-language="text/plain" data-noAnnotations > <div class="CodeBlock-wrapper"> <div class="CodeBlock-copy"> <div class="CodeBlock-copy-message"> <div class="CodeBlock-copy-message-prompt">Copy</div> <div class="CodeBlock-copy-message-done">Copied!</div> </div> <div class="CodeBlock-copy-button"> <div class="CodeBlock-copy-icon"> <svg class="done"><use xlink:href="#check"></use></svg> </div> </div> </div> <pre id="play" class="language- " plain-text data-line=""> <div class="CodeBlock-lineNumbers"></div> <code><p>doca_flow_tune visualize -f /tmp/flow_tune_cfg.json</p></code> </pre> </div> </bsp-code-block> <p> </p> </li><li class=" "><p class="auto-cursor-target">To launch the <code class="InlineCodeBlock"><span>visualize</span></code> command with a configuration file while configuring the output path for the Mermaid file through the CLI and providing an offline pipeline file:</p><bsp-code-block class="CodeBlock" data-module="standard" data-language="text/plain" data-noAnnotations > <div class="CodeBlock-wrapper"> <div class="CodeBlock-copy"> <div class="CodeBlock-copy-message"> <div class="CodeBlock-copy-message-prompt">Copy</div> <div class="CodeBlock-copy-message-done">Copied!</div> </div> <div class="CodeBlock-copy-button"> <div class="CodeBlock-copy-icon"> <svg class="done"><use xlink:href="#check"></use></svg> </div> </div> </div> <pre id="play" class="language- " plain-text data-line=""> <div class="CodeBlock-lineNumbers"></div> <code><p>doca_flow_tune visualize -f /tmp/flow_tune_cfg.json --file-name my_program_pipeline_viz.md --pipeline-desc my_program_pipeline_desc.json</p></code> </pre> </div> </bsp-code-block> <p> </p> <p class="auto-cursor-target">The exported Mermaid file is stored as <code class="InlineCodeBlock"><span>my_program_pipeline_viz.md</span></code> into the chosen/default output directory. Because the pipeline description file is explicitly provided, this command could be used offline, as it would not need connection with the DOCA Flow program to visualize.</p> </li></ul><p> </p> </div> </div> <div class="StepModule" data-module><span class="StepModule-anchor" id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-Configuration"></span> <div class="StepModuleHeader"><h2 class="StepModuleHeader-title"><a class="StepModuleHeader-anchorLink" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-Configuration" data-cms-ai="0">Configuration</a></h2> <div class="StepModuleHeader-divider"></div></div> <div class="StepModule-body RichTextBody"> <p>DOCA Flow Tune has a configuration file which allows customizing various settings.</p> <div class="CallOutBox" data-option-Info> <div class="CallOutBox-icon"><svg><use xlink:href="#calloutbox-icon-info"></use></svg> </div><div class="CallOutBox-title">Info</div> <div class="CallOutBox-body"> <p>The configuration file is divided into sections in order to simplify its usage.</p> </div> </div> <p> </p> <h2 id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-ConfigFileDefaultValues"> <a href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-ConfigFileDefaultValues" data-cms-ai="0">Config File Default Values</a> </h2> <p>If a configuration file is not provided, DOCA Flow Tune uses its default values for fields which are mandatory.</p> <div class="CallOutBox" data-option-Info> <div class="CallOutBox-icon"><svg><use xlink:href="#calloutbox-icon-info"></use></svg> </div><div class="CallOutBox-title">Info</div> <div class="CallOutBox-body"> <p>A list of all default values can be seen in <a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-Appendix" data-cms-ai="0" >the appendix</a>.</p> </div> </div> <p> </p> <p>In Monitor mode, if a software KPIs or hardware counters query is not needed, removing the <code class="InlineCodeBlock"><span>hardware</span></code> or <code class="InlineCodeBlock"><span>software</span></code> fields from the configuration file disables the respective feature.</p><p> </p> <h2 id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-CustomConfigFile"> <a href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-CustomConfigFile" data-cms-ai="0">Custom Config File</a> </h2> <p>Instead of using default configuration values, users can create a file of their own and provide a file path when running DOCA Flow Tune (<code class="InlineCodeBlock"><span>-f</span></code>/<code class="InlineCodeBlock"><span>--cfg-file</span></code>).</p> <p>Once used, DOCA Flow Tune loads all provided values directly from the file, while the rest of the fields (if any) use their respective default values.</p><p> </p> <h2 id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-OverridingConfigValuesfromCLI"> <a href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-OverridingConfigValuesfromCLI" data-cms-ai="0">Overriding Config Values from CLI</a> </h2> <p> Setting s ome of the fields in the configuration file is supported through CLI using the <code class="InlineCodeBlock"><span>--file-name</span></code> flag. If used, the provided values from the CLI would override the values of the fields from the configuration file. This allows for easier configuration of common values without the need to create a new custom file or to modify an existing configuration file.</p><p> </p> <h2 id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-CommonConfigurationValues"> <a href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-CommonConfigurationValues" data-cms-ai="0"><span id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-CommonConfigurationValues" class="confluence-anchor-link"></span>Common Configuration Values</a> </h2> <p>Some sections of the configuration file are shared between multiple runtime modes of DOCA Flow Tune (i.e., Monitor, Analyze, Visualize) and generally have to do with the output/input file paths and interaction with the live DOCA Flow program.</p><bsp-code-block class="CodeBlock" data-module="standard" data-language="text/plain" data-noAnnotations data-iscollapsible > <div class="CodeBlock-wrapper"> <div class="CodeBlock-header"> <h4 class="CodeBlock-title">flow_tune_cfg.json</h4> <div class="CodeBlock-collapseButton"> <svg class="CodeBlock-chevron"> <use xlink:href="#chevron-down"></use> </svg> <button class="CodeBlock-collapse">Collapse Source</button> </div> </div> <div class="CodeBlock-copy"> <div class="CodeBlock-copy-message"> <div class="CodeBlock-copy-message-prompt">Copy</div> <div class="CodeBlock-copy-message-done">Copied!</div> </div> <div class="CodeBlock-copy-button"> <div class="CodeBlock-copy-icon"> <svg class="done"><use xlink:href="#check"></use></svg> </div> </div> </div> <pre id="play" class="language- line-numbers" plain-text data-line=""> <div class="CodeBlock-lineNumbers"></div> <code><p>{ ... <code class="string">"outputs_directory"</code>: <code class="string">"/tmp/flow_tune/"</code>, ... <code class="string">"network"</code>: { <code class="string">"server_uds"</code>: <code class="string">"/tmp/tune_server.sock"</code>, <code class="string">"uds_directory"</code>: <code class="string">"/var/run/doca/flow_tune/"</code> }, ... }</p></code> </pre> </div> </bsp-code-block> <p> </p> <h3 id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-OutputDirectory"> <a href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-OutputDirectory" data-cms-ai="0">Output Directory</a> </h3> <p><code class="InlineCodeBlock"><span>outputs_directory</span></code> defines the main directory on which all output products are saved. This field does not have a default value. If no value is provided, DOCA Flow Tune files are saved at the following directories:</p> <ul class=" "><li class=" "><p>CSV file – <code class="InlineCodeBlock"><span>/var/log/doca/flow_tune/</span></code></p> </li><li class=" "><p>Analyze export pipeline description file – <code class="InlineCodeBlock"><span>/tmp/flow_tune/</span></code></p> </li><li class=" "><p>Pipeline visualization file – <code class="InlineCodeBlock"><span>/tmp/flow_tune/</span></code></p> </li></ul> <h3 id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-ConnectiontoDOCAFlowTuneServer"> <a href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-ConnectiontoDOCAFlowTuneServer" data-cms-ai="0">Connection to DOCA Flow Tune Server</a> </h3> <p>Some features of DOCA Flow Tune work by interacting with a live DOCA Flow based program. This is enabled through a server that is running in the background as part of the DOCA Flow library, and requires all of the following to be applied:</p> <ol class=" "><li class=" "><p class="auto-cursor-target">DOCA Flow based program should explicitly enable the server.</p> <div class="CallOutBox" data-option-Info> <div class="CallOutBox-icon"><svg><use xlink:href="#calloutbox-icon-info"></use></svg> </div><div class="CallOutBox-title">Info</div> <div class="CallOutBox-body"> <p>More information is available in the relevant <a class="Link" href="/doca/sdk/DOCA+Flow+Tune+Server" data-cms-ai="0" >DOCA Flow Tune Server</a> programming guide.</p> </div> </div> <p> </p> </li><li class=" "><p class="auto-cursor-target">The DOCA-Flow-based program should run using the trace-enabled DOCA Flow library.</p> <div class="CallOutBox" data-option-Info> <div class="CallOutBox-icon"><svg><use xlink:href="#calloutbox-icon-info"></use></svg> </div><div class="CallOutBox-title">Info</div> <div class="CallOutBox-body"> <p>More information is available in the "<a class="Link" href="/doca/sdk/DOCA+Flow#src-3113748976_id-.DOCAFlowv2.9.0LTS-DebugandTraceFeatures" data-cms-ai="0" >Debug and Trace Features</a>" section of the DOCA Flow programming guide.</p> </div> </div> <p> </p> </li></ol><p>DOCA Flow Tune should be configured in a way to allow it to connect to the matching server. This can be done by modifying the following variables under the <code class="InlineCodeBlock"><span>network</span></code> section of the <a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-CommonConfigurationValues" data-cms-ai="0" >configuration file</a>: </p> <ul class=" "><li class=" "><p><code class="InlineCodeBlock"><span>server_uds</span></code> – DOCA Tune Server Unix Domain Socket (UDS) path. Default value is <code class="InlineCodeBlock"><span>/tmp/tune_server.sock</span></code>.</p> </li><li class=" "><p><code class="InlineCodeBlock"><span>uds_directory</span></code> – Directory on which all local UDSs are created. Default value is <code class="InlineCodeBlock"><span>/var/run/doca/flow_tune/</span></code>.</p> </li></ul><p> </p> </div> </div> <div class="StepModule" data-module><span class="StepModule-anchor" id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-MonitorMode"></span> <div class="StepModuleHeader"><h2 class="StepModuleHeader-title"><a class="StepModuleHeader-anchorLink" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-MonitorMode" data-cms-ai="0">Monitor Mode</a></h2> <div class="StepModuleHeader-divider"></div></div> <div class="StepModule-body RichTextBody"> <h2 id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-HardwareCounters"> <a href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-HardwareCounters" data-cms-ai="0"><span id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-HardwareCounters" class="confluence-anchor-link"></span>Hardware Counters</a> </h2> <p>This table provides the supported hardware counters and their associated profiles.</p><div class="Table-Rte"> <div class="Table-Rte-body"> <table class="confluenceTable"> <colgroup> <col> <col> <col> <col> <col> <col> </colgroup> <thead class=" "> <tr> <td class="confluenceTh" rowspan="1" colspan="1"> <p>Counter Name</p> </td> <td class="confluenceTh" rowspan="1" colspan="1"> <p>Description</p> </td> <td class="confluenceTh" rowspan="1" colspan="1"> <p>Unit</p> </td> <td class="confluenceTh" rowspan="1" colspan="1"> <p>Profile Basic</p> </td> <td class="confluenceTh" rowspan="1" colspan="1"> <p>Profile Full</p> </td> <td class="confluenceTh" rowspan="1" colspan="1"> <p>Notes</p> </td> </tr> </thead><tfoot class=" "></tfoot><tbody class=" "> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p>RX Packet Rate</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>The number of received packets per second</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>pkt/sec</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p></p><div class="Enhancement" data-align-fullWidth > <div class="Enhancement-item"> <figure class="Figure"> <picture> <source type="image/svg+xml" srcset="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> <img class="Image" alt="check.svg" src="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> </picture> </figure> </div> </div><p> </p></td> <td class="confluenceTd" rowspan="1" colspan="1"> <p></p><div class="Enhancement" data-align-fullWidth > <div class="Enhancement-item"> <figure class="Figure"> <picture> <source type="image/svg+xml" srcset="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> <img class="Image" alt="check.svg" src="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> </picture> </figure> </div> </div><p> </p></td> <td class="confluenceTd" rowspan="1" colspan="1"> <p></p><p></p><p></p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p>RX Bandwidth</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>The data transfer rate based on the number of packets received per second</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>Gb/s</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p></p><div class="Enhancement" data-align-fullWidth > <div class="Enhancement-item"> <figure class="Figure"> <picture> <source type="image/svg+xml" srcset="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> <img class="Image" alt="check.svg" src="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> </picture> </figure> </div> </div><p> </p></td> <td class="confluenceTd" rowspan="1" colspan="1"> <p></p><div class="Enhancement" data-align-fullWidth > <div class="Enhancement-item"> <figure class="Figure"> <picture> <source type="image/svg+xml" srcset="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> <img class="Image" alt="check.svg" src="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> </picture> </figure> </div> </div><p> </p></td> <td class="confluenceTd" rowspan="1" colspan="1"> <p></p><p></p><p></p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p>RX Packet Average Size</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>The average size of received data packets</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>Bytes</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p></p><div class="Enhancement" data-align-fullWidth > <div class="Enhancement-item"> <figure class="Figure"> <picture> <source type="image/svg+xml" srcset="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> <img class="Image" alt="check.svg" src="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> </picture> </figure> </div> </div><p> </p></td> <td class="confluenceTd" rowspan="1" colspan="1"> <p></p><div class="Enhancement" data-align-fullWidth > <div class="Enhancement-item"> <figure class="Figure"> <picture> <source type="image/svg+xml" srcset="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> <img class="Image" alt="check.svg" src="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> </picture> </figure> </div> </div><p> </p></td> <td class="confluenceTd" rowspan="1" colspan="1"> <p></p><p></p><p></p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p>TX Packet Rate</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>The number of packets transmitted per second</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>pkt/sec</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p></p><div class="Enhancement" data-align-fullWidth > <div class="Enhancement-item"> <figure class="Figure"> <picture> <source type="image/svg+xml" srcset="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> <img class="Image" alt="check.svg" src="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> </picture> </figure> </div> </div><p> </p></td> <td class="confluenceTd" rowspan="1" colspan="1"> <p></p><div class="Enhancement" data-align-fullWidth > <div class="Enhancement-item"> <figure class="Figure"> <picture> <source type="image/svg+xml" srcset="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> <img class="Image" alt="check.svg" src="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> </picture> </figure> </div> </div><p> </p></td> <td class="confluenceTd" rowspan="1" colspan="1"> <p></p><p></p><p></p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p>TX Bandwidth</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>The data transfer rate based on the number of packets transmitted per second</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>Gb/s</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p></p><div class="Enhancement" data-align-fullWidth > <div class="Enhancement-item"> <figure class="Figure"> <picture> <source type="image/svg+xml" srcset="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> <img class="Image" alt="check.svg" src="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> </picture> </figure> </div> </div><p> </p></td> <td class="confluenceTd" rowspan="1" colspan="1"> <p></p><div class="Enhancement" data-align-fullWidth > <div class="Enhancement-item"> <figure class="Figure"> <picture> <source type="image/svg+xml" srcset="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> <img class="Image" alt="check.svg" src="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> </picture> </figure> </div> </div><p> </p></td> <td class="confluenceTd" rowspan="1" colspan="1"> <p></p><p></p><p></p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p>TX Packet Average Size</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>The average size of transmitted data packets</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>Bytes</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p></p><div class="Enhancement" data-align-fullWidth > <div class="Enhancement-item"> <figure class="Figure"> <picture> <source type="image/svg+xml" srcset="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> <img class="Image" alt="check.svg" src="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> </picture> </figure> </div> </div><p> </p></td> <td class="confluenceTd" rowspan="1" colspan="1"> <p></p><div class="Enhancement" data-align-fullWidth > <div class="Enhancement-item"> <figure class="Figure"> <picture> <source type="image/svg+xml" srcset="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> <img class="Image" alt="check.svg" src="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> </picture> </figure> </div> </div><p> </p></td> <td class="confluenceTd" rowspan="1" colspan="1"> <p></p><p></p><p></p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p>RX SW Drops</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p class="auto-cursor-target"> The number of dropped packets due to a lack of WQE for the associated QPs/RQs (excluding hairpin QPs/RQs) </p> <div class="CallOutBox" data-option-Info> <div class="CallOutBox-icon"><svg><use xlink:href="#calloutbox-icon-info"></use></svg> </div><div class="CallOutBox-title">Info</div> <div class="CallOutBox-body"> <p>Supported only on NVIDIA® ConnectX®-7 and above.</p> </div> </div> <p> </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>drops/sec</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p></p><div class="Enhancement" data-align-fullWidth > <div class="Enhancement-item"> <figure class="Figure"> <picture> <source type="image/svg+xml" srcset="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> <img class="Image" alt="check.svg" src="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> </picture> </figure> </div> </div><p> </p></td> <td class="confluenceTd" rowspan="1" colspan="1"> <p></p><div class="Enhancement" data-align-fullWidth > <div class="Enhancement-item"> <figure class="Figure"> <picture> <source type="image/svg+xml" srcset="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> <img class="Image" alt="check.svg" src="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> </picture> </figure> </div> </div><p> </p></td> <td class="confluenceTd" rowspan="1" colspan="1"> <p class="auto-cursor-target">If drops are observed, this may be because the software was unable to process all received packets. Consider reducing CPU processing time or increasing the number of utilized cores and queues.</p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p>Hairpin Drops</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p class="auto-cursor-target"> The number of dropped packets due to a lack of WQE for the associated hairpin QPs/RQs </p> <div class="CallOutBox" data-option-Info> <div class="CallOutBox-icon"><svg><use xlink:href="#calloutbox-icon-info"></use></svg> </div><div class="CallOutBox-title">Info</div> <div class="CallOutBox-body"> <p>Supported only on NVIDIA® ConnectX®-7 and above.</p> </div> </div> <p> </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>drops/sec</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p></p><div class="Enhancement" data-align-fullWidth > <div class="Enhancement-item"> <figure class="Figure"> <picture> <source type="image/svg+xml" srcset="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> <img class="Image" alt="check.svg" src="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> </picture> </figure> </div> </div><p> </p></td> <td class="confluenceTd" rowspan="1" colspan="1"> <p></p><div class="Enhancement" data-align-fullWidth > <div class="Enhancement-item"> <figure class="Figure"> <picture> <source type="image/svg+xml" srcset="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> <img class="Image" alt="check.svg" src="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> </picture> </figure> </div> </div><p> </p></td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>If drops are observed, the Tx packet processing is probably causing a bottleneck. Consider simplifying the process or adjusting the number or size of hairpin queues, or implementing locking mechanisms.</p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p>RX HW Drops</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>The number of packets discarded due to no available data or descriptor buffers in the RX buffer</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>drops/sec</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p></p><div class="Enhancement" data-align-fullWidth > <div class="Enhancement-item"> <figure class="Figure"> <picture> <source type="image/svg+xml" srcset="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> <img class="Image" alt="check.svg" src="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> </picture> </figure> </div> </div><p> </p></td> <td class="confluenceTd" rowspan="1" colspan="1"> <p></p><div class="Enhancement" data-align-fullWidth > <div class="Enhancement-item"> <figure class="Figure"> <picture> <source type="image/svg+xml" srcset="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> <img class="Image" alt="check.svg" src="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> </picture> </figure> </div> </div><p> </p></td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>If drops are observed, the Rx packet processing is probably causing a bottleneck. Consider simplifying it.</p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p>ICM Cache Miss Rate</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>The rate of data requests that miss in the ICM (interconnect context memory) cache</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>events/sec</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p></p><div class="Enhancement" data-align-fullWidth > <div class="Enhancement-item"> <figure class="Figure"> <picture> <source type="image/svg+xml" srcset="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/error.svg"> <img class="Image" alt="error.svg" src="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/error.svg"> </picture> </figure> </div> </div><p> </p></td> <td class="confluenceTd" rowspan="1" colspan="1"> <p></p><div class="Enhancement" data-align-fullWidth > <div class="Enhancement-item"> <figure class="Figure"> <picture> <source type="image/svg+xml" srcset="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> <img class="Image" alt="check.svg" src="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> </picture> </figure> </div> </div><p> </p></td> <td class="confluenceTd" rowspan="1" colspan="1"> <p></p><p></p><p></p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p>ICM Cache Miss per Packet</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>The number of data requests that miss per packet</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>events/pkt</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p></p><div class="Enhancement" data-align-fullWidth > <div class="Enhancement-item"> <figure class="Figure"> <picture> <source type="image/svg+xml" srcset="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/error.svg"> <img class="Image" alt="error.svg" src="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/error.svg"> </picture> </figure> </div> </div><p> </p></td> <td class="confluenceTd" rowspan="1" colspan="1"> <p></p><div class="Enhancement" data-align-fullWidth > <div class="Enhancement-item"> <figure class="Figure"> <picture> <source type="image/svg+xml" srcset="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> <img class="Image" alt="check.svg" src="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> </picture> </figure> </div> </div><p> </p></td> <td class="confluenceTd" rowspan="1" colspan="1"> <p></p><p></p><p></p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p>PCIe Inbound Bandwidth</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> The number of bits received from the PCIe toward the device per second. </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>Gb/s</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p></p><div class="Enhancement" data-align-fullWidth > <div class="Enhancement-item"> <figure class="Figure"> <picture> <source type="image/svg+xml" srcset="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/error.svg"> <img class="Image" alt="error.svg" src="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/error.svg"> </picture> </figure> </div> </div><p> </p></td> <td class="confluenceTd" rowspan="1" colspan="1"> <p></p><div class="Enhancement" data-align-fullWidth > <div class="Enhancement-item"> <figure class="Figure"> <picture> <source type="image/svg+xml" srcset="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> <img class="Image" alt="check.svg" src="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> </picture> </figure> </div> </div><p> </p></td> <td class="confluenceTd" rowspan="5" colspan="1"> <p>PCIe counters are supported only on the host side</p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p>PCIe Outbound Bandwidth</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> The number of bits transmitted from the device toward the PCIe per second </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>Gb/s</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p></p><div class="Enhancement" data-align-fullWidth > <div class="Enhancement-item"> <figure class="Figure"> <picture> <source type="image/svg+xml" srcset="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/error.svg"> <img class="Image" alt="error.svg" src="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/error.svg"> </picture> </figure> </div> </div><p> </p></td> <td class="confluenceTd" rowspan="1" colspan="1"> <p></p><div class="Enhancement" data-align-fullWidth > <div class="Enhancement-item"> <figure class="Figure"> <picture> <source type="image/svg+xml" srcset="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> <img class="Image" alt="check.svg" src="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> </picture> </figure> </div> </div><p> </p></td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p>PCIe AVG Read latency</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> The average PCIe read latency for all read data </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>nsec</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p></p><div class="Enhancement" data-align-fullWidth > <div class="Enhancement-item"> <figure class="Figure"> <picture> <source type="image/svg+xml" srcset="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/error.svg"> <img class="Image" alt="error.svg" src="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/error.svg"> </picture> </figure> </div> </div><p> </p></td> <td class="confluenceTd" rowspan="1" colspan="1"> <p></p><div class="Enhancement" data-align-fullWidth > <div class="Enhancement-item"> <figure class="Figure"> <picture> <source type="image/svg+xml" srcset="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> <img class="Image" alt="check.svg" src="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> </picture> </figure> </div> </div><p> </p></td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p>PCIe Max Latency</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>T he maximum latency (in nanoseconds) for a single PCIe read from the device </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>nsec</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p></p><div class="Enhancement" data-align-fullWidth > <div class="Enhancement-item"> <figure class="Figure"> <picture> <source type="image/svg+xml" srcset="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/error.svg"> <img class="Image" alt="error.svg" src="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/error.svg"> </picture> </figure> </div> </div><p> </p></td> <td class="confluenceTd" rowspan="1" colspan="1"> <p></p><div class="Enhancement" data-align-fullWidth > <div class="Enhancement-item"> <figure class="Figure"> <picture> <source type="image/svg+xml" srcset="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> <img class="Image" alt="check.svg" src="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> </picture> </figure> </div> </div><p> </p></td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p>PCIe Min Latency</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>T he minimum latency (in nanoseconds) for a single PCIe read from the device </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>nsec</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p></p><div class="Enhancement" data-align-fullWidth > <div class="Enhancement-item"> <figure class="Figure"> <picture> <source type="image/svg+xml" srcset="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/error.svg"> <img class="Image" alt="error.svg" src="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/error.svg"> </picture> </figure> </div> </div><p> </p></td> <td class="confluenceTd" rowspan="1" colspan="1"> <p></p><div class="Enhancement" data-align-fullWidth > <div class="Enhancement-item"> <figure class="Figure"> <picture> <source type="image/svg+xml" srcset="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> <img class="Image" alt="check.svg" src="https://docscontent.nvidia.com/confluence/00000193-44fd-ddc9-adbf-e6ffd7010000/doca/sdk/images/s/-x6zzdg/8804/1naq7q0/_/images/icons/emoticons/check.svg"> </picture> </figure> </div> </div><p> </p></td> </tr> </tbody> </table> </div> </div> <br> <h2 id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-SoftwareKeyPerformanceIndicators"> <a href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-SoftwareKeyPerformanceIndicators" data-cms-ai="0">Software Key Performance Indicators</a> </h2> <p>This table provides the supported software KPIs and their associated profiles.</p><div class="Table-Rte"> <div class="Table-Rte-body"> <table class="confluenceTable"> <colgroup> <col> <col> <col> <col> </colgroup> <thead class=" "> <tr> <td class="confluenceTh" rowspan="1" colspan="1"> <p>Key Performance Indicator</p> </td> <td class="confluenceTh" rowspan="1" colspan="1"> <p>Description</p> </td> <td class="confluenceTh" rowspan="1" colspan="1"> <p>Units</p> </td> <td class="confluenceTh" rowspan="1" colspan="1"> <p>Profile</p> </td> </tr> </thead><tfoot class=" "></tfoot><tbody class=" "> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p>Insertion rate</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>The number of successful table entry insertion actions (per queue) per second.</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>actions/sec</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p><code class="InlineCodeBlock"><span>entries_ops_rates</span></code></p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p>Deletion rate</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>The number of successful table entry deletion actions (per queue) per second.</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>actions/sec</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p><code class="InlineCodeBlock"><span>entries_ops_rates</span></code></p> </td> </tr> </tbody> </table> </div> </div> <br> <h2 id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-Configuration.1"> <a href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-Configuration.1" data-cms-ai="0">Configuration</a> </h2> <h3 id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-CSVFormat"> <a href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-CSVFormat" data-cms-ai="0">CSV Format</a> </h3> <p>The CSV format stores two types of rows, specific to each counter module:</p> <ul class=" "><li class=" "><p class="auto-cursor-target"><i class=" "><b>Hardware Counter Rows (Module ID=0)</b></i></p><div class="Table-Rte"> <div class="Table-Rte-body"> <table class="wrapped confluenceTable"> <colgroup> <col> <col> <col> <col> </colgroup> <thead class=" "> <tr> <td class="confluenceTh" rowspan="1" colspan="1"> <p>Module ID</p> </td> <td class="confluenceTh" rowspan="1" colspan="1"> <p>HW Counter ID</p> </td> <td class="confluenceTh" rowspan="1" colspan="1"> <p>Counter Value</p> </td> <td class="confluenceTh" rowspan="1" colspan="1"> <p>Timestamp</p> </td> </tr> </thead><tfoot class=" "></tfoot><tbody class=" "> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p>0</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>1</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>8</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>142623139459</p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p>0</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>2</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>197503959728</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>142623139459</p> </td> </tr> </tbody> </table> </div> </div> <ul class=" "><li class=" "><p>Module ID – Hardware module identifier</p> </li><li class=" "><p>HW Counter ID – Unique identifier for the hardware counter</p> </li><li class=" "><p>Counter Value – Counter value</p> </li><li class=" "><p class="auto-cursor-target">Timestamp – Hardware timestamp</p> <p class="auto-cursor-target"><i class=" "><b>Hardware Counter ID Mapping</b></i></p> </li></ul></li></ul><div class="Table-Rte"> <div class="Table-Rte-body"> <table class="wrapped confluenceTable"> <colgroup> <col> <col> <col> </colgroup> <thead class=" "> <tr> <td class="confluenceTh" rowspan="1" colspan="1"> <p>HW Counter ID</p> </td> <td class="confluenceTh" rowspan="1" colspan="1"> <p>Description</p> </td> <td class="confluenceTh" rowspan="1" colspan="1"> <p>Units</p> </td> </tr> </thead><tfoot class=" "></tfoot><tbody class=" "> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p> 0 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Number of RX packets on port 0 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Packets</p><p></p> <p></p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p> 1 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Number of RX packets on port 1 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Packets </p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p> 2 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Number of RX bytes on port 0 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Bytes </p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p> 3 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Number of RX bytes on port 1 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Bytes </p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p> 4 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Rate of RX packets on port 0 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Packets per second </p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p> 5 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Rate of RX packets on port 1 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Packets per second </p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p> 6 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> RX bandwidth on port 0 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Gb/s </p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p> 7 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> RX bandwidth on port 1 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Gb/s </p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p> 8 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Average RX packet size on port 0 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Bytes </p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p> 9 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Average RX packet size on port 1 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Bytes </p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p> 10 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Number of TX packets on port 0 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Packets</p><p></p> <p></p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p> 11 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Number of TX packets on port 1 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Packets </p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p> 12 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Number of TX bytes on port 0 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Bytes </p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p> 13 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Number of TX bytes on port 1 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Bytes </p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p> 14 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Rate of TX packets on port 0 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Packets per second </p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p> 15 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Rate of TX packets on port 1 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Packets per second </p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p> 16 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> TX bandwidth on port 0 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Gb/s </p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p> 17 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> TX bandwidth on port 1 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Gb/s </p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p> 18 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Average TX packet size on port 0 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Bytes </p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p> 19 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Average TX packet size on port 1 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Bytes </p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p> 20 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Number of ICMC misses </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Events </p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p> 21 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> ICMC misses rate </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Events per second </p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p> 22 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> ICMC misses per packet </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Events per packet </p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p> 23 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> The bandwidth of bytes received from PCIe toward the device </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Gb/s </p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p> 24 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> The bandwidth of bytes transmitted from the device toward PCIe </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Gb/s </p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p> 25 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> The average PCIe read latency </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Nanoseconds </p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p> 26 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> The total latency for all PCIe read from the device </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Nanoseconds </p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p> 27 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> The total number of PCIe packets </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Events </p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p> 28 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> The maximum latency for a single PCIe read from the device </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Nanoseconds </p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p> 29 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> The minimum latency for a single PCIe read from the device </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Nanoseconds </p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p> 30 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> RX software drops </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Drops per second </p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p> 31 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Hairpin drops </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Drops per second </p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p> 32 </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> RX hardware drops </p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p> Drops per second </p> </td> </tr> </tbody> </table> </div> </div> <p></p><p></p><p></p> <ul class=" "><li class=" "><p class="auto-cursor-target"><i class=" "><b>Software KPI Rows (Module ID=1)</b></i></p><div class="Table-Rte"> <div class="Table-Rte-body"> <table class="wrapped confluenceTable"> <colgroup> <col> <col> <col> <col> <col> </colgroup> <thead class=" "> <tr> <td class="confluenceTh" rowspan="1" colspan="1"> <p>Module ID</p> </td> <td class="confluenceTh" rowspan="1" colspan="1"> <p>Port ID</p> </td> <td class="confluenceTh" rowspan="1" colspan="1"> <p>SW Counter Type</p> </td> <td class="confluenceTh" rowspan="1" colspan="1"> <p>Counter Value</p> </td> <td class="confluenceTh" rowspan="1" colspan="1"> <p>Timestamp</p> </td> </tr> </thead><tfoot class=" "></tfoot><tbody class=" "> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p>1</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>0</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>Queue 0 Insertion Rate</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>34511</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>1727345744137828</p> </td> </tr> <tr> <td class="confluenceTd" rowspan="1" colspan="1"> <p>1</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>1</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>Queue 0 Insertion Rate</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>37050</p> </td> <td class="confluenceTd" rowspan="1" colspan="1"> <p>1727345755137828</p> </td> </tr> </tbody> </table> </div> </div> <ul class=" "><li class=" "><p>Module ID – Software module identifier</p> </li><li class=" "><p>Port ID – Software port ID</p> </li><li class=" "><p>SW KPI Type – KPI type</p> </li><li class=" "><p>KPI Value – KPI value</p> </li><li class=" "><p>Timestamp – Software timestamp</p> </li></ul></li></ul> <h3 id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-ConfigurationFileConfigurationFile"> <a href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-ConfigurationFileConfigurationFile" data-cms-ai="0">Configuration File</a> </h3> <p>DOCA Flow Tune's configuration file consists of two main parts of relevance for Monitor mode:</p> <ul class=" "><li class=" "><p><code class="InlineCodeBlock"><span>csv</span></code> dump object</p> </li><li class=" "><p><code class="InlineCodeBlock"><span>monitor</span></code> configuration object</p> </li></ul><p>The following is an example for both sections:</p><bsp-code-block class="CodeBlock" data-module="standard" data-language="text/plain" data-noAnnotations data-iscollapsible > <div class="CodeBlock-wrapper"> <div class="CodeBlock-header"> <h4 class="CodeBlock-title">flow_tune_cfg.json</h4> <div class="CodeBlock-collapseButton"> <svg class="CodeBlock-chevron"> <use xlink:href="#chevron-down"></use> </svg> <button class="CodeBlock-collapse">Collapse Source</button> </div> </div> <div class="CodeBlock-copy"> <div class="CodeBlock-copy-message"> <div class="CodeBlock-copy-message-prompt">Copy</div> <div class="CodeBlock-copy-message-done">Copied!</div> </div> <div class="CodeBlock-copy-button"> <div class="CodeBlock-copy-icon"> <svg class="done"><use xlink:href="#check"></use></svg> </div> </div> </div> <pre id="play" class="language- line-numbers" plain-text data-line=""> <div class="CodeBlock-lineNumbers"></div> <code><p>{ ... <code class="string">"csv"</code>: { <code class="string">"enable"</code>: <code class="keyword">false</code>, <code class="string">"file_name"</code>: <code class="string">"flow_tune.csv"</code>, <code class="string">"max_size_bytes"</code>: <code class="value">1000000</code>, <code class="string">"max_files"</code>: <code class="value">1</code> }, ... <code class="string">"monitor"</code>: { <code class="string">"screen_mode"</code>: <code class="string">"dark"</code>, <code class="comments">// modes: {light, dark}</code> <code class="string">"hardware"</code>: { <code class="string">"pci_addresses"</code>: [ <code class="string">"b1:00.0"</code>, <code class="string">"b1:00.1"</code> ], <code class="string">"profile"</code>: <code class="string">"full"</code> <code class="comments">// profiles: {basic, full}</code> }, <code class="string">"software"</code>: [ { <code class="string">"flow_port_id"</code>: <code class="value">0</code>, <code class="string">"profiles"</code>: [ <code class="string">"entries_ops_rates"</code> <code class="comments">// profiles: {entries_ops_rates}</code> ] }, { <code class="string">"flow_port_id"</code>: <code class="value">1</code>, <code class="string">"profiles"</code>: [ <code class="string">"entries_ops_rates"</code> ] } ] } ... }</p></code> </pre> </div> </bsp-code-block> <p> </p> <h4 id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-CSVConfigurationSection"> <a href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-CSVConfigurationSection" data-cms-ai="0">CSV Configuration Section</a> </h4> <p> CSV dumping allows exporting the hardware and software counters collected by the tool into a CSV file for further analysis or record keeping. This is particularly useful for logging performance metrics over time. </p> <h4 id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-HowtoEnableCSVDumping"> <a href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-HowtoEnableCSVDumping" data-cms-ai="0">How to Enable CSV Dumping</a> </h4> <p>To enable CSV dumping, modify the configuration in the JSON file as follows:</p><bsp-code-block class="CodeBlock" data-module="standard" data-language="text/plain" data-noAnnotations > <div class="CodeBlock-wrapper"> <div class="CodeBlock-copy"> <div class="CodeBlock-copy-message"> <div class="CodeBlock-copy-message-prompt">Copy</div> <div class="CodeBlock-copy-message-done">Copied!</div> </div> <div class="CodeBlock-copy-button"> <div class="CodeBlock-copy-icon"> <svg class="done"><use xlink:href="#check"></use></svg> </div> </div> </div> <pre id="play" class="language- " plain-text data-line=""> <div class="CodeBlock-lineNumbers"></div> <code><p>{ <code class="string">"csv"</code>: { <code class="string">"enable"</code>: <code class="keyword">true</code>, <code class="string">"file_name"</code>: <code class="string">"flow_tune.csv"</code>, <code class="string">"max_size_bytes"</code>: <code class="value">1000000</code>, <code class="string">"max_files"</code>: <code class="value">1</code> } }</p></code> </pre> </div> </bsp-code-block> <p> </p> <p>The supported fields are:</p> <ul class=" "><li class=" "><p><code class="InlineCodeBlock"><span>enable</span></code> – Set to <code class="InlineCodeBlock"><span>true</span></code> to enable CSV dumping or <code class="InlineCodeBlock"><span>false</span></code> to disable it. Default value is <code class="InlineCodeBlock"><span>false</span></code>.</p> </li><li class=" "><p><code class="InlineCodeBlock"><span>file_name</span></code> – The name of the CSV file where the data will be saved.</p> </li><li class=" "><p><code class="InlineCodeBlock"><span>max_size_bytes</span></code> – The maximum size (in bytes) of the CSV file. Once this limit is reached, a new file is created based on the <code class="InlineCodeBlock"><span>max_files</span></code> setting.</p> </li><li class=" "><p><code class="InlineCodeBlock"><span>max_files</span></code> – The maximum number of CSV files to keep. When this limit is reached, the oldest files are deleted.</p> </li></ul><p>CSV dumping can also be enabled or disabled from the CLI using the <code class="InlineCodeBlock"><span>--enable-csv</span></code> or <code class="InlineCodeBlock"><span>--disable-csv</span></code> flags, respectively. For example:</p><bsp-code-block class="CodeBlock" data-module="standard" data-language="text/plain" data-noAnnotations > <div class="CodeBlock-wrapper"> <div class="CodeBlock-copy"> <div class="CodeBlock-copy-message"> <div class="CodeBlock-copy-message-prompt">Copy</div> <div class="CodeBlock-copy-message-done">Copied!</div> </div> <div class="CodeBlock-copy-button"> <div class="CodeBlock-copy-icon"> <svg class="done"><use xlink:href="#check"></use></svg> </div> </div> </div> <pre id="play" class="language- " plain-text data-line=""> <div class="CodeBlock-lineNumbers"></div> <code><p>doca_flow_tune monitor -f /tmp/flow_tune_cfg.json --enable-csv</p></code> </pre> </div> </bsp-code-block> <p> </p> <p>Additionally, the CSV filename can be updated by using the <code class="InlineCodeBlock"><span>--csv-file-name</span></code> flag, for example:</p> <p> </p><bsp-code-block class="CodeBlock" data-module="standard" data-language="text/plain" data-noAnnotations > <div class="CodeBlock-wrapper"> <div class="CodeBlock-copy"> <div class="CodeBlock-copy-message"> <div class="CodeBlock-copy-message-prompt">Copy</div> <div class="CodeBlock-copy-message-done">Copied!</div> </div> <div class="CodeBlock-copy-button"> <div class="CodeBlock-copy-icon"> <svg class="done"><use xlink:href="#check"></use></svg> </div> </div> </div> <pre id="play" class="language- " plain-text data-line=""> <div class="CodeBlock-lineNumbers"></div> <code><p>doca_flow_tune monitor -f /tmp/flow_tune_cfg.json --csv-file-name <code class="string">"counters_dump.csv"</code></p></code> </pre> </div> </bsp-code-block> <p> </p> <h4 id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-MonitorConfigurationSection"> <a href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-MonitorConfigurationSection" data-cms-ai="0">Monitor Configuration Section</a> </h4> <h4 id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-ScreenMode"> <a href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-ScreenMode" data-cms-ai="0">Screen Mode</a> </h4> <p>The Monitor module supports two screen modes: <code class="InlineCodeBlock"><span>dark</span></code> and <code class="InlineCodeBlock"><span>light</span></code>.</p><p> </p> <h4 id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-Hardware"> <a href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-Hardware" data-cms-ai="0">Hardware</a> </h4> <p>The <code class="InlineCodeBlock"><span>hardware</span></code> section includes the <code class="InlineCodeBlock"><span>pci_addresses</span></code> and <code class="InlineCodeBlock"><span>profile</span></code> fields:</p> <ul class=" "><li class=" "><p class="auto-cursor-target">The <code class="InlineCodeBlock"><span>pci_addresses</span></code> field expects an array of PCIe addresses for NIC ports. The tool uses these addresses to retrieve the corresponding NIC device and the desired port IDs.</p> <div class="CallOutBox" data-option-Note> <div class="CallOutBox-icon"><svg><use xlink:href="#calloutbox-icon-check"></use></svg> </div><div class="CallOutBox-title">Note</div> <div class="CallOutBox-body"> <p>PCIe addresses must belong to the same device.</p> </div> </div> <p> </p> <div class="CallOutBox" data-option-Info> <div class="CallOutBox-icon"><svg><use xlink:href="#calloutbox-icon-info"></use></svg> </div><div class="CallOutBox-title">Info</div> <div class="CallOutBox-body"> <p>The tool supports up to two ports per device.</p> </div> </div> <p> </p> </li><li class=" "><p>The <code class="InlineCodeBlock"><span>profile</span></code> field expects to receive either a <code class="InlineCodeBlock"><span>basic</span></code> or <code class="InlineCodeBlock"><span>full</span></code> profile.</p> <ul class=" "><li class=" "><p><code class="InlineCodeBlock"><span>basic</span></code> profile – includes packet- and port-related counters (i.e., Bandwidth, Packets Per Second, Average Packet Size, Packet Drops)</p> </li><li class=" "><p class="auto-cursor-target"><code class="InlineCodeBlock"><span>full</span></code> profile – includes all the <code class="InlineCodeBlock"><span>basic</span></code> counters and adds additional debug counters (e.g., ICMC and PCIe counters)</p> <div class="CallOutBox" data-option-Info> <div class="CallOutBox-icon"><svg><use xlink:href="#calloutbox-icon-info"></use></svg> </div><div class="CallOutBox-title">Info</div> <div class="CallOutBox-body"> <p>For more information about the counters please refer to section "<a class="Link" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-HardwareCounters" data-cms-ai="0" >Hardware Counters</a>".</p> </div> </div> <p> </p> </li></ul></li></ul><p>The hardware counters profile can be set from the CLI by adding <code class="InlineCodeBlock"><span>--hw-profile</span></code>. For example:</p><bsp-code-block class="CodeBlock" data-module="standard" data-language="text/plain" data-noAnnotations > <div class="CodeBlock-wrapper"> <div class="CodeBlock-copy"> <div class="CodeBlock-copy-message"> <div class="CodeBlock-copy-message-prompt">Copy</div> <div class="CodeBlock-copy-message-done">Copied!</div> </div> <div class="CodeBlock-copy-button"> <div class="CodeBlock-copy-icon"> <svg class="done"><use xlink:href="#check"></use></svg> </div> </div> </div> <pre id="play" class="language- " plain-text data-line=""> <div class="CodeBlock-lineNumbers"></div> <code><p>doca_flow_tune monitor -f /tmp/flow_tune_cfg.json --hw-profile basic</p></code> </pre> </div> </bsp-code-block> <p> <br> </p> <h4 id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-Software"> <a href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-Software" data-cms-ai="0">Software</a> </h4> <p>The <code class="InlineCodeBlock"><span>software</span></code> section includes the <code class="InlineCodeBlock"><span>flow_port_id</span></code> and <code class="InlineCodeBlock"><span>profiles</span></code> fields:</p> <ul class=" "><li class=" "><p><code class="InlineCodeBlock"><span>flow_port_id</span></code> field – expects a single DOCA Flow port identification number. Flow port ID should be set by the DOCA Flow program, by calling the <code class="InlineCodeBlock"><span>doca_flow_port_cfg_set_devargs()</span></code> API call with a proper port ID string.</p> </li></ul><ul class=" "><li class=" "><p><code class="InlineCodeBlock"><span>profiles</span></code> field – expects to receive one or more supported profiles.</p> <ul class=" "><li class=" "><p class="auto-cursor-target"><code class="InlineCodeBlock"><span>entries_ops_rates</span></code> profile – includes both insertion and deletion rates KPIs</p> <div class="CallOutBox" data-option-Info> <div class="CallOutBox-icon"><svg><use xlink:href="#calloutbox-icon-info"></use></svg> </div><div class="CallOutBox-title">Info</div> <div class="CallOutBox-body"> <p>Currently, this is the only supported profile.</p> </div> </div> <p> </p> </li></ul></li></ul><p>The software KPIs profile can be set from the CLI by adding <code class="InlineCodeBlock"><span>--sw-profile</span></code>, for example:</p> <p> </p><bsp-code-block class="CodeBlock" data-module="standard" data-language="text/plain" data-noAnnotations > <div class="CodeBlock-wrapper"> <div class="CodeBlock-copy"> <div class="CodeBlock-copy-message"> <div class="CodeBlock-copy-message-prompt">Copy</div> <div class="CodeBlock-copy-message-done">Copied!</div> </div> <div class="CodeBlock-copy-button"> <div class="CodeBlock-copy-icon"> <svg class="done"><use xlink:href="#check"></use></svg> </div> </div> </div> <pre id="play" class="language- " plain-text data-line=""> <div class="CodeBlock-lineNumbers"></div> <code><p>doca_flow_tune monitor -f /tmp/flow_tune_cfg.json --sw-profile entries_ops_rates</p></code> </pre> </div> </bsp-code-block> <p> </p> <p> </p> </div> </div> <div class="StepModule" data-module><span class="StepModule-anchor" id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-AnalyzeMode"></span> <div class="StepModuleHeader"><h2 class="StepModuleHeader-title"><a class="StepModuleHeader-anchorLink" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-AnalyzeMode" data-cms-ai="0">Analyze Mode</a></h2> <div class="StepModuleHeader-divider"></div></div> <div class="StepModule-body RichTextBody"> <p>Analyze mode gathers (and later analyzes) information in order to assist users to better understand and debug their DOCA-Flow-based program.</p> <h2 id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-PipelineExport"> <a href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-PipelineExport" data-cms-ai="0">Pipeline Export</a> </h2> <p>This tool export an internal state of the DOCA-Flow-based program in a proprietary JSON format. This allows the tool to provide offline information about a given program which can be later be analyzed. One such example is the ability to visualize the pipeline of the target program without having said program run on real hardware.</p> <p>While the pipeline export operation is meant to encode all relevant information for future analysis, the format itself is proprietary and is only meant to be consumed by other DOCA tools.</p><p> </p> </div> </div> <div class="StepModule" data-module><span class="StepModule-anchor" id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-VisualizeMode"></span> <div class="StepModuleHeader"><h2 class="StepModuleHeader-title"><a class="StepModuleHeader-anchorLink" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-VisualizeMode" data-cms-ai="0">Visualize Mode</a></h2> <div class="StepModuleHeader-divider"></div></div> <div class="StepModule-body RichTextBody"> <h2 id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-ViewingthePipeline"> <a href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-ViewingthePipeline" data-cms-ai="0">Viewing the Pipeline</a> </h2> <p>After running DOCA Flow Tune tool with the <code class="InlineCodeBlock"><span>visualize</span></code> command, an output Mermaid file is generated. The content of the file is the raw format for the markdown markup language (known as "Mermaid" format). This is a widely supported industry standard for visualization purposes. An example for an online graphical editor for the Mermaid format is the <a class="Link" href="https://mermaid.live/" class="external-link" data-cms-ai="0" >Mermaid Live</a> website.</p> <div class="CallOutBox" data-option-Note> <div class="CallOutBox-icon"><svg><use xlink:href="#calloutbox-icon-check"></use></svg> </div><div class="CallOutBox-title">Note</div> <div class="CallOutBox-body"> <p>Copy and paste the content of the Mermaid file into the online editor to be able to view the visualization pipeline of your program.</p> </div> </div> <p> <br> </p> <h2 id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-ReadingtheVisualization"> <a href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-ReadingtheVisualization" data-cms-ai="0">Reading the Visualization</a> </h2> <p>As can be shown in the following example, there are three "subgraphs" (gray background) in the visualized graph:</p> <p></p><div class="Enhancement" data-align-inline > <div class="Enhancement-item"> <figure class="Figure"> <picture> <source type="image/webp" width="1440" height="609" srcset="https://docscontent.nvidia.com/dims4/default/3bef604/2147483647/strip/true/crop/3463x1465+0+0/resize/1440x609!/format/webp/quality/90/?url=https%3A%2F%2Fk3-prod-nvidia-docs.s3.us-west-2.amazonaws.com%2Fbrightspot%2Fconfluence%2F00000193-44fd-ddc9-adbf-e6ffd7010000%2Fdoca%2Fsdk%2Fimages%2Fdownload%2Fattachments%2F3167311114%2Fpsp_gateway-version-1-modificationdate-1727347900950-api-v2.png 1x,https://docscontent.nvidia.com/dims4/default/c8ec032/2147483647/strip/true/crop/3463x1465+0+0/resize/2880x1218!/format/webp/quality/90/?url=https%3A%2F%2Fk3-prod-nvidia-docs.s3.us-west-2.amazonaws.com%2Fbrightspot%2Fconfluence%2F00000193-44fd-ddc9-adbf-e6ffd7010000%2Fdoca%2Fsdk%2Fimages%2Fdownload%2Fattachments%2F3167311114%2Fpsp_gateway-version-1-modificationdate-1727347900950-api-v2.png 2x"> <source type="image/png" width="1440" height="609" srcset="https://docscontent.nvidia.com/dims4/default/13fbd88/2147483647/strip/true/crop/3463x1465+0+0/resize/1440x609!/quality/90/?url=https%3A%2F%2Fk3-prod-nvidia-docs.s3.us-west-2.amazonaws.com%2Fbrightspot%2Fconfluence%2F00000193-44fd-ddc9-adbf-e6ffd7010000%2Fdoca%2Fsdk%2Fimages%2Fdownload%2Fattachments%2F3167311114%2Fpsp_gateway-version-1-modificationdate-1727347900950-api-v2.png"> <img class="Image" alt="psp_gateway-version-1-modificationdate-1727347900950-api-v2.png" srcset="https://docscontent.nvidia.com/dims4/default/13fbd88/2147483647/strip/true/crop/3463x1465+0+0/resize/1440x609!/quality/90/?url=https%3A%2F%2Fk3-prod-nvidia-docs.s3.us-west-2.amazonaws.com%2Fbrightspot%2Fconfluence%2F00000193-44fd-ddc9-adbf-e6ffd7010000%2Fdoca%2Fsdk%2Fimages%2Fdownload%2Fattachments%2F3167311114%2Fpsp_gateway-version-1-modificationdate-1727347900950-api-v2.png 1x,https://docscontent.nvidia.com/dims4/default/79b2e3d/2147483647/strip/true/crop/3463x1465+0+0/resize/2880x1218!/quality/90/?url=https%3A%2F%2Fk3-prod-nvidia-docs.s3.us-west-2.amazonaws.com%2Fbrightspot%2Fconfluence%2F00000193-44fd-ddc9-adbf-e6ffd7010000%2Fdoca%2Fsdk%2Fimages%2Fdownload%2Fattachments%2F3167311114%2Fpsp_gateway-version-1-modificationdate-1727347900950-api-v2.png 2x" width="1440" height="609" src="https://docscontent.nvidia.com/dims4/default/13fbd88/2147483647/strip/true/crop/3463x1465+0+0/resize/1440x609!/quality/90/?url=https%3A%2F%2Fk3-prod-nvidia-docs.s3.us-west-2.amazonaws.com%2Fbrightspot%2Fconfluence%2F00000193-44fd-ddc9-adbf-e6ffd7010000%2Fdoca%2Fsdk%2Fimages%2Fdownload%2Fattachments%2F3167311114%2Fpsp_gateway-version-1-modificationdate-1727347900950-api-v2.png"> </picture> </figure> </div> </div><p> </p><h3 id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-InputGraph"> <a href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-InputGraph" data-cms-ai="0">Input Graph</a> </h3> <ul class=" "><li class=" "><p>This is the left-most subgraph</p> </li><li class=" "><p>Nodes in this section represent a possible start for packet flow (i.e., specific port identifier)</p> </li><li class=" "><p>The next hop in the graph is the DOCA Flow root pipe, as shown in the pipeline graph</p> </li></ul> <h3 id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-PipelineGraph"> <a href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-PipelineGraph" data-cms-ai="0">Pipeline Graph</a> </h3> <ul class=" "><li class=" "><p>This is the middle subgraph</p> </li><li class=" "><p>The subgraph holds all pipes defined by the target program:</p> <ul class=" "><li class=" "><p>Nodes represent a <b>DOCA Flow pipe</b> – each node shows the relevant pipe's attributes as defined by the program (using DOCA Flow API terminology). For example, attributes include the pipe name, pipe type, match items, etc.</p> </li><li class=" "><p>The next hop in the graph can either be another pipe or a terminating action. Terminating action may be a drop, RSS, forward to port, or any other action that terminates the packet's flow as defined by the program.</p> </li><li class=" "><p><b>Control pipe links</b> – the illustration shows links which are egressing from the <b>control pipe</b> indicating the entry match item used to draw this link, including additional relevant information</p> </li><li class=" "><p><b>None-control pipe links</b>:</p> <ul class=" "><li class=" "><p>For non-control pipes, the match items are present at the node's level as all entries share the same match items</p> </li><li class=" "><p>Different links represent different actions taken (e.g., different forward-pipe attributes)</p> </li></ul></li></ul></li></ul> <h3 id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-OutputGraph"> <a href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-OutputGraph" data-cms-ai="0">Output Graph</a> </h3> <ul class=" "><li class=" "><p>This is the right-most subgraph</p> </li><li class=" "><p>This subgraph holds the ports and switch manager nodes</p> </li><li class=" "><p>Links that arrive to this layer represent a packet going to wire (for ports) or to software (for switch manager)</p> </li></ul><p> </p> </div> </div> <div class="StepModule" data-module><span class="StepModule-anchor" id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-Troubleshooting"></span> <div class="StepModuleHeader"><h2 class="StepModuleHeader-title"><a class="StepModuleHeader-anchorLink" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-Troubleshooting" data-cms-ai="0">Troubleshooting</a></h2> <div class="StepModuleHeader-divider"></div></div> <div class="StepModule-body RichTextBody"> <h2 id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-Telemetryfwctldriverisnotloaded"> <a href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-Telemetryfwctldriverisnotloaded" data-cms-ai="0">Telemetry fwctl driver is not loaded</a> </h2> <h3 id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-Error"> <a href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-Error" data-cms-ai="0">Error</a> </h3> <p>When running the DOCA Flow Tune in Monitor mode, the following log messages are encountered at startup:</p><bsp-code-block class="CodeBlock" data-module="standard" data-language="text/plain" data-noAnnotations > <div class="CodeBlock-wrapper"> <div class="CodeBlock-copy"> <div class="CodeBlock-copy-message"> <div class="CodeBlock-copy-message-prompt">Copy</div> <div class="CodeBlock-copy-message-done">Copied!</div> </div> <div class="CodeBlock-copy-button"> <div class="CodeBlock-copy-icon"> <svg class="done"><use xlink:href="#check"></use></svg> </div> </div> </div> <pre id="play" class="language- " plain-text data-line=""> <div class="CodeBlock-lineNumbers"></div> <code><p>[DOCA][WRN][priv_doca_telemetry_fwctl.cpp:<code class="value">121</code>][priv_doca_telemetry_fwctl_find_device_by_pci] Failed finding fwctl device: Opening directory /sys/<code class="keyword">class</code>/fwctl/ failed. Make sure you have the fwctl driver loaded [DOCA][ERR][priv_doca_telemetry_fwctl.cpp:<code class="value">201</code>][priv_doca_telemetry_fwctl_open_by_devinfo] devinfo <code class="value">0x55c572286520</code>: Failed to open fwctl device: Failed to find matching fwctl device</p></code> </pre> </div> </bsp-code-block> <p> <br> </p> <h3 id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-Solution"> <a href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-Solution" data-cms-ai="0">Solution</a> </h3> <p>The DOCA Telemetry SDK uses the <code class="InlineCodeBlock"><span>fwctl</span></code> driver to query the hardware counters, so it is essential to have it installed and loaded.</p> <h4 id="src-3167311114_safe-id-aWQtLk5WSURJQURPQ0FGbG93VHVuZVRvb2x2Mi45LjBMVFMtU3RlcDE6VmVyaWZ5dGhlRHJpdmVySW5zdGFsbGF0aW9u"> <a href="#src-3167311114_safe-id-aWQtLk5WSURJQURPQ0FGbG93VHVuZVRvb2x2Mi45LjBMVFMtU3RlcDE6VmVyaWZ5dGhlRHJpdmVySW5zdGFsbGF0aW9u" data-cms-ai="0">Step 1: Verify the Driver Installation</a> </h4> <p>First, check if the driver is installed as follow:</p> <ul class=" "><li class=" "><p class="auto-cursor-target">Debian/Ubuntu:</p><bsp-code-block class="CodeBlock" data-module="standard" data-language="text/plain" data-noAnnotations > <div class="CodeBlock-wrapper"> <div class="CodeBlock-copy"> <div class="CodeBlock-copy-message"> <div class="CodeBlock-copy-message-prompt">Copy</div> <div class="CodeBlock-copy-message-done">Copied!</div> </div> <div class="CodeBlock-copy-button"> <div class="CodeBlock-copy-icon"> <svg class="done"><use xlink:href="#check"></use></svg> </div> </div> </div> <pre id="play" class="language- " plain-text data-line=""> <div class="CodeBlock-lineNumbers"></div> <code><p>$ sudo apt list --installed | grep fwctl </p></code> </pre> </div> </bsp-code-block> <p> </p> </li><li class=" "><p class="auto-cursor-target">RHEL:</p><bsp-code-block class="CodeBlock" data-module="standard" data-language="text/plain" data-noAnnotations > <div class="CodeBlock-wrapper"> <div class="CodeBlock-copy"> <div class="CodeBlock-copy-message"> <div class="CodeBlock-copy-message-prompt">Copy</div> <div class="CodeBlock-copy-message-done">Copied!</div> </div> <div class="CodeBlock-copy-button"> <div class="CodeBlock-copy-icon"> <svg class="done"><use xlink:href="#check"></use></svg> </div> </div> </div> <pre id="play" class="language- " plain-text data-line=""> <div class="CodeBlock-lineNumbers"></div> <code><p>$ sudo yum list installed | grep fwctl </p></code> </pre> </div> </bsp-code-block> <p> </p> </li></ul><p>If the driver is not installed, install it by running the following commands:</p> <ul class=" "><li class=" "><p class="auto-cursor-target">Debian/Ubuntu:</p><bsp-code-block class="CodeBlock" data-module="standard" data-language="text/plain" data-noAnnotations > <div class="CodeBlock-wrapper"> <div class="CodeBlock-copy"> <div class="CodeBlock-copy-message"> <div class="CodeBlock-copy-message-prompt">Copy</div> <div class="CodeBlock-copy-message-done">Copied!</div> </div> <div class="CodeBlock-copy-button"> <div class="CodeBlock-copy-icon"> <svg class="done"><use xlink:href="#check"></use></svg> </div> </div> </div> <pre id="play" class="language- " plain-text data-line=""> <div class="CodeBlock-lineNumbers"></div> <code><p>$ sudo apt search fwctl >> <fwctl-<code class="keyword">package</code>-name>/.... $ sudo apt install -y <fwctl-<code class="keyword">package</code>-name></p></code> </pre> </div> </bsp-code-block> <p> </p> </li><li class=" "><p class="auto-cursor-target">RHEL:</p><bsp-code-block class="CodeBlock" data-module="standard" data-language="text/plain" data-noAnnotations > <div class="CodeBlock-wrapper"> <div class="CodeBlock-copy"> <div class="CodeBlock-copy-message"> <div class="CodeBlock-copy-message-prompt">Copy</div> <div class="CodeBlock-copy-message-done">Copied!</div> </div> <div class="CodeBlock-copy-button"> <div class="CodeBlock-copy-icon"> <svg class="done"><use xlink:href="#check"></use></svg> </div> </div> </div> <pre id="play" class="language- " plain-text data-line=""> <div class="CodeBlock-lineNumbers"></div> <code><p>$ sudo yum search fwctl >> <fwctl-<code class="keyword">package</code>-name>/.... $ apt/yum install -y <fwctl-<code class="keyword">package</code>-name></p></code> </pre> </div> </bsp-code-block> <p> </p> </li></ul> <h4 id="src-3167311114_safe-id-aWQtLk5WSURJQURPQ0FGbG93VHVuZVRvb2x2Mi45LjBMVFMtU3RlcDI6Q2hlY2tpZnRoZURyaXZlcmlzTG9hZGVk"> <a href="#src-3167311114_safe-id-aWQtLk5WSURJQURPQ0FGbG93VHVuZVRvb2x2Mi45LjBMVFMtU3RlcDI6Q2hlY2tpZnRoZURyaXZlcmlzTG9hZGVk" data-cms-ai="0">Step 2: Check if the Driver is Loaded</a> </h4> <p>After installing the driver, verify that it is loaded by executing:</p><bsp-code-block class="CodeBlock" data-module="standard" data-language="text/plain" data-noAnnotations > <div class="CodeBlock-wrapper"> <div class="CodeBlock-copy"> <div class="CodeBlock-copy-message"> <div class="CodeBlock-copy-message-prompt">Copy</div> <div class="CodeBlock-copy-message-done">Copied!</div> </div> <div class="CodeBlock-copy-button"> <div class="CodeBlock-copy-icon"> <svg class="done"><use xlink:href="#check"></use></svg> </div> </div> </div> <pre id="play" class="language- " plain-text data-line=""> <div class="CodeBlock-lineNumbers"></div> <code><p>$ sudo lsmod | grep fwctl</p></code> </pre> </div> </bsp-code-block> <p> </p> <p>You should see output similar to:</p><bsp-code-block class="CodeBlock" data-module="standard" data-language="text/plain" data-noAnnotations > <div class="CodeBlock-wrapper"> <div class="CodeBlock-copy"> <div class="CodeBlock-copy-message"> <div class="CodeBlock-copy-message-prompt">Copy</div> <div class="CodeBlock-copy-message-done">Copied!</div> </div> <div class="CodeBlock-copy-button"> <div class="CodeBlock-copy-icon"> <svg class="done"><use xlink:href="#check"></use></svg> </div> </div> </div> <pre id="play" class="language- " plain-text data-line=""> <div class="CodeBlock-lineNumbers"></div> <code><p>> mlx5_fwctl <code class="value">20480</code> <code class="value">0</code> > fwctl <code class="value">16384</code> <code class="value">1</code> mlx5_fwctl > mlx5_core <code class="value">2134016</code> <code class="value">2</code> mlx5_fwctl,mlx5_ib > mlx_compat <code class="value">69632</code> <code class="value">14</code> rdma_cm,ib_ipoib,mlxdevm,mlxfw,mlx5_fwctl,iw_cm,ib_umad,fwctl,ib_core,rdma_ucm,ib_uverbs,mlx5_ib,ib_cm,mlx5_core</p></code> </pre> </div> </bsp-code-block> <p> </p> <p>If the driver is not loaded, load it by running:</p> <p> </p><bsp-code-block class="CodeBlock" data-module="standard" data-language="text/plain" data-noAnnotations > <div class="CodeBlock-wrapper"> <div class="CodeBlock-copy"> <div class="CodeBlock-copy-message"> <div class="CodeBlock-copy-message-prompt">Copy</div> <div class="CodeBlock-copy-message-done">Copied!</div> </div> <div class="CodeBlock-copy-button"> <div class="CodeBlock-copy-icon"> <svg class="done"><use xlink:href="#check"></use></svg> </div> </div> </div> <pre id="play" class="language- " plain-text data-line=""> <div class="CodeBlock-lineNumbers"></div> <code><p>$ sudo modprobe mlx5_fwctl</p></code> </pre> </div> </bsp-code-block> <p> </p><p> </p> <h2 id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-MermaidvisualizationinVisualStudioCode"> <a href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-MermaidvisualizationinVisualStudioCode" data-cms-ai="0">Mermaid visualization in Visual Studio Code</a> </h2> <p>Visual Studio Code provides extensions to view Mermaid markdown format, these extensions can be used to view the Mermaid output from DOCA Flow Tune tool.</p> <p>However, for these extension to work, the Mermaid file should be modified with Mermaid opening and closure lines as follows:</p><bsp-code-block class="CodeBlock" data-module="standard" data-language="text/plain" data-noAnnotations > <div class="CodeBlock-wrapper"> <div class="CodeBlock-copy"> <div class="CodeBlock-copy-message"> <div class="CodeBlock-copy-message-prompt">Copy</div> <div class="CodeBlock-copy-message-done">Copied!</div> </div> <div class="CodeBlock-copy-button"> <div class="CodeBlock-copy-icon"> <svg class="done"><use xlink:href="#check"></use></svg> </div> </div> </div> <pre id="play" class="language- " plain-text data-line=""> <div class="CodeBlock-lineNumbers"></div> <code><p>```mermaid <original_mermaid_file_content> ```</p></code> </pre> </div> </bsp-code-block> <p> <br> </p> <h2 id="src-3167311114_safe-id-aWQtLk5WSURJQURPQ0FGbG93VHVuZVRvb2x2Mi45LjBMVFMtTGltaXRlZGZlYXR1cmVzZXTigJNjb3VsZG5vdGRldGVjdGFydW5uaW5nRE9DQUZsb3dwcm9ncmFt"> <a href="#src-3167311114_safe-id-aWQtLk5WSURJQURPQ0FGbG93VHVuZVRvb2x2Mi45LjBMVFMtTGltaXRlZGZlYXR1cmVzZXTigJNjb3VsZG5vdGRldGVjdGFydW5uaW5nRE9DQUZsb3dwcm9ncmFt" data-cms-ai="0">Limited feature set – could not detect a running DOCA Flow program</a> </h2> <h3 id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-Error.1"> <a href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-Error.1" data-cms-ai="0">Error</a> </h3> <p>When running DOCA Flow Tune, the following log message is encountered at startup, followed by some features failing to work/load:</p><bsp-code-block class="CodeBlock" data-module="standard" data-language="text/plain" data-noAnnotations > <div class="CodeBlock-wrapper"> <div class="CodeBlock-copy"> <div class="CodeBlock-copy-message"> <div class="CodeBlock-copy-message-prompt">Copy</div> <div class="CodeBlock-copy-message-done">Copied!</div> </div> <div class="CodeBlock-copy-button"> <div class="CodeBlock-copy-icon"> <svg class="done"><use xlink:href="#check"></use></svg> </div> </div> </div> <pre id="play" class="language- " plain-text data-line=""> <div class="CodeBlock-lineNumbers"></div> <code><p>[DOCA][WRN][flow_tune.cpp:<code class="value">195</code>][get_flow_app_data] Could not detect a running DOCA Flow program, some features will be impacted</p></code> </pre> </div> </bsp-code-block> <p> <br> </p> <h3 id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-Solution.1"> <a href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-Solution.1" data-cms-ai="0">Solution</a> </h3> <p>Some features of DOCA Flow Tune work by interacting with a live DOCA-Flow-based program. This is enabled through a server running in the background as part of the DOCA Flow library, and requires all of the following to be applied:</p> <ul class=" "><li class=" "><p>DOCA-Flow-based program should explicitly enable the server. More information is available in the <a class="Link" href="/doca/sdk/DOCA+Flow+Tune+Server" data-cms-ai="0" >DOCA Flow Tune Server</a> programming guide.</p> </li><li class=" "><p>DOCA-Flow-based program should run using the "trace enabled" DOCA Flow library. More information is available in the "<a class="Link" href="/doca/sdk/DOCA+Flow#src-3113748976_id-.DOCAFlowv2.9.0LTS-DebugandTraceFeatures" data-cms-ai="0" >Debug and Trace Features</a>" section of the DOCA Flow programming guide.</p> </li></ul><p> </p> </div> </div> <div class="StepModule" data-module><span class="StepModule-anchor" id="src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-Appendix"></span> <div class="StepModuleHeader"><h2 class="StepModuleHeader-title"><a class="StepModuleHeader-anchorLink" href="#src-3167311114_id-.NVIDIADOCAFlowTuneToolv2.9.0LTS-Appendix" data-cms-ai="0">Appendix – Configuration File Example</a></h2> <div class="StepModuleHeader-divider"></div></div> <div class="StepModule-body RichTextBody"> <bsp-code-block class="CodeBlock" data-module="standard" data-language="text/plain" data-noAnnotations data-iscollapsible > <div class="CodeBlock-wrapper"> <div class="CodeBlock-header"> <h4 class="CodeBlock-title">flow_tune_cfg.json</h4> <div class="CodeBlock-collapseButton"> <svg class="CodeBlock-chevron"> <use xlink:href="#chevron-down"></use> </svg> <button class="CodeBlock-collapse">Collapse Source</button> </div> </div> <div class="CodeBlock-copy"> <div class="CodeBlock-copy-message"> <div class="CodeBlock-copy-message-prompt">Copy</div> <div class="CodeBlock-copy-message-done">Copied!</div> </div> <div class="CodeBlock-copy-button"> <div class="CodeBlock-copy-icon"> <svg class="done"><use xlink:href="#check"></use></svg> </div> </div> </div> <pre id="play" class="language- line-numbers" plain-text data-line=""> <div class="CodeBlock-lineNumbers"></div> <code><p>{ <code class="string">"outputs_directory"</code>: <code class="string">"/tmp/flow_tune/"</code>, <code class="string">"network"</code>: { <code class="string">"server_uds"</code>: <code class="string">"/tmp/tune_server.sock"</code>, <code class="string">"uds_directory"</code>: <code class="string">"/var/run/doca/flow_tune/"</code> }, <code class="string">"csv"</code>: { <code class="string">"enable"</code>: <code class="keyword">false</code>, <code class="string">"file_name"</code>: <code class="string">"flow_tune.csv"</code>, <code class="string">"max_size_bytes"</code>: <code class="value">1000000000</code>, <code class="string">"max_files"</code>: <code class="value">1</code> }, <code class="string">"analyze"</code>: { <code class="string">"file_name"</code>: <code class="string">"flow_tune_pipeline_desc.json"</code> }, <code class="string">"visualize"</code>: { <code class="string">"pipeline_desc_file"</code>: <code class="string">"/tmp/flow_tune_pipeline_desc.json"</code>, <code class="comments">// Non-mandatory field</code> <code class="string">"file_name"</code>: <code class="string">"flow_tune_pipeline_vis.md"</code> }, <code class="string">"monitor"</code>: { <code class="string">"screen_mode"</code>: <code class="string">"light"</code>, <code class="string">"hardware"</code>: { <code class="string">"pci_addresses"</code>: [ <code class="string">"08:00.0"</code>, <code class="string">"08:00.1"</code> ], <code class="string">"profile"</code>: <code class="string">"full"</code> }, <code class="string">"software"</code>: [ { <code class="string">"flow_port_id"</code>: <code class="value">0</code>, <code class="string">"profiles"</code>: [ <code class="string">"entries_ops_rates"</code> ] }, { <code class="string">"flow_port_id"</code>: <code class="value">1</code>, <code class="string">"profiles"</code>: [ <code class="string">"entries_ops_rates"</code> ] } ] } }</p></code> </pre> </div> </bsp-code-block> <p> </p><p>Where:</p> <ul class=" "><li class=" "><p><code class="InlineCodeBlock"><span>outputs_directory</span></code> – Main directory on which all output products are saved. This field does not have a default value. If no value is provided, DOCA Flow Tune files are saved at the following directories:</p> <ul class=" "><li class=" "><p>CSV file – <code class="InlineCodeBlock"><span>/var/log/doca/flow_tune/</span></code></p> </li><li class=" "><p>Analyze export pipeline description file – <code class="InlineCodeBlock"><span>/tmp/flow_tune/</span></code></p> </li><li class=" "><p>Pipeline visualization file – <code class="InlineCodeBlock"><span>/tmp/flow_tune/</span></code></p> </li></ul></li><li class=" "><p><code class="InlineCodeBlock"><span>network</span></code></p> <ul class=" "><li class=" "><p><code class="InlineCodeBlock"><span>server_uds</span></code> – DOCA Tune Server Unix Domain Socket (UDS) path. Default value is <code class="InlineCodeBlock"><span>/tmp/tune_server.sock</span></code>.</p> </li><li class=" "><p><code class="InlineCodeBlock"><span>uds_directory</span></code> – Directory on which all local UDS is created. Default value is <code class="InlineCodeBlock"><span>/var/run/doca/flow_tune/</span></code>.</p> </li></ul></li><li class=" "><p><code class="InlineCodeBlock"><span>csv</span></code></p> <ul class=" "><li class=" "><p><code class="InlineCodeBlock"><span>enable</span></code> – true if information should be saved into a CSV file. Default value is <code class="InlineCodeBlock"><span>false</span></code>.</p> </li><li class=" "><p><code class="InlineCodeBlock"><span>file_name</span></code> – CSV filename. Default value is <code class="InlineCodeBlock"><span>flow_tune.csv</span></code>.</p> </li><li class=" "><p><code class="InlineCodeBlock"><span>max_size_bytes</span></code> – CSV file maximum size in bytes. When the limit is reached, a new file is created. Default value is <code class="InlineCodeBlock"><span>1Gb</span></code>.</p> </li><li class=" "><p><code class="InlineCodeBlock"><span>max_files</span></code> – Maximum CSV files to create. Default value is <code class="InlineCodeBlock"><span>1</span></code>.</p> </li></ul></li><li class=" "><p><code class="InlineCodeBlock"><span>analyze</span></code></p> <ul class=" "><li class=" "><p><code class="InlineCodeBlock"><span>file_name</span></code> – Flow program pipeline description filename. File is created under <code class="InlineCodeBlock"><span>outputs_directory</span></code> path. Default value is <code class="InlineCodeBlock"><span>flow_tune_pipeline_desc.json</span></code>.</p> </li></ul></li><li class=" "><p><code class="InlineCodeBlock"><span>visualize</span></code></p> <ul class=" "><li class=" "><p><code class="InlineCodeBlock"><span>pipeline_desc_file</span></code> – Flow program pipeline description input file path. This file is the product of the <code class="InlineCodeBlock"><span>analyze export</span></code> command.</p> </li><li class=" "><p><code class="InlineCodeBlock"><span>file_name</span></code> – Flow program pipeline visualization filename. File is created under the <code class="InlineCodeBlock"><span>outputs_directory</span></code> path. Default value is <code class="InlineCodeBlock"><span>flow_tune_pipeline_vis.md</span></code>.</p> </li></ul></li><li class=" "><p><code class="InlineCodeBlock"><span>monitor</span></code></p> <ul class=" "><li class=" "><p><code class="InlineCodeBlock"><span>screen_mode</span></code> – Monitor command theme to be used. Default value is <code class="InlineCodeBlock"><span>light</span></code>.</p> </li><li class=" "><p><code class="InlineCodeBlock"><span>hardware</span></code></p> <ul class=" "><li class=" "><p><code class="InlineCodeBlock"><span>pci_addresses</span></code> – List of PCIe addresses which DOCA Flow Tune should inspect.</p> </li><li class=" "><p><code class="InlineCodeBlock"><span>profile</span></code> – Hardware profile to be used for each PCIe address given. Default value is <code class="InlineCodeBlock"><span>full</span></code>.</p> </li></ul></li><li class=" "><p><code class="InlineCodeBlock"><span>software</span></code></p> <ul class=" "><li class=" "><p><code class="InlineCodeBlock"><span>flow_port_id</span></code> – Flow program port identification number which DOCA Flow Tune should inspect.</p> </li><li class=" "><p><code class="InlineCodeBlock"><span>profiles</span></code> – List of software profiles to be used for the specific port identification number given. Default value is <code class="InlineCodeBlock"><span>[entries_ops_rates]</span></code>.</p> </li></ul></li></ul></li></ul> </div> </div> </main> </bsp-book-content> </div> <bsp-copyright class='Page-copyright'> <span class="Page-copyright-text">© Copyright 2024, NVIDIA.</span> <span class="Page-copyright-update">Last updated on Nov 19, 2024.</span> </bsp-copyright> </main> <aside class="Page-aside"> <bsp-book class="Book"> <div class="Book-container"> <div class="Book-header"> <div class="Book-title">Topics</div> <div class="Book-toggle"> <div class="Book-toggle-icon"> <div></div> <div></div> <div></div> </div> </div> </div> <ul class="Book-items"> <li class="Book-items-item"><bsp-chapter class="Chapter" > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/index.html" data-cms-ai="0">DOCA Documentation v2.9.0</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li class="Book-items-item"><bsp-chapter class="Chapter" data-has-chapters > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DOCA+SDK+v2-9-0/index.html" data-cms-ai="0">DOCA SDK v2.9.0</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> <ul class="Chapter-chapters"> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+Overview/index.html" data-cms-ai="0">NVIDIA DOCA Overview</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-has-chapters data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+Release+Notes/index.html" data-cms-ai="0">NVIDIA DOCA Release Notes</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> <ul class="Chapter-chapters"> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/General+Support/index.html" data-cms-ai="0">General Support</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/Changes+and+New+Features/index.html" data-cms-ai="0">Changes and New Features</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/Bug+Fixes+in+This+Version/index.html" data-cms-ai="0">Bug Fixes in This Version</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/Known+Issues/index.html" data-cms-ai="0">Known Issues</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> </ul> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/BlueField+and+DOCA+User+Types/index.html" data-cms-ai="0">BlueField and DOCA User Types</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+EULA/index.html" data-cms-ai="0">NVIDIA DOCA EULA</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> </ul> </bsp-chapter> </li> <li class="Book-items-item"><bsp-chapter class="Chapter" data-has-chapters > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/Quick+Start+for+BlueField+Developers/index.html" data-cms-ai="0">Quick Start for BlueField Developers</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> <ul class="Chapter-chapters"> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+Developer+Quick+Start+Guide/index.html" data-cms-ai="0">NVIDIA DOCA Developer Quick Start Guide</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> </ul> </bsp-chapter> </li> <li class="Book-items-item"><bsp-chapter class="Chapter" data-has-chapters > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/Installation+and+Setup/index.html" data-cms-ai="0">Installation and Setup</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> <ul class="Chapter-chapters"> <li><bsp-chapter class="Chapter" data-has-chapters data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+Profiles/index.html" data-cms-ai="0">NVIDIA DOCA Profiles</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> <ul class="Chapter-chapters"> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+MLNX_OFED+to+DOCA-OFED+Transition+Guide/index.html" data-cms-ai="0">NVIDIA MLNX_OFED to DOCA-OFED Transition Guide</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> </ul> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+Installation+Guide+for+Linux/index.html" data-cms-ai="0">NVIDIA DOCA Installation Guide for Linux</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+Developer+Guide/index.html" data-cms-ai="0">NVIDIA DOCA Developer Guide</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> </ul> </bsp-chapter> </li> <li class="Book-items-item"><bsp-chapter class="Chapter" data-has-chapters > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DOCA+Programming+Guide/index.html" data-cms-ai="0">DOCA Programming Guide</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> <ul class="Chapter-chapters"> <li><bsp-chapter class="Chapter" data-has-chapters data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DOCA+Programming+Overview/index.html" data-cms-ai="0">DOCA Programming Overview</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> <ul class="Chapter-chapters"> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/Hardware+Overview/index.html" data-cms-ai="0">Hardware Overview</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DOCA+SDK+Architecture/index.html" data-cms-ai="0">DOCA SDK Architecture</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> </ul> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DOCA+Backward+Compatibility+Policy/index.html" data-cms-ai="0">DOCA Backward Compatibility Policy</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-has-chapters data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DOCA+Development+Best+Practices/index.html" data-cms-ai="0">DOCA Development Best Practices</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> <ul class="Chapter-chapters"> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/Capability+Checking/index.html" data-cms-ai="0">Capability Checking</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/Debuggability/index.html" data-cms-ai="0">Debuggability</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> </ul> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-has-chapters data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DOCA+Libraries/index.html" data-cms-ai="0">DOCA Libraries</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> <ul class="Chapter-chapters"> <li><bsp-chapter class="Chapter" data-has-chapters data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DOCA+Common/index.html" data-cms-ai="0">DOCA Common</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> <ul class="Chapter-chapters"> <li><bsp-chapter class="Chapter" data-has-chapters data-level=3 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DOCA+Core/index.html" data-cms-ai="0">DOCA Core</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> <ul class="Chapter-chapters"> <li><bsp-chapter class="Chapter" data-level=4 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/Sync+Event/index.html" data-cms-ai="0">Sync Event</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=4 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/Mmap+Advise/index.html" data-cms-ai="0">Mmap Advise</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> </ul> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=3 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DOCA+Log/index.html" data-cms-ai="0">DOCA Log</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> </ul> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-has-chapters data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DOCA+Flow/index.html" data-cms-ai="0">DOCA Flow</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> <ul class="Chapter-chapters"> <li><bsp-chapter class="Chapter" data-level=3 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DOCA+Flow+Connection+Tracking/index.html" data-cms-ai="0">DOCA Flow Connection Tracking</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=3 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DOCA+Flow+Tune+Server/index.html" data-cms-ai="0">DOCA Flow Tune Server</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> </ul> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-has-chapters data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DPA+Subsystem/index.html" data-cms-ai="0">DPA Subsystem</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> <ul class="Chapter-chapters"> <li><bsp-chapter class="Chapter" data-level=3 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DPA+Development/index.html" data-cms-ai="0">DPA Development</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=3 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DOCA+DPA/index.html" data-cms-ai="0">DOCA DPA</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=3 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DOCA+PCC/index.html" data-cms-ai="0">DOCA PCC</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> </ul> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DOCA+DMA/index.html" data-cms-ai="0">DOCA DMA</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DOCA+Comch/index.html" data-cms-ai="0">DOCA Comch</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DOCA+UROM/index.html" data-cms-ai="0">DOCA UROM</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DOCA+RDMA/index.html" data-cms-ai="0">DOCA RDMA</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DOCA+Ethernet/index.html" data-cms-ai="0">DOCA Ethernet</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DOCA+GPUNetIO/index.html" data-cms-ai="0">DOCA GPUNetIO</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DOCA+App+Shield/index.html" data-cms-ai="0">DOCA App Shield</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DOCA+Compress/index.html" data-cms-ai="0">DOCA Compress</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DOCA+SHA/index.html" data-cms-ai="0">DOCA SHA</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DOCA+Erasure+Coding/index.html" data-cms-ai="0">DOCA Erasure Coding</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DOCA+AES-GCM/index.html" data-cms-ai="0">DOCA AES-GCM</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DOCA+Rivermax/index.html" data-cms-ai="0">DOCA Rivermax</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DOCA+Telemetry+Exporter/index.html" data-cms-ai="0">DOCA Telemetry Exporter</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DOCA+Telemetry/index.html" data-cms-ai="0">DOCA Telemetry</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-has-chapters data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DOCA+Device+Emulation/index.html" data-cms-ai="0">DOCA Device Emulation</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> <ul class="Chapter-chapters"> <li><bsp-chapter class="Chapter" data-has-chapters data-level=3 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DOCA+DevEmu+PCI/index.html" data-cms-ai="0">DOCA DevEmu PCI</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> <ul class="Chapter-chapters"> <li><bsp-chapter class="Chapter" data-level=4 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DOCA+DevEmu+PCI+Generic/index.html" data-cms-ai="0">DOCA DevEmu PCI Generic</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> </ul> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-has-chapters data-level=3 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DOCA+DevEmu+Virtio/index.html" data-cms-ai="0">DOCA DevEmu Virtio</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> <ul class="Chapter-chapters"> <li><bsp-chapter class="Chapter" data-level=4 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DOCA+DevEmu+Virtio-FS/index.html" data-cms-ai="0">DOCA DevEmu Virtio-FS</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> </ul> </bsp-chapter> </li> </ul> </bsp-chapter> </li> </ul> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-has-chapters data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DOCA+Utils/index.html" data-cms-ai="0">DOCA Utils</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> <ul class="Chapter-chapters"> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DOCA+Arg+Parser/index.html" data-cms-ai="0">DOCA Arg Parser</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> </ul> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-has-chapters data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DOCA+Drivers/index.html" data-cms-ai="0">DOCA Drivers</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> <ul class="Chapter-chapters"> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DOCA+UCX/index.html" data-cms-ai="0">DOCA UCX</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-has-chapters data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/MLX+Drivers+(MLNX_OFED)/index.html" data-cms-ai="0">MLX Drivers (MLNX_OFED)</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> <ul class="Chapter-chapters"> <li><bsp-chapter class="Chapter" data-has-chapters data-level=3 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/InfiniBand+Network/index.html" data-cms-ai="0">InfiniBand Network</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> <ul class="Chapter-chapters"> <li><bsp-chapter class="Chapter" data-level=4 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/InfiniBand+Interface/index.html" data-cms-ai="0">InfiniBand Interface</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=4 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+SM/index.html" data-cms-ai="0">NVIDIA SM</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=4 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/QoS+-+Quality+of+Service/index.html" data-cms-ai="0">QoS - Quality of Service</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=4 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/IP+over+InfiniBand+(IPoIB)/index.html" data-cms-ai="0">IP over InfiniBand (IPoIB)</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=4 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/Advanced+Transport/index.html" data-cms-ai="0">Advanced Transport</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=4 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/Optimized+Memory+Access/index.html" data-cms-ai="0">Optimized Memory Access</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=4 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+PeerDirect/index.html" data-cms-ai="0">NVIDIA PeerDirect</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=4 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/CPU+Overhead+Distribution/index.html" data-cms-ai="0">CPU Overhead Distribution</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=4 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/Out-of-Order+(OOO)+Data+Placement/index.html" data-cms-ai="0">Out-of-Order (OOO) Data Placement</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=4 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/IB+Router/index.html" data-cms-ai="0">IB Router</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=4 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/MAD+Congestion+Control/index.html" data-cms-ai="0">MAD Congestion Control</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> </ul> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-has-chapters data-level=3 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DPU/index.html" data-cms-ai="0">DPU</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> <ul class="Chapter-chapters"> <li><bsp-chapter class="Chapter" data-level=4 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/QoS+Configuration/index.html" data-cms-ai="0">QoS Configuration</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=4 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/Shared+RQ+Mode/index.html" data-cms-ai="0">Shared RQ Mode</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> </ul> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-has-chapters data-level=3 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/Storage+Protocols/index.html" data-cms-ai="0">Storage Protocols</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> <ul class="Chapter-chapters"> <li><bsp-chapter class="Chapter" data-level=4 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/SRP+-+SCSI+RDMA+Protocol/index.html" data-cms-ai="0">SRP - SCSI RDMA Protocol</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=4 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/iSCSI+Extensions+for+RDMA+(iSER)/index.html" data-cms-ai="0">iSCSI Extensions for RDMA (iSER)</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=4 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/Lustre/index.html" data-cms-ai="0">Lustre</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=4 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVME-oF+-+NVM+Express+over+Fabrics/index.html" data-cms-ai="0">NVME-oF - NVM Express over Fabrics</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> </ul> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-has-chapters data-level=3 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/Virtualization/index.html" data-cms-ai="0">Virtualization</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> <ul class="Chapter-chapters"> <li><bsp-chapter class="Chapter" data-has-chapters data-level=4 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/Single+Root+IO+Virtualization+(SR-IOV)/index.html" data-cms-ai="0">Single Root IO Virtualization (SR-IOV)</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> <ul class="Chapter-chapters"> <li><bsp-chapter class="Chapter" data-level=5 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/SR-IOV+Live+Migration/index.html" data-cms-ai="0">SR-IOV Live Migration</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> </ul> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=4 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/Enabling+Paravirtualization/index.html" data-cms-ai="0">Enabling Paravirtualization</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=4 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/VXLAN+Hardware+Stateless+Offloads/index.html" data-cms-ai="0">VXLAN Hardware Stateless Offloads</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=4 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/Q-in-Q+Encapsulation+per+VF+in+Linux+(VST)/index.html" data-cms-ai="0">Q-in-Q Encapsulation per VF in Linux (VST)</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=4 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/802-1Q+Double-Tagging/index.html" data-cms-ai="0">802.1Q Double-Tagging</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=4 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/Scalable+Functions/index.html" data-cms-ai="0">Scalable Functions</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> </ul> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-has-chapters data-level=3 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/Resiliency/index.html" data-cms-ai="0">Resiliency</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> <ul class="Chapter-chapters"> <li><bsp-chapter class="Chapter" data-level=4 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/Reset+Flow/index.html" data-cms-ai="0">Reset Flow</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> </ul> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-has-chapters data-level=3 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/Docker+Containers/index.html" data-cms-ai="0">Docker Containers</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> <ul class="Chapter-chapters"> <li><bsp-chapter class="Chapter" data-level=4 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/Docker+Using+SR-IOV/index.html" data-cms-ai="0">Docker Using SR-IOV</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=4 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/Kubernetes+Using+SR-IOV/index.html" data-cms-ai="0">Kubernetes Using SR-IOV</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=4 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/Kubernetes+with+Shared+HCA/index.html" data-cms-ai="0">Kubernetes with Shared HCA</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> </ul> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=3 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/HPC-X/index.html" data-cms-ai="0">HPC-X</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=3 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/Fast+Driver+Unload/index.html" data-cms-ai="0">Fast Driver Unload</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> </ul> </bsp-chapter> </li> </ul> </bsp-chapter> </li> </ul> </bsp-chapter> </li> <li class="Book-items-item"><bsp-chapter class="Chapter" data-has-chapters > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DOCA+Reference+Applications/index.html" data-cms-ai="0">DOCA Reference Applications</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> <ul class="Chapter-chapters"> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+App+Shield+Agent+Application+Guide/index.html" data-cms-ai="0">NVIDIA DOCA App Shield Agent Application Guide</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+DMA+Copy+Application+Guide/index.html" data-cms-ai="0">NVIDIA DOCA DMA Copy Application Guide</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+DPA+All-to-all+Application+Guide/index.html" data-cms-ai="0">NVIDIA DOCA DPA All-to-all Application Guide</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+East-West+Overlay+Encryption+Application/index.html" data-cms-ai="0">NVIDIA DOCA East-West Overlay Encryption Application</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+Eth+L2+Forwarding+Application+Guide/index.html" data-cms-ai="0">NVIDIA DOCA Eth L2 Forwarding Application Guide</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+File+Compression+Application+Guide/index.html" data-cms-ai="0">NVIDIA DOCA File Compression Application Guide</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+File+Integrity+Application+Guide/index.html" data-cms-ai="0">NVIDIA DOCA File Integrity Application Guide</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+GPU+Packet+Processing+Application+Guide/index.html" data-cms-ai="0">NVIDIA DOCA GPU Packet Processing Application Guide</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+IPsec+Security+Gateway+Application+Guide/index.html" data-cms-ai="0">NVIDIA DOCA IPsec Security Gateway Application Guide</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+NVMe+Emulation+App+Guide/index.html" data-cms-ai="0">NVIDIA DOCA NVMe Emulation App Guide</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+PCC+Application+Guide/index.html" data-cms-ai="0">NVIDIA DOCA PCC Application Guide</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+PSP+Gateway+Application+Guide/index.html" data-cms-ai="0">NVIDIA DOCA PSP Gateway Application Guide</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+Secure+Channel+Application+Guide/index.html" data-cms-ai="0">NVIDIA DOCA Secure Channel Application Guide</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+Simple+Forward+VNF+Application+Guide/index.html" data-cms-ai="0">NVIDIA DOCA Simple Forward VNF Application Guide</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-has-chapters data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+Storage+Zero+Copy/index.html" data-cms-ai="0">NVIDIA DOCA Storage Zero Copy</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> <ul class="Chapter-chapters"> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+Storage+Zero+Copy+Comch+to+RDMA+Application+Guide/index.html" data-cms-ai="0">NVIDIA DOCA Storage Zero Copy Comch to RDMA Application Guide</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+Storage+Zero+Copy+Initiator+Comch+Application+Guide/index.html" data-cms-ai="0">NVIDIA DOCA Storage Zero Copy Initiator Comch Application Guide</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+Storage+Zero+Copy+Target+RDMA+Application+Guide/index.html" data-cms-ai="0">NVIDIA DOCA Storage Zero Copy Target RDMA Application Guide</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> </ul> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+Switch+Application+Guide/index.html" data-cms-ai="0">NVIDIA DOCA Switch Application Guide</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+UPF+Application+Guide/index.html" data-cms-ai="0">NVIDIA DOCA UPF Application Guide</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+UROM+RDMO+Application+Guide/index.html" data-cms-ai="0">NVIDIA DOCA UROM RDMO Application Guide</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+YARA+Inspection+Application+Guide/index.html" data-cms-ai="0">NVIDIA DOCA YARA Inspection Application Guide</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> </ul> </bsp-chapter> </li> <li class="Book-items-item"><bsp-chapter class="Chapter" data-has-chapters > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DOCA+Tools/index.html" data-cms-ai="0">DOCA Tools</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> <ul class="Chapter-chapters"> <li><bsp-chapter class="Chapter" data-has-chapters data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+Bench/index.html" data-cms-ai="0">NVIDIA DOCA Bench</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> <ul class="Chapter-chapters"> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DOCA+Bench+Sample+Invocations/index.html" data-cms-ai="0">DOCA Bench Sample Invocations</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> </ul> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+Capabilities+Print+Tool/index.html" data-cms-ai="0">NVIDIA DOCA Capabilities Print Tool</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+Comm+Channel+Admin+Tool/index.html" data-cms-ai="0">NVIDIA DOCA Comm Channel Admin Tool</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-has-chapters data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DPA+Tools/index.html" data-cms-ai="0">NVIDIA DPA Tools</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> <ul class="Chapter-chapters"> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+DPACC+Compiler/index.html" data-cms-ai="0">NVIDIA DOCA DPACC Compiler</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+DPA+Execution+Unit+Management+Tool/index.html" data-cms-ai="0">NVIDIA DOCA DPA Execution Unit Management Tool</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+DPA+GDB+Server+Tool/index.html" data-cms-ai="0">NVIDIA DOCA DPA GDB Server Tool</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+DPA+PS+Tool/index.html" data-cms-ai="0">NVIDIA DOCA DPA PS Tool</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+DPA+Statistics+Tool/index.html" data-cms-ai="0">NVIDIA DOCA DPA Statistics Tool</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> </ul> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+Flow+Tune+Tool/index.html" data-cms-ai="0">NVIDIA DOCA Flow Tune Tool</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+PCC+Counter+Tool/index.html" data-cms-ai="0">NVIDIA DOCA PCC Counter Tool</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+Socket+Relay/index.html" data-cms-ai="0">NVIDIA DOCA Socket Relay</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> </ul> </bsp-chapter> </li> <li class="Book-items-item"><bsp-chapter class="Chapter" data-has-chapters > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DOCA+Services/index.html" data-cms-ai="0">DOCA Services</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> <ul class="Chapter-chapters"> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+BlueField+Container+Deployment+Guide/index.html" data-cms-ai="0">NVIDIA BlueField Container Deployment Guide</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+BlueMan+Service+Guide/index.html" data-cms-ai="0">NVIDIA DOCA BlueMan Service Guide</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+Firefly+Service+Guide/index.html" data-cms-ai="0">NVIDIA DOCA Firefly Service Guide</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+Flow+Inspector+Service+Guide/index.html" data-cms-ai="0">NVIDIA DOCA Flow Inspector Service Guide</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-has-chapters data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+HBN+Service+Guide/index.html" data-cms-ai="0">NVIDIA DOCA HBN Service Guide</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> <ul class="Chapter-chapters"> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/HBN+Service+Release+Notes/index.html" data-cms-ai="0">HBN Service Release Notes</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/HBN+Service+Deployment/index.html" data-cms-ai="0">HBN Service Deployment</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/HBN+Service+Configuration/index.html" data-cms-ai="0">HBN Service Configuration</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/HBN+Service+Troubleshooting/index.html" data-cms-ai="0">HBN Service Troubleshooting</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> </ul> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+Management+Service+Guide/index.html" data-cms-ai="0">NVIDIA DOCA Management Service Guide</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-has-chapters data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+SNAP+Services/index.html" data-cms-ai="0">NVIDIA DOCA SNAP Services</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> <ul class="Chapter-chapters"> <li><bsp-chapter class="Chapter" data-has-chapters data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+SNAP+Virtio-fs+Service+Guide/index.html" data-cms-ai="0">NVIDIA DOCA SNAP Virtio-fs Service Guide</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> <ul class="Chapter-chapters"> <li><bsp-chapter class="Chapter" data-level=3 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/SNAP+Virtio-fs+Release+Notes/index.html" data-cms-ai="0">SNAP Virtio-fs Release Notes</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> </ul> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-has-chapters data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+SNAP-4+Service+Guide/index.html" data-cms-ai="0">NVIDIA DOCA SNAP-4 Service Guide</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> <ul class="Chapter-chapters"> <li><bsp-chapter class="Chapter" data-level=3 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/SNAP-4+Service+Release+Notes/index.html" data-cms-ai="0">SNAP-4 Service Release Notes</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> </ul> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-has-chapters data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+SNAP-3+User+Guide/index.html" data-cms-ai="0">NVIDIA DOCA SNAP-3 User Guide</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> <ul class="Chapter-chapters"> <li><bsp-chapter class="Chapter" data-level=3 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/SNAP-3+Release+Notes/index.html" data-cms-ai="0">SNAP-3 Release Notes</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> </ul> </bsp-chapter> </li> </ul> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+Telemetry+Service+Guide/index.html" data-cms-ai="0">NVIDIA DOCA Telemetry Service Guide</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+UROM+Service+Guide/index.html" data-cms-ai="0">NVIDIA DOCA UROM Service Guide</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-has-chapters data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+Virtio-net+Service+Guide/index.html" data-cms-ai="0">NVIDIA DOCA Virtio-net Service Guide</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> <ul class="Chapter-chapters"> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/Virtio-net+Service+Guide+Release+Notes/index.html" data-cms-ai="0">Virtio-net Service Guide Release Notes</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> </ul> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-has-chapters data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+OpenvSwitch+Acceleration+-+OVS+in+DOCA/index.html" data-cms-ai="0">NVIDIA OpenvSwitch Acceleration - OVS in DOCA</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> <ul class="Chapter-chapters"> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/OVS-Kernel+Hardware+Acceleration/index.html" data-cms-ai="0">OVS-Kernel Hardware Acceleration</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/OVS-DPDK+Hardware+Acceleration/index.html" data-cms-ai="0">OVS-DPDK Hardware Acceleration</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/OVS-DOCA+Hardware+Acceleration/index.html" data-cms-ai="0">OVS-DOCA Hardware Acceleration</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/OVS+Metrics/index.html" data-cms-ai="0">OVS Metrics</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/OVS+Inside+BlueField/index.html" data-cms-ai="0">OVS Inside BlueField</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/Virtual+Switch+on+BlueField/index.html" data-cms-ai="0">Virtual Switch on BlueField</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> </ul> </bsp-chapter> </li> </ul> </bsp-chapter> </li> <li class="Book-items-item"><bsp-chapter class="Chapter" data-has-chapters > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/API+References/index.html" data-cms-ai="0">API References</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> <ul class="Chapter-chapters"> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+Driver+APIs/index.html" data-cms-ai="0">NVIDIA DOCA Driver APIs</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+Library+APIs/index.html" data-cms-ai="0">NVIDIA DOCA Library APIs</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> </ul> </bsp-chapter> </li> <li class="Book-items-item"><bsp-chapter class="Chapter" data-has-chapters > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/Miscellaneous+(Runtime)/index.html" data-cms-ai="0">Miscellaneous (Runtime)</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> <ul class="Chapter-chapters"> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+Glossary/index.html" data-cms-ai="0">NVIDIA DOCA Glossary</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+Crypto+Acceleration/index.html" data-cms-ai="0">NVIDIA DOCA Crypto Acceleration</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+Services+Fluent+Logger/index.html" data-cms-ai="0">NVIDIA DOCA Services Fluent Logger</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+DPU+CLI/index.html" data-cms-ai="0">NVIDIA DOCA DPU CLI</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/fTPM+over+OP-TEE/index.html" data-cms-ai="0">fTPM over OP-TEE</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+Emulated+Devices/index.html" data-cms-ai="0">NVIDIA DOCA Emulated Devices</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+BlueField+Modes+of+Operation/index.html" data-cms-ai="0">NVIDIA BlueField Modes of Operation</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-has-chapters data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DOCA+Switching/index.html" data-cms-ai="0">DOCA Switching</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> <ul class="Chapter-chapters"> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DPU+Kernel+Representors+Model/index.html" data-cms-ai="0">DPU Kernel Representors Model</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/VirtIO+Acceleration+through+Hardware+vDPA/index.html" data-cms-ai="0">Virtio Acceleration through Hardware vDPA</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/Bridge+Offload/index.html" data-cms-ai="0">Bridge Offload</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/Link+Aggregation/index.html" data-cms-ai="0">Link Aggregation</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-has-chapters data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/Controlling+Host+PF+and+VF+Parameters/index.html" data-cms-ai="0">Controlling Host PF and VF Parameters</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> <ul class="Chapter-chapters"> <li><bsp-chapter class="Chapter" data-level=3 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/Configuring+Uplink+MTU/index.html" data-cms-ai="0">Configuring Uplink MTU</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> </ul> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/DPDK+on+BlueField/index.html" data-cms-ai="0">DPDK on BlueField</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> </ul> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+with+OpenSSL/index.html" data-cms-ai="0">NVIDIA DOCA with OpenSSL</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+BlueField+DPU+Scalable+Function+User+Guide/index.html" data-cms-ai="0">NVIDIA BlueField DPU Scalable Function User Guide</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+TLS+Offload+Guide/index.html" data-cms-ai="0">NVIDIA TLS Offload Guide</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-has-chapters data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+Troubleshooting+Guide/index.html" data-cms-ai="0">NVIDIA DOCA Troubleshooting Guide</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> <ul class="Chapter-chapters"> <li><bsp-chapter class="Chapter" data-level=2 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+BlueField+Reset+and+Reboot+Procedures/index.html" data-cms-ai="0">NVIDIA BlueField Reset and Reboot Procedures</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> </ul> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/BlueField+SR-IOV/index.html" data-cms-ai="0">BlueField SR-IOV</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+Virtual+Functions+User+Guide/index.html" data-cms-ai="0">NVIDIA DOCA Virtual Functions User Guide</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> </ul> </bsp-chapter> </li> <li class="Book-items-item"><bsp-chapter class="Chapter" data-has-chapters > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/Archives/index.html" data-cms-ai="0">Archives</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> <ul class="Chapter-chapters"> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+LTS+Versions/index.html" data-cms-ai="0">NVIDIA DOCA LTS Versions</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> <li><bsp-chapter class="Chapter" data-level=1 > <div class="Chapter-header"> <div class="Chapter-title"> <a class="Link" href="https://docs.nvidia.com/doca/sdk/NVIDIA+DOCA+Documentation+Archives/index.html" data-cms-ai="0">NVIDIA DOCA Documentation Archives</a> </div> <div class="Chapter-icon"> <svg class="Chapter-iconCollapsed"> <use xlink:href="#icon-plus"></use> </svg> <svg class="Chapter-iconExpanded"> <use xlink:href="#icon-minus"></use> </svg> </div> <div class="Chapter-icon-sub"> <svg class="Chapter-iconExpanded sub"> <use xlink:href="#chevron-up"></use> </svg> <svg class="Chapter-iconCollapsed sub"> <use xlink:href="#chevron-down"></use> </svg> </div> </div> </bsp-chapter> </li> </ul> </bsp-chapter> </li> </ul> <span class="Book-resizer"></span> </div> </bsp-book> </aside> </div> </div> <footer class="Page-footer-wrapper"> <div class="Page-footer"> <div class="Page-footer-container"> <div class="Page-footer-columns"> <div class="Page-footer-column"></div> <div class="Page-footer-column"> <div class="Page-footer-navigation" data-no-content> <nav class="FooterNavigation"> <ul class="FooterNavigation-items" data-column-count="3"> <li class="FooterNavigation-items-item"> <div class="FooterNavigationItem"> <div class="FooterNavigationItem-text"> <span>Corporate Info</span> </div> <ul class="FooterNavigationItem-items"> <li class="FooterNavigationItem-items-item"><a class="NavigationLink" href="https://www.nvidia.com/en-us/" target="_blank" data-cms-ai="0"><span class="NavigationLink-text">NVIDIA.com Home</span></a> </li> <li class="FooterNavigationItem-items-item"><a class="NavigationLink" href="https://www.nvidia.com/en-us/about-nvidia/" target="_blank" data-cms-ai="0"><span class="NavigationLink-text">About NVIDIA</span></a> </li> </ul> </div> </li> <li class="FooterNavigation-items-item"> <div class="FooterNavigationItem"> <div class="FooterNavigationItem-text"> <span>NVIDIA Developer</span> </div> <ul class="FooterNavigationItem-items"> <li class="FooterNavigationItem-items-item"><a class="NavigationLink" href="https://developer.nvidia.com/" target="_blank" data-cms-ai="0"><span class="NavigationLink-text">Developer Home</span></a> </li> <li class="FooterNavigationItem-items-item"><a class="NavigationLink" href="https://blogs.nvidia.com/" target="_blank" data-cms-ai="0"><span class="NavigationLink-text">Blog</span></a> </li> </ul> </div> </li> <li class="FooterNavigation-items-item"> <div class="FooterNavigationItem"> <div class="FooterNavigationItem-text"> <span>Resources</span> </div> <ul class="FooterNavigationItem-items"> <li class="FooterNavigationItem-items-item"><a class="NavigationLink" href="https://www.nvidia.com/en-us/contact/" target="_blank" data-cms-ai="0"><span class="NavigationLink-text">Contact Us</span></a> </li> <li class="FooterNavigationItem-items-item"><a class="NavigationLink" href="https://developer.nvidia.com/developer-program" target="_blank" data-cms-ai="0"><span class="NavigationLink-text">Developer Program</span></a> </li> </ul> </div> </li> </ul> </nav> </div> </div> </div> </div> </div> <div class="Page-footer-bottom"> <div class="Page-footer-disclaimer"><p><a class="Link" href="https://www.nvidia.com/en-us/about-nvidia/privacy-policy/" target="_blank" rel="noopener" data-cms-ai="0" >Privacy Policy </a>| <a class="Link" href="https://www.nvidia.com/en-us/about-nvidia/privacy-center/" target="_blank" rel="noopener" data-cms-ai="0" >Manage My Privacy</a> | <a class="Link" href="https://www.nvidia.com/en-us/preferences/start/" target="_blank" rel="noopener" data-cms-ai="0" >Do Not Sell or Share My Data</a> | <a class="Link" href="https://www.nvidia.com/en-us/about-nvidia/terms-of-service/" target="_blank" rel="noopener" data-cms-ai="0" >Terms of Service</a> | <a class="Link" href="https://www.nvidia.com/en-us/about-nvidia/accessibility/" target="_blank" rel="noopener" data-cms-ai="0" >Accessibility</a> | <a class="Link" href="https://www.nvidia.com/en-us/about-nvidia/company-policies/" target="_blank" rel="noopener" data-cms-ai="0" >Corporate Policies</a> | <a class="Link" href="https://www.nvidia.com/en-us/product-security/" target="_blank" rel="noopener" data-cms-ai="0" >Product Security</a> | <a class="Link" href="https://www.nvidia.com/en-us/contact/" target="_blank" rel="noopener" data-cms-ai="0" >Contact</a></p><p>Copyright © 2024 NVIDIA Corporation</p></div> </div> </footer> <script>_satellite.pageBottom();</script> <script></script><div id="chatbot"></div></script> <script src="https://d4j85rjepgcta.cloudfront.net/nvidiadocs/chatbot.js"></script> <script> const tables = document.querySelectorAll('.Page-twoColumn table'); const className = 'table-wrapper' tables.forEach(tbl => { const parent = tbl.parentNode; if(!parent.classList.contains(className)){ const wrapper = document.createElement('div'); wrapper.classList.add(className) parent.insertBefore( wrapper, tbl ); wrapper.appendChild(tbl); } }) </script> <bsp-modal class="Modal"> <div class="Modal-wrapper"> <div class="Modal-close"><button>Close</button></div> <div class="Modal-content"> content here </div> </div> </bsp-modal> <span data-bsp-pv="75918a10-b479-3fb1-bb84-6a57df4b0241"></span><span data-bsp-pv="00000193-4502-d86e-a5f3-fd0f452b0000"></span><script data-bsp-site="00000183-66b2-dbb3-afcb-6ebe6f520000" data-bsp-contentid="00000193-4502-d86e-a5f3-fd0f452b0000"></script><script data-bsp-site="00000183-66b2-dbb3-afcb-6ebe6f520000" data-bsp-contentid="00000193-4502-d86e-a5f3-fd0f452b0000" src="https://docscontent.nvidia.com/resource/00000183-6725-d7fd-a5bb-6727dc560000/_resource/analytics/bsp-analytics.min.3d492319d8b084de04ab3a208c32f0b5.gz.js"></script></body> </html>