La Fibre

Datacenter et équipements réseaux => Équipements réseaux => Serveurs NAS, serveurs et micro-serveurs => Discussion démarrée par: Fuli10 le 16 mars 2017 à 15:29:56

Titre: Carte réseau: différences broadcom vs intel
Posté par: Fuli10 le 16 mars 2017 à 15:29:56
Bonjour,

Plus par curiosité qu'autre chose, j'aimerai savoir s'il y a à l'usage des différences entre des cartes réseaux de marque Broadcom, et d'autres avec des Intel pour un serveur.
J'ai déjà vu sur plusieurs forums des gens qui ne jurent que par des cartes réseaux intel, soit disant broadcom c'est problématique.
En gros je suis passé d'une carte dual broadcom NetXtreme II dual:02:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet (rev 20)
02:00.1 Ethernet controller: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet (rev 20)
à une carte intel (1000/pro ET dual):02:00.0 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01)
02:00.1 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01)
Pour mon usage je ne remarque pas vraiment de différence, surtout que j'utilise le dual en bonding L2+3 et que du coup l'offload est limité dans ce cas.
Par contre j'ai remarqué une petite surconsommation en moyenne d'environ 2-4W quant le serveur est en idle. Je n'ai pas comparé ce qui est offloadé ni la charge CPU au max throughput, mais je m'en fiche un peu. Je pense revenir au broadcom pour récupérer ces quelques watts (je suis déçu, je pensais qu'intel était plus efficace).

Par contre, pour des professionnels comme vous, est ce qu'il y a vraiment une grosse différence entre les 2 marques ? Qu'est ce qui justifie que l'on prenne du intel ou du broadcom ?

Sinon ce qui a terni l'image que j'ai de broadcom, c'est qu'avec la carte réseau broadcom intégré je ne dépasse pas 700Mbps. Je ne sais pas si c'est la carte réseau qui bride, un problème driver spécifique avec cette carte là (le serveur tiens très bien le Gb/port avec les autres carte dual, et à 700Mbps le serveur se tourne les pouces), ou le BMC qui préempte l'usage du port (LOM en shared, fixé en dure dans le BIOS).
Le serveur étant un Dell T110 II, la carte intégré est donc:03:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5722 Gigabit Ethernet PCI Express
Titre: Carte réseau: différences broadcom vs intel
Posté par: vivien le 16 mars 2017 à 16:16:24
Tu parles bien d'une carte Broadcom externe et non pas intégré au serveur ? (de nombreux serveurs ont du bradocom intégré)

Broadcom ce n'est pas du bas de gamme.

Les drivers sont un point fort d'Intel, ils sont très actifs sous Linux, mais aucun raison de ne pas faire 2 Gb/s avec un bonding Broadcom (j'ai déjà fait plusieurs fois ce type de solution avec les broadcom intégré dans les serveurs Dell ou IBM sans aucun pb de perf)

