Software Defined Networking
1752687 Members
5272 Online
108789 Solutions
New Discussion

HP 2920-24G w/ POX Controller

 
Jason_Hughes
Occasional Advisor

HP 2920-24G w/ POX Controller

Hello,

 

Wondering if anyone in this forum has attempted to connect a POX Controller with an HP 2920-24G Switch?  Latest version of switch software loaded (WB.15.13.0003).  I have a virtual environment setup inside GNS3 (Backtrack 5 workstation and Ubuntu 12.04 workstation) connected through physical NICs on the host machine and to physical ports on the HP switch.  With proper IP addressing and the switch just functioning as a normal every day switch, I can ping all day long between the host.  I also have an OpenFlow POX Controller loaded on a virtual Ubuntu 12.04 workstation and connected through a physical NIC to the OOBM port on the HP switch.  All virtual machines are run with VirtualBox.  I have a seperate class C addressing setup with the POX Controller and OOBM port and can SSH from this controller to the switch and fully manage the switch.  When I launch the POX controller running even just hub mode or basic switch, I received a connected status on the controller and on the switch when I do a "show openflow instance aggregate".   Therefore, all seems to be working properly, but I can no longer ping or access the wiki page built on the Ubuntu workstation and when I do a "show openflow instance aggregate flows", no flows are being saved.  My guess is this has to be an issue with the POX controller, but wondering if there is a dependance in the standard that the POX controller needs that isn't supported in the 1.0 standard implementation by HP.

Thanks in advance!

14 REPLIES 14
weiming
Senior Member

Re: HP 2920-24G w/ POX Controller

Please send me the following:

show running-config
show openflow instance aggregate

Basically for Openflow 1.0, both controller and switch are quite generic without restrictions.
Jason_Hughes
Occasional Advisor

Re: HP 2920-24G w/ POX Controller

Much thanks for your reply!

 

I tore down the configuration without saving (stupid) to test the controller in-band.  Plan to go back in a couple days when I have a couple of hours and configure the controller through the OOBM port again.  Will test and confirm previous results to make sure I'm not chasing my tail on this and then post the config info and aggregate instance information.

 

Jason

weiming
Senior Member

Re: HP 2920-24G w/ POX Controller

Hi Jason,

 

We did tests with POX and HP 2920 at our lab.  We tried to simulate your test. Our tests resulted in good news, i.e., POX did indeed install 2 flows on the HP 2920.

 

Please compare our configuration, POX version, etc. with yours, and let us know how we can isolate what issues you are running into.

 

root@openflow-virtual-machine:~/pox/pox# ./pox.py samples.pretty_log forwarding.l2_learning

POX 0.2.0 (carp) / Copyright 2011-2013 James McCauley, et al.

[core                   ] POX 0.2.0 (carp) is up.

[openflow.of_01         ] <class 'pox.openflow.PacketIn'> raised on dummy OpenFlow nexus

[openflow.of_01         ] [a0-b3-cc-b1-db-80|4096 2] connected

[openflow.of_01         ] [a0-b3-cc-b1-db-80|4096 2] closed

[openflow.of_01         ] <class 'pox.openflow.PacketIn'> raised on dummy OpenFlow nexus

[openflow.of_01         ] [a0-b3-cc-b1-db-80|4096 4] connected

 

 

We see here that the OF connection 1.0 was actually complete (look at the last line - [openflow.of_01         ] [a0-b3-cc-b1-db-80|4096 4] connected ) This shows that it was connected with no issues. I used the forwarding.l2_learning module.

 

 

Here is the config that I used.  What does your config look like?

 

hostname "openflow-test"

module 1 type j9728a

snmp-server community "public" unrestricted

openflow

   enable

   controller-id 1 ip 132.0.1.193 controller-interface vlan 1321

   instance aggregate

      listen-port

      controller-id 1

      limit software-rate 2000

      enable

      exit

   exit

oobm

   ip address dhcp-bootp

   exit

vlan 1

   name "DEFAULT_VLAN"

   no untagged 1-2,48

   untagged 3-47,A1-A2,B1-B2

   ip address dhcp-bootp

   exit

vlan 100

   name "VLAN100"

   untagged 1-2

   ip address 192.168.1.1 255.255.255.0

   exit

vlan 1321

   name "VLAN1321"

   untagged 48

   ip address 132.0.1.217 255.255.255.0

   exit

 

openflow-test(of-inst-aggregate)# 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

  --------------------------------- ------------ ---------- ----------

  aggregate                         Up           0          2

 

 

