]> git.proxmox.com Git - mirror_frr.git/blobdiff - ldpd/lde_lib.c
ldpd: implement RFC 6667 (Typed Wildcard FEC for PWid)
[mirror_frr.git] / ldpd / lde_lib.c
index 71ab05f04d92ceb998ce14455813bf3052c9ef56..4444a1e1ac38e2fcafd20d553aa41305455764e1 100644 (file)
@@ -845,6 +845,13 @@ lde_wildcard_apply(struct map *wcard, struct fec *fec, struct lde_map *me)
                            fec->type != FEC_TYPE_IPV6)
                                return (0);
                        return (1);
+               case MAP_TYPE_PWID:
+                       if (fec->type != FEC_TYPE_PWID)
+                               return (0);
+                       if (wcard->fec.twcard.u.pw_type != PW_TYPE_WILDCARD &&
+                           wcard->fec.twcard.u.pw_type != fec->u.pwid.type)
+                               return (0);
+                       return (1);
                default:
                        fatalx("lde_wildcard_apply: unexpected fec type");
                }