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