1. 16 Jan, 2000 3 commits
  2. 16 Dec, 1999 4 commits
  3. 08 Dec, 1999 1 commit
  4. 06 Dec, 1999 1 commit
  5. 05 Dec, 1999 1 commit
  6. 02 Dec, 1999 1 commit
  7. 01 Dec, 1999 2 commits
  8. 30 Nov, 1999 1 commit
  9. 18 Nov, 1999 1 commit
  10. 17 Nov, 1999 1 commit
  11. 03 Aug, 1999 7 commits
  12. 26 May, 1999 1 commit
  13. 21 May, 1999 1 commit
  14. 14 May, 1999 1 commit
  15. 07 May, 1999 1 commit
  16. 06 May, 1999 1 commit
    • Martin Mareš's avatar
      I rewrote the interface handling code, so that it supports multiple · 9a158361
      Martin Mareš authored
      addresses per interface (needed for example for IPv6 support).
      
      Visible changes:
      
      o  struct iface now contains a list of all interface addresses (represented
         by struct ifa), iface->addr points to the primary address (if any).
      o  Interface has IF_UP set iff it's up and it has a primary address.
      o  IF_UP is now independent on IF_IGNORED (i.e., you need to test IF_IGNORED
         in the protocols; I've added this, but please check).
      o  The if_notify_change hook has been simplified (only one interface pointer
         etc.).
      o  Introduced a ifa_notify_change hook. (For now, only the Direct protocol
         does use it -- it's wise to just listen to device routes in all other
         protocols.)
      o  Removed IF_CHANGE_FLAGS notifier flag (it was meaningless anyway).
      o  Updated all the code except netlink (I'll look at it tomorrow) to match
         the new semantics (please look at your code to ensure I did it right).
      
      Things to fix:
      
      o  Netlink.
      o  Make krt-iface interpret "eth0:1"-type aliases as secondary addresses.
      9a158361
  17. 27 Apr, 1999 1 commit
  18. 12 Apr, 1999 2 commits
  19. 03 Apr, 1999 1 commit
  20. 29 Mar, 1999 1 commit
  21. 26 Mar, 1999 1 commit
    • Martin Mareš's avatar
      Moved to a much more systematic way of configuring kernel protocols. · 7e5f5ffd
      Martin Mareš authored
        o  Nothing is configured automatically. You _need_ to specify
           the kernel syncer in config file in order to get it started.
        o  Syncing has been split to route syncer (protocol "Kernel") and
           interface syncer (protocol "Device"), device routes are generated
           by protocol "Direct" (now can exist in multiple instances, so that
           it will be possible to feed different device routes to different
           routing tables once multiple tables get supported).
      
      See doc/bird.conf.example for a living example of these shiny features.
      7e5f5ffd
  22. 03 Mar, 1999 1 commit
    • Martin Mareš's avatar
      Rewrote the kernel syncer. The old layering was horrible. · 2d140452
      Martin Mareš authored
      The new kernel syncer is cleanly split between generic UNIX module
      and OS dependent submodules:
      
        -  krt.c (the generic part)
        -  krt-iface (low-level functions for interface handling)
        -  krt-scan (low-level functions for routing table scanning)
        -  krt-set (low-level functions for setting of kernel routes)
      
      krt-set and krt-iface are common for all BSD-like Unices, krt-scan is heavily
      system dependent (most Unices require /dev/kmem parsing, Linux uses /proc),
      Netlink substitues all three modules.
      
      We expect each UNIX port supports kernel routing table scanning, kernel
      interface table scanning, kernel route manipulation and possibly also
      asynchronous event notifications (new route, interface state change;
      not implemented yet) and build the KRT protocol on the top of these
      primitive operations.
      2d140452
  23. 02 Mar, 1999 1 commit
  24. 01 Mar, 1999 3 commits
  25. 13 Feb, 1999 1 commit