frenetic-lang / pyretic

The Pyretic language and runtime system
http://frenetic-lang.org/pyretic/
159 stars 99 forks source link

pop and push are not in language.py anymore #37

Open vkotronis opened 10 years ago

vkotronis commented 10 years ago

It seems that the "pop" and "push" operations that are called within the virt.py are not defined anymore in the imported modules. I looked in the deprecated branch and they were defined as classes there (in language.py), but in the master branch these definitions are gone. For example, if you call a pyretic script (in this case it is just a simple script developed for a school exercise) that imports from virt.py you get the following error: mininet@mininet-vm:~/pyretic$ ./pyretic.py pyretic.examples.ex2_pyretic_main Traceback (most recent call last): File "./pyretic.py", line 192, in main() File "./pyretic.py", line 112, in main module = import_module(module_name) File "/usr/lib/python2.7/importlib/init.py", line 37, in import_module import(name) File "/home/mininet/pyretic/pyretic/examples/ex2_pyretic_main.py", line 3, in from pyretic.lib.virt import * File "/home/mininet/pyretic/pyretic/lib/virt.py", line 70, in class lift_packet(DerivedPolicy): File "/home/mininet/pyretic/pyretic/core/util.py", line 42, in singleton return f() File "/home/mininet/pyretic/pyretic/lib/virt.py", line 74, in init pop("vtag") >> NameError: global name 'pop' is not defined

It seems that the problem is that the operations needed to "lift" the packet are not there anymore. Hope that the description is helpful. Regarding the script there is nothing really important about it, only that it imports virt.py to use the virtualization functions of pyretic.

joshreich commented 10 years ago

That's correct. push and pop were problematic from a compilation perspective, so we punted on them and the virtualization capabilities to focus on functionality we considered higher priority. That said, we'd love (and hope) to eventually resurect the virtualization feature set. (Any volunteers should definitely email me ;-)