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