openflow-test(of-inst-aggregate)# show openflow instance aggregate flows

 

OpenFlow Flow Table

 

Flow 1

  Incoming Port : 1                     Ethernet Type    : IP

  Source MAC    : 000006-2cb437         Destination MAC  : 000006-2cc01e

  VLAN ID       : 100                   VLAN Priority    : 2

  Source IP     : 192.168.1.100/32      Destination IP   : 192.168.1.200/32

  IP Protocol   : TCP                   IP ToS Bits      : 0

  Source Port   : 0                     Destination Port : 0

  Priority      : 65535                 Cookie           : 0

  Duration      : 3 seconds

  Idle Timeout  : 10 seconds            Hard Timeout     : 30 seconds

  Packet Count  : 3582                  Byte Count       : 229248

  Flow Location : Software

  Actions

    Output                  : 2

 

Flow 2

  Incoming Port : 2                     Ethernet Type    : IP

  Source MAC    : 000006-2cc01e         Destination MAC  : 000006-2cb437

  VLAN ID       : 100                   VLAN Priority    : 2

  Source IP     : 192.168.1.200/32      Destination IP   : 192.168.1.100/32

  IP Protocol   : TCP                   IP ToS Bits      : 0

  Source Port   : 0                     Destination Port : 0

  Priority      : 65535                 Cookie           : 0

  Duration      : 3 seconds

  Idle Timeout  : 10 seconds            Hard Timeout     : 30 seconds

  Packet Count  : 3588                  Byte Count       : 229632

  Flow Location : Software

  Actions

    Output                  : 1

Jason_Hughes
Occasional Advisor

Re: HP 2920-24G w/ POX Controller

Much thanks for conducting a seperate test and sorry for my taking so long to retest and post results.  Friday is pretty much my only day right now to work on this.

 

Anyway, setup my lab again and documented everything much better than last.  Realized that I have something configured incorrectly regarding vlans and port membership.  Found that the ARP requests from PC-1 were making it through the switch to PC-2 however, they contained 802.1Q VLAN information in the frame, for which PC-2 doesn't know how to respond. 

 

# Steps to configure HP 2920 OOBM port
config
oobm
enable
ip address 192.168.0.2/24
ip default-gateway 192.168.0.1
end
write mem

# Confirm oobm status
ping 192.168.0.1 source oobm
>192.168.0.1 is alive, time = 4 ms

show oobm ip
>IPv4 Status    : Enabled
>IPv4 Default Gateway    : 192.168.0.1
>
>Member | IP Config  IP Address/Prefix Length   Address Status   Interface Status
>------ | ---------  ------------------------   --------------   ----------------
>Global | manual     192.168.0.2/24                              Up

show oobm
>Global OOBM Configuration
>OOBM Enabled           : Yes
>OOBM Port Type         : 10/100TX
>OOBM Interface Status  : Up
>OOBM Port              : Enabled
>OOBM Port Speed        : Auto
>MAC Address            d4c9ef-a56141

# Steps to configure OpenFlow on HP 2920 switch.
config
openflow
enable
controller-id 1 ip 192.168.0.1 controller-interface oobm
instance aggregate mode active
instance aggregate connection-interruption-mode fail-standalone
instance aggregate controller-id 1
instance aggregate enable
end
write mem


#HP-2920-24G# show config

Startup configuration: 3

; J9726A Configuration Editor; Created on release #WB.15.13.0003
; Ver #04:e3.ff.35.0d:20

hostname "HP-2920-24G"
module 1 type j9726a
snmp-server community "public" unrestricted
openflow
   enable
   controller-id 1 ip 192.168.0.1 controller-interface oobm
   instance aggregate
      controller-id 1
      connection-interruption-mode fail-standalone
      enable
      exit
   exit
oobm
   ip address 192.168.0.2 255.255.255.0
   ip default-gateway 192.168.0.1
   exit
vlan 1
   name "DEFAULT_VLAN"
   untagged 1-24,A1-A2,B1-B2
   ip address dhcp-bootp
   exit


# Steps to show OpenFlow status
show openflow
>OpenFlow Version 1.0
>
>OpenFlow    : Enabled
>Max. Policy Engine Usage (%) : 50
>Hardware Stats. Refresh Rate : 20 seconds
>
>Instance Information
>
>Instance Name   Oper. Status  No. of H/W Flows  No. of S/W Flows
>--------------  ------------  ----------------  ----------------
>aggregate       Up            0                 0

