X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=ofproto%2Fofproto-sflow.c;h=04e8347050628eb68d565c3560b79165ccc99b5c;hb=734bbeb479093f367f025a2298a4e70cb6015998;hp=de9bf8987af2e3307f057d38aebd7bedc5e3054f;hpb=26233bb4615608fd45d89a5abe2e62f4b3d776f7;p=openvswitch diff --git a/ofproto/ofproto-sflow.c b/ofproto/ofproto-sflow.c index de9bf898..04e83470 100644 --- a/ofproto/ofproto-sflow.c +++ b/ofproto/ofproto-sflow.c @@ -34,7 +34,7 @@ #include "timeval.h" #include "vlog.h" -VLOG_DEFINE_THIS_MODULE(sflow) +VLOG_DEFINE_THIS_MODULE(sflow); struct ofproto_sflow_port { struct hmap_node hmap_node; /* In struct ofproto_sflow's "ports" hmap. */ @@ -182,10 +182,8 @@ sflow_agent_get_counters(void *os_, SFLPoller *poller, counters->ifDirection = 0; } if (!netdev_get_flags(osp->netdev, &flags) && flags & NETDEV_UP) { - bool carrier; - counters->ifStatus = 1; /* ifAdminStatus up. */ - if (!netdev_get_carrier(osp->netdev, &carrier) && carrier) { + if (netdev_get_carrier(osp->netdev)) { counters->ifStatus |= 2; /* ifOperStatus us. */ } } else { @@ -567,6 +565,7 @@ ofproto_sflow_received(struct ofproto_sflow *os, struct odp_msg *msg) n_outputs = 0; for (i = 0; i < n_actions; i++) { const union odp_action *a = &actions[i]; + uint16_t tci; switch (a->type) { case ODPAT_OUTPUT: @@ -575,12 +574,9 @@ ofproto_sflow_received(struct ofproto_sflow *os, struct odp_msg *msg) break; case ODPAT_SET_DL_TCI: - if (a->dl_tci.mask & htons(VLAN_VID_MASK)) { - switchElem.flowType.sw.dst_vlan = vlan_tci_to_vid(a->dl_tci.tci); - } - if (a->dl_tci.mask & htons(VLAN_PCP_MASK)) { - switchElem.flowType.sw.dst_priority = vlan_tci_to_pcp(a->dl_tci.tci); - } + tci = a->dl_tci.tci; + switchElem.flowType.sw.dst_vlan = vlan_tci_to_vid(tci); + switchElem.flowType.sw.dst_priority = vlan_tci_to_pcp(tci); break; default: