diff options
| author | Donald Sharp <sharpd@cumulusnetworks.com> | 2017-05-02 11:38:06 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-05-02 11:38:06 -0400 |
| commit | b46be72b4aff1d413e89bc26a70a29934afe9d85 (patch) | |
| tree | cd556a135211559b7e636db619dbf5257f874e86 /lib/nexthop.c | |
| parent | 2a23cf9503bf2ff36d3c34308de78618b3196f35 (diff) | |
| parent | b2ab6b282ce1569ed348aebe17432094adfe7d24 (diff) | |
Merge branch 'master' into EIGRP
Diffstat (limited to 'lib/nexthop.c')
| -rw-r--r-- | lib/nexthop.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/lib/nexthop.c b/lib/nexthop.c index 7b8ac95e83..a6420fea33 100644 --- a/lib/nexthop.c +++ b/lib/nexthop.c @@ -92,6 +92,28 @@ nexthop_type_to_str (enum nexthop_types_t nh_type) return desc[nh_type]; } +/* + * Check if the labels match for the 2 nexthops specified. + */ +int +nexthop_labels_match (struct nexthop *nh1, struct nexthop *nh2) +{ + struct nexthop_label *nhl1, *nhl2; + + nhl1 = nh1->nh_label; + nhl2 = nh2->nh_label; + if ((nhl1 && !nhl2) || (!nhl1 && nhl2)) + return 0; + + if (nhl1->num_labels != nhl2->num_labels) + return 0; + + if (memcmp (nhl1->label, nhl2->label, nhl1->num_labels)) + return 0; + + return 1; +} + struct nexthop * nexthop_new (void) { |
