Skip to content
Snippets Groups Projects
  1. May 18, 2020
    • Ondřej Zajíček's avatar
      Nest: Implement BGP path mask loop operator · ec430a7f
      Ondřej Zajíček authored
      Implement regex-like '+' operator in BGP path masks to match previous
      path mask item multiple times. This is useful as ASNs may appear
      multiple times in paths due to path prepending for traffic engineering
      purposes.
      ec430a7f
  2. Nov 04, 2019
  3. Aug 06, 2019
  4. Jul 03, 2019
  5. Feb 20, 2019
  6. Sep 18, 2018
    • Jan Maria Matejka's avatar
      No more warnings ... · d4cebc6b
      Jan Maria Matejka authored
      no more warnings
      No more warnings over me
      And while it is being compiled all the log is black and white
      Release BIRD now and then let it flee
      
      (use the melody of well-known Oh Freedom!)
      d4cebc6b
  7. Mar 14, 2018
    • Jan Maria Matejka's avatar
      Filter: make bgpmask literals real constructors · e8bc64e3
      Jan Maria Matejka authored
      The bgpmask literals can include expressions. This is OK but they have
      to be interpreted as soon as the code is run, not in the time the code
      is used as value.
      
      This led to strange behavior like rewriting bgpmasks when they shan't
      be rewritten:
      
      	function mask_generator(int as)
      	{
      		return [= * as * =];
      	}
      
      	function another()
      	bgpmask m1;
      	bgpmask m2;
      	{
      		m1 = mask_generator(10);
      		m2 = mask_generator(20);
      		if (m1 == m2) {
      			print("strange"); # this would happen
      		}
      	}
      
      Moreover, sending this to CLI would cause stack overflow and knock down the
      whole BIRD, as soon as there is at least one route to execute the given
      filter on.
      
      	show route filter bgpmask mmm; bgppath ppp; { ppp = +empty+; mmm = [= (ppp ~ mmm) =]; print(mmm); accept; }
      
      The magic match operator (~) inside the bgpmask literal would try to
      resolve mmm, which points to the same bgpmask so it would resolve
      itself, call the magic match operator and vice versa.
      
      After this patch, the bgpmask literal will get resolved as soon as it's
      assigned to mmm and it also will return a type error as bool is not
      convertible to ASN in BIRD.
      e8bc64e3
  8. Feb 07, 2018
  9. Jan 22, 2017
  10. Dec 07, 2016
    • Ondřej Zajíček's avatar
      BGP redesign · d15b0b0a
      Ondřej Zajíček authored
      Integrated and extensible BGP with generalized AFI handling,
      support for IPv4+IPv6 AFI and unicast+multicast SAFI.
      d15b0b0a
  11. Nov 30, 2016
  12. Nov 09, 2016
    • Ondřej Zajíček's avatar
      Unit Testing for BIRD · 9b0a0ba9
      Ondřej Zajíček authored
       - Unit Testing Framework (BirdTest)
       - Integration of BirdTest into the BIRD build system
       - Tests for several BIRD modules
      
       Based on squashed Pavel Tvrdik's int-test branch, updated for
       current int-new branch.
      9b0a0ba9
  13. Nov 01, 2016
  14. Jun 08, 2016
  15. Feb 16, 2016
  16. Jun 08, 2015
  17. Oct 21, 2013
  18. Aug 15, 2013
  19. Jul 09, 2013
  20. Apr 30, 2012
  21. Feb 21, 2010
  22. Dec 14, 2009
  23. Oct 12, 2009
  24. Aug 27, 2009
  25. Aug 25, 2009
  26. Jun 01, 2009
  27. Apr 17, 2009
    • Ondřej Zajíček's avatar
      Rewrite of buggy AS path matching. · c8a6b9a3
      Ondřej Zajíček authored
      Old AS path maching supposes thath AS number appears
      only once in AS path, but that is not true. It also
      contains some bugs related to AS path sets.
      
      New code does not use any assumptions about semantic
      structure of AS path. It is asymptotically slower than
      the old code, but on real paths it is not significant.
      
      It also allows '?' for matching one arbitrary AS number.
      c8a6b9a3
  28. Feb 21, 2009
  29. Nov 16, 2008
  30. Oct 26, 2008
  31. Nov 13, 2002
  32. May 19, 2000
  33. May 04, 2000
    • Martin Mareš's avatar
      Removed a lot of unused variables. · 93a786cb
      Martin Mareš authored
      Please try compiling your code with --enable-warnings to see them. (The
      unused parameter warnings are usually bogus, the unused variable ones
      are very useful, but gcc is unable to control them separately.)
      93a786cb
  34. Apr 27, 2000
  35. Apr 26, 2000
Loading