Uploaded image for project: 'JVPP'
  1. JVPP
  2. JVPP-21

add support for Flags

XMLWordPrintable

    • Icon: Task Task
    • Resolution: Done
    • Icon: High High
    • 19.04
    • None

      example VPP type:
      typedef enum {
      IPSEC_API_SAD_FLAG_NONE = 0,
      IPSEC_API_SAD_FLAG_USE_EXTENDED_SEQ_NUM = 1,
      IPSEC_API_SAD_FLAG_USE_ANTI_REPLAY = 2,
      IPSEC_API_SAD_FLAG_IS_TUNNEL = 4,
      IPSEC_API_SAD_FLAG_IS_TUNNEL_V6 = 8,
      IPSEC_API_SAD_FLAG_UDP_ENCAP = 16,
      } vl_api_ipsec_sad_flags_t;

      api:
      enum ipsec_sad_flags
      {
      IPSEC_API_SAD_FLAG_NONE = 0,
      /* Enable extended sequence numbers */
      IPSEC_API_SAD_FLAG_USE_EXTENDED_SEQ_NUM = 0x01,
      /* Enable Anti-replay */
      IPSEC_API_SAD_FLAG_USE_ANTI_REPLAY = 0x02,
      /* IPsec tunnel mode if non-zero, else transport mode */
      IPSEC_API_SAD_FLAG_IS_TUNNEL = 0x04,
      /* IPsec tunnel mode is IPv6 if non-zero,

      • else IPv4 tunnel only valid if is_tunnel is non-zero */
        IPSEC_API_SAD_FLAG_IS_TUNNEL_V6 = 0x08,
        /* enable UDP encapsulation for NAT traversal */
        IPSEC_API_SAD_FLAG_UDP_ENCAP = 0x10,
        };

      it needs to be possible to set multiple flags at the same time. 

      example:

      flags = IPSEC_API_SAD_FLAG_IS_TUNNEL | IPSEC_API_SAD_FLAG_USE_ANTI_REPLAY ;

      Investigate EnumSets (something like https://www.lvguowei.me/post/enumset-replace-bit-flag/)

            mcmarada Michal Cmarada
            mcmarada Michal Cmarada
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: