Loading ...
Sorry, an error occurred while loading the content.


Expand Messages
  • Ron Stordahl
    Here is an explanation, by means of examples, as to how route qualities are computed and broadcast to associated nodes. At N5IN-14 I have the following
    Message 1 of 1 , May 26 12:37 PM
    • 0 Attachment
      Here is an explanation, by means of examples, as to how route qualities are computed and broadcast to associated nodes.

      At N5IN-14 I have the following settings in bpqcfg.txt compiled into bpqcfg.bin:


      These are in the section prior to the ports definitions and apply independent of the port number.

      Then within each PORT section I have:

      QUALITY=192   - in port 1 147.525 MHz
      QUALITY=192   - in port 2 AX/IP

      As a result for ports 1 and 2 nodes broadcasts received by those ports will result in the sending node being entered into N5IN-14 nodes table with a quality of 192, unless there exists a locked route for that sending node and port number.  If there exists a locked route for that node and port number, the locked route quality is used in preference to the default value of QUALITY=192.  A received nodes broadcasts may contain additional information about other nodes known to that sending node.  This information will also be added to the nodes table on N5IN-14 if and only if the quality from N5IN-14 to such associated nodes will compute to a value equal to or greater than MINQUAL, which I have set at 168.

      Some example calculations:

      N5IN-14 has these locked route statements:


      As a result the N5IN-14 node contains this information about N5IN-3:

      TRFDX1:N5IN-14} Routes to: TRFDX:N5IN-3 RTT=10 FR=9
      224 5 1 N5IN-3
      223 5 2 N5IN-3

      The next step is to see what node information N5IN-14 may have on a node which it does not hear directly, but may have obtained from nodes broadcasts sent by N5IN-3:

      Node N5IN-3 has a locked route for G0CGL-1 of 193 due to this statement in bpqcfg.txt of N5IN-3:


      and N5IN-3 is receiving nodes broadcasts from G0CGL-1.  Since 193 is greater than or equal to MINQUAL this information will be entered into the nodes table of N5IN-3.  Typing 'N WOOL' on N5IN-3 will return this:

      TRFDX:N5IN-3} Routes to: WOOL:G0CGL-1
        193 6 3 G0CGL-1

      When N5IN-3 makes a node broadcast information as above about G0CGL-1 will be included in that broadcast.

      N5IN-14 receives such node broadcasts from N5IN-3 and make the following calculations pertaining to G0CGL-1:

      For port 1: (193 X 224)/256 = 168.875.  This result is rounded up to 169
      For port 2: (193 X 223)/256 = 168.121.  This result is rounded down to 168.

      As a result, on N5IN-14 if I enter:  N WOOL I will get this:

      TRFDX1:N5IN-14} Routes to: WOOL:G0CGL-1 RTT=5 FR=1
        169 5 1 N5IN-3
        168 5 2 N5IN-3

      These of these routes have a composite quality equal to or greater than MINQUAL=168, and thus have been added to the nodes table on TRFDX1.

      If at N5IN-14 the locked route quality on port 2 to N5IN-3 had been 222 rather than 223, the computed quality for WOOL on port 2 would have been (193 X 222)/256 = 167.367, which would round to 167.  Since 167 is less than MINQUAL (168) the entry for port 2 would not have been made and an entry of N WOOL on N5IN-14 would instead show only:

      TRFDX1:N5IN-14} Routes to: WOOL:G0CGL-1 RTT=5 FR=1
        169 5 1 N5IN-3

      There are a number of unfortunate choices of words that have been made, prior to BPQ32, which appear to be set in concrete.  First the usage of 'Routes' and 'Nodes' have been reversed.  When one types 'Routes' you get a list of Nodes heard directly!  When you type 'Nodes' you get a list of routes!  Further when you type 'N' you get in part this text:  "Routes to".  It should really be 'Routes from".  The quality numbers shown are actually the quality computed 'from' that distant node.  Quality's do not have to be equal in each direction.  N5IN-3 may have a locked route 'from' N5IN-14 of 224, but N5IN-14 could have a locked route from N5IN-3 of perhaps 201 (or any number between 0 and 255).  It's confusing and will remain so.

      Every node transmits its full nodes table in every nodes broadcast.  As such there is merit in controlling the size of the nodes table, particularly when via RF.  One way to control the size of the table is raise the value of MINQUAL.  I am not aware of any way to send a shorter nodes table via one port (a radio port for example) than on another port(e.g. AX/IP).

      In some cases it may be wise to suppress nodes broadcasts entirely.  This can be done on a port by port basis by setting QUALITY=0 on such a port.  This suppresses nodes broadcasts on that port making the node invisible to surrounding nodes on that frequency, eliminating the most attractive feature of BPQ32 nodes, which is automatic routing of connections.  Since I use BPQ32 in conjunction with UI-View32 to send and receive UI (unnumbered information) frames, on one port (144.39 MHz) I do want to suppress nodes broadcasts from that specific port which would be of no value to other APRS stations.

      Some additional parameters involved in routing are OBSINIT, OBSMIN and NODESINTERVAL.  OBSINIT (i.e. initial obsolesence), which I typically set to 6, is the initial value set when a nodes is heard in a received nodes broadcast.  Thus in the examples above you will note the 6 in:

      TRFDX:N5IN-3} Routes to: WOOL:G0CGL-1
        193 6 3 G0CGL-1

      This is an indication that this information is fresh.  As soon as N5IN-3 does a nodes broadcast (which is every NODESINTERVAL) this number, 6,  is decremented by 1.  Thus the 5 as the obsolesence in this example:

      TRFDX1:N5IN-14} Routes to: WOOL:G0CGL-1
        169 5 1 N5IN-3
        168 5 2 N5IN-3

      Upon receiving a new nodes broadcast from N5IN-3 which includes information about WOOL, these will be replaced by OBSINIT, i.e. 6.

      If at any point this value falls below OBSMIN, which I typically set as 4, that nodes information will not be sent in a following nodes broadcast.  By this means 'dead' nodes will be cleared from the 'systems' memory over reasonable period of time.

      The above is just an outline of how quality and thus routing works, if you understand this you are well on your way to a Doctorate in  BPQ Node Theory.

      Ron Stordahl, N5IN

      PS:  I hope I have not made any mistakes!

    Your message has been successfully submitted and would be delivered to recipients shortly.