show openflow instance aggregate
>
>Instance Name            : aggretate
>Admin. Status            : Enabled
>Member List              : VLAN 1
>Listen Port              : None
>Oper. Status             : Up
>Datapath ID              : 1000d4c9efa56140
>Mode                     : Active
>Flow Location            : Hardware and Software
>No. of Hw Flows          : 0
>No. of Sw Flows          : 0
>Hw. Rate Limit           : 0 kbps
>Sw. Rate Limit           : 100 pps
>Conn. Interrupt Mode     : Fail-Standalone
>Maximum Backoff Interval : 60 seconds
>Probe Interval           : 10 seconds


# POX Controller Syntax
./pox.py log.level --DEBUG openflow.debug forwarding.l2_pairs
>POX 0.2.0 (carp) / Copyright 2011-2013 James McCauley, et. al.
>INFO:forwarding.l2)pairs:Pair-Learning switch running.
DEBUG:core:POX 0.2.0 (carp) going up...
DEBUG:core:Running on CPython (2.7.3/Apr 10 2013 05:46:21)
DEBUG:core:Platform is Linux-3.8.0-29-generic-i686-with-Ubuntu-12.04-precise
INFO:core:POX 0.2.0 (carp) is up.
DEBUG:openflow.of_01:Listening on 0.0.0.0:6633
INFO:openflow.of_01:[d4-c9-ef-a5-61-40|4096 1] connected

# PCAP on POX Controller
192.168.0.1 > 192.168.0.2 TCP  62 6633 > 49780 [ACK] Seq=1 Ack=1 Win=1 Len=8
192.168.0.2 > 192.168.0.1 TCP  62 49780 > 6633 [ACK] Seq=1 Ack=9 Win=1 Len=8
192.168.0.1 > 192.168.0.2 TCP  62 6633 > 49780 [ACK] Seq=9 Ack=9 Win=1 Len=8
192.168.0.2 > 192.168.0.1 TCP 230 49780 > 6633 [ACK] Seq=9 Ack=17 Win=1 Len=176
192.168.0.1 > 192.168.0.2 TCP  66 6633 > 49780 [ACK] Seq=17 Ack=185 Win=1 Len=12
192.168.0.1 > 192.168.0.2 TCP 126 6633 > 49780 [ACK] Seq=29 Ack=185 Win=1 Len=72
192.168.0.1 > 192.168.0.2 TCP  62 6633 > 49780 [ACK] Seq=101 Ack=185 Win=1 Len=8
192.168.0.2 > 192.168.0.1 TCP  62 49780 > 6633 [ACK] Seq=185 Ack=109 Win=1 Len=8
<repeats with cooresponding TCP sequencing and acknowledgements>


# Running ping from PC-1 to PC-2 w/no knowledge of PC-2 MAC
ping 172.20.1.101
PING 172.20.1.101 (172.20.1.101) 56(84) bytes of data.
From 172.20.1.100 icmp_seq=2 Destination Host Unreachable
From 172.20.1.100 icmp_seq=3 Destination Host Unreachable
<repeats with sequencial sequencing>

# PCAP on PC-2
<receives periodic LLDP Multicast MSGs from Switch>
<receives the following ARP Requests>
08:00:27:bb:ad:fb > Broadcast ARP 64 Who has 172.20.1.101 Tell 172.20.1.100
<ARP messages have VLAN info in them as follows>
802.1Q Virtual LAN, PRI: 0, CFI: 0, ID: 1
<once I stop the POX controller, switch reverts to standalone, VLAN info is gone>
<PC-2 now responds to ARP requests>



Jason_Hughes
Occasional Advisor

Re: HP 2920-24G w/ POX Controller

Was your test with the POX controller connected in-band on port 48 and placed into a different VLAN? From what I remember with VLANS, once you create any additional VLANS beyond the default "vlan 1", all nodes in vlan 1 will no longer work. So, do I need to move the nodes I want as part of the OF instance to a new vlan and does the OOBM port also require its own vlan?

Will test some of this out as well.

thanks,
jason
weiming
Senior Member

Re: HP 2920-24G w/ POX Controller

Hi Jason, can you rerun the “show openflow instance aggregate” command? Thanks.
Jason_Hughes
Occasional Advisor

Re: HP 2920-24G w/ POX Controller

