Provided by: plc-utils-extra_0.0.6+git20230504.1ba7d5a0-1_amd64 bug

NAME

       coqos_add - Add a managed data stream

SYNOPSIS

       coqos_add action priority rate ttl operand condition [condition] [...]  [device] [...]

DESCRIPTION

       This page is under construction.

       Add  a  managed  stream  to  one  or  more  powerline devices using the VS_CONN_ADD message.  Consult the
       Qualcomm Atheros Firmware Technical Reference Manual for a description of this  vendor  specific  message
       type.

       This program is part of the Qualcomm Atheros Powerline Toolkit.  See the plc man page for an overview and
       installation instructions.

BACKGROUND

       Bandwidth  management  prioritizes  streams  so  that  data  from lowest priority stream is dropped first
       whenever one of the following conditions is detected.  This ensures that the remaining  streams  continue
       operate at their full pontential.

       Degraded line condition
              The  channel  degrades  to  the  point  where  the  available PHY rate from the transmitter to the
              receiver is too low due to the variability of the power line.s characteristics.

       Over subscription
              Too much data is being sent per second, resulting in packet loss due to excessive  collisions  due
              to excessive channel oversubscription.

       Lack of channel Capacity
              On starting new source there is not enough channel capacity to support it.

OPTIONS

       -e     Redirects  stderr  messages  to  stdout.   By  convention progress messages and error messages are
              printed on stderr while primary program output is printed  on  stdout.   This  option  prints  all
              output on stdout in cases where this is desired.

       -i interface
              Select  the  host  Ethernet  interface.   All  requests  are sent via this host interface and only
              reponses received via this host interface are recognized.  The default interface is  eth1  because
              most  people  use eth0 as their principle network connection; however, if environment string "PLC"
              is defined then it takes precedence over the default interface.  This option then takes precedence
              over either default.

       -q     Suppresses status messages on stderr.

       -r     Display relative memory offsets on output.  This option is the default.

       -v     Prints additional information on stdout.  In  particular,  this  option  dumps  outgoing  Ethernet
              packets on stdout.

       -?,--help
              Displays  program help information on stderr.  This option takes precedence over all other options
              on the command line except version information.

       -!,--version
              Displays program version information on stderr.  This  option  takes  precedence  over  all  other
              options on the command line except help information.  Use this option when sending screen dumps to
              Atheros technical staff.

ARGUMENTS

       action The  action  taken  for  frames  that  satisfy  the selection criteria.  Valid actions are "CAP0",
              "CAP1", "CAP2", "CAP3" to specify the channel access priority queue.  CAP0 and CAP1 are  for  best
              effort  data.   CAP2 is for video and non urgent MMEs.  CAP3 is for voice, urgent MMEs and control
              messages such as IGMP and MLD.

       priority
              The relative priority of this stream.  Valid values are  0  through  15  where  0  is  the  lowest
              priority and 15 is the highest.

       destination
              The destination MAC address.

       rate   The  average  expected  data  rate for this stream.  Valid values are 1 to 9000 where units are in
              10kbps so the minimum rate is 10kbps and the maximum rate is 90mbps.

       ttl    The time to live for this  stream.   Valid  values  are  10000  to  2000000  where  units  are  in
              microseconds so the minimum is time is 10 milliseconds and the maximum time is 2 seconds.

       operand
              The  operand  specifies the logical relationship between conditions before the action to be taken.
              Valid operands are listed and described under OPERANDS.

       condition
              A conditional expression consisting of a field, operator  and  value.   See  CONDITIONS  for  more
              information.

       device The  MAC  address of some powerline device.  More than one address may be specified on the command
              line.  If more than one address is specified then operations are performed on each device in turn.
              The default address is "local".  See DEVICES for more information.

CONDITIONS

       A condition consists of a field, an operator and a value.   One  condition  is  required  but  three  are
       permitted.   Condition order is not important but all conditions must appear after the operand and before
       the control.

       field  The field is the part of the Ethernet frame to be examined.  Some fields are not  valid  for  some
              actions  but  this  program  does  not enforce such rules since validation is performed by runtime
              firmware on each device.  Recognized fields are listed and described under FIELDS.

       operator
              The operator specifies the relationsip that must exist between the field and value  in  order  for
              the  condition  to  evaluate  True.   Currently,  only  equality  operators  are supported.  Valid
              operators are listed and described under OPERATORS.

       value  The value must be appropriate to the field type.  Some fields are MAC or IP  addresses,  some  are
              integers,  some  are  bitmaps  and  others  are  states.  Integers and bitmaps may be expressed in
              binary, decimal or hexadecimal format.  Binary values staRt with  0b.   Hexadecimal  values  start
              with  0x.   States  are expressed using keywords.  Users are responsible for knowing how many bits
              are significant for each type of value.  Valid  values  are  described  along  with  fields  under
              FIELDS.

