1 / 7

Flexible ASIC-based OpenFlow pipeline

Flexible ASIC-based OpenFlow pipeline. Shaun Wackerly, HPE Aruba <wackerly@hpe.com>. Overview. Flexible ASIC tables Tools ovs2json pipeline constructor How it’s done in FAUCET. HPE Aruba 6 th generation ASIC 5400Rv3 3810 2930 Table types TCAM, wildcardable (up to 8K entries)

tsosie
Download Presentation

Flexible ASIC-based OpenFlow pipeline

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Flexible ASIC-based OpenFlow pipeline Shaun Wackerly, HPE Aruba <wackerly@hpe.com>

  2. Overview Flexible ASIC tables Tools ovs2json pipeline constructor How it’s done in FAUCET

  3. HPE Aruba 6th generation ASIC • 5400Rv3 • 3810 • 2930 • Table types • TCAM, wildcardable (up to 8K entries) • Hash, exact-match (up to 64K entries) • Reconfigure pipeline at run-time • No reboot, OF disable, firmware change, or licensing needed Flexible ASIC tables

  4. Read flows from OVS • extract match fields & entry counts • produce JSON pipeline definition • Use case • have existing application or solution implemented virtually (OVS) • want to deploy on HPE Aruba switches for scale/performance Tool: ovs2json

  5. Construct pipeline via GUI • table size • table ordering • match fields/type All actions are automatically included • Use case • have idea for application • want to speculate if implemented (at scale)on an HPE Aruba switch Tool: Pipeline constructor

  6. OFPMP_TABLE_FEATURES request** • Empty body: Read pipeline • Full body: Define pipeline • In the code: • faucet/valve.py – Identifies switch type, verifies pipeline • faucet/tfm_pipeline.py - Parse JSON & define pipeline • Parse JSON file (LoadRyuTables.load_tables) • Send to switch (valve_of.table_features) ** OpenFlow 1.3.5 spec, section 7.3.5.5 How it’s done in FAUCET

  7. Thank you Shaun Wackerly, HPE Aruba <wackerly@hpe.com>

More Related