P4 پروگرامنگ ٻولي

P4 پروگرامنگ ٻولي
P4 هڪ پروگرامنگ ٻولي آهي جنهن کي پروگرام پيڪيٽ روٽنگ قاعدن لاءِ ٺاهيو ويو آهي. عام-مقصد واري ٻولي جي برعڪس جهڙوڪ C يا Python، P4 هڪ ڊومين-مخصوص ٻولي آهي جنهن ۾ نيٽ ورڪ روٽنگ لاءِ بهتر ڪيل ڪيترن ئي ڊيزائنن سان.

P4 هڪ کليل ذريعو ٻولي آهي لائسنس يافته ۽ هڪ غير منافع بخش تنظيم طرفان سنڀاليل آهي جنهن کي P4 Language Consortium سڏيو ويندو آهي. اهو اوپن نيٽ ورڪنگ فائونڊيشن (ONF) ۽ لينڪس فائونڊيشن (LF) پاران پڻ سهڪار ڪيو ويو آهي، اوپن سورس نيٽ ورڪنگ منصوبن لاءِ ٻه وڏيون وڏيون تنظيمون.
ٻولي اصل ۾ 2013 ۾ ٺاهي وئي هئي ۽ 2014 جي SIGCOMM CCR پيپر ۾ بيان ڪئي وئي هئي جنهن جو عنوان آهي "پروٽوڪول آزاد، پيڪٽ روٽنگ پروسيسر پروگرامنگ."

ان جي شروعات کان وٺي، P4 تيزيء سان ترقي ڪئي ۽ ترقي ڪئي، جلدي نيٽ ورڪ ڊوائيسز، نيٽ ورڪ اڊاپٽرز، سوئچز، ۽ روٽرز سميت پيٽرن جي منتقلي کي بيان ڪرڻ لاء هڪ معيار بڻجي ويو.

"SDN نيٽ ورڪنگ انڊسٽري کي تبديل ڪري ڇڏيو آهي، ۽ P4 SDN کي ايندڙ ليول تي وٺي ٿو پروگرام جي قابليت کي روٽنگ ۾ آڻيندي،" گرو پارولڪر، اوپن نيٽورڪنگ فائونڊيشن جي ايگزيڪيوٽو ڊائريڪٽر چيو.

P4 ٻولي اصل ۾ گوگل، Intel، Microsoft Research، Barefoot، Princeton ۽ Stanford جي انجنيئرن ۽ محققن جي هڪ گروپ پاران ٺاهي وئي هئي. مقصد سادو هو: استعمال ڪرڻ ۾ آسان ٻولي ٺاهيو جيڪو هڪ سافٽ ويئر ڊولپر هڪ ڏينهن ۾ سکي سگهي ٿو ۽ صحيح طور تي بيان ڪرڻ لاءِ استعمال ڪري ٿو ته نيٽ ورڪن ۾ پيڪيٽ ڪيئن موڪليا وڃن ٿا.

شروعات کان وٺي، P4 کي آزاد ھدف بڻائڻ لاءِ ٺاھيو ويو ھو (يعني P4 ۾ لکيل ھڪ پروگرام مختلف ھدف جهڙوڪ ASICs، FPGAs، CPUs، NPUs، ۽ GPUs تي ھلڻ لاءِ بي ترتيب مرتب ٿي سگھي ٿو).

ٻولي پڻ پروٽوڪول آزاد آهي (يعني، هڪ P4 پروگرام موجوده معياري پروٽوڪول کي بيان ڪري سگهي ٿو يا نئين ڪسٽم ايڊريسنگ طريقن کي بيان ڪرڻ لاء استعمال ڪيو وڃي).

صنعت ۾، P4 ڊوائيس پروگرامنگ لاء استعمال ٿيندو آهي. شايد مستقبل ۾ انٽرنيٽ-RFC ۽ IEEE معيارن ۾ پڻ P4 وضاحت شامل هوندي.

P4 ٻنهي پروگرامن ۽ مقرر ٿيل فنڪشن ڊوائيسز لاء استعمال ڪري سگهجي ٿو. مثال طور، اهو استعمال ڪيو ويندو آهي سوئچ پائپ لائن جي رويي کي درست طور تي رڪارڊ ڪرڻ لاءِ سوئچ Abstraction Interface (SAI) APIs ۾ استعمال ٿيل اوپن سورس SONiC سوئچ OS. P4 پڻ ONF Stratum پروجيڪٽ ۾ استعمال ڪيو ويو آھي مختلف قسم جي مقرر ٿيل ۽ پروگرام قابل ڊوائيسز ۾ سوئچنگ رويي کي بيان ڪرڻ لاء.

پهريون ڀيرو، سوئچ ۽ نيٽ ورڪ ايڊاپٽرز جي رويي کي بيان ڪندي توهان کي ترتيب ڏيڻ کان اڳ سڄي نيٽ ورڪ جي صحيح قابل عمل ماڊل ٺاهڻ جي اجازت ڏئي ٿي. وڏا ڪلائوڊ فراهم ڪندڙ نيٽ ورڪ کي مڪمل طور تي سافٽ ويئر استعمال ڪندي ٽيسٽ ۽ ڊيبگ ڪري سگھن ٿا، قيمتي هارڊويئر جي ضرورت کان سواءِ ليب ۾ انٽرآپريبلٽي ٽيسٽ جي وقت ۽ قيمت کي خاص طور تي گھٽائي ٿو.

P4 استعمال ڪندي، نيٽ ورڪ سامان وينڊرز سڀني پراڊڪٽس ۾ عام بنيادي روٽنگ رويي جي توقع ڪري سگھن ٿا، ٽيسٽ انفراسٽرڪچر کي ٻيهر استعمال ڪرڻ جي اجازت ڏئي، انتظامي سافٽ ويئر ڊولپمينٽ کي آسان ڪرڻ، ۽ آخرڪار مداخلت کي يقيني بڻائي.

يقينن، P4 پروگرامن کي لکڻ لاء استعمال ڪري سگھجي ٿو جيڪي مڪمل طور تي روٽنگ جا نوان طريقا بيان ڪن ٿا. مثال طور، P4 وڏي پيماني تي استعمال ڪيو ويندو آهي ٽيلي ميٽري ۽ ماپن لاءِ ڊيٽا سينٽرز، انٽرپرائز ۽ سروس فراهم ڪندڙ نيٽ ورڪن ۾.

ريسرچ ڪميونٽي پڻ قدم وڌايو آهي. ڪيترن ئي معروف تعليمي نيٽ ورڪنگ ريسرچ گروپن P4 پروگرامن جي بنياد تي دلچسپ نيون ايپليڪيشنون شايع ڪيون آهن، جن ۾ لوڊ بيلنسنگ، اتفاق پروٽوڪول، ۽ اهم قدر ڪيشنگ شامل آهن. هڪ نئون پروگرامنگ پيراڊم ٺاهي رهيو آهي، جدت هارڊويئر کان سافٽ ويئر ڏانهن منتقل ٿي رهي آهي، ڪيترن ئي غير متوقع، نوان ۽ غير معمولي خيالن کي ظاهر ڪرڻ جي اجازت ڏئي ٿي.

ڊولپر ڪميونٽي ڪوڊ ڊولپمينٽ ۾ اهم ڪردار ادا ڪيو آهي، جنهن ۾ گڏ ڪرڻ وارا، پائپ لائنز، رويي جا ماڊل، APIs، ٽيسٽ فريم ورڪ، ايپليڪيشنون، ۽ وڌيڪ شامل آهن. ڪمپنيون جهڙوڪ علي بابا، اي ٽي اينڊ ٽي، بيئر فوٽ، سسڪو، فاکس نيٽ ورڪ، گوگل، انٽيل، IXIA، جونيپر نيٽورڪ، ميلانڪس، مائڪروسافٽ، نيٽڪوپ، نيٽرونوم، وي ايم ويئر، زيلينڪس، ۽ ZTE وقف ڊولپرز آهن؛ يونيورسٽين مان جن ۾ BUPT, Cornell, Harvard, MIT, NCTU, Princeton, Stanford, Technion, Tsinghua, UMass, and USI شامل آهن. ۽ اوپن سورس پروجيڪٽ بشمول CORD, FD.io, OpenDaylight, ONOS, OvS, SAI ۽ Stratum ان حقيقت کي اجاگر ڪن ٿا ته P4 هڪ آزاد ڪميونٽي پروجيڪٽ آهي.

P4 ٻولي لاءِ ڪنٽرولرز جو عام نسل:

P4 پروگرامنگ ٻولي

درخواست جا امڪان

P4 پروگرامنگ ٻولي
جيئن ته ٻولي روٽنگ ايپليڪيشنن لاءِ آهي، ضرورتن ۽ ڊيزائن جي اختيارن جي فهرست عام-مقصد پروگرامنگ ٻولين جي مقابلي ۾ مختلف آهي. ٻوليءَ جون مکيه خاصيتون هي آهن:

  1. ھدف تي عملدرآمد کان آزادي؛
  2. استعمال ٿيل پروٽوڪول جي آزادي؛
  3. فيلڊ reconfigurability.

ھدف تي عمل ڪرڻ کان آزادي

P4 پروگرام آزاديءَ تي عمل درآمد ڪرڻ لاءِ ٺهيل آهن، مطلب ته انهن کي ڪيترن ئي قسمن جي عملدرآمد انجڻين لاءِ مرتب ڪري سگهجي ٿو، جهڙوڪ عام مقصدي پروسيسرز، FPGAs، سسٽم-آن-چپس، نيٽ ورڪ پروسيسرز، ۽ ASICs. انهن مختلف قسمن جي مشينن کي P4 ٽارگيٽ طور سڃاتو وڃي ٿو، ۽ هر ٽارگيٽ کي P4 سورس ڪوڊ کي ٽارگيٽ سوئچ ماڊل ۾ تبديل ڪرڻ لاءِ هڪ ڪمپلر جي ضرورت آهي. گڏ ڪرڻ وارو ٽارگيٽ ڊيوائس، خارجي سافٽ ويئر، يا ڪلائوڊ سروس ۾ به تعمير ٿي سگھي ٿو. ڇاڪاڻ ته P4 پروگرامن جا ڪيترائي اصل مقصد سادو پيڪيٽ سوئچنگ لاءِ هئا، اهو لفظ ”P4 سوئچ“ ٻڌڻ لاءِ تمام عام آهي جيتوڻيڪ ”P4 ٽارگيٽ“ وڌيڪ درست آهي.

استعمال ٿيل پروٽوڪول جي آزادي

P4 پروٽوڪول آزاد آهي. هن جو مطلب اهو آهي ته ٻولي کي عام پروٽوڪولن جهڙوڪ IP، Ethernet، TCP، VxLAN يا MPLS لاءِ مقامي سپورٽ نه آهي. ان جي بدران، P4 پروگرامر پروگرام ۾ گهربل پروٽوڪول جي هيڊر فارميٽ ۽ فيلڊ جا نالا بيان ڪري ٿو، جنهن جي نتيجي ۾ ترتيب ڏنل پروگرام ۽ ٽارگيٽ ڊيوائس پاران تشريح ۽ پروسيس ڪئي ويندي آهي.

فيلڊ reconfigurability

پروٽوڪول جي آزاديءَ ۽ خلاصي ٻوليءَ جو نمونو اجازت ڏئي ٿو ٻيهر ترتيب ڏيڻ لاءِ- P4 هدفن کي سسٽم لڳائڻ کان پوءِ پيڪيٽ پروسيسنگ کي تبديل ڪرڻ جي قابل هوندو. اها صلاحيت روايتي طور تي مقرر ٿيل فنڪشنل انٽيگريڊ سرڪٽ جي بجاءِ عام مقصدي پروسيسرز يا نيٽ ورڪ پروسيسرز ذريعي روٽنگ سان لاڳاپيل آهي.

جيتوڻيڪ ٻوليءَ ۾ ڪا به اهڙي شيءِ نه آهي جيڪا پروٽوڪول جي هڪ خاص سيٽ جي ڪارڪردگيءَ جي بهتري کي روڪيندي هجي، پر اهي اصلاحون ٻوليءَ جي ليکڪ لاءِ پوشيده هونديون آهن ۽ آخرڪار نظام ۽ مقصدن جي لچڪ ۽ انهن جي ٻيهر ترتيب کي گهٽائي سگهن ٿيون.

ٻوليءَ جون اهي خاصيتون شروعاتي طور تي ان جي تخليق ڪندڙن پاران نيٽ ورڪ انفراسٽرڪچر ۾ ان جي وسيع استعمال تي ڌيان ڏيڻ سان ترتيب ڏنيون ويون.

ٻولي اڳ ۾ ئي ڪيترن ئي ڪمپنين ۾ استعمال ڪيو ويو آهي:

1) هائپر اسڪيل ڊيٽا سينٽر؛

چيني ڪمپني Tencent دنيا ۾ سڀ کان وڏي سيڙپڪاري ڪمپني آهي ۽ وڏي ۾ وڏي سرمائيداري فرم مان هڪ آهي. Tencent جي ماتحت ڪمپنيون، ٻئي چين ۾ ۽ دنيا جي ٻين ملڪن ۾، اعلي ٽيڪنالاجي ڪاروبار جي مختلف شعبن ۾ ماهر آهن، جن ۾ مختلف انٽرنيٽ خدمتون، مصنوعي ذهانت ۽ اليڪٽرانڪ تفريح جي شعبي ۾ ترقي شامل آهن.

