Aaahh now i see...

Currently I do pattern matching... Sorry.

function is_filtered_proto_in ( string p )
{
        return false;
}
function is_filtered_proto_out ( string p )
{
        if p ~ "*2220" then
        {
                bgp_community.add((65000,11120));
                print "Reached is_filtered_proto_out( ", p, " ): Adding Community 65000,11120";
        }
        if p = "*2221" then
        {
                bgp_community.add((65000,11050));
                print "Reached is_filtered_proto_out( ", p, " ): Adding Community 65000,11050";
        }
        return false;
}

Am Mi., 8. Apr. 2020 um 20:09 Uhr schrieb Maria Matějka <maria.matejka@nic.cz>:
I say that there is no support for such a thing yet but I may be able to provide you with a patch (we want to add it to the filter language).

Maria

On April 8, 2020 7:58:41 PM GMT+02:00, Michael Rack <mail@michaelrack.de> wrote:
Can you explain what you mean?

How should I change my scripts?

I think it will be a good workaround when I simply use functions instead of filters, so I can bypass some parameters.

protocol bgp 'peer-neo' {
      ipv4 { export where filter_common_ipv4_out( "peer-neo" ); };

function  filter_common_ipv4_out( string remote_peer_name ) {
      if  remote_peer_name  = 'peer-neo' then .....;
}  

It is stupid because i define the peer-name twice.
But for now it will do the job relatively easily.

I have over 40 peers, so I have to write the function / filter for common use.

Am Mi., 8. Apr. 2020 um 19:39 Uhr schrieb Maria Matějka <maria.matejka@nic.cz>:
Hello!

Currently not supported. Is simple exact match enough for your purposes? This may be simply added to the filter language.

Maria

On April 8, 2020 6:47:49 PM GMT+02:00, Michael Rack <mail@michaelrack.de> wrote:
Hi Guys,

if i am in the EXPORT-Routine, how can i access the "protocol-name" of that instance that is currently using my function?

If I rely on "proto" I get the protocol-name where the route comes from. That is not what I want.

protocol bgp 'peer-neo' {
      ipv4 { export filter filter_common_ipv4_out; };

filter  filter_common_ipv4_out() {
      if  proto  = 'peer-neo' then .....;
}

How can I match for 'peer-neo' ?

Thank you.
Michael.

--
Sent from my Android device with K-9 Mail. Please excuse my brevity.

--
Sent from my Android device with K-9 Mail. Please excuse my brevity.