P4 ක්‍රමලේඛන භාෂාව

P4 ක්‍රමලේඛන භාෂාව
P4 යනු පැකට් රවුටින් රීති ක්‍රමලේඛනය කිරීමට නිර්මාණය කර ඇති ක්‍රමලේඛන භාෂාවකි. C හෝ Python වැනි සාමාන්‍ය කාර්ය භාෂාවක් මෙන් නොව, P4 යනු ජාල මාර්ගගත කිරීම සඳහා ප්‍රශස්ත මෝස්තර ගණනාවක් සහිත වසම-විශේෂිත භාෂාවකි.

P4 යනු P4 Language Consortium නම් ලාභ නොලබන සංවිධානයක් විසින් බලපත්‍ර ලබා දී පවත්වාගෙන යනු ලබන විවෘත මූලාශ්‍ර භාෂාවකි. විවෘත මූලාශ්‍ර ජාලකරණ ව්‍යාපෘති සඳහා විශාලතම කුඩ සංවිධාන දෙකක් වන Open Networking Foundation (ONF) සහ Linux Foundation (LF) මගින් ද එයට සහාය වේ.
භාෂාව මුලින් නිර්මාණය කරන ලද්දේ 2013 දී වන අතර 2014 SIGCOMM CCR පත්‍රිකාවක “ප්‍රොටෝකෝලය ස්වාධීන, පැකට් රවුටින් ප්‍රොසෙසර ක්‍රමලේඛනය” යන මාතෘකාවෙන් විස්තර කරන ලදී.

එහි ආරම්භයේ සිට, P4 ඝාතීය ලෙස වර්ධනය වී පරිණාමය වී ඇති අතර, ජාල ඇඩැප්ටර, ස්විච සහ රවුටර ඇතුළු ජාල උපාංග මගින් පැකට් සම්ප්‍රේෂණය කිරීම විස්තර කිරීමේ ප්‍රමිතියක් බවට පත් විය.

විවෘත ජාලකරණ පදනමේ විධායක අධ්‍යක්ෂ ගුරු පරුල්කාර් පැවසුවේ “SDN ජාලකරණ කර්මාන්තය පරිවර්තනය කර ඇති අතර P4 විසින් SDN මීළඟ මට්ටමට ගෙන යනු ලබන්නේ රවුටින් වෙත වැඩසටහන්ගත කිරීමේ හැකියාවයි.

P4 භාෂාව මුලින්ම නිර්මාණය කරන ලද්දේ Google, Intel, Microsoft Research, Barefoot, Princeton සහ Stanford හි ඉංජිනේරුවන් සහ පර්යේෂකයන් පිරිසක් විසිනි. ඉලක්කය සරල විය: මෘදුකාංග සංවර්ධකයෙකුට දිනකට ඉගෙන ගත හැකි භාවිතයට පහසු භාෂාවක් නිර්මාණය කර ජාල හරහා පැකට් යවන ආකාරය නිවැරදිව විස්තර කිරීමට භාවිතා කරන්න.

ආරම්භයේ සිටම, P4 නිර්මාණය කර ඇත්තේ ඉලක්ක ස්වාධීන ලෙසය (එනම් P4 හි ලියා ඇති වැඩසටහනක් ASICs, FPGAs, CPUs, NPUs සහ GPUs වැනි විවිධ ඉලක්ක මත ධාවනය කිරීමට නොවෙනස්ව සම්පාදනය කළ හැක).

භාෂාව ද ප්‍රොටෝකෝලය ස්වාධීන වේ (එනම්, P4 වැඩසටහනකට පවතින සම්මත ප්‍රොටෝකෝල විස්තර කිරීමට හෝ නව අභිරුචි ලිපින ක්‍රම නියම කිරීමට භාවිතා කළ හැක).

කර්මාන්තයේ දී, උපාංග වැඩසටහන්කරණය සඳහා P4 භාවිතා වේ. සමහර විට අනාගතයේදී Internet-RFC සහ IEEE ප්‍රමිතීන්ට P4 පිරිවිතර ද ඇතුළත් වනු ඇත.

