State of Openflow 2012 Day 5/6 – Notes on HP

Are NEMs delivering on the promise of OpenFlow?

Configuring the HP 6200yl to work with OpenFlow is a bit more complex than the pica8 pronto.  The main reason is that the HP 6200yl does not have dedicated management ports, so you have to use standard switch ports for management.  A lesson I have learned is to use higher ports such as 23/24 for the management and controller interface, rather than lower ports.

Here is my setup for using the Project W iso with an HP switch running the latest HP code (K.15.10.0003).

in the projectw.sh I set the following information:

DPPORTS=4
SWITCH1DPID=0x10017a47eb200

I setup 4 ports because I am using ports 1/2 for my management and controller interfaces.  Ports 3 and 4 are used by b1/b2.  It would be simpler to do it with the controller and management on 23/24, then I would only need 2 DPPORTS.

If you have not run RouteFlow before, one of the more valuable functions it has is the virtualized router.  The router needs interfaces for the systems (b1/b2).  Since ProjectW is a simple setup, it assigns ports beginning with 1.. hence the first 2 ports are lost to the controller and management and the next 2 ports are used by b1/b2.

For the configuration of the HP, I have the following:

openflow

enable
controller-id 2 ip 192.168.1.17 controller-interface vlan 3
instance “routeflow”

listen-port
member vlan 1
controller-id 2
connection-interruption-mode fail-standalone
enable

exit

exit

The VLANS are configured plainly with VLAN 3 having the IP address of 192.168.1.100 so that it can connect to the controller and ports 3-24 in VLAN 1 (the OpenFlow VLAN).

When you start up Project W you should see something close the following on your HP switch:

HP-6200yl-24G# show openflow
OpenFlow Version 1.0

OpenFlow : Enabled
Max. Policy Engine Usage (%) : 50
Hardware Stats. Refresh Rate : 20 seconds

Instance Information

                                    No. of        No. of
Instance Name Oper. Status          H/W Flows     S/W Flows
------------------- --------------- ------------- -------------
routeflow             Up            5                   1

The 6 flows are for catching packets coming from hosts on the OpenFlow enabled VLAN and forwarding those packets to the controller.  Here is an example of one flow:

Flow 1
Incoming Port : 0 Ethernet Type : ARP
Source MAC : 000000-000000 Destination MAC : 000000-000000
VLAN ID : 0 VLAN priority :
Source IP : 0.0.0.0 Destination IP : 0.0.0.0
IP Protocol : 0x00 IP ToS Bits : 0
Source Port : 0 Destination Port : 0
Priority : 32768
Duration : 1804 seconds
Idle Timeout : 0 seconds Hard Timeout : 0 seconds
Packet Count : 24 Byte Count : 1440
Flow Location : Software
Actions
Controller Port

Flow 1 says, if an ARP packet comes in from any OpenFlow enabled port, send it to the controller.  it is also a software flow.  All of the other flows are hardware flows for UDP, TCP, ICMP, BGP and OSPF packets.

When things are working correctly you will see the output on the Project W screen show something like the following when sending packets from one of the hosts to the router (rfvm1):

01135|openflow-event|DBG:received packet-in event from 10017a47eb200 (len:90)
01136|openflow-event|DBG:received packet-in event from 7266767372667673 (len:90)
01137|rfproxy|INFO:ofp_flow_mod(add) was sent to datapath (dp_id=0x10017a47eb200
01138|rfproxy|INFO:ofp_flow_mod(add) was sent to datapath (dp_id=0x10017a47eb200

This tells you that the HP forwarded a flow (a ping from b1 to the router) and that the router sent a packet back.  So two new flows were created on the HP

Flow 4
Incoming Port : 0 Ethernet Type : IP
Source MAC : 000000-000000 Destination MAC : 12a1a1-a1a101
VLAN ID : 0 VLAN priority :
Source IP : 0.0.0.0 Destination IP : 172.31.3.2
IP Protocol : 0x00 IP ToS Bits : 0
Source Port : 0 Destination Port : 0
Priority : 32800
Duration : 218 seconds
Idle Timeout : 300 seconds Hard Timeout : 0 seconds
Packet Count : 103 Byte Count : 9270
Flow Location : Software
Actions
Modify Destination MAC : 005056-949707
Modify Source MAC : 12a1a1-a1a101
Output : 3

This flow re-writes the source and destination MAC addresses to make it appear that the packet has gone through the entire path to the router, when in fact it is being cut-through the switch.

Hopefully this helps people to better understand the packet flow in OpenFlow and how RouteFlow works.

 

Comments

  1. Ram says

    Hi, I am trying to implement active patch using HP 6600 switch with HP Openflow. the controller and the switch are talking just fine. The traffic from the port1 to/from port2 that is configured via dpctl add-flow ‘in_port=1,actions=output:2’ and vice-versa makes the traffic go between port1 and port2. However, if I have VLAN tagged traffic onto port1 or port2 – the packets are dropped. Is there any way to make the traffic go between port 1 and port2 without knowing the VLAN tag infor of the input ports or configuring VLAN information in the 6600 switch? (if I configure VLAN ID of port 1 and 2 to incoming vlan ID and tag these ports, the traffic flows between 1 and 2). Is this a bug in the treatment of traffic by HP Switch or am I missing something?

    Regards,

    Ram

    • Namal says

      Hi Ram,

      I am also trying to configure my HP6600 switch with OF. But, yet I couldn’t connect with the controller. I would be very thankful if you could share your running config.

      thanks,
      Namal

Leave a Reply to Ram Cancel reply

Your email address will not be published. Required fields are marked *