EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  <20232024  Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  <20232024 
<== Date ==> <== Thread ==>

Subject: Re: EPICS CA and EPICS PVA QoS
From: Michael Davidsaver via Core-talk <core-talk at aps.anl.gov>
To: "Williams Jr., Ernest L." <ernesto at slac.stanford.edu>
Cc: EPICS core-talk <core-talk at aps.anl.gov>
Date: Sun, 8 Jan 2023 20:38:45 -0800
On 1/8/23 13:28, Williams Jr., Ernest L. via Core-talk wrote:
Hi everyone and Happy New Year.

I am looking for the work Jeff Hill did for the SNS regarding CA QoS for SNS back in the day. 🙂


*Circuit priorities based on channel priority*

  * *Specify TCP quality of service (QOS) parameters *
      o *Map client side application specified channel priority ranges to IP TOS field *
          + *IP Precedence based (legacy routers)*
          + *DiffServ Code Point based (modern DSCP routers)*

Can someone comment on if this was incorporated and where do I find the documentation?

I don't think anything is done in the CA code which would influence the IP ToS field.

(I would be somewhat surprised if an unprivileged Linux process could set this field)

The CA protocol does have a notion of circuit "priority", but this only effects worker
thread OS priority.


By the way, does PVA have support for specifying QoS?

There is a priority field in PVA messages.  However, I don't believe it is used
by any implementation.  There is a long standing TODO item.

https://github.com/epics-base/pvAccessCPP/issues/101


Also, strictly speaking the ToS field is deprecated, and repurposed as the
Differentiated Services and Explicit Congestion Notification fields.

https://en.wikipedia.org/wiki/Type_of_service

I recall looking into this once a very long time ago, and recall having to mess with OS packet
mangling (ipchains at the time, now iptables or netfilter).  Also the 'tc' command, which I
remember only as being poorly documented magic...

https://man7.org/linux/man-pages/man8/tc.8.html


References:
EPICS CA and EPICS PVA QoS Williams Jr., Ernest L. via Core-talk

Navigate by Date:
Prev: EPICS CA and EPICS PVA QoS Williams Jr., Ernest L. via Core-talk
Next: Build failed: epics-base base-epicsThreadOnce-opt-919 AppVeyor via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  <20232024 
Navigate by Thread:
Prev: EPICS CA and EPICS PVA QoS Williams Jr., Ernest L. via Core-talk
Next: Build failed: epics-base base-epicsThreadOnce-opt-919 AppVeyor via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  <20232024 
ANJ, 10 Jan 2023 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·