P4 වැඩසටහන්ගත කළ හැකි සහ ස්ථාවර ක්‍රියාකාරී උපාංග සඳහා භාවිතා කළ හැක. උදාහරණයක් ලෙස, විවෘත මූලාශ්‍ර SONiC ස්විච් ඕඑස් මගින් භාවිතා කරන Switch Abstraction Interface (SAI) API වල ස්විච් නල මාර්ග හැසිරීම නිවැරදිව වාර්තා කිරීමට එය භාවිතා කරයි. P4 ONF Stratum ව්‍යාපෘතියේ විවිධ ස්ථාවර සහ වැඩසටහන්ගත කළ හැකි උපාංග හරහා මාරුවීමේ හැසිරීම විස්තර කිරීමට ද භාවිතා වේ.

පළමු වරට, ස්විචයේ සහ ජාල ඇඩප්ටරයන්ගේ හැසිරීම විස්තර කිරීම, යෙදවීමට පෙර සම්පූර්ණ ජාලයේ නිවැරදි ක්රියාත්මක කළ හැකි ආකෘතියක් නිර්මාණය කිරීමට ඔබට ඉඩ සලසයි. විශාල වලාකුළු සපයන්නන්ට මෘදුකාංග භාවිතයෙන් ජාලය සම්පූර්ණයෙන්ම පරීක්ෂා කර දෝෂහරණය කළ හැකි අතර, මිල අධික දෘඩාංග අවශ්‍ය නොවී රසායනාගාරයේ අන්තර් ක්‍රියාකාරීත්වය පරීක්ෂා කිරීමේ කාලය සහ පිරිවැය සැලකිය යුතු ලෙස අඩු කරයි.

P4 භාවිතා කිරීමෙන්, ජාල උපකරණ වෙළෙන්දන්ට සියළුම නිෂ්පාදන හරහා පොදු යටින් පවතින මාර්ගගත හැසිරීම් අපේක්ෂා කළ හැක, පරීක්ෂණ යටිතල පහසුකම් නැවත භාවිතා කිරීමට ඉඩ සලසයි, කළමනාකරණ මෘදුකාංග සංවර්ධනය සරල කරයි, සහ අවසානයේ අන්තර් ක්‍රියාකාරීත්වය සහතික කරයි.

ඇත්ත වශයෙන්ම, සම්පූර්ණයෙන්ම නව මාර්ගගත මාර්ග විස්තර කරන වැඩසටහන් ලිවීමට P4 භාවිතා කළ හැකිය. උදාහරණයක් ලෙස, දත්ත මධ්‍යස්ථාන, ව්‍යවසාය සහ සේවා සපයන්නන්ගේ ජාල වල දුරස්ථමිතික සහ මිනුම් සඳහා P4 බහුලව භාවිතා වේ.

පර්යේෂණ ප්‍රජාව ද ඉහළ ගොස් ඇත. ප්‍රමුඛ පෙළේ ශාස්ත්‍රීය ජාලකරණ පර්යේෂණ කණ්ඩායම් කිහිපයක් බර තුලනය, එකඟතා ප්‍රොටෝකෝල සහ ප්‍රධාන අගය හැඹිලි කිරීම ඇතුළුව P4 වැඩසටහන් මත පදනම් වූ ආකර්ෂණීය නව යෙදුම් ප්‍රකාශයට පත් කර ඇත. නව ක්‍රමලේඛන ආදර්ශයක් නිර්මාණය වෙමින් පවතී, නවෝත්පාදනය දෘඪාංග වලින් මෘදුකාංග වෙත ගමන් කරමින්, බොහෝ අනපේක්ෂිත, නව සහ දක්ෂ අදහස් මතු වීමට ඉඩ සලසයි.

