<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Cambria;
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:"Lucida Console";
        panose-1:2 11 6 9 4 5 4 2 2 4;}
@font-face
        {font-family:"Letter Gothic";}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
h1
        {mso-style-priority:9;
        mso-style-link:"Heading 1 Char";
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.3in;
        margin-bottom:.0001pt;
        text-indent:-.3in;
        page-break-before:always;
        page-break-after:avoid;
        mso-list:l0 level1 lfo2;
        font-size:14.0pt;
        font-family:"Times New Roman",serif;
        text-transform:uppercase;
        font-weight:bold;}
h2
        {mso-style-priority:9;
        mso-style-link:"Heading 2 Char";
        margin-top:12.0pt;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.4in;
        margin-bottom:.0001pt;
        text-indent:-.4in;
        page-break-after:avoid;
        mso-list:l0 level2 lfo2;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;
        text-transform:uppercase;
        font-weight:bold;}
h3
        {mso-style-priority:9;
        mso-style-link:"Heading 3 Char";
        margin-top:12.0pt;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        text-indent:-.5in;
        page-break-after:avoid;
        mso-list:l0 level3 lfo2;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;
        text-transform:uppercase;
        font-weight:bold;}
h4
        {mso-style-priority:9;
        mso-style-link:"Heading 4 Char";
        margin-top:12.0pt;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:45.0pt;
        margin-bottom:.0001pt;
        text-indent:-45.0pt;
        page-break-after:avoid;
        mso-list:l0 level4 lfo2;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;
        font-weight:bold;}
h5
        {mso-style-priority:9;
        mso-style-link:"Heading 5 Char";
        margin-top:12.0pt;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.75in;
        margin-bottom:.0001pt;
        text-indent:-.75in;
        page-break-after:avoid;
        mso-list:l0 level5 lfo2;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;
        font-weight:bold;}
h6
        {mso-style-priority:9;
        mso-style-link:"Heading 6 Char";
        margin-top:12.0pt;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:63.0pt;
        margin-bottom:.0001pt;
        text-indent:-63.0pt;
        page-break-after:avoid;
        mso-list:l0 level6 lfo2;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;
        font-weight:bold;}
p.MsoHeading7, li.MsoHeading7, div.MsoHeading7
        {mso-style-priority:9;
        mso-style-link:"Heading 7 Char";
        margin-top:12.0pt;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:1.0in;
        margin-bottom:.0001pt;
        text-indent:-1.0in;
        page-break-after:avoid;
        mso-list:l0 level7 lfo2;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;
        font-weight:bold;}
p.MsoHeading9, li.MsoHeading9, div.MsoHeading9
        {mso-style-name:"Heading 9\,Index Heading 1\,heading 9";
        mso-style-priority:9;
        mso-style-link:"Heading 9 Char\,Index Heading 1 Char1\,heading 9 Char1";
        margin:0in;
        margin-bottom:.0001pt;
        text-align:center;
        text-indent:0in;
        page-break-before:always;
        page-break-after:avoid;
        mso-list:l0 level9 lfo2;
        font-size:14.0pt;
        font-family:"Times New Roman",serif;
        font-weight:bold;}
p.MsoCommentText, li.MsoCommentText, div.MsoCommentText
        {mso-style-priority:99;
        mso-style-link:"Comment Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {mso-style-priority:99;
        mso-style-link:"Plain Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Lucida Console";}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma",sans-serif;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.Heading1Char
        {mso-style-name:"Heading 1 Char";
        mso-style-priority:9;
        mso-style-link:"Heading 1";
        font-family:"Times New Roman",serif;
        text-transform:uppercase;
        font-weight:bold;}
span.Heading2Char
        {mso-style-name:"Heading 2 Char";
        mso-style-priority:9;
        mso-style-link:"Heading 2";
        font-family:"Times New Roman",serif;
        text-transform:uppercase;
        font-weight:bold;}
span.Heading3Char
        {mso-style-name:"Heading 3 Char";
        mso-style-priority:9;
        mso-style-link:"Heading 3";
        font-family:"Times New Roman",serif;
        text-transform:uppercase;
        font-weight:bold;}
span.Heading4Char
        {mso-style-name:"Heading 4 Char";
        mso-style-priority:9;
        mso-style-link:"Heading 4";
        font-family:"Times New Roman",serif;
        font-weight:bold;}
