H3C S6850&S9850&S9820-64H Config Examples-Release 655x-6W100

HomeSupportResource CenterH3C S6850&S9850&S9820-64H Config Examples-Release 655x-6W100
Table of Contents
Related Documents
53-OpenFlow Configuration Examples
Title Size Download
53-OpenFlow Configuration Examples 101.47 KB

 

H3C S6850 & S9850 & S9820-64H

OpenFlow Configuration Examples

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Copyright © 2020 New H3C Technologies Co., Ltd. All rights reserved.

No part of this manual may be reproduced or transmitted in any form or by any means without prior written consent of New H3C Technologies Co., Ltd.

Except for the trademarks of New H3C Technologies Co., Ltd., any trademarks that may be mentioned in this document are the property of their respective owners.

The information in this document is subject to change without notice.



Introduction

This document provides examples for configuring OpenFlow.

OpenFlow separates the control plane and the data forwarding plane. An OpenFlow switch matches packets against one or more flow tables. A flow table contains one or more flow entries that are deployed by the controller and packets are matched based on the matching precedence of flow entries.

These examples use VLAN-interface 1.

Prerequisites

The configuration examples in this document were created and verified in a lab environment, and all the devices were started with the factory default configuration. When you are working on a live network, make sure you understand the potential impact of every command on your network.

This document assumes that you have basic knowledge of OpenFlow.

General restrictions and guidelines

When you configure OpenFlow, follow these restrictions and guidelines:

·           Enable LLDP globally on OpenFlow switches so that the controller can learn the OpenFlow topology through LLDP.

·           Configure each OpenFlow switch with an interface for communicating with the controller so that OpenFlow instances can establish connections with the controller.

·           Configure the Loosen mode when you associate VLAN 4092 and VLAN 4094 with an OpenFlow instance so that the access ports of switches can belong to the OpenFlow instance.

Example: Configuring OpenFlow to deploy flow entries

Network configuration

As shown in Figure 1, configure OpenFlow to meet the following requirements:

·           The controller can deploy dynamic flow entries.

·           Host A and Host C can communicate with each other based on the flow entries deployed by the controller.

·           Host B and Host D can communicate with each other based on the flow entries deployed by the controller.

Figure 1 Network diagram

 

Applicable hardware and software versions

The following matrix shows the hardware and software versions to which this configuration example is applicable:

 

Hardware

Software version

S6850 switch series

S9850 switch series

Release 6555P01

S9820-64H switch

Release 6555P01

 

Procedures

Configuring Switch A

# Create VLAN 4092 and VLAN 4094.

<SwitchA> system-view

[SwitchA] vlan 4092

[SwitchA-vlan4092] quit

[SwitchA] vlan 4094

[SwitchA-vlan4094] quit

# Configure HundredGigE 3/0/1, HundredGigE 3/0/2, and HundredGigE 3/0/3.

[SwitchA] interface hundredgige 3/0/1

[SwitchA-HundredGigE3/0/1] port access vlan 4092

[SwitchA-HundredGigE3/0/1] quit

[SwitchA] interface hundredgige 3/0/2

[SwitchA-HundredGigE3/0/2] port access vlan 4094

[SwitchA-HundredGigE3/0/2] quit

[SwitchA] interface hundredgige 3/0/3

[SwitchA-HundredGigE3/0/3] port link-type trunk

[SwitchA-HundredGigE3/0/3] port trunk permit vlan 4092 4094

[SwitchA-HundredGigE3/0/3] quit

# Enable LLDP globally.

[SwitchA] lldp global enable

# Configure VLAN-interface 1 on Switch A for communicating with the controller.

[SwitchA] interface Vlan-interface 1

[SwitchA-Vlan-interface1] ip address 192.168.2.125 255.255.255.0

[SwitchA-Vlan-interface1] quit

# Create OpenFlow instance 1. Associate VLAN 4092 and VLAN 4094 with it in loosen mode.

[SwitchA] openflow instance 1

[SwitchA-of-inst-1] classification vlan 4092 mask 4093 loosen

# Specify 192.168.2.225 as the IP address of controller 0 for OpenFlow instance 1 and activate the instance..

[SwitchA-of-inst-1] controller 0 address ip 192.168.2.225

[SwitchA-of-inst-1] active instance

[SwitchA-of-inst-1] quit

Configuring Switch B

# Create VLAN 4092 and VLAN 4094.

<SwitchB> system-view

[SwitchB] vlan 4092

[SwitchB-vlan4092] quit

[SwitchB] vlan 4094

[SwitchB-vlan4094] quit

# Configure HundredGigE 3/0/1, HundredGigE 3/0/2, and HundredGigE 3/0/3.

