Prefix list explained
Taken from https://community.cisco.com/t5/switching/ip-prefix-list-with-le-ge-options/td-p/1739409
ip prefix-list just seq permit 20.0.0.0/16 le 17
- Will 20.0.128.0 prefix match the list?
This particular prefix list matches prefixes of the form P/M (Prefix/Mask) that meet the following two conditions:
- P & /16 == 20.0.0.0
- /16 ⇐ M ⇐ /17
Now, 20.0.128.0 & /16 = 20.0.0.0, so the first condition is met. However, you have not indicated the mask of the prefix 20.0.128.0 and that is crucial to say what subnets would match. If their mask was either /16 or /17 and they were allocated from the 20.0.0.0/16 space, the prefix list would match. If the mask was different from these two values, the prefix list would not match.
In general, a prefix list of the form
ip prefix-list NAME permit|deny A.B.C.D/N ge L le U
matches all prefixes of the form P/M that meet the two following criteria:
- P & N == A.B.C.D (the prefix must be a subnet of the A.B.C.D/N)
- L ⇐ M ⇐ U (the mask of the prefix must be between L and U)
If the ge L argument is not used then the conditions are:
- P & N == A.B.C.D (the prefix must be a subnet of the A.B.C.D/N)
- N ⇐ M ⇐ U (the mask of the prefix must be between N and U)
If the le U argument is not used then the condition are:
- P & N == A.B.C.D (the prefix must be a subnet of the A.B.C.D/N)
- L ⇐ M ⇐ /32 (the mask of the prefix must be at least L)
If neither ge L nor le U are used then the prefix list evaluation is very simple: P must be exactly A.B.C.D and M must be exactly N.