questions about forwarding switch

514 views
Skip to first unread message

Κώστας Χαρτσιάς

unread,
Jan 9, 2016, 10:41:39 AM1/9/16
to ONOS Developers
First of all,thanks for the awesome support!!

I will try to use ONOS with a HP switch and i would like to ask you some questions in advance.I am using EMU edition and i have installed it from the .tar.


1) Trying to configure the timeouts for the flows cached in the switch. When i edited and uncommented /onos-1.4.0/apache-karaf-3.0.3/etc/samples/org.onosproject.fwd.ReactiveForwarding.clf and set the flows timeout from 10 sec to 30 sec, nothing happened.. is this the correct script to configure? or how do i configure basic parameters of the fwd switch?


2)Is there any documentation how to create access control lists?
after enabling org.onosproject.acl,what are the following steps to create basic rules?


3)I guess forwarding component is enough to handle with vlans created by the switch, right? i can set specific ports only to be vlan enabled, not all of them (vlan1) and the controller should perform correctly?


4)Sometimes when i create a topology in mininet, then create a new one ,some components are geting cached and displayed by the gui,even though i restart the controller.... is there a way to get rid of the previous view of the controller? sometimes i have to install it from the beginning

5)Regarding the 1 and 2 questions, if i edit configuration files such as in apache-karaf folder, do they replicate in other controllers using a cluster? (can't test it cause i dont even know,which are the correct configuration files so far)


Thanks in advance for your time!Any help would be very much appreciated and will help me to continue with my project and provide feedback to the community.

Charles Chan

unread,
Jan 9, 2016, 8:34:34 PM1/9/16
to Κώστας Χαρτσιάς, ONOS Developers
Hi,

For (1) and (5), the change of config file will NOT propagate across ONOS instances.
Therefore,
I would suggest you use the following command in ONOS CLI:
cfg set org.onosproject.fwd.ReactiveForwarding flowTimeout 30
to configure the timeout. cfg command provides config consistency across instances.

(3) Flow entries installed by ReactiveForwarding only match source and destination MAC address by default. That is, no matter the incoming packets are tagged or untagged they will be treated as the same.
If in your network there are two hosts with the same MAC address but different VLAN ID, you will need the following config in order to distinguish them:
cfg set org.onosproject.fwd.ReactiveForwarding matchVlanId true

(4) You can try ONOS CLI command wipe-out please. It should erase the intent, host, device and link information.

I am not familiar with (2) so I leave it to others on the list.

Cheers,
Charles

--
Charles Chan
Intern, ON.Lab






--
You received this message because you are subscribed to the Google Groups "ONOS Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to onos-dev+u...@onosproject.org.
To post to this group, send email to onos...@onosproject.org.
Visit this group at https://groups.google.com/a/onosproject.org/group/onos-dev/.
To view this discussion on the web visit https://groups.google.com/a/onosproject.org/d/msgid/onos-dev/4f0c1aac-8780-426c-b1b4-359c7ef4bf48%40onosproject.org.

Κώστας Χαρτσιάς

unread,
Jan 10, 2016, 10:15:02 AM1/10/16
to ONOS Developers, kchar...@gmail.com
Charles thanks a lot for your time!!
Two final question, because i am thinking how conventinal vlans work.

1)By seting matchVlanId true and maybe 2 seperate Vlans for the hosts with untagged ports and one tagged port for the router, will packets be forwarded to the router? or ReactiveForwarding is not meant to work with routers attached??

2)By seperating openflow,to openfllow base,lldpprovider and host provider in the last release, the purpose of lldpprovider is mainly to prevent loops like traditional STP protocols and host provider to learn about hosts right?
I assume that Reactive forwarding only matching source and destination uses broadcasts to learn for unknown hosts as traditional switched do, and then update the mac table...but i have seen so many implementations for learning hosts in SDN such as llddp and bbdp for host discovery, so i am so confused.


(there is an open issue with ACL in ONOS, i point it out, if someone would like to help)

thanks a lot again!!!

Charles Chan

unread,
Jan 10, 2016, 3:36:22 PM1/10/16
to Κώστας Χαρτσιάς, ONOS Developers
Hi,

I want to correct one thing in my previous mail before answering this mail.

HostLocationProvider, which is the component that learns the information of hosts, is VLAN-aware. That is, two hosts with the same MAC but different VLAN will be recognized as two different hosts and create two entries in the HostStore.

However, in ReactiveForwarding (line 436), it only checks the MAC address and assume the packet is untagged.
HostId id = HostId.hostId(ethPkt.getDestinationMAC());
When ReactiveForwarding tries to query the host information from the HostStore, it will always miss due to VLAN mismatch.
As a result, the packet will be flooded to all ports every time, inefficiently.

In conclusion, ReactiveForwarding might not be the best application to deal with tagged traffic.

The rest of my reply is inline.

Charles

On Sun, Jan 10, 2016 at 7:15 AM, Κώστας Χαρτσιάς <kchar...@gmail.com> wrote:
1)By seting matchVlanId true and maybe 2 seperate Vlans for the hosts with untagged ports and one tagged port for the router, will packets be forwarded to the router? or  ReactiveForwarding  is not meant to work with routers attached??