සංවර්ධක ප්‍රජාව විසින් සම්පාදක, නල මාර්ග, හැසිරීම් ආකෘති, API, පරීක්ෂණ රාමු, යෙදුම් සහ තවත් දේ ඇතුළුව, කේත සංවර්ධනය සඳහා සැලකිය යුතු දායකත්වයක් ලබා දී ඇත. Alibaba, AT&T, Barefoot, Cisco, Fox Networks, Google, Intel, IXIA, Juniper Networks, Mellanox, Microsoft, Netcope, Netronome, VMware, Xilinx සහ ZTE වැනි සමාගම් කැප වූ සංවර්ධකයින් ඇත; BUPT, Cornell, Harvard, MIT, NCTU, Princeton, Stanford, Technion, Tsinghua, UMass, සහ USI ඇතුළු විශ්ව විද්‍යාල වලින්; සහ CORD, FD.io, OpenDaylight, ONOS, OvS, SAI සහ Stratum ඇතුළු විවෘත මූලාශ්‍ර ව්‍යාපෘති P4 ස්වාධීන ප්‍රජා ව්‍යාපෘතියක් බව අවධාරණය කරයි.

P4 භාෂාව සඳහා සාමාන්‍ය පාලක උත්පාදනය:

P4 ක්‍රමලේඛන භාෂාව

අයදුම් කිරීමේ අපේක්ෂාවන්

P4 ක්‍රමලේඛන භාෂාව
භාෂාව යෙදුම් මාර්ගගත කිරීම සඳහා අදහස් කරන බැවින්, අවශ්‍යතා සහ සැලසුම් විකල්ප ලැයිස්තුව සාමාන්‍ය කාර්ය ක්‍රමලේඛන භාෂාවලට සාපේක්ෂව වෙනස් වේ. භාෂාවේ ප්රධාන ලක්ෂණ වන්නේ:

  1. ඉලක්ක ක්රියාත්මක කිරීමෙන් ස්වාධීනත්වය;
  2. භාවිතා කරන ලද ප්රොටෝකෝලයේ ස්වාධීනත්වය;
  3. ක්ෂේත්‍ර නැවත සකස් කිරීමේ හැකියාව.

ඉලක්ක ක්රියාත්මක කිරීමෙන් ස්වාධීනත්වය

P4 වැඩසටහන් නිර්මාණය කර ඇත්තේ ස්වාධීනව ක්‍රියාත්මක කිරීමටය, එනම් ඒවා සාමාන්‍ය කාර්ය සකසන, FPGAs, system-on-chips, Network Processor සහ ASIC වැනි විවිධ වර්ගයේ ක්‍රියාත්මක කිරීමේ එන්ජින් සඳහා සම්පාදනය කළ හැක. මෙම විවිධ වර්ගයේ යන්ත්‍ර P4 ඉලක්ක ලෙස හඳුන්වනු ලබන අතර, සෑම ඉලක්කයකටම P4 මූල කේතය ඉලක්ක මාරු ආකෘතියක් බවට පරිවර්තනය කිරීමට සම්පාදකයක් අවශ්‍ය වේ. සම්පාදකය ඉලක්ක උපාංගය, බාහිර මෘදුකාංග, හෝ වලාකුළු සේවාවක් තුළට ගොඩනගා ගත හැක. P4 වැඩසටහන් සඳහා මුල් ඉලක්ක බොහෝමයක් සරල පැකට් මාරු කිරීම සඳහා වූ බැවින්, "P4 ඉලක්කය" වඩාත් නිවැරදි වුවද "P4 ස්විචය" යන යෙදුම ඇසීම ඉතා සුලභ ය.

භාවිතා කරන ලද ප්රොටෝකෝලයේ ස්වාධීනත්වය

P4 ප්රොටෝකෝලය ස්වාධීන වේ. මෙයින් අදහස් කරන්නේ IP, Ethernet, TCP, VxLAN හෝ MPLS වැනි පොදු ප්‍රොටෝකෝල සඳහා භාෂාවට ස්වදේශීය සහය නොමැති බවයි. ඒ වෙනුවට, P4 ක්‍රමලේඛකයා වැඩසටහනේ අවශ්‍ය ප්‍රොටෝකෝලවල ශීර්ෂ ආකෘති සහ ක්ෂේත්‍ර නාම විස්තර කරයි, ඒවා සම්පාදනය කරන ලද වැඩසටහන සහ ඉලක්ක උපාංගය මගින් අර්ථ නිරූපණය කර සකසනු ලැබේ.

