Software Defined Networking

HP2920 with output to multiple ports

 
keynetic
Occasional Visitor

HP2920 with output to multiple ports

Hi,

we are developing an SDN application over ryu to control several HP2920 access switches.

Everything works as expected when we have a single user connected, but when we try to output to multiple ports, the rules are installed without any error, the match counter increases, but the packet is not forwarded to any ports

Is the output to multiple ports supported in the HP2920? Is this the proper way to achieve this?

Thanks,

Jokin

Flows with single output (works)

 
0026:15:33:41.24 OPFL eOFNetTask:RX from tcp:10.0.200.21:6633: 0: OFPT_FLOW_MOD
   (OF 0x04) (xid=0xf789ae8f):
 
0026:15:33:41.24 OPFL eOFNetTask:Flow added for instance aggregate in table 0.
0026:15:33:41.24 OPFL eOFNetTask:RX from tcp:10.0.200.21:6633: 0:
0026:15:33:41.25 OPFL eOFNetTask:{"process_time":"1.359
   ms","command":"OFPFC_ADD","table_id":0,"cookie":"0xffff0000","cookie_mask":"0
   x0","idle_timeout":0,"hard_timeout":0,"priority":3002,"buffer_id":"0xffffffff
   ","out_port"
0026:15:33:41.25 OPFL eOFNetTask::"0xffffffff","out_group":"0xffffffff","flags":
   "0x0","match":{"in_port":7,"eth_type":"0x0806"},"insts":[{"apply_actions":[{"
   outport":19}]}]}


knt-HP-2920-24G# show openflow instance aggregate flows ether-type arp

 OpenFlow Flow Table

 Flow 1
 Match
  Incoming Port : 7                     Ethernet Type    : ARP
  Source MAC    : Any                   Destination MAC  : Any
  Source MAC Mask      : 000000-000000
  Destination MAC Mask : 000000-000000
  VLAN ID       : Any                   VLAN Priority    : Any
  Source Protocol Address   : Any
  Target Protocol Address   : Any
  Source Hardware Address      : Any
  Source Hardware Address Mask : 000000-000000
  Target Hardware Address      : Any
  Target Hardware Address Mask : 000000-000000
  ARP Opcode    : Any
  IP ECN        : Any                   IP DSCP          : Any
  Source Port   : Any                   Destination Port : Any
  Source Port Range      : NA
  Destination Port Range : NA
  TCP Flags     : NA
  TCP Mask      : NA
 Attributes
  Priority      : 3002                  Duration         : 25 seconds
  Hard Timeout  : 0 seconds             Idle Timeout     : 0 seconds
  Byte Count    : NA                    Packet Count     : 2
  Flow Table ID : 0                     Controller ID    : 2
  Cookie        : 0xffff0000
  Hardware Index: 17
 Instructions
   Apply Actions
     Output                      : 19

Flow with multiple outputs (Does NOT work)
 
0026:15:34:36.90 OPFL eOFNetTask:Flow added for instance aggregate in table 0.
0026:15:34:36.90 OPFL eOFNetTask:RX from tcp:10.0.200.21:6633: 0:
0026:15:34:36.90 OPFL eOFNetTask:{"process_time":"2.488
   ms","command":"OFPFC_ADD","table_id":0,"cookie":"0xffff0000","cookie_mask":"0
   x0","idle_timeout":0,"hard_timeout":0,"priority":3002,"buffer_id":"0xffffffff
   ","out_port"
0026:15:34:36.90 OPFL eOFNetTask::"0xffffffff","out_group":"0xffffffff","flags":
   "0x0","match":{"in_port":5,"eth_type":"0x0806"},"insts":[{"apply_actions":[{"
   outport":7},{"outport":19}]}]}
0026:15:34:36.90 OPFL eOFNetTask:RX from tcp:10.0.200.21:6633: 0: OFPT_FLOW_MOD
   (OF 0x04) (xid=0xf789ae9b):
 
0026:15:34:36.90 OPFL eOFNetTask:RX from tcp:10.0.200.21:6633: 0:
0026:15:34:36.90 OPFL eOFNetTask:{"process_time":"2.422
   ms","command":"OFPFC_ADD","table_id":0,"cookie":"0xffff0000","cookie_mask":"0
   x0","idle_timeout":0,"hard_timeout":0,"priority":3002,"buffer_id":"0xffffffff
   ","out_port"
0026:15:34:36.90 OPFL eOFNetTask::"0xffffffff","out_group":"0xffffffff","flags":
   "0x0","match":{"in_port":7,"eth_type":"0x0806"},"insts":[{"apply_actions":[{"
   outport":5},{"outport":19}]}]}
0026:15:34:36.90 OPFL eOFNetTask:RX from tcp:10.0.200.21:6633: 0: OFPT_FLOW_MOD
   (OF 0x04) (xid=0xf789ae9c):
 
0026:15:34:36.90 OPFL eOFNetTask:RX from tcp:10.0.200.21:6633: 0:
0026:15:34:36.90 OPFL eOFNetTask:{"process_time":"2.469
   ms","command":"OFPFC_ADD","table_id":0,"cookie":"0xffff0000","cookie_mask":"0
   x0","idle_timeout":0,"hard_timeout":0,"priority":3002,"buffer_id":"0xffffffff
   ","out_port"
0026:15:34:36.90 OPFL eOFNetTask::"0xffffffff","out_group":"0xffffffff","flags":
   "0x0","match":{"in_port":19,"eth_type":"0x0806"},"insts":[{"apply_actions":[{
   "outport":5},{"outport":7}]}]}
0026:15:34:36.90 OPFL eOFNetTask:RX from tcp:10.0.200.21:6633: 0: OFPT_FLOW_MOD
   (OF 0x04) (xid=0xf789ae9d):
 
0026:15:34:36.90 OPFL eOFNetTask:Flow added for instance aggregate in table 0.
0026:15:34:36.90 OPFL eOFNetTask:RX from tcp:10.0.200.21:6633: 0:
0026:15:34:36.90 OPFL eOFNetTask:{"process_time":"1.626


 
knt-HP-2920-24G# show openflow instance aggregate flows ether-type arp

 OpenFlow Flow Table

 Flow 1
 Match
  Incoming Port : 7                     Ethernet Type    : ARP
  Source MAC    : Any                   Destination MAC  : Any
  Source MAC Mask      : 000000-000000
  Destination MAC Mask : 000000-000000
  VLAN ID       : Any                   VLAN Priority    : Any
  Source Protocol Address   : Any
  Target Protocol Address   : Any
  Source Hardware Address      : Any
  Source Hardware Address Mask : 000000-000000
  Target Hardware Address      : Any
  Target Hardware Address Mask : 000000-000000
  ARP Opcode    : Any
  IP ECN        : Any                   IP DSCP          : Any
  Source Port   : Any                   Destination Port : Any
  Source Port Range      : NA
  Destination Port Range : NA
  TCP Flags     : NA
  TCP Mask      : NA
 Attributes
  Priority      : 3002                  Duration         : 34 seconds
  Hard Timeout  : 0 seconds             Idle Timeout     : 0 seconds
  Byte Count    : NA                    Packet Count     : 3
  Flow Table ID : 0                     Controller ID    : 2
  Cookie        : 0xffff0000
  Hardware Index: 20
 Instructions
   Apply Actions
     Output                      : 5
     Output                      : 19

 

2 REPLIES 2
ShaunWackerly
HPE Pro

Re: HP2920 with output to multiple ports

Hi Jokin,

The switch is responsible for accepting flows that it can perform, and rejecting flows that it cannot support. If the switch accepted the flow, that means the switch should be forwarding packets according to the flow. In this case, that appears to not be happening so I'd consider it a bug.

I'd recommend two things: first, upgrade the 2920 to the latest available firmware. Here's a link for one model of 2920:

   https://h10145.www1.hpe.com/downloads/SoftwareReleases.aspx?ProductNumber=J9726A

This will ensure that you have the latest set of known bug fixes. If the issue persists with the latest firmware, I'd contact HPE Aruba support and open a case. That should get the bug officially reported and hopefully fixed in an upcoming release.

Shaun

I am an HPE Employee
keynetic
Occasional Visitor

Re: HP2920 with output to multiple ports

Hi Shaun, thanks for your answer. We are currently in the 16.04.0011 version (latest are 16.04.0013 / 16.05.0007). We will upgrade to the latest firm in the 16.05 branch and try again. I'll come back with the results and open a case as suggested if not fixed. Regards, Jokin