logo-white.png

Expert-led courses designed with innovation in mind to help you unleash your networking creativity. Barefoot Networks is excited to offer Barefoot AcademyTM, an instructor-led training program bringing you in-depth knowledge on Barefoot product architecture as well as P4 programming language.

Training Calendar

Barefoot AcademyTM is currently offered in the US, Asia, Europe, Russia, South America and now Online!
Our variety of offerings are updated regularly, so make sure to check here for the latest.

Upcoming Courses

From

Sep 14, 2020

To

Oct 16, 2020

Location

Online

Course

Next Course

*Please note that course date is subject to change. Please do not make travel reservations until 2 months before the scheduled date.
** Some registration links require a password. Please contact Barefoot Sales Team or register via our Customer Support Portal.

Past Courses

Country From To Duration Location Course
United States of America Jul 17, 2020 Jul 17, 2020 1 day Online BA-1142
United States of America Jul 15, 2020 Jul 15, 2020 1 day Online BA-1123
Country From To Duration Location Course
United States of America Jul 17, 2020 Jul 17, 2020 1 day Online BA-1142
United States of America Jul 15, 2020 Jul 15, 2020 1 day Online BA-1123
United States of America Jul 13, 2020 Jul 13, 2020 1 day Online BA-1122
United States of America Jul 8, 2020 Jul 8, 2020 1 day Online BA-1132
United States of America Jul 6, 2020 Jul 6, 2020 1 day Online BA-1121
China Jul 3, 2020 Jul 5, 2020 3 days Beijing, PRC BA-102
United States of America Jun 26, 2020 Jun 26, 2020 1 day Online BA-1113
United States of America Jun 24, 2020 Jun 24, 2020 1 day Online BA-1141
United States of America Jun 22, 2020 Jun 22, 2020 1 day Online BA-1112
United States of America Jun 17, 2020 Jun 17, 2020 1 day Online BA-1131
United States of America Jun 15, 2020 Jun 15, 2020 1 day Online BA-1111
United States of America Jun 5, 2020 Jun 5, 2020 1 day Online BA-1142
United States of America Jun 3, 2020 Jun 3, 2020 1 day Online BA-1123
United States of America Jun 1, 2020 Jun 1, 2020 1 day Online BA-1122
United States of America May 28, 2020 May 28, 2020 1 day Online BA-1132
United States of America May 26, 2020 May 26, 2020 1 day Online BA-1121
United States of America May 14, 2020 May 14, 2020 1 day Online BA-1113
United States of America May 13, 2020 May 13, 2020 1 day Online BA-1141
United States of America May 11, 2020 May 11, 2020 1 day Online BA-1112
United States of America May 6, 2020 May 6, 2020 1 day Online BA-1131
United States of America May 4, 2020 May 4, 2020 1 day Online BA-1111
Netherlands Jan 28, 2020 Jan 31, 2020 4 days Amsterdam, NL BA-102
China Jan 9, 2020 Jan 11, 2020 3 days Hangzhou, PRC BA-102
Canada Dec 17, 2019 Dec 20, 2019 4 days Montreal, QC BA-102
United States of America Dec 10, 2019 Dec 13, 2019 4 days Santa Clara, CA BA-102
Netherlands Nov 12, 2019 Nov 15, 2019 4 days Amsterdam, NL BA-102
China Oct 31, 2019 Nov 2, 2019 3 days Nanjing, PRC BA-102
South Korea Aug 27, 2019 Aug 30, 2019 4 days Seoul, South Korea BA-102
United States of America Aug 6, 2019 Aug 9, 2019 4 days Santa Clara, CA BA-102
Netherlands Jul 16, 2019 Jul 19, 2019 4 days Amsterdam, NL BA-102
China Jul 4, 2019 Jul 6, 2019 3 days Shenzhen, PRC BA-101
Netherlands Jun 11, 2019 Jun 14, 2019 4 days Amsterdam, NL BA-102
United States of America May 14, 2019 May 16, 2019 3 days Santa Clara, CA BA-102
India Apr 16, 2019 Apr 19, 2019 4 days New Dehli, India BA-101
Taiwan Apr 11, 2019 Apr 11, 2019 1 day Hsinchu, Taiwan BA-101
China Mar 22, 2019 Mar 24, 2019 3 days Beijing, China BA-101
United States of America Mar 19, 2019 Mar 22, 2019 4 days Santa Clara, CA BA-101
Russia Mar 5, 2019 Mar 6, 2019 2 days Moscow, Russia BA-001
Japan Jan 29, 2019 Feb 1, 2019 4 days Tokyo, Japan BA-101
United States of America Dec 11, 2018 Dec 13, 2018 3 days Santa Clara, CA BA-101
United Kingdom Nov 19, 2018 Nov 22, 2018 4 days Bristol, UK BA-101
Netherlands Nov 13, 2018 Nov 17, 2018 5 days Amsterdam, Netherlands BA-101
United States of America Sep 18, 2018 Sep 20, 2018 3 days Santa Clara, CA BA-101
United States of America Sep 11, 2018 Sep 13, 2018 3 days Maryland, USA BA-101
Netherlands Jul 16, 2018 Jul 18, 2018 3 days Amsterdam, Netherlands BA-101
United States of America Jun 5, 2018 Jun 8, 2018 4 days Santa Clara, CA BA-101
United States of America Mar 6, 2018 Mar 8, 2018 3 days Santa Clara, CA BA-101

