2
0
mirror of https://github.com/openvswitch/ovs synced 2025-10-27 15:18:06 +00:00

vswitchd: log skb_mark and skb_priority

This patch adds logging support for skb_mark and skb_priority.

Acked-by: Jesse Gross <jesse@nicira.com>
Signed-off-by: Ansis Atteka <aatteka@nicira.com>
This commit is contained in:
Ansis Atteka
2012-11-29 14:36:49 -08:00
parent fb15feb0e4
commit 1b567fb9af
9 changed files with 126 additions and 13 deletions

View File

@@ -56,6 +56,14 @@ match_wc_init(struct match *match, const struct flow *flow)
memset(&wc->masks.nw_proto, 0xff, sizeof wc->masks.nw_proto);
}
if (flow->skb_priority) {
memset(&wc->masks.skb_priority, 0xff, sizeof wc->masks.skb_priority);
}
if (flow->skb_mark) {
memset(&wc->masks.skb_mark, 0xff, sizeof wc->masks.skb_mark);
}
for (i = 0; i < FLOW_N_REGS; i++) {
if (flow->regs[i]) {
memset(&wc->masks.regs[i], 0xff, sizeof wc->masks.regs[i]);
@@ -272,6 +280,20 @@ match_set_in_port(struct match *match, uint16_t ofp_port)
match->flow.in_port = ofp_port;
}
void
match_set_skb_priority(struct match *match, uint32_t skb_priority)
{
match->wc.masks.skb_priority = UINT32_MAX;
match->flow.skb_priority = skb_priority;
}
void
match_set_skb_mark(struct match *match, uint32_t skb_mark)
{
match->wc.masks.skb_mark = UINT32_MAX;
match->flow.skb_mark = skb_mark;
}
void
match_set_dl_type(struct match *match, ovs_be16 dl_type)
{
@@ -765,6 +787,14 @@ match_format(const struct match *match, struct ds *s, unsigned int priority)
ds_put_format(s, "priority=%u,", priority);
}
if (wc->masks.skb_mark) {
ds_put_format(s, "skb_mark=%#"PRIx32",", f->skb_mark);
}
if (wc->masks.skb_priority) {
ds_put_format(s, "skb_priority=%#"PRIx32",", f->skb_priority);
}
if (wc->masks.dl_type) {
skip_type = true;
if (f->dl_type == htons(ETH_TYPE_IP)) {