[SwitchB] interface hundredgige 3/0/1

[SwitchB-HundredGigE3/0/1] port access vlan 4092

[SwitchB-HundredGigE3/0/1] quit

[SwitchB] interface hundredgige 3/0/2

[SwitchB-HundredGigE3/0/2] port access vlan 4094

[SwitchB-HundredGigE3/0/2] quit

[SwitchB] interface hundredgige 3/0/3

[SwitchB-HundredGigE3/0/3] port link-type trunk

[SwitchB-HundredGigE3/0/3] port trunk permit vlan 4092 4094

[SwitchB-HundredGigE3/0/3] quit

# Enable LLDP globally.

[SwitchB] lldp global enable

# Configure VLAN-interface 1 on Switch B for communicating with the controller.

[SwitchB] interface Vlan-interface 1

[SwitchB-Vlan-interface1] ip address 192.168.2.125 255.255.255.0

[SwitchB-Vlan-interface1] quit

# Create OpenFlow instance 1. Associate VLAN 4092 and VLAN 4094 with it in loosen mode.

[SwitchB] openflow instance 1

[SwitchB-of-inst-1] classification vlan 4092 mask 4093 loosen

# Specify 192.168.2.225 as the IP address of controller 0 for OpenFlow instance 1 and activate the instance.

[SwitchB-of-inst-1] controller 0 address ip 192.168.2.225

[SwitchB-of-inst-1] active instance

[SwitchB-of-inst-1] quit

Verifying the configuration

# Display details for OpenFlow instance 1 on devices, for example, Switch A.

[SwitchA] display openflow instance 1

Instance 1 information:

 

Configuration information:

 Description   : --

 Active status : Active

 Inactive configuration:

  None

 Active configuration:

  Classification VLAN, loosen mode, total VLANs(2)

   4092, 4094

  In-band management VLAN, total VLANs(0)

   Empty VLAN

  Connect mode: Multiple

  MAC address learning: Enabled

  Flow table:

   Table ID(type): 0(Extensibility), count: 1

  Flow-entry max-limit: 65535

  Datapath ID: 0x000174258a024c00

...

Port information:

 HundredGigE3/0/1

 HundredGigE3/0/2

 HundredGigE3/0/3

Active channel information:

 Controller 0 IP address: 192.168.2.225 port: 6633

The output shows that HundredGigE 3/0/1, HundredGigE 3/0/2, and HundredGigE 3/0/3 belong to OpenFlow instance 1 and can be used to forward packets in the OpenFlow forwarding process.

# Display controller information for OpenFlow instance 1 on devices, for example, Switch A.

[SwitchA] display openflow instance 1 controller

Instance 1 controller information:

 Reconnect interval: 60 (s)

 Echo interval     : 5  (s)

 

 Controller ID           : 0

 Controller IP address   : 192.168.2.225

 Controller port         : 6633

 Controller role         : Equal

 Connect type            : TCP

 Connect state           : Established

 Packets sent            : 132

 Packets received        : 434

 SSL policy              : --

 VRF name                : --

The output shows that Switch A has established a connection with the controller.

# Display flow table information for OpenFlow instance 1 on devices, for example, Switch A.

[SwitchA] display openflow instance 1 flow-table

Instance 1 flow table information:

 

Table 0 information:

 Table type: Extensibility, flow entry count: 1, total flow entry count: 1

 

MissRule flow entry information:

 cookie: 0x0, priority: 0, hard time: 0, idle time: 0, flags: flow_send_rem,

 byte count: 0, packet count: 0

Match information: any

Instruction information:

 Write actions:

  Output interface: Controller, send length: 65509 bytes

The output shows that Switch A has only one table-miss flow entry with the priority of 0 and the action of outputting packets to the controller. The action in the table-miss flow entry varies by device model. For more information about the action in the table-miss flow entry, see the related documentation of the controller.

# Ping Host C from Host A.

Ping 10.1.1.2 (10.1.1.2): 56 data bytes, press CTRL_C to break

56 bytes from 10.1.1.2: icmp_seq=0 ttl=255 time=4.582 ms

56 bytes from 10.1.1.2: icmp_seq=1 ttl=255 time=1.299 ms

56 bytes from 10.1.1.2: icmp_seq=2 ttl=255 time=1.389 ms

56 bytes from 10.1.1.2: icmp_seq=3 ttl=255 time=6.688 ms

56 bytes from 10.1.1.2: icmp_seq=4 ttl=255 time=1.294 ms

 

--- Ping statistics for 10.1.1.2 ---

5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss

round-trip min/avg/max/std-dev = 1.294/3.050/6.688/2.213 ms

The output shows that Host A and Host C can reach each other.