span.Heading5Char
        {mso-style-name:"Heading 5 Char";
        mso-style-priority:9;
        mso-style-link:"Heading 5";
        font-family:"Times New Roman",serif;
        font-weight:bold;}
span.Heading6Char
        {mso-style-name:"Heading 6 Char";
        mso-style-priority:9;
        mso-style-link:"Heading 6";
        font-family:"Times New Roman",serif;
        font-weight:bold;}
span.Heading7Char
        {mso-style-name:"Heading 7 Char";
        mso-style-priority:9;
        mso-style-link:"Heading 7";
        font-family:"Times New Roman",serif;
        font-weight:bold;}
span.Heading9Char
        {mso-style-name:"Heading 9 Char\,Index Heading 1 Char1\,heading 9 Char1";
        mso-style-link:"Heading 9\,Index Heading 1\,heading 9";
        font-family:"Times New Roman",serif;
        font-weight:bold;}
span.Heading9Char1
        {mso-style-name:"Heading 9 Char1\,Index Heading 1 Char\,heading 9 Char";
        mso-style-priority:9;
        font-family:"Cambria",serif;
        color:#404040;
        font-style:italic;}
span.CommentTextChar
        {mso-style-name:"Comment Text Char";
        mso-style-priority:99;
        mso-style-link:"Comment Text";}
span.PlainTextChar
        {mso-style-name:"Plain Text Char";
        mso-style-priority:99;
        mso-style-link:"Plain Text";
        font-family:"Lucida Console";}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma",sans-serif;}
p.gfidiscscisyscouk, li.gfidiscscisyscouk, div.gfidiscscisyscouk
        {mso-style-name:"gfidisc\.scisys\.co\.uk";
        mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
span.EmailStyle35
        {mso-style-type:personal;}
span.EmailStyle36
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
span.EmailStyle37
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
span.EmailStyle38
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.EmailStyle39
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
span.EmailStyle40
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:325671702;
        mso-list-template-ids:661829422;
        mso-list-name:HeadingNumbers;}
@list l0:level1
        {mso-level-style-link:"Heading 1";
        mso-level-text:%1;
        mso-level-tab-stop:.3in;
        mso-level-number-position:left;
        margin-left:0in;
        text-indent:0in;
        mso-ansi-font-size:14.0pt;
        mso-ascii-font-family:"Times New Roman";
        mso-hansi-font-family:"Times New Roman";
        mso-ansi-font-weight:bold;
        mso-ansi-font-style:normal;}
@list l0:level2
        {mso-level-style-link:"Heading 2";
        mso-level-text:"%1\.%2";
        mso-level-tab-stop:.4in;
        mso-level-number-position:left;
        margin-left:0in;
        text-indent:0in;
        mso-ansi-font-size:12.0pt;
        mso-ascii-font-family:"Times New Roman";
        mso-hansi-font-family:"Times New Roman";
        mso-ansi-font-weight:bold;
        mso-ansi-font-style:normal;}
@list l0:level3
        {mso-level-style-link:"Heading 3";
        mso-level-text:"%1\.%2\.%3";
        mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        margin-left:0in;
        text-indent:0in;
        mso-ansi-font-size:12.0pt;
        mso-ascii-font-family:"Times New Roman";
        mso-hansi-font-family:"Times New Roman";
        mso-ansi-font-weight:bold;
        mso-ansi-font-style:normal;}
@list l0:level4
        {mso-level-style-link:"Heading 4";
        mso-level-text:"%1\.%2\.%3\.%4";
        mso-level-tab-stop:45.35pt;
        mso-level-number-position:left;
        margin-left:0in;
        text-indent:0in;
        mso-ansi-font-size:12.0pt;
        mso-ascii-font-family:"Times New Roman";
        mso-hansi-font-family:"Times New Roman";
        mso-ansi-font-weight:bold;
        mso-ansi-font-style:normal;}
@list l0:level5
        {mso-level-style-link:"Heading 5";
        mso-level-text:"%1\.%2\.%3\.%4\.%5";
        mso-level-tab-stop:.75in;
        mso-level-number-position:left;
        margin-left:0in;
        text-indent:0in;
        mso-ansi-font-size:12.0pt;
        mso-ascii-font-family:"Times New Roman";
        mso-hansi-font-family:"Times New Roman";
        mso-ansi-font-weight:bold;
        mso-ansi-font-style:normal;}