ක්ෂේත්‍ර නැවත සකස් කිරීමේ හැකියාව

ප්‍රොටෝකෝල ස්වාධීනත්වය සහ වියුක්ත භාෂා ආකෘතිය මඟින් ප්‍රතිනිර්මාණය කිරීමට ඉඩ සලසයි—P4 ඉලක්ක පද්ධතිය යෙදවීමෙන් පසු පැකට් සැකසුම් වෙනස් කිරීමට හැකි විය යුතුය. මෙම හැකියාව සම්ප්‍රදායිකව ස්ථාවර ක්‍රියාකාරී ඒකාබද්ධ පරිපථ වෙනුවට සාමාන්‍ය කාර්ය සකසන හෝ ජාල ප්‍රොසෙසර හරහා මාර්ගගත කිරීම සමඟ සම්බන්ධ වී ඇත.

විශේෂිත ප්‍රොටෝකෝල කට්ටලයක ක්‍රියාකාරීත්වය ප්‍රශස්ත කිරීම වළක්වන කිසිවක් භාෂාවේ නොමැති වුවද, මෙම ප්‍රශස්තකරණයන් භාෂා කතුවරයාට නොපෙනෙන අතර අවසානයේ පද්ධතියේ සහ ඉලක්කවල නම්‍යශීලී බව සහ ඒවායේ ප්‍රතිසංවිධානය අඩු කළ හැකිය.

භාෂාවේ මෙම ලක්ෂණ මුලින් එහි නිර්මාපකයින් විසින් ජාල යටිතල ව්‍යුහය තුළ එහි පුළුල් භාවිතය කෙරෙහි අවධානය යොමු කර ඇත.

භාෂාව දැනටමත් බොහෝ සමාගම්වල භාවිතා වේ:

1) අධි පරිමාණ දත්ත මධ්‍යස්ථාන;

චීන සමාගම Tencent යනු ලොව විශාලතම ආයෝජන සමාගම වන අතර විශාලතම ව්‍යාපාර ප්‍රාග්ධන සමාගම් වලින් එකකි. Tencent's අනුබද්ධිත සමාගම්, චීනයේ සහ ලොව පුරා අනෙකුත් රටවල, විවිධ අන්තර්ජාල සේවා, කෘත්‍රිම බුද්ධි ක්ෂේත්‍රයේ වර්ධනයන් සහ ඉලෙක්ට්‍රොනික විනෝදාස්වාදය ඇතුළුව අධි-තාක්ෂණික ව්‍යාපාරවල විවිධ ක්ෂේත්‍රවල විශේෂීකරණය වේ.

P4 සහ වැඩසටහන්ගත කළ හැකි මාර්ගගත කිරීම යනු සමාගමේ ජාල ගෘහ නිර්මාණ ශිල්පයේ භාවිතා වන උසස් තාක්ෂණයන් වේ.

ආරම්භකයින්ගෙන් කෙනෙකු ලෙස, ජාලකරණ කර්මාන්තයේ සහ විශේෂයෙන්ම දත්ත මධ්‍යස්ථාන ගෘහ නිර්මාණ සැලසුම් තුළ P4 සීඝ්‍රයෙන් භාවිතා කිරීම ගැන ගූගල් ආඩම්බර වේ.

2) වාණිජ සමාගම්;

ගෝල්ඩ්මන් සැක්ස් විවෘත මූලාශ්‍ර ප්‍රජාව සමඟ වැඩ කිරීමෙන් සහ ජාල යටිතල පහසුකම් නව්‍යකරණය කිරීමට සහ ගනුදෙනුකරුවන්ට වඩා හොඳ විසඳුම් ලබා දීමට පොදු ප්‍රමිතීන් සහ විසඳුම් සංවර්ධනය කිරීමෙන් ප්‍රයෝජන ගනී.

