diff options
Diffstat (limited to 'zebra/zebra_pbr.c')
| -rw-r--r-- | zebra/zebra_pbr.c | 7 | 
1 files changed, 7 insertions, 0 deletions
diff --git a/zebra/zebra_pbr.c b/zebra/zebra_pbr.c index a82dd4c24a..f95a4ff950 100644 --- a/zebra/zebra_pbr.c +++ b/zebra/zebra_pbr.c @@ -373,6 +373,7 @@ uint32_t zebra_pbr_iptable_hash_key(const void *arg)  	key = jhash_1word(iptable->tcp_flags, key);  	key = jhash_1word(iptable->tcp_mask_flags, key);  	key = jhash_1word(iptable->dscp_value, key); +	key = jhash_1word(iptable->protocol, key);  	key = jhash_1word(iptable->fragment, key);  	key = jhash_1word(iptable->vrf_id, key); @@ -414,6 +415,8 @@ bool zebra_pbr_iptable_hash_equal(const void *arg1, const void *arg2)  		return false;  	if (r1->fragment != r2->fragment)  		return false; +	if (r1->protocol != r2->protocol) +		return false;  	return true;  } @@ -1095,6 +1098,10 @@ static void zebra_pbr_show_iptable_unit(struct zebra_pbr_iptable *iptable,  			" not" : "", lookup_msg(fragment_value_str,  					       iptable->fragment, val_str));  	} +	if (iptable->protocol) { +		vty_out(vty, "\t protocol %d\n", +			iptable->protocol); +	}  	ret = hook_call(zebra_pbr_iptable_get_stat, iptable, &pkts,  			&bytes);  	if (ret && pkts > 0)  | 
