Le 29/04/2016 12:51, Vincent Bernat a écrit :
❦ 29 avril 2016 17:20 GMT, Michel Py <mic...@arneill-py.sacramento.ca.us> :
En revanche avant de penser à utiliser packet journey comme
forwarding plane :), il faut bien évaluer si cela en vaut la peine.
Est ce que tu fais tant de trafic que tu ait besoin de dpdk ? aka
supérieur à xGo/s ? Est ce qu'un simple linux/bsd bien tuné ne
suffirait pas ?
La carte mentionnée sur la page de Gandi est une 40 Gbit/s (XL710).
Question de débutant dans ce domaine : un serveur comme ci-dessus,
avec juste BIRD et une distro sans fioritures (pas de DPDK, pas de
packet shader), on peut en sortir quel débit, avec des paquets de 64
octets ? Je me suis laissé dire qu'on dépassait difficilement 1 ou 2
Gbit/s.
Ça dépend combien de coeurs tu as sur ta machine, vu que pour du
routage, ça scale de manière linéaire sur le nombre de coeurs avec assez
peu d'efforts. Sur un proc récent, tu peux viser 2 Mpps par coeur. Du
coup, avec un hexacoeur, tu montes à 10G. Il semble qu'avec des noyaux
plus récents (> 4), les performances ont été multipliées par 2. Je suis
pas très à jour là-dessus.
Cependant, via switchdev, l'offloading est désormais intégré dans le
noyau Linux et donc avec le bon choix de carte réseau, tu devrais
pouvoir sans effort en bénéficier sous peu. C'est le cas avec des
Mellanox et cela devrait arriver avec le 4.6. Il y a eu une démo en 100G
au dernier NetDev mais en switching uniquement si j'ai bien compris (je
n'y étais pas).
Oui, tu as plusieurs solutions:
- un datapath logiciel sur serveurs (cf 6WIND aussi), là tu peux
monter à 200Mpps @ 64 bytes ; avec ces datapath/fast path, tu peux
utiliser BIRD, Quagga, ExaBPG, Strongswan, Opendaylight, etc...
- un switch/ASIC + Switchdev c'est encore plus performant, mais tu es
alors confronté aux limites des ASIC (regarde le nombre de routes par
exemple).
Ensuite, tout est une question de prix?! un server x86 avec des cartes
PCI 40Gbps: c'est bon marché et tu n'auras pas de limitation du
datapath. En effet, en sous-jacent switchdev te limitera avec les
capacités de l'ASIC. Mais si tu veux beaucoup de ports 10G/40G, alors il
y a un point d'inflexion où l'ASIC reste mieux en sacrifiant quelques
fonctionnels.
En cartes 40G, tu peux regarder les CX4 de Mellanox ou les cartes Intel.
Vérifie que tu as bien les bus x16 et Gen3.
Bons choix,
Vincent
---------------------------
Liste de diffusion du FRnOG
http://www.frnog.org/