3) නිෂ්පාදනය;

P4 වැනි භාෂාවකින් ඉදිරියට යැවීමේ හැසිරීම අනන්‍ය ලෙස නිර්වචනය කිරීමෙන් සමස්ත ජාලකරණ කර්මාන්තයට ප්‍රතිලාභ ලැබෙනු ඇත. Cisco මෙම භාෂාව භාවිතා කිරීමට තම නිෂ්පාදන රේඛා මාරු කිරීමට ද විශ්වාස කරයි.

Juniper Networks නිෂ්පාදන ගණනාවක P4 සහ P4 ධාවන කාලය ඇතුළත් කර ඇති අතර, Juniper embedded processor සහ එහි මෘදුකාංග කේතය වෙත ක්‍රමලේඛ ප්‍රවේශය සපයයි.

Ruijie Networks යනු P4 හි ප්‍රබල ආධාරකරුවෙකු වන අතර එය ජාල වෙත ගෙන එන ප්‍රතිලාභ වේ. P4 සමඟින්, සමාගමට පුළුල් පරාසයක පාරිභෝගිකයින් සඳහා හොඳම පන්තියේ විසඳුම් නිර්මාණය කර ලබා දිය හැකිය.

4) විදුලි සංදේශ සපයන්නන්;

AT&T යනු P4 කලින් භාවිතා කරන්නෙකු වූ අතර, එහි ජාල තුළ දැකීමට අවශ්‍ය හැසිරීම නිර්වචනය කිරීමට සහ එහි ජාලයේ P4 ක්‍රමලේඛගත කළ හැකි යොමු කිරීමේ උපාංග භාවිතා කිරීමට P4 භාවිතා කළ පළමු එකකි.

Deutsche Telekom හි, Access 4.0 වැඩසටහනේ කොටසක් ලෙස යතුරු ජාල ක්‍රියාකාරකම් මූලාකෘති කිරීමට භාෂාව භාවිතා කරයි.

5) අර්ධ සන්නායක කර්මාන්තය;

ජාල රවුටින් තලයට මෘදුකාංග හැකියාවන් ලබා දීම සඳහා නව ආදර්ශයක් ක්‍රියාත්මක කිරීමට භාෂාව බෙයාෆුට් සක්‍රීය කළේය.

Xilinx P4.org හි ආරම්භකයකු වූ අතර P4 භාෂාව සංවර්ධනය කිරීමට සක්‍රීයව සම්බන්ධ වූ අතර එය SmartNIC සහ NFV දෘඪාංග සඳහා FPGA මත පදනම් වූ වැඩසටහන්ගත කළ හැකි වේදිකා වෙත ක්‍රියාත්මක කරන ලදී, SDNet නිර්මාණයේ කොටසක් ලෙස පළමු P416 සම්පාදකයන්ගෙන් එකක් නිකුත් කළේය.

6) මෘදුකාංග.

VMware විශ්වාස කරන්නේ P4 ජාලය තුළ අර්ථවත් සහ අවශ්‍ය පරිවර්තනයක් ඇති කරන දැවැන්ත ශක්තියක්, නවෝත්පාදනයක් සහ ප්‍රජාවක් නිර්මාණය කරන බවයි. VMware ආරම්භයේ සිටම මෙම කර්මාන්ත ව්‍යාපාරයේ කොටසක් වී ඇත, නව්‍යකරණයේ නව රැල්ලක් මෙහෙයවනු ලබන්නේ යටිතල පහසුකම් හැකියාවන් පුළුල් කරන සහ නවතම නිෂ්පාදන තුළ එය ක්‍රියාත්මක කරන මෘදුකාංග පදනම් වූ ප්‍රවේශයන් මගිනි.

