So the current FAUCET pipeline already allows you to restrict switching
between hosts, even on the same port. However what the physical layer (and
the hardware does) is another matter - depending on the implementation, you
may find that switching occurs between WiFI hosts that OVS does not see.
If it does see the traffic, then a FAUCET ACL will restrict switching as
required. Your colleagues Trung, Michael and Maria have experience with
this and may be able to help you in person.
On Jun 29, 2017 4:41 PM, "Mohammed Mahmoud Ali Al Shaboti" <
I am trying to control Wifi traffic using Faucet, I found that Faucet
have this feature, hence I made a small contribution here.
This is my first code experience with Faucet, and I am not sure if there is
better way to do this, so I am looking for your feedback :).
Follows my scenario, solution and implementation sections.
I am using OpenWrt running on TP-Link, and I have created ovs and added
port as well as one Ethernet port to it. (see ovs_faucet.png attached
diagram), and I need to make faucet controls Ethernet as well as wifi
#The problem is, OVS sees all wifi clients on the same port, hence we can't
control traffic within the WiFi clients themselves using Faucet YAML file.
Traffic within Wifi clients, need a special rule, I mean forward the
IN_PORT if its dl_src and dl_dst are on WiFi port.
To do this, I modified the table_match_types for dest_table such that, if
dl_dst is on the same port (wifi) where dl_dst, then IN_PORT I add IN_PORT
rule, if they are on different ports then normal rule is added.
1 - I added a new attribute (flood_back) for DP interface, to indicate if
port is wifi or not.
2- On valve_flood.py file, I updated _build_flood_port_outputs function to
OF rule to flood incoming packet back to IN_PORT if flood_back attribute
3- On valve.py file, I added 'in_port' match type to eth_dst_table
4- On valve_host.py, I added IN_PORT rule in case dl_src and dl_dst are on
Please, find the attached faucet.yaml, dump-flows.txt files
Faucet-dev mailing list