Zebraは多くのルーティングプロトコルを扱うためにモジュール構造を取って います。これによって、複数のプロトコルを矛盾なく、ルーティングテーブルに 反映させる事が出来る訳です。
従って、Unix カーネルのルーティングテーブルを変更するのは Zebra デーモン の役割で、それぞれのルーティングプロトコルは別のモジュールである bgpd, ripd, ospfd デーモンなどの役割になる訳です。Zebraの設定をする場合には、 この構造を良く理解しておく必要があります。
GNU Hurd では少し事情が違います。というのは、GNU Hurd では ルーティングなどのTCP/IPスタック自体がカーネルの外に出されている からです。従って、GNU Hurd ではZebra自身がルーティングを 司っているのです。今までの Unix OS のルーティングでは出来なかった ような事がこれにより可能になる非常に楽しみな構造になっています。