JP3730921B2 - ネットワーク・プロセッサ内のパラメータをカスタマイズおよび転送する方法および装置 - Google Patents
ネットワーク・プロセッサ内のパラメータをカスタマイズおよび転送する方法および装置 Download PDFInfo
- Publication number
- JP3730921B2 JP3730921B2 JP2001574632A JP2001574632A JP3730921B2 JP 3730921 B2 JP3730921 B2 JP 3730921B2 JP 2001574632 A JP2001574632 A JP 2001574632A JP 2001574632 A JP2001574632 A JP 2001574632A JP 3730921 B2 JP3730921 B2 JP 3730921B2
- Authority
- JP
- Japan
- Prior art keywords
- target
- frame type
- gpp
- special
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 22
- 238000012545 processing Methods 0.000 claims abstract description 38
- 230000006855 networking Effects 0.000 claims abstract description 20
- 238000012546 transfer Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000004744 fabric Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0806—Configuration setting for initial configuration or provisioning, e.g. plug-and-play
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Multi Processors (AREA)
- Mobile Radio Communication Systems (AREA)
- Communication Control (AREA)
- Computer And Data Communications (AREA)
- Exchange Systems With Centralized Control (AREA)
- Small-Scale Networks (AREA)
- Stored Programmes (AREA)
- Acyclic And Carbocyclic Compounds In Medicinal Compositions (AREA)
- Medicines Containing Plant Substances (AREA)
Description
【発明の属する技術分野】
本発明は、一般には、ネットワーク・プロセッサ装置に関し、より具体的には、いくつかの汎用プロセッサ(すなわち制御点プロセッサ)に処理を分散する機構に関する。
【0002】
【従来の技術】
図1は、多数のネットワーク・プロセッサ装置25a、...、25nを制御する単一の汎用プロセッサ(GPP)制御装置15を含む典型的なネットワーキング構成10を表す。GPPは、あらゆる特殊なデータ・パケット(フレーム)のタイプ(例:ポイントツーポイント(PPP)制御フレームや不明のフレーム)を処理することから、システム10のGPPではしばしば処理上のボトルネックが生じる。
【0003】
【発明が解決しようとする課題】
図2は、複数の汎用プロセッサ制御装置15a、....、15nを実施する、より分散されたネットワーキング構成を表す。この構成では、処理するためにネットワーク・プロセッサが特殊なフレーム・タイプをGPPに転送するために、各GPPが、処理しなければならない各プロトコルについてプロトコル・スタックを必要とする。これは、特殊なフレームをどのように特定のGPPに送信するかをネットワーク・プロセッサが解読することができないためである。各GPPがネットワーク・プロセッサによって処理されるプロトコルごとに完全なプロトコル・スタックを備えなければならないという要件は、メモリの必要性を増し、性能を低下させる。
【0004】
【課題を解決するための手段】
したがって、本発明は、少なくとも1つのネットワーク・プロセッサ(NP)装置を制御する1つまたは複数の汎用制御プロセッサ(GPP)を含む分散ネットワーキング環境内のNP装置によって受信される特殊なデータ・フレームの処理を分散するシステムにおいて、前記NP装置で受信される特殊なデータ・フレーム・タイプを、前記特殊なフレーム・タイプを処理することが可能なターゲットGPPに関連付けられたターゲット・アドレスおよびターゲット・ポート・アドレスと共にマップするために、前記少なくとも1つのNP装置内で実施される構成可能なテーブルを含むシステムであって、前記NPネットワーク・プロセッサは、受信したデータ・フレームを分類し、かつ前記フレームをそれぞれ前記構成可能なテーブル内の項目と比較する機構を含み、前記ネットワーク処理装置は、前記テーブル内に対応する項目を有する前記分類されたフレーム・タイプに応じて、対応するターゲット・ポート・アドレスを通じて前記フレームを前記ターゲットGPPに転送する手段を含み、前記ターゲットGPPは前記特殊なデータ・フレーム・タイプの転送を処理するために提供されるシステム、を提供する。
【0005】
好ましい実施形態によると、各GPP装置に完全なプロトコル・スタックのセットを提供する必要性をなくす、分散ネットワーキング環境におけるGPP構成が提供される。
【0006】
好適には、分散ネットワーキング環境内のGPPを構成して、特定の特殊なフレーム・タイプを処理させ、ネットワーク・プロセッサにより特定の構成されたGPPに特殊なフレーム・タイプを分散する能力を提供させる機構が提供される。
【0007】
さらに、いくつかの汎用プロセッサ(すなわち制御点プロセッサ)に処理を分散し、どのプロセッサが特定の操作を処理するかをネットワーク・プロセッサが構成することを可能にするアプリケーション・プログラム・インタフェース(API)および方法が提供される。
【0008】
別の態様で、本発明は、1つまたは複数のネットワーク・プロセッサ(NP)装置を制御する1つまたは複数の汎用制御プロセッサ(GPP)を含む分散ネットワーキング環境内のNP装置によって受信される特殊なデータ・フレームの処理を分散する方法を提供し、前記方法は、
a)前記NP装置内で実施されるテーブルであって、前記NP装置で受信される特殊なデータ・フレーム・タイプを、前記特殊なフレーム・タイプを処理することのできるターゲットGPPと関連付けられたターゲット・アドレスおよびターゲット・ポート・アドレスと共にマップするテーブルを提供すること、
b)前記NPネットワーク・プロセッサで、あるデータ・フレーム・タイプのデータ・フレームを受信すること、
c)受信したデータ・フレームを分類し、各前記フレームを前記テーブルの項目と比較すること、
d)前記分類されたフレーム・タイプが前記テーブル内に対応する項目を有する場合は、対応するターゲット・ポート・アドレスを通じて前記特殊なデータ・フレームを前記ターゲットGPPに転送し、前記ターゲットGPPは前記特殊なデータ・フレーム・タイプの転送を処理するために提供されること、
を含む。
【0009】
好都合にも、そのような方法は、ネットワーク・プロセッサがいくつかの汎用プロセッサ(すなわち制御点プロセッサ)に処理を分散することを好適に可能ならしめ、また大規模なネットワーキング環境でどのプロセッサが特定の操作を処理するかを構成する機能を可能にし、それによりそれぞれの汎用制御プロセッサで保持する必要のあるプロトコル・スタックの数を減らす。
【0010】
さらに別の態様で、本発明は、1つまたは複数のネットワーク・プロセッサ(NP)装置を制御する1つまたは複数の汎用制御プロセッサ(GPP)を含む分散ネットワーキング環境内で動作するNP装置を構成するためのアプリケーション・プログラミング・インタフェースを提供し、前記インタフェースは、前記NP装置に入力するためにデータ構造を生成する機構であって、前記データ構造は、特殊なフレーム・タイプと、前記特殊なフレーム・タイプを処理することが可能な、前記ネットワーキング環境内のGPPと関連付けられた関連ターゲット・アドレスおよびターゲット・ポート・アドレスを指定する1つまたは複数の項目を有する機構と;前記生成されたデータ構造からカスタマイズされたテーブルを生成し、前記カスタマイズされたテーブルをNP装置のメモリに入力する装置とを含み、それにより、前記テーブルで後続のテーブル検索を行って、関連付けられたGPPにターゲット・ポート・アドレスを通じて特殊なフレーム・タイプを転送する。
【0011】
さらに別の態様では、本発明は、機械可読のプログラム記憶装置であって、機械による実行が可能な命令のプログラムを有形に実施して、1つまたは複数のネットワーク・プロセッサ(NP)装置を制御する1つまたは複数の汎用制御プロセッサ(GPP)を含む分散ネットワーキング環境で動作するNP装置を構成するための方法ステップを実行するプログラム記憶装置を提供し、前記方法ステップは、
(a)前記NP装置に入力するためにデータ構造を生成するステップであって、前記データ構造は、特殊なフレーム・タイプと、前記特殊なフレーム・タイプを処理することが可能な、前記ネットワーキング環境と関連付けられたGPPと関連付けられた関連ターゲット・アドレスおよびターゲット・ポート・アドレスを指定する1つまたは複数の項目を有するステップと、
(b)前記生成されたデータ構造からカスタマイズされたテーブルを生成し、前記カスタマイズされたテーブルをNP装置のメモリに入力し、それにより、前記テーブルで後続のテーブル検索を行って、ターゲット・ポート・アドレスを通じて特殊なフレーム・タイプを関連付けられたGPPに転送するステップと、
を含む。
【0012】
このデータ構造はタグ付きのリスト値のストリングを含むことが好ましく、各タグ付きリスト値は、前記テーブルに含める特殊なフレーム・タイプを表す属性フィールドと、前記タグ付きリスト値の長さを表す長さフィールドと、特殊なフレーム・タイプのターゲットと関連付けられたターゲット・アドレスおよびターゲット・ポート・アドレスを指定する値フィールドとを含む。
【0013】
以下で、図面を参照して、一例としての本発明の好ましい実施形態について説明する。
【0014】
【発明の実施の形態】
好ましい実施形態によると、アプリケーション・プログラム・インタフェース(API)が提供され、これは、分散ネットワーキング環境で動作する汎用プロセッサ(GPP)制御装置(例えば外部GPP、ネットワーク・プロセッサ中の埋め込みGPPなど)によって実施され、特殊なデータ・パケット(フレーム)タイプの転送を処理できるようにネットワーク・プロセッサ(NP)装置をカスタマイズおよび構成することを可能にする。例示のために、本願の出願人によって所有される係属中の米国特許出願第09/384,691号に記載されるものなど、ネットワーキング・プロセッサ・ベースの装置およびシステムの1つを参照し、上記出願の写しをこのファイルに含める。ただし、本発明は、各種のハードウェア/ソフトウェア設計によるこの他のネットワーク・プロセッサ・ベースの装置でも用いることが可能である。
【0015】
前述の係属中の米国特許出願に記載されるように、一般には、NP装置で受信されるデータ・フレームの一般的な流れは以下の通りである。例えばイーサネット(R)MACなどのネットワーク接続から受信されるフレームは、通常のデータ・フレームかシステム制御用のフレーム(Guided Frames)のいずれかに識別される。好ましい実施形態に照らすと、通常のデータ・フレームと識別されたフレームは、エンベデッド・プロセッサ・コンプレックス(EPC)の待ち行列に入れられる。EPCは、例えばプロトコル・プロセッサなど複数のピコプロセッサを含み、これは、受信したフレームのヘッダを見てそのフレームをどのように処理するか(転送、修正、フィルタリングなど)を決定することのできるロジック(ピココード)を実行する。EPCはいくつかのルックアップ・テーブルにアクセスすることができ、また分類ハードウェアが補助して、ピコプロセッサがネットワーク・プロセッサの高帯域幅要件について行けるようにする。分類ハードウェア補助装置は、特に、よく知られるフレーム形式のフレームを分類するために提供される。エンベデッド・プロセッシング・コンプレックス(EPC)は、特に、NP装置のチップのプログラム可能性を提供かつ制御し、また諸構成要素(メモリ、ディスパッチャ、インタフェースなど)の中でも特に、共通の命令用メモリに記憶されたピココードを同時に実行する1つまたは複数の処理装置を含む。各処理装置は、例えば3段のパイプライン、汎用レジスタ、およびALUを含む処理装置コアを含むことが好ましい。動作中は、分類ハードウェア補助装置による分類の結果が、フレームをディスパッチする際に1つまたは複数の処理装置に渡される。特に汎用データ・ハンドラ(GDH)と呼ばれる一処理装置は、完全な(full)処理装置と、本発明の好ましい実施形態に従って主にフレームの転送に使用される1つまたは複数のコプロセッシング装置とを含む。
【0016】
特に、好ましい実施形態のAPIは、GPPが、特定のネットワーク・プロセッサで実行されるピココードが特定のパケット・タイプを送る送信先に影響するパラメータを構成するために使用される。このAPIにより、エンド・ユーザは、特殊なフレーム・タイプと、対応する特殊なフレームを処理するために提供されるターゲットGPPとを相互参照するカスタマイズ可能なテーブルを構成することができる。このような方式により、各GPPにプロトコル・スタックを提供する必要性が回避される。
【0017】
図3は、APIを介して特殊なフレーム・タイプを事前に指定されたGPPに転送するための、カスタマイズ可能なテーブル100の一例を表す。好ましい実施形態では、カスタマイズ可能なテーブル100は、NP装置のメモリ内で構成されたフラット・テーブルであり、分類された特殊なフレーム・タイプに対応する項目を含む。この項目には、ポイントツーポイント(PPP)による制御タイプ102、不明のデータ・フレーム・タイプ105(すなわちNP装置によって理解されないプロトコルのフレーム)、IPフレーム・タイプ107、およびラップ(Wrap)タイプ110のフレーム(すなわち、NPの出口(egress)側のスイッチ・ファブリックから受信されるフレーム)、が含まれるがこれらに限定されない。図3に示すカスタマイズされたテーブルには、例えばレイヤ3プロトコルなど、その他の特殊なフレーム・タイプを特定のGPP宛先に対してマップできることが理解される。さらに、カスタマイズされるテーブル100が多数のフレーム・タイプの項目を有するより大きなサイズである場合は、テーブルを二分木の形でNPのメモリ内で構成し、テーブル検索を容易にできることが理解される。特殊なフレーム・タイプとして分類されるフレームごとに対応する項目が提供され、この項目にはターゲット「ブレード(blade)」アドレス115、すなわち特殊なフレーム・タイプを処理する宛先GPPと関連付けられたプリント回路基板の要素のアドレスと、その宛先GPPに接続するNP装置のポート・アドレス120とが含まれる。一部の実施形態では、テーブル100はこの他のマッピング・データを含むことが理解される。
【0018】
好ましい実施形態では、カスタマイズ可能なテーブル100は、GPPからAPIを介してシステム100中の各ネットワーク・プロセッサ125a、...、125nにダウンロードされる。次に示すのは、フラット・テーブルを構成するために実施されるAPIの一例である。
【0019】
以下で、上のAPIの例をさらに詳しく説明する。具体的には、このAPIは手続き呼び出しnp_ims_customizedParms_configureを実施し、一実施形態ではこれはC/C++言語で実行され、図3のカスタマイズ・テーブルを構成するためのユーザ指定のパラメータを受け取る。このパラメータには、例えば、TLVリストに提供されるタグ付きリスト値(TLV)の数を表し、テーブルに構成する特殊なフレーム・タイプの数の初期化を提供するnp_unit32number-TLVsの入力;TLV値ストリングへのポインタを表すnp_TLV_s*tlvの入力;および、APIがNPのテーブルのカスタマイズを終了した旨の通知など、非同期のシステム応答のための制御情報を表すnp_msg_ctrl_info_s ctrl_infoの入力が含まれる。TLV値のストリングを参照して、各ストリングは上記で特定する形態:
【表1】
【0020】
であることが好ましい。ここで、Attr#は、例えばPPPプロトコルなど、構成する特定プロトコルを記述する属性番号(1つまたは複数のオクテット)を表し、lengthは値の物理的な長さを表し、Valueは、プロトコル・フレーム・タイプの実際の値を表し、NPの「ブレード」アドレスを表す例えば2バイトなど一定量のバイトと、ターゲットGPPと関連付けられたNPポートを表す別の量のバイト(例えば2バイト)とを含む。これらの値はダウンロードされ、可変長のフィールドに記憶される。ヘッダ・ファイルnp_types.hは、可能なTLVの数を取り出すために参照することができ、図3のカスタマイズされたテーブルと対応して以下を含む。
NP_ATTRNUM_PPPCONTROL_ADDR、NP_ATTRNUM_IP_ADDR、NP_ATTRNUM_UNKNOWN_DATA_ADDR、およびNP_ATTRNUM_WRAP_ADDRのような、2バイトのNPアドレス+2バイトのポート・アドレスを含むNP_ATTRNUM_'s。
APIを介したダウンロードのために構成される他のデータには、例えばネットワーク中の各NPがカスタマイズ・テーブルによって構成された旨のAPIを介した通知など、予想される非同期応答の特徴を指定する制御情報が含まれる。np_return_code_tと称されるAPIの戻りパラメータは、例えば次のような戻り値を返す。特定のサブシステムが適切に初期化されなかったことを示すNP_RC_NOT_READY;無効の(bad)パラメータが渡されたことを示すNP_RC_BADPARMS;テーブルの構成中にエラーが発生したことを示すNP_RC_MISCERR;およびNPの構成が成功したことを示すNP_RC_SUCCESS。
【0021】
分散ネットワーク中の各ネットワーク・プロセッサのEPCを構成し、次いで、図4を参照し、好ましい実施形態に従っていくつかの汎用プロセッサに処理を分散するプロセス200について説明する。
【0022】
図4に示すように、ネットワーク・プロセッサがネットワークからフレームを受信することを表す最初の処理ステップ203を示している。ステップ205で、受信したフレーム・タイプをネットワーク・プロセッサ装置のハードウェア・クラシファイアによって分類し、GDHで実行されるNPのピココードにフレームを転送する。ハードウェア・クラシファイアがフレームを分類できなかった場合は、ピココードがそれを分類する。分類に基づいて、ステップ210で、ピココードは、ネットワーク・プロセッサのデータ・ストアにロードされたカスタマイズ・テーブル100(図3)への検索を行うロジックを実行する。フレーム・タイプをテーブル100への索引として使用することが好ましいことが理解される。次いでステップ213で、一致が存在するか、すなわち特殊な処理のためにフレームを特定のGPPに転送すべきかどうかをそのフレーム・タイプに基づいて判定する。一致が存在しない場合(すなわち特殊な処理が必要でない場合)、ネットワーク・プロセッサはステップ215でそのフレームを処理する。ステップ213で一致が存在すると判定された場合は、ステップ218でカスタマイズされたテーブル100で検索を実行して、そのフレーム・タイプのためのターゲットGPPアドレスおよびポート・アドレスを判断し、ステップ220でそのパラメータを使用してその特殊フレームを適切なGPPに転送する。図4との関連で説明する処理の結果には4つの可能な結果がある。すなわち、1)ネットワーク・プロセッサによる処理のためにパケットを転送する。2)処理のためにパケットをGPPにリダイレクトする。3)パケットをドロップする。および、4)パケットをドロップし、任意のメッセージをGPPに送信する。
【0023】
次いで、ポイントツーポイント・プロトコル(PPP)フレームの処理を伴う場合について、図4に示す好ましい実施形態の方法論を使用した一例を説明する。PPPフレームはネットワーク・プロセッサによって処理される。フレームがPPP制御フレームである場合は、カスタマイズされたルックアップ・テーブル(図3)に基づいて、構成されたGPPに転送される。フレームがレイヤ3フレームである場合は、レイヤ2のネットワーク・プロセッサのピココードがそのフレームを適切なネットワーク・プロセッサ・コンポネントに転送する。レイヤ3プロトコルがピココードによって処理されない場合、フレームは、ルックアップ・テーブルで指定されるそのプロトコル用に構成されたGPPに転送される。レイヤ3プロトコルが使用可能になっていない場合、フレームは、図示しない廃棄待ち行列に入れられる。フレームが、認識されるレイヤ3フレームでない場合、廃棄不明PPPフレームが構成され、そのフレームが廃棄待ち行列に入れられる。それ以外の場合、フレームは、ルックアップ・テーブルで指定される、不明の/認識されないPPPフレーム用に構成されたGPPに転送される。
【0024】
行われる動作の例を次の表にまとめる。
【表2】
【0025】
いくつかの汎用プロセッサに処理を分散することをネットワーク・プロセッサに可能にし、また大規模なネットワーキング環境内でどのNPが特定の動作を処理するかを構成する機能を提供することにより、各汎用プロセッサが保持するプロトコル・スタックが少なくて済むことになり、好都合である。これは、各GPPが、図3に例示するカスタマイズ可能なテーブルに従ってNPによって転送される特殊なフレームだけを処理する能力を備えるためであることを理解できる。
【図面の簡単な説明】
【図1】 単一の汎用プロセッサ(GPP)装置によって制御される複数のネットワーク処理装置を含む、分散ネットワーク処理環境の概略ブロック図である。
【図2】 複数の汎用プロセッサ(GPP)装置によって制御される複数のネットワーク処理装置を含む分散ネットワーク処理環境の概略ブロック図である。
【図3】 本発明の好ましい実施形態による、特殊なフレーム・タイプを転送するためのカスタマイズ可能なテーブル100の一例の図である。
【図4】 本発明の好ましい実施形態により、どのようにいくつかの汎用プロセッサに処理を分散するかを示す流れ図である。
Claims (13)
- 少なくとも1つのネットワーク・プロセッサ(NP)装置(25a、25b、25c、...、25n)を制御する1つまたは複数の汎用制御プロセッサ(GPP)(15a、15b、...、15n)を含む分散ネットワーキング環境内のNP装置によって受信される特殊なデータ・フレームの処理を分散するシステムにおいて、前記NP装置で受信される特殊なデータ・フレーム・タイプを、前記特殊なフレーム・タイプを処理することが可能なターゲットGPPと関連付けられたターゲット・アドレス(115)およびターゲット・ポート・アドレス(120)と共にマップするために前記少なくとも1つのNP装置内で実施される構成可能なテーブル(100)を含むシステムであって、前記NPネットワーク・プロセッサは、受信したデータ・フレームを分類し、かつ前記フレームをそれぞれ前記構成可能なテーブル内の項目と比較する機構を含み、前記ネットワーク処理装置は、前記テーブル内に対応する項目を有する前記分類されたフレーム・タイプに応じて、対応するターゲット・ポート・アドレスを通じて前記フレームを前記ターゲットGPPに転送する手段を含み、前記ターゲットGPPは前記特殊なデータ・フレーム・タイプの転送を処理するために提供される、システム。
- 前記GPPを通じて、前記ターゲット・アドレスおよびターゲット・ポート・アドレスの項目により前記NP装置中の前記構成可能なテーブルをカスタマイズするアプリケーション・プログラミング・インタフェースをさらに含む請求項1に記載のシステム。
- 特殊なデータ・フレーム・タイプに、前記NP装置によって認識されないプロトコルのデータ・フレームが含まれる請求項1または2に記載のシステム。
- 前記NP装置によって認識されないプロトコルのフレーム・タイプを廃棄待ち行列に入れる構成可能な手段を含む請求項1または2に記載のシステム。
- 前記構成可能なテーブルが、前記NP装置のメモリ内で構成されたフラット・テーブルの設計である請求項1、2、3、または4に記載のシステム。
- 前記構成可能なテーブルが、前記NP装置のメモリ内で構成された二分木の設計である請求項1、2、3、または4に記載のシステム。
- 1つまたは複数のネットワーク・プロセッサ(NP)装置(25a、25b、25c、...、25n)を制御する1つまたは複数の汎用制御プロセッサ(GPP)(15a、15b、...、15n)を含む分散ネットワーキング環境内のNP装置によって受信される特殊なデータ・フレームの処理を分散する方法であって、
a)前記NP装置内で実施されるテーブル(100)であって、前記NP装置で受信される特殊なデータ・フレーム・タイプを、前記特殊なフレーム・タイプを処理することのできるターゲットGPPと関連付けられたターゲット・アドレス(115)およびターゲット・ポート・アドレス(120)と共にマップするテーブルを提供するステップと、
b)前記NPネットワーク・プロセッサで、あるデータ・フレーム・タイプのデータ・フレームを受信するステップ(203)と、
c)受信したデータ・フレームを分類し、各前記フレームを前記テーブルの項目と比較するステップ(205)と、
d)前記分類されたフレーム・タイプが前記テーブル内に対応する項目を有する場合は、対応するターゲット・ポート・アドレスを通じて前記特殊なデータ・フレームを前記ターゲットGPPに転送し、前記ターゲットGPPは前記特殊なデータ・フレーム・タイプの転送を処理するために提供されるステップ(220)と、
を含む方法。 - 前記NP装置によって認識されないプロトコルのフレーム・タイプを廃棄待ち行列に入れる構成可能なオプションを提供するステップを含む請求項7に記載の方法。
- ステップa)が、各特殊なフレーム・タイプの項目に対するターゲットGPPと関連付けられた前記ターゲット・アドレスおよびターゲット・ポート・アドレスにより前記テーブルを構成するためのアプリケーション・プログラミング・インタフェースを実施するステップを含む、請求項7または8に記載の特殊なデータ・フレームの処理を分散する方法。
- 1つまたは複数のネットワーク・プロセッサ(NP)装置(25a、25b、25c、...、25n)を制御する1つまたは複数の汎用制御プロセッサ(GPP)(15a、15b、...、15n)を含む分散ネットワーキング環境で動作するNP装置を構成するためのアプリケーション・プログラミング・インタフェースであって、
前記NP装置に入力するためにデータ構造を生成する機構であって、前記データ構造は、特殊なフレーム・タイプと、前記特殊なフレーム・タイプを処理することができる前記ネットワーキング環境内のGPPと関連付けられた関連ターゲット・アドレス(115)およびターゲット・ポート・アドレス(120)とを指定する1つまたは複数の項目を有する機構と、
前記生成されたデータ構造からカスタマイズされたテーブル(100)を生成し、かつ、前記カスタマイズされたテーブルをNP装置のメモリに入力し、それにより、前記テーブルで後続のテーブル検索を行って、ターゲット・ポート・アドレスを通じて特殊なフレーム・タイプを関連付けられたGPPに転送する装置と、
を含むアプリケーション・プログラミング・インタフェース。 - 前記データ構造はタグ付きリスト値のストリングを含み、各タグ付きリスト値は、前記テーブルに含める特殊なフレーム・タイプを表す属性フィールドと、前記タグ付きリスト値の長さを表す長さフィールドと、前記特殊なフレーム・タイプについてのターゲットと関連付けられたターゲット・アドレスおよびターゲット・ポート・アドレスを指定する値フィールドとを含む、請求項10に記載のアプリケーション・プログラミング・インタフェース。
- 機械可読のプログラム記憶装置であって、機械による実行が可能な命令のプログラムを具体的に実現して、1つまたは複数のネットワーク・プロセッサ(NP)装置(25a、25b、25c、...、25n)を制御する1つまたは複数の汎用制御プロセッサ(GPP)(15a、15b、...、15n)を含む分散ネットワーキング環境で動作するNP装置を構成する方法ステップを行い、前記方法ステップは、
(a)前記NP装置に入力するためにデータ構造を生成するステップであって、前記データ構造は、特殊なフレーム・タイプと、前記特殊なフレーム・タイプを処理することが可能な、前記ネットワーキング環境と関連付けられたGPPと関連付けられた関連ターゲット・アドレス(115)およびターゲット・ポート・アドレス(120)を指定する1つまたは複数の項目を有するステップと、
(b)前記生成されたデータ構造からカスタマイズされたテーブル(100)を生成し、前記カスタマイズされたテーブルをNP装置のメモリに入力し、それにより、前記テーブルで後続のテーブル検索を行って、ターゲット・ポート・アドレスを通じて特殊なフレーム・タイプを関連付けられたGPPに転送するステップと、
を含む機械可読のプログラム記憶装置。 - 前記データ構造はタグ付きリスト値のストリングを含み、各タグ付きリスト値は、前記テーブルに含める特殊なフレーム・タイプを表す属性フィールドと、前記タグ付きリスト値の長さを表す長さフィールドと、前記特殊なフレーム・タイプについてのターゲットと関連付けられたターゲット・アドレスおよびターゲット・ポート・アドレスを指定する値フィールドとを含む、請求項12に記載の機械可読のプログラム記憶装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/544,588 US6675221B1 (en) | 2000-04-06 | 2000-04-06 | Method and apparatus for customizing and fowarding parameters in a network processor |
US09/544,588 | 2000-04-06 | ||
PCT/GB2001/001566 WO2001077849A2 (en) | 2000-04-06 | 2001-04-05 | Multiprotocol handling arrangement |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003530744A JP2003530744A (ja) | 2003-10-14 |
JP3730921B2 true JP3730921B2 (ja) | 2006-01-05 |
Family
ID=24172803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001574632A Expired - Fee Related JP3730921B2 (ja) | 2000-04-06 | 2001-04-05 | ネットワーク・プロセッサ内のパラメータをカスタマイズおよび転送する方法および装置 |
Country Status (14)
Country | Link |
---|---|
US (1) | US6675221B1 (ja) |
EP (1) | EP1293067B1 (ja) |
JP (1) | JP3730921B2 (ja) |
KR (1) | KR100543732B1 (ja) |
CN (1) | CN1165144C (ja) |
AT (1) | ATE331370T1 (ja) |
AU (1) | AU2001248517A1 (ja) |
CA (1) | CA2407060C (ja) |
DE (1) | DE60120970T2 (ja) |
ES (1) | ES2264443T3 (ja) |
HK (1) | HK1053025B (ja) |
MY (1) | MY129249A (ja) |
TW (1) | TW501024B (ja) |
WO (1) | WO2001077849A2 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6973503B2 (en) | 2002-05-23 | 2005-12-06 | International Business Machines Corporation | Preventing at least in part control processors from being overloaded |
DE10260604B4 (de) * | 2002-12-23 | 2006-09-21 | Infineon Technologies Ag | Multikanal-Prozessor |
CN100440824C (zh) * | 2003-01-28 | 2008-12-03 | 华为技术有限公司 | 数字传送网上不同的数据帧接入和传送的方法 |
US7281247B2 (en) * | 2003-06-24 | 2007-10-09 | Microsoft Corporation | Software image creation in a distributed build environment |
US20050154762A1 (en) * | 2004-01-14 | 2005-07-14 | Bing Wang | Fast rule lookup with arbitrary IP range configurations |
US7974272B2 (en) | 2004-07-29 | 2011-07-05 | Conexant Systems, Inc. | Remote control of a switching node in a stack of switching nodes |
CN1294728C (zh) * | 2004-08-05 | 2007-01-10 | 华为技术有限公司 | 边缘路由器提供服务质量保证的方法及系统 |
US20060165121A1 (en) * | 2005-01-27 | 2006-07-27 | Alcatel | Communication protocol interface systems and methods |
KR100726175B1 (ko) * | 2005-12-09 | 2007-06-11 | 한국전자통신연구원 | 무선 휴대 인터넷 시스템에서 상위 프로토콜 메시지의 방송 전송 방법 및 장치 |
US7990974B1 (en) | 2008-09-29 | 2011-08-02 | Sonicwall, Inc. | Packet processing on a multi-core processor |
CN101964759B (zh) * | 2010-11-10 | 2012-03-28 | 中国人民解放军国防科学技术大学 | 支持多用户的高速报文分流方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2094097C (en) | 1992-04-30 | 2000-05-30 | Ray Balogh | Multi-equipment routing method and master station for layered protocol communication network system |
US5570084A (en) | 1994-06-28 | 1996-10-29 | Metricom, Inc. | Method of loose source routing over disparate network types in a packet communication network |
US5485460A (en) | 1994-08-19 | 1996-01-16 | Microsoft Corporation | System and method for running multiple incompatible network protocol stacks |
US6463078B1 (en) * | 1998-07-22 | 2002-10-08 | Microsoft Corporation | Method for switching protocols transparently in multi-user applications |
US6424621B1 (en) * | 1998-11-17 | 2002-07-23 | Sun Microsystems, Inc. | Software interface between switching module and operating system of a data packet switching and load balancing system |
US6272522B1 (en) * | 1998-11-17 | 2001-08-07 | Sun Microsystems, Incorporated | Computer data packet switching and load balancing system using a general-purpose multiprocessor architecture |
US6426944B1 (en) * | 1998-12-30 | 2002-07-30 | At&T Corp | Method and apparatus for controlling data messages across a fast packet network |
US6473434B1 (en) * | 2001-04-20 | 2002-10-29 | International Business Machines Corporation | Scaleable and robust solution for reducing complexity of resource identifier distribution in a large network processor-based system |
-
2000
- 2000-04-06 US US09/544,588 patent/US6675221B1/en not_active Expired - Lifetime
-
2001
- 2001-03-20 TW TW090106406A patent/TW501024B/zh not_active IP Right Cessation
- 2001-03-29 MY MYPI20011501A patent/MY129249A/en unknown
- 2001-04-05 AU AU2001248517A patent/AU2001248517A1/en not_active Abandoned
- 2001-04-05 JP JP2001574632A patent/JP3730921B2/ja not_active Expired - Fee Related
- 2001-04-05 AT AT01921542T patent/ATE331370T1/de not_active IP Right Cessation
- 2001-04-05 EP EP01921542A patent/EP1293067B1/en not_active Expired - Lifetime
- 2001-04-05 ES ES01921542T patent/ES2264443T3/es not_active Expired - Lifetime
- 2001-04-05 DE DE60120970T patent/DE60120970T2/de not_active Expired - Lifetime
- 2001-04-05 KR KR1020027013291A patent/KR100543732B1/ko not_active IP Right Cessation
- 2001-04-05 CN CNB018076602A patent/CN1165144C/zh not_active Expired - Fee Related
- 2001-04-05 WO PCT/GB2001/001566 patent/WO2001077849A2/en active IP Right Grant
- 2001-04-05 CA CA002407060A patent/CA2407060C/en not_active Expired - Fee Related
-
2003
- 2003-07-22 HK HK03105256.5A patent/HK1053025B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
HK1053025B (zh) | 2005-02-25 |
CN1165144C (zh) | 2004-09-01 |
WO2001077849A3 (en) | 2002-04-18 |
ATE331370T1 (de) | 2006-07-15 |
CN1422474A (zh) | 2003-06-04 |
TW501024B (en) | 2002-09-01 |
AU2001248517A1 (en) | 2001-10-23 |
MY129249A (en) | 2007-03-30 |
ES2264443T3 (es) | 2007-01-01 |
DE60120970T2 (de) | 2007-01-04 |
HK1053025A1 (en) | 2003-10-03 |
JP2003530744A (ja) | 2003-10-14 |
KR20020087472A (ko) | 2002-11-22 |
WO2001077849A2 (en) | 2001-10-18 |
US6675221B1 (en) | 2004-01-06 |
CA2407060C (en) | 2007-10-16 |
KR100543732B1 (ko) | 2006-01-23 |
DE60120970D1 (de) | 2006-08-03 |
CA2407060A1 (en) | 2001-10-18 |
EP1293067B1 (en) | 2006-06-21 |
EP1293067A2 (en) | 2003-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10015090B2 (en) | Packet steering | |
EP2795874B1 (en) | Controller for flexible and extensible flow processing in software-defined networks | |
US8301749B1 (en) | Unused resource recognition in real time provisioning and management of fabric-backplane enterprise servers | |
US8443066B1 (en) | Programmatic instantiation, and provisioning of servers | |
US7860961B1 (en) | Real time notice of new resources for provisioning and management of fabric-backplane enterprise servers | |
US7860097B1 (en) | Fabric-backplane enterprise servers with VNICs and VLANs | |
EP2795872B1 (en) | System for flexible and extensible flow processing in software-defined networks | |
US8868790B2 (en) | Processor-memory module performance acceleration in fabric-backplane enterprise servers | |
US7873693B1 (en) | Multi-chassis fabric-backplane enterprise servers | |
US7586915B1 (en) | Technique for coupling entities via virtual ports | |
US7953903B1 (en) | Real time detection of changed resources for provisioning and management of fabric-backplane enterprise servers | |
WO2017218173A1 (en) | Providing data plane services for applications | |
JP3730921B2 (ja) | ネットワーク・プロセッサ内のパラメータをカスタマイズおよび転送する方法および装置 | |
EP2795873A1 (en) | Forwarding element for flexible and extensible flow processing in software-defined networks | |
US7453871B2 (en) | Efficient redirection of logging and tracing information in network node with distributed architecture | |
JP2002538724A (ja) | マルチプロセッサコンピュータでネットワークトラフィック処理を分散する方法および装置 | |
US8468495B2 (en) | Use of metadata for seamless updates | |
CN103986660B (zh) | 加载微码的装置以及加载微码的方法 | |
US7653718B2 (en) | Shell specific filtering and display of log messages | |
JP2016005282A (ja) | パケットの固有の識別子を用いて、パケットの構造を特定する方法およびその装置 | |
US20240323147A1 (en) | Distributed storage of packet transformation information in forwarding hardware | |
US6714542B1 (en) | Apparatus and method for storing min terms in a central min term memory for efficient sharing by a plurality of network switch ports | |
US7720948B2 (en) | Method and system of generically specifying packet classification behavior |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050916 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050927 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051007 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081014 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091014 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091014 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101014 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101014 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111014 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |