(57)【特許請求の範囲】
【請求項１】
少なくとも１つのネットワーク・プロセッサ（ＮＰ）装置（２５ａ、２５ｂ、２５ｃ、．．．、２５ｎ）を制御する１つまたは複数の汎用制御プロセッサ（ＧＰＰ）（１５ａ、１５ｂ、．．．、１５ｎ）を含む分散ネットワーキング環境内のＮＰ装置によって受信される特殊なデータ・フレームの処理を分散するシステムにおいて、前記ＮＰ装置で受信される特殊なデータ・フレーム・タイプを、前記特殊なフレーム・タイプを処理することが可能なターゲットＧＰＰと関連付けられたターゲット・アドレス（１１５）およびターゲット・ポート・アドレス（１２０）と共にマップするために前記少なくとも１つのＮＰ装置内で実施される構成可能なテーブル（１００）を含むシステムであって、前記ＮＰネットワーク・プロセッサは、受信したデータ・フレームを分類し、かつ前記フレームをそれぞれ前記構成可能なテーブル内の項目と比較する機構を含み、前記ネットワーク処理装置は、前記テーブル内に対応する項目を有する前記分類されたフレーム・タイプに応じて、対応するターゲット・ポート・アドレスを通じて前記フレームを前記ターゲットＧＰＰに転送する手段を含み、前記ターゲットＧＰＰは前記特殊なデータ・フレーム・タイプの転送を処理するために提供される、システム。
【請求項２】
前記ＧＰＰを通じて、前記ターゲット・アドレスおよびターゲット・ポート・アドレスの項目により前記ＮＰ装置中の前記構成可能なテーブルをカスタマイズするアプリケーション・プログラミング・インタフェースをさらに含む請求項１に記載のシステム。
【請求項３】
特殊なデータ・フレーム・タイプに、前記ＮＰ装置によって認識されないプロトコルのデータ・フレームが含まれる請求項１または２に記載のシステム。
【請求項４】
前記ＮＰ装置によって認識されないプロトコルのフレーム・タイプを廃棄待ち行列に入れる構成可能な手段を含む請求項１または２に記載のシステム。
【請求項５】
前記構成可能なテーブルが、前記ＮＰ装置のメモリ内で構成されたフラット・テーブルの設計である請求項１、２、３、または４に記載のシステム。
【請求項６】
前記構成可能なテーブルが、前記ＮＰ装置のメモリ内で構成された二分木の設計である請求項１、２、３、または４に記載のシステム。
【請求項７】
１つまたは複数のネットワーク・プロセッサ（ＮＰ）装置（２５ａ、２５ｂ、２５ｃ、．．．、２５ｎ）を制御する１つまたは複数の汎用制御プロセッサ（ＧＰＰ）（１５ａ、１５ｂ、．．．、１５ｎ）を含む分散ネットワーキング環境内のＮＰ装置によって受信される特殊なデータ・フレームの処理を分散する方法であって、
ａ）前記ＮＰ装置内で実施されるテーブル（１００）であって、前記ＮＰ装置で受信される特殊なデータ・フレーム・タイプを、前記特殊なフレーム・タイプを処理することのできるターゲットＧＰＰと関連付けられたターゲット・アドレス（１１５）およびターゲット・ポート・アドレス（１２０）と共にマップするテーブルを提供するステップと、
ｂ）前記ＮＰネットワーク・プロセッサで、あるデータ・フレーム・タイプのデータ・フレームを受信するステップ（２０３）と、
ｃ）受信したデータ・フレームを分類し、各前記フレームを前記テーブルの項目と比較するステップ（２０５）と、
ｄ）前記分類されたフレーム・タイプが前記テーブル内に対応する項目を有する場合は、対応するターゲット・ポート・アドレスを通じて前記特殊なデータ・フレームを前記ターゲットＧＰＰに転送し、前記ターゲットＧＰＰは前記特殊なデータ・フレーム・タイプの転送を処理するために提供されるステップ（２２０）と、
を含む方法。
【請求項８】
前記ＮＰ装置によって認識されないプロトコルのフレーム・タイプを廃棄待ち行列に入れる構成可能なオプションを提供するステップを含む請求項７に記載の方法。
【請求項９】
ステップａ）が、各特殊なフレーム・タイプの項目に対するターゲットＧＰＰと関連付けられた前記ターゲット・アドレスおよびターゲット・ポート・アドレスにより前記テーブルを構成するためのアプリケーション・プログラミング・インタフェースを実施するステップを含む、請求項７または８に記載の特殊なデータ・フレームの処理を分散する方法。
【請求項１０】
１つまたは複数のネットワーク・プロセッサ（ＮＰ）装置（２５ａ、２５ｂ、２５ｃ、．．．、２５ｎ）を制御する１つまたは複数の汎用制御プロセッサ（ＧＰＰ）（１５ａ、１５ｂ、．．．、１５ｎ）を含む分散ネットワーキング環境で動作するＮＰ装置を構成するためのアプリケーション・プログラミング・インタフェースであって、
前記ＮＰ装置に入力するためにデータ構造を生成する機構であって、前記データ構造は、特殊なフレーム・タイプと、前記特殊なフレーム・タイプを処理することができる前記ネットワーキング環境内のＧＰＰと関連付けられた関連ターゲット・アドレス（１１５）およびターゲット・ポート・アドレス（１２０）とを指定する１つまたは複数の項目を有する機構と、
前記生成されたデータ構造からカスタマイズされたテーブル（１００）を生成し、かつ、前記カスタマイズされたテーブルをＮＰ装置のメモリに入力し、それにより、前記テーブルで後続のテーブル検索を行って、ターゲット・ポート・アドレスを通じて特殊なフレーム・タイプを関連付けられたＧＰＰに転送する装置と、
を含むアプリケーション・プログラミング・インタフェース。
【請求項１１】
前記データ構造はタグ付きリスト値のストリングを含み、各タグ付きリスト値は、前記テーブルに含める特殊なフレーム・タイプを表す属性フィールドと、前記タグ付きリスト値の長さを表す長さフィールドと、前記特殊なフレーム・タイプについてのターゲットと関連付けられたターゲット・アドレスおよびターゲット・ポート・アドレスを指定する値フィールドとを含む、請求項１０に記載のアプリケーション・プログラミング・インタフェース。
【請求項１２】
機械可読のプログラム記憶装置であって、機械による実行が可能な命令のプログラムを具体的に実現して、１つまたは複数のネットワーク・プロセッサ（ＮＰ）装置（２５ａ、２５ｂ、２５ｃ、．．．、２５ｎ）を制御する１つまたは複数の汎用制御プロセッサ（ＧＰＰ）（１５ａ、１５ｂ、．．．、１５ｎ）を含む分散ネットワーキング環境で動作するＮＰ装置を構成する方法ステップを行い、前記方法ステップは、
（ａ）前記ＮＰ装置に入力するためにデータ構造を生成するステップであって、前記データ構造は、特殊なフレーム・タイプと、前記特殊なフレーム・タイプを処理することが可能な、前記ネットワーキング環境と関連付けられたＧＰＰと関連付けられた関連ターゲット・アドレス（１１５）およびターゲット・ポート・アドレス（１２０）を指定する１つまたは複数の項目を有するステップと、
（ｂ）前記生成されたデータ構造からカスタマイズされたテーブル（１００）を生成し、前記カスタマイズされたテーブルをＮＰ装置のメモリに入力し、それにより、前記テーブルで後続のテーブル検索を行って、ターゲット・ポート・アドレスを通じて特殊なフレーム・タイプを関連付けられたＧＰＰに転送するステップと、
を含む機械可読のプログラム記憶装置。
【請求項１３】
前記データ構造はタグ付きリスト値のストリングを含み、各タグ付きリスト値は、前記テーブルに含める特殊なフレーム・タイプを表す属性フィールドと、前記タグ付きリスト値の長さを表す長さフィールドと、前記特殊なフレーム・タイプについてのターゲットと関連付けられたターゲット・アドレスおよびターゲット・ポート・アドレスを指定する値フィールドとを含む、請求項１２に記載の機械可読のプログラム記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般には、ネットワーク・プロセッサ装置に関し、より具体的には、いくつかの汎用プロセッサ（すなわち制御点プロセッサ）に処理を分散する機構に関する。
【０００２】
【従来の技術】
図１は、多数のネットワーク・プロセッサ装置２５ａ、．．．、２５ｎを制御する単一の汎用プロセッサ（ＧＰＰ）制御装置１５を含む典型的なネットワーキング構成１０を表す。ＧＰＰは、あらゆる特殊なデータ・パケット（フレーム）のタイプ（例：ポイントツーポイント（ＰＰＰ）制御フレームや不明のフレーム）を処理することから、システム１０のＧＰＰではしばしば処理上のボトルネックが生じる。
【０００３】
【発明が解決しようとする課題】
図２は、複数の汎用プロセッサ制御装置１５ａ、．．．．、１５ｎを実施する、より分散されたネットワーキング構成を表す。この構成では、処理するためにネットワーク・プロセッサが特殊なフレーム・タイプをＧＰＰに転送するために、各ＧＰＰが、処理しなければならない各プロトコルについてプロトコル・スタックを必要とする。これは、特殊なフレームをどのように特定のＧＰＰに送信するかをネットワーク・プロセッサが解読することができないためである。各ＧＰＰがネットワーク・プロセッサによって処理されるプロトコルごとに完全なプロトコル・スタックを備えなければならないという要件は、メモリの必要性を増し、性能を低下させる。
【０００４】
【課題を解決するための手段】
したがって、本発明は、少なくとも１つのネットワーク・プロセッサ（ＮＰ）装置を制御する１つまたは複数の汎用制御プロセッサ（ＧＰＰ）を含む分散ネットワーキング環境内のＮＰ装置によって受信される特殊なデータ・フレームの処理を分散するシステムにおいて、前記ＮＰ装置で受信される特殊なデータ・フレーム・タイプを、前記特殊なフレーム・タイプを処理することが可能なターゲットＧＰＰに関連付けられたターゲット・アドレスおよびターゲット・ポート・アドレスと共にマップするために、前記少なくとも１つのＮＰ装置内で実施される構成可能なテーブルを含むシステムであって、前記ＮＰネットワーク・プロセッサは、受信したデータ・フレームを分類し、かつ前記フレームをそれぞれ前記構成可能なテーブル内の項目と比較する機構を含み、前記ネットワーク処理装置は、前記テーブル内に対応する項目を有する前記分類されたフレーム・タイプに応じて、対応するターゲット・ポート・アドレスを通じて前記フレームを前記ターゲットＧＰＰに転送する手段を含み、前記ターゲットＧＰＰは前記特殊なデータ・フレーム・タイプの転送を処理するために提供されるシステム、を提供する。
【０００５】
好ましい実施形態によると、各ＧＰＰ装置に完全なプロトコル・スタックのセットを提供する必要性をなくす、分散ネットワーキング環境におけるＧＰＰ構成が提供される。
【０００６】
好適には、分散ネットワーキング環境内のＧＰＰを構成して、特定の特殊なフレーム・タイプを処理させ、ネットワーク・プロセッサにより特定の構成されたＧＰＰに特殊なフレーム・タイプを分散する能力を提供させる機構が提供される。
【０００７】
さらに、いくつかの汎用プロセッサ（すなわち制御点プロセッサ）に処理を分散し、どのプロセッサが特定の操作を処理するかをネットワーク・プロセッサが構成することを可能にするアプリケーション・プログラム・インタフェース（ＡＰＩ）および方法が提供される。
【０００８】
別の態様で、本発明は、１つまたは複数のネットワーク・プロセッサ（ＮＰ）装置を制御する１つまたは複数の汎用制御プロセッサ（ＧＰＰ）を含む分散ネットワーキング環境内のＮＰ装置によって受信される特殊なデータ・フレームの処理を分散する方法を提供し、前記方法は、
ａ）前記ＮＰ装置内で実施されるテーブルであって、前記ＮＰ装置で受信される特殊なデータ・フレーム・タイプを、前記特殊なフレーム・タイプを処理することのできるターゲットＧＰＰと関連付けられたターゲット・アドレスおよびターゲット・ポート・アドレスと共にマップするテーブルを提供すること、
ｂ）前記ＮＰネットワーク・プロセッサで、あるデータ・フレーム・タイプのデータ・フレームを受信すること、
ｃ）受信したデータ・フレームを分類し、各前記フレームを前記テーブルの項目と比較すること、
ｄ）前記分類されたフレーム・タイプが前記テーブル内に対応する項目を有する場合は、対応するターゲット・ポート・アドレスを通じて前記特殊なデータ・フレームを前記ターゲットＧＰＰに転送し、前記ターゲットＧＰＰは前記特殊なデータ・フレーム・タイプの転送を処理するために提供されること、
を含む。
【０００９】
好都合にも、そのような方法は、ネットワーク・プロセッサがいくつかの汎用プロセッサ（すなわち制御点プロセッサ）に処理を分散することを好適に可能ならしめ、また大規模なネットワーキング環境でどのプロセッサが特定の操作を処理するかを構成する機能を可能にし、それによりそれぞれの汎用制御プロセッサで保持する必要のあるプロトコル・スタックの数を減らす。
【００１０】
さらに別の態様で、本発明は、１つまたは複数のネットワーク・プロセッサ（ＮＰ）装置を制御する１つまたは複数の汎用制御プロセッサ（ＧＰＰ）を含む分散ネットワーキング環境内で動作するＮＰ装置を構成するためのアプリケーション・プログラミング・インタフェースを提供し、前記インタフェースは、前記ＮＰ装置に入力するためにデータ構造を生成する機構であって、前記データ構造は、特殊なフレーム・タイプと、前記特殊なフレーム・タイプを処理することが可能な、前記ネットワーキング環境内のＧＰＰと関連付けられた関連ターゲット・アドレスおよびターゲット・ポート・アドレスを指定する１つまたは複数の項目を有する機構と；前記生成されたデータ構造からカスタマイズされたテーブルを生成し、前記カスタマイズされたテーブルをＮＰ装置のメモリに入力する装置とを含み、それにより、前記テーブルで後続のテーブル検索を行って、関連付けられたＧＰＰにターゲット・ポート・アドレスを通じて特殊なフレーム・タイプを転送する。
【００１１】
さらに別の態様では、本発明は、機械可読のプログラム記憶装置であって、機械による実行が可能な命令のプログラムを有形に実施して、１つまたは複数のネットワーク・プロセッサ（ＮＰ）装置を制御する１つまたは複数の汎用制御プロセッサ（ＧＰＰ）を含む分散ネットワーキング環境で動作するＮＰ装置を構成するための方法ステップを実行するプログラム記憶装置を提供し、前記方法ステップは、
（ａ）前記ＮＰ装置に入力するためにデータ構造を生成するステップであって、前記データ構造は、特殊なフレーム・タイプと、前記特殊なフレーム・タイプを処理することが可能な、前記ネットワーキング環境と関連付けられたＧＰＰと関連付けられた関連ターゲット・アドレスおよびターゲット・ポート・アドレスを指定する１つまたは複数の項目を有するステップと、
（ｂ）前記生成されたデータ構造からカスタマイズされたテーブルを生成し、前記カスタマイズされたテーブルをＮＰ装置のメモリに入力し、それにより、前記テーブルで後続のテーブル検索を行って、ターゲット・ポート・アドレスを通じて特殊なフレーム・タイプを関連付けられたＧＰＰに転送するステップと、
を含む。
【００１２】
このデータ構造はタグ付きのリスト値のストリングを含むことが好ましく、各タグ付きリスト値は、前記テーブルに含める特殊なフレーム・タイプを表す属性フィールドと、前記タグ付きリスト値の長さを表す長さフィールドと、特殊なフレーム・タイプのターゲットと関連付けられたターゲット・アドレスおよびターゲット・ポート・アドレスを指定する値フィールドとを含む。
【００１３】
以下で、図面を参照して、一例としての本発明の好ましい実施形態について説明する。
【００１４】
【発明の実施の形態】
好ましい実施形態によると、アプリケーション・プログラム・インタフェース（ＡＰＩ）が提供され、これは、分散ネットワーキング環境で動作する汎用プロセッサ（ＧＰＰ）制御装置（例えば外部ＧＰＰ、ネットワーク・プロセッサ中の埋め込みＧＰＰなど）によって実施され、特殊なデータ・パケット（フレーム）タイプの転送を処理できるようにネットワーク・プロセッサ（ＮＰ）装置をカスタマイズおよび構成することを可能にする。例示のために、本願の出願人によって所有される係属中の米国特許出願第０９／３８４，６９１号に記載されるものなど、ネットワーキング・プロセッサ・ベースの装置およびシステムの１つを参照し、上記出願の写しをこのファイルに含める。ただし、本発明は、各種のハードウェア／ソフトウェア設計によるこの他のネットワーク・プロセッサ・ベースの装置でも用いることが可能である。
【００１５】
前述の係属中の米国特許出願に記載されるように、一般には、ＮＰ装置で受信されるデータ・フレームの一般的な流れは以下の通りである。例えばイーサネット（Ｒ）ＭＡＣなどのネットワーク接続から受信されるフレームは、通常のデータ・フレームかシステム制御用のフレーム（Guided Frames）のいずれかに識別される。好ましい実施形態に照らすと、通常のデータ・フレームと識別されたフレームは、エンベデッド・プロセッサ・コンプレックス（ＥＰＣ）の待ち行列に入れられる。ＥＰＣは、例えばプロトコル・プロセッサなど複数のピコプロセッサを含み、これは、受信したフレームのヘッダを見てそのフレームをどのように処理するか（転送、修正、フィルタリングなど）を決定することのできるロジック（ピココード）を実行する。ＥＰＣはいくつかのルックアップ・テーブルにアクセスすることができ、また分類ハードウェアが補助して、ピコプロセッサがネットワーク・プロセッサの高帯域幅要件について行けるようにする。分類ハードウェア補助装置は、特に、よく知られるフレーム形式のフレームを分類するために提供される。エンベデッド・プロセッシング・コンプレックス（ＥＰＣ）は、特に、ＮＰ装置のチップのプログラム可能性を提供かつ制御し、また諸構成要素（メモリ、ディスパッチャ、インタフェースなど）の中でも特に、共通の命令用メモリに記憶されたピココードを同時に実行する１つまたは複数の処理装置を含む。各処理装置は、例えば３段のパイプライン、汎用レジスタ、およびＡＬＵを含む処理装置コアを含むことが好ましい。動作中は、分類ハードウェア補助装置による分類の結果が、フレームをディスパッチする際に１つまたは複数の処理装置に渡される。特に汎用データ・ハンドラ（ＧＤＨ）と呼ばれる一処理装置は、完全な（full）処理装置と、本発明の好ましい実施形態に従って主にフレームの転送に使用される１つまたは複数のコプロセッシング装置とを含む。
【００１６】
特に、好ましい実施形態のＡＰＩは、ＧＰＰが、特定のネットワーク・プロセッサで実行されるピココードが特定のパケット・タイプを送る送信先に影響するパラメータを構成するために使用される。このＡＰＩにより、エンド・ユーザは、特殊なフレーム・タイプと、対応する特殊なフレームを処理するために提供されるターゲットＧＰＰとを相互参照するカスタマイズ可能なテーブルを構成することができる。このような方式により、各ＧＰＰにプロトコル・スタックを提供する必要性が回避される。
【００１７】
図３は、ＡＰＩを介して特殊なフレーム・タイプを事前に指定されたＧＰＰに転送するための、カスタマイズ可能なテーブル１００の一例を表す。好ましい実施形態では、カスタマイズ可能なテーブル１００は、ＮＰ装置のメモリ内で構成されたフラット・テーブルであり、分類された特殊なフレーム・タイプに対応する項目を含む。この項目には、ポイントツーポイント（ＰＰＰ）による制御タイプ１０２、不明のデータ・フレーム・タイプ１０５（すなわちＮＰ装置によって理解されないプロトコルのフレーム）、ＩＰフレーム・タイプ１０７、およびラップ（Wrap）タイプ１１０のフレーム（すなわち、ＮＰの出口（egress）側のスイッチ・ファブリックから受信されるフレーム）、が含まれるがこれらに限定されない。図３に示すカスタマイズされたテーブルには、例えばレイヤ３プロトコルなど、その他の特殊なフレーム・タイプを特定のＧＰＰ宛先に対してマップできることが理解される。さらに、カスタマイズされるテーブル１００が多数のフレーム・タイプの項目を有するより大きなサイズである場合は、テーブルを二分木の形でＮＰのメモリ内で構成し、テーブル検索を容易にできることが理解される。特殊なフレーム・タイプとして分類されるフレームごとに対応する項目が提供され、この項目にはターゲット「ブレード（blade）」アドレス１１５、すなわち特殊なフレーム・タイプを処理する宛先ＧＰＰと関連付けられたプリント回路基板の要素のアドレスと、その宛先ＧＰＰに接続するＮＰ装置のポート・アドレス１２０とが含まれる。一部の実施形態では、テーブル１００はこの他のマッピング・データを含むことが理解される。
【００１８】
好ましい実施形態では、カスタマイズ可能なテーブル１００は、ＧＰＰからＡＰＩを介してシステム１００中の各ネットワーク・プロセッサ１２５ａ、．．．、１２５ｎにダウンロードされる。次に示すのは、フラット・テーブルを構成するために実施されるＡＰＩの一例である。
0003730921.tif 000002
0003730921.tif 000003
【００１９】
以下で、上のＡＰＩの例をさらに詳しく説明する。具体的には、このＡＰＩは手続き呼び出しnp_ims_customizedParms_configureを実施し、一実施形態ではこれはＣ／Ｃ＋＋言語で実行され、図３のカスタマイズ・テーブルを構成するためのユーザ指定のパラメータを受け取る。このパラメータには、例えば、ＴＬＶリストに提供されるタグ付きリスト値（ＴＬＶ）の数を表し、テーブルに構成する特殊なフレーム・タイプの数の初期化を提供するnp_unit32number-TLVsの入力；ＴＬＶ値ストリングへのポインタを表すnp_TLV_s*tlvの入力；および、ＡＰＩがＮＰのテーブルのカスタマイズを終了した旨の通知など、非同期のシステム応答のための制御情報を表すnp_msg_ctrl_info_s ctrl_infoの入力が含まれる。ＴＬＶ値のストリングを参照して、各ストリングは上記で特定する形態：
【表１】
0003730921.tif 000004
【００２０】
であることが好ましい。ここで、Attr#は、例えばＰＰＰプロトコルなど、構成する特定プロトコルを記述する属性番号（１つまたは複数のオクテット）を表し、lengthは値の物理的な長さを表し、Valueは、プロトコル・フレーム・タイプの実際の値を表し、ＮＰの「ブレード」アドレスを表す例えば２バイトなど一定量のバイトと、ターゲットＧＰＰと関連付けられたＮＰポートを表す別の量のバイト（例えば２バイト）とを含む。これらの値はダウンロードされ、可変長のフィールドに記憶される。ヘッダ・ファイルnp_types.hは、可能なＴＬＶの数を取り出すために参照することができ、図３のカスタマイズされたテーブルと対応して以下を含む。
NP_ATTRNUM_PPPCONTROL_ADDR、NP_ATTRNUM_IP_ADDR、NP_ATTRNUM_UNKNOWN_DATA_ADDR、およびNP_ATTRNUM_WRAP_ADDRのような、２バイトのＮＰアドレス＋２バイトのポート・アドレスを含むNP_ATTRNUM_'s。
ＡＰＩを介したダウンロードのために構成される他のデータには、例えばネットワーク中の各ＮＰがカスタマイズ・テーブルによって構成された旨のＡＰＩを介した通知など、予想される非同期応答の特徴を指定する制御情報が含まれる。np_return_code_tと称されるＡＰＩの戻りパラメータは、例えば次のような戻り値を返す。特定のサブシステムが適切に初期化されなかったことを示すNP_RC_NOT_READY；無効の（bad）パラメータが渡されたことを示すNP_RC_BADPARMS；テーブルの構成中にエラーが発生したことを示すNP_RC_MISCERR；およびＮＰの構成が成功したことを示すNP_RC_SUCCESS。
【００２１】
分散ネットワーク中の各ネットワーク・プロセッサのＥＰＣを構成し、次いで、図４を参照し、好ましい実施形態に従っていくつかの汎用プロセッサに処理を分散するプロセス２００について説明する。
【００２２】
図４に示すように、ネットワーク・プロセッサがネットワークからフレームを受信することを表す最初の処理ステップ２０３を示している。ステップ２０５で、受信したフレーム・タイプをネットワーク・プロセッサ装置のハードウェア・クラシファイアによって分類し、ＧＤＨで実行されるＮＰのピココードにフレームを転送する。ハードウェア・クラシファイアがフレームを分類できなかった場合は、ピココードがそれを分類する。分類に基づいて、ステップ２１０で、ピココードは、ネットワーク・プロセッサのデータ・ストアにロードされたカスタマイズ・テーブル１００（図３）への検索を行うロジックを実行する。フレーム・タイプをテーブル１００への索引として使用することが好ましいことが理解される。次いでステップ２１３で、一致が存在するか、すなわち特殊な処理のためにフレームを特定のＧＰＰに転送すべきかどうかをそのフレーム・タイプに基づいて判定する。一致が存在しない場合（すなわち特殊な処理が必要でない場合）、ネットワーク・プロセッサはステップ２１５でそのフレームを処理する。ステップ２１３で一致が存在すると判定された場合は、ステップ２１８でカスタマイズされたテーブル１００で検索を実行して、そのフレーム・タイプのためのターゲットＧＰＰアドレスおよびポート・アドレスを判断し、ステップ２２０でそのパラメータを使用してその特殊フレームを適切なＧＰＰに転送する。図４との関連で説明する処理の結果には４つの可能な結果がある。すなわち、１）ネットワーク・プロセッサによる処理のためにパケットを転送する。２）処理のためにパケットをＧＰＰにリダイレクトする。３）パケットをドロップする。および、４）パケットをドロップし、任意のメッセージをＧＰＰに送信する。
【００２３】
次いで、ポイントツーポイント・プロトコル（ＰＰＰ）フレームの処理を伴う場合について、図４に示す好ましい実施形態の方法論を使用した一例を説明する。ＰＰＰフレームはネットワーク・プロセッサによって処理される。フレームがＰＰＰ制御フレームである場合は、カスタマイズされたルックアップ・テーブル（図３）に基づいて、構成されたＧＰＰに転送される。フレームがレイヤ３フレームである場合は、レイヤ２のネットワーク・プロセッサのピココードがそのフレームを適切なネットワーク・プロセッサ・コンポネントに転送する。レイヤ３プロトコルがピココードによって処理されない場合、フレームは、ルックアップ・テーブルで指定されるそのプロトコル用に構成されたＧＰＰに転送される。レイヤ３プロトコルが使用可能になっていない場合、フレームは、図示しない廃棄待ち行列に入れられる。フレームが、認識されるレイヤ３フレームでない場合、廃棄不明ＰＰＰフレームが構成され、そのフレームが廃棄待ち行列に入れられる。それ以外の場合、フレームは、ルックアップ・テーブルで指定される、不明の／認識されないＰＰＰフレーム用に構成されたＧＰＰに転送される。
【００２４】
行われる動作の例を次の表にまとめる。
【表２】
0003730921.tif 000005
【００２５】
いくつかの汎用プロセッサに処理を分散することをネットワーク・プロセッサに可能にし、また大規模なネットワーキング環境内でどのＮＰが特定の動作を処理するかを構成する機能を提供することにより、各汎用プロセッサが保持するプロトコル・スタックが少なくて済むことになり、好都合である。これは、各ＧＰＰが、図３に例示するカスタマイズ可能なテーブルに従ってＮＰによって転送される特殊なフレームだけを処理する能力を備えるためであることを理解できる。
【図面の簡単な説明】
【図１】  単一の汎用プロセッサ（ＧＰＰ）装置によって制御される複数のネットワーク処理装置を含む、分散ネットワーク処理環境の概略ブロック図である。
【図２】  複数の汎用プロセッサ（ＧＰＰ）装置によって制御される複数のネットワーク処理装置を含む分散ネットワーク処理環境の概略ブロック図である。
【図３】  本発明の好ましい実施形態による、特殊なフレーム・タイプを転送するためのカスタマイズ可能なテーブル１００の一例の図である。
【図４】  本発明の好ましい実施形態により、どのようにいくつかの汎用プロセッサに処理を分散するかを示す流れ図である。
【図１】
0003730921.tif 000006
【図２】
0003730921.tif 000007
【図３】
0003730921.tif 000008
【図４】
0003730921.tif 000009