Skip to main content

Implementing a Per-Flow Token Bucket Using Open Packet Processor

  • Conference paper
  • First Online:
Digital Communication. Towards a Smart and Secure Future Internet (TIWDC 2017)

Abstract

In this paper we show how to realize a per-flow QoS (Quality of Service) policy based on the token bucket algorithm using OPP (Open Packet Processor), a recently proposed stateful programmable dataplane. OPP is configured as a switch that enforce a token bucket policy independently on each flow processed by the switch controlling their bandwidth and burstiness. The paper shows the design of the token bucket algorithm using the extended finite state machine (EFSM) abstraction provided by OPP and discusses the details of the implementation carried out using a proof-of-concept FPGA prototype of the OPP pipeline.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Bosshart, P., Gibb, G., Kim, H.S., Varghese, G., McKeown, N., Izzard, M., Mujica, F., Horowitz, M.: Forwarding metamorphosis: fast programmable match-action processing in hardware for SDN. In: Proceedings of the Conference on Applications, Technologies, Architectures, and Protocols for Computer Communications (SIGCOMM) (2013)

    Google Scholar 

  2. Intel Ethernet Switch FM5000/FM6000 Datasheet. http://goo.gl/pTl2iD. Accessed 16 May 2017

  3. XPliant Ethernet Switch Product Family. http://goo.gl/mteFQZ. Accessed 16 May 2017

  4. Sivaraman, A., et al.: Packet transactions: high-level programming for line-rate switches. In: Proceedings of the 2016 Conference on ACM SIGCOMM 2016 Conference. ACM (2016)

    Google Scholar 

  5. The P4.org language consortium: P416 Language Specification

    Google Scholar 

  6. Moshref, M., et al.: Flow-level state transition as a new switch primitive for SDN. In: Proceedings of the Third Workshop on Hot Topics in Software Defined Networking. ACM (2014)

    Google Scholar 

  7. Bianchi, G., Bonola, M., Capone, A., Cascone, C.: OpenState: programming platform-independent stateful openflow applications inside the switch. ACM SIGCOMM Comput. Commun. Rev. 44(2), 44–51 (2014)

    Article  Google Scholar 

  8. Bianchi, G., et al.: Open Packet Processor: a programmable architecture for wire speed platform-independent stateful in-network processing. https://arxiv.org/abs/1605.01977

  9. Gibb, G., Varghese, G., Horowitz, M., McKeown, N.: Design principles for packet parsers. In: ACM/IEEE Architectures for Networking and Communications Systems, p. 13

    Google Scholar 

  10. Song, H.: Protocol-oblivious forwarding: Unleash the power of SDN through a future-proof forwarding plane. In: Proceedings of the Second ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking (HotSDN 2013), pp. 127–132. ACM (2013)

    Google Scholar 

  11. Pontarelli, S., Bonola, M., Bianchi, G., Capone, A., Cascone, C.: Stateful openflow: hardware proof of concept. In: IEEE 16th International Conference on High Performance Switching and Routing (HPSR) (2015)

    Google Scholar 

  12. Bianchi, G., Bonola, M., Pontarelli, S.: On the feasibility of “breadcrumb” trails within OpenFlow switches. In: IEEE European Conference on Networks and Communications (EuCNC) (2016)

    Google Scholar 

  13. Zilberman, N., Audzevich, Y., Covington, G., Moore, A.W.: NetFPGA SUME: toward 100 Gbps as research commodity. IEEE Micro 34(5), 32–41 (2014)

    Article  Google Scholar 

  14. Virtex-7 Family Overview. http://goo.gl/3AI8pQ. Accessed 16 May 2017

  15. Brelet, J.-L.: Using block RAM for high performance read/write TCAMs. Xilinx XAPP204 (2012)

    Google Scholar 

  16. Ullah, Z., Jaiswal, M.K., Chan, Y.C., Cheung, R.C.C.: FPGA Implementation of SRAM-based ternary content addressable memory. In: IEEE 26th International Parallel and Distributed Processing Symposium Workshops & PhD Forum (IPDPSW) (2012)

    Google Scholar 

  17. Jiang, W.: Scalable ternary content addressable memory implementation using FPGAs. In: Proceedings of the ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS) (2013)

    Google Scholar 

Download references

Acknowledgement

This work is partially supported by the EU Commission in the frame of the Horizon 2020 projects BEBA (grant #644122) and SUPERFLUIDITY (grant #671566).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Salvatore Pontarelli .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this paper

Cite this paper

Bianchi, G., Bonola, M., Bruschi, V., Petrucci, L., Pontarelli, S. (2017). Implementing a Per-Flow Token Bucket Using Open Packet Processor. In: Piva, A., Tinnirello, I., Morosi, S. (eds) Digital Communication. Towards a Smart and Secure Future Internet. TIWDC 2017. Communications in Computer and Information Science, vol 766. Springer, Cham. https://doi.org/10.1007/978-3-319-67639-5_18

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-67639-5_18

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-67638-8

  • Online ISBN: 978-3-319-67639-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics