 Selamat pagi, semua. Jadi, seperti yang saya katakan, saya adalah seorang pelajar di U.S. Tapi hari ini saya mahu menghubungi WMF sebagai penghubungi penghubungi yang berlaku sebelumnya. Jadi hari ini tidak terlalu mudah. Saya mahu membuatnya lebih mudah. Jadi kami akan melihat beberapa hari lagi, beberapa hari lagi. Bila kita boleh mempunyai beberapa hari yang lebih lama, kita akan melihat beberapa hari lagi. Tapi sebelum kita mulakan, saya mahu mencari perkara yang lebih mudah. Jadi, seperti yang saya katakan, bahawa bahagian ini mempunyai untuk menggunakan network yang berlaku untuk mempunyai network yang berlaku untuk menggunakan network yang berlaku untuk menggunakan network yang berlaku. Jadi, bila anda mahu melihat perkara yang lebih mudah, saya ada satu dan satu tutorial untuk P4 pada penuh saya yang terakhir. Jadi, anda boleh melihatnya di YouTube ini. Mungkin anda boleh mencari ke dalam slide. Dan anda boleh cuba belajar tentang P4. Tapi sebenarnya, saya akan memberi anda beberapa keputusan atau analogik mengenai P4 sebelum kita berlaku. Jadi, seperti yang saya katakan, kita akan bercakap tentang total appropriately, bukan? Seperti yang anda katakan, kita ada CPU, kita ada program-program yang berlaku, kita ada vocal difference, dan sebagainya. Tapi sekarang, kita boleh mempunyai network yang berlaku. Jadi, masalahnya semua orang tahu program-program yang berlaku. Saya akan menikmati yang ini. Tapi kebanyakan, anda membuat program-program yang berlaku. Bisa mudah dan berlaku sejak anda. Kemudian, anda meletakkan ke dalam kode sosial dan kembali ke pembinaan atau pembinaan. Kemudian, anda meletakkan komputer dan komputer berlaku seperti yang anda inginkan terhadap keputusan mereka. Kemudian, bagaimanapun, anda boleh mempunyai aplikasi yang sangat kompleks untuk aplikasi anda. Anda hanya menggunakan program-program yang berlaku. Kemudian, anda meletakkan ke dalam kode sosial dan kembali ke pembinaan dan kembali ke pembinaan dan ke dalam kode sosial atau pembinaan. Kemudian, aplikasi anda boleh membuat dalam kode sosial yang sangat kompleks untuk aplikasi anda. Sekarang, sebabnya, anda boleh membuat sama dengan kode sosial. Jadi, sebenarnya, ia sangat berbeza. Saya mempunyai network. Bisa membuat satu network, boleh membuat dua network, atau boleh membuat 100 untuk satu. Saya mempunyai kode sosial sendiri. Saya mahu membuat kode sosial untuk membuat kembali ke pembinaan yang berlaku untuk kode sosial saya. Saya mahu mencari bagaimana kode sosial yang berlaku. Kemudian, saya meletakkan ke dalam kode sosial dan membuat ke dalam kode sosial. Kemudian, anda perlu mempunyai kode sosial untuk membuat kembali ke pembinaan untuk membuat kembali ke pembinaan. Jadi, idea ini sangat mudah. Mudah untuk kita mempunyai kode sosial dan juga untuk membuat kembali ke pembinaan. Sekarang, yang kedua adalah kode sosial. Kita tidak boleh hanya membuat program dan membuat kembali ke pembinaan. Jadi, kita perlu membuat sesuatu untuk membuat kembali ke pembinaan. Saya rasa dalam program program atau aplikasi perbincangan anda akan membuat dari pembinaan tidak menjadi IDE atau aplikasi perbincangan. Maksud awak, anda boleh memperbincangan dalam kontainer. Boleh kita membuat kontainer untuk anda memilih aplikasi perbincangan. dan anda melihat bahawa di sini sebelum anda dapat membuat pengalaman Jadi ini seperti pengalaman komputer Kemudian bagaimana jika ada aplikasi telefon? Jadi semua orang tahu bahawa ada pengalaman Android yang sangat bagus Jadi anda perlu mempunyai pengalaman reka untuk menggunakan pengalaman Android Dan kemudian membuat program perjalanan anda Dan memastikan program berlaku dengan jika ada pengalaman yang memakai pengalaman Android Jadi bagaimana anda menggunakan pengalaman reka untuk menggunakan pengalaman reka? Sekarang kita mempunyai pengalaman reka Bagaimana anda menggunakan pengalaman pengalaman reka sebelum program? Sebenarnya, ia bukan pengalaman pengalaman Anda boleh katakan bahawa ini pengalaman pengalaman Sebenarnya anda menggunakan pengalaman reka atau pengalaman Dan anda juga menggunakan pengalaman pengalaman Bagi yang berlaku di kondelia dan sebagainya Jadi bagaimana anda menggunakan pengalaman pengalaman Tapi di beberapa jika, ia mempunyai pengalaman kecil Jadi anda boleh mengubah keperluan pengalaman Dan anda juga menggunakan pengalaman pengalaman Jadi, kita perlu menggunakan pengalaman pengalaman Ada pertanyaan yang cepat? Bukan, mari kita lihat pengalaman Sebelum saya membuat pengalaman Ada orang tahu bagaimana pengalaman pengalaman berlaku Di internet, ada 1000 pengalaman pengalaman di dunia Tapi anda tahu bagaimana pengalaman pengalaman pengalaman ini? Anda mungkin lihat bahawa Perniagaan ini sangat kompleks Kerana ada banyak pengalaman pengalaman pengalaman pengalaman Tapi sebagainya pengalaman pengalaman的 Kalau pengalaman pengalaman ini tinggal dari So, it's very simple. In terms of the bucket process itself, it's very simple. Now, let's see how we import P4 program. P4 program basically is, you can say something like Fair World. Basically, it's like match action table. So, you match something and then what is the action? So, here we can see the logic of the routing. So, we have a table called IP4 OpenTables. And then what do you want to match? I want to match the IP4 headers. And then the type of the match is perfect. Because in the routing, we have several entries that match. Actually, I'm looking for the longest one. So, then we find the actions. What is the actions? It means the IP4 forward. So, as we see in the previous one, basically, when the packet comes to my device, I just need to change to make a difference. I don't need to touch anything. And maybe some action, maybe I need to be direct to the product interface or I need to be reducing the TTR. To avoid the loop. Okay, let's see. So, basically, I see some packets. I type the packet address. Now, it's going to my address. But when I send to other, I need to change to another packet. Then, the second one, I need to change into the correct work number. Okay? To excuse the correct destinations. And then I need to reduce the TTR, the time to loop. So, the idea of TTR is if I go usually like 2-5 cops, I consider it loop already. Okay, so I need to reduce the TTR every time I push to another output. Okay? So, let's see the demo. So, you know what happened like this? I have the topology in WN. So, we have 6-1, 6-2, 6-3, and 6-4. It's topology. And then I have the host 1, host 2, host 3, and host 4. So, if you want to see the detail of the example of the demo you can see in this video. But let me open up my VMs. It's visible? Okay, anyway. This one is as I mentioned before, I have the table for IBM. But in action, there is nothing good. Okay? So, I mean the program is there, but no actions. Basically, what will happen is I will not go back. Here, let's see if we try to implement. Okay, so basically how to compile this one is same as if you compile the what to say, the program, right? I mean that you complete it into a test to the main. Okay? So, if you compile the integrity of the quotes, the before quotes, and then we're also looking at binatopology. Okay? So, this is the portion of the binet. So, in here, you can see what you say that everything is set up. But if you want to see the host right, so you can go to the host. So, it will open another terminal. Basically, this is the host which actually this is available so you can see the, I mean because it's online so you can give any command. For example, so the IP is this one or you want to see any other command. So, basically, it's container. So, every host in the binet basically container that you can consider is the full feature of the host. Okay, now we want to try that as we see in the demo, right? This one, we want to check the connection between the H1 and H2. So, let's try to bring the H1 to H2. I mean, the simplest way you can just use this one. It doesn't happen because as we know there is a program but there is actions. Now, you can also if you want to ping because you know the speed of the H2 or H2 we just type same thing here we will do the same. Okay, now let's let's try to program to become okay, so I just close this one. Okay, so now let's the previous build. Okay, so basically clean up of the previous case that we built before. Now, to speed up the demo I just copy some the solution for this one. Okay, so now okay, now you can see here the action you mentioned before. So, I will get the MAC address and then I change the MAC address previously it's coming to me and then I need to change to destination and then I need to specify the protocol and then I need to reduce it to there. Okay, so we have this one ready. So, let's try to congregate. So, depending on the topology we have to win several minutes but if you have kind of powerful electronic control system can be very fun. Okay, now we have already this one and as we described before, I want to mention to make it the host1 and host2 communicate even though they have a different subhead, right? the subhead is different because this is what I described before. Okay, now let's see that we can do the pin okay, now the program that we created successfully implemented. So, if you want to see the details you may also do the same it's one and it's two and so on. Okay, we will try to pin from here. Okay, so the same so if you want to pin the host1 so you can okay. So, this is the overall idea how we can program our let's say the material of the networking I mean we not only complicate one switch but we can complicate as much as switch as one. Okay, so you say the same program. Okay, any questions? No questions? Okay, now if no questions maybe just about okay, I have some bonus okay, maybe somebody say that okay, maybe before it's only working for simulation. No, so they it's working with the hardware and one of them is the Intel Tofino even though it's they close the Intel Tofino but there are another target that can be used like that FBGA is marking even the and so on and so on. So, the difference there is a lot of ways but we have the target target can be changed but language will be the same. Okay, so Intel Tofino switch from like in the US Okay, so you can see here this one is the Intel Tofino switch and then I have the circles one and circle two to be two-hosted, the host one, host two, host three and host four. Okay, and then it's connected to the I just want to show that whether it's convenient whether it's in the hardware the way to molecule is the same the program is all the same so let's see the demo Okay, so I'm processing the switch Okay, and then same I do to make because I have the program that I want to compile Okay, of course the compiler of the Kunina and the compiler of the Intel Tofino is different Okay, and then the compiler for FBGA is different, compiler for no CVBF is different Okay, now you can see here it's done Now the next we need to start the switch to load our binary Okay, so you can see there is a binary called POPFIN and there is a contract system best way is to inform myself how we will interact with this switch Okay Okay, so now it's done Okay, now since it's in the hardware so the server is something that we need to configure manually In a minute the host can automatically but this one we need to configure manually so we need to assign a port that basically is down because I don't assign any port to the server, right? Now I assign a port to the server and then pick up okay and basically it's just configuring the library address to port out and then set so it's R because you know that before I can pick, I need to do the RRP but this one, since I know the MAC address I just make it static and then respond it by our program Okay so this one I need to okay now you can see all the IP is configured and then the RRP is also done Okay Okay, now we can't convert sorry this one I can't convert my own IP but I can pin here the destination why? because there is no rules that I set up in the now I set up the road counter switch as well put around Okay, so basically same now the switch that we already can pick up can be used for doing the RRP process Okay, I think with this one I convert my destination Thank you very much Thank you very much Okay So, when you use this before you can do something like firework Anything It depends on your your creativity some people use for switching some people use for switching, some people use for routing, some people use for firework, some people use for the GRI tunnel some people also use for PNG so depending on how you make the programs how your logic of the program actually it can be even some people I mean you can just switch ML or whatever they try to do something like limited messenger name in switch also Yeah