# Display flow table information for OpenFlow instance 1 again on devices, for example, Switch A.

[SwitchA] display openflow instance 1 flow-table

Instance 1 flow table information:

 

Table 0 information:

 Table type: Extensibility, flow entry count: 4, total flow entry count: 4

 

MissRule flow entry information:

 cookie: 0x0, priority: 0, hard time: 0, idle time: 0, flags: flow_send_rem,

 byte count: 0, packet count: 0

Match information: any

Instruction information:

 Write actions:

  Output interface: Controller, send length: 65509 bytes

 

Flow entry 1 information:

 cookie: 0x2328, priority: 29999, hard time: 0, idle time: 300, flags:

 flow_send_rem, byte count: 1, packet count: 1

Match information:

 Input interface: HGE3/0/3

 Ethernet destination MAC address: 0cda-41b1-d1c5

 Ethernet destination MAC address mask: ffff-ffff-ffff

 Ethernet source MAC address: 7425-8a0f-8034

 Ethernet source MAC address mask: ffff-ffff-ffff

 Ethernet type: 0x0806

Instruction information:

 Write actions:

  Output interface: HGE3/0/1

 

Flow entry 2 information:

 cookie: 0x2328, priority: 29999, hard time: 0, idle time: 300, flags:

 flow_send_rem, byte count: 1, packet count: 4

Match information:

 Input interface: HGE3/0/1

 Ethernet destination MAC address: 7425-8a0f-8034

 Ethernet destination MAC address mask: ffff-ffff-ffff

 Ethernet source MAC address: 0cda-41b1-d1c5

 Ethernet source MAC address mask: ffff-ffff-ffff

 Ethernet type: 0x0800

Instruction information:

 Write actions:

  Output interface: HGE3/0/3

 

Flow entry 3 information:

 cookie: 0x2328, priority: 29999, hard time: 0, idle time: 300, flags:

 flow_send_rem, byte count: 1, packet count: 4

Match information:

 Input interface: HGE3/0/3

 Ethernet destination MAC address: 0cda-41b1-d1c5

 Ethernet destination MAC address mask: ffff-ffff-ffff

 Ethernet source MAC address: 7425-8a0f-8034

 Ethernet source MAC address mask: ffff-ffff-ffff

 Ethernet type: 0x0800

Instruction information:

 Write actions:

  Output interface: HGE3/0/1

The output shows the following information:

·           The ARP request/reply packets and ICMP request/replay packets between Host A and Host C successfully trigger the controller to deploy flow entries.

·           Switch A forwards packets based on the flow entries that are deployed by the controller.

# Ping Host D from Host B.

Ping 20.1.1.2 (20.1.1.2): 56 data bytes, press CTRL_C to break

56 bytes from 20.1.1.2: icmp_seq=0 ttl=255 time=1.620 ms

56 bytes from 20.1.1.2: icmp_seq=1 ttl=255 time=6.625 ms

56 bytes from 20.1.1.2: icmp_seq=2 ttl=255 time=1.454 ms

56 bytes from 20.1.1.2: icmp_seq=3 ttl=255 time=1.134 ms

56 bytes from 20.1.1.2: icmp_seq=4 ttl=255 time=1.260 ms

 

--- Ping statistics for 20.1.1.2 ---

5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss

round-trip min/avg/max/std-dev = 1.134/2.419/6.625/2.110 ms

The output shows that Host B and Host D can reach each other.

# Display flow table information for OpenFlow instance 1 again on devices, for example, Switch A.

[SwitchA] display openflow instance 1 flow-table

Instance 1 flow table information:

 

Table 0 information:

 Table type: Extensibility, flow entry count: 7, total flow entry count: 7

 

MissRule flow entry information:

 cookie: 0x0, priority: 0, hard time: 0, idle time: 0, flags: flow_send_rem,

 byte count: 0, packet count: 0

Match information: any

Instruction information:

 Write actions:

  Output interface: Controller, send length: 65509 bytes

 

Flow entry 1 information:

 cookie: 0x2328, priority: 29999, hard time: 0, idle time: 300, flags:

 flow_send_rem, byte count: 1, packet count: 1

Match information:

 Input interface: HGE3/0/3

 Ethernet destination MAC address: 0cda-41b1-d1c5

 Ethernet destination MAC address mask: ffff-ffff-ffff

 Ethernet source MAC address: 7425-8a0f-8034

 Ethernet source MAC address mask: ffff-ffff-ffff

 Ethernet type: 0x0806

Instruction information:

 Write actions:

  Output interface: HGE3/0/1

 

Flow entry 2 information:

 cookie: 0x2328, priority: 29999, hard time: 0, idle time: 300, flags:

 flow_send_rem, byte count: 1, packet count: 4