Can you elaborate more about the network topology you have and the network behavior you want to achieve?
 
2)By seperating openflow,to openfllow base,lldpprovider and host provider in the last release, the purpose of lldpprovider is mainly to prevent loops like traditional STP protocols and host provider to learn about hosts right?
 
LLDP provider does not prevent loops like STP. It simply sends and processes LLDP packets to learn the existence of a link between switches.
Loop prevention is the job of TopologyService.
When ReactiveForwarding asks TopologyService to get a path between host A and B, TopologyService will run Dijkstra shortest path algorithm to get the path, which is loop-free.
 
I assume that Reactive forwarding only matching source and destination uses broadcasts to learn for unknown hosts as traditional switched do, and then update the mac table...but i have seen so many implementations for learning hosts in SDN such as llddp and bbdp for host discovery, so i am so confused.

LLDP and BDDP are protocols for link discovery, not host discovery.
For host discovery, you can take a look at HostLocationProvider. It listens to packet in events and update the HostStore with the latest host information (e.g. MAC, location, IP)

Kostas Chartsias

unread,
Jan 10, 2016, 4:19:28 PM1/10/16
to Charles Chan, ONOS Developers
Huge thanks Charles for the support!!

The topology i am talking about is this in the following attachment...2 ports untagged and one tagged. I wonder if with Reactive forwarding after enabling VLAN id with the cfg you were talking about, would send traffic from VLAN 10 to the router through the trunk port and then to VLAN 20 or just drop it or flood it. Or if there is any way for hosts from different Vlans to communicate with each other ( with seperate broadcast domains of course) using Reactive Forwarding.

Thanks again for your time!!!

vlan_example.jpg

Charles Chan

unread,
Jan 11, 2016, 4:03:39 AM1/11/16
to Kostas Chartsias, ONOS Developers
Hi,

In this case you need to push VLAN tag for packets from hosts to the router, and pop VLAN tag for packets from the router to hosts.
This is beyond what ReactiveForwarding can do. You may need to develop your own application to achieve this.

Charles


--
Charles Chan
Intern, ON.Lab

Kostas Chartsias

unread,
Jan 11, 2016, 11:31:04 AM1/11/16
to Charles Chan, ONOS Developers
Charles thanks a lot and sorry for the continous questions, just one last

I would like to describe you my consept and give me your opinion as you are a guru in SDN.

I read some HP manuals and i am not sure if it's going to work in practise, but when you configure a port with a specific vlan then  a vlan tag is added every time a packet_in event happens from packets from this port.
Supposedly VLAN push and pop is handled correctly by the switch itself, after Reactive Forwarding learns (with vlan cfg enabled)  about the two hosts in different vlans it will update it's mac table and install flow rules. Now the switch will forward directly the packets for the time cached, from one vlan to an other (supposedely vlan untagged packets), which is a bit contradicting with VLAN - seperate lan - always routing involved consept.

Furthermore each flood for learning two hosts triggered by ONOS will send packets to each port of the switch and there will be a lot of dropped packets to non same VLAN ports. (not sure if this happens to traditional switches too, or the floods are only per vlan specific without drops to other ports invlolved)

Thanks a lot and sorry for my persistance, just trying to understand if it's practical to implement more than one vlan with ONOS for production level environment.


Charles Chan

unread,
Jan 11, 2016, 1:19:16 PM1/11/16
to Kostas Chartsias, ONOS Developers
Hi,

Please see my reply inline.

Thanks,
Charles

On Mon, Jan 11, 2016 at 8:31 AM, Kostas Chartsias <kchar...@gmail.com> wrote:
Charles thanks a lot and sorry for the continous questions, just one last

I would like to describe you my consept and give me your opinion as you are a guru in SDN.

I read some HP manuals and i am not sure if it's going to work in practise, but when you configure a port with a specific vlan then  a vlan tag is added every time a packet_in event happens from packets from this port.
Supposedly VLAN push and pop is handled correctly by the switch itself, after Reactive Forwarding learns (with vlan cfg enabled)  about the two hosts in different vlans it will update it's mac table and install flow rules.Now the switch will forward directly the packets for the time cached, from one vlan to an other (supposedely vlan untagged packets), which is a bit contradicting with VLAN - seperate lan - always routing involved consept.
Make sense to me so far. However, to do it correctly (isolate traffic among VLANs), you need more than ReactiveForwarding.
 
Furthermore each flood for learning two hosts triggered by ONOS will send packets to each port of the switch and there will be a lot of dropped packets to non same VLAN ports. (not sure if this happens to traditional switches too, or the floods are only per vlan specific without drops to other ports invlolved)
It should only flood packet to the ports that have the same VLAN.
 
Thanks a lot and sorry for my persistance, just trying to understand if it's practical to implement more than one vlan with ONOS for production level environment. 
ONOS can definitely do that. However, you need to write your own application instead of using ReactiveForwarding in order to have the correct VLAN behavior.
ReactiveForwarding is too simple and is not designed to be VLAN aware.

Kostas Chartsias

unread,
Jan 11, 2016, 4:05:21 PM1/11/16
to Charles Chan, ONOS Developers
ok i see, thanks a lot for the support man, you're the best
Reply all
Reply to author
Forward
0 new messages