Skip to content
  • Leigh B. Stoller's avatar
    Add code to the parser to populate a new virt_agents table, which · 2917542a
    Leigh B. Stoller authored
    provides a mapping from an object ($cbr0) to the node on which the
    agent is running ($nodeA). It also includes the type of agent
    (TRAFGEN, LINK, etc). There were a number of reasons for adding this
    table:
    
    * To avoid a series of specialized table lookups in the event
      scheduler to map from a name (link0) to the node on which the agent
      is running. Previously, it was looking the delays table and the
      virt_trafgens table. Well, now it just needs to look at this one
      table and store the mapping internally. When a dynamic event comes
      in, we can figure out where to send it easily.
    
    * For NSE traffic generation. Unlike the simple TG based CBRs, Shashi
      wants to be able to send events to any of the objects in the config
      (udp0, telnet0, ftp0, etc). Well, the virt_trafgens table certainly
      does not store that info, and it would have been painful to work
      this into it. For every agent/application, just add an entry in the
      virt_agents table and the scheduler knows where to send the events.
    
    * It nicely supports the new program object; just plug an entry in the
      virt_agents table.
    
    Okay, there is one messy aspect; delays nodes! Delay nodes are not
    computed until after assign wrapper runs, so in addition to munging
    the static event list in assign_wrapper, we now munge the virt_agents
    table as well. Not much to do about this; delay nodes are handled
    outside the normal path everywhere.
    2917542a