Match information:

 Input interface: HGE3/0/1

 Ethernet destination MAC address: 7425-8a0f-8034

 Ethernet destination MAC address mask: ffff-ffff-ffff

 Ethernet source MAC address: 0cda-41b1-d1c5

 Ethernet source MAC address mask: ffff-ffff-ffff

 Ethernet type: 0x0800

Instruction information:

 Write actions:

  Output interface: HGE3/0/3

 

Flow entry 3 information:

 cookie: 0x2328, priority: 29999, hard time: 0, idle time: 300, flags:

 flow_send_rem, byte count: 1, packet count: 4

Match information:

 Input interface: HGE3/0/3

 Ethernet destination MAC address: 0cda-41b1-d1c5

 Ethernet destination MAC address mask: ffff-ffff-ffff

 Ethernet source MAC address: 7425-8a0f-8034

 Ethernet source MAC address mask: ffff-ffff-ffff

 Ethernet type: 0x0800

Instruction information:

 Write actions:

  Output interface: HGE3/0/1

 

Flow entry 4 information:

 cookie: 0x2328, priority: 29999, hard time: 0, idle time: 300, flags:

 flow_send_rem, byte count: 1, packet count: 1

Match information:

 Input interface: HGE3/0/3

 Ethernet destination MAC address: 0cda-41b1-d1c4

 Ethernet destination MAC address mask: ffff-ffff-ffff

 Ethernet source MAC address: 7425-8a0f-8035

 Ethernet source MAC address mask: ffff-ffff-ffff

 Ethernet type: 0x0806

Instruction information:

 Write actions:

  Output interface: HGE3/0/2

 

Flow entry 5 information:

 cookie: 0x2328, priority: 29999, hard time: 0, idle time: 300, flags:

 flow_send_rem, byte count: 1, packet count: 4

Match information:

 Input interface: HGE3/0/2

 Ethernet destination MAC address: 7425-8a0f-8035

 Ethernet destination MAC address mask: ffff-ffff-ffff

 Ethernet source MAC address: 0cda-41b1-d1c4

 Ethernet source MAC address mask: ffff-ffff-ffff

 Ethernet type: 0x0800

Instruction information:

 Write actions:

  Output interface: HGE3/0/3

 

Flow entry 6 information:

 cookie: 0x2328, priority: 29999, hard time: 0, idle time: 300, flags:

 flow_send_rem, byte count: 1, packet count: 4

Match information:

 Input interface: HGE3/0/3

 Ethernet destination MAC address: 0cda-41b1-d1c4

 Ethernet destination MAC address mask: ffff-ffff-ffff

 Ethernet source MAC address: 7425-8a0f-8035

 Ethernet source MAC address mask: ffff-ffff-ffff

 Ethernet type: 0x0800

Instruction information:

 Write actions:

  Output interface: HGE3/0/2

The output shows the following information:

·           The ARP request/reply packets and ICMP request/replay packets between Host B and Host D successfully trigger the controller to deploy flow entries.

·           Switch A forwards packets based on the flow entries that are deployed by the controller.

Configuration files

·           Switch A:

#

lldp global enable

#

vlan 4092

#

vlan 4094

#

openflow instance 1

 classification vlan 4092 mask 4093 loosen

 controller 0 address ip 192.168.2.225

 active instance

#

interface Vlan-interface1

 ip address 192.168.2.125 255.255.255.0

#

interface HundredGigE3/0/1

 port link-mode bridge

 port access vlan 4092

#

interface HundredGigE3/0/2

 port link-mode bridge

 port access vlan 4094

#

interface HundredGigE3/0/3

 port link-mode bridge

 port link-type trunk

 port trunk permit vlan 1 4092 4094

#

·           Switch B:

#

lldp global enable

#

vlan 4092

#

vlan 4094

#

openflow instance 1

 classification vlan 4092 mask 4093 loosen

 controller 0 address ip 192.168.2.225

 active instance

#

interface Vlan-interface1

 ip address 192.168.2.126 255.255.255.0

#

interface HundredGigE3/0/1

 port link-mode bridge

 port access vlan 4092

#

interface HundredGigE3/0/2

 port link-mode bridge

 port access vlan 4094

#

interface HundredGigE3/0/3

 port link-mode bridge

 port link-type trunk

 port trunk permit vlan 1 4092 4094

#

Related documentation

·           H3C S6850 & S9850 Switch Series OpenFlow Configuration Guide-Release 655x

·           H3C S6850 & S9850 Switch Series OpenFlow Command Reference-Release 655x

·           H3C S9820-64H Switch OpenFlow Configuration Guide-Release 655x

·           H3C S9820-64H Switch OpenFlow Command Reference-Release 655x