1. 30 Apr, 2012 1 commit
    • Ondřej Zajíček's avatar
      Cleanup in sysdep KRT code, part 1. · 396dfa90
      Ondřej Zajíček authored
      OS-dependent functions renamed to be more consistent,
      prepared to merge krt-set and krt-scan headers.
      
      Name changes:
      
      struct krt_if_params -> struct kif_params
      struct krt_if_status -> struct kif_status
      struct krt_set/scan_params -> struct krt_params
      struct krt_set/scan_status -> struct krt_status
      
      krt_if_params_same -> kif_sys_reconfigure
      krt_if_copy_params -> kif_sys_copy_config
      krt_set/scan_params_same -> krt_sys_reconfigure
      krt_set/scan_copy_params -> krt_sys_copy_config
      
      krt_if_scan -> kif_do_scan
      krt_set_notify -> krt_do_notify
      krt_scan_fire -> krt_do_scan
      
      krt_if_ -> kif_sys_
      krt_scan_ -> krt_sys_
      krt_set_ -> krt_sys_
      396dfa90
  2. 28 Mar, 2011 1 commit
    • Ondřej Zajíček's avatar
      Minor changes in addresses. · 52a43ae3
      Ondřej Zajíček authored
      Mainly changes IA_UNNUMBERED to IA_PEER and adds IA_HOST. Also do not
      show broadcast addr in show interfaces. Nobody cares for that.
      52a43ae3
  3. 11 Nov, 2010 1 commit
  4. 28 Apr, 2010 1 commit
  5. 21 Nov, 2008 1 commit
  6. 25 Aug, 2008 1 commit
  7. 31 May, 2004 1 commit
  8. 01 Jun, 2000 1 commit
  9. 01 Apr, 2000 1 commit
  10. 12 Mar, 2000 1 commit
  11. 01 Mar, 2000 1 commit
  12. 16 Dec, 1999 3 commits
  13. 03 Aug, 1999 2 commits
  14. 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
  15. 12 Apr, 1999 1 commit
  16. 07 Apr, 1999 1 commit
  17. 02 Apr, 1999 1 commit
  18. 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
  19. 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
  20. 02 Mar, 1999 2 commits
    • Martin Mareš's avatar
      o The if_change_too_big_p change was too high-spirited. Fixed. · e35ef181
      Martin Mareš authored
      o  Introduced if_find_by_index()
      o  Recognizing two types of interface updates: full update (starting with
         if_start_update(), ending with if_end_update(), guaranteed to see
         all existing interfaces) and a partial update (only if_update(),
         usually due to asynchronous interface notifications).
      e35ef181
    • Martin Mareš's avatar
      Interface logic changes: · bcbd8cc3
      Martin Mareš authored
      o  Introduced IF_LINK_UP flag corresponding to real link state.
      o  Allowed addressless interfaces.
      o  IF_UP is now automatically calculated and set iff the interface
         is administratively up, has link up and has an IP address assigned.
         It may be IF_IGNORED, though (as in case of the loopback).
      o  Any changes which include up/down transition are considered small
         enough to not provoke artificial upping and downing of the interface.
      o  When an interface disappears (i.e., it wasn't seen in the last scan),
         we announce this change only once.
      o  IF_LOOPBACK implies IF_IGNORE.
      bcbd8cc3
  21. 13 Feb, 1999 1 commit
  22. 05 Feb, 1999 1 commit
  23. 08 Dec, 1998 1 commit
    • Martin Mareš's avatar
      Hopefully finished kernel syncer (krt) rewrite: · 8e66a0eb
      Martin Mareš authored
        o  Interface syncing is now a part of krt and it can have configurable
           parameters. Actually, the only one is scan rate now :)
        o  Kernel routing table syncing is now synchronized with interface
           syncing (we need the most recent version of the interface list
           to prevent lots of routes to non-existent destinations from
           appearing). Instead of its own timer, we just check if it's
           route scan time after each iface list scan.
        o  Syncing of device routes implemented.
        o  CONFIG_AUTO_ROUTES should control syncing of automatic device routes.
        o  Rewrote krt_remove_route() to really remove routes :)
        o  Better diagnostics.
        o  Fixed a couple of bugs.
      8e66a0eb
  24. 19 Oct, 1998 1 commit
  25. 18 Oct, 1998 1 commit
  26. 13 Oct, 1998 2 commits
  27. 01 Jun, 1998 1 commit
  28. 26 May, 1998 1 commit