P4 ۽ پروگراميبل روٽنگ جديد ٽيڪنالاجيون آھن جيڪي ڪمپني جي نيٽ ورڪ فن تعمير ۾ استعمال ٿينديون آھن.

هڪ ايجاد ڪندڙ جي طور تي، گوگل کي فخر آهي ته نيٽ ورڪنگ انڊسٽري ۾ P4 جي تيز اپنائڻ ۽ خاص طور تي ڊيٽا سينٽر آرڪيٽيڪچرل ڊيزائن ۾.

2) تجارتي ڪمپنيون؛

Goldman Sachs اوپن سورس ڪميونٽي سان ڪم ڪرڻ جو فائدو وٺي ٿو ۽ نيٽ ورڪ انفراسٽرڪچر کي نئون ڪرڻ لاءِ عام معيار ۽ حل تيار ڪري ٿو ۽ گراهڪن لاءِ بهتر حل فراهم ڪري ٿو.

3) پيداوار؛

پوري نيٽ ورڪنگ انڊسٽري کي P4 وانگر ٻولي مان فائدو حاصل ٿيندو جيڪو منفرد طور تي اڳتي وڌڻ واري رويي کي بيان ڪري ٿو. سسڪو پڻ هن ٻولي کي استعمال ڪرڻ لاءِ پنهنجي پراڊڪٽ لائنن کي منتقل ڪرڻ تي يقين رکي ٿو.

جونيپر نيٽ ورڪ ڪيترن ئي پراڊڪٽس ۾ P4 ۽ P4 رن ٽائم شامل ڪيو آهي، ۽ جونيپر ايمبيڊڊ پروسيسر ۽ ان جي سافٽ ويئر ڪوڊ تائين پروگراماتي رسائي فراهم ڪري ٿي.

Ruijie نيٽ ورڪ P4 جو هڪ مضبوط حامي آهي ۽ ان جا فائدا نيٽ ورڪن ڏانهن آڻيندو آهي. P4 سان، ڪمپني ٺاهي ۽ پهچائي سگھي ٿي بهترين-۾-ڪلاس حل گراهڪن جي وسيع رينج تائين.

4) ٽيليڪميونيڪيشن فراهم ڪندڙ؛

AT&T P4 جو هڪ ابتدائي اپنائڻ وارو هو، P4 استعمال ڪرڻ وارن مان پهريون هو جيڪو رويو بيان ڪرڻ لاءِ جيڪو هو پنهنجي نيٽ ورڪ ۾ ڏسڻ چاهيندو هو، ۽ استعمال ڪرڻ لاءِ P4 پروگرامبل فارورڊنگ ڊوائيسز ان جي نيٽ ورڪ تي.

Deutsche Telekom تي، ٻولي Access 4.0 پروگرام جي حصي طور اهم نيٽ ورڪ ڪمن کي پروٽوٽائپ ڪرڻ لاءِ استعمال ٿئي ٿي.

5) Semiconductor صنعت;

ٻولي بيئر فوٽ کي نيٽ ورڪ روٽنگ جهاز تي سافٽ ويئر صلاحيتون پهچائڻ لاءِ هڪ نئون نمونو لاڳو ڪرڻ جي قابل ڪيو.

Xilinx P4.org جي باني مان هڪ هو ۽ P4 ٻولي جي ترقي ۾ فعال طور تي ملوث هو ۽ ان کي SmartNIC ۽ NFV هارڊويئر لاءِ FPGA-بنياد پروگراميبل پليٽ فارمن ۾ لاڳو ڪيو، SDNet ڊيزائن جي حصي جي طور تي پهريون P416 مرتب ڪندڙ مان هڪ کي جاري ڪيو.

6) سافٽ ويئر.

VMware مڃي ٿو ته P4 زبردست توانائي، جدت ۽ ڪميونٽي پيدا ڪري ٿي جيڪا نيٽ ورڪ ۾ بامعني ۽ ضروري تبديلي آڻيندي. VMware شروعات کان وٺي هن صنعت جي تحريڪ جو حصو رهيو آهي، جيئن ته جدت جي هڪ نئين لهر سافٽ ويئر تي ٻڌل طريقي سان هلائي رهي آهي جيڪا انفراسٽرڪچر جي صلاحيتن کي وڌايو ۽ ان کي جديد شين ۾ لاڳو ڪري ٿي.

