Hi everyone,
I have a minor problem trying to implement a stats polling mechanism from an
openflow controller. I am trying to get flow_stats and aggregate flow stats
from an openvswitch instance. As an example fo the behaviour, I have
installed the following flows in the flow table:
cookie=0x0, duration=272.966s, table_id=0, n_packets=190836,
n_bytes=28625400,
idle_timeout=1200,priority=65535,udp,in_port=1,vlan_tci=0x0000/0xffff,dl_src=00:04:23:b4:74:95,dl_dst=00:1e:68:9a:c5:75,nw_src=10.1.1.1,nw_dst=192.168.2.2,nw_tos=0,tp_src=8080,tp_dst=8080
actions=output:2
cookie=0x0, duration=272.966s, table_id=0, n_packets=190831,
n_bytes=28624650,
idle_timeout=1200,priority=65535,udp,in_port=1,vlan_tci=0x0000/0xffff,dl_src=00:04:23:b4:74:95,dl_dst=00:1e:68:9a:c5:75,nw_src=10.1.1.1,nw_dst=192.168.2.4,nw_tos=0,tp_src=8080,tp_dst=8080
actions=output:2
cookie=0x0, duration=272.966s, table_id=0, n_packets=190046,
n_bytes=28506900,
idle_timeout=1200,priority=65535,udp,in_port=1,vlan_tci=0x0000/0xffff,dl_src=00:04:23:b4:74:95,dl_dst=00:1e:68:9a:c5:75,nw_src=10.1.1.1,nw_dst=192.168.2.1,nw_tos=0,tp_src=8080,tp_dst=8080
actions=output:2
cookie=0x0, duration=272.966s, table_id=0, n_packets=190872,
n_bytes=28630800,
idle_timeout=1200,priority=65535,udp,in_port=1,vlan_tci=0x0000/0xffff,dl_src=00:04:23:b4:74:95,dl_dst=00:1e:68:9a:c5:75,nw_src=10.1.1.1,nw_dst=192.168.2.5,nw_tos=0,tp_src=8080,tp_dst=8080
actions=output:2
cookie=0x0, duration=272.966s, table_id=0, n_packets=190085,
n_bytes=28512750,
idle_timeout=1200,priority=65535,udp,in_port=1,vlan_tci=0x0000/0xffff,dl_src=00:04:23:b4:74:95,dl_dst=00:1e:68:9a:c5:75,nw_src=10.1.1.1,nw_dst=192.168.2.6,nw_tos=0,tp_src=8080,tp_dst=8080
actions=output:2
cookie=0x0, duration=272.966s, table_id=0, n_packets=190512,
n_bytes=28576800,
idle_timeout=1200,priority=65535,udp,in_port=1,vlan_tci=0x0000/0xffff,dl_src=00:04:23:b4:74:95,dl_dst=00:1e:68:9a:c5:75,nw_src=10.1.1.1,nw_dst=192.168.2.7,nw_tos=0,tp_src=8080,tp_dst=8080
actions=output:2
cookie=0x0, duration=272.966s, table_id=0, n_packets=189674,
n_bytes=28451100,
idle_timeout=1200,priority=65535,udp,in_port=1,vlan_tci=0x0000/0xffff,dl_src=00:04:23:b4:74:95,dl_dst=00:1e:68:9a:c5:75,nw_src=10.1.1.1,nw_dst=192.168.2.3,nw_tos=0,tp_src=8080,tp_dst=8080
actions=output:2
cookie=0x0, duration=272.966s, table_id=0, n_packets=190550,
n_bytes=28582500,
idle_timeout=1200,priority=65535,udp,in_port=1,vlan_tci=0x0000/0xffff,dl_src=00:04:23:b4:74:95,dl_dst=00:1e:68:9a:c5:75,nw_src=10.1.1.1,nw_dst=192.168.2.8,nw_tos=0,tp_src=8080,tp_dst=8080
actions=output:2
the flows as it can be seen differ only on the destination address and have
sequential dest ip addresses.
I am sending an ofp_flow_stats_request with the following format:
Frame 1 (122 bytes on wire, 122 bytes captured)
Ethernet II, Src: Intel_b4:74:94 (00:04:23:b4:74:94), Dst: Intel_b2:b6:cc
(00:04:23:b2:b6:cc)
Internet Protocol, Src: 10.1.0.1 (10.1.0.1), Dst: 10.1.0.2 (10.1.0.2)
Transmission Control Protocol, Src Port: 6633 (6633), Dst Port: 42201
(42201), Seq: 1, Ack: 1, Len: 56
OpenFlow Protocol
Header
Version: 0x01
Type: Stats Request (CSM) (16)
Length: 56
Transaction ID: 0
Stats Request
Type: Individual flow statistics (0x0001)
Flags: 0x0000
Flow Stats Request
Match
Match Types
.... .... .... .... .... .... .... ...1 = Input port:
Wildcard (1)
.... .... .... .... .... .... .... ..1. = VLAN ID:
Wildcard (1)
.... .... .... .... .... .... .... .1.. = Ethernet Src
Addr: Wildcard (1)
.... .... .... .... .... .... .... 1... = Ethernet Dst
Addr: Wildcard (1)
.... .... .... .... .... .... ...1 .... = Ethernet
Type: Wildcard (1)
.... .... .... .... .... .... ..1. .... = IP Protocol:
Wildcard (1)
.... .... .... .... .... .... .1.. .... = TCP/UDP Src
Port: Wildcard (1)
.... .... .... .... .... .... 1... .... = TCP/UDP Dst
Port: Wildcard (1)
.... .... .... .... ..10 0000 .... .... = IP Src Addr
Mask: /0 (32)
.... .... .... 0111 11.. .... .... .... = IP Dst Addr
Mask: /1 (31)
.... .... ...1 .... .... .... .... .... = VLAN
priority: Wildcard (1)
.... .... ..1. .... .... .... .... .... = IPv4 DSCP:
Wildcard (1)
IP Src Addr: 0.0.0.0 (0.0.0.0)
IP Dst Addr: 192.168.2.0 (192.168.2.0)
Table ID: All Tables
Out Port: None (not associated with a physical port)
but I receive the following reply:
Frame 2 (846 bytes on wire, 846 bytes captured)
Ethernet II, Src: Intel_b2:b6:cc (00:04:23:b2:b6:cc), Dst: Intel_b4:74:94
(00:04:23:b4:74:94)
Internet Protocol, Src: 10.1.0.2 (10.1.0.2), Dst: 10.1.0.1 (10.1.0.1)
Transmission Control Protocol, Src Port: 42201 (42201), Dst Port: 6633
(6633), Seq: 1, Ack: 57, Len: 780
OpenFlow Protocol
Header
Version: 0x01
Type: Stats Reply (CSM) (17)
Length: 780
Transaction ID: 0
Stats Reply
Type: Individual flow statistics (0x0001)
Flags: 0
Flow Stats Reply
Table ID: 0
Match
Input Port: 1
Ethernet Src Addr: Intel_b4:74:95 (00:04:23:b4:74:95)
Ethernet Dst Addr: QuantaCo_9a:c5:75 (00:1e:68:9a:c5:75)
Input VLAN ID: 65535
Input VLAN priority: 0
Ethernet Type: IP (0x0800)
IPv4 DSCP: 0
Protocol: UDP (0x11)
IP Src Addr: 10.1.1.1 (10.1.1.1)
IP Dst Addr: 192.168.2.2 (192.168.2.2)
TCP/UDP Src Port: http-alt (8080)
TCP/UDP Dst Port: http-alt (8080)
Flow Duration (sec): 10
Flow Duration (nsec): 0
Priority: 65535
Number of seconds idle before expiration: 1200
Number of seconds before expiration: 0
Cookie: 0x0000000000000000
Packet Count: 87642
Byte Count: 13146300
Output Action(s)
Action
Type: Output to switch port (0)
Len: 8
Output port: 2
Max Bytes to Send: 2000
# of Actions: 1
Flow Stats Reply
Table ID: 0
Match
Input Port: 1
Ethernet Src Addr: Intel_b4:74:95 (00:04:23:b4:74:95)
Ethernet Dst Addr: QuantaCo_9a:c5:75 (00:1e:68:9a:c5:75)
Input VLAN ID: 65535
Input VLAN priority: 0
Ethernet Type: IP (0x0800)
IPv4 DSCP: 0
Protocol: UDP (0x11)
IP Src Addr: 10.1.1.1 (10.1.1.1)
IP Dst Addr: 192.168.2.4 (192.168.2.4)
TCP/UDP Src Port: http-alt (8080)
TCP/UDP Dst Port: http-alt (8080)
Flow Duration (sec): 10
Flow Duration (nsec): 0
Priority: 65535
Number of seconds idle before expiration: 1200
Number of seconds before expiration: 0
Cookie: 0x0000000000000000
Packet Count: 87209
Byte Count: 13081350
Output Action(s)
Action
Type: Output to switch port (0)
Len: 8
Output port: 2
Max Bytes to Send: 2000
# of Actions: 1
Flow Stats Reply
Table ID: 0
Matchfrom
Input Port: 1
Ethernet Src Addr: Intel_b4:74:95 (00:04:23:b4:74:95)
Ethernet Dst Addr: QuantaCo_9a:c5:75 (00:1e:68:9a:c5:75)
Input VLAN ID: 65535
Input VLAN priority: 0
Ethernet Type: IP (0x0800)
IPv4 DSCP: 0
Protocol: UDP (0x11)
IP Src Addr: 10.1.1.1 (10.1.1.1)
IP Dst Addr: 192.168.2.1 (192.168.2.1)
TCP/UDP Src Port: http-alt (8080)
TCP/UDP Dst Port: http-alt (8080)
Flow Duration (sec): 10
Flow Duration (nsec): 0
Priority: 65535
Number of seconds idle before expiration: 1200
Number of seconds before expiration: 0
Cookie: 0x0000000000000000
Packet Count: 87335
Byte Count: 13100250
Output Action(s)
Action
Type: Output to switch port (0)
Len: 8
Output port: 2
Max Bytes to Send: 2000
# of Actions: 1
Flow Stats Reply
Table ID: 0
Match
Input Port: 1
Ethernet Src Addr: Intel_b4:74:95 (00:04:23:b4:74:95)
Ethernet Dst Addr: QuantaCo_9a:c5:75 (00:1e:68:9a:c5:75)
Input VLAN ID: 65535
Input VLAN priority: 0
Ethernet Type: IP (0x0800)
IPv4 DSCP: 0
Protocol: UDP (0x11)
IP Src Addr: 10.1.1.1 (10.1.1.1)
IP Dst Addr: 192.168.2.5 (192.168.2.5)
TCP/UDP Src Port: http-alt (8080)
TCP/UDP Dst Port: http-alt (8080)
Flow Duration (sec): 10
Flow Duration (nsec): 0
Priority: 65535
Number of seconds idle before expiration: 1200
Number of seconds before expiration: 0
Cookie: 0x0000000000000000
Packet Count: 87925
Byte Count: 13188750
Output Action(s)
Action
Type: Output to switch port (0)
Len: 8
Output port: 2
Max Bytes to Send: 2000
# of Actions: 1
Flow Stats Reply
Table ID: 0
Match
Match Types
Input Port: 1
Ethernet Src Addr: Intel_b4:74:95 (00:04:23:b4:74:95)
Ethernet Dst Addr: QuantaCo_9a:c5:75 (00:1e:68:9a:c5:75)
Input VLAN ID: 65535
Input VLAN priority: 0
Ethernet Type: IP (0x0800)
IPv4 DSCP: 0
Protocol: UDP (0x11)
IP Src Addr: 10.1.1.1 (10.1.1.1)
IP Dst Addr: 192.168.2.6 (192.168.2.6)
TCP/UDP Src Port: http-alt (8080)
TCP/UDP Dst Port: http-alt (8080)
Flow Duration (sec): 10
Flow Duration (nsec): 0
Priority: 65535
Number of seconds idle before expiration: 1200
Number of seconds before expiration: 0
Cookie: 0x0000000000000000
Packet Count: 87276
Byte Count: 13091400
Output Action(s)
Action
Type: Output to switch port (0)
Len: 8
Output port: 2
Max Bytes to Send: 2000
# of Actions: 1
Flow Stats Reply
Table ID: 0
Match
Input Port: 1
Ethernet Src Addr: Intel_b4:74:95 (00:04:23:b4:74:95)
Ethernet Dst Addr: QuantaCo_9a:c5:75 (00:1e:68:9a:c5:75)
Input VLAN ID: 65535
Input VLAN priority: 0
Ethernet Type: IP (0x0800)
IPv4 DSCP: 0
Protocol: UDP (0x11)
IP Src Addr: 10.1.1.1 (10.1.1.1)
IP Dst Addr: 192.168.2.7 (192.168.2.7)
TCP/UDP Src Port: http-alt (8080)
TCP/UDP Dst Port: http-alt (8080)
Flow Duration (sec): 10
Flow Duration (nsec): 0
Priority: 65535
Number of seconds idle before expiration: 1200
Number of seconds before expiration: 0
Cookie: 0x0000000000000000
Packet Count: 87437
Byte Count: 13115550
Output Action(s)
Action
Type: Output to switch port (0)
Len: 8
Output port: 2
Max Bytes to Send: 2000
# of Actions: 1
Flow Stats Reply
Table ID: 0
Match
Input Port: 1
Ethernet Src Addr: Intel_b4:74:95 (00:04:23:b4:74:95)
Ethernet Dst Addr: QuantaCo_9a:c5:75 (00:1e:68:9a:c5:75)
Input VLAN ID: 65535
Input VLAN priority: 0
Ethernet Type: IP (0x0800)
IPv4 DSCP: 0
Protocol: UDP (0x11)
IP Src Addr: 10.1.1.1 (10.1.1.1)
IP Dst Addr: 192.168.2.3 (192.168.2.3)
TCP/UDP Src Port: http-alt (8080)
TCP/UDP Dst Port: http-alt (8080)
Flow Duration (sec): 10
Flow Duration (nsec): 0
Priority: 65535
Number of seconds idle before expiration: 1200
Number of seconds before expiration: 0
Cookie: 0x0000000000000000
Packet Count: 87474
Byte Count: 13121100
Output Action(s)
Action
Type: Output to switch port (0)
Len: 8
Output port: 2
Max Bytes to Send: 2000
# of Actions: 1
Flow Stats Reply
Table ID: 0
Match
Match Types
Input Port: 1
Ethernet Src Addr: Intel_b4:74:95 (00:04:23:b4:74:95)
Ethernet Dst Addr: QuantaCo_9a:c5:75 (00:1e:68:9a:c5:75)
Input VLAN ID: 65535
Input VLAN priority: 0
Ethernet Type: IP (0x0800)
IPv4 DSCP: 0
Protocol: UDP (0x11)
IP Src Addr: 10.1.1.1 (10.1.1.1)
IP Dst Addr: 192.168.2.8 (192.168.2.8)
TCP/UDP Src Port: http-alt (8080)
TCP/UDP Dst Port: http-alt (8080)
Flow Duration (sec): 10
Flow Duration (nsec): 0
Priority: 65535
Number of seconds idle before expiration: 1200
Number of seconds before expiration: 0
Cookie: 0x0000000000000000
Packet Count: 87513
Byte Count: 13126950
Output Action(s)
Action
Type: Output to switch port (0)
Len: 8
Output port: 2
Max Bytes to Send: 2000
# of Actions: 1
you can notice in the reply I receive 8 flow stats, while I should receive 1
flow only. This I noticed happens also in the case when I query with an
aggr_flow_stats request.
Is this expected behaviour or am I using incorrectly the openflow protocol?
thanks in advance for the replies.
--
Charalampos Rotsos
PhD student
The University of Cambridge
Computer Laboratory
William Gates Building
JJ Thomson Avenue
Cambridge
CB3 0FD
Phone: +44-(0) 1223 767032
Email: [email protected]
_______________________________________________
discuss mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/discuss_openvswitch.org