මේ අනුව, P4 යනු ඉලක්ක-ස්වාධීන සහ ප්‍රොටෝකෝල-ස්වාධීන ක්‍රමලේඛන භාෂාවක් වන අතර එය පැකට් රවුටින් හැසිරීම වැඩසටහනක් ලෙස අනන්‍ය ලෙස නිර්වචනය කිරීමට කර්මාන්ත සහ ශාස්ත්‍රාලිකයන් විසින් භාවිතා කරනු ලබන අතර එය බහු ඉලක්ක සඳහා සම්පාදනය කළ හැකිය. අද, ඉලක්කවලට දෘඪාංග සහ මෘදුකාංග ස්විච, හයිපර්වයිසර් ස්විච, NPU, GPU, FPGAs, SmartNICs සහ ASIC ඇතුළත් වේ.

භාෂාවේ ප්‍රධාන ලක්ෂණ එහි යෙදුමේ විෂය පථය සැලකිය යුතු ලෙස පුළුල් කරන අතර ජාල ගෘහ නිර්මාණ ශිල්පයේ වේගවත් ක්‍රියාත්මක කිරීම සහතික කරයි.

ඇරඹුම

P4 යනු විවෘත ව්‍යාපෘතියකි, අදාළ සියලු තොරතුරු වෙබ් අඩවියේ ඇත P4.org

ගබඩා සබැඳිය https://github.com/p4lang, ඔබට උදාහරණ මූලාශ්‍ර කේතය සහ නිබන්ධන ලබා ගත හැක.

Плагин P4 සහාය ඇතිව Eclipse සඳහා, නමුත් අපට නිර්දේශ කළ හැක P4 චිත්‍රාගාරය බෙයාෆුට් වලින්.

P4 ක්‍රමලේඛන භාෂාව

කර්නලයේ ප්‍රධාන වියුක්තයන් දෙස බලමු:

ශීර්ෂයන් නිර්වචනය කිරීම - ඔවුන්ගේ උපකාරයෙන්, ප්රොටෝකෝල ශීර්ෂයන් තීරණය කරනු ලැබේ.

ශීර්ෂ අර්ථ දැක්වීම සඳහන් කරයි:

  • පැකට් ආකෘති සහ ශීර්ෂ ක්ෂේත්‍ර නාම පිළිබඳ විස්තරය
  • ස්ථාවර සහ විචල්‍ය අවසර ලත් ක්ෂේත්‍ර

උදාහරණයක් ලෙස

header Ethernet_h{
    bit<48>  dstAddr;
    bit<48>  srcAddr;
    bit<16>  etherType;
}

header IPv4_h{
    bit<4>  version;
    bit<4>  ihl;
    bit<8>  diffserv;
    bit<16>  totalLen;
    bit<16>  identification;
    bit<3>  flags;
    bit<13>  fragOffset;
    bit<8>  ttl;
    bit<8>  protocol;
    bit<16>  hdrChecksum;
    bit<32>  srcAddr;
    bit<32>  dstAddr;
    varbit<320>  options;
}

විග්‍රහ කරන්නන් - ඔවුන්ගේ කාර්යය වන්නේ සිරස්තල විග්‍රහ කිරීමයි.

පහත විග්‍රහක උදාහරණය මඟින් යන්ත්‍රයේ අවසාන තත්ත්‍වය එක් ආරම්භක තත්වයක සිට අවසාන අවස්ථා දෙකෙන් එකකට සංක්‍රමණය වීම තීරණය කරයි:

P4 ක්‍රමලේඛන භාෂාව

parser MyParser(){
 state  start{transition parse_ethernet;}
 state  parse_ethernet{
    packet.extract(hdr.ethernet);
    transition select(hdr.ethernet.etherType){
        TYPE_IPV4: parse_ipv4;
        default: accept;
        }
    }…
}

මේස — ක්‍රියාවන් සමඟ පරිශීලක යතුරු සම්බන්ධ කරන යන්ත්‍ර තත්වයන් අඩංගු වේ. ක්රියා - පැකේජය හැසිරවිය යුතු ආකාරය පිළිබඳ විස්තරයක්.

පැකට් ඉදිරියට යැවීම සඳහා වගු වල ප්‍රාන්ත (කළමනාකරණ මට්ටමින් අර්ථ දක්වා ඇත) අඩංගු වේ, තරඟ-ක්‍රියා ඒකකය විස්තර කරන්න

