This seems to be more stylistically correct.
---
lib/cfm.c | 5 ++---
lib/packets.h | 3 +++
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/lib/cfm.c b/lib/cfm.c
index 0d72094..683cc71 100644
--- a/lib/cfm.c
+++ b/lib/cfm.c
@@ -33,7 +33,6 @@
VLOG_DEFINE_THIS_MODULE(cfm);
#define CCM_OPCODE 1 /* CFM message opcode meaning CCM. */
-#define DEST_ADDR UINT64_C(0x0180C2000030) /* MD level 0 CCM destination. */
struct cfm_internal {
struct cfm cfm;
@@ -125,7 +124,7 @@ compose_ccm(struct cfm_internal *cfmi)
eth = ofpbuf_put_zeros(packet, ETH_HEADER_LEN);
ccm = ofpbuf_put_zeros(packet, CCM_LEN);
- eth_addr_from_uint64(DEST_ADDR, eth->eth_dst);
+ memcpy(eth->eth_dst, eth_addr_ccm, ETH_ADDR_LEN);
memcpy(eth->eth_src, cfmi->cfm.eth_src, sizeof eth->eth_src);
eth->eth_type = htons(ETH_TYPE_CFM);
@@ -370,7 +369,7 @@ bool
cfm_should_process_flow(const struct flow *flow)
{
return (ntohs(flow->dl_type) == ETH_TYPE_CFM
- && eth_addr_to_uint64(flow->dl_dst) == DEST_ADDR);
+ && eth_addr_equals(flow->dl_dst, eth_addr_ccm));
}
/* Updates internal statistics relevant to packet 'p'. Should be called on
diff --git a/lib/packets.h b/lib/packets.h
index c858fc0..2bd486e 100644
--- a/lib/packets.h
+++ b/lib/packets.h
@@ -43,6 +43,9 @@ static const uint8_t eth_addr_stp[ETH_ADDR_LEN] OVS_UNUSED
static const uint8_t eth_addr_lacp[ETH_ADDR_LEN] OVS_UNUSED
= { 0x01, 0x80, 0xC2, 0x00, 0x00, 0x02 };
+static const uint8_t eth_addr_ccm[ETH_ADDR_LEN] OVS_UNUSED
+ = { 0x01, 0x80, 0xC2, 0x00, 0x00, 0x30 };
+
static inline bool eth_addr_is_broadcast(const uint8_t ea[6])
{
return (ea[0] & ea[1] & ea[2] & ea[3] & ea[4] & ea[5]) == 0xff;
--
1.7.4.1
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev