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...@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

Reply via email to