2
0
mirror of https://github.com/openvswitch/ovs synced 2025-10-15 14:17:18 +00:00
Commit Graph

14 Commits

Author SHA1 Message Date
Ethan Jackson
6f629657fe cfm: Require 'name' field for 'cfm' objects.
This commit also fixes a memory leak upon cfm_destroy() and
converts the 'all_cfms' list to a hash map.
2011-05-24 15:25:53 -07:00
Ethan Jackson
c0a2e71d11 cfm: Remove packet definition from CFM header file.
This patch makes a stylistic improvement by removing CFM protocol
information from cfm.h.  In the process it changes
cfm_compose_ccm() to populate an ofpbuf instead of a struct ccm.
2011-05-20 15:53:29 -07:00
Ethan Jackson
a56104575c cfm: Cleanup CFM module interface.
This patch makes the CFM module interface a bit more like the LACP
module interface.  In my opinion it's much cleaner.
2011-05-20 15:53:29 -07:00
Ethan Jackson
93b8df3853 cfm: Remove Maintenance_Point and Monitor tables.
In an effort to make CFM easier to understand and configure, this
patch removes the Maintenance_Point and Monitor tables from the
database.  As a consequence, users will only be able to configure
one remote maintenance point.  Furthermore, before this patch each
remote maintenance point maintained its own separate fault flag in
the database.  This flag is no longer reported, users will need to
infer the fault status from the global CFM fault flag.
2011-05-20 15:53:29 -07:00
Ethan Jackson
84c5d450aa cfm: No longer allow configuration of ma_name and md_name.
These settings added complexity to the database and CFM module
interface with negligible benefit.  This patch removes them in such
a way that they can easily be re-added in the (unlikely) event that
we need them in the future.
2011-05-20 15:53:29 -07:00
Ethan Jackson
9ac3fce4d5 cfm: Migrate cfm/show unixctl command to CFM module.
This patch moves the cfm/show unixctl show command from the bridge
to the CFM module.  This is more in line with how LACP does it, and
will make future patches easier to implement.
2011-05-20 15:53:28 -07:00
Ethan Jackson
dd986e09fd cfm: Replace recv_time with a flag.
This makes the code more obviously correct in my opinion.

This patch also removes timer_enabled_at() along with its only
user.
2011-05-13 13:09:27 -07:00
Ethan Jackson
0dd17bfdfe cfm: No longer keep track of bad remote MPs and MAIDS.
Ben pointed out that an attacker could cause OVS to use infinite
memory by sending a series of CCMs with different MAIDs.  Each
message would cause a remote_maid to be allocated and stored for
several seconds.

Since Commit 1c2e2d2fc8 (cfm: Don't report unexpected remote
endpoints) no longer reports unexpected remote MAIDS and MPs in the
database, the only reason to keep track of this information is for
debugging purposes.  In my judgment, it provides negligible useful
debugging information at the expense of significantly increased
code complexity.  This commit rips it out entirely.
2011-03-28 15:44:17 -07:00
Ethan Jackson
20c8e97108 cfm: Create new cfm/show appctl command.
This will be useful for debugging CFM problems in the future.
2011-03-28 11:43:26 -07:00
Ethan Jackson
1c2e2d2fc8 cfm: Don't report unexpected remote endpoints.
Before this patch, CFM would report unexpected remote maintenance
points in the database.  This commit no longer exposes this
information.

Information about precisely why a link is faulty is more interesting
to a system administrator debugging a problem than a controller
which will generally only care about whether or not a link is
faulty.  For simplicity sake, this commit removes this information
from the database where it was somewhat awkwardly placed.  In the
future it may be valuable to report the information through
ovs-appctl commands for debugging purposes.
2011-03-28 11:30:55 -07:00
Ethan Jackson
2a899f6e8a packets: Move CFM related packet information to cfm header file. 2011-03-25 13:57:21 -07:00
Ethan Jackson
a58727fb40 cfm: cfm_run() return ccm instead of packet.
It doesn't really make sense for the CFM code to be composing
packets.  Its caller is better placed to compose the appropriate
L2 header.  This commit pulls that logic out of the CFM library.
2011-03-23 13:16:38 -07:00
Ethan Jackson
15df7ea8d9 cfm: Move destination address to cfm.h
Future patches will require the use of this information globally.
2011-03-23 13:16:38 -07:00
Ethan Jackson
b31bcf60cf ovs: Implement 802.1ag Connectivity Fault Management
This commit implements a subset of the 802.1ag specification for
Connectivity Fault Management (CFM) using Continuity Check Messages
(CCM).  When CFM is configured on an interface CCMs are broadcast
at regular intervals to detect missing or unexpected connectivity.
2010-11-29 14:47:15 -08:00