Hi,
   It is a simple application, so you can use ryu-manager simple_arp_proxy.py 
to run it.
   Maybe, I should develop it as a plugin or component instead of application. 
   Yes , I have tested it before, and it really worked. You can find the 
example at my homepage: 
http://www.muzixing.com/pages/2014/11/07/load-balancemultipath-application-on-ryu.html
   If you have read the code, you can know that proxy avoiding storm by drop 
the ARP packets which don't come back from the first in_port.
   About  LLDP, you should google it. It just can hop once. And if you want to 
get the topology, you can use LLDP. when controller get a LLDP packet_in, 
controller can find the link by src_dpid:port and dpid:in_port.Note that 
src_dpid:port were filled at LLDPDU. So LLDP won't cause storm.


------------------
Li Cheng ????_____________________________________________________
School of Information and Communication Engineering
Beijing University of Posts and Telecommunications
Beijing 100876, PR China

??????????????????????????????????????????
_____________________________________________________
Mobile Phone: 
(+86) 151-1698-3550 Beijing 
E-mail:
[email protected]
[email protected]
Homepage:
http://www.muzixing.com




 




------------------ ???????? ------------------
??????: "Jordi Baranda";<[email protected]>;
????????: 2015??1??22??(??????) ????2:58
??????: "????"<[email protected]>; 
????: "ryu-devel"<[email protected]>; 
????: Re: [Ryu-devel] Avoid ARP flooding storm in a multipath topology



Hi Li Cheng,


Thank you very much for your contribution!

In fact, in my previous answer I was pointing out at your solution. 
Nevertheless, thanks for the link because I will have access to the latest 
version of the code.

Regarding your code, I have some doubts and I am afraid that I am not running 
it properly. Could you provide some hints about how to execute it?
For instance, have you tested in a loop topology? If that case we should add 
some module to compute routes, isn't it? How is the app to determine the path 
if there are multiples? Or do you insert the rules manually?


Regarding the LLDP storm I was commenting previously.... I want to mention that 
was a storm of packet-in requests generated by LLDP multicast messages, so in 
order to avoid this problem what I have done is to make a rule in my app to 
drop these packets. Similar to what you did Li Cheng for Ipv6 packets in the 
ARP proxy application. My idea is to get the topology information from the 
LinkAdd and LinkDelete events.What do you think?



Thanks again for your hints!


RyuJordiSDN


2015-01-22 3:15 GMT+01:00 ???? <[email protected]>:
Hi, long time ago, I had finished a simple application of avoiding ARP strom by 
ARP-PROXY, you can get it 
at:https://github.com/muzixing/ryu/blob/master/ryu/app/arp_proxy_13.py


 
------------------
Li Cheng ????_____________________________________________________
School of Information and Communication Engineering
Beijing University of Posts and Telecommunications
Beijing 100876, PR China

??????????????????????????????????????????
_____________________________________________________
Mobile Phone: 
(+86) 151-1698-3550 Beijing 
E-mail:
[email protected]
[email protected]
Homepage:
http://www.muzixing.com




 




------------------ ???????? ------------------
??????: "Jordi Baranda"<[email protected]>; 
????????: 2015??1??20??(??????) ????4:59
??????: "ryu-devel"<[email protected]>; 
????: [Ryu-devel] Avoid ARP flooding storm in a multipath topology



Dear all,


I am new in this world of SDN and based upon some comments on the net and I 
decided to start by using the Ryu/mininet/ovs friendly environment to start 
with it. After reading the Ryubook I am trying to develop my own application 
which tries to exploit the redundancy in a multipath topology to perform load 
balancing in a round robin fashion.

Then, I create the topology the following topology in mininet (sorry for the 
ASCII type draw)


h3 --- s3 -------- s4 ------- h4
         |             |  
         |             | 

h1----s1-----------s2 ------- h2


When I run the simple_switch Ryu app, I started to see a lot of packet-in 
events. There was a storm of ARP broadcast packets which are overloading the 
controller. Reading in the Ryubook I saw that the spanning tree protocol 
handles this, but as far as I have understood this is not suitable to exploit 
multipath topologies.


Does anyone have an idea on how to avoid this storm of broadcast ARP requests? 

My first approach was to cache the appearance of broadcast ARP classifying them 
by [datapath id (switch), src_ip, dst_ip]  with the hope that they were only 
broadcast once at each switch but I think I have not been able to properly  
implement it.

I think the other problem is that I have to provide a route, isn't it? I was 
thinking on using the NetworkX library for such purpose.


Any hint will be welcome



Thank you very much for your time and attention


Jordi
------------------------------------------------------------------------------
New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
GigeNET is offering a free month of service with a new server in Ashburn.
Choose from 2 high performing configs, both with 100TB of bandwidth.
Higher redundancy.Lower latency.Increased capacity.Completely compliant.
http://p.sf.net/sfu/gigenet
_______________________________________________
Ryu-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ryu-devel

Reply via email to