[ovs-discuss] Fwd: matching filed on stats_request

Romain Lenglet romain at midokura.jp
Thu Mar 3 12:11:44 UTC 2011


Hi Haris,
You send a flow stats request with almost every fields of the match wildcarded.
The only non-wildcarded part is the first bit of nw_dst: you wildcard 31 bits of the nw_dst, i.e. you match only on the first bit of the destination IP address.
Since all your flows have the same first in nw_dst, all your flows are matched.
Which flow(s) exactly did you want to match?
--
Romain Lenglet

-- 
Romain Lenglet

On Thursday, March 3, 2011 at 21:03, Haris Rotsos wrote: 
> 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: cr409 at cl.cam.ac.uk
> _______________________________________________
> discuss mailing list
> discuss at openvswitch.org
> http://openvswitch.org/mailman/listinfo/discuss_openvswitch.org
> 





More information about the discuss mailing list