Hi, There is "from" attribute that should contain the IP address of a remote router received via bgp protocol. But if you want to know the router ID - I do not know about such attribute.
On Wed, Oct 9, 2024 at 12:38 PM Mikhail Mayorov <m...@tagan.ru> wrote: > Hi > > Thank you for explain. Of course you are right, I replace string with int > and got similar functionality. For me it doesn't matter. > > I already wrote about dynamic BGP protocols and a import/export filter in > which I need to understand with whom I have a session for correct > filtering. It would be very useful to add to route attributes "routerid", > "source ip" or "BGP.hostname". This functionality is similar to the "proto" > route attribute, but if use bgp dynamic protocols creating attribute > "proto" is meaningless. > > I find сustom attributes have to be first declared by "attribute" global > option. This suits me, but I can't find ways to assign the required value. > > Also, name of dynamic proto will be more filled with meaning if use > hostname or routerid. > 08.10.2024 18:07, Ondrej Zajicek пишет: > > On Tue, Oct 08, 2024 at 12:16:42PM +0300, Mikhail Mayorov wrote: > > Hi! > > I try use CASE and string variable and a have error.... I checked User's > guide 2.0 <https://bird.network.cz/?get_doc&f=bird.html&v=20> > <https://bird.network.cz/?get_doc&f=bird.html&v=20>.... CASE use > operator ~. This operator applies to string variables. What am I doing > wrong? > > Hi > > Seems like a discrepancy between functionality and documentation. > The description of 'case' [1] says: > > The expression after case can be of any type which can be on the left > side of the ~ operator and anything that could be a member of a set is > allowed > > But in fact, only the second part is true, only values that could be > members of sets are allowed (with the exception of prefixes, as prefix > sets are implemented in a different way). According to [2], that are: > > int | pair | quad | ip | prefix | ec | lc | enum > > We probably should fix 'case' for prefixes. Looking at it now, there is > also vpnrd, which is allowed in set, but undocumented, and not in switch. > > In principle, we could extend sets / case to contain strings / bytesrings, > but i do not really see use case. > > [1] https://bird.network.cz/?get_doc&v=20&f=bird-5.html#control-structures > [2] https://bird.network.cz/?get_doc&v=20&f=bird-5.html#type-set > > [root@wine etc]# cat 123.conf && bird -c ./123.conf -p > function teststring(string myvar) -> bool > { > case myvar { > "text A" : print "A"; return true; > "text B" : print "B"; return true; > "text C" : print "C"; return true; > else : print "unknown"; return false; > } > } > bird: ./123.conf:4:12 syntax error, unexpected TEXT > > -- > > Regards, > Mikhail Mayorov > > -- > > Regards, > Mikhail Mayorov > PG19, founder and inspirer > B.Bulvarnaya 11, Taganrog, Russia, 347913 > tel work: +7 8634 431431 (ext 101) > tel mobile: +7 905 4309006 > > [image: pg19.ru] >