BGP prefix lists evaluate an exact match when not using le
or ge
statements on the end. For example, when your prefix list includes only ip prefix-list PREFIX-FROM-A seq 15 permit 192.168.0.0/24
, your neighbour MUST be sending that prefix as an exact /24
to be accepted.
When appending le <cidr>
to the end of a prefix list term, this tells our router to evaluate the prefix by matching up to <cidr>
as long as its within the prefix.
For example, using your statement from the original post: ip prefix-list PREFIX-FROM-A seq 15 permit 192.168.0.0/24 le 32
, this would allow anything within that /24
with the CIDR of the prefix being anywhere from /24
through to /32
. Here are some further examples that would be accepted when using le 32
on the end of your prefix list term:
192.168.0.1/32
- ACCEPTED
192.168.0.0/24
- ACCEPTED
192.168.0.0/23
- REJECTED
192.168.0.128/25
- ACCEPTED
192.168.0.0/24
prefix is not advertised so permitting it does nothing. It seems that the addresses in that network are being advertised as individual host prefixes, which is why your second works. You need to find out why all those addresses are being advertised individually. Remember that you cannot simply make up prefixes to advertise, it only advertises a prefix that is already in the routing table. The exception is to advertise using an aggregate, rather than a network statement./32
host prefixes in your desired range.