Browse Prior Art Database

Method to achieve Port mirroring through Openflow Port status/modification message on Open flow ports

IP.com Disclosure Number: IPCOM000228632D
Publication Date: 2013-Jun-25
Document File: 5 page(s) / 203K

Publishing Venue

The IP.com Prior Art Database

Abstract

This idea mentions the unqiue way for Port mirror application to run by controller which uses Openflow port status messages.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 45% of the total text.

Page 01 of 5

Method to achieve Port mirroring through Openflow Port status /modification message on Open flow ports

Openflow ports are the ports which are managed by Openflow controller. They are considered for flow based forwarding. Such port's status are exchanged between Openflow enabled switch and Openflow controller via Openflow port status message. Following is snipped where switch port (Port#9) is added to Openflow port list and becomes Openflow port with reason "Port was added".

Now, if we would like monitor In/Out traffic of this Openflow port then we need to go to switch and enable port mirroring on said port (Port#9). Here it is not visible to Openflow controller.

G8316(config)#port-mirroring enable

G8316(config)#port-mirroring monitor-port 9 mirroring-port

Here, Openflow port 9 is now enabled for monitoring and Port 11 will become mirroring

11

both

1


Page 02 of 5

port.

This operation (enable or disable port mirroring) is done by switch here. Openflow controller as of now can not indicate Port mirroring by its own messages to switch.

So, problem statement is "Openflow controller can not notify switch on enabling/disabling port mirroring on Openflow ports"

As Openflow spec is not IEEE standard or RFC, bits patterns/sequences to be used are open. Also, These bits setting should be fully understood by Openflow controller and Openflow switch and both ports (Monitor and mirroring) should be part Openflow port list.

As mentioned earlier, Port status messages are the one which are responsible for Port configuration and operational state information to both controller and switch. Following is snipped of Port#9 which was added to Openflow port list.

2


Page 03 of 5

As we see Port config flags which are used either by switch or controller to to inform each other about Port's configuration.

Following is structure of Port modification message from Openflow spec 1.3.1.

/* Modify behavior of the physical port */ struct ofp_port_mod {
struct ofp_header header;

uint32_t port_no;

uint8_t pad[4];
uint8_t hw_addr[OFP_ETH_ALEN];

                       /* The hardware address is not configurable. This is used to sanity-check the request, so it must be the same as returned in an ofp_port struct. */

3


Page 04 of 5

uint8_t pad2[2]; /* Pad to 64 bits. */
uint32_t config; /* Bitmap of OFPPC_* flags. */

uint32_t mask; /* Bitmap of OFPPC_* flags to be changed. */
uint32_t advertise; /* Bitmap of OFPPF_*. Zero all bits to prevent any action taking place. */ uint8_t pad3[4]; /* Pad to 64 bits. */
};

OFP_ASSERT(sizeof(struct ofp_port_mod) == 40);

Here,
bitmap of config flags

are 32 bits.

Since there are unused bits in config flags, we can use them to indicate on mirroring port by Setting mirror flag like
"Port mirroring enabled: Yes (1)/No (0),
Port mirroring direction: In (1)/ Out (0)" along with monitor Port number.

Once mirroring is done, Controller can same way send Port status message with Port mirroring flag set to NO (0) for mirroring port to disable mirroring. This will stop traffic mi...