Hi Murphy, I wasn't aware of the Open vSwitch extensions.
What I had in mind for a simple vlan support in a POX controller is something that uses the vlan APIs described in the POX Wiki pages (unfortunately it seems still offline). I also found this one: https://github.com/brandonheller/riplpox/tree/master/riplpox what do you think? David On Sun, May 17, 2015 at 5:02 AM, Murphy McCauley <murphy.mccau...@gmail.com> wrote: > On May 15, 2015, at 1:46 PM, David Li <dlipub...@gmail.com> wrote: > >> First the wiki pages seem to be down these days. > > Hadn't noticed. Sent an email to try to find out what's up. > >> Second, does POX support OF 1.3? I am using the version packaged with >> mininet 2.2.0 VM and don't seem to see this support. > > Nope, not yet, and there are no hard plans as to how/when this will happen. > If you're using it with Open vSwitch, POX does have support for a number of > OVS extensions, though, and there's a fair amount of feature overlap. > >> Third, does anyone know a POX sample code that supports L2 VLAN? > > I don't know of one off the top of my head. > > But it's also not clear exactly what "supports" means here. To just get > basic VLAN-based isolation, I think you could do it using the multiple table > and register Nicira extensions pretty easily. Start by having a config file > which has lines of "<vlan-id> <dpid1>.<port-name1> <dpid2>.<port-name2> ...". > Component reads this in at startup. Table 0 would be an input filter, which > resubmits to table 1 if the VLAN tag is the expected one (or anything for > unspecified/trunk ports) and drops otherwise. Table 1 is a normal > learning/forwarding table (code could come from l2_pairs or l2_multi, for > example) except that instead of output actions, it loads the output port into > a register and jumps to table 2. Table 2 is the output stage, and it matches > the output port and the VLAN tag to filter out attempts to output to ports > not on the right VLAN, and also contains rules for flooding each VLAN. > Should be possible to mix with the spanning tree component (provided you > don't mind one tree for all VLANs). > > -- Murphy