ofproto-dpif: Correctly refresh all ports on ENOBUFS from dpif_port_poll().
authorBen Pfaff <blp@nicira.com>
Thu, 13 Jun 2013 20:20:17 +0000 (13:20 -0700)
committerBen Pfaff <blp@nicira.com>
Mon, 29 Jul 2013 22:09:57 +0000 (15:09 -0700)
commit36beb9be69bdcd813ef6cb4b25ddcbb8665145fa
treed97d1f7665b0f82c3da12c71bf4c0d834c3342e0
parent62f13eb2a1ef5dfa6a2069568356bd4657916d61
ofproto-dpif: Correctly refresh all ports on ENOBUFS from dpif_port_poll().

dpif_port_poll() is allowed to return ENOBUFS if something might have
changed, but the specific change isn't easily reportable.  type_run()
didn't handle this case, so it wouldn't notice any changes when this
happened.

dpif-netdev (including dpif-dummy) uses ENOBUFS exclusively to report
changes, so this fixes a problem there.  dpif-linux rarely uses ENOBUFS but
it can do so if a kernel-to-user Netlink buffer overflows.

Signed-off-by: Ben Pfaff <blp@nicira.com>
ofproto/ofproto-dpif.c