On Mon, Jan 28, 2013 at 06:34:03PM +0000, Panagiotis Georgopoulos wrote:
>    Hello all,
> 
>     
> 
>    We have a 3500yl HP Openflow enabled switch which communicates with
>    Floodlight via Flowvisor. We noticed that when we run the LearningSwitch
>    implementation on Floodlight, the user throughput falls from 50Mbps to
>    1Mbps!
> 
>     
> 
>    After a lot of debugging we realized that this throttling was because the
>    HP switch stopped processing the packets on hardware, and instead was
>    using the slower software path.
> 
>     
> 
>    In order to get the flows to be processed by hardware again on the HP
>    switch, we had to resort in removing the destination MAC addresses from
>    the Learningswitch implementation of Floodlight. The HP manual reports
>    that when rules are executed in hardware then the destination MAC address
>    field in the packets is ignored. However, we found out that this is not
>    the case; the destination MAC address field should not be present in the
>    packet at all, otherwise the switch falls back to software processing.
> 
>     
> 
>    Could people using the same switch verify if they have the same
>    experience?
> 
>     
> 
>    This throughput throttling down to 1Mbps (from the theoretical 1Gbps) is
>    not really acceptable in my opinion.

There's a document by HP with a hard-to-read but thorough listing of which 
flows end up in software and which in hardware: 
<http://bizsupport1.austin.hp.com/bc/docs/support/SupportManual/c03512348/c03512348.pdf>

The 3500 uses v1 chips as far as I know, which means that according to the 
table on page 40 of that manual there are only two kinds of flows that will end 
up in hardware. If the Ethertype is 0x800 (IP), you can match on any of: VLAN 
ID, input port, or any of the IP or transport fields. If the Ethertype is 
non-IP, you can't match on it but you can match on VLAN ID or input port. 
Matching on the MAC addresses will always cause the flow to be in software. 

You're also limited in the choice of actions; regardless of the match, you can 
only drop, forward to a single port, or forward to NORMAL, and you can only 
change the VLAN PCP or the IP TOS. Any other actions will put the flow into 
software.

Regarding the 1 Mbps limit, it's actually a packet-per-second limit that's 
configurable but defaults to 1000. Depending on your firmware version the upper 
limit may vary, but it can be as high as 10000 PPS; however, I am not sure how 
well the CPU on your switch would hold up with that limit. You may also be able 
to configure the openflow instance so that only hardware flows are accepted, 
but I don't use that configuration; there are some flows (ARP handling, for 
example) that work fine in software even with the PPS limit.

Basically, in order to get reasonable performance you must keep the flows in 
hardware, and in order to do that you must restrict them to just the matches 
and actions described in the manual. . .

Bill.
_______________________________________________
openflow-discuss mailing list
openflow-discuss@lists.stanford.edu
https://mailman.stanford.edu/mailman/listinfo/openflow-discuss

Reply via email to