පැකේජ ගැලපේ:

  • නිශ්චිත තරගය
  • දිගම උපසර්ග ගැළපීම (LPM)
  • ත්‍රිත්ව ගැලපීම (ආවරණ)

table ipv4_lpm{
    reads{
        ipv4.dstAddr: lpm;
    } actions {
        forward();
    }
}

හැකි සියලුම ක්‍රියා කලින් වගු වල අර්ථ දැක්විය යුතුය.

ක්රියාවන් කේතය සහ දත්ත වලින් සමන්විත වේ. දත්ත පැමිණෙන්නේ කළමනාකරණ මට්ටමෙනි (උදා: IP ලිපින/වරාය අංක). නිශ්චිත, ලූප-නිදහස් ප්‍රාථමික ක්‍රියාවෙහි සෘජුවම සඳහන් කළ හැකි නමුත්, උපදෙස් ගණන පුරෝකථනය කළ හැකි විය යුතුය. එබැවින්, ක්‍රියාවන්හි කිසිදු ලූපයක් හෝ කොන්දේසි සහිත ප්‍රකාශයක් අඩංගු විය නොහැක.

action ipv4_forward(macAddr_t dstAddr, egressSpec_t port){
    standard_metadata.egress_spec = port;
    hdr.ethernet.srcAddr = hdr.ethernet.dstAddr;
    hdr.ethernet.dstAddr = dstAddr;
    hdr.ipv4.ttl = hdr.ipv4.ttl - 1;
}

තරඟ-ක්‍රියා මොඩියුල - සෙවුම් යතුරක් සෑදීමට ක්‍රියා කිරීම, වගුවක සෙවීම, ක්‍රියා සිදු කිරීම.

මොඩියුලයක සාමාන්‍ය උදාහරණයක් රූපයේ දැක්වේ:

P4 ක්‍රමලේඛන භාෂාව

ප්රවාහ පාලනය - Match-Action මොඩියුල භාවිතා කරන අනුපිළිවෙල පෙන්නුම් කරයි. මෙය ඉහළ මට්ටමේ තර්කනය සහ තරඟ-ක්‍රියා අනුපිළිවෙල නිර්වචනය කරන අත්‍යවශ්‍ය වැඩසටහනකි. පාලන ප්‍රවාහය පාලන මට්ටම නිර්වචනය කිරීමෙන් සියලුම වස්තූන් සම්බන්ධ කරයි.

බාහිර වස්තූන් පැහැදිලිව නිර්වචනය කරන ලද ගෘහ නිර්මාණ ශිල්පය සහ API අතුරුමුහුණත් සහිත විශේෂිත වස්තූන් වේ. උදාහරණයක් ලෙස, චෙක්සම් ගණනය කිරීම, රෙජිස්ටර්, කවුන්ටර, කවුන්ටර ආදිය.

extern register{
    register(bit<32> size);
    void read(out T result, in bit<32> index);
    void write(in bit<32> index, in T value);
}

extern Checksum16{
  Checksum16();    //constructor
  void clear();    //prepare unit for computation
  void update(in T data);    //add data to checksum
  void remove(in T data);  /remove data from existing checksum
  bit<16> get(); //get the checksum for the data added since last clear
}

පාරදත්ත - එක් එක් පැකේජය හා සම්බන්ධ දත්ත ව්යුහයන්.

