Please ignore this post of the series, I messed up a rebase and squashed two commits together.
Ethan On Fri, Mar 25, 2011 at 3:55 PM, Ethan Jackson <et...@nicira.com> wrote: > --- > lib/cfm.h | 24 ++++++++++++++++++++++-- > lib/packets.h | 18 ------------------ > 2 files changed, 22 insertions(+), 20 deletions(-) > > diff --git a/lib/cfm.h b/lib/cfm.h > index 555e39b..651b1c4 100644 > --- a/lib/cfm.h > +++ b/lib/cfm.h > @@ -20,14 +20,34 @@ > #include <stdint.h> > > #include "hmap.h" > -#include "packets.h" > +#include "openvswitch/types.h" > > struct flow; > +struct ofpbuf; > > /* Ethernet destination address of CCM packets. */ > -static const uint8_t eth_addr_ccm[ETH_ADDR_LEN] OVS_UNUSED > +static const uint8_t eth_addr_ccm[6] OVS_UNUSED > = { 0x01, 0x80, 0xC2, 0x00, 0x00, 0x30 }; > > +#define ETH_TYPE_CFM 0x8902 > + > +/* A 'ccm' represents a Continuity Check Message from the 802.1ag > + * specification. Continuity Check Messages are broadcast periodically so > that > + * hosts can determine who they have connectivity to. */ > +#define CCM_LEN 74 > +#define CCM_MAID_LEN 48 > +struct ccm { > + uint8_t mdlevel_version; /* MD Level and Version */ > + uint8_t opcode; > + uint8_t flags; > + uint8_t tlv_offset; > + ovs_be32 seq; > + ovs_be16 mpid; > + uint8_t maid[CCM_MAID_LEN]; > + uint8_t zero[16]; /* Defined by ITU-T Y.1731 should be zero */ > +} __attribute__((packed)); > +BUILD_ASSERT_DECL(CCM_LEN == sizeof(struct ccm)); > + > /* A 'cfm' represent a local Maintenance Point (MP) and its Connectivity > Fault > * Management (CFM) state machine. Its configuration variables should be set > * by clients of the CFM library. */ > diff --git a/lib/packets.h b/lib/packets.h > index bf071e8..44cd5a7 100644 > --- a/lib/packets.h > +++ b/lib/packets.h > @@ -163,7 +163,6 @@ void compose_benign_packet(struct ofpbuf *, const char > *tag, > #define ETH_TYPE_ARP 0x0806 > #define ETH_TYPE_VLAN 0x8100 > #define ETH_TYPE_IPV6 0x86dd > -#define ETH_TYPE_CFM 0x8902 > #define ETH_TYPE_LACP 0x8809 > > /* Minimum value for an Ethernet type. Values below this are IEEE 802.2 > frame > @@ -252,23 +251,6 @@ struct vlan_eth_header { > } __attribute__((packed)); > BUILD_ASSERT_DECL(VLAN_ETH_HEADER_LEN == sizeof(struct vlan_eth_header)); > > -/* A 'ccm' represents a Continuity Check Message from the 802.1ag > specification. > - * Continuity Check Messages are broadcast periodically so that hosts can > - * determine who they have connectivity to. */ > -#define CCM_LEN 74 > -#define CCM_MAID_LEN 48 > -struct ccm { > - uint8_t mdlevel_version; /* MD Level and Version */ > - uint8_t opcode; > - uint8_t flags; > - uint8_t tlv_offset; > - ovs_be32 seq; > - ovs_be16 mpid; > - uint8_t maid[CCM_MAID_LEN]; > - uint8_t zero[16]; /* Defined by ITU-T Y.1731 should be zero */ > -} __attribute__((packed)); > -BUILD_ASSERT_DECL(CCM_LEN == sizeof(struct ccm)); > - > /* The "(void) (ip)[0]" below has no effect on the value, since it's the > first > * argument of a comma expression, but it makes sure that 'ip' is a pointer. > * This is useful since a common mistake is to pass an integer instead of a > -- > 1.7.4.1 > > _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev