This repository has been archived by the owner on Jun 27, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 99
Running Pyretic
James Guthrie edited this page Jun 1, 2015
·
4 revisions
Run Pyretic from the command line using pyretic.py
, e.g.,
$ pyretic.py -m p0 pyretic.modules.mac_learner
The -m
flag indicates the Pyretic runtime's mode of operation.
-
interpreted
(i
) - every packet is processed in the controller runtime. Unsurprisingly slow, but useful for debugging. -
reactive
(r0
) - rules are reactively pushed to switches based on the Pyretic policy and the packets seen. -
proactive
(p0
) - rules are proactively pushed to switches based on the Pyretic policy. Generally the highest performant mode currently available.
Arguments can be passed into the main()
method of your module:
$ pyretic.py -m p0 my.custom.module --foo=bar
Additional (non-pyretic) arguments passed with --key=value
are parsed by pyretic and passed into main()
using the **kwargs
paradigm.
Our typical mininet workflow on the Pyretic VM uses screen
$ screen -S test
from within screen ctrl-a ctrl-c
opens a second screen (ctrl-a, ctrl-a
toggles between the two). In one screen run mininet, in the other run the pyretic. (TIP: start pyretic first for quicker hookup w/ mininet) Each example file in pyretic/pyretic/examples contains instructions regarding mininet setup and testing.