اهڙيء طرح، P4 هڪ ٽارگيٽ-آزاد ۽ پروٽوڪول-آزاد پروگرامنگ ٻولي آهي جيڪا صنعت ۽ اڪيڊميا طرفان استعمال ڪئي وئي آهي منفرد طور تي پيڪٽ روٽنگ جي رويي کي هڪ پروگرام جي طور تي بيان ڪرڻ لاء، جنهن جي نتيجي ۾ ڪيترن ئي مقصدن لاء مرتب ڪري سگهجي ٿو. اڄ، ھدف شامل آھن هارڊويئر ۽ سافٽ ويئر سوئچز، هائپر وائزر سوئچز، NPUs، GPUs، FPGAs، SmartNICs ۽ ASICs.

ٻولي جي بنيادي خصوصيتن کي خاص طور تي ان جي ايپليڪيشن جي دائري کي وڌايو ۽ نيٽورڪ آرڪيٽيڪچرز ۾ ان جي تيز عمل کي يقيني بڻائي.

شروع ڪرائڻ

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 پروگرامنگ ٻولي

ڪنٽرول وهڪري - انهي ترتيب کي اشارو ڪري ٿو جنهن ۾ ميچ-ايڪشن ماڊل استعمال ڪيا ويا آهن. هي هڪ لازمي پروگرام آهي جيڪو بيان ڪري ٿو اعلي سطحي منطق ۽ ميچ-ايڪشن جي ترتيب. ڪنٽرول وهڪرو ڪنٽرول جي سطح کي بيان ڪندي سڀني شين کي ڳنڍي ٿو.

خارجي شيون واضح طور تي بيان ڪيل فن تعمير ۽ 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 قسم آهن:

  ڪسٽم ميٽاداٽا (سڀني پيڪيجز لاءِ خالي ڍانچي)
    توهان هتي جيڪي چاهيو ٿا رکي سگهو ٿا
    سڄي پائيپ لائين ۾ موجود
    توهان جي پنهنجي مقصدن لاءِ استعمال ڪرڻ لاءِ آسان، مثال طور، هڪ پيڪيج هيش رکڻ لاءِ

  اندروني ميٽاداٽا - فن تعمير پاران مهيا ڪيل
    ان پٽ پورٽ، آئوٽ پٽ پورٽ هتي بيان ڪيو ويو آهي
    ٽائم اسٽيمپ جڏهن پيڪٽ قطار ۾ لڳايو ويو، قطار جي کوٽائي
    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>


سورس ڪوڊ ۾ شامل آهي simple_switch_CLI پروگرام سافٽ ويئر سوئچ API جي آسان استعمال لاءِ.

توھان ڊائون لوڊ ڪري سگھوٿا ھي ۽ ٻيا مثال مخزن مان.

P4 پروگرامنگ ٻولي

پي ايس هن اونهاري جي شروعات ۾، Intel هڪ معاهدي تي دستخط ڪيو بيئر فوٽ نيٽ ورڪ حاصل ڪرڻ جي ڪوشش ۾ جلدي جلدي Hyperscale Cloud صارفين جي ضرورتن کي پورو ڪرڻ جي ڪوشش ۾. جيئن نيوين شينوئي (ايگزيڪيوٽو نائب صدر ۽ انٽيل ڪارپوريشن ۾ ڊيٽا سينٽر گروپ جو جنرل مئنيجر) چيو، اهو انٽيل کي اجازت ڏيندو ته ڊيٽا سينٽر گراهڪن لاءِ وڌيڪ ڪم لوڊ ۽ وڌيڪ موقعا فراهم ڪري.

منهنجي ذاتي راء ۾، اسان کي اهو نه وسارڻ گهرجي ته Intel FPGA چپس جي پيداوار ۾ هڪ اڳواڻ آهي ۽ اهو هڪ بهترين Quartus ماحول آهي. ان جو مطلب اهو آهي ته اسان اميد ڪري سگهون ٿا ته انٽيل جي اچڻ سان، بيئر فوٽ نه رڳو پنهنجي پراڊڪٽ لائن کي وڌائيندو، پر Quartus ۽ P4 اسٽوڊيو پڻ Toffino ۽ Toffino 2 لائن ۾ سنجيده تازه ڪاريون ۽ اضافو حاصل ڪندا.

P4 ڪميونٽي جو سرڪاري ميمبر - ڪمپني فيڪٽر گروپ.

جو ذريعو: www.habr.com

تبصرو شامل ڪريو