Skip to content

Instantly share code, notes, and snippets.

@mrafayaleem
Created January 25, 2014 02:18
Show Gist options
  • Save mrafayaleem/8610783 to your computer and use it in GitHub Desktop.
Save mrafayaleem/8610783 to your computer and use it in GitHub Desktop.
sdx@Internet2-SDX:~/pyretic$ ./pyretic.py pyretic.sdx.main
[match: ('dstip', 110.0.0.1)]
[match: ('dstip', 120.0.0.1)]
[match: ('dstip', 130.0.0.1)]
[u'C', u'B']
sequential:
parallel:
sequential:
match: ('inport', 1)
modify: ('state', u'inA')
sequential:
match: ('inport', 3)
modify: ('state', u'inC')
sequential:
match: ('inport', 4)
modify: ('state', u'inC')
sequential:
match: ('inport', 2)
modify: ('state', u'inB')
sequential:
sequential:
identity
parallel:
if
union:
drop
match: ('state', u'outC_0')
match: ('state', u'outC_1')
match: ('state', u'outA_0')
match: ('state', u'outB_0')
then
identity
else
sequential:
match: ('state', u'inA')
parallel:
parallel:
sequential:
parallel:
match: ('dstip', 110.0.0.1)
modify: ('state', u'outA_0') ('dstmac', 00:00:00:00:00:01)
sequential:
parallel:
match: ('dstip', 120.0.0.1)
modify: ('state', u'inB')
if
match: ('dstip', 130.0.0.1) ('protocol', 6)
then
modify: ('state', u'inC')
else
drop
if
union:
drop
match: ('state', u'outC_0')
match: ('state', u'outC_1')
match: ('state', u'outA_0')
match: ('state', u'outB_0')
then
identity
else
sequential:
match: ('state', u'inC')
parallel:
parallel:
sequential:
parallel:
match: ('dstip', 130.0.0.1)
modify: ('state', u'outC_0') ('dstmac', 00:00:00:00:00:03)
sequential:
parallel:
match: ('dstip', 110.0.0.1)
modify: ('state', u'inA')
if
union:
drop
match: ('state', u'outC_0')
match: ('state', u'outC_1')
match: ('state', u'outA_0')
match: ('state', u'outB_0')
then
identity
else
sequential:
match: ('state', u'inB')
parallel:
parallel:
sequential:
parallel:
match: ('dstip', 120.0.0.1)
modify: ('state', u'outB_0') ('dstmac', 00:00:00:00:00:02)
sequential:
parallel:
match: ('dstip', 110.0.0.1)
modify: ('state', u'inA')
parallel:
if
union:
drop
match: ('state', u'outC_0')
match: ('state', u'outC_1')
match: ('state', u'outA_0')
match: ('state', u'outB_0')
then
identity
else
sequential:
match: ('state', u'inA')
parallel:
parallel:
sequential:
parallel:
match: ('dstip', 110.0.0.1)
modify: ('state', u'outA_0') ('dstmac', 00:00:00:00:00:01)
sequential:
parallel:
match: ('dstip', 120.0.0.1)
modify: ('state', u'inB')
if
match: ('dstip', 130.0.0.1) ('protocol', 6)
then
modify: ('state', u'inC')
else
drop
if
union:
drop
match: ('state', u'outC_0')
match: ('state', u'outC_1')
match: ('state', u'outA_0')
match: ('state', u'outB_0')
then
identity
else
sequential:
match: ('state', u'inC')
parallel:
parallel:
sequential:
parallel:
match: ('dstip', 130.0.0.1)
modify: ('state', u'outC_0') ('dstmac', 00:00:00:00:00:03)
sequential:
parallel:
match: ('dstip', 110.0.0.1)
modify: ('state', u'inA')
if
union:
drop
match: ('state', u'outC_0')
match: ('state', u'outC_1')
match: ('state', u'outA_0')
match: ('state', u'outB_0')
then
identity
else
sequential:
match: ('state', u'inB')
parallel:
parallel:
sequential:
parallel:
match: ('dstip', 120.0.0.1)
modify: ('state', u'outB_0') ('dstmac', 00:00:00:00:00:02)
sequential:
parallel:
match: ('dstip', 110.0.0.1)
modify: ('state', u'inA')
parallel:
if
union:
drop
match: ('state', u'outC_0')
match: ('state', u'outC_1')
match: ('state', u'outA_0')
match: ('state', u'outB_0')
then
identity
else
sequential:
match: ('state', u'inA')
parallel:
parallel:
sequential:
parallel:
match: ('dstip', 110.0.0.1)
modify: ('state', u'outA_0') ('dstmac', 00:00:00:00:00:01)
sequential:
parallel:
match: ('dstip', 120.0.0.1)
modify: ('state', u'inB')
if
match: ('dstip', 130.0.0.1) ('protocol', 6)
then
modify: ('state', u'inC')
else
drop
if
union:
drop
match: ('state', u'outC_0')
match: ('state', u'outC_1')
match: ('state', u'outA_0')
match: ('state', u'outB_0')
then
identity
else
sequential:
match: ('state', u'inC')
parallel:
parallel:
sequential:
parallel:
match: ('dstip', 130.0.0.1)
modify: ('state', u'outC_0') ('dstmac', 00:00:00:00:00:03)
sequential:
parallel:
match: ('dstip', 110.0.0.1)
modify: ('state', u'inA')
if
union:
drop
match: ('state', u'outC_0')
match: ('state', u'outC_1')
match: ('state', u'outA_0')
match: ('state', u'outB_0')
then
identity
else
sequential:
match: ('state', u'inB')
parallel:
parallel:
sequential:
parallel:
match: ('dstip', 120.0.0.1)
modify: ('state', u'outB_0') ('dstmac', 00:00:00:00:00:02)
sequential:
parallel:
match: ('dstip', 110.0.0.1)
modify: ('state', u'inA')
parallel:
sequential:
match: ('state', u'outC_0')
modify: ('state', None)
fwd 3
sequential:
match: ('state', u'outC_1')
modify: ('state', None)
fwd 4
sequential:
match: ('state', u'outA_0')
modify: ('state', None)
fwd 1
sequential:
match: ('state', u'outB_0')
modify: ('state', None)
fwd 2
POX 0.1.0 (betta) / Copyright 2011-2013 James McCauley, et al.
Connected to pyretic frontend.
INFO:core:POX 0.1.0 (betta) is up.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment