diff options
| author | Donald Sharp <sharpd@cumulusnetworks.com> | 2017-01-13 14:48:16 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-01-13 14:48:16 -0500 |
| commit | 9aa7f43f7e7310c285f39a38ff36e1546c00058c (patch) | |
| tree | cdcfdc0f188027cd77937c790895fc5926bb85dd /lib/vrf.c | |
| parent | 386ea4d526de953f3648dfa286f77e5b0a8eef12 (diff) | |
| parent | b6f1faf04596242329d8ecd95b732f1d396e7823 (diff) | |
Merge branch 'master' into cleanup
Diffstat (limited to 'lib/vrf.c')
| -rw-r--r-- | lib/vrf.c | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -381,7 +381,7 @@ vrf_bitmap_set (vrf_bitmap_t bmap, vrf_id_t vrf_id) u_char group = VRF_BITMAP_GROUP (vrf_id); u_char offset = VRF_BITMAP_BIT_OFFSET (vrf_id); - if (bmap == VRF_BITMAP_NULL) + if (bmap == VRF_BITMAP_NULL || vrf_id == VRF_UNKNOWN) return; if (bm->groups[group] == NULL) @@ -399,7 +399,8 @@ vrf_bitmap_unset (vrf_bitmap_t bmap, vrf_id_t vrf_id) u_char group = VRF_BITMAP_GROUP (vrf_id); u_char offset = VRF_BITMAP_BIT_OFFSET (vrf_id); - if (bmap == VRF_BITMAP_NULL || bm->groups[group] == NULL) + if (bmap == VRF_BITMAP_NULL || vrf_id == VRF_UNKNOWN || + bm->groups[group] == NULL) return; UNSET_FLAG (bm->groups[group][VRF_BITMAP_INDEX_IN_GROUP (offset)], @@ -413,7 +414,8 @@ vrf_bitmap_check (vrf_bitmap_t bmap, vrf_id_t vrf_id) u_char group = VRF_BITMAP_GROUP (vrf_id); u_char offset = VRF_BITMAP_BIT_OFFSET (vrf_id); - if (bmap == VRF_BITMAP_NULL || bm->groups[group] == NULL) + if (bmap == VRF_BITMAP_NULL || vrf_id == VRF_UNKNOWN || + bm->groups[group] == NULL) return 0; return CHECK_FLAG (bm->groups[group][VRF_BITMAP_INDEX_IN_GROUP (offset)], |