OPERANDS

       The  operand indicates the logical relationship that must exist between conditions in the rule set before
       the action is applied to a frame.  Operands are expressed as discrete  alphanumeric  strings  entered  in
       upper,  lower  or mixed character case.  Failure to enter a known operand will result in an error message
       that lists all possible operands.  They are positon sensitive.  One operand is allowed and it must appear
       after the action and before any condition.

       Any    Apply the action to frames that satisfy any of the conditions.  This is equivalent to the  logical
              or operation.

       All    Apply  the action to frames that satisfy all of the conditions.  This is equivalent to the logical
              and operation.

       Always Apply the action to all frames, regardless of any and all conditions that may be specified.

FIELDS

       Fields indicate the portion of the frame that is inspected during selection and the size  and  format  of
       the  value  permited  in  the  condition  statement.  They are expressed as discrete alphanumeric strings
       entered in upper, lower or mixed character case.  Failure to enter a known field will result in an  error
       message that lists all possible fields.

       ET     A  16-bit  Ethertype expressed in decimal, hexadecimal or binary.  The format is described in IEEE
              Standard 802-2001 [4].

       EthDA  A 48-bit Ethernet destination address expressed in hexadecimal.  The format is described  in  IEEE
              Standard 802-2001 [4].

       EthSA  A  48-bit  Ethernet  source  address  expressed  in  hexadecimal.  The format is described in IEEE
              Standard 802-2001 [4].

       VLANUP An 8-bit Ethernet VLAN tag where the lower 3 bits are the User Priority sub-field of  a  VLAN  Tag
              defined  in  IEEE  Std  802.1Q-1998  (Virtual Bridged Local Area Networks) [11].  The upper 5 bits
              should be zero.

       VLANID A 16-bit VLAN identifier where the lower 12 bits are the VLAN Identifier (VID) defined in IEEE Std
              802.1Q-1998 (Virtual Bridged Local Area Networks) [11].  The upper 4 bits should be zero.

       IPV4TOS
              An 8-bit Type-of-Service code where the format is defined in the RFC 791 (Internet Protocol) [14].

       IPV4PROT
              An 8-bit Ethernet Protocol identifier.  The format is defined in the RFC 791  (Internet  Protocol)
              [14].

       IPV4SA A  32-bit  Internet  Protocol  source  address expressed in dotted-decimal notation.  The official
              format is defined in RFC 791 (Internet Protocol) [14].  Our implementation  permits  empty  octets
              and  leading zeros within fields.  For example, "..." is equivalent to "0.0.0.0 and "127..000.001"
              is equivalent to "127.0.0.1".

       IPV4DA A 32-bit Internet Protocol destination address expressed in dotted-decimal notation. The  official
              format is defined in RFC 791 (internet Protocol) [14]. Our implementation permits empty octets and
              leading  zeros  within  fields. For example, "..." is equivalent to "0.0.0.0 and "127..000.001" is
              equivalent to "127.0.0.1".

       IPV6TC An 8-bit Internet Protocol V6 traffic class expressed as defined in RFC  2460  (Internet  Protocol
              Version 6) [17].

       IPV6FL A  24-bit  IPV6  flow  label  where  the lower 20 bits are the IPv6 Flow Label defined in RFC 2460
              (Internat Protocol Version 6) [17].  The upper 4 bits should be zero.  The value  can  be  entered
              either as a decimal, binary or hex integer.

       IPV6SA A  128-bit  IPV6  source  address expressed as colon-separated hexadecmial quartets (octet pairs).
              The official format is defined in RFC 2460 (Internet Protocol Version 6) [17].  Our implementation
              permits multiple empty fields, abreviated fields and leading zeros within fields.   When  multiple
              empty   fields   appear,   only   the   right-most  occurance  expands  to  zeros.   For  example,
              "FFFF::DDDD::BBBB::AAAA" is equivalent to "FFFF:0000:DDDD:0000:BBBB:0000:0000:AAAA".

       IPV6DA A 128-bit IPV6 destination  address  expressed  as  colon-separated  hexadecimal  quartets  (octet
              pairs).   The  official  format  is  defined  in RFC 2460 (Internet Protocol Version 6) [17].  Our
              implementation permits multiple empty fields, abbreviated fields and leading zeros within  fields.
              When  multiple  empty fields appear, only the right-most occurance expands to zeros.  For example,
              "AAAA::BBBB::CCCC::DDDD" is equivalent to "AAAA:0000:BBBB:0000:CCCC:0000:0000:DDDD".

       TCPSP  A 16-bit TCP source port as a decimal integer.  The format is defined  in  RFC  793  (Transmission
              Control Protocol [15]).

       TCPDP  A  16-bit  TCP  destination port expressed as a decimal integer.  The format is defined in RFC 793
              (Transmission Control Protocol [15]).

       UDPSP  A 16-bit UDP source port expressed as a decimal integer.  The format is defined in RFC  768  (User
              Datagram Protocol [13]).

       UDPDP  A  16-bit  UDP  destination port expressed as a decimal integer.  The format is defined in RFC 768
              (User Datagram Protocol [13]).

       IPSP   A 16-bit IP source port expressed as a decimal integer.  This condition applies to either  TCP  or
              UDP packets, depending on the protocol used, and is valid only for actions "CAP0", "CAP1", "CAP2",
              "CAP3" and "Drop".

       IPDP   A 16-bit IP destination port expressed as a decimal integer.  This condition applies to either TCP
              or  UDP  packets,  depending  on  the protocol used, and is valid only for actions "CAP0", "CAP1",
              "CAP2", "CAP3" and "Drop".

       MME    A 24-bit Atheros HomePlugAV Management Message type expressed in hexadecimal.  The first  byte  is
              the  MMV  and the next two bytes are the MMTYPE for a HomePlug AV frame as defined in the HomePlug
              AV Specification.  The MMTYPE will match any MME sub-type (Request; Confirm; Indicate;  Response).
              This field is only valid for action "Boost".

