[P4-dev] Confusion regarding some P4 language terminologies

Mihai Budiu mbudiu at vmware.com
Thu Jun 6 14:07:45 EDT 2019

BMv2 is a C++ framework which allows you to build simulators for switches that are programmed in P4.
simple_switch one switch implementation build using bmv2; it is the most frequently used implementation.
BMv2 is designed for testing P4 functionality, not for production deployment. It will not support millions of packets per second.


From: P4-dev <p4-dev-bounces at lists.p4.org> On Behalf Of Harsh Gondaliya
Sent: Thursday, June 6, 2019 10:47 AM
To: p4-dev at lists.p4.org
Subject: [P4-dev] Confusion regarding some P4 language terminologies

I need some elaboration on what is the exact meaning of these terms:

(1) Behavioral Model (bmv2)

  *   Can it be called a P4 software switch just like OVS? Or is it some sort of framework?
  *   Am I correct to state that in the P4 tutorial programs available on https://github.com/p4lang/tutorials<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fp4lang%2Ftutorials&data=02%7C01%7Cmbudiu%40vmware.com%7C47f0e2a48e44408f8dd008d6eaa7124f%7Cb39138ca3cee4b4aa4d6cd83d9dd62f0%7C0%7C0%7C636954400622952870&sdata=p1efKyTPHRJAEo9WRhA%2F2fslycFDqh%2BcCjYZMasQhtM%3D&reserved=0>, I am using bmv2 as my software switch?
(2) simple_switch

  *   It is called a target switch. Then what is the difference between bmv2 and simple_switch
Thanking You,

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.p4.org/pipermail/p4-dev_lists.p4.org/attachments/20190606/ef39600a/attachment-0001.html>

More information about the P4-dev mailing list