Be the first to know! Sign up to hear about future Academy sessions

Barefoot Education Offerings

  • BA-ONLINE | Barefoot Academy Online

    BA-Online – a collection of multiple one-day online course modules that cover a range of topics from introduction to basic concepts of data plane programmability all the way to advanced P4 programming techniques.

    These hands-on course modules will allow you to receive world-class instructor-led training at your own pace and in the convenience of your own home or office. The course modules can be taken either individually or as conveniently organized bundles. The latter will help to ensure that you have taken the necessary pre-requisite course modules and pick up the right set of modules for different target audiences

  • BA-1111 | Introduction to P4_16 and P4 Studio Development Workflow

    BA-1111 is an introductory online, instructor-lead course that provides a quick, hands-on introduction to the basics of P416 language and a simple P4 Studio™ SDE development workflow.

    This course is recommended to anyone who wants to start learning P4 and P4 Studio and is a required pre-requisite for other online courses.

  • BA-1112 | Advanced Parsing, Checksums and More -- All in P4!

    BA-1112 is an introductory online, instructor-led course module that continues exploration of P416 in Tofino Native Architecture (TNA). This module builds on top of BA-1111 and concentrates on a couple of practical examples: building a 5-tuple ACL and performing L3 switching with header modifications. One of the course goals is to demonstrate how P4 program design affects its efficiency and readability.

    This course is recommended to anyone who wants to continue learning P4 language and is a required pre-requisite for other online courses.

  • BA-1113 | Counters, Meters, Registers and non-standard IPv4 processing in P4

    BA-1113 is an introductory online, instructor-led course module that continues exploration of P416 in Tofino Native Architecture (TNA). It concentrates on stateful processing and the concept of a P4 extern, but also provides some exciting examples of taking P4 out of the realm of “traditional” switching. This module builds on top of BA-1111 and BA-1112.

    This course is recommended to anyone who wants to continue learning P4 language and is a required pre-requisite for other online courses.

  • BA-1121 | Working with multiple destinations: Multicast, LAG and ECMP

    BA-1121 is a Level-1 online, instructor-led course module that provides comprehensive, hands-on introduction to two important features related to traffic distribution to multiple destinations: multicast (distributing the traffic to many destinations simultaneously) and LAG/ECMP (distributing traffic to one out of many destinations). This course module will introduce you to multiple TNA externs and fixed function components that make traffic distribution possible.

    This course is recommended to all data plane developers who want to expand their P416/TNA knowledge and skills.

  • BA-1122 | Complex Packet Processing: Mirroring, Resubmit and Recirculation

    BA-1122 is a Level-1 online, instructor-led course module that provides comprehensive, hands-on introduction to several related pipeline mechanisms that make it possible to implement such important functionality as mirroring, telemetry and robust MPLS packet parsing. Same mechanisms can also be used to implement very complex and non-standard programs in P4.

    This course module will introduce you to multiple TNA externs that make both mirroring, resubmit and packet recirculation possible. This course is recommended to all data plane developers who want to expand their P416/TNA knowledge and skills.

  • BA-1123 | Simple L2 Data Plane Project

    BA-1123 is a Level-1 online, instructor-led course module that demonstrates how to combine multiple features and mechanisms present in P416/TNA in order to create a simple Layer 2 data plane program. In the process, participants will also be introduced to several new important externs and mechanisms, such as port metadata, learn digests and entry idle timeouts.

    This course is recommended to all data plane developers who want to expand their P416/TNA knowledge and skills.

  • BA-1131 | Introduction to P4 Studio(tm) SDE

    BA-1131 is an introductory online, instructor-led course module that provides a quick, hands-on introduction to the basics of the architecture or P4 Studio™ SDE, its components and architecture, build process and the basic usage models, including running on the reference platforms. This course is recommended to anyone who wants to start learning P4 and P4 Studio and is a required pre-requisite for other online courses.

  • BA-1132 | Barefoot Runtime Interface and Packet Test Framework

    BA-1132 is a Level-1 online, instructor-led course module that provides comprehensive, hands-on introduction to Barefoot Runtime Interface (BRI). The material covers various embodiments (bindings) of BRI, such as locally callable C and C++ APIs (known as BfRt) as well as remotely callable gRPC interface (BF Runtime). The latter are also used as the basis of writing PTF tests. Commonality of approaches is emphasized, while the important differences are pointed out and explained. SDE initialization is demonstrated by explaining how to build a user-space daemon, using bf_switchd library.

    This course is recommended to all data and control plane developers.

  • BA-1141 | Introduction to Tofino™ ASIC Architecture

    BA-1141 is an introductory online, instructor-led course module that provides an introduction to the internal architecture of the Tofino ASIC. In this course you will learn both high-level architecture of the device, as well as specific details about the implementation of the parser, match-action tables and other resources.

    This course is recommended both serious data plane designers who plans to write practical programs in P4, as well as to the architects who would like to better understand device capabilities. This course is a required pre-requisite for other online courses.

  • BA-1142 | Debugging on and Optimization of P4 programs for Tofino

    BA-1142 is a Level-1 online, instructor-led course module that provides comprehensive, hands-on introduction to the various principles and approaches behind the basic Tofino-specific optimizations and debugging techniques and facilities, available to P4 programmers. This course builds on and is a direct follow up to the course BA-1141.

  • BA-001 | Introduction to End-User Network Programmability

    Intended audience | Network Architects and Operators

    BA-001 is an intensive 1-day course, designed to introduce wide audiences of developers, system integrators, academics and network equipment end-users to the principles and benefits of devices with programmable data planes. The course focuses on the state-of-the-art approaches to programmability including P4 programming language for data plane programming, Barefoot TofinoTM ASIC and P4Studio Software Development Environment.

  • BA-102 | Introduction to Data Plane Development with P416, Tofino™ and P4 Studio™ SDE

    Intended audience | Data Plane and Control Plane Designers

    This course is an intensive 3 or 4-day course that provides a robust introduction to data plane programming in P4, Tofino™ device architecture and P4 Studio™ Software Development Environment (SDE), including Barefoot APIs and development workflows.

    BA-102 is the update to the popular BA-101 course, introducing students to P416, Tofino Native Architecture and Barefoot Run-Time Interface (BRI) APIs.

Academic Discounts

Discounts are available for FASTER program participants. Contact academy@barefootnetworks.com for more information

Learn more about FASTER here and how you can conduct research using the Fastest Programmable devices in the world.