RouterOS v7 has a "bgp-network" attribute that can be checked, so between that and "protocol connected,static", hopefully I can get rid of checking incomplete, which was actually the workaround (along with "Locally Originated BGP") I was using from RouterOS v6, since v6 had no way to directly check (that I'm aware of) if a route came from a "network" entry vs redistribution. In this case, I was dealing with converted-from-v6 filters, and forgot about "bgp-network" the attribute (not to be confused with "bgp-networks" the address list). I was reminded of it when I looked at one of my hand-crafted v7 filters from another project, so I apologize for the parts of this thread that are moot due to that.
However, v7 still appears to not be setting incomplete correctly (which was noticed when these converted filters which worked fine in v6 didn't work in v7). As the RFC says:
INCOMPLETE - Network Layer Reachability
Information learned by some other means
and redistribution is "some other means"
-------
response to prior posts:
I got that from what other routers typically do, as well as what one would want to happen, and the BGP RFCs (which aren't as clear as they should be on the origin attribute). to quote from another vendor:
Indicates the origin of the entry. It can be one of the following values:
•IGP—Entry originated from Interior Gateway Protocol (IGP) and was advertised with a network router configuration command.
•incomplete—Entry originated from other than an IGP or Exterior Gateway Protocol (EGP) and was advertised with the redistribute router configuration command.
•EGP—Entry originated from an EGP.
----
This has nothing to do with receiving routes. I'm talking about filtering locally generated routes on output to another peer, I always want to send "bgp-networks" routes, but I only want to send some redistributed routes. (If I could associate a filter directly with redistribution, I would just use that to control what gets redistributed, which is what I do on the other platforms we use). RouterOS doesn't have this capability, so the main output filter has to do all the work, and figure out where the route actually came from.
I won't go into the details of why we want to use redistribution as opposed to explicit network statements, but they're valid reasons as far as we're concerned with our use cases.
我不是特别关心源有限公司de the peer sees, I was just demonstrating that v7 was advertising "IGP" instead of "incomplete" for routes that came from redistribution. I probably could have been a bit clearer and less verbose, I've been a bit rushed lately.