From: Ben Pfaff Date: Wed, 16 Mar 2011 21:32:38 +0000 (-0700) Subject: cfm: Immediately signal a fault upon receiving an unexpected MPID. X-Git-Tag: v1.1.0~103 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=af5739857a23c29953520e0fe9e79860d12b256c;p=sliver-openvswitch.git cfm: Immediately signal a fault upon receiving an unexpected MPID. An unexpected MPID is always a fault, but the CFM code didn't signal the fault until the next time cfm_run() was called. In one experiment I saw a visible lag in the database (although I wasn't able to reproduce it again within a few tries). --- diff --git a/lib/cfm.c b/lib/cfm.c index 567dc579e..0d720946f 100644 --- a/lib/cfm.c +++ b/lib/cfm.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010 Nicira Networks. + * Copyright (c) 2010, 2011 Nicira Networks. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -435,6 +435,7 @@ cfm_process_heartbeat(struct cfm *cfm, const struct ofpbuf *p) rmp = xzalloc(sizeof *rmp); rmp->mpid = ccm_mpid; hmap_insert(&cfm->x_remote_mps, &rmp->node, hash_mpid(ccm_mpid)); + cfm->fault = true; } rmp->recv_time = time_msec();