Certainly.  With the switch connected to the controller via the switches OOBM port and keep alive TCP MSGs back and forth, pinging from PC-1 to PC-2, PC-2 sees the ARP request from PC-1 with VLAN data in the frame.  Only one VLAN configured on the switch "default vlan" with all ports listed as untagged.

 

result of "show openflow instance aggregate":

 

Instance Name                                                   : aggregate

Admin. Status                                                     : Enabled

Member List                                                        : VLAN 1

Listen Port                                                           : None

Oper. Status                                                        : Up

Datapath ID                                                         : 1000d4c9efa56140

Mode                                                                      : Active

Flow Location                                                     : Hardware and Software

No. of Hw Flows                                                : 0

No. of Sw Flows                                                : 0

Hw Rate Limit                                                    : 0 kbps

Sw Rate Limit                                                     : 100 pps

Conn. Interrupt Mode                                     : Fail-standalone

Maximum Backoff Interfal                           : 60 seconds

Probe Interval                                                   : 10 seconds

 

Controller ID     Connection Status     Connection State

--------------    -------------------      -------------------

1                            Connected                     Active

 

 

Seems interesting that even after configuring the port as OOBM, it list the Listen Port as None vice OOBM, and watching the messages at the controller with wireshark, can see clearly the switch is communicating on the default port 6633.

 

Jason

Jason_Hughes
Occasional Advisor

Re: HP 2920-24G w/ POX Controller

Had a chance to remote into my lab and do some additional testing. With the previous configuration as above, I was setting this up as an aggregate, which means that all vlans participate in a single OF instance (less the management and controller vlan). Whether I had the 2 ports (#1 and #2) configured in vlan 1 or vlan 100, they would be under the aggregate instance. Hence I could not remove any vlan from that instance listing. So configured with just the default vlan and controller interfaced on the OOBM port, all ports "untagged", when an ARP was sent from one node to another on the switch, it appears as though the switch is actually including tagging information as previously indicated a couple post up. Just for kicks I changed them to "tagged" and ping'd and no ARP's would go through. Changed the ports back to "untagged" and the ARP message would go through again, but since the switch added the vlan tag information, the node receiving the ARP request did not respond as it didn't know how to interrupt the VLAN tag in the frame.

So, I tore down the instance aggregate, built vlan 100, added ports #1 and #2 as untagged (because it changed them to tagged for some reason), kept the controller on the OOBM port as previously configured, and built a non-aggregate instance as follows:

# Steps to configure OpenFlow instance OFLAB on HP 2920 switch
config
openflow
enable
controller-id 1 ip 192.168.0.1 port 6633 controller-interface oobm
instance OFLAB mode active
instance OFLAB connection-interruption-mode fail-standalone
instance OFLAB controller-id 1
instance OFLAB member vlan 100
instance OFLAB enable
end
write mem

To my surprise, PC-1 was able to successfully ARP for the MAC of PC-2 and exchange icmp echo/echo-replies!!!

This is good as I can continue in this configuration for customizing the POX controller for my thesis work, but leaves me still wondering what the issue is with running in aggregate mode. Potential software bug or just an issue with my load???

Jason
Jason_Hughes
Occasional Advisor

Re: HP 2920-24G w/ POX Controller

Forgot to add the outputs of openflow:

 

#show openflow

>

>OpenFlow Version 1.0

>

>OpenFlow : Enabled

>Max. Policy Engine Usage (%) : 50

>Hardware Stats. Refresh Rate : 20 seconds

 

Instance Information

 

Instance Name           Oper. Status         No. of H/W Flows    No. of S/W Flows

------------------------------------------------------------------------------

oflab                                Up                            0                                      2

 

 

#show openflow instance oflab

>

>Instance Name                                                 : oflab

>Admin. Status                                                   : Enabled

>Member List                                                      : VLAN 100

>Listen Port                                                         : None                    <because it is using the default 6633>

>Oper. Status                                                       : Up

>Datapath ID                                                       : 0064d4c9efa56140

>Mode                                                                    : Active

>Flow Location                                                   : Hardware and Software

>No. of Hw Flows                                              : 0

>No. of Sw Flows                                               : 2

>Hw. Rate Limit                                                  : 0 kbps

>Sw. Rate Limit                                                  : 100 pps

>Conn. Interrupt Mode                                    : Fail-Standalone

>Maximum Backoff Interval                         : 60 seconds

>Probe Interval                                                  : 10 seconds

 

Controller ID    Connection Status      Connection State

---------------------------------------------------------

1                           Connected                      Active