[pox-dev] sFlow and POX

Murphy McCauley murphy.mccauley at gmail.com
Mon Apr 27 12:54:58 PDT 2015


POX presently has no special support for sFlow.  But, IIRC, for the most part, sFlow just samples packets and encapsulates them in UDP.  You could certainly extend POX to listen on a UDP socket to get the sFlow packets.

BUT... if you're going to have a large number of sFlow packets (e.g., your sample rate isn't going to be that low or you have a lot of switches), I wouldn't have the packets go directly into POX.  Python is not particularly suited to sipping from a firehose.  I'd be tempted to write an external agent in C or something which runs alongside POX and gets the sFlow packets, does application-specific aggregation/thresholding/etc. and communicates the results to POX in a more efficient way (e.g., snapshots at a fixed rate).

If you want to configure the sFlow stuff on the switches from the controller (rather than by hand), and if your switches are Open vSwitch, I think you can do it via OVSDB.  You might want to look at my POX fork on github (MurphyMc/pox) which has some experimental OVSDB support that is very likely to get merged into mainline POX when I have the time.

-- Murphy

On Apr 27, 2015, at 5:06 AM, Fahime Alizade <alizade.ce at gmail.com> wrote:

> Dear all,
> 
> 
> I was wondering if it is possible to use sFlow along with POX? 
> I need my POX controller to make all the decisions about flow scheduling, so all the statistical information from sFlow needs to be passed to POX. Is it possible to do so?
> 
> Thanks in advance,
> 
> Best regards,
> Fahimeh




More information about the pox-dev mailing list