QOS in IDRP

QOS from the IDRP design Document

QOS kernel hacks

The IDRP QOS kernel does not go through gated's route tables. The expected code from Cornell did not appear. The 3.5.11 base has been influx since May of 1995. An alternative "temporary" mechanism has become the deliverable mechanism due to these unforseen circumstances.

The IDRP kernel interface runs on a timer to poll the kernel changes. The qos_kernel timer is set by the idrp_master_task, and runs at interval specified in IDRP_QOS_KERNEL_POLL_TIME.

How QOS routes are Created

routes created from static

  1. routes created from statics that hit the ph3_status routines
  2. routes are created into for all qos ribs that are configured into the node
  3. routes are then passed via the active route to the next node

    routes are deleted from static

    1. routes are deleted from static qos_del_static
    2. queued onto the routes queue to delete in peer announcements
    3. routes are sent out

    IDRP routes received in as QOS routes

      routes are received by phase1

      	1) parse into pdus by the parsing routines
      	2) queued to the phase1 routines
      	3) installed as 
      
      	4) skipped in phase3_status_chg
      	5) handled in qos_chg_active - sends the changes to
      		the active route
      
      

      > internal routes are deleted by ph1_with_int_route

      	1) need to change active route
      	2) need to delete route, but not release it -> it is held by announce bit
      		-> need to make sure it is held by rtbit
      
      	3) if active, gated needs to reset the active flag
      	   if not-active, gated needs to check for damped route prior to getting rid of it
      	 
      
    1. internal routes are replaced by ph1_with_repl_int_route
      	1) idrp_rt_mod_gated is called with change to
      	   idrp route that will replace the gated route with
      	   what was there in the past
      

    External routes received in phase1 ph1_add_ext_route

    	1) external routes are