Lightning Network `channel_update` message Flag clarification












3















This is a lnd.log line:



2019-01-11 12:20:13.904 [DBG] PEER: Sending ChannelUpdate(chain_hash=000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f, short_chan_id=601495532567724033, flag=256, update_time=2019-01-11 12:19:08 +0100 CET) to 46.229.165.136:9735


Since I cannot find a direct correlation with the spec at https://github.com/lightningnetwork/lightning-rfc/blob/master/07-routing-gossip.md
can someone clarify the "flag" value?



Where can I find the information below?



[1:message_flags]
[1:channel_flags]
[2:cltv_expiry_delta]
[8:htlc_minimum_msat]
[4:fee_base_msat]
[4:fee_proportional_millionths]
[8:htlc_maximum_msat] (option_channel_htlc_max)


Are they encoded in some way in this "flag"? How?










share|improve this question





























    3















    This is a lnd.log line:



    2019-01-11 12:20:13.904 [DBG] PEER: Sending ChannelUpdate(chain_hash=000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f, short_chan_id=601495532567724033, flag=256, update_time=2019-01-11 12:19:08 +0100 CET) to 46.229.165.136:9735


    Since I cannot find a direct correlation with the spec at https://github.com/lightningnetwork/lightning-rfc/blob/master/07-routing-gossip.md
    can someone clarify the "flag" value?



    Where can I find the information below?



    [1:message_flags]
    [1:channel_flags]
    [2:cltv_expiry_delta]
    [8:htlc_minimum_msat]
    [4:fee_base_msat]
    [4:fee_proportional_millionths]
    [8:htlc_maximum_msat] (option_channel_htlc_max)


    Are they encoded in some way in this "flag"? How?










    share|improve this question



























      3












      3








      3








      This is a lnd.log line:



      2019-01-11 12:20:13.904 [DBG] PEER: Sending ChannelUpdate(chain_hash=000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f, short_chan_id=601495532567724033, flag=256, update_time=2019-01-11 12:19:08 +0100 CET) to 46.229.165.136:9735


      Since I cannot find a direct correlation with the spec at https://github.com/lightningnetwork/lightning-rfc/blob/master/07-routing-gossip.md
      can someone clarify the "flag" value?



      Where can I find the information below?



      [1:message_flags]
      [1:channel_flags]
      [2:cltv_expiry_delta]
      [8:htlc_minimum_msat]
      [4:fee_base_msat]
      [4:fee_proportional_millionths]
      [8:htlc_maximum_msat] (option_channel_htlc_max)


      Are they encoded in some way in this "flag"? How?










      share|improve this question
















      This is a lnd.log line:



      2019-01-11 12:20:13.904 [DBG] PEER: Sending ChannelUpdate(chain_hash=000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f, short_chan_id=601495532567724033, flag=256, update_time=2019-01-11 12:19:08 +0100 CET) to 46.229.165.136:9735


      Since I cannot find a direct correlation with the spec at https://github.com/lightningnetwork/lightning-rfc/blob/master/07-routing-gossip.md
      can someone clarify the "flag" value?



      Where can I find the information below?



      [1:message_flags]
      [1:channel_flags]
      [2:cltv_expiry_delta]
      [8:htlc_minimum_msat]
      [4:fee_base_msat]
      [4:fee_proportional_millionths]
      [8:htlc_maximum_msat] (option_channel_htlc_max)


      Are they encoded in some way in this "flag"? How?







      lightning-network lightning-network-daemon lightning-rfc channels






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Jan 11 at 19:01









      cdecker

      7,04812954




      7,04812954










      asked Jan 11 at 16:16









      Stefano AngieriStefano Angieri

      254




      254






















          1 Answer
          1






          active

          oldest

          votes


















          4














          The flags field (2 bytes) has been split into two different (1 byte) fields, the message_flags (most significant bits) and the channel_flags field (least significant bits). Hence the flags value displayed in lnd has the message_flags byte set to 0x00 and the message_flags set to 0x01.



          message_flags indicates that this channel_update has some optional fields appended to the end. In this case it has the 0th bit set, which corresponds to the option_channel_htlc_max option, hence the channel_update has an additional field htlc_maximum_msat appended.






          share|improve this answer
























          • So Basically the "Flag" is a 16 bits field [8 bit message_flag + 8 bit channel_flags]. Is it possible to find the others information [cltv_expiry_delta, htlc_minimum_msat, fee_base_msat, fee_proportional_millionths, htlc_maximum_msat] exploring the log or it is only possible by using the lncli getchainifo? How can a Node, receiving a channel update message, understand and set the new channel policies?

            – Stefano Angieri
            Jan 15 at 11:31













          • Not too familiar with the lnd RPC interface, I mostly work on c-lightning. But I guess it should list those with peers as well. And you can set all of these parameters on startup using cli options.

            – cdecker
            Jan 15 at 12:55











          Your Answer








          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "308"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          noCode: true, onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fbitcoin.stackexchange.com%2fquestions%2f83576%2flightning-network-channel-update-message-flag-clarification%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          4














          The flags field (2 bytes) has been split into two different (1 byte) fields, the message_flags (most significant bits) and the channel_flags field (least significant bits). Hence the flags value displayed in lnd has the message_flags byte set to 0x00 and the message_flags set to 0x01.



          message_flags indicates that this channel_update has some optional fields appended to the end. In this case it has the 0th bit set, which corresponds to the option_channel_htlc_max option, hence the channel_update has an additional field htlc_maximum_msat appended.






          share|improve this answer
























          • So Basically the "Flag" is a 16 bits field [8 bit message_flag + 8 bit channel_flags]. Is it possible to find the others information [cltv_expiry_delta, htlc_minimum_msat, fee_base_msat, fee_proportional_millionths, htlc_maximum_msat] exploring the log or it is only possible by using the lncli getchainifo? How can a Node, receiving a channel update message, understand and set the new channel policies?

            – Stefano Angieri
            Jan 15 at 11:31













          • Not too familiar with the lnd RPC interface, I mostly work on c-lightning. But I guess it should list those with peers as well. And you can set all of these parameters on startup using cli options.

            – cdecker
            Jan 15 at 12:55
















          4














          The flags field (2 bytes) has been split into two different (1 byte) fields, the message_flags (most significant bits) and the channel_flags field (least significant bits). Hence the flags value displayed in lnd has the message_flags byte set to 0x00 and the message_flags set to 0x01.



          message_flags indicates that this channel_update has some optional fields appended to the end. In this case it has the 0th bit set, which corresponds to the option_channel_htlc_max option, hence the channel_update has an additional field htlc_maximum_msat appended.






          share|improve this answer
























          • So Basically the "Flag" is a 16 bits field [8 bit message_flag + 8 bit channel_flags]. Is it possible to find the others information [cltv_expiry_delta, htlc_minimum_msat, fee_base_msat, fee_proportional_millionths, htlc_maximum_msat] exploring the log or it is only possible by using the lncli getchainifo? How can a Node, receiving a channel update message, understand and set the new channel policies?

            – Stefano Angieri
            Jan 15 at 11:31













          • Not too familiar with the lnd RPC interface, I mostly work on c-lightning. But I guess it should list those with peers as well. And you can set all of these parameters on startup using cli options.

            – cdecker
            Jan 15 at 12:55














          4












          4








          4







          The flags field (2 bytes) has been split into two different (1 byte) fields, the message_flags (most significant bits) and the channel_flags field (least significant bits). Hence the flags value displayed in lnd has the message_flags byte set to 0x00 and the message_flags set to 0x01.



          message_flags indicates that this channel_update has some optional fields appended to the end. In this case it has the 0th bit set, which corresponds to the option_channel_htlc_max option, hence the channel_update has an additional field htlc_maximum_msat appended.






          share|improve this answer













          The flags field (2 bytes) has been split into two different (1 byte) fields, the message_flags (most significant bits) and the channel_flags field (least significant bits). Hence the flags value displayed in lnd has the message_flags byte set to 0x00 and the message_flags set to 0x01.



          message_flags indicates that this channel_update has some optional fields appended to the end. In this case it has the 0th bit set, which corresponds to the option_channel_htlc_max option, hence the channel_update has an additional field htlc_maximum_msat appended.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Jan 11 at 19:08









          cdeckercdecker

          7,04812954




          7,04812954













          • So Basically the "Flag" is a 16 bits field [8 bit message_flag + 8 bit channel_flags]. Is it possible to find the others information [cltv_expiry_delta, htlc_minimum_msat, fee_base_msat, fee_proportional_millionths, htlc_maximum_msat] exploring the log or it is only possible by using the lncli getchainifo? How can a Node, receiving a channel update message, understand and set the new channel policies?

            – Stefano Angieri
            Jan 15 at 11:31













          • Not too familiar with the lnd RPC interface, I mostly work on c-lightning. But I guess it should list those with peers as well. And you can set all of these parameters on startup using cli options.

            – cdecker
            Jan 15 at 12:55



















          • So Basically the "Flag" is a 16 bits field [8 bit message_flag + 8 bit channel_flags]. Is it possible to find the others information [cltv_expiry_delta, htlc_minimum_msat, fee_base_msat, fee_proportional_millionths, htlc_maximum_msat] exploring the log or it is only possible by using the lncli getchainifo? How can a Node, receiving a channel update message, understand and set the new channel policies?

            – Stefano Angieri
            Jan 15 at 11:31













          • Not too familiar with the lnd RPC interface, I mostly work on c-lightning. But I guess it should list those with peers as well. And you can set all of these parameters on startup using cli options.

            – cdecker
            Jan 15 at 12:55

















          So Basically the "Flag" is a 16 bits field [8 bit message_flag + 8 bit channel_flags]. Is it possible to find the others information [cltv_expiry_delta, htlc_minimum_msat, fee_base_msat, fee_proportional_millionths, htlc_maximum_msat] exploring the log or it is only possible by using the lncli getchainifo? How can a Node, receiving a channel update message, understand and set the new channel policies?

          – Stefano Angieri
          Jan 15 at 11:31







          So Basically the "Flag" is a 16 bits field [8 bit message_flag + 8 bit channel_flags]. Is it possible to find the others information [cltv_expiry_delta, htlc_minimum_msat, fee_base_msat, fee_proportional_millionths, htlc_maximum_msat] exploring the log or it is only possible by using the lncli getchainifo? How can a Node, receiving a channel update message, understand and set the new channel policies?

          – Stefano Angieri
          Jan 15 at 11:31















          Not too familiar with the lnd RPC interface, I mostly work on c-lightning. But I guess it should list those with peers as well. And you can set all of these parameters on startup using cli options.

          – cdecker
          Jan 15 at 12:55





          Not too familiar with the lnd RPC interface, I mostly work on c-lightning. But I guess it should list those with peers as well. And you can set all of these parameters on startup using cli options.

          – cdecker
          Jan 15 at 12:55


















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Bitcoin Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fbitcoin.stackexchange.com%2fquestions%2f83576%2flightning-network-channel-update-message-flag-clarification%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Mario Kart Wii

          What does “Dominus providebit” mean?

          Antonio Litta Visconti Arese