@list l0:level6
        {mso-level-style-link:"Heading 6";
        mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6";
        mso-level-tab-stop:63.35pt;
        mso-level-number-position:left;
        margin-left:0in;
        text-indent:0in;
        mso-ansi-font-size:12.0pt;
        mso-ascii-font-family:"Times New Roman";
        mso-hansi-font-family:"Times New Roman";
        mso-ansi-font-weight:bold;
        mso-ansi-font-style:normal;}
@list l0:level7
        {mso-level-style-link:"Heading 7";
        mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7";
        mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        margin-left:0in;
        text-indent:0in;
        mso-ansi-font-size:12.0pt;
        mso-ascii-font-family:"Times New Roman";
        mso-hansi-font-family:"Times New Roman";
        mso-ansi-font-weight:bold;
        mso-ansi-font-style:normal;}
@list l0:level8
        {mso-level-number-format:alpha-upper;
        mso-level-suffix:none;
        mso-level-text:"ANNEX %8";
        mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        margin-left:0in;
        text-indent:0in;
        mso-ansi-font-size:14.0pt;
        mso-ascii-font-family:"Times New Roman";
        mso-hansi-font-family:"Times New Roman";
        mso-ansi-font-weight:bold;
        mso-ansi-font-style:normal;}
@list l0:level9
        {mso-level-start-at:9;
        mso-level-number-format:alpha-upper;
        mso-level-style-link:"Heading 9";
        mso-level-suffix:none;
        mso-level-text:%9NDEX;
        mso-level-tab-stop:1.1in;
        mso-level-number-position:center;
        margin-left:0in;
        text-indent:0in;
        mso-ansi-font-size:14.0pt;
        mso-ascii-font-family:"Times New Roman";
        mso-hansi-font-family:"Times New Roman";
        mso-ansi-font-weight:bold;
        mso-ansi-font-style:normal;}
