Introduction

Le filtre de paquets PF d'OpenBSD prend en charge la forme HFSC pour le façonnage de trafic avec les règles de file d'attente dans pf.conf(5). Cependant, une limitation interne de 32 bits dans la structure de courbe de service HFSC (struct hfsc_sc) a longtemps limité les valeurs de bande passante à environ 4,29 Gbps.

Contexte Technique

Les interfaces réseau 10 G, 25 G et 100 G sont maintenant courantes, et les développeurs d'OpenBSD ont fait des progrès importants pour débloquer le noyau pour SMP et ajouter des pilotes pour les cartes prenant en charge ces vitesses. Cette limitation a commencé à causer des problèmes, car la configuration d'une bande passante de 10 G sur une file d'attente se traduisait par un comportement de planification incorrect et imprévisible.

Un nouveau correctif élargit les champs de bande passante dans le planificateur HFSC du noyau de 32 bits à 64 bits, supprimant ainsi totally cet goulet d'étranglement. Le correctif répare également un bogue d'affichage préexistant dans pftop(1) où les valeurs de bande passante supérieures à 4 Gbps étaient affichées incorrectement.

Analyse et Implications

Pour les utilisateurs finals, l'impact pratique est que la configuration de la bande passante de la file d'attente PF fonctionne désormais correctement pour les interfaces à haute vitesse modernes. La syntaxe familière fait exactement ce que l'on attend : queue rootq on em0 bandwidth 10G queue defq parent rootq bandwidth 8G default. Les valeurs allant jusqu'à 999 G sont prises en charge, ce qui est plus qu'il n'en faut pour les interfaces d'aujourd'hui et de demain.

Perspective

Les configurations existantes utilisant des valeurs inférieures à 4 G continuent de fonctionner sans nécessiter de modifications. Comme toujours, les tests des instantanés -current et les dons à la Fondation OpenBSD sont encouragés. Le fil de discussion intitulé PF Queue bandwidth now 64bit for >4Gbps queues sur tech@ contient le correctif et une brève discussion qui conclut que le code est prêt à être validé pour le 20 mars 2026.