පාරදත්ත වර්ග 2ක් ඇත:

  අභිරුචි පාරදත්ත (සියලු පැකේජ සඳහා හිස් ව්‍යුහය)
    ඔබට අවශ්‍ය ඕනෑම දෙයක් මෙහි තැබිය හැකිය
    නල මාර්ගය පුරාම පවතී
    ඔබේම අරමුණු සඳහා භාවිතා කිරීමට පහසුය, උදාහරණයක් ලෙස, පැකේජ හැෂ් ගබඩා කිරීම සඳහා

  අභ්‍යන්තර පාරදත්ත - ගෘහ නිර්මාණ ශිල්පය මගින් සපයනු ලැබේ
    Input port, output port යන්න මෙහි අර්ථ දක්වා ඇත
    පැකට්ටුව පෝලිම් කර ඇති කාල මුද්‍රාව, පෝලිම් ගැඹුර
    multicast hash / multicast පෝලිම
    පැකේජයේ ප්‍රමුඛතාවය, පැකේජයේ වැදගත්කම
    ප්‍රතිදාන තොට පිරිවිතර (උදා: ප්‍රතිදාන පෝලිම)

P4 සම්පාදකය

P4 සම්පාදකය (P4C) ජනනය කරයි:

  1. දත්ත තලයේ ධාවන කාලය
  2. දත්ත තලයේ යන්ත්‍ර තත්ත්වය කළමනාකරණය කිරීම සඳහා API

P4 ක්‍රමලේඛන භාෂාව

P4 භාෂාවෙන් මෘදුකාංග ස්විචයක උදාහරණය

ප්‍රභව කේත ගබඩාවෙන් බාගත හැක.

p4lang/p4c-bm: bmv2 සඳහා JSON වින්‍යාසය නිර්මාණය කරයි
p4lang/bmv2: bmv2 අනුවාද JSON වින්‍යාසයන් තේරුම් ගන්නා මෘදුකාංග ස්විචයක්

රූපයේ දැක්වෙන්නේ ව්‍යාපෘති සම්පාදන රූප සටහන:

P4 ක්‍රමලේඛන භාෂාව

වගු, කියවීමේ ලේඛන, කවුන්ටර සමඟ හැසිරවීම්:

  • table_set_default <table name> <action name> <action parameters>
  • table_add <table name> <action name> <match fields> => <action
    parameters> [priority]
  • table_delete <table name> <entry handle>


මෘදුකාංග මාරු API පහසු භාවිතය සඳහා ප්‍රභව කේතයේ simple_switch_CLI වැඩසටහන අඩංගු වේ.

ඔබට මෙය සහ වෙනත් උදාහරණ ගබඩාවෙන් බාගත හැකිය.

P4 ක්‍රමලේඛන භාෂාව

ප්රාදේශීය සභා මෙම ගිම්හානයේ මුල් භාගයේදී, හයිපර්ස්කේල් ක්ලවුඩ් භාවිතා කරන්නන්ගේ අවශ්‍යතා ඉක්මනින් සපුරාලීමේ උත්සාහයක් ලෙස Intel Barefoot Networks අත්පත් කර ගැනීමේ ගිවිසුමක් අත්සන් කළේය. නවීන් ෂෙනෝයි (ඉන්ටෙල් කෝපරේෂන් හි දත්ත මධ්‍යස්ථාන සමූහයේ විධායක උප සභාපති සහ සාමාන්‍යාධිකාරී) පැවසූ පරිදි, මෙය දත්ත මධ්‍යස්ථාන පාරිභෝගිකයින් සඳහා විශාල වැඩ බරක් සහ වැඩි අවස්ථා ලබා දීමට ඉන්ටෙල්ට ඉඩ සලසයි.

මගේ පෞද්ගලික මතය අනුව, Intel යනු FPGA චිප්ස් නිෂ්පාදනයේ ප්රමුඛයා වන අතර එය විශිෂ්ට Quartus පරිසරයක් ඇති බව අප අමතක නොකළ යුතුය. මෙයින් අදහස් කරන්නේ Intel පැමිණීමත් සමඟ Barefoot එහි නිෂ්පාදන පෙළ පුළුල් කිරීම පමණක් නොව, Quartus සහ P4 Studio ද Toffino සහ Toffino 2 රේඛාවට බරපතල යාවත්කාලීන කිරීම් සහ එකතු කිරීම් ලැබෙනු ඇතැයි අපේක්ෂා කළ හැකි බවයි.

P4 ප්‍රජාවේ නිල සාමාජික - සමාගම සාධක කණ්ඩායම.

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න