En externe, il faut vérifier que tu exploite bien la carte sur le bon port PCI Express pour les très haut débit (cf Serveur Dell PowerEdge R330 avec carte Intel X710-DA2 (2 ports 10 Gb/s) qui demande plus de lignes PCI express (https://lafibre.info/serveurs/intel-x710-da2/))

Maintenant 1Gb/s cela fonctionne bien sur un port PCIe 1x.... c'est pour des ports à 40 Gb/s ou 4 x 10 Gb/s qu'il faut faire attention.
Titre: Carte réseau: différences broadcom vs intel
Posté par: Fuli10 le 16 mars 2017 à 16:35:26
Oui, je parle bien de carte externe.
Je n'ai pas particulièrement de problème de perf (je tiens bien les 2Gb), à part avec la broadcom intégré au serveur (qui ne dépasse pas 700Mbps).

J'aimerai juste comprend pourquoi je vois surtout ce genre de réaction:
https://forums.anandtech.com/threads/broadcom-vs-intel-nic.2356131/
En langue troll: intel c'est d'la balle, broadcom caca (schématiquement).
Même si les réponses n'incitent pas au débat, c'est qu'il doit y avoir une raison pour insuffler une telle tendance au troll. Apparemment le support des drivers semble une bonne piste.

Au passage (intel -> broadcom), je vais quand même tenter de voir s'il y a une différence dans l'usage CPU entre les 2 cartes dual au test iperf (tant qu'à économiser des watt, voyons s'il y a un peu de changement).

Offload sur un port de l'intel:

# ethtool -k eth1
Features for eth1:
rx-checksumming: on
tx-checksumming: on
        tx-checksum-ipv4: off [fixed]
        tx-checksum-ip-generic: on
        tx-checksum-ipv6: off [fixed]
        tx-checksum-fcoe-crc: off [fixed]
        tx-checksum-sctp: on
scatter-gather: on
        tx-scatter-gather: on
        tx-scatter-gather-fraglist: off [fixed]
tcp-segmentation-offload: on
        tx-tcp-segmentation: on
        tx-tcp-ecn-segmentation: off [fixed]
        tx-tcp-mangleid-segmentation: off
        tx-tcp6-segmentation: on
udp-fragmentation-offload: off [fixed]
generic-segmentation-offload: on
generic-receive-offload: on
large-receive-offload: off [fixed]
rx-vlan-offload: on
tx-vlan-offload: on
ntuple-filters: off [fixed]
receive-hashing: on
highdma: on [fixed]
rx-vlan-filter: on [fixed]
vlan-challenged: off [fixed]
tx-lockless: off [fixed]
netns-local: off [fixed]
tx-gso-robust: off [fixed]
tx-fcoe-segmentation: off [fixed]
tx-gre-segmentation: on
tx-gre-csum-segmentation: on
tx-ipxip4-segmentation: on
tx-ipxip6-segmentation: on
tx-udp_tnl-segmentation: on
tx-udp_tnl-csum-segmentation: on
tx-gso-partial: on
tx-sctp-segmentation: off [fixed]
fcoe-mtu: off [fixed]
tx-nocache-copy: off
loopback: off [fixed]
rx-fcs: off [fixed]
rx-all: off
tx-vlan-stag-hw-insert: off [fixed]
rx-vlan-stag-hw-parse: off [fixed]
rx-vlan-stag-filter: off [fixed]
l2-fwd-offload: off [fixed]
busy-poll: off [fixed]
hw-tc-offload: off [fixed]

Offload sur le bond:

# ethtool -k bond0
Features for bond0:
rx-checksumming: off [fixed]
tx-checksumming: on
        tx-checksum-ipv4: off [fixed]
        tx-checksum-ip-generic: on
        tx-checksum-ipv6: off [fixed]
        tx-checksum-fcoe-crc: off [fixed]
        tx-checksum-sctp: off [fixed]
scatter-gather: on
        tx-scatter-gather: on
        tx-scatter-gather-fraglist: off [requested on]
tcp-segmentation-offload: on
        tx-tcp-segmentation: on
        tx-tcp-ecn-segmentation: on
        tx-tcp-mangleid-segmentation: on
        tx-tcp6-segmentation: on
udp-fragmentation-offload: off [fixed]
generic-segmentation-offload: on
generic-receive-offload: on
large-receive-offload: on
rx-vlan-offload: on
tx-vlan-offload: on
ntuple-filters: off [fixed]
receive-hashing: off [fixed]
highdma: on
rx-vlan-filter: on
vlan-challenged: off [fixed]
tx-lockless: on [fixed]
netns-local: on [fixed]
tx-gso-robust: off [fixed]
tx-fcoe-segmentation: off [fixed]
tx-gre-segmentation: on
tx-gre-csum-segmentation: on
tx-ipxip4-segmentation: on
tx-ipxip6-segmentation: on
tx-udp_tnl-segmentation: on
tx-udp_tnl-csum-segmentation: on
tx-gso-partial: off [fixed]
tx-sctp-segmentation: off [fixed]
fcoe-mtu: off [fixed]
tx-nocache-copy: off
loopback: off [fixed]
rx-fcs: off [fixed]
rx-all: off [fixed]
tx-vlan-stag-hw-insert: off [fixed]
rx-vlan-stag-hw-parse: off [fixed]
rx-vlan-stag-filter: off [fixed]
l2-fwd-offload: off [fixed]
busy-poll: off [fixed]
hw-tc-offload: off [fixed]
Titre: Carte réseau: différences broadcom vs intel
Posté par: cali le 16 mars 2017 à 17:45:01
Les firmwares broadcom sont proprietaires donc evidemment Intel fonctionne mieux.
Titre: Carte réseau: différences broadcom vs intel
Posté par: vivien le 16 mars 2017 à 18:26:09
Je ne vois pas de carte réseau Ethernet Broadcom qui nécessite un bout de code propriétaire dans Linux.

Ok ce n'est pas la même chose en WiFi, mais là on parle de carte réseau Ethernet...
Titre: Carte réseau: différences broadcom vs intel
Posté par: thenico le 16 mars 2017 à 18:30:49
Il y a eu des soucis avec l'offloading sur les cartes Broadcom.
C'est pour cela que les cartes Broadcom ont mauvaises réputations (même voire surtout sous Windows)
Titre: Carte réseau: différences broadcom vs intel
Posté par: jack le 16 mars 2017 à 18:38:11
Y'a plein de blob ici : https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git

Dont des blob pour bnx2(x), et pour intel d'ailleurs
Titre: Carte réseau: différences broadcom vs intel
Posté par: vivien le 16 mars 2017 à 18:46:31
Sachant que Debian ne met pas de code propriétaire, dans sa distribution, comment ils font ?

Quand je parlait de code propriétaire, je pense à ca :
(https://lafibre.info/testdebit/ubuntu/201604_pilotes_proprietaires.png)
Titre: Carte réseau: différences broadcom vs intel
Posté par: jack le 16 mars 2017 à 18:54:12
Ils sont dans non-free, pas dans main :)

Après, il existe peut-être des versions sans blob des pilotes (même si je crois me souvenir que pour la carte 10G en question, sans le paquet sus-cité, pas de salut)
Titre: Carte réseau: différences broadcom vs intel
Posté par: cali le 16 mars 2017 à 18:57:04
Je ne vois pas de carte réseau Ethernet Broadcom qui nécessite un bout de code propriétaire dans Linux.

Regarde mieux :-)

ls -l /usr/lib/firmware/

Ceci-dit, je vois la l'importance dans une distribution de bien distinguer le proprietaire du FOSS parce que les gens ne se rendent pas souvent compte quand tout est dans le meme sac.
Titre: Carte réseau: différences broadcom vs intel
Posté par: BadMax le 16 mars 2017 à 19:12:40
La différence entre Intel et Broadcom c'est que le premier fait en sorte que ça soit hyper-bien intégré à ses produits (CPU+Chipset), sous-entendu si t'as de l'AMD, va crever. Du coup ça se voit sur les drivers, puisqu'Intel fait le support de ses chipsets, ajouter le réseau ne leur coûte pas grand chose.

En revanche, en terme d'expérience réseau, Broadcom est bien loin d'Intel puisqu'ils fournissent les puces des équipements les plus haut-de-gamme en switching, notamment le fameux Trident 2 des Nexus 9000 et Arista 7x00, qui gère par exemple VxLAN en hardware.

Seul bémol avec Intel : le nombre de variantes d'un même chipset est assez impressionnant. Trouver une puce supportant le boot iSCSI+offloading est bien compliqué.
Titre: Carte réseau: différences broadcom vs intel
Posté par: vivien le 17 mars 2017 à 08:38:37
Autre chose avec Intel, le gros des cartes réseau sont encore en PCIe 2.0 et il faut payer plus pour avoir du PCIe 3.0 (et les cartes 10 Base-T PCIe 3.0 viennent tous juste de sortir)

HP qui intègre des chips Intel pour ses carte réseau a refusé de me vendre leur carte PCIe 3.0 10G X70-DA2 avec un serveur G9 car non validé. Je devais me contenter de celle PCIe 2.0.
Titre: Carte réseau: différences broadcom vs intel
Posté par: Fuli10 le 17 mars 2017 à 11:53:35
Donc Broadcom vs Intel, c'est un peu le reflet du débat code propriétaire vs code libre ?

Quoi qu'il en soit, j'ai remis le broadcom dans le serveur. Première différence que je n'avais pas remarqué la dernière fois, c'est que la carte broadcom supporte l'iSCSI et le PXE au boot alors qu'avec l'Intel il n'y avait rien.
Et en terme de perf, j'ai la même utilisation CPU entre les 2, mais je ne test pas iperf à fond vu les clients que j'ai (ERL et routeur openwrt). Bref mon test rapide montre que ça ne me changera en rien d'utiliser l'une ou l'autre sauf sur le petit gain de consommation.

Sinon, voilà les offload dispo sur une interface de la broadcom:

# ethtool -k eth1
Features for eth1:
rx-checksumming: on
tx-checksumming: on
        tx-checksum-ipv4: on
        tx-checksum-ip-generic: off [fixed]
        tx-checksum-ipv6: on
        tx-checksum-fcoe-crc: off [fixed]
        tx-checksum-sctp: off [fixed]
scatter-gather: on
        tx-scatter-gather: on
        tx-scatter-gather-fraglist: off [fixed]
tcp-segmentation-offload: on
        tx-tcp-segmentation: on
        tx-tcp-ecn-segmentation: on
        tx-tcp-mangleid-segmentation: off
        tx-tcp6-segmentation: on
udp-fragmentation-offload: off [fixed]
generic-segmentation-offload: on
generic-receive-offload: on
large-receive-offload: off [fixed]
rx-vlan-offload: on
tx-vlan-offload: on
ntuple-filters: off [fixed]
receive-hashing: on
highdma: on [fixed]
rx-vlan-filter: off [fixed]
vlan-challenged: off [fixed]
tx-lockless: off [fixed]
netns-local: off [fixed]
tx-gso-robust: off [fixed]
tx-fcoe-segmentation: off [fixed]
tx-gre-segmentation: off [fixed]
tx-gre-csum-segmentation: off [fixed]
tx-ipxip4-segmentation: off [fixed]
tx-ipxip6-segmentation: off [fixed]
tx-udp_tnl-segmentation: off [fixed]
tx-udp_tnl-csum-segmentation: off [fixed]
tx-gso-partial: off [fixed]
tx-sctp-segmentation: off [fixed]
fcoe-mtu: off [fixed]
tx-nocache-copy: off
loopback: off [fixed]
rx-fcs: off [fixed]
rx-all: off [fixed]
tx-vlan-stag-hw-insert: off [fixed]
rx-vlan-stag-hw-parse: off [fixed]
rx-vlan-stag-filter: off [fixed]
l2-fwd-offload: off [fixed]
busy-poll: off [fixed]
hw-tc-offload: off [fixed]

et sur le bonding:

# ethtool -k bond0
Features for bond0:
rx-checksumming: off [fixed]
tx-checksumming: on
        tx-checksum-ipv4: off [fixed]
        tx-checksum-ip-generic: on
        tx-checksum-ipv6: off [fixed]
        tx-checksum-fcoe-crc: off [fixed]
        tx-checksum-sctp: off [fixed]
scatter-gather: on
        tx-scatter-gather: on
        tx-scatter-gather-fraglist: off [requested on]
tcp-segmentation-offload: on
        tx-tcp-segmentation: on
        tx-tcp-ecn-segmentation: on
        tx-tcp-mangleid-segmentation: on
        tx-tcp6-segmentation: on
udp-fragmentation-offload: off [fixed]
generic-segmentation-offload: on
generic-receive-offload: on
large-receive-offload: on
rx-vlan-offload: on
tx-vlan-offload: on
ntuple-filters: off [fixed]
receive-hashing: off [fixed]
highdma: on
rx-vlan-filter: on
vlan-challenged: off [fixed]
tx-lockless: on [fixed]
netns-local: on [fixed]
tx-gso-robust: off [fixed]
tx-fcoe-segmentation: off [fixed]
tx-gre-segmentation: on
tx-gre-csum-segmentation: on
tx-ipxip4-segmentation: on
tx-ipxip6-segmentation: on
tx-udp_tnl-segmentation: on
tx-udp_tnl-csum-segmentation: on
tx-gso-partial: off [fixed]
tx-sctp-segmentation: off [fixed]
fcoe-mtu: off [fixed]
tx-nocache-copy: off
loopback: off [fixed]
rx-fcs: off [fixed]
rx-all: off [fixed]
tx-vlan-stag-hw-insert: off [fixed]
rx-vlan-stag-hw-parse: off [fixed]
rx-vlan-stag-filter: off [fixed]
l2-fwd-offload: off [fixed]
busy-poll: off [fixed]
hw-tc-offload: off [fixed]
Titre: Carte réseau: différences broadcom vs intel
Posté par: vivien le 17 mars 2017 à 13:38:37
Donc Broadcom vs Intel, c'est un peu le reflet du débat code propriétaire vs code libre ?

Les drivers propriétaire et plus encore ceux libres réalisées par réingénierie logicielle sont quand même bien plus bugués que si le constructeur propose un pilote libre.

Pour moi, il est important dans le choix d'une carte WiFi d'avoir un driver le plus libre possible et maintenu par le constructeur, pour éviter les pb que j'ai eu avec Broadcom, notamment des pb en sortir de veille.

Le boot en iSCSI est une option réservée aux carte Intel haut de gamme.
Le PXE est normalement de base par contre.
Titre: Carte réseau: différences broadcom vs intel
Posté par: exeral le 30 novembre 2017 à 00:52:04
au boulot on a monté des load balancer sur des serveur HP avec des cartes NetXtreme.
on a jamais pu dépasser 1.8Gbps avec cette carte. malgré tweak au petits oignons dans le kernel.

On a testé avec une carte Intel. tout les soucis on disparus. 10G atteints.

Titre: Carte réseau: différences broadcom vs intel
Posté par: Fuli10 le 30 novembre 2017 à 08:52:58
Chez moi j'ai un dell T110 ii avec un broadcom intégré. Je n'ai jamais réussi à depasser les 700Mbps malgré un linux qui affichait même pas 4% d'usage CPU. J'ai une autre carte broadcom 2x1G. Là j'arrive bien à atteindre les 1G par port. Par contre je n'ai pas de quoi tester 2x1G en parallèle. Au mieux en utilisant plusieurs clients j'arrive à 1.7G mais je pense que je n'ai pas assez de matériel pour tester le 2ème port (que du matériel embarqué donc perf de base pourri).
Titre: Carte réseau: différences broadcom vs intel
Posté par: vivien le 30 novembre 2017 à 08:59:17
au boulot on a monté des load balancer sur des serveur HP avec des cartes NetXtreme.
on a jamais pu dépasser 1.8Gbps avec cette carte. malgré tweak au petits oignons dans le kernel.

Les cartes Broadcom NetXtreme 10 Gigabit Ethernet sont pourtant des cartes qui arrivent sans pb au débit max sous réserve que le bus PCI express ne soit pas limitant.

Je suis vraiment étonné de ces résultats. J'imagine que c'est un bug du driver.

Quel était la distribution Linux ? Quel Kernel ?
Il y avait combien de connexion TCP en // ?
La carte Broadcom NetXtreme 10 Gigabit Ethernet était bien sur un slots câblé 8x (il y a des slots 8x câblés 4x)
La conf était identique pour la carte Intel (même slot sur le serveur + même environnement logiciel) ?
Titre: Carte réseau: différences broadcom vs intel
Posté par: exeral le 30 novembre 2017 à 13:10:21
my bad. je retire tout ce que j'ai dis  :-X

J'ai confondu netxtreme avec netxen.
c'était donc du Qlogic en cause pas du Broadcom !
Titre: Carte réseau: différences broadcom vs intel
Posté par: vivien le 30 novembre 2017 à 13:23:05
Ok. C'est bien différent.

En carte "serveur" performant, il n'y a que Broadcom et Intel.

Il y en a peut être d'autres mais il ne se sont pas fait connaître...