OPERATORS

       An  operator  indicates  an  equality between a field and a value.  An operator is an alphanumeric string
       entered in upper, lower or mixed character case.  Failure to enter a known operator  will  result  in  an
       error  message  that  lists  all  possible  operators.   Operators are position sensitive and must appear
       between each field and value.

       Is     Indicates that the frame field must equal the associated value for the condition to evaluate true.

       Not    Indicates that the frame field must not equal the associated value for the condition to true true.

STATES

       A state is a special case of value.

       True,On,Yes,Present
              Indicates a positive state or presence of some  entity.   All  are  equivalent  and  can  be  used
              interchangeably.  Double negatives are permitted so "Is True" is equvalent to "Not False".

       False,Off,No,Missing
              Indicates  a  negative  state  or  absence  of  some  entity.   ALl are equivalent and can be used
              interchangeably.  Double negatives are permitted so "Is False" is equvalent to "Not True".

DEVICES

       Powerline devices use Ethernet Media Access Control (MAC) addresses.  A MAC address  is  a  48-bit  value
       entered  as  12 hexadecimal digits in upper, lower or mixed character case.  Octets may be separated with
       colons for clarity.  For example, "00b052000001", "00:b0:52:00:00:01" and "00b052:000001" are  valid  and
       equivalent.

       The following MAC addresses are common or special and may be entered by name instead of number.

       all    Same as "broadcast".

       broadcast
              A  synonym  for  the  Ethernet  broadcast address, FF:FF:FF:FF:FF:FF.  All devices, whether local,
              remote or foreign recognize messages sent to this address.  A remote device is any device  at  the
              far end of a powerline connection.  A foreign device is any device not manufactured by Atheros.

       local  A   synonym   for   the   Qualcomm   Atheros  vendor  specific  Local  Management  Address  (LMA),
              00:B0:52:00:00:01.  All local Atheros devices  recognize  this  address  but  remote  and  foreign
              devices  do  not.   A  remote  device  is  any device at the far end of a powerline connection.  A
              foreign device is any device not manufactured by Atheros.

REFERENCES

       See the Qualcomm Atheros HomePlug AV Firmware Technical Reference Manual for more information.

DISCLAIMER

       Atheros HomePlug AV Vendor Specific Management Message structure and content is proprietary  to  Qualcomm
       Atheros, Ocala FL USA.  Consequently, public information may not be available.  Qualcomm Atheros reserves
       the  right  to modify message structure and content in future firmware releases without any obligation to
       notify or compensate users of this program.

EXAMPLES

       The following example adds a temporary stream to device 00:b0:52:BA:BE:01  which  will  then  manage  the
       bandwidth for that stream until removed with program coqos_rel.

            # coqos_add CAP2 15 5000 200000 any ethda is 192.168.105 00:B0:52:BA:BE:01

       This adds a stream to the bandwidth manager that sets all traffic to destination address of 192.168.0.105
       as  priority  15  (the  highest  priority).   This  would then need to also be sent to each device on the
       network.  Refer to int6krule for more details on how to specify conditions.

SEE ALSO

       coqos_info(1), coqos_man(1), coqos_mod(1), coqos_rel(1)

CREDITS

        Bill Wike
        Nathaniel Houghton
        Charles Maier

open-plc-utils-0.0.3                              November 2013                                     coqos_add(1)