@list l1
        {mso-list-id:1386222258;
        mso-list-type:hybrid;
        mso-list-template-ids:-1008956974 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l1:level1
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l1:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l1:level3
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l1:level4
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l1:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l1:level6
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l1:level7
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l1:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l1:level9
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l2
        {mso-list-id:1526793408;
        mso-list-type:hybrid;
        mso-list-template-ids:-316639376 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l2:level1
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l2:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l2:level3
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l2:level4
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l2:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l2:level6
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l2:level7
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l2:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l2:level9
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l3
        {mso-list-id:1702047147;
        mso-list-type:hybrid;
        mso-list-template-ids:1503024450 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l3:level1
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l3:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l3:level3
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l3:level4
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l3:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l3:level6
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l3:level7
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l3:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l3:level9
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="color:#1F497D">[Hi, all.  It occurs to me that this technical conversation needs to be opened up to the working group.  If it’s a question we can resolve prior to the meetings in London, excellent; otherwise I think it needs
 to be the first order of business when we meet on Monday morning.  For those who are seeing this thread for the first time, please scroll to the bottom to understand the context.]<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">A further thought on this: while I still think it would be cleaner to add a Flags octet at the start of the file data segment PDU, that would break backward compatibility with version 0 of CFDP: it would no longer
 be possible for a CFDP entity to emit compliant version-1 data that a version-1-unaware CFDP entity could consume.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">A possibly less disruptive implementation:<o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l3 level1 lfo5"><![if !supportLists]><span style="font-family:Symbol;color:#1F497D"><span style="mso-list:Ignore">·<span style="font:7.0pt "Times New Roman"">        
</span></span></span><![endif]><span style="color:#1F497D">The 25<sup>th</sup> bit of the PDU header reverts to being reserved.<o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l3 level1 lfo5"><![if !supportLists]><span style="font-family:Symbol;color:#1F497D"><span style="mso-list:Ignore">·<span style="font:7.0pt "Times New Roman"">        
</span></span></span><![endif]><span style="color:#1F497D">The 29<sup>th</sup> bit of the PDU header is used to indicate “PDU control flag” (instead of “Segment Metadata flag”), a Boolean that is always ‘0’ and ignored for File Directive PDUs.<o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l3 level1 lfo5"><![if !supportLists]><span style="font-family:Symbol;color:#1F497D"><span style="mso-list:Ignore">·<span style="font:7.0pt "Times New Roman"">        
</span></span></span><![endif]><span style="color:#1F497D">When the PDU Control flag is set to 1 in a file data segment PDU’s header, the first octet of the PDU’s contents is a Control Field comprising:<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:1.0in;text-indent:-.25in;mso-list:l3 level2 lfo5">
<![if !supportLists]><span style="font-family:"Courier New";color:#1F497D"><span style="mso-list:Ignore">o<span style="font:7.0pt "Times New Roman"">  
</span></span></span><![endif]><span style="color:#1F497D">Checksum type (1 bit): 0 = modular checksum, 1 = CRC32.<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:1.0in;text-indent:-.25in;mso-list:l3 level2 lfo5">
<![if !supportLists]><span style="font-family:"Courier New";color:#1F497D"><span style="mso-list:Ignore">o<span style="font:7.0pt "Times New Roman"">  
</span></span></span><![endif]><span style="color:#1F497D">Record continuation state (2 bits) as currently defined except that no segmentation control flag is needed.  If the record continuation state is ‘00’ then its interpretation depends on the record continuation
 state of the file data segment with highest offset, preceding the offset of this segment, whose record continuation state is non-zero.  If such a segment exists and its record continuation state is ‘01’ then this segment is the continuation of a record begun
 with that segment; otherwise, this segment is not part of any record.<o:p></o:p></span></p>
<p class="MsoListParagraph" style="margin-left:1.0in;text-indent:-.25in;mso-list:l3 level2 lfo5">
<![if !supportLists]><span style="font-family:"Courier New";color:#1F497D"><span style="mso-list:Ignore">o<span style="font:7.0pt "Times New Roman"">  
</span></span></span><![endif]><span style="color:#1F497D">Segment metadata length (5 bits).  The segment can contain a maximum of 31 octets of segment metadata (rather than 63 bytes).<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">This design would enable a CFDP entity to emit compliant version-1 data that a version-1-unaware CFDP entity could consume:<o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l1 level1 lfo6"><![if !supportLists]><span style="font-family:Symbol;color:#1F497D"><span style="mso-list:Ignore">·<span style="font:7.0pt "Times New Roman"">        
</span></span></span><![endif]><span style="color:#1F497D">The PDU Control flag in each PDU header would be set to zero, so file data segment Control Fields would be omitted and the format of the file data segments would be version-0-compliant.<o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l1 level1 lfo6"><![if !supportLists]><span style="font-family:Symbol;color:#1F497D"><span style="mso-list:Ignore">·<span style="font:7.0pt "Times New Roman"">        
</span></span></span><![endif]><span style="color:#1F497D">The Large File bit in each PDU header would be set to zero, so all size and offset fields would be 32 bits in length, which is version-0-compliant.<o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l1 level1 lfo6"><![if !supportLists]><span style="font-family:Symbol;color:#1F497D"><span style="mso-list:Ignore">·<span style="font:7.0pt "Times New Roman"">        
</span></span></span><![endif]><span style="color:#1F497D">The first bit of the Metadata PDU contents would be zero, which would indicate “Record boundaries respected”, but this would be harmless at the receiving entity; I think nothing in the CFDP spec requires
 that the receiving entity act on the value in this field in any way.<o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l1 level1 lfo6"><![if !supportLists]><span style="font-family:Symbol;color:#1F497D"><span style="mso-list:Ignore">·<span style="font:7.0pt "Times New Roman"">        
</span></span></span><![endif]><span style="color:#1F497D">The Closure Requested bit in the Metadata PDU contents would be zero – no problem as this bit is Reserved in version 0, so the receiving entity would not see or process it.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Of course it could be argued that the installed base for CFDP is still so small that we shouldn’t worry about this, in which case we can be a little more free in fiddling with these formats.  I’m open to that
 if everyone is comfortable with it.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">What do you think?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Scott<o:p></o:p></span></p>
<p class="MsoNormal"><a name="_MailEndCompose"><span style="color:#1F497D"><o:p> </o:p></span></a></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> Burleigh, Scott C (312G) <br>
<b>Sent:</b> Friday, October 10, 2014 9:49 AM<br>
<b>To:</b> 'Stuart Fowell'; 'Matt Jordan'; 'Chris Taylor'; 'Mr. Dai Stanton'; 'Dai Stanton'; 'Keith L. Scott'<br>
<b>Subject:</b> RE: [EDS Std Prep] notes on the blue book draft.<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">Guys, I have been looking more closely at this and have got a suggestion that I think will work better.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">The problem with simply relocating the checksum type from the EOF PDU to the Metadata PDU is that the Metadata PDU might in some cases arrive after the first file data PDU, due to loss/retransmission or to some
 sort of routing weirdness.  The correct checksum type really needs to be known whenever a file data PDU arrives; otherwise we could easily start computing the checksum using the wrong checksum type and never match up with the checksum in the EOF.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">So I went looking for a spare bit in the CFDP PDU header and found none; we are now using all of them.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">What I did notice, though, is that two of the PDU header bits are being used for data values that pertain only to file data segments, never to file directive PDUs: segmentation control and segment metadata flag.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">I now think we should bite the bullet and just add a Flags octet at the start of the file data segment PDU.  This will enable us to release two bits back to the universal PDU header, for future use, and it will
 give us a place to note all of the file-data-segment-specific information:<o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l2 level1 lfo4"><![if !supportLists]><span style="font-family:Symbol;color:#1F497D"><span style="mso-list:Ignore">·<span style="font:7.0pt "Times New Roman"">        
</span></span></span><![endif]><span style="color:#1F497D">Segmentation control<o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l2 level1 lfo4"><![if !supportLists]><span style="font-family:Symbol;color:#1F497D"><span style="mso-list:Ignore">·<span style="font:7.0pt "Times New Roman"">        
</span></span></span><![endif]><span style="color:#1F497D">Segment metadata<o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l2 level1 lfo4"><![if !supportLists]><span style="font-family:Symbol;color:#1F497D"><span style="mso-list:Ignore">·<span style="font:7.0pt "Times New Roman"">        
</span></span></span><![endif]><span style="color:#1F497D">Checksum type<o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l2 level1 lfo4"><![if !supportLists]><span style="font-family:Symbol;color:#1F497D"><span style="mso-list:Ignore">·<span style="font:7.0pt "Times New Roman"">        
</span></span></span><![endif]><span style="color:#1F497D">5 spare bits for future use<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">This does, of course, add a byte of overhead to every file data segment.  When the segments are of maximum size this will increase transmission overhead by .0015%, which is pretty small but not zero.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">The trade-off here, I think, is between adding a small amount of transmission overhead versus adding some complexity and additional processing time by requiring that the checksum be calculated or recalculated
 at the conclusion of file data segment reception in some cases.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">If we weren’t introducing multiple checksum types I think we could have gotten away with just using those spare PDU header bits for the new features.  But now I think we’re adding enough new functionality that
 we’re faced with having to pay for it somehow.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Your thoughts?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Scott<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> Burleigh, Scott C (312G) <br>
<b>Sent:</b> Monday, September 15, 2014 8:25 AM<br>
<b>To:</b> Stuart Fowell; Matt Jordan; Chris Taylor; Mr. Dai Stanton; Dai Stanton; Keith L. Scott<br>
<b>Subject:</b> RE: [EDS Std Prep] notes on the blue book draft.<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="color:#1F497D">Actually, at the moment there are 7 spare bits in the Metadata PDU.  I can’t think of any good reason not to relocate the checksum type from the EOF PDU to the Metadata PDU.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">I think the decision to limit remote Suspend/Resume to Acknowledged mode was taken at the San Antonio meeting in late 2013.  I don’t recall the rationale, but I remember Juan had recommended this provision prior
 to discussions at that meeting.  I’ve got no opinion on this; I’m happy either to retain it, revise it, or remove it.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Scott<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma",sans-serif">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma",sans-serif"> Stuart Fowell [</span><a href="mailto:Stuart.Fowell@scisys.co.uk"><span style="font-size:10.0pt;font-family:"Tahoma",sans-serif">mailto:Stuart.Fowell@scisys.co.uk</span></a><span style="font-size:10.0pt;font-family:"Tahoma",sans-serif">]
<br>
<b>Sent:</b> Monday, September 15, 2014 7:58 AM<br>
<b>To:</b> Matt Jordan; 'Scott.Burleigh@jpl.nasa.gov'; Chris Taylor; Mr. Dai Stanton; Dai Stanton; Keith L. Scott<br>
<b>Subject:</b> Re: [EDS Std Prep] notes on the blue book draft.<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">Feedback from implementation/testing of the proposed CFDP updates, for discussion<br>
<br>
Sent from my iPhone<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><br>
On 15 Sep 2014, at 15:22, "Matt Jordan" <<a href="mailto:Matt.Jordan@scisys.co.uk">Matt.Jordan@scisys.co.uk</a>> wrote:<o:p></o:p></p>
</div>
<div>
<p class="MsoPlainText"> <o:p></o:p></p>
<p class="MsoPlainText"> <o:p></o:p></p>
<p class="MsoPlainText"><b>File Checksums</b><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:24.0pt;margin-right:28.35pt;margin-bottom:0in;margin-left:98.35pt;margin-bottom:.0001pt;mso-margin-top-alt:24.0pt;mso-para-margin-right:28.35pt;mso-para-margin-bottom:0in;mso-para-margin-left:5.67gd;mso-para-margin-bottom:.0001pt;text-align:justify;text-indent:-.5in;line-height:14.0pt;page-break-after:avoid;mso-list:l0 level3 lfo2">
<![if !supportLists]><b><span style="font-size:12.0pt;font-family:"Times New Roman",serif"><span style="mso-list:Ignore">1.1.1<span style="font:7.0pt "Times New Roman"">       
</span></span></span></b><![endif]><b><span style="font-size:12.0pt;font-family:"Times New Roman",serif;text-transform:uppercase">Checksum Procedures</span></b><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:12.0pt;margin-right:28.35pt;margin-bottom:0in;margin-left:62.35pt;margin-bottom:.0001pt;mso-margin-top-alt:12.0pt;mso-para-margin-right:28.35pt;mso-para-margin-bottom:0in;mso-para-margin-left:5.67gd;mso-para-margin-bottom:.0001pt;text-align:justify;line-height:14.0pt">
<span style="font-size:12.0pt;font-family:"Times New Roman",serif">The checksum shall be 32 bits in length.  It shall be either a CRC32 checksum or a modular checksum, depending on the applicable checksum type.  For checksum computation at the sending entity,
 the applicable checksum type shall be the checksum type specified in the Management Information Base remote entity configuration information pertaining to the receiving entity.  For checksum computation at the receiving entity, the applicable checksum type
 shall be the checksum type specified in the EOF PDU.</span><o:p></o:p></p>
<p class="MsoPlainText"> <o:p></o:p></p>
<p class="MsoPlainText"> <o:p></o:p></p>
<p class="MsoPlainText">Having the checksum type carried in the EOF PDU is not efficient as it postpones the checksum calculation until after all the file data PDUs have arrived at the receiver. This has the effect of delaying the sending of ACK/FINISHED PDUs.
 The implication is that timeouts for inactivity and closure response must take account of that processing time.
<o:p></o:p></p>
<p class="MsoPlainText"> <o:p></o:p></p>
<p class="MsoPlainText">Since files may be very large and since we can no longer generate the checksum as the transaction progresses this makes a potentially big task in terms of memory use and i/o at the receiving end. I have noted that on my PC it can take
 a very long time to generate a checksum for a large file. A bit of experimenting produced results of 5 to 15 seconds for a 5 gig file on my PC.<o:p></o:p></p>
<p class="MsoPlainText"> <o:p></o:p></p>
<p class="MsoPlainText">My implementation uses the java built in CRC32 functionality in the class java.util.zip.CRC32. This is efficiently implemented using calls to native code across JNI.<o:p></o:p></p>
<p class="MsoPlainText"> <o:p></o:p></p>
<p class="MsoPlainText">I try to mitigate this behaviour by generating the CRC of the default type (MODULAR) at the receiver as the file data arrives so if the requested type is MODULAR then the CRC is ready on arrival of EOF PDU but if the requested type is
 not MODULAR then the CRC must be recalculated from scratch.<o:p></o:p></p>
<p class="MsoPlainText"> <o:p></o:p></p>
<p class="MsoPlainText">It would be preferable to carry the checksum type in the metadata pdu thus we may know all there is to know about the transaction as early as possible; there are 6 spare bits in the Metadata PDU.<o:p></o:p></p>
<p class="MsoPlainText" style="margin-left:.5in"> <o:p></o:p></p>
<p class="MsoPlainText"> <o:p></o:p></p>
<p class="MsoPlainText"><b>Remote Suspend Transmission Mode</b><o:p></o:p></p>
<p class="MsoPlainText"> <o:p></o:p></p>
<p class="MsoPlainText">The highlighted text below implies that you may not remotely suspend a transaction if you do not have a return path. Is this correct? It seems that if you have a reliable UT layer then this is unnecessary.<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:24.0pt;margin-right:28.35pt;margin-bottom:0in;margin-left:1.0in;margin-bottom:.0001pt;text-indent:-.5in;page-break-after:avoid">
<a name="_Toc522091461"><b><span style="font-size:12.0pt;font-family:"Times New Roman",serif;text-transform:uppercase">6.5.3 Initiating a REMOTE Suspend</span></b></a><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:12.0pt;margin-right:28.35pt;margin-bottom:0in;margin-left:81.0pt;margin-bottom:.0001pt;text-indent:-45.0pt;page-break-after:avoid">
<a name="_Toc522091462"><b><span style="font-size:12.0pt;font-family:"Times New Roman",serif">6.5.3.1 General</span></b></a><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:12.0pt;margin-right:28.35pt;margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify;line-height:14.0pt">
<span style="font-size:12.0pt;font-family:"Times New Roman",serif">When required to initiate a remote suspend operation, the CFDP user shall use the CFDP
</span><b><span style="font-size:10.0pt;font-family:"Letter Gothic"">Put.request</span></b><span style="font-size:12.0pt;font-family:"Times New Roman",serif"> primitive to request delivery of a file delivery unit whose metadata contains the Reserved CFDP Message
 defined in 6.5.3.2.  <span style="background:yellow;mso-highlight:yellow">The transaction mode of the
</span></span><b><span style="font-size:10.0pt;font-family:"Letter Gothic";background:yellow;mso-highlight:yellow">Put.request</span></b><span style="font-size:12.0pt;font-family:"Times New Roman",serif;background:yellow;mso-highlight:yellow"> primitive shall
 be Acknowledged</span><span style="font-size:12.0pt;font-family:"Times New Roman",serif">.</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:24.0pt;margin-right:28.35pt;margin-bottom:0in;margin-left:1.0in;margin-bottom:.0001pt;text-indent:-.5in;page-break-after:avoid">
<a name="_Toc522091470"><b><span style="font-size:12.0pt;font-family:"Times New Roman",serif;text-transform:uppercase">Initiating a REMOTE resume</span></b></a><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:12.0pt;margin-right:28.35pt;margin-bottom:0in;margin-left:81.0pt;margin-bottom:.0001pt;text-indent:-45.0pt;page-break-after:avoid">
<a name="_Toc522091471"><b><span style="font-size:12.0pt;font-family:"Times New Roman",serif">General</span></b></a><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:12.0pt;margin-right:28.35pt;margin-bottom:0in;margin-left:.5in;margin-bottom:.0001pt;text-align:justify;line-height:14.0pt">
<span style="font-size:12.0pt;font-family:"Times New Roman",serif">When required to initiate a remote resume operation, the CFDP user shall use the CFDP
</span><b><span style="font-size:10.0pt;font-family:"Letter Gothic"">Put.request</span></b><span style="font-size:12.0pt;font-family:"Times New Roman",serif"> primitive to request delivery of a file delivery unit whose metadata contains the Reserved CFDP Message
 defined in 6.6.3.2.  <span style="background:yellow;mso-highlight:yellow">The transaction mode of the
</span></span><b><span style="font-size:10.0pt;font-family:"Letter Gothic";background:yellow;mso-highlight:yellow">Put.request</span></b><span style="font-size:12.0pt;font-family:"Times New Roman",serif;background:yellow;mso-highlight:yellow"> primitive shall
 be Acknowledged</span><span style="font-size:12.0pt;font-family:"Times New Roman",serif">.</span><o:p></o:p></p>
</div>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman",serif"><o:p> </o:p></span></p>
</div>
</body>
</html>