{"id":284,"date":"2019-01-22T15:41:22","date_gmt":"2019-01-22T14:41:22","guid":{"rendered":"https:\/\/hhk3.kau.se\/dpp\/?page_id=284"},"modified":"2022-01-16T12:45:28","modified_gmt":"2022-01-16T11:45:28","slug":"module-1-introduction-to-data-plane-programming","status":"publish","type":"page","link":"https:\/\/hhk3.kau.se\/dpp\/modules\/module-1-introduction-to-data-plane-programming\/","title":{"rendered":"Module 1 &#8211; Introduction to Data Plane Programming (DVAD41) &#8211; Week by Week"},"content":{"rendered":"<p>Welcome to module 1 (January 24 &#8211; March 13, 2022)<\/p>\n<h2>Learning outcomes for Module 1 &#8211; Introduction to Data Plane Programming (DVAD41)<\/h2>\n<p>During the initial seven course weeks, the focus will be on familiarizing oneself with the online learning spaces,\u00a0connecting with peers and facilitators. In addition, you will start reading about the theoretical foundations of data plane programming in order to gain a comprehensive understanding of the area. You will get a basic introduction to the P4 language, and can work on three basic labs, that will make you familiar with programming in P4. For that, you will be getting access to a Virtual machine that comes preinstalled with development environment and mininet network emulator. On the discussion slack, you will share expectations, background knowledge, as well as your own experiences and practices.<\/p>\n<h2>References for module 1<\/h2>\n<p>The following scientific articles will be discussed in the first module:<\/p>\n<ol>\n<li><a href=\"https:\/\/scholar.google.se\/scholar?hl=en&amp;as_sdt=0%2C5&amp;q=P4%3A+Programming+Protocol-Independent+Packet+Processors&amp;btnG=\">P. Bosshart et.al.: P4: Programming protocol-independent packet processors<\/a><\/li>\n<li><a href=\"https:\/\/scholar.google.se\/scholar?hl=sv&amp;as_sdt=0%2C5&amp;q=A+Survey+on+the+Programmable+Data+Plane%3A+Abstractions%2C+Architectures%2C+and+Open+Problems&amp;btnG=\">R. Bifulco, G. R\u00e9tv\u00e1ri: A Survey on the Programmable Data Plane: Abstractions, Architectures, and Open Problems<\/a><\/li>\n<li><a href=\"https:\/\/scholar.google.se\/scholar?hl=sv&amp;as_sdt=0%2C5&amp;q=T4P4S%3A+A+Target-independent+Compiler+for+Protocol-independent+Packet+Processors&amp;btnG=\">P. V\u00f6r\u00f6s et.al: T4P4S: A Target-independent Compiler for Protocol-independent Packet Processors<\/a><\/li>\n<\/ol>\n<p><a href=\"https:\/\/hhk3.kau.se\/dpp\/how-to-find-articles-and-literature\/\">Click here<\/a> to get information about how to find and acquire the articles.<br \/>\nAdditional reading (for interested) can be found in the following quite extensive and actively updated reading list maintained by\u00a0Roberto Bifulco, Stefan Schmid and G\u00e1bor R\u00e9tv\u00e1ri<br \/>\n<a href=\"https:\/\/rg0now.github.io\/prog_dataplane_reading_list\/README.html\">https:\/\/rg0now.github.io\/prog_dataplane_reading_list\/README.html<\/a><\/p>\n<h2>Git for the exercises<\/h2>\n<p><a href=\"https:\/\/git.cse.kau.se\/courses\/dvad40\/vt19.git\">https:\/\/git.cse.kau.se\/courses\/dvad40\/vt19.git<\/a><\/p>\n<h2>Quizzes, Discussion Posts and assignment for module 1<\/h2>\n<p>see <a href=\"https:\/\/hhk3.kau.se\/dpp\/activities\/course-slack-2\/\">activities pages<\/a>.<\/p>\n<h2>Slides and Recordings for module 1<\/h2>\n<ul>\n<li><strong>View the Slides<\/strong> presented at the Webinar 1.<\/li>\n<li>View the Webinar 1 Recording.<\/li>\n<li>Overview on Data Plane and Software Defined Networking Slides available here.<\/li>\n<li><strong>View the Slides<\/strong> presented at the Webinar 2. Part 1, Part 2.<\/li>\n<li><strong>View the Webinar 2 Recording<\/strong>.<\/li>\n<li><strong>View a recording<\/strong> of the webinar 3.<\/li>\n<li><strong>View the Slides<\/strong> presented at the Webinar 3.<\/li>\n<\/ul>\n<h2>Videos\u00a0for module 1<\/h2>\n<p><strong>Control Plane vs Data Plane | The Ancient Soldier<\/strong><\/p>\n<p><iframe loading=\"lazy\" title=\"Control Plane vs Data Plane | The Ancient Soldier\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/P9ZMugAf9lU?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p><strong>Control and Data Planes &#8211; Georgia Tech &#8211; Software Defined Networking<\/strong><\/p>\n<p><iframe loading=\"lazy\" title=\"Control and Data Planes - Georgia Tech - Software Defined Networking\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/3AsOZni-bPA?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p><strong>What is software-defined networking (SDN)?<\/strong><\/p>\n<p><iframe loading=\"lazy\" title=\"What is software-defined networking (SDN)?\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/Z5Gi2Bpd82M?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p><strong>Introduction to the Data Plane<\/strong><\/p>\n<p><iframe loading=\"lazy\" title=\"Introduction to the Data Plane and SDN\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/Jw-gLywLf5o?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p><strong>IEEE ICC 2018 Keynote: Nick McKeown, Programmable Forwarding Planes Are Here To Stay<\/strong><\/p>\n<p><iframe loading=\"lazy\" title=\"IEEE ICC 2018 \/\/ Keynote: Nick McKeown, Programmable Forwarding Planes Are Here To Stay\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/8ie0FcsN07U?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p><strong>V. Gurevich: Introduction to P4_16, Part 1, P4 Developers Day (P4 D2), Stanford, CA. May 2017<\/strong><\/p>\n<p><iframe loading=\"lazy\" title=\"Introduction to P4_16. Part 1\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/GslseT4hY1w?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p><strong>V. Gurevich: Introduction to P4_16, Part 2, P4 Developers Day (P4 D2), Stanford, CA. May 2017<\/strong><\/p>\n<p><iframe loading=\"lazy\" title=\"Introduction to P4_16. Part 2\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/yqxpypXIOtQ?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p><strong>G. Pongracz: Programmable Data Planes for 5G, Kista, December 2017<\/strong><\/p>\n<p><iframe loading=\"lazy\" title=\"Programmable Data Planes for 5G\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/hZOs9adFGRQ?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p>Watch\u00a0<a href=\"https:\/\/www.inf.usi.ch\/faculty\/soule\/\">Robert Soul\u00e9<\/a> (<a href=\"http:\/\/www.usi.ch\/en\/\">Universit\u00e0 della Svizzera italiana (USI)<\/a>) deliver his Keynote for the <a href=\"https:\/\/conferences.sigcomm.org\/sigcomm\/2018\/workshop-netcompute.html\">ACM SIGCOMM 2018 workshop Netcompute<\/a>: \u201cThe Network is the Computer: Running Distributed Services on Programmable Switches\u201d. Watch the video until around 50 minutes.<\/p>\n<p><iframe loading=\"lazy\" title=\"NetCompute Workshop at ACM SIGCOMM 2018: Opening Session and Enhanced Switching\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/88Tl2sEtSlc?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p>Watch <a href=\"http:\/\/lakis.web.elte.hu\">S\u00e1ndor Laki (Communication Networks Laboratory, ELTE E\u00f6tv\u00f6s Lor\u00e1nd University, Budapest, Hungary) <\/a> talking about <a href=\"https:\/\/scholar.google.se\/scholar?hl=sv&amp;as_sdt=0%2C5&amp;q=T4P4S%3A+A+Target-independent+Compiler+for+Protocol-independent+Packet+Processors&amp;btnG=\">T4P4S<\/a>, a transpiler for P4 switches.<\/p>\n<p><iframe loading=\"lazy\" title=\"P4 T4P4S\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/BpyoKKBPEBg?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n<p><strong>Beeing successful in the course<\/strong><br \/>\nIn the first four weeks of our course, the main focus is on getting ready for open networked learning and participating successfully in Idea Management. It is probably useful to think about what successful participation in a course like this means. What does it mean for you?<br \/>\nThe following video provides one example of what success is and how to study in a course like ours:<\/p>\n<p><iframe loading=\"lazy\" title=\"Success in a MOOC\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/r8avYQ5ZqM0?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Welcome to module 1 (January 24 &#8211; March 13, 2022) Learning outcomes for Module 1 &#8211; Introduction to Data Plane Programming (DVAD41) During the initial seven course weeks, the focus will be on familiarizing oneself with the online learning spaces,\u00a0connecting with peers and facilitators. In addition, you will start reading about the theoretical foundations of [&hellip;]<\/p>\n","protected":false},"author":347,"featured_media":0,"parent":139,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-284","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/hhk3.kau.se\/dpp\/wp-json\/wp\/v2\/pages\/284","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hhk3.kau.se\/dpp\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/hhk3.kau.se\/dpp\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/hhk3.kau.se\/dpp\/wp-json\/wp\/v2\/users\/347"}],"replies":[{"embeddable":true,"href":"https:\/\/hhk3.kau.se\/dpp\/wp-json\/wp\/v2\/comments?post=284"}],"version-history":[{"count":16,"href":"https:\/\/hhk3.kau.se\/dpp\/wp-json\/wp\/v2\/pages\/284\/revisions"}],"predecessor-version":[{"id":931,"href":"https:\/\/hhk3.kau.se\/dpp\/wp-json\/wp\/v2\/pages\/284\/revisions\/931"}],"up":[{"embeddable":true,"href":"https:\/\/hhk3.kau.se\/dpp\/wp-json\/wp\/v2\/pages\/139"}],"wp:attachment":[{"href":"https:\/\/hhk3.kau.se\/dpp\/wp-json\/wp\/v2\/media?parent=284"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}