{"id":14700,"date":"2026-08-17T17:58:26","date_gmt":"2026-08-17T14:58:26","guid":{"rendered":"https:\/\/vasexperts.com\/?p=14700"},"modified":"2026-08-18T13:42:50","modified_gmt":"2026-08-18T10:42:50","slug":"support-for-different-interface-types-in-the-stingray-dpdk_engine7","status":"publish","type":"post","link":"https:\/\/vasexperts.com\/br\/blog\/functionality\/support-for-different-interface-types-in-the-stingray-dpdk_engine7\/","title":{"rendered":"Suporte a diferentes tipos de interfaces na plataforma Stingray: dpdk_engine=7"},"content":{"rendered":"No in\u00edcio, a rede podia usar uma configura\u00e7\u00e3o com portas 1\/10G \u2014 esse tipo de conex\u00e3o do lado do assinante muitas vezes ainda \u00e9 usado at\u00e9 hoje. Com o tempo, a carga e os volumes de tr\u00e1fego aumentaram, e interfaces de 25\/40G passaram a surgir em novos trechos da rede. Ao mesmo tempo, o tr\u00e1fego em dire\u00e7\u00e3o ao backbone \u00e9 agregado e transmitido por meio de v\u00e1rias portas de 100G. Como resultado, equipamentos de gera\u00e7\u00f5es diferentes, com capacidades de interface variadas, podem operar simultaneamente na infraestrutura do operador.\r\n \r\nA plataforma Stingray leva em conta essa heterogeneidade e cobre todos os principais cen\u00e1rios de instala\u00e7\u00e3o (in-line, on-stick, mirror), nos quais interfaces com capacidades diferentes podem operar simultaneamente. Para isso, a plataforma conta com um conjunto de \u201cengines\u201d (mecanismos) \u2014 configura\u00e7\u00f5es de interfaces dpdk (portas de dados), cada uma descrevendo sua pr\u00f3pria combina\u00e7\u00e3o de modos de opera\u00e7\u00e3o. A configura\u00e7\u00e3o dpdk_engine=7 \u00e9 respons\u00e1vel pelo suporte simult\u00e2neo a interfaces de tipos diferentes dentro de uma mesma plataforma.\r\n<h2>Por que os engines padr\u00e3o deixam de ser suficientes<\/h2>\r\nTodos os engines anteriores <strong>(dpdk_engine=0..6)<\/strong> usam um \u00fanico esquema de distribui\u00e7\u00e3o de dispatchers para todo o cluster:\r\n<ul>\r\n \t<li>dpdk_engine=0 \u2014 um dispatcher para todo o cluster;<\/li>\r\n \t<li>dpdk_engine=1 \u2014 um dispatcher por dire\u00e7\u00e3o (in\/out);<\/li>\r\n \t<li>dpdk_engine=2 \u2014 dispatchers RSS por dire\u00e7\u00e3o;<\/li>\r\n \t<li>dpdk_engine=3 \u2014 um dispatcher para cada bridge;<\/li>\r\n \t<li>dpdk_engine=4 \u2014 um dispatcher para cada porta;<\/li>\r\n \t<li>dpdk_engine=6 \u2014 dispatchers RSS por bridge, para placas de alto desempenho 100G+.<\/li>\r\n<\/ul>\r\nMais detalhes sobre cada modo est\u00e3o dispon\u00edveis na <a href=\"https:\/\/wiki.vasexperts.com\/doku.php?id=dpi:dpi_components:platform:dpi_config\" rel=\"nofollow\">documenta\u00e7\u00e3o da Stingray<\/a>.\r\n \r\nEsse modelo funciona enquanto as portas t\u00eam a mesma capacidade. Mas, na rede de um operador, \u00e9 mais comum encontrar a seguinte situa\u00e7\u00e3o: muitas portas de 10G do lado do assinante e uma ou duas portas de 100G do lado do uplink. Isso \u00e9 t\u00edpico, por exemplo, de uma conex\u00e3o BNG, em que a capacidade da LAN e da WAN \u00e9 bastante diferente. Tamb\u00e9m existem configura\u00e7\u00f5es mais complexas, em que portas de 100G, 40G e 10G s\u00e3o usadas simultaneamente, com diferentes esquemas de distribui\u00e7\u00e3o de dispatchers.\r\n \r\nNessas situa\u00e7\u00f5es, um esquema comum nem sempre \u00e9 o ideal. Algumas portas podem ter mais recursos do que precisam, enquanto outras podem n\u00e3o ter recursos suficientes para processar a carga com efici\u00eancia.\r\n<h2>Como distribuir os dispatchers de forma independente com dpdk_engine=7<\/h2>\r\n<strong>O dpdk_engine=7,<\/strong> ou o engine com configura\u00e7\u00e3o expl\u00edcita de dispatchers, permite definir manualmente quais portas cada dispatcher atende e quais recursos s\u00e3o alocados para ele. Diferentemente dos modos anteriores, em que se escolhia um \u00fanico esquema fixo de distribui\u00e7\u00e3o para todo o sistema, esse novo engine permite configurar o processamento de cada grupo de portas de forma independente.\r\n \r\n[important]Esse engine \u00e9 universal \u2014 todos os outros engines podem ser expressos por meio dele.[\/important]\r\n \r\nPara cada dispatcher, \u00e9 poss\u00edvel definir separadamente:\r\n<ul>\r\n \t<li>a lista de portas atendidas;<\/li>\r\n \t<li>o mempool \u2014 o pool de mem\u00f3ria para os pacotes, com um tamanho definido;<\/li>\r\n \t<li>se necess\u00e1rio \u2014 RSS com o n\u00famero de filas desejado.<\/li>\r\n<\/ul>\r\nDiferentemente dos modos anteriores, aqui n\u00e3o \u00e9 preciso escolher um \u00fanico esquema de distribui\u00e7\u00e3o para todo o cluster. As portas podem ser divididas em grupos, e cada grupo pode ter sua pr\u00f3pria configura\u00e7\u00e3o de processamento.\r\n \r\nAl\u00e9m disso, <strong>o dpdk_engine=7<\/strong> \u00e9 universal: por meio dele \u00e9 poss\u00edvel implementar qualquer esquema de distribui\u00e7\u00e3o dispon\u00edvel no <strong>dpdk_engine=0..6<\/strong>.\r\n \r\nPor exemplo, \u201cum dispatcher por dire\u00e7\u00e3o\u201d (equivalente ao <strong>dpdk_engine=1<\/strong>) \u00e9 escrito assim:\r\n<pre>in_dev=port1:port2\r\nout_dev=port3:port4\r\n \r\ndpdk_dispatch=port1,port2;mempool=main\r\ndpdk_dispatch=port3,port4;mempool=main\r\n \r\ndpdk_mempool=name=main;size=1600000\r\n<\/pre>\r\nTamb\u00e9m \u00e9 poss\u00edvel configurar um esquema misto, em que parte das portas funciona por meio de um dispatcher comum e outra parte por meio de RSS:\r\n \r\n<pre>in_dev=port1:port2\r\nout_dev=port3:port4\r\n \r\ndpdk_dispatch=port1:port2;mempool=main10G\r\ndpdk_dispatch=port3:port4;rss=16;mempool=main100G\r\n \r\ndpdk_mempool=name=main10G;size=1600000\r\ndpdk_mempool=name=main100G;size=8000000<\/pre>\r\n \r\nAqui, o grupo de 10G \u00e9 atendido por um \u00fanico dispatcher com o mempool main10G, enquanto as portas de 100G s\u00e3o atendidas por um dispatcher com RSS (16 filas) e um mempool main100G separado e maior. Os par\u00e2metros de processamento podem ser ajustados separadamente para grupos de portas com desempenhos diferentes.\r\n \r\n<a href=\"\/wp-content\/uploads\/2026\/08\/group-1948754930.svg\"><noscript><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/08\/group-1948754930.svg\" alt=\"dpdk_engine=7 dispatch architecture\" width=\"100%\" height=\"auto\" class=\"alignnone wp-image-14701 size-full\"><\/noscript><img decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/08\/group-1948754930.svg\" alt=\"dpdk_engine=7 dispatch architecture\" width=\"100%\" height=\"auto\" class=\"alignnone wp-image-14701 size-full lazyload\" data-src=\"\/wp-content\/uploads\/2026\/08\/group-1948754930.svg\"><\/a>\r\nFigura 1 \u2014 Arquitetura de distribui\u00e7\u00e3o do dpdk_engine=7\r\n \r\nQuanto \u00e0s limita\u00e7\u00f5es: a configura\u00e7\u00e3o ser\u00e1 considerada inv\u00e1lida se uma porta n\u00e3o estiver inclu\u00edda em nenhum <strong>dpdk_dispatch<\/strong> ou estiver inclu\u00edda em v\u00e1rios ao mesmo tempo. Uma porta deve pertencer a apenas um <strong>dpdk_dispatch<\/strong>, e todas as portas dentro de um mesmo dispatcher devem pertencer ao mesmo cluster.\r\n<h2>Como s\u00e3o as configura\u00e7\u00f5es mistas de grandes operadoras<\/h2>\r\nUma operadora precisou desse tipo de esquema depois de modernizar seus uplinks. No n\u00edvel superior da rede, surgiram interfaces de alta velocidade, enquanto no n\u00edvel inferior permaneceram as conex\u00f5es de 10G. Modernizar totalmente essas interfaces n\u00e3o era vi\u00e1vel: substituir o equipamento e as portas exigiria recursos significativos.\r\n \r\nAo mesmo tempo, o tr\u00e1fego de diferentes fontes convergia para um \u00fanico servidor. Distribuir seu processamento entre servidores separados significaria usar equipamentos adicionais e utilizar os recursos computacionais de forma pouco eficiente.\r\n \r\n<a href=\"\/wp-content\/uploads\/2026\/08\/group-1948754928.svg\"><noscript><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/08\/group-1948754928.svg\" alt=\"Operator network diagram\" width=\"665\" height=\"519\" class=\"alignnone size-full wp-image-14703\"><\/noscript><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/uploads\/2026\/08\/group-1948754928.svg\" alt=\"Operator network diagram\" width=\"665\" height=\"519\" class=\"alignnone size-full wp-image-14703 lazyload\" data-src=\"\/wp-content\/uploads\/2026\/08\/group-1948754928.svg\"><\/a>\r\nFigura 2 \u2014 Esquema de rede da operadora\r\n \r\nAntes, a <a href=\"\/br\/products\/stingray\/\">Stingray<\/a> permitia montar bridges apenas com interfaces de mesma capacidade. Para a configura\u00e7\u00e3o mista, era necess\u00e1rio poder configurar de forma independente o processamento dos diferentes grupos de portas.\r\n \r\n<strong>O dpdk_engine=7<\/strong> permite definir, para cada grupo, sua pr\u00f3pria quantidade e tipo de dispatchers. Isso possibilita levar em conta a diferen\u00e7a de capacidade entre as interfaces e evitar distribuir os mesmos recursos entre portas com cargas diferentes.\r\n \r\nComo resultado, n\u00e3o foi necess\u00e1rio reestruturar o sistema em torno de uma \u00fanica velocidade de interface, nem transferir o processamento de determinados grupos para servidores adicionais. No fim, foi poss\u00edvel adaptar o processamento \u00e0 configura\u00e7\u00e3o de rede j\u00e1 existente e usar com mais efici\u00eancia os recursos de hardware dispon\u00edveis.\r\n<h2>O que o dpdk_engine=7 oferece<\/h2>\r\nO dpdk_engine=7 remove uma limita\u00e7\u00e3o dos engines anteriores \u2014 a impossibilidade de aplicar estrat\u00e9gias de distribui\u00e7\u00e3o diferentes a partes distintas de um mesmo cluster. Isso \u00e9 especialmente importante para instala\u00e7\u00f5es de grande porte com um conjunto heterog\u00eaneo de placas, em que o ajuste preciso do n\u00famero de dispatchers e da mem\u00f3ria para um grupo espec\u00edfico de portas afeta diretamente o desempenho e a economia de n\u00facleos.\r\n \r\nSe surgirem d\u00favidas sobre o n\u00famero de dispatchers, o tamanho do mempool ou outros par\u00e2metros ao migrar para o dpdk_engine=7, entre em contato com o suporte t\u00e9cnico da VAS Expert. Nossos especialistas v\u00e3o ajudar a definir a configura\u00e7\u00e3o adequada para o seu esquema de conex\u00e3o e a carga das suas interfaces.\r\n \r\n[product id=\u201d19\u2033 type=\u201ddark\u201d]","protected":false},"excerpt":{"rendered":"<p>\u00c0 medida que a rede de um operador evolui, seu n\u00facleo tamb\u00e9m muda. Nele passam a existir cada vez mais switches e roteadores com interfaces de tipos diferentes, refletindo as diversas etapas de desenvolvimento da infraestrutura.<\/p>\n","protected":false},"author":7,"featured_media":9327,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[55,48],"tags":[],"class_list":["post-14700","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-functionality","category-telecom"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>VAS Experts<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/vasexperts.com\/blog\/functionality\/support-for-different-interface-types-in-the-stingray-dpdk_engine7\/\",\"url\":\"https:\/\/vasexperts.com\/blog\/functionality\/support-for-different-interface-types-in-the-stingray-dpdk_engine7\/\",\"name\":\"Suporte a diferentes tipos de interfaces na Stingray: dpdk_engine=7\",\"isPartOf\":{\"@id\":\"https:\/\/vasexperts.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/vasexperts.com\/blog\/functionality\/support-for-different-interface-types-in-the-stingray-dpdk_engine7\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/vasexperts.com\/blog\/functionality\/support-for-different-interface-types-in-the-stingray-dpdk_engine7\/#primaryimage\"},\"thumbnailUrl\":\"\/wp-content\/uploads\/2023\/07\/nak-dhcp.jpg\",\"datePublished\":\"2026-08-17T14:58:26+00:00\",\"dateModified\":\"2026-08-18T10:42:50+00:00\",\"author\":{\"@id\":\"https:\/\/vasexperts.com\/#\/schema\/person\/f4edcaef26fe49b6b59baf8ac5b62170\"},\"description\":\"O dpdk_engine=7 remove uma limita\u00e7\u00e3o dos engines anteriores \u2014 a impossibilidade de aplicar estrat\u00e9gias de distribui\u00e7\u00e3o diferentes a partes distintas de um mesmo cluster. Isso \u00e9 especialmente importante para instala\u00e7\u00f5es de grande porte\",\"breadcrumb\":{\"@id\":\"https:\/\/vasexperts.com\/blog\/functionality\/support-for-different-interface-types-in-the-stingray-dpdk_engine7\/#breadcrumb\"},\"inLanguage\":\"br-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/vasexperts.com\/blog\/functionality\/support-for-different-interface-types-in-the-stingray-dpdk_engine7\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"br-PT\",\"@id\":\"https:\/\/vasexperts.com\/blog\/functionality\/support-for-different-interface-types-in-the-stingray-dpdk_engine7\/#primaryimage\",\"url\":\"\/wp-content\/uploads\/2023\/07\/nak-dhcp.jpg\",\"contentUrl\":\"\/wp-content\/uploads\/2023\/07\/nak-dhcp.jpg\",\"width\":1600,\"height\":1067,\"caption\":\"NAK DHCP\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/vasexperts.com\/blog\/functionality\/support-for-different-interface-types-in-the-stingray-dpdk_engine7\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\",\"item\":\"https:\/\/vasexperts.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Support for different interface types in the Stingray platform: dpdk_engine=7\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/vasexperts.com\/#website\",\"url\":\"https:\/\/vasexperts.com\/\",\"name\":\"VAS Experts\",\"description\":\"VAS Experts\",\"inLanguage\":\"br-PT\",\"publisher\":{\"@id\":\"https:\/\/vasexperts.com\/#organization\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/vasexperts.com\/#\/schema\/person\/f4edcaef26fe49b6b59baf8ac5b62170\",\"name\":\"Elena Rudich\",\"url\":\"https:\/\/vasexperts.com\/br\/blog\/author\/elena-rudich\/\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/vasexperts.com\/#organization\",\"name\":\"VAS Experts\",\"url\":\"https:\/\/vasexperts.com\/\",\"logo\":\"https:\/\/vasexperts.com\/assets\/img\/svg\/logo.svg\",\"sameAs\":[\"https:\/\/www.linkedin.com\/company\/vas-experts\",\"https:\/\/www.youtube.com\/channel\/UCGYfhhZvmE2XbrCyerzRbGA\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"VAS Experts","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vasexperts.com\/blog\/functionality\/support-for-different-interface-types-in-the-stingray-dpdk_engine7\/","url":"https:\/\/vasexperts.com\/blog\/functionality\/support-for-different-interface-types-in-the-stingray-dpdk_engine7\/","name":"Suporte a diferentes tipos de interfaces na Stingray: dpdk_engine=7","isPartOf":{"@id":"https:\/\/vasexperts.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vasexperts.com\/blog\/functionality\/support-for-different-interface-types-in-the-stingray-dpdk_engine7\/#primaryimage"},"image":{"@id":"https:\/\/vasexperts.com\/blog\/functionality\/support-for-different-interface-types-in-the-stingray-dpdk_engine7\/#primaryimage"},"thumbnailUrl":"\/wp-content\/uploads\/2023\/07\/nak-dhcp.jpg","datePublished":"2026-08-17T14:58:26+00:00","dateModified":"2026-08-18T10:42:50+00:00","author":{"@id":"https:\/\/vasexperts.com\/#\/schema\/person\/f4edcaef26fe49b6b59baf8ac5b62170"},"description":"O dpdk_engine=7 remove uma limita\u00e7\u00e3o dos engines anteriores \u2014 a impossibilidade de aplicar estrat\u00e9gias de distribui\u00e7\u00e3o diferentes a partes distintas de um mesmo cluster. Isso \u00e9 especialmente importante para instala\u00e7\u00f5es de grande porte","breadcrumb":{"@id":"https:\/\/vasexperts.com\/blog\/functionality\/support-for-different-interface-types-in-the-stingray-dpdk_engine7\/#breadcrumb"},"inLanguage":"br-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vasexperts.com\/blog\/functionality\/support-for-different-interface-types-in-the-stingray-dpdk_engine7\/"]}]},{"@type":"ImageObject","inLanguage":"br-PT","@id":"https:\/\/vasexperts.com\/blog\/functionality\/support-for-different-interface-types-in-the-stingray-dpdk_engine7\/#primaryimage","url":"\/wp-content\/uploads\/2023\/07\/nak-dhcp.jpg","contentUrl":"\/wp-content\/uploads\/2023\/07\/nak-dhcp.jpg","width":1600,"height":1067,"caption":"NAK DHCP"},{"@type":"BreadcrumbList","@id":"https:\/\/vasexperts.com\/blog\/functionality\/support-for-different-interface-types-in-the-stingray-dpdk_engine7\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430","item":"https:\/\/vasexperts.com\/"},{"@type":"ListItem","position":2,"name":"Support for different interface types in the Stingray platform: dpdk_engine=7"}]},{"@type":"WebSite","@id":"https:\/\/vasexperts.com\/#website","url":"https:\/\/vasexperts.com\/","name":"VAS Experts","description":"VAS Experts","inLanguage":"br-PT","publisher":{"@id":"https:\/\/vasexperts.com\/#organization"}},{"@type":"Person","@id":"https:\/\/vasexperts.com\/#\/schema\/person\/f4edcaef26fe49b6b59baf8ac5b62170","name":"Elena Rudich","url":"https:\/\/vasexperts.com\/br\/blog\/author\/elena-rudich\/"},{"@type":"Organization","@id":"https:\/\/vasexperts.com\/#organization","name":"VAS Experts","url":"https:\/\/vasexperts.com\/","logo":"https:\/\/vasexperts.com\/assets\/img\/svg\/logo.svg","sameAs":["https:\/\/www.linkedin.com\/company\/vas-experts","https:\/\/www.youtube.com\/channel\/UCGYfhhZvmE2XbrCyerzRbGA"]}]}},"_links":{"self":[{"href":"https:\/\/vasexperts.com\/br\/wp-json\/wp\/v2\/posts\/14700"}],"collection":[{"href":"https:\/\/vasexperts.com\/br\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vasexperts.com\/br\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vasexperts.com\/br\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/vasexperts.com\/br\/wp-json\/wp\/v2\/comments?post=14700"}],"version-history":[{"count":8,"href":"https:\/\/vasexperts.com\/br\/wp-json\/wp\/v2\/posts\/14700\/revisions"}],"predecessor-version":[{"id":14711,"href":"https:\/\/vasexperts.com\/br\/wp-json\/wp\/v2\/posts\/14700\/revisions\/14711"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vasexperts.com\/br\/wp-json\/wp\/v2\/media\/9327"}],"wp:attachment":[{"href":"https:\/\/vasexperts.com\/br\/wp-json\/wp\/v2\/media?parent=14700"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vasexperts.com\/br\/wp-json\/wp\/v2\/categories?post=14700"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vasexperts.com\/br\/wp-json\/wp\/v2\/tags?post=14700"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}