void
ofputil_wildcard_from_ofpfw10(uint32_t ofpfw, struct flow_wildcards *wc)
{
- BUILD_ASSERT_DECL(FLOW_WC_SEQ == 20);
+ BUILD_ASSERT_DECL(FLOW_WC_SEQ == 21);
/* Initialize most of wc. */
flow_wildcards_init_catchall(wc);
>> OFPFW10_NW_DST_SHIFT);
if (!(ofpfw & OFPFW10_TP_SRC)) {
- wc->masks.tp_src = htons(UINT16_MAX);
+ wc->masks.tp_src = OVS_BE16_MAX;
}
if (!(ofpfw & OFPFW10_TP_DST)) {
- wc->masks.tp_dst = htons(UINT16_MAX);
+ wc->masks.tp_dst = OVS_BE16_MAX;
}
if (!(ofpfw & OFPFW10_DL_SRC)) {
memset(wc->masks.dl_dst, 0xff, ETH_ADDR_LEN);
}
if (!(ofpfw & OFPFW10_DL_TYPE)) {
- wc->masks.dl_type = htons(UINT16_MAX);
+ wc->masks.dl_type = OVS_BE16_MAX;
}
/* VLAN TCI mask. */
if (ofmatch->dl_vlan == htons(OFPVID11_NONE)) {
/* Match only packets without a VLAN tag. */
match->flow.vlan_tci = htons(0);
- match->wc.masks.vlan_tci = htons(UINT16_MAX);
+ match->wc.masks.vlan_tci = OVS_BE16_MAX;
} else {
if (ofmatch->dl_vlan == htons(OFPVID11_ANY)) {
/* Match any packet with a VLAN tag regardless of VID. */
} else {
fm->cookie = ofm->cookie;
fm->cookie_mask = ofm->cookie_mask;
- fm->new_cookie = htonll(UINT64_MAX);
+ fm->new_cookie = OVS_BE64_MAX;
}
fm->modify_cookie = false;
fm->command = ofm->command;
NOT_REACHED();
}
- fm->modify_cookie = fm->new_cookie != htonll(UINT64_MAX);
+ fm->modify_cookie = fm->new_cookie != OVS_BE64_MAX;
if (protocol & OFPUTIL_P_TID) {
fm->command = command & 0xff;
fm->table_id = command >> 8;
rr->role = ntohl(orr->role);
if (raw == OFPRAW_OFPT12_ROLE_REQUEST
? orr->role == htonl(OFPCR12_ROLE_NOCHANGE)
- : orr->generation_id == htonll(UINT64_MAX)) {
+ : orr->generation_id == OVS_BE64_MAX) {
rr->have_generation_id = false;
rr->generation_id = 0;
} else {
out->matched_count = in->matched_count;
}
+static void
+ofputil_put_ofp12_table_stats(const struct ofp12_table_stats *in,
+ struct ofpbuf *buf)
+{
+ struct ofp12_table_stats *out = ofpbuf_put(buf, in, sizeof *in);
+
+ /* Trim off OF1.3-only capabilities. */
+ out->match &= htonll(OFPXMT12_MASK);
+ out->wildcards &= htonll(OFPXMT12_MASK);
+ out->write_setfields &= htonll(OFPXMT12_MASK);
+ out->apply_setfields &= htonll(OFPXMT12_MASK);
+}
+
static void
ofputil_put_ofp13_table_stats(const struct ofp12_table_stats *in,
struct ofpbuf *buf)
reply = ofpraw_alloc_stats_reply(request, n * sizeof *stats);
- switch ((enum ofp_version) request->version) {
- case OFP10_VERSION:
- for (i = 0; i < n; i++) {
+ for (i = 0; i < n; i++) {
+ switch ((enum ofp_version) request->version) {
+ case OFP10_VERSION:
ofputil_put_ofp10_table_stats(&stats[i], reply);
- }
- break;
+ break;
- case OFP11_VERSION:
- for (i = 0; i < n; i++) {
+ case OFP11_VERSION:
ofputil_put_ofp11_table_stats(&stats[i], reply);
- }
- break;
+ break;
- case OFP12_VERSION:
- ofpbuf_put(reply, stats, n * sizeof *stats);
- break;
+ case OFP12_VERSION:
+ ofputil_put_ofp12_table_stats(&stats[i], reply);
+ break;
- case OFP13_VERSION:
- for (i = 0; i < n; i++) {
+ case OFP13_VERSION:
ofputil_put_ofp13_table_stats(&stats[i], reply);
- }
- break;
+ break;
- default:
- NOT_REACHED();
+ default:
+ NOT_REACHED();
+ }
}
return reply;
}
if (!(may_match & MAY_MPLS)) {
wc.masks.mpls_lse = htonl(0);
- wc.masks.mpls_depth = 0;
}
/* Log any changes. */
qs13->duration_sec = htonl(oqs->duration_sec);
qs13->duration_nsec = htonl(oqs->duration_nsec);
} else {
- qs13->duration_sec = htonl(UINT32_MAX);
- qs13->duration_nsec = htonl(UINT32_MAX);
+ qs13->duration_sec = OVS_BE32_MAX;
+ qs13->duration_nsec = OVS_BE32_MAX;
}
}