code: def nvgre(version=0, vsid=0, flow_id=0):
      
  
      # NVGRE header
      #  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      # +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      # |0| |1|0|   Reserved0     | Ver |   Protocol Type 0x6558        |
      # +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      # |               Virtual Subnet ID (VSID)        |    FlowID     |
      # +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      return gre(version=version, protocol=ether_types.ETH_TYPE_TEB,
                 vsid=vsid, flow_id=flow_id)
docs: Generate instance of GRE class with information for NVGRE (RFC7637).
  
      :param version: Version.
      :param vsid: Virtual Subnet ID.
      :param flow_id: FlowID.
      :return